module IntXbar( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3.2]
  input   auto_int_in_11_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_10_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_9_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_8_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_7_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_6_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_5_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_4_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_3_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_2_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_1_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_0_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  input   auto_int_in_0_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_32, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_33, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_34, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_35, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_36, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_37, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_38, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_39, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_40, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_41, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_42, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
  output  auto_int_out_43 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6.4]
);
  assign auto_int_out_0 = auto_int_in_0_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_1 = auto_int_in_0_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_2 = auto_int_in_1_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_3 = auto_int_in_2_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_4 = auto_int_in_3_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_5 = auto_int_in_4_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_6 = auto_int_in_5_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_7 = auto_int_in_6_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_8 = auto_int_in_7_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_9 = auto_int_in_8_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_10 = auto_int_in_9_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_11 = auto_int_in_9_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_12 = auto_int_in_9_2; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_13 = auto_int_in_9_3; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_14 = auto_int_in_9_4; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_15 = auto_int_in_9_5; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_16 = auto_int_in_9_6; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_17 = auto_int_in_9_7; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_18 = auto_int_in_9_8; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_19 = auto_int_in_9_9; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_20 = auto_int_in_9_10; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_21 = auto_int_in_9_11; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_22 = auto_int_in_9_12; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_23 = auto_int_in_9_13; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_24 = auto_int_in_9_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_25 = auto_int_in_9_15; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_26 = auto_int_in_9_16; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_27 = auto_int_in_9_17; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_28 = auto_int_in_9_18; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_29 = auto_int_in_9_19; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_30 = auto_int_in_9_20; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_31 = auto_int_in_9_21; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_32 = auto_int_in_9_22; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_33 = auto_int_in_9_23; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_34 = auto_int_in_9_24; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_35 = auto_int_in_9_25; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_36 = auto_int_in_9_26; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_37 = auto_int_in_9_27; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_38 = auto_int_in_9_28; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_39 = auto_int_in_9_29; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_40 = auto_int_in_9_30; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_41 = auto_int_in_9_31; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_42 = auto_int_in_10_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
  assign auto_int_out_43 = auto_int_in_11_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@37.4]
endmodule
module TLMonitor( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@102.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@1895.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@121.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@126.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@128.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@129.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@130.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@131.6]
  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@131.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@132.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@134.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@135.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@137.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@138.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@139.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@140.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@141.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@143.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@144.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@146.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@147.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@148.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@149.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@150.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@151.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@152.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@153.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@154.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@155.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@156.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@157.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@158.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@159.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@160.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@161.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@162.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165.6]
  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@169.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@190.6]
  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194.8]
  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195.8]
  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@196.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@197.8]
  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199.8]
  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@200.8]
  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@202.8]
  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@203.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204.8]
  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205.8]
  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@207.8]
  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@208.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209.8]
  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210.8]
  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@212.8]
  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@213.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214.8]
  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@215.8]
  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@217.8]
  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@219.8]
  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@220.8]
  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@221.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@222.8]
  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@223.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@224.8]
  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@225.8]
  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@226.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@227.8]
  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@228.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@229.8]
  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@230.8]
  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@231.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@232.8]
  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@233.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234.8]
  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@235.8]
  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@236.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@237.8]
  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@238.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@239.8]
  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@240.8]
  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@241.8]
  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@242.8]
  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@245.8]
  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@246.8]
  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@247.8]
  wire [31:0] _T_147; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248.8]
  wire [32:0] _T_148; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@249.8]
  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@250.8]
  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@251.8]
  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@252.8]
  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253.8]
  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254.8]
  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@255.8]
  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@256.8]
  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@257.8]
  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@258.8]
  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259.8]
  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@260.8]
  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@261.8]
  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262.8]
  wire  _T_162; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@263.8]
  wire  _T_163; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@264.8]
  wire  _T_164; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@265.8]
  wire  _T_165; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@266.8]
  wire  _T_179; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280.8]
  wire  _T_184; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@293.8]
  wire  _T_185; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@294.8]
  wire  _T_188; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301.8]
  wire  _T_189; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@302.8]
  wire  _T_191; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@308.8]
  wire  _T_192; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@309.8]
  wire  _T_193; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@314.8]
  wire  _T_195; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@316.8]
  wire  _T_196; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@317.8]
  wire [3:0] _T_197; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@322.8]
  wire  _T_198; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@323.8]
  wire  _T_200; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@325.8]
  wire  _T_201; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@326.8]
  wire  _T_202; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@331.8]
  wire  _T_204; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@333.8]
  wire  _T_205; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@334.8]
  wire  _T_206; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@340.6]
  wire  _T_313; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@472.8]
  wire  _T_315; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@474.8]
  wire  _T_316; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@475.8]
  wire  _T_326; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@498.6]
  wire  _T_328; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@501.8]
  wire  _T_336; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@509.8]
  wire  _T_338; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@511.8]
  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@579.8]
  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@580.8]
  wire  _T_408; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@581.8]
  wire  _T_409; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@582.8]
  wire  _T_410; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@583.8]
  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@584.8]
  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@585.8]
  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@586.8]
  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@587.8]
  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@588.8]
  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@589.8]
  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@590.8]
  wire  _T_418; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@591.8]
  wire  _T_420; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@593.8]
  wire  _T_422; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@595.8]
  wire  _T_423; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@596.8]
  wire  _T_430; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@615.8]
  wire  _T_432; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@617.8]
  wire  _T_433; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@618.8]
  wire  _T_434; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@623.8]
  wire  _T_436; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@625.8]
  wire  _T_437; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@626.8]
  wire  _T_442; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@640.6]
  wire  _T_515; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@714.8]
  wire  _T_516; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@715.8]
  wire  _T_517; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@716.8]
  wire  _T_518; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@717.8]
  wire  _T_519; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@718.8]
  wire  _T_520; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@719.8]
  wire  _T_521; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@720.8]
  wire  _T_522; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@721.8]
  wire  _T_537; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@736.8]
  wire  _T_540; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@739.8]
  wire  _T_541; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@740.8]
  wire  _T_556; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@776.6]
  wire [3:0] _T_666; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@903.8]
  wire [3:0] _T_667; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@904.8]
  wire  _T_668; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@905.8]
  wire  _T_670; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@907.8]
  wire  _T_671; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@908.8]
  wire  _T_672; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@914.6]
  wire  _T_674; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@917.8]
  wire  _T_741; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@984.8]
  wire  _T_742; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@985.8]
  wire  _T_743; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@986.8]
  wire  _T_744; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@987.8]
  wire  _T_745; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@988.8]
  wire  _T_746; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@989.8]
  wire  _T_747; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@990.8]
  wire  _T_748; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@991.8]
  wire  _T_765; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1008.8]
  wire  _T_766; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1009.8]
  wire  _T_773; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@1028.8]
  wire  _T_775; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1030.8]
  wire  _T_776; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1031.8]
  wire  _T_781; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1045.6]
  wire  _T_882; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@1159.8]
  wire  _T_884; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1161.8]
  wire  _T_885; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1162.8]
  wire  _T_890; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1176.6]
  wire  _T_983; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1270.8]
  wire  _T_984; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1271.8]
  wire  _T_999; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@1309.6]
  wire  _T_1001; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1311.6]
  wire  _T_1002; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1312.6]
  wire  _T_1004; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@1318.6]
  wire  _T_1013; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@1323.6]
  wire  _T_1015; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1325.6]
  wire  _T_1017; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1328.8]
  wire  _T_1018; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1329.8]
  wire  _T_1019; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1334.8]
  wire  _T_1021; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1336.8]
  wire  _T_1022; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1337.8]
  wire  _T_1023; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1342.8]
  wire  _T_1025; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1344.8]
  wire  _T_1026; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1345.8]
  wire  _T_1027; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@1350.8]
  wire  _T_1029; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1352.8]
  wire  _T_1030; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1353.8]
  wire  _T_1031; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@1358.8]
  wire  _T_1033; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1360.8]
  wire  _T_1034; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1361.8]
  wire  _T_1035; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1367.6]
  wire  _T_1046; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@1391.8]
  wire  _T_1048; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1393.8]
  wire  _T_1049; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1394.8]
  wire  _T_1050; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1399.8]
  wire  _T_1052; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1401.8]
  wire  _T_1053; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1402.8]
  wire  _T_1063; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1425.6]
  wire  _T_1083; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@1466.8]
  wire  _T_1085; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1468.8]
  wire  _T_1086; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1469.8]
  wire  _T_1092; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1484.6]
  wire  _T_1109; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1519.6]
  wire  _T_1127; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1555.6]
  wire  _T_1156; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1615.4]
  wire [9:0] _T_1161; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@1620.4]
  wire  _T_1162; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@1621.4]
  wire  _T_1163; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1622.4]
  reg [9:0] _T_1166; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1624.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1167; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1625.4]
  wire [10:0] _T_1168; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1626.4]
  wire [9:0] _T_1169; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1627.4]
  wire  _T_1170; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1628.4]
  reg [2:0] _T_1179; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1639.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1181; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1640.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1183; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1641.4]
  reg [31:0] _RAND_3;
  reg  _T_1185; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1642.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_1187; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1643.4]
  reg [31:0] _RAND_5;
  wire  _T_1188; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1644.4]
  wire  _T_1189; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1645.4]
  wire  _T_1190; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1647.6]
  wire  _T_1192; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1649.6]
  wire  _T_1193; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1650.6]
  wire  _T_1194; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1655.6]
  wire  _T_1196; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1657.6]
  wire  _T_1197; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1658.6]
  wire  _T_1198; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1663.6]
  wire  _T_1200; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1665.6]
  wire  _T_1201; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1666.6]
  wire  _T_1202; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1671.6]
  wire  _T_1204; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1673.6]
  wire  _T_1205; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1674.6]
  wire  _T_1206; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1679.6]
  wire  _T_1208; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1681.6]
  wire  _T_1209; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1682.6]
  wire  _T_1211; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@1689.4]
  wire  _T_1212; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1697.4]
  wire [26:0] _T_1214; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@1699.4]
  wire [11:0] _T_1215; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@1700.4]
  wire [11:0] _T_1216; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@1701.4]
  wire [9:0] _T_1217; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@1702.4]
  wire  _T_1218; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@1703.4]
  reg [9:0] _T_1221; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1705.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_1222; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1706.4]
  wire [10:0] _T_1223; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1707.4]
  wire [9:0] _T_1224; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1708.4]
  wire  _T_1225; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1709.4]
  reg [2:0] _T_1234; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1720.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_1236; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1721.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_1238; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1722.4]
  reg [31:0] _RAND_9;
  reg  _T_1240; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1723.4]
  reg [31:0] _RAND_10;
  reg  _T_1242; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1724.4]
  reg [31:0] _RAND_11;
  reg  _T_1244; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1725.4]
  reg [31:0] _RAND_12;
  wire  _T_1245; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1726.4]
  wire  _T_1246; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1727.4]
  wire  _T_1247; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1729.6]
  wire  _T_1249; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1731.6]
  wire  _T_1250; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1732.6]
  wire  _T_1251; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1737.6]
  wire  _T_1253; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1739.6]
  wire  _T_1254; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1740.6]
  wire  _T_1255; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1745.6]
  wire  _T_1257; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1747.6]
  wire  _T_1258; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1748.6]
  wire  _T_1259; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1753.6]
  wire  _T_1261; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1755.6]
  wire  _T_1262; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1756.6]
  wire  _T_1263; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1761.6]
  wire  _T_1265; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1763.6]
  wire  _T_1266; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1764.6]
  wire  _T_1267; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1769.6]
  wire  _T_1269; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1771.6]
  wire  _T_1270; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1772.6]
  wire  _T_1272; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@1779.4]
  reg [1:0] _T_1274; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1788.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1285; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1798.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1286; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1799.4]
  wire [10:0] _T_1287; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1800.4]
  wire [9:0] _T_1288; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1801.4]
  wire  _T_1289; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1802.4]
  reg [9:0] _T_1306; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1821.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1307; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1822.4]
  wire [10:0] _T_1308; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1823.4]
  wire [9:0] _T_1309; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1824.4]
  wire  _T_1310; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1825.4]
  wire  _T_1321; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1840.4]
  wire [1:0] _T_1323; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@1843.6]
  wire [1:0] _T_1324; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@1845.6]
  wire  _T_1325; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@1846.6]
  wire  _T_1326; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1847.6]
  wire  _T_1328; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1849.6]
  wire  _T_1329; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1850.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@1842.4]
  wire  _T_1334; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1861.4]
  wire  _T_1336; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@1863.4]
  wire  _T_1337; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@1864.4]
  wire [1:0] _T_1338; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@1866.6]
  wire [1:0] _T_1339; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@1868.6]
  wire [1:0] _T_1340; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@1869.6]
  wire  _T_1341; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@1870.6]
  wire  _T_1343; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1872.6]
  wire  _T_1344; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1873.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@1865.4]
  wire  _T_1345; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@1879.4]
  wire  _T_1346; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@1880.4]
  wire  _T_1347; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@1881.4]
  wire  _T_1348; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@1882.4]
  wire  _T_1350; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1884.4]
  wire  _T_1351; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1885.4]
  wire [1:0] _T_1352; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1890.4]
  wire [1:0] _T_1353; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@1891.4]
  wire [1:0] _T_1354; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@1892.4]
  reg [31:0] _T_1356; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1894.4]
  reg [31:0] _RAND_16;
  wire  _T_1357; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@1897.4]
  wire  _T_1358; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1898.4]
  wire  _T_1359; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@1899.4]
  wire  _T_1360; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1900.4]
  wire  _T_1361; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@1901.4]
  wire  _T_1362; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@1902.4]
  wire  _T_1364; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1904.4]
  wire  _T_1365; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1905.4]
  wire [31:0] _T_1367; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@1911.4]
  wire  _T_1370; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1915.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@432.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@598.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@742.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@878.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1011.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1142.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1273.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1331.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1373.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1431.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1490.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1525.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1561.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@1895.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@121.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@126.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@128.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@129.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@130.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@131.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@131.6]
  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@132.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@134.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@135.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@137.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@138.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@139.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@140.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@141.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@143.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@144.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@146.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@147.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@148.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@149.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@150.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@151.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@152.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@153.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@154.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@155.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@156.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@157.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@158.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@159.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@160.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@161.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@162.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@169.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@190.6]
  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194.8]
  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@196.8]
  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@197.8]
  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199.8]
  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@200.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201.8]
  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@202.8]
  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@203.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204.8]
  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206.8]
  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@207.8]
  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@208.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209.8]
  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@211.8]
  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@212.8]
  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@213.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@214.8]
  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@215.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@216.8]
  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@217.8]
  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@219.8]
  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@220.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@221.8]
  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@222.8]
  assign _T_122 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@223.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@224.8]
  assign _T_124 = $signed(_T_123) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@225.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@226.8]
  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@227.8]
  assign _T_127 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@228.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@229.8]
  assign _T_129 = $signed(_T_128) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@230.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@231.8]
  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@232.8]
  assign _T_132 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@233.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234.8]
  assign _T_134 = $signed(_T_133) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@235.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@236.8]
  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@237.8]
  assign _T_137 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@238.8]
  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@239.8]
  assign _T_139 = $signed(_T_138) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@240.8]
  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@241.8]
  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@242.8]
  assign _T_144 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@245.8]
  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@246.8]
  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@247.8]
  assign _T_147 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248.8]
  assign _T_148 = {1'b0,$signed(_T_147)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@249.8]
  assign _T_149 = $signed(_T_148) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@250.8]
  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@251.8]
  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@252.8]
  assign _T_152 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253.8]
  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254.8]
  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@255.8]
  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@256.8]
  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@257.8]
  assign _T_157 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@258.8]
  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259.8]
  assign _T_159 = $signed(_T_158) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@260.8]
  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@261.8]
  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262.8]
  assign _T_162 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@263.8]
  assign _T_163 = _T_162 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@264.8]
  assign _T_164 = _T_163 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@265.8]
  assign _T_165 = _T_164 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@266.8]
  assign _T_179 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@280.8]
  assign _T_184 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@293.8]
  assign _T_185 = _T_184 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@294.8]
  assign _T_188 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@301.8]
  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@302.8]
  assign _T_191 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@308.8]
  assign _T_192 = _T_191 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@309.8]
  assign _T_193 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@314.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@316.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@317.8]
  assign _T_197 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@322.8]
  assign _T_198 = _T_197 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@323.8]
  assign _T_200 = _T_198 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@325.8]
  assign _T_201 = _T_200 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@326.8]
  assign _T_202 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@331.8]
  assign _T_204 = _T_202 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@333.8]
  assign _T_205 = _T_204 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@334.8]
  assign _T_206 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@340.6]
  assign _T_313 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@472.8]
  assign _T_315 = _T_313 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@474.8]
  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@475.8]
  assign _T_326 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@498.6]
  assign _T_328 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@501.8]
  assign _T_336 = _T_328 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@509.8]
  assign _T_338 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@511.8]
  assign _T_406 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@579.8]
  assign _T_407 = _T_406 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@580.8]
  assign _T_408 = _T_407 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@581.8]
  assign _T_409 = _T_408 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@582.8]
  assign _T_410 = _T_409 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@583.8]
  assign _T_411 = _T_410 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@584.8]
  assign _T_412 = _T_411 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@585.8]
  assign _T_413 = _T_412 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@586.8]
  assign _T_414 = _T_413 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@587.8]
  assign _T_415 = _T_414 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@588.8]
  assign _T_416 = _T_415 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@589.8]
  assign _T_417 = _T_416 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@590.8]
  assign _T_418 = _T_338 & _T_417; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@591.8]
  assign _T_420 = _T_336 | _T_418; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@593.8]
  assign _T_422 = _T_420 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@595.8]
  assign _T_423 = _T_422 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@596.8]
  assign _T_430 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@615.8]
  assign _T_432 = _T_430 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@617.8]
  assign _T_433 = _T_432 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@618.8]
  assign _T_434 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@623.8]
  assign _T_436 = _T_434 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@625.8]
  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@626.8]
  assign _T_442 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@640.6]
  assign _T_515 = _T_408 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@714.8]
  assign _T_516 = _T_515 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@715.8]
  assign _T_517 = _T_516 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@716.8]
  assign _T_518 = _T_517 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@717.8]
  assign _T_519 = _T_518 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@718.8]
  assign _T_520 = _T_519 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@719.8]
  assign _T_521 = _T_520 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@720.8]
  assign _T_522 = _T_338 & _T_521; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@721.8]
  assign _T_537 = _T_336 | _T_522; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@736.8]
  assign _T_540 = _T_537 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@739.8]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@740.8]
  assign _T_556 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@776.6]
  assign _T_666 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@903.8]
  assign _T_667 = io_in_a_bits_mask & _T_666; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@904.8]
  assign _T_668 = _T_667 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@905.8]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@907.8]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@908.8]
  assign _T_672 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@914.6]
  assign _T_674 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@917.8]
  assign _T_741 = _T_165 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@984.8]
  assign _T_742 = _T_741 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@985.8]
  assign _T_743 = _T_742 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@986.8]
  assign _T_744 = _T_743 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@987.8]
  assign _T_745 = _T_744 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@988.8]
  assign _T_746 = _T_745 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@989.8]
  assign _T_747 = _T_746 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@990.8]
  assign _T_748 = _T_674 & _T_747; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@991.8]
  assign _T_765 = _T_748 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1008.8]
  assign _T_766 = _T_765 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1009.8]
  assign _T_773 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@1028.8]
  assign _T_775 = _T_773 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1030.8]
  assign _T_776 = _T_775 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1031.8]
  assign _T_781 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1045.6]
  assign _T_882 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@1159.8]
  assign _T_884 = _T_882 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1161.8]
  assign _T_885 = _T_884 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1162.8]
  assign _T_890 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1176.6]
  assign _T_983 = _T_336 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1270.8]
  assign _T_984 = _T_983 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1271.8]
  assign _T_999 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@1309.6]
  assign _T_1001 = _T_999 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1311.6]
  assign _T_1002 = _T_1001 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1312.6]
  assign _T_1004 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@1318.6]
  assign _T_1013 = io_in_d_bits_source | _T_1004; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@1323.6]
  assign _T_1015 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1325.6]
  assign _T_1017 = _T_1013 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1328.8]
  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1329.8]
  assign _T_1019 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1334.8]
  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1336.8]
  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1337.8]
  assign _T_1023 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1342.8]
  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1344.8]
  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1345.8]
  assign _T_1027 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@1350.8]
  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1352.8]
  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1353.8]
  assign _T_1031 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@1358.8]
  assign _T_1033 = _T_1031 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1360.8]
  assign _T_1034 = _T_1033 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1361.8]
  assign _T_1035 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1367.6]
  assign _T_1046 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@1391.8]
  assign _T_1048 = _T_1046 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1393.8]
  assign _T_1049 = _T_1048 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1394.8]
  assign _T_1050 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1399.8]
  assign _T_1052 = _T_1050 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1401.8]
  assign _T_1053 = _T_1052 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1402.8]
  assign _T_1063 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1425.6]
  assign _T_1083 = _T_1031 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@1466.8]
  assign _T_1085 = _T_1083 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1468.8]
  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1469.8]
  assign _T_1092 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1484.6]
  assign _T_1109 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1519.6]
  assign _T_1127 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1555.6]
  assign _T_1156 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1615.4]
  assign _T_1161 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@1620.4]
  assign _T_1162 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@1621.4]
  assign _T_1163 = _T_1162 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1622.4]
  assign _T_1167 = _T_1166 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1625.4]
  assign _T_1168 = $unsigned(_T_1167); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1626.4]
  assign _T_1169 = _T_1168[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1627.4]
  assign _T_1170 = _T_1166 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1628.4]
  assign _T_1188 = _T_1170 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1644.4]
  assign _T_1189 = io_in_a_valid & _T_1188; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1645.4]
  assign _T_1190 = io_in_a_bits_opcode == _T_1179; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1647.6]
  assign _T_1192 = _T_1190 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1649.6]
  assign _T_1193 = _T_1192 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1650.6]
  assign _T_1194 = io_in_a_bits_param == _T_1181; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1655.6]
  assign _T_1196 = _T_1194 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1657.6]
  assign _T_1197 = _T_1196 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1658.6]
  assign _T_1198 = io_in_a_bits_size == _T_1183; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1663.6]
  assign _T_1200 = _T_1198 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1665.6]
  assign _T_1201 = _T_1200 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1666.6]
  assign _T_1202 = io_in_a_bits_source == _T_1185; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1671.6]
  assign _T_1204 = _T_1202 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1673.6]
  assign _T_1205 = _T_1204 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1674.6]
  assign _T_1206 = io_in_a_bits_address == _T_1187; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1679.6]
  assign _T_1208 = _T_1206 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1681.6]
  assign _T_1209 = _T_1208 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1682.6]
  assign _T_1211 = _T_1156 & _T_1170; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@1689.4]
  assign _T_1212 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1697.4]
  assign _T_1214 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@1699.4]
  assign _T_1215 = _T_1214[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@1700.4]
  assign _T_1216 = ~ _T_1215; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@1701.4]
  assign _T_1217 = _T_1216[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@1702.4]
  assign _T_1218 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@1703.4]
  assign _T_1222 = _T_1221 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1706.4]
  assign _T_1223 = $unsigned(_T_1222); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1707.4]
  assign _T_1224 = _T_1223[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1708.4]
  assign _T_1225 = _T_1221 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1709.4]
  assign _T_1245 = _T_1225 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@1726.4]
  assign _T_1246 = io_in_d_valid & _T_1245; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1727.4]
  assign _T_1247 = io_in_d_bits_opcode == _T_1234; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1729.6]
  assign _T_1249 = _T_1247 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1731.6]
  assign _T_1250 = _T_1249 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1732.6]
  assign _T_1251 = io_in_d_bits_param == _T_1236; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1737.6]
  assign _T_1253 = _T_1251 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1739.6]
  assign _T_1254 = _T_1253 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1740.6]
  assign _T_1255 = io_in_d_bits_size == _T_1238; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1745.6]
  assign _T_1257 = _T_1255 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1747.6]
  assign _T_1258 = _T_1257 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1748.6]
  assign _T_1259 = io_in_d_bits_source == _T_1240; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1753.6]
  assign _T_1261 = _T_1259 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1755.6]
  assign _T_1262 = _T_1261 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1756.6]
  assign _T_1263 = io_in_d_bits_sink == _T_1242; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1761.6]
  assign _T_1265 = _T_1263 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1763.6]
  assign _T_1266 = _T_1265 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1764.6]
  assign _T_1267 = io_in_d_bits_denied == _T_1244; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@1769.6]
  assign _T_1269 = _T_1267 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1771.6]
  assign _T_1270 = _T_1269 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1772.6]
  assign _T_1272 = _T_1212 & _T_1225; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@1779.4]
  assign _T_1286 = _T_1285 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1799.4]
  assign _T_1287 = $unsigned(_T_1286); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1800.4]
  assign _T_1288 = _T_1287[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1801.4]
  assign _T_1289 = _T_1285 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1802.4]
  assign _T_1307 = _T_1306 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1822.4]
  assign _T_1308 = $unsigned(_T_1307); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1823.4]
  assign _T_1309 = _T_1308[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@1824.4]
  assign _T_1310 = _T_1306 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1825.4]
  assign _T_1321 = _T_1156 & _T_1289; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1840.4]
  assign _T_1323 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@1843.6]
  assign _T_1324 = _T_1274 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@1845.6]
  assign _T_1325 = _T_1324[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@1846.6]
  assign _T_1326 = _T_1325 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1847.6]
  assign _T_1328 = _T_1326 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1849.6]
  assign _T_1329 = _T_1328 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1850.6]
  assign _GEN_15 = _T_1321 ? _T_1323 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@1842.4]
  assign _T_1334 = _T_1212 & _T_1310; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1861.4]
  assign _T_1336 = _T_1015 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@1863.4]
  assign _T_1337 = _T_1334 & _T_1336; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@1864.4]
  assign _T_1338 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@1866.6]
  assign _T_1339 = _GEN_15 | _T_1274; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@1868.6]
  assign _T_1340 = _T_1339 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@1869.6]
  assign _T_1341 = _T_1340[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@1870.6]
  assign _T_1343 = _T_1341 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1872.6]
  assign _T_1344 = _T_1343 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1873.6]
  assign _GEN_16 = _T_1337 ? _T_1338 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@1865.4]
  assign _T_1345 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@1879.4]
  assign _T_1346 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@1880.4]
  assign _T_1347 = _T_1346 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@1881.4]
  assign _T_1348 = _T_1345 | _T_1347; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@1882.4]
  assign _T_1350 = _T_1348 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1884.4]
  assign _T_1351 = _T_1350 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1885.4]
  assign _T_1352 = _T_1274 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1890.4]
  assign _T_1353 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@1891.4]
  assign _T_1354 = _T_1352 & _T_1353; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@1892.4]
  assign _T_1357 = _T_1274 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@1897.4]
  assign _T_1358 = _T_1357 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1898.4]
  assign _T_1359 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@1899.4]
  assign _T_1360 = _T_1358 | _T_1359; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1900.4]
  assign _T_1361 = _T_1356 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@1901.4]
  assign _T_1362 = _T_1360 | _T_1361; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@1902.4]
  assign _T_1364 = _T_1362 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1904.4]
  assign _T_1365 = _T_1364 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1905.4]
  assign _T_1367 = _T_1356 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@1911.4]
  assign _T_1370 = _T_1156 | _T_1212; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@1915.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282.10]
  assign _GEN_35 = io_in_a_valid & _T_206; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@432.10]
  assign _GEN_53 = io_in_a_valid & _T_326; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@598.10]
  assign _GEN_65 = io_in_a_valid & _T_442; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@742.10]
  assign _GEN_75 = io_in_a_valid & _T_556; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@878.10]
  assign _GEN_85 = io_in_a_valid & _T_672; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1011.10]
  assign _GEN_95 = io_in_a_valid & _T_781; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1142.10]
  assign _GEN_105 = io_in_a_valid & _T_890; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1273.10]
  assign _GEN_115 = io_in_d_valid & _T_1015; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1331.10]
  assign _GEN_125 = io_in_d_valid & _T_1035; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1373.10]
  assign _GEN_137 = io_in_d_valid & _T_1063; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1431.10]
  assign _GEN_149 = io_in_d_valid & _T_1092; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1490.10]
  assign _GEN_155 = io_in_d_valid & _T_1109; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1525.10]
  assign _GEN_161 = io_in_d_valid & _T_1127; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1561.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_1166 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1179 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1181 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1183 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1185 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1187 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1221 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1234 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1236 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1238 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1240 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1242 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1244 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1274 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1285 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1306 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1356 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1166 <= 10'h0;
    end else begin
      if (_T_1156) begin
        if (_T_1170) begin
          if (_T_1163) begin
            _T_1166 <= _T_1161;
          end else begin
            _T_1166 <= 10'h0;
          end
        end else begin
          _T_1166 <= _T_1169;
        end
      end
    end
    if (_T_1211) begin
      _T_1179 <= io_in_a_bits_opcode;
    end
    if (_T_1211) begin
      _T_1181 <= io_in_a_bits_param;
    end
    if (_T_1211) begin
      _T_1183 <= io_in_a_bits_size;
    end
    if (_T_1211) begin
      _T_1185 <= io_in_a_bits_source;
    end
    if (_T_1211) begin
      _T_1187 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1221 <= 10'h0;
    end else begin
      if (_T_1212) begin
        if (_T_1225) begin
          if (_T_1218) begin
            _T_1221 <= _T_1217;
          end else begin
            _T_1221 <= 10'h0;
          end
        end else begin
          _T_1221 <= _T_1224;
        end
      end
    end
    if (_T_1272) begin
      _T_1234 <= io_in_d_bits_opcode;
    end
    if (_T_1272) begin
      _T_1236 <= io_in_d_bits_param;
    end
    if (_T_1272) begin
      _T_1238 <= io_in_d_bits_size;
    end
    if (_T_1272) begin
      _T_1240 <= io_in_d_bits_source;
    end
    if (_T_1272) begin
      _T_1242 <= io_in_d_bits_sink;
    end
    if (_T_1272) begin
      _T_1244 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1274 <= 2'h0;
    end else begin
      _T_1274 <= _T_1354;
    end
    if (reset) begin
      _T_1285 <= 10'h0;
    end else begin
      if (_T_1156) begin
        if (_T_1289) begin
          if (_T_1163) begin
            _T_1285 <= _T_1161;
          end else begin
            _T_1285 <= 10'h0;
          end
        end else begin
          _T_1285 <= _T_1288;
        end
      end
    end
    if (reset) begin
      _T_1306 <= 10'h0;
    end else begin
      if (_T_1212) begin
        if (_T_1310) begin
          if (_T_1218) begin
            _T_1306 <= _T_1217;
          end else begin
            _T_1306 <= 10'h0;
          end
        end else begin
          _T_1306 <= _T_1309;
        end
      end
    end
    if (reset) begin
      _T_1356 <= 32'h0;
    end else begin
      if (_T_1370) begin
        _T_1356 <= 32'h0;
      end else begin
        _T_1356 <= _T_1367;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at SystemBus.scala:37:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@117.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@118.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@187.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@188.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at SystemBus.scala:37:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@283.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SystemBus.scala:37:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@289.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@296.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_185) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@297.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SystemBus.scala:37:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@304.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@305.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SystemBus.scala:37:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@311.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_192) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@312.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@319.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_196) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@320.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SystemBus.scala:37:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@328.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_201) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@329.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SystemBus.scala:37:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@336.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_205) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@337.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at SystemBus.scala:37:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@432.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@433.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SystemBus.scala:37:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@439.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@440.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@446.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_185) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@447.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SystemBus.scala:37:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@454.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_189) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@455.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SystemBus.scala:37:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@461.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_192) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@462.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@469.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_196) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@470.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_316) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SystemBus.scala:37:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@477.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_316) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@478.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SystemBus.scala:37:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@486.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_201) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@487.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SystemBus.scala:37:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@494.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_205) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@495.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_423) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at SystemBus.scala:37:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@598.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_423) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@599.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@605.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_185) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@606.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at SystemBus.scala:37:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@612.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_192) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@613.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@620.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_433) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@621.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at SystemBus.scala:37:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@628.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_437) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@629.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at SystemBus.scala:37:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@636.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_205) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@637.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SystemBus.scala:37:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@742.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_541) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@743.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@749.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_185) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@750.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at SystemBus.scala:37:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@756.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_192) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@757.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@764.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_433) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@765.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at SystemBus.scala:37:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@772.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_437) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@773.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at SystemBus.scala:37:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@878.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_541) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@879.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@885.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_185) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@886.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SystemBus.scala:37:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@892.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_192) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@893.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@900.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_433) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@901.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SystemBus.scala:37:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@910.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_671) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@911.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_766) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at SystemBus.scala:37:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1011.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_766) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1012.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1018.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_185) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1019.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SystemBus.scala:37:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1025.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_192) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1026.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_776) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1033.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_776) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1034.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SystemBus.scala:37:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1041.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_437) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1042.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_766) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at SystemBus.scala:37:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1142.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_766) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1143.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1149.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_185) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1150.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at SystemBus.scala:37:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1156.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_192) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1157.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_885) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1164.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_885) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1165.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at SystemBus.scala:37:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1172.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_437) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1173.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_984) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at SystemBus.scala:37:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1273.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_984) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1274.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1280.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_185) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1281.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at SystemBus.scala:37:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1287.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_192) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1288.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at SystemBus.scala:37:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1295.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_437) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1296.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at SystemBus.scala:37:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1303.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_205) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1304.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_1002) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SystemBus.scala:37:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1314.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_1002) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1315.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1331.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1018) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1332.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SystemBus.scala:37:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1339.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1022) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1340.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1347.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1026) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1348.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SystemBus.scala:37:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1355.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1030) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1356.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1034) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at SystemBus.scala:37:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1363.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1034) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1364.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1373.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1018) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1374.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1380.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_179) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1381.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at SystemBus.scala:37:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1388.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1022) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1389.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1049) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1396.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1049) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1397.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1053) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1404.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1053) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1405.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at SystemBus.scala:37:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1412.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1030) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1413.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at SystemBus.scala:37:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1421.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1422.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1431.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1018) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1432.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1438.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_179) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1439.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SystemBus.scala:37:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1446.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1022) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1447.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1049) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1454.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1049) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1455.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1053) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1462.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1053) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1463.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1086) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SystemBus.scala:37:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1471.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1086) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1472.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at SystemBus.scala:37:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1480.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1481.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1490.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1018) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1491.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1498.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1026) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1499.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at SystemBus.scala:37:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1506.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1030) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1507.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at SystemBus.scala:37:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1515.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1516.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1525.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1018) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1526.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1533.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1026) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1534.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1086) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SystemBus.scala:37:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1542.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1086) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1543.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at SystemBus.scala:37:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1551.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1552.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1561.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1018) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1562.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at SystemBus.scala:37:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1569.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1026) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1570.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at SystemBus.scala:37:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1577.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1030) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1578.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at SystemBus.scala:37:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1586.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1587.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at SystemBus.scala:37:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1596.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1597.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at SystemBus.scala:37:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1604.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1605.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at SystemBus.scala:37:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1612.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1613.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1193) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SystemBus.scala:37:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1652.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1193) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1653.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1197) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SystemBus.scala:37:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1660.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1197) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1661.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SystemBus.scala:37:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1668.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1201) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1669.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SystemBus.scala:37:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1676.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1205) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1677.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1209) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SystemBus.scala:37:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1684.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1209) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1685.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1250) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SystemBus.scala:37:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1734.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1250) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1735.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1254) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at SystemBus.scala:37:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1742.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1254) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1743.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1258) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SystemBus.scala:37:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1750.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1258) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1751.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1262) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SystemBus.scala:37:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1758.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1262) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1759.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1266) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at SystemBus.scala:37:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1766.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1266) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1767.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1270) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at SystemBus.scala:37:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1774.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1270) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@1775.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1321 & _T_1329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SystemBus.scala:37:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1852.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1321 & _T_1329) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1853.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1337 & _T_1344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SystemBus.scala:37:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1875.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1337 & _T_1344) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1876.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1351) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at SystemBus.scala:37:14)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1887.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1351) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@1888.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1365) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SystemBus.scala:37:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1907.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1365) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@1908.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLXbar( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1920.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1921.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1922.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1923.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
  TLMonitor TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@1930.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@1970.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@1970.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@1970.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@1970.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@1970.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@1970.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@1970.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@1970.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@1970.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@1970.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@1969.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@1969.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@1969.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@1969.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@1969.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@1969.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@1969.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@1969.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@1969.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@1969.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1932.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@1933.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@1966.4]
endmodule
module TLMonitor_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2103.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2104.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2105.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@2106.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@3896.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@2122.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@2127.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@2129.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@2130.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@2131.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@2132.6]
  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@2132.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@2133.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2135.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@2136.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@2138.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@2139.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@2140.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@2141.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@2142.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2144.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2145.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2147.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2148.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@2149.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@2150.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@2151.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2152.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2153.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2154.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2155.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2156.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2157.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2158.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2159.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2160.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2161.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2162.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2163.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@2164.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@2165.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@2166.6]
  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2170.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2191.6]
  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2194.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2195.8]
  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2196.8]
  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2197.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2198.8]
  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2199.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2200.8]
  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2201.8]
  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2202.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2203.8]
  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2204.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2205.8]
  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2206.8]
  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2207.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2208.8]
  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2209.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2210.8]
  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2211.8]
  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2212.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2213.8]
  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2214.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2215.8]
  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2216.8]
  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2217.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2218.8]
  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2219.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2220.8]
  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2221.8]
  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2222.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2223.8]
  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2224.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2225.8]
  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2226.8]
  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2227.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2228.8]
  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2229.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2230.8]
  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2231.8]
  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2232.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2233.8]
  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2234.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2235.8]
  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2236.8]
  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2237.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2238.8]
  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2239.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2240.8]
  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2241.8]
  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2242.8]
  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2243.8]
  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2246.8]
  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2247.8]
  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2248.8]
  wire [31:0] _T_147; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2249.8]
  wire [32:0] _T_148; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2250.8]
  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2251.8]
  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2252.8]
  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2253.8]
  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2254.8]
  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2255.8]
  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2256.8]
  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2257.8]
  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2258.8]
  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2259.8]
  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2260.8]
  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2261.8]
  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2262.8]
  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2263.8]
  wire  _T_162; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2264.8]
  wire  _T_163; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2265.8]
  wire  _T_164; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2266.8]
  wire  _T_165; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2267.8]
  wire  _T_179; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2281.8]
  wire  _T_184; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2294.8]
  wire  _T_185; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2295.8]
  wire  _T_188; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2302.8]
  wire  _T_189; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2303.8]
  wire  _T_191; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2309.8]
  wire  _T_192; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2310.8]
  wire  _T_193; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2315.8]
  wire  _T_195; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2317.8]
  wire  _T_196; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2318.8]
  wire [3:0] _T_197; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@2323.8]
  wire  _T_198; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@2324.8]
  wire  _T_200; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2326.8]
  wire  _T_201; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2327.8]
  wire  _T_202; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@2332.8]
  wire  _T_204; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2334.8]
  wire  _T_205; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2335.8]
  wire  _T_206; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2341.6]
  wire  _T_313; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@2473.8]
  wire  _T_315; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2475.8]
  wire  _T_316; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2476.8]
  wire  _T_326; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2499.6]
  wire  _T_328; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2502.8]
  wire  _T_336; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@2510.8]
  wire  _T_338; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2512.8]
  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2580.8]
  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2581.8]
  wire  _T_408; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2582.8]
  wire  _T_409; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2583.8]
  wire  _T_410; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2584.8]
  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2585.8]
  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2586.8]
  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2587.8]
  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2588.8]
  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2589.8]
  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2590.8]
  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2591.8]
  wire  _T_418; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@2592.8]
  wire  _T_420; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@2594.8]
  wire  _T_422; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2596.8]
  wire  _T_423; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2597.8]
  wire  _T_430; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@2616.8]
  wire  _T_432; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2618.8]
  wire  _T_433; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2619.8]
  wire  _T_434; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2624.8]
  wire  _T_436; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2626.8]
  wire  _T_437; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2627.8]
  wire  _T_442; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2641.6]
  wire  _T_515; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2715.8]
  wire  _T_516; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2716.8]
  wire  _T_517; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2717.8]
  wire  _T_518; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2718.8]
  wire  _T_519; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2719.8]
  wire  _T_520; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2720.8]
  wire  _T_521; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2721.8]
  wire  _T_522; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@2722.8]
  wire  _T_537; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@2737.8]
  wire  _T_540; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2740.8]
  wire  _T_541; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2741.8]
  wire  _T_556; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2777.6]
  wire [3:0] _T_666; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@2904.8]
  wire [3:0] _T_667; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@2905.8]
  wire  _T_668; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@2906.8]
  wire  _T_670; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2908.8]
  wire  _T_671; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2909.8]
  wire  _T_672; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2915.6]
  wire  _T_674; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2918.8]
  wire  _T_741; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2985.8]
  wire  _T_742; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2986.8]
  wire  _T_743; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2987.8]
  wire  _T_744; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2988.8]
  wire  _T_745; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2989.8]
  wire  _T_746; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2990.8]
  wire  _T_747; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2991.8]
  wire  _T_748; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@2992.8]
  wire  _T_765; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3009.8]
  wire  _T_766; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3010.8]
  wire  _T_773; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@3029.8]
  wire  _T_775; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3031.8]
  wire  _T_776; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3032.8]
  wire  _T_781; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3046.6]
  wire  _T_882; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@3160.8]
  wire  _T_884; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3162.8]
  wire  _T_885; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3163.8]
  wire  _T_890; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3177.6]
  wire  _T_983; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3271.8]
  wire  _T_984; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3272.8]
  wire  _T_999; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@3310.6]
  wire  _T_1001; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3312.6]
  wire  _T_1002; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3313.6]
  wire  _T_1004; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@3319.6]
  wire  _T_1013; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@3324.6]
  wire  _T_1015; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3326.6]
  wire  _T_1017; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3329.8]
  wire  _T_1018; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3330.8]
  wire  _T_1019; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3335.8]
  wire  _T_1021; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3337.8]
  wire  _T_1022; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3338.8]
  wire  _T_1023; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3343.8]
  wire  _T_1025; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3345.8]
  wire  _T_1026; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3346.8]
  wire  _T_1027; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@3351.8]
  wire  _T_1029; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3353.8]
  wire  _T_1030; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3354.8]
  wire  _T_1031; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@3359.8]
  wire  _T_1033; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3361.8]
  wire  _T_1034; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3362.8]
  wire  _T_1035; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3368.6]
  wire  _T_1046; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@3392.8]
  wire  _T_1048; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3394.8]
  wire  _T_1049; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3395.8]
  wire  _T_1050; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3400.8]
  wire  _T_1052; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3402.8]
  wire  _T_1053; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3403.8]
  wire  _T_1063; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3426.6]
  wire  _T_1083; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@3467.8]
  wire  _T_1085; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3469.8]
  wire  _T_1086; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3470.8]
  wire  _T_1092; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3485.6]
  wire  _T_1109; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3520.6]
  wire  _T_1127; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3556.6]
  wire  _T_1156; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3616.4]
  wire [9:0] _T_1161; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@3621.4]
  wire  _T_1162; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@3622.4]
  wire  _T_1163; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3623.4]
  reg [9:0] _T_1166; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3625.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1167; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3626.4]
  wire [10:0] _T_1168; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3627.4]
  wire [9:0] _T_1169; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3628.4]
  wire  _T_1170; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3629.4]
  reg [2:0] _T_1179; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3640.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1181; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3641.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1183; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3642.4]
  reg [31:0] _RAND_3;
  reg  _T_1185; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3643.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_1187; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3644.4]
  reg [31:0] _RAND_5;
  wire  _T_1188; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3645.4]
  wire  _T_1189; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3646.4]
  wire  _T_1190; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3648.6]
  wire  _T_1192; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3650.6]
  wire  _T_1193; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3651.6]
  wire  _T_1194; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3656.6]
  wire  _T_1196; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3658.6]
  wire  _T_1197; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3659.6]
  wire  _T_1198; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3664.6]
  wire  _T_1200; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3666.6]
  wire  _T_1201; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3667.6]
  wire  _T_1202; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3672.6]
  wire  _T_1204; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3674.6]
  wire  _T_1205; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3675.6]
  wire  _T_1206; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3680.6]
  wire  _T_1208; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3682.6]
  wire  _T_1209; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3683.6]
  wire  _T_1211; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@3690.4]
  wire  _T_1212; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3698.4]
  wire [26:0] _T_1214; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@3700.4]
  wire [11:0] _T_1215; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@3701.4]
  wire [11:0] _T_1216; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@3702.4]
  wire [9:0] _T_1217; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@3703.4]
  wire  _T_1218; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@3704.4]
  reg [9:0] _T_1221; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3706.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_1222; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3707.4]
  wire [10:0] _T_1223; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3708.4]
  wire [9:0] _T_1224; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3709.4]
  wire  _T_1225; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3710.4]
  reg [2:0] _T_1234; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3721.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_1236; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3722.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_1238; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3723.4]
  reg [31:0] _RAND_9;
  reg  _T_1240; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3724.4]
  reg [31:0] _RAND_10;
  reg  _T_1242; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3725.4]
  reg [31:0] _RAND_11;
  reg  _T_1244; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3726.4]
  reg [31:0] _RAND_12;
  wire  _T_1245; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3727.4]
  wire  _T_1246; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3728.4]
  wire  _T_1247; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3730.6]
  wire  _T_1249; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3732.6]
  wire  _T_1250; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3733.6]
  wire  _T_1251; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3738.6]
  wire  _T_1253; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3740.6]
  wire  _T_1254; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3741.6]
  wire  _T_1255; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3746.6]
  wire  _T_1257; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3748.6]
  wire  _T_1258; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3749.6]
  wire  _T_1259; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3754.6]
  wire  _T_1261; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3756.6]
  wire  _T_1262; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3757.6]
  wire  _T_1263; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3762.6]
  wire  _T_1265; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3764.6]
  wire  _T_1266; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3765.6]
  wire  _T_1267; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3770.6]
  wire  _T_1269; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3772.6]
  wire  _T_1270; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3773.6]
  wire  _T_1272; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@3780.4]
  reg [1:0] _T_1274; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3789.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1285; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3799.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1286; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3800.4]
  wire [10:0] _T_1287; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3801.4]
  wire [9:0] _T_1288; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3802.4]
  wire  _T_1289; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3803.4]
  reg [9:0] _T_1306; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3822.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1307; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3823.4]
  wire [10:0] _T_1308; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3824.4]
  wire [9:0] _T_1309; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3825.4]
  wire  _T_1310; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3826.4]
  wire  _T_1321; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3841.4]
  wire [1:0] _T_1323; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@3844.6]
  wire [1:0] _T_1324; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@3846.6]
  wire  _T_1325; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@3847.6]
  wire  _T_1326; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3848.6]
  wire  _T_1328; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3850.6]
  wire  _T_1329; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3851.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@3843.4]
  wire  _T_1334; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3862.4]
  wire  _T_1336; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@3864.4]
  wire  _T_1337; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@3865.4]
  wire [1:0] _T_1338; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@3867.6]
  wire [1:0] _T_1339; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@3869.6]
  wire [1:0] _T_1340; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@3870.6]
  wire  _T_1341; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@3871.6]
  wire  _T_1343; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3873.6]
  wire  _T_1344; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3874.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@3866.4]
  wire  _T_1345; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@3880.4]
  wire  _T_1346; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@3881.4]
  wire  _T_1347; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@3882.4]
  wire  _T_1348; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@3883.4]
  wire  _T_1350; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3885.4]
  wire  _T_1351; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3886.4]
  wire [1:0] _T_1352; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3891.4]
  wire [1:0] _T_1353; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@3892.4]
  wire [1:0] _T_1354; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@3893.4]
  reg [31:0] _T_1356; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3895.4]
  reg [31:0] _RAND_16;
  wire  _T_1357; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@3898.4]
  wire  _T_1358; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3899.4]
  wire  _T_1359; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@3900.4]
  wire  _T_1360; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3901.4]
  wire  _T_1361; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@3902.4]
  wire  _T_1362; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@3903.4]
  wire  _T_1364; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3905.4]
  wire  _T_1365; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3906.4]
  wire [31:0] _T_1367; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@3912.4]
  wire  _T_1370; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3916.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2283.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2433.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2599.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2743.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2879.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3012.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3143.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3274.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3332.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3374.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3432.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3491.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3526.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3562.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@3896.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@2122.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@2127.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@2129.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@2130.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@2131.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@2132.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@2132.6]
  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@2133.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2135.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@2136.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@2138.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@2139.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@2140.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@2141.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@2142.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2144.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2145.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2147.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2148.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@2149.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@2150.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@2151.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2152.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2153.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2154.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2155.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2156.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2157.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2158.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2159.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2160.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2161.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@2162.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@2163.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@2164.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@2165.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@2166.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2170.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2191.6]
  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2194.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2195.8]
  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2196.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2197.8]
  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2198.8]
  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2199.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2200.8]
  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2201.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2202.8]
  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2203.8]
  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2204.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2205.8]
  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2206.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2207.8]
  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2208.8]
  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2209.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2210.8]
  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2211.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2212.8]
  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2213.8]
  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2214.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2215.8]
  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2216.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2217.8]
  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2218.8]
  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2219.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2220.8]
  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2221.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2222.8]
  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2223.8]
  assign _T_122 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2224.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2225.8]
  assign _T_124 = $signed(_T_123) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2226.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2227.8]
  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2228.8]
  assign _T_127 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2229.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2230.8]
  assign _T_129 = $signed(_T_128) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2231.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2232.8]
  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2233.8]
  assign _T_132 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2234.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2235.8]
  assign _T_134 = $signed(_T_133) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2236.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2237.8]
  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2238.8]
  assign _T_137 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2239.8]
  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2240.8]
  assign _T_139 = $signed(_T_138) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2241.8]
  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2242.8]
  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2243.8]
  assign _T_144 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2246.8]
  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2247.8]
  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2248.8]
  assign _T_147 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2249.8]
  assign _T_148 = {1'b0,$signed(_T_147)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2250.8]
  assign _T_149 = $signed(_T_148) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2251.8]
  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2252.8]
  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2253.8]
  assign _T_152 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2254.8]
  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2255.8]
  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2256.8]
  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2257.8]
  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2258.8]
  assign _T_157 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@2259.8]
  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@2260.8]
  assign _T_159 = $signed(_T_158) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2261.8]
  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@2262.8]
  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@2263.8]
  assign _T_162 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2264.8]
  assign _T_163 = _T_162 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2265.8]
  assign _T_164 = _T_163 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2266.8]
  assign _T_165 = _T_164 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2267.8]
  assign _T_179 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2281.8]
  assign _T_184 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2294.8]
  assign _T_185 = _T_184 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2295.8]
  assign _T_188 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2302.8]
  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2303.8]
  assign _T_191 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2309.8]
  assign _T_192 = _T_191 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2310.8]
  assign _T_193 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2315.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2317.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2318.8]
  assign _T_197 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@2323.8]
  assign _T_198 = _T_197 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@2324.8]
  assign _T_200 = _T_198 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2326.8]
  assign _T_201 = _T_200 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2327.8]
  assign _T_202 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@2332.8]
  assign _T_204 = _T_202 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2334.8]
  assign _T_205 = _T_204 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2335.8]
  assign _T_206 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2341.6]
  assign _T_313 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@2473.8]
  assign _T_315 = _T_313 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2475.8]
  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2476.8]
  assign _T_326 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2499.6]
  assign _T_328 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2502.8]
  assign _T_336 = _T_328 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@2510.8]
  assign _T_338 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2512.8]
  assign _T_406 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2580.8]
  assign _T_407 = _T_406 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2581.8]
  assign _T_408 = _T_407 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2582.8]
  assign _T_409 = _T_408 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2583.8]
  assign _T_410 = _T_409 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2584.8]
  assign _T_411 = _T_410 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2585.8]
  assign _T_412 = _T_411 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2586.8]
  assign _T_413 = _T_412 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2587.8]
  assign _T_414 = _T_413 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2588.8]
  assign _T_415 = _T_414 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2589.8]
  assign _T_416 = _T_415 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2590.8]
  assign _T_417 = _T_416 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2591.8]
  assign _T_418 = _T_338 & _T_417; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@2592.8]
  assign _T_420 = _T_336 | _T_418; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@2594.8]
  assign _T_422 = _T_420 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2596.8]
  assign _T_423 = _T_422 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2597.8]
  assign _T_430 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@2616.8]
  assign _T_432 = _T_430 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2618.8]
  assign _T_433 = _T_432 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2619.8]
  assign _T_434 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@2624.8]
  assign _T_436 = _T_434 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2626.8]
  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2627.8]
  assign _T_442 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2641.6]
  assign _T_515 = _T_408 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2715.8]
  assign _T_516 = _T_515 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2716.8]
  assign _T_517 = _T_516 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2717.8]
  assign _T_518 = _T_517 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2718.8]
  assign _T_519 = _T_518 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2719.8]
  assign _T_520 = _T_519 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2720.8]
  assign _T_521 = _T_520 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2721.8]
  assign _T_522 = _T_338 & _T_521; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@2722.8]
  assign _T_537 = _T_336 | _T_522; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@2737.8]
  assign _T_540 = _T_537 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2740.8]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2741.8]
  assign _T_556 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2777.6]
  assign _T_666 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@2904.8]
  assign _T_667 = io_in_a_bits_mask & _T_666; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@2905.8]
  assign _T_668 = _T_667 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@2906.8]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2908.8]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2909.8]
  assign _T_672 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@2915.6]
  assign _T_674 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2918.8]
  assign _T_741 = _T_165 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2985.8]
  assign _T_742 = _T_741 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2986.8]
  assign _T_743 = _T_742 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2987.8]
  assign _T_744 = _T_743 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2988.8]
  assign _T_745 = _T_744 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2989.8]
  assign _T_746 = _T_745 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2990.8]
  assign _T_747 = _T_746 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@2991.8]
  assign _T_748 = _T_674 & _T_747; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@2992.8]
  assign _T_765 = _T_748 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3009.8]
  assign _T_766 = _T_765 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3010.8]
  assign _T_773 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@3029.8]
  assign _T_775 = _T_773 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3031.8]
  assign _T_776 = _T_775 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3032.8]
  assign _T_781 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3046.6]
  assign _T_882 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@3160.8]
  assign _T_884 = _T_882 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3162.8]
  assign _T_885 = _T_884 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3163.8]
  assign _T_890 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3177.6]
  assign _T_983 = _T_336 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3271.8]
  assign _T_984 = _T_983 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3272.8]
  assign _T_999 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@3310.6]
  assign _T_1001 = _T_999 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3312.6]
  assign _T_1002 = _T_1001 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3313.6]
  assign _T_1004 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@3319.6]
  assign _T_1013 = io_in_d_bits_source | _T_1004; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@3324.6]
  assign _T_1015 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3326.6]
  assign _T_1017 = _T_1013 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3329.8]
  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3330.8]
  assign _T_1019 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3335.8]
  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3337.8]
  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3338.8]
  assign _T_1023 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3343.8]
  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3345.8]
  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3346.8]
  assign _T_1027 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@3351.8]
  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3353.8]
  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3354.8]
  assign _T_1031 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@3359.8]
  assign _T_1033 = _T_1031 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3361.8]
  assign _T_1034 = _T_1033 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3362.8]
  assign _T_1035 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3368.6]
  assign _T_1046 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@3392.8]
  assign _T_1048 = _T_1046 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3394.8]
  assign _T_1049 = _T_1048 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3395.8]
  assign _T_1050 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3400.8]
  assign _T_1052 = _T_1050 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3402.8]
  assign _T_1053 = _T_1052 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3403.8]
  assign _T_1063 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3426.6]
  assign _T_1083 = _T_1031 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@3467.8]
  assign _T_1085 = _T_1083 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3469.8]
  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3470.8]
  assign _T_1092 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3485.6]
  assign _T_1109 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3520.6]
  assign _T_1127 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3556.6]
  assign _T_1156 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3616.4]
  assign _T_1161 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@3621.4]
  assign _T_1162 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@3622.4]
  assign _T_1163 = _T_1162 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3623.4]
  assign _T_1167 = _T_1166 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3626.4]
  assign _T_1168 = $unsigned(_T_1167); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3627.4]
  assign _T_1169 = _T_1168[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3628.4]
  assign _T_1170 = _T_1166 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3629.4]
  assign _T_1188 = _T_1170 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3645.4]
  assign _T_1189 = io_in_a_valid & _T_1188; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3646.4]
  assign _T_1190 = io_in_a_bits_opcode == _T_1179; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3648.6]
  assign _T_1192 = _T_1190 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3650.6]
  assign _T_1193 = _T_1192 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3651.6]
  assign _T_1194 = io_in_a_bits_param == _T_1181; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3656.6]
  assign _T_1196 = _T_1194 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3658.6]
  assign _T_1197 = _T_1196 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3659.6]
  assign _T_1198 = io_in_a_bits_size == _T_1183; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3664.6]
  assign _T_1200 = _T_1198 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3666.6]
  assign _T_1201 = _T_1200 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3667.6]
  assign _T_1202 = io_in_a_bits_source == _T_1185; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3672.6]
  assign _T_1204 = _T_1202 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3674.6]
  assign _T_1205 = _T_1204 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3675.6]
  assign _T_1206 = io_in_a_bits_address == _T_1187; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3680.6]
  assign _T_1208 = _T_1206 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3682.6]
  assign _T_1209 = _T_1208 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3683.6]
  assign _T_1211 = _T_1156 & _T_1170; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@3690.4]
  assign _T_1212 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3698.4]
  assign _T_1214 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@3700.4]
  assign _T_1215 = _T_1214[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@3701.4]
  assign _T_1216 = ~ _T_1215; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@3702.4]
  assign _T_1217 = _T_1216[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@3703.4]
  assign _T_1218 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@3704.4]
  assign _T_1222 = _T_1221 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3707.4]
  assign _T_1223 = $unsigned(_T_1222); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3708.4]
  assign _T_1224 = _T_1223[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3709.4]
  assign _T_1225 = _T_1221 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3710.4]
  assign _T_1245 = _T_1225 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@3727.4]
  assign _T_1246 = io_in_d_valid & _T_1245; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3728.4]
  assign _T_1247 = io_in_d_bits_opcode == _T_1234; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3730.6]
  assign _T_1249 = _T_1247 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3732.6]
  assign _T_1250 = _T_1249 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3733.6]
  assign _T_1251 = io_in_d_bits_param == _T_1236; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3738.6]
  assign _T_1253 = _T_1251 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3740.6]
  assign _T_1254 = _T_1253 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3741.6]
  assign _T_1255 = io_in_d_bits_size == _T_1238; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3746.6]
  assign _T_1257 = _T_1255 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3748.6]
  assign _T_1258 = _T_1257 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3749.6]
  assign _T_1259 = io_in_d_bits_source == _T_1240; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3754.6]
  assign _T_1261 = _T_1259 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3756.6]
  assign _T_1262 = _T_1261 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3757.6]
  assign _T_1263 = io_in_d_bits_sink == _T_1242; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3762.6]
  assign _T_1265 = _T_1263 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3764.6]
  assign _T_1266 = _T_1265 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3765.6]
  assign _T_1267 = io_in_d_bits_denied == _T_1244; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@3770.6]
  assign _T_1269 = _T_1267 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3772.6]
  assign _T_1270 = _T_1269 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3773.6]
  assign _T_1272 = _T_1212 & _T_1225; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@3780.4]
  assign _T_1286 = _T_1285 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3800.4]
  assign _T_1287 = $unsigned(_T_1286); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3801.4]
  assign _T_1288 = _T_1287[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3802.4]
  assign _T_1289 = _T_1285 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3803.4]
  assign _T_1307 = _T_1306 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3823.4]
  assign _T_1308 = $unsigned(_T_1307); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3824.4]
  assign _T_1309 = _T_1308[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@3825.4]
  assign _T_1310 = _T_1306 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3826.4]
  assign _T_1321 = _T_1156 & _T_1289; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3841.4]
  assign _T_1323 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@3844.6]
  assign _T_1324 = _T_1274 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@3846.6]
  assign _T_1325 = _T_1324[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@3847.6]
  assign _T_1326 = _T_1325 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3848.6]
  assign _T_1328 = _T_1326 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3850.6]
  assign _T_1329 = _T_1328 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3851.6]
  assign _GEN_15 = _T_1321 ? _T_1323 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@3843.4]
  assign _T_1334 = _T_1212 & _T_1310; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3862.4]
  assign _T_1336 = _T_1015 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@3864.4]
  assign _T_1337 = _T_1334 & _T_1336; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@3865.4]
  assign _T_1338 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@3867.6]
  assign _T_1339 = _GEN_15 | _T_1274; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@3869.6]
  assign _T_1340 = _T_1339 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@3870.6]
  assign _T_1341 = _T_1340[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@3871.6]
  assign _T_1343 = _T_1341 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3873.6]
  assign _T_1344 = _T_1343 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3874.6]
  assign _GEN_16 = _T_1337 ? _T_1338 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@3866.4]
  assign _T_1345 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@3880.4]
  assign _T_1346 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@3881.4]
  assign _T_1347 = _T_1346 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@3882.4]
  assign _T_1348 = _T_1345 | _T_1347; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@3883.4]
  assign _T_1350 = _T_1348 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3885.4]
  assign _T_1351 = _T_1350 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3886.4]
  assign _T_1352 = _T_1274 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3891.4]
  assign _T_1353 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@3892.4]
  assign _T_1354 = _T_1352 & _T_1353; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@3893.4]
  assign _T_1357 = _T_1274 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@3898.4]
  assign _T_1358 = _T_1357 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3899.4]
  assign _T_1359 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@3900.4]
  assign _T_1360 = _T_1358 | _T_1359; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3901.4]
  assign _T_1361 = _T_1356 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@3902.4]
  assign _T_1362 = _T_1360 | _T_1361; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@3903.4]
  assign _T_1364 = _T_1362 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3905.4]
  assign _T_1365 = _T_1364 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3906.4]
  assign _T_1367 = _T_1356 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@3912.4]
  assign _T_1370 = _T_1156 | _T_1212; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@3916.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2283.10]
  assign _GEN_35 = io_in_a_valid & _T_206; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2433.10]
  assign _GEN_53 = io_in_a_valid & _T_326; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2599.10]
  assign _GEN_65 = io_in_a_valid & _T_442; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2743.10]
  assign _GEN_75 = io_in_a_valid & _T_556; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2879.10]
  assign _GEN_85 = io_in_a_valid & _T_672; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3012.10]
  assign _GEN_95 = io_in_a_valid & _T_781; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3143.10]
  assign _GEN_105 = io_in_a_valid & _T_890; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3274.10]
  assign _GEN_115 = io_in_d_valid & _T_1015; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3332.10]
  assign _GEN_125 = io_in_d_valid & _T_1035; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3374.10]
  assign _GEN_137 = io_in_d_valid & _T_1063; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3432.10]
  assign _GEN_149 = io_in_d_valid & _T_1092; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3491.10]
  assign _GEN_155 = io_in_d_valid & _T_1109; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3526.10]
  assign _GEN_161 = io_in_d_valid & _T_1127; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3562.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_1166 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1179 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1181 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1183 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1185 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1187 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1221 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1234 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1236 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1238 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1240 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1242 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1244 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1274 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1285 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1306 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1356 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1166 <= 10'h0;
    end else begin
      if (_T_1156) begin
        if (_T_1170) begin
          if (_T_1163) begin
            _T_1166 <= _T_1161;
          end else begin
            _T_1166 <= 10'h0;
          end
        end else begin
          _T_1166 <= _T_1169;
        end
      end
    end
    if (_T_1211) begin
      _T_1179 <= io_in_a_bits_opcode;
    end
    if (_T_1211) begin
      _T_1181 <= io_in_a_bits_param;
    end
    if (_T_1211) begin
      _T_1183 <= io_in_a_bits_size;
    end
    if (_T_1211) begin
      _T_1185 <= io_in_a_bits_source;
    end
    if (_T_1211) begin
      _T_1187 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1221 <= 10'h0;
    end else begin
      if (_T_1212) begin
        if (_T_1225) begin
          if (_T_1218) begin
            _T_1221 <= _T_1217;
          end else begin
            _T_1221 <= 10'h0;
          end
        end else begin
          _T_1221 <= _T_1224;
        end
      end
    end
    if (_T_1272) begin
      _T_1234 <= io_in_d_bits_opcode;
    end
    if (_T_1272) begin
      _T_1236 <= io_in_d_bits_param;
    end
    if (_T_1272) begin
      _T_1238 <= io_in_d_bits_size;
    end
    if (_T_1272) begin
      _T_1240 <= io_in_d_bits_source;
    end
    if (_T_1272) begin
      _T_1242 <= io_in_d_bits_sink;
    end
    if (_T_1272) begin
      _T_1244 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1274 <= 2'h0;
    end else begin
      _T_1274 <= _T_1354;
    end
    if (reset) begin
      _T_1285 <= 10'h0;
    end else begin
      if (_T_1156) begin
        if (_T_1289) begin
          if (_T_1163) begin
            _T_1285 <= _T_1161;
          end else begin
            _T_1285 <= 10'h0;
          end
        end else begin
          _T_1285 <= _T_1288;
        end
      end
    end
    if (reset) begin
      _T_1306 <= 10'h0;
    end else begin
      if (_T_1212) begin
        if (_T_1310) begin
          if (_T_1218) begin
            _T_1306 <= _T_1217;
          end else begin
            _T_1306 <= 10'h0;
          end
        end else begin
          _T_1306 <= _T_1309;
        end
      end
    end
    if (reset) begin
      _T_1356 <= 32'h0;
    end else begin
      if (_T_1370) begin
        _T_1356 <= 32'h0;
      end else begin
        _T_1356 <= _T_1367;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@2118.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@2119.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@2188.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@2189.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2283.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2284.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2290.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2291.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2297.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_185) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2298.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2305.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2306.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2312.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_192) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2313.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2320.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_196) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2321.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2329.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_201) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2330.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2337.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_205) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2338.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2433.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2434.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2440.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2441.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2447.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_185) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2448.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2455.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_189) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2456.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2462.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_192) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2463.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2470.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_196) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2471.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_316) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2478.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_316) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2479.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2487.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_201) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2488.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2495.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_205) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2496.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_423) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2599.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_423) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2600.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2606.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_185) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2607.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2613.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_192) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2614.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2621.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_433) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2622.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2629.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_437) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2630.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2637.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_205) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2638.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2743.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_541) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2744.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2750.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_185) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2751.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2757.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_192) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2758.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2765.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_433) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2766.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2773.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_437) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2774.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2879.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_541) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2880.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2886.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_185) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2887.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2893.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_192) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2894.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2901.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_433) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2902.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2911.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_671) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@2912.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_766) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3012.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_766) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3013.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3019.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_185) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3020.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3026.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_192) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3027.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_776) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3034.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_776) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3035.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3042.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_437) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3043.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_766) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3143.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_766) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3144.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3150.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_185) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3151.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3157.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_192) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3158.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_885) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3165.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_885) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3166.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3173.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_437) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3174.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_984) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3274.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_984) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3275.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3281.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_185) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3282.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3288.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_192) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3289.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3296.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_437) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3297.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3304.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_205) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3305.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_1002) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3315.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_1002) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3316.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3332.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1018) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3333.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3340.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1022) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3341.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3348.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1026) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3349.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3356.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1030) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3357.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1034) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3364.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1034) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3365.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3374.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1018) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3375.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3381.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_179) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3382.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3389.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1022) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3390.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1049) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3397.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1049) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3398.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1053) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3405.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1053) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3406.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3413.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1030) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3414.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3422.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3423.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3432.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1018) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3433.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3439.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_179) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3440.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3447.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1022) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3448.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1049) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3455.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1049) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3456.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1053) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3463.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1053) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3464.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1086) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3472.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1086) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3473.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3481.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3482.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3491.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1018) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3492.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3499.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1026) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3500.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3507.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1030) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3508.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3516.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3517.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3526.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1018) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3527.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3534.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1026) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3535.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1086) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3543.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1086) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3544.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3552.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3553.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3562.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1018) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3563.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3570.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1026) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3571.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3578.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1030) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3579.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3587.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3588.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3597.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3598.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3605.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3606.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3613.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3614.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1193) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3653.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1193) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3654.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1197) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3661.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1197) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3662.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3669.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1201) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3670.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3677.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1205) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3678.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1209) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3685.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1209) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3686.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1250) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3735.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1250) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3736.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1254) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3743.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1254) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3744.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1258) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3751.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1258) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3752.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1262) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3759.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1262) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3760.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1266) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3767.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1266) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3768.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1270) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3775.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1270) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@3776.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1321 & _T_1329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3853.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1321 & _T_1329) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3854.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1337 & _T_1344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3876.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1337 & _T_1344) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3877.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1351) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3888.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1351) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@3889.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1365) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3908.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1365) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@3909.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLXbar_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3921.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3922.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3923.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3924.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
  TLMonitor_1 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@3931.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@3971.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@3971.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@3971.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@3971.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@3971.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@3971.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@3971.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@3971.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@3971.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@3971.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@3970.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@3970.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@3970.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@3970.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@3970.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@3970.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@3970.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@3970.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@3970.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@3970.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3933.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@3934.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@3967.4]
endmodule
module TLMonitor_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4104.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4105.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4106.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@4107.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@5892.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@4123.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@4128.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@4130.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@4131.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@4132.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@4133.6]
  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@4133.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@4134.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4136.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@4137.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@4139.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@4140.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@4141.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@4142.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@4143.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4145.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4146.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4148.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4149.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@4150.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@4151.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@4152.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4153.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4154.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4155.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4156.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4157.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4158.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4159.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4160.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4161.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4162.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4163.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4164.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@4165.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@4166.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@4167.6]
  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4171.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4192.6]
  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4195.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4196.8]
  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4197.8]
  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4198.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4199.8]
  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4200.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4201.8]
  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4202.8]
  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4203.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4204.8]
  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4205.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4206.8]
  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4207.8]
  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4208.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4209.8]
  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4210.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4211.8]
  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4212.8]
  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4213.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4214.8]
  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4215.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4216.8]
  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4217.8]
  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4218.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4219.8]
  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4220.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4221.8]
  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4222.8]
  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4223.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4224.8]
  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4225.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4226.8]
  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4227.8]
  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4228.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4229.8]
  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4230.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4231.8]
  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4232.8]
  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4233.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4234.8]
  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4235.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4236.8]
  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4237.8]
  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4238.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4239.8]
  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4240.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4241.8]
  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4242.8]
  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4243.8]
  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4244.8]
  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4247.8]
  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4248.8]
  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4249.8]
  wire [31:0] _T_147; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4250.8]
  wire [32:0] _T_148; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4251.8]
  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4252.8]
  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4253.8]
  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4254.8]
  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4255.8]
  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4256.8]
  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4257.8]
  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4258.8]
  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4259.8]
  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4260.8]
  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4261.8]
  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4262.8]
  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4263.8]
  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4264.8]
  wire  _T_162; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4265.8]
  wire  _T_163; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4266.8]
  wire  _T_164; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4267.8]
  wire  _T_165; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4268.8]
  wire  _T_179; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4282.8]
  wire  _T_184; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4295.8]
  wire  _T_185; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4296.8]
  wire  _T_188; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4303.8]
  wire  _T_189; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4304.8]
  wire  _T_191; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4310.8]
  wire  _T_192; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4311.8]
  wire  _T_193; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4316.8]
  wire  _T_195; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4318.8]
  wire  _T_196; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4319.8]
  wire [3:0] _T_197; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@4324.8]
  wire  _T_198; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@4325.8]
  wire  _T_200; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4327.8]
  wire  _T_201; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4328.8]
  wire  _T_202; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@4333.8]
  wire  _T_204; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4335.8]
  wire  _T_205; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4336.8]
  wire  _T_206; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4342.6]
  wire  _T_313; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@4474.8]
  wire  _T_315; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4476.8]
  wire  _T_316; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4477.8]
  wire  _T_326; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4500.6]
  wire  _T_328; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4503.8]
  wire  _T_336; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4511.8]
  wire  _T_338; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4513.8]
  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4581.8]
  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4582.8]
  wire  _T_408; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4583.8]
  wire  _T_409; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4584.8]
  wire  _T_410; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4585.8]
  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4586.8]
  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4587.8]
  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4588.8]
  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4589.8]
  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4590.8]
  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4591.8]
  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4592.8]
  wire  _T_418; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4593.8]
  wire  _T_420; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@4595.8]
  wire  _T_422; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4597.8]
  wire  _T_423; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4598.8]
  wire  _T_430; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@4617.8]
  wire  _T_432; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4619.8]
  wire  _T_433; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4620.8]
  wire  _T_434; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4625.8]
  wire  _T_436; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4627.8]
  wire  _T_437; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4628.8]
  wire  _T_442; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4642.6]
  wire  _T_515; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4716.8]
  wire  _T_516; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4717.8]
  wire  _T_517; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4718.8]
  wire  _T_518; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4719.8]
  wire  _T_519; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4720.8]
  wire  _T_520; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4721.8]
  wire  _T_521; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4722.8]
  wire  _T_522; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4723.8]
  wire  _T_537; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@4738.8]
  wire  _T_540; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4741.8]
  wire  _T_541; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4742.8]
  wire  _T_556; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4778.6]
  wire [3:0] _T_666; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@4905.8]
  wire [3:0] _T_667; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@4906.8]
  wire  _T_668; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@4907.8]
  wire  _T_670; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4909.8]
  wire  _T_671; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4910.8]
  wire  _T_672; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4916.6]
  wire  _T_674; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4919.8]
  wire  _T_716; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4961.8]
  wire  _T_717; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4962.8]
  wire  _T_718; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4963.8]
  wire  _T_719; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@4964.8]
  wire  _T_726; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4971.8]
  wire  _T_765; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@5010.8]
  wire  _T_768; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5013.8]
  wire  _T_769; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5014.8]
  wire  _T_776; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@5033.8]
  wire  _T_778; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5035.8]
  wire  _T_779; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5036.8]
  wire  _T_784; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5050.6]
  wire  _T_888; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@5167.8]
  wire  _T_890; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5169.8]
  wire  _T_891; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5170.8]
  wire  _T_896; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5184.6]
  wire  _T_989; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5278.8]
  wire  _T_990; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5279.8]
  wire  _T_1005; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@5317.6]
  wire  _T_1007; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5319.6]
  wire  _T_1008; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5320.6]
  wire  _T_1010; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@5326.6]
  wire  _T_1019; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@5331.6]
  wire  _T_1021; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5333.6]
  wire  _T_1023; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5336.8]
  wire  _T_1024; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5337.8]
  wire  _T_1025; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5342.8]
  wire  _T_1027; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5344.8]
  wire  _T_1028; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5345.8]
  wire  _T_1029; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5350.8]
  wire  _T_1031; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5352.8]
  wire  _T_1032; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5353.8]
  wire  _T_1033; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@5358.8]
  wire  _T_1035; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5360.8]
  wire  _T_1036; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5361.8]
  wire  _T_1037; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@5366.8]
  wire  _T_1039; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5368.8]
  wire  _T_1040; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5369.8]
  wire  _T_1041; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5375.6]
  wire  _T_1052; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@5399.8]
  wire  _T_1054; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5401.8]
  wire  _T_1055; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5402.8]
  wire  _T_1056; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5407.8]
  wire  _T_1058; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5409.8]
  wire  _T_1059; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5410.8]
  wire  _T_1069; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5433.6]
  wire  _T_1089; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@5474.8]
  wire  _T_1091; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5476.8]
  wire  _T_1092; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5477.8]
  wire  _T_1098; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5492.6]
  wire  _T_1115; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5527.6]
  wire  _T_1133; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5563.6]
  wire  _T_1162; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5623.4]
  wire [9:0] _T_1167; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@5628.4]
  wire  _T_1168; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@5629.4]
  wire  _T_1169; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5630.4]
  reg [9:0] _T_1172; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5632.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1173; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5633.4]
  wire [10:0] _T_1174; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5634.4]
  wire [9:0] _T_1175; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5635.4]
  wire  _T_1176; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5636.4]
  reg [2:0] _T_1185; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5647.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1187; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5648.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1189; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5649.4]
  reg [31:0] _RAND_3;
  reg  _T_1191; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5650.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_1193; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5651.4]
  reg [31:0] _RAND_5;
  wire  _T_1194; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5652.4]
  wire  _T_1195; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5653.4]
  wire  _T_1196; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5655.6]
  wire  _T_1198; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5657.6]
  wire  _T_1199; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5658.6]
  wire  _T_1200; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5663.6]
  wire  _T_1202; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5665.6]
  wire  _T_1203; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5666.6]
  wire  _T_1204; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5671.6]
  wire  _T_1206; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5673.6]
  wire  _T_1207; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5674.6]
  wire  _T_1208; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5679.6]
  wire  _T_1210; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5681.6]
  wire  _T_1211; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5682.6]
  wire  _T_1212; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5687.6]
  wire  _T_1214; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5689.6]
  wire  _T_1215; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5690.6]
  wire  _T_1217; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@5697.4]
  wire  _T_1218; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5705.4]
  wire [26:0] _T_1220; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@5707.4]
  wire [11:0] _T_1221; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@5708.4]
  wire [11:0] _T_1222; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@5709.4]
  wire [9:0] _T_1223; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@5710.4]
  wire  _T_1224; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@5711.4]
  reg [9:0] _T_1227; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5713.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_1228; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5714.4]
  wire [10:0] _T_1229; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5715.4]
  wire [9:0] _T_1230; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5716.4]
  wire  _T_1231; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5717.4]
  reg [2:0] _T_1240; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5728.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_1242; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5729.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_1244; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5730.4]
  reg [31:0] _RAND_9;
  reg  _T_1246; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5731.4]
  reg [31:0] _RAND_10;
  reg  _T_1248; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5732.4]
  reg [31:0] _RAND_11;
  reg  _T_1250; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5733.4]
  reg [31:0] _RAND_12;
  wire  _T_1251; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5734.4]
  wire  _T_1252; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5735.4]
  wire  _T_1253; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5737.6]
  wire  _T_1255; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5739.6]
  wire  _T_1256; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5740.6]
  wire  _T_1257; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5745.6]
  wire  _T_1259; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5747.6]
  wire  _T_1260; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5748.6]
  wire  _T_1261; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5753.6]
  wire  _T_1263; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5755.6]
  wire  _T_1264; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5756.6]
  wire  _T_1265; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5761.6]
  wire  _T_1267; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5763.6]
  wire  _T_1268; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5764.6]
  wire  _T_1269; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5769.6]
  wire  _T_1271; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5771.6]
  wire  _T_1272; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5772.6]
  wire  _T_1273; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5777.6]
  wire  _T_1275; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5779.6]
  wire  _T_1276; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5780.6]
  wire  _T_1278; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@5787.4]
  reg [1:0] _T_1280; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5796.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1291; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5806.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1292; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5807.4]
  wire [10:0] _T_1293; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5808.4]
  wire [9:0] _T_1294; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5809.4]
  wire  _T_1295; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5810.4]
  reg [9:0] _T_1312; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5829.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1313; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5830.4]
  wire [10:0] _T_1314; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5831.4]
  wire [9:0] _T_1315; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5832.4]
  wire  _T_1316; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5833.4]
  wire  _T_1327; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5848.4]
  wire [1:0] _T_1329; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@5851.6]
  wire [1:0] _T_1330; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@5853.6]
  wire  _T_1331; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@5854.6]
  wire  _T_1332; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5855.6]
  wire  _T_1334; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5857.6]
  wire  _T_1335; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5858.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@5850.4]
  wire  _T_1340; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5869.4]
  wire  _T_1342; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@5871.4]
  wire  _T_1343; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@5872.4]
  wire [1:0] _T_1344; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@5874.6]
  wire [1:0] _T_1345; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@5876.6]
  wire [1:0] _T_1346; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@5877.6]
  wire  _T_1347; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@5878.6]
  wire  _T_1349; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5880.6]
  wire  _T_1350; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5881.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@5873.4]
  wire [1:0] _T_1351; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5887.4]
  wire [1:0] _T_1352; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@5888.4]
  wire [1:0] _T_1353; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@5889.4]
  reg [31:0] _T_1355; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5891.4]
  reg [31:0] _RAND_16;
  wire  _T_1356; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@5894.4]
  wire  _T_1357; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5895.4]
  wire  _T_1358; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@5896.4]
  wire  _T_1359; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5897.4]
  wire  _T_1360; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@5898.4]
  wire  _T_1361; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@5899.4]
  wire  _T_1363; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5901.4]
  wire  _T_1364; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5902.4]
  wire [31:0] _T_1366; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@5908.4]
  wire  _T_1369; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5912.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4284.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4434.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4600.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4744.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4880.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5016.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5150.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5281.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5339.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5381.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5439.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5498.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5533.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5569.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@5892.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@4123.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@4128.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@4130.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@4131.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@4132.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@4133.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@4133.6]
  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@4134.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4136.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@4137.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@4139.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@4140.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@4141.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@4142.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@4143.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4145.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4146.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4148.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4149.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@4150.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@4151.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@4152.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4153.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4154.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4155.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4156.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4157.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4158.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4159.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4160.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4161.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4162.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@4163.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@4164.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@4165.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@4166.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@4167.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4171.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4192.6]
  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4195.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4196.8]
  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4197.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4198.8]
  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4199.8]
  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4200.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4201.8]
  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4202.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4203.8]
  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4204.8]
  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4205.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4206.8]
  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4207.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4208.8]
  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4209.8]
  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4210.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4211.8]
  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4212.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4213.8]
  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4214.8]
  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4215.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4216.8]
  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4217.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4218.8]
  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4219.8]
  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4220.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4221.8]
  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4222.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4223.8]
  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4224.8]
  assign _T_122 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4225.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4226.8]
  assign _T_124 = $signed(_T_123) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4227.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4228.8]
  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4229.8]
  assign _T_127 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4230.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4231.8]
  assign _T_129 = $signed(_T_128) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4232.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4233.8]
  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4234.8]
  assign _T_132 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4235.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4236.8]
  assign _T_134 = $signed(_T_133) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4237.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4238.8]
  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4239.8]
  assign _T_137 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4240.8]
  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4241.8]
  assign _T_139 = $signed(_T_138) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4242.8]
  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4243.8]
  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4244.8]
  assign _T_144 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4247.8]
  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4248.8]
  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4249.8]
  assign _T_147 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4250.8]
  assign _T_148 = {1'b0,$signed(_T_147)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4251.8]
  assign _T_149 = $signed(_T_148) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4252.8]
  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4253.8]
  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4254.8]
  assign _T_152 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4255.8]
  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4256.8]
  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4257.8]
  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4258.8]
  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4259.8]
  assign _T_157 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@4260.8]
  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@4261.8]
  assign _T_159 = $signed(_T_158) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4262.8]
  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@4263.8]
  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@4264.8]
  assign _T_162 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4265.8]
  assign _T_163 = _T_162 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4266.8]
  assign _T_164 = _T_163 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4267.8]
  assign _T_165 = _T_164 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4268.8]
  assign _T_179 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4282.8]
  assign _T_184 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4295.8]
  assign _T_185 = _T_184 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4296.8]
  assign _T_188 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4303.8]
  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4304.8]
  assign _T_191 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4310.8]
  assign _T_192 = _T_191 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4311.8]
  assign _T_193 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4316.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4318.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4319.8]
  assign _T_197 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@4324.8]
  assign _T_198 = _T_197 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@4325.8]
  assign _T_200 = _T_198 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4327.8]
  assign _T_201 = _T_200 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4328.8]
  assign _T_202 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@4333.8]
  assign _T_204 = _T_202 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4335.8]
  assign _T_205 = _T_204 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4336.8]
  assign _T_206 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4342.6]
  assign _T_313 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@4474.8]
  assign _T_315 = _T_313 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4476.8]
  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4477.8]
  assign _T_326 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4500.6]
  assign _T_328 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4503.8]
  assign _T_336 = _T_328 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4511.8]
  assign _T_338 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4513.8]
  assign _T_406 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4581.8]
  assign _T_407 = _T_406 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4582.8]
  assign _T_408 = _T_407 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4583.8]
  assign _T_409 = _T_408 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4584.8]
  assign _T_410 = _T_409 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4585.8]
  assign _T_411 = _T_410 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4586.8]
  assign _T_412 = _T_411 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4587.8]
  assign _T_413 = _T_412 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4588.8]
  assign _T_414 = _T_413 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4589.8]
  assign _T_415 = _T_414 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4590.8]
  assign _T_416 = _T_415 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4591.8]
  assign _T_417 = _T_416 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4592.8]
  assign _T_418 = _T_338 & _T_417; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4593.8]
  assign _T_420 = _T_336 | _T_418; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@4595.8]
  assign _T_422 = _T_420 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4597.8]
  assign _T_423 = _T_422 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4598.8]
  assign _T_430 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@4617.8]
  assign _T_432 = _T_430 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4619.8]
  assign _T_433 = _T_432 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4620.8]
  assign _T_434 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@4625.8]
  assign _T_436 = _T_434 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4627.8]
  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4628.8]
  assign _T_442 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4642.6]
  assign _T_515 = _T_408 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4716.8]
  assign _T_516 = _T_515 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4717.8]
  assign _T_517 = _T_516 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4718.8]
  assign _T_518 = _T_517 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4719.8]
  assign _T_519 = _T_518 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4720.8]
  assign _T_520 = _T_519 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4721.8]
  assign _T_521 = _T_520 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4722.8]
  assign _T_522 = _T_338 & _T_521; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4723.8]
  assign _T_537 = _T_336 | _T_522; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@4738.8]
  assign _T_540 = _T_537 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4741.8]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4742.8]
  assign _T_556 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4778.6]
  assign _T_666 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@4905.8]
  assign _T_667 = io_in_a_bits_mask & _T_666; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@4906.8]
  assign _T_668 = _T_667 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@4907.8]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4909.8]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4910.8]
  assign _T_672 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@4916.6]
  assign _T_674 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4919.8]
  assign _T_716 = _T_165 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4961.8]
  assign _T_717 = _T_716 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@4962.8]
  assign _T_718 = _T_674 & _T_717; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4963.8]
  assign _T_719 = 4'h2 == io_in_a_bits_size; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@4964.8]
  assign _T_726 = _T_719 & _T_156; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@4971.8]
  assign _T_765 = _T_718 | _T_726; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@5010.8]
  assign _T_768 = _T_765 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5013.8]
  assign _T_769 = _T_768 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5014.8]
  assign _T_776 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@5033.8]
  assign _T_778 = _T_776 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5035.8]
  assign _T_779 = _T_778 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5036.8]
  assign _T_784 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5050.6]
  assign _T_888 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@5167.8]
  assign _T_890 = _T_888 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5169.8]
  assign _T_891 = _T_890 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5170.8]
  assign _T_896 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5184.6]
  assign _T_989 = _T_336 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5278.8]
  assign _T_990 = _T_989 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5279.8]
  assign _T_1005 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@5317.6]
  assign _T_1007 = _T_1005 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5319.6]
  assign _T_1008 = _T_1007 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5320.6]
  assign _T_1010 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@5326.6]
  assign _T_1019 = io_in_d_bits_source | _T_1010; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@5331.6]
  assign _T_1021 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5333.6]
  assign _T_1023 = _T_1019 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5336.8]
  assign _T_1024 = _T_1023 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5337.8]
  assign _T_1025 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5342.8]
  assign _T_1027 = _T_1025 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5344.8]
  assign _T_1028 = _T_1027 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5345.8]
  assign _T_1029 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5350.8]
  assign _T_1031 = _T_1029 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5352.8]
  assign _T_1032 = _T_1031 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5353.8]
  assign _T_1033 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@5358.8]
  assign _T_1035 = _T_1033 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5360.8]
  assign _T_1036 = _T_1035 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5361.8]
  assign _T_1037 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@5366.8]
  assign _T_1039 = _T_1037 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5368.8]
  assign _T_1040 = _T_1039 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5369.8]
  assign _T_1041 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5375.6]
  assign _T_1052 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@5399.8]
  assign _T_1054 = _T_1052 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5401.8]
  assign _T_1055 = _T_1054 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5402.8]
  assign _T_1056 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5407.8]
  assign _T_1058 = _T_1056 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5409.8]
  assign _T_1059 = _T_1058 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5410.8]
  assign _T_1069 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5433.6]
  assign _T_1089 = _T_1037 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@5474.8]
  assign _T_1091 = _T_1089 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5476.8]
  assign _T_1092 = _T_1091 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5477.8]
  assign _T_1098 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5492.6]
  assign _T_1115 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5527.6]
  assign _T_1133 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5563.6]
  assign _T_1162 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5623.4]
  assign _T_1167 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@5628.4]
  assign _T_1168 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@5629.4]
  assign _T_1169 = _T_1168 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5630.4]
  assign _T_1173 = _T_1172 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5633.4]
  assign _T_1174 = $unsigned(_T_1173); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5634.4]
  assign _T_1175 = _T_1174[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5635.4]
  assign _T_1176 = _T_1172 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5636.4]
  assign _T_1194 = _T_1176 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5652.4]
  assign _T_1195 = io_in_a_valid & _T_1194; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5653.4]
  assign _T_1196 = io_in_a_bits_opcode == _T_1185; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5655.6]
  assign _T_1198 = _T_1196 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5657.6]
  assign _T_1199 = _T_1198 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5658.6]
  assign _T_1200 = io_in_a_bits_param == _T_1187; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5663.6]
  assign _T_1202 = _T_1200 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5665.6]
  assign _T_1203 = _T_1202 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5666.6]
  assign _T_1204 = io_in_a_bits_size == _T_1189; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5671.6]
  assign _T_1206 = _T_1204 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5673.6]
  assign _T_1207 = _T_1206 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5674.6]
  assign _T_1208 = io_in_a_bits_source == _T_1191; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5679.6]
  assign _T_1210 = _T_1208 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5681.6]
  assign _T_1211 = _T_1210 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5682.6]
  assign _T_1212 = io_in_a_bits_address == _T_1193; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5687.6]
  assign _T_1214 = _T_1212 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5689.6]
  assign _T_1215 = _T_1214 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5690.6]
  assign _T_1217 = _T_1162 & _T_1176; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@5697.4]
  assign _T_1218 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5705.4]
  assign _T_1220 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@5707.4]
  assign _T_1221 = _T_1220[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@5708.4]
  assign _T_1222 = ~ _T_1221; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@5709.4]
  assign _T_1223 = _T_1222[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@5710.4]
  assign _T_1224 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@5711.4]
  assign _T_1228 = _T_1227 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5714.4]
  assign _T_1229 = $unsigned(_T_1228); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5715.4]
  assign _T_1230 = _T_1229[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5716.4]
  assign _T_1231 = _T_1227 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5717.4]
  assign _T_1251 = _T_1231 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@5734.4]
  assign _T_1252 = io_in_d_valid & _T_1251; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5735.4]
  assign _T_1253 = io_in_d_bits_opcode == _T_1240; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5737.6]
  assign _T_1255 = _T_1253 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5739.6]
  assign _T_1256 = _T_1255 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5740.6]
  assign _T_1257 = io_in_d_bits_param == _T_1242; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5745.6]
  assign _T_1259 = _T_1257 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5747.6]
  assign _T_1260 = _T_1259 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5748.6]
  assign _T_1261 = io_in_d_bits_size == _T_1244; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5753.6]
  assign _T_1263 = _T_1261 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5755.6]
  assign _T_1264 = _T_1263 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5756.6]
  assign _T_1265 = io_in_d_bits_source == _T_1246; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5761.6]
  assign _T_1267 = _T_1265 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5763.6]
  assign _T_1268 = _T_1267 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5764.6]
  assign _T_1269 = io_in_d_bits_sink == _T_1248; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5769.6]
  assign _T_1271 = _T_1269 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5771.6]
  assign _T_1272 = _T_1271 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5772.6]
  assign _T_1273 = io_in_d_bits_denied == _T_1250; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@5777.6]
  assign _T_1275 = _T_1273 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5779.6]
  assign _T_1276 = _T_1275 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5780.6]
  assign _T_1278 = _T_1218 & _T_1231; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@5787.4]
  assign _T_1292 = _T_1291 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5807.4]
  assign _T_1293 = $unsigned(_T_1292); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5808.4]
  assign _T_1294 = _T_1293[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5809.4]
  assign _T_1295 = _T_1291 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5810.4]
  assign _T_1313 = _T_1312 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5830.4]
  assign _T_1314 = $unsigned(_T_1313); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5831.4]
  assign _T_1315 = _T_1314[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@5832.4]
  assign _T_1316 = _T_1312 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5833.4]
  assign _T_1327 = _T_1162 & _T_1295; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5848.4]
  assign _T_1329 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@5851.6]
  assign _T_1330 = _T_1280 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@5853.6]
  assign _T_1331 = _T_1330[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@5854.6]
  assign _T_1332 = _T_1331 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5855.6]
  assign _T_1334 = _T_1332 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5857.6]
  assign _T_1335 = _T_1334 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5858.6]
  assign _GEN_15 = _T_1327 ? _T_1329 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@5850.4]
  assign _T_1340 = _T_1218 & _T_1316; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5869.4]
  assign _T_1342 = _T_1021 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@5871.4]
  assign _T_1343 = _T_1340 & _T_1342; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@5872.4]
  assign _T_1344 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@5874.6]
  assign _T_1345 = _GEN_15 | _T_1280; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@5876.6]
  assign _T_1346 = _T_1345 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@5877.6]
  assign _T_1347 = _T_1346[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@5878.6]
  assign _T_1349 = _T_1347 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5880.6]
  assign _T_1350 = _T_1349 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5881.6]
  assign _GEN_16 = _T_1343 ? _T_1344 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@5873.4]
  assign _T_1351 = _T_1280 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5887.4]
  assign _T_1352 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@5888.4]
  assign _T_1353 = _T_1351 & _T_1352; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@5889.4]
  assign _T_1356 = _T_1280 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@5894.4]
  assign _T_1357 = _T_1356 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5895.4]
  assign _T_1358 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@5896.4]
  assign _T_1359 = _T_1357 | _T_1358; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5897.4]
  assign _T_1360 = _T_1355 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@5898.4]
  assign _T_1361 = _T_1359 | _T_1360; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@5899.4]
  assign _T_1363 = _T_1361 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5901.4]
  assign _T_1364 = _T_1363 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5902.4]
  assign _T_1366 = _T_1355 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@5908.4]
  assign _T_1369 = _T_1162 | _T_1218; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@5912.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4284.10]
  assign _GEN_35 = io_in_a_valid & _T_206; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4434.10]
  assign _GEN_53 = io_in_a_valid & _T_326; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4600.10]
  assign _GEN_65 = io_in_a_valid & _T_442; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4744.10]
  assign _GEN_75 = io_in_a_valid & _T_556; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4880.10]
  assign _GEN_85 = io_in_a_valid & _T_672; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5016.10]
  assign _GEN_95 = io_in_a_valid & _T_784; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5150.10]
  assign _GEN_105 = io_in_a_valid & _T_896; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5281.10]
  assign _GEN_115 = io_in_d_valid & _T_1021; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5339.10]
  assign _GEN_125 = io_in_d_valid & _T_1041; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5381.10]
  assign _GEN_137 = io_in_d_valid & _T_1069; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5439.10]
  assign _GEN_149 = io_in_d_valid & _T_1098; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5498.10]
  assign _GEN_155 = io_in_d_valid & _T_1115; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5533.10]
  assign _GEN_161 = io_in_d_valid & _T_1133; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5569.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_1172 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1185 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1187 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1189 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1191 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1193 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1227 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1240 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1242 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1244 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1246 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1248 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1250 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1280 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1291 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1312 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1355 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1172 <= 10'h0;
    end else begin
      if (_T_1162) begin
        if (_T_1176) begin
          if (_T_1169) begin
            _T_1172 <= _T_1167;
          end else begin
            _T_1172 <= 10'h0;
          end
        end else begin
          _T_1172 <= _T_1175;
        end
      end
    end
    if (_T_1217) begin
      _T_1185 <= io_in_a_bits_opcode;
    end
    if (_T_1217) begin
      _T_1187 <= io_in_a_bits_param;
    end
    if (_T_1217) begin
      _T_1189 <= io_in_a_bits_size;
    end
    if (_T_1217) begin
      _T_1191 <= io_in_a_bits_source;
    end
    if (_T_1217) begin
      _T_1193 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1227 <= 10'h0;
    end else begin
      if (_T_1218) begin
        if (_T_1231) begin
          if (_T_1224) begin
            _T_1227 <= _T_1223;
          end else begin
            _T_1227 <= 10'h0;
          end
        end else begin
          _T_1227 <= _T_1230;
        end
      end
    end
    if (_T_1278) begin
      _T_1240 <= io_in_d_bits_opcode;
    end
    if (_T_1278) begin
      _T_1242 <= io_in_d_bits_param;
    end
    if (_T_1278) begin
      _T_1244 <= io_in_d_bits_size;
    end
    if (_T_1278) begin
      _T_1246 <= io_in_d_bits_source;
    end
    if (_T_1278) begin
      _T_1248 <= io_in_d_bits_sink;
    end
    if (_T_1278) begin
      _T_1250 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1280 <= 2'h0;
    end else begin
      _T_1280 <= _T_1353;
    end
    if (reset) begin
      _T_1291 <= 10'h0;
    end else begin
      if (_T_1162) begin
        if (_T_1295) begin
          if (_T_1169) begin
            _T_1291 <= _T_1167;
          end else begin
            _T_1291 <= 10'h0;
          end
        end else begin
          _T_1291 <= _T_1294;
        end
      end
    end
    if (reset) begin
      _T_1312 <= 10'h0;
    end else begin
      if (_T_1218) begin
        if (_T_1316) begin
          if (_T_1224) begin
            _T_1312 <= _T_1223;
          end else begin
            _T_1312 <= 10'h0;
          end
        end else begin
          _T_1312 <= _T_1315;
        end
      end
    end
    if (reset) begin
      _T_1355 <= 32'h0;
    end else begin
      if (_T_1369) begin
        _T_1355 <= 32'h0;
      end else begin
        _T_1355 <= _T_1366;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@4119.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@4120.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@4189.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@4190.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4284.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4285.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4291.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4292.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4298.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_185) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4299.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4306.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4307.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4313.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_192) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4314.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4321.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_196) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4322.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4330.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_201) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4331.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4338.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_205) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4339.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4434.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4435.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4441.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4442.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4448.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_185) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4449.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4456.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_189) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4457.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4463.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_192) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4464.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4471.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_196) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4472.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_316) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4479.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_316) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4480.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4488.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_201) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4489.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4496.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_205) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4497.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_423) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4600.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_423) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4601.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4607.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_185) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4608.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4614.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_192) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4615.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4622.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_433) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4623.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4630.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_437) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4631.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4638.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_205) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4639.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4744.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_541) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4745.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4751.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_185) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4752.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4758.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_192) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4759.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4766.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_433) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4767.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4774.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_437) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4775.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4880.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_541) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4881.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4887.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_185) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4888.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4894.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_192) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4895.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4902.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_433) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4903.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4912.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_671) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@4913.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_769) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5016.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_769) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5017.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5023.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_185) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5024.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5030.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_192) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5031.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_779) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5038.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_779) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5039.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5046.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_437) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5047.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_769) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5150.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_769) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5151.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5157.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_185) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5158.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5164.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_192) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5165.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_891) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5172.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_891) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5173.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5180.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_437) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5181.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_990) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5281.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_990) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5282.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5288.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_185) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5289.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5295.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_192) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5296.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5303.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_437) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5304.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5311.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_205) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5312.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_1008) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5322.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_1008) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5323.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1024) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5339.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1024) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5340.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1028) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5347.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1028) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5348.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1032) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5355.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1032) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5356.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1036) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5363.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1036) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5364.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1040) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5371.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1040) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5372.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1024) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5381.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1024) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5382.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5388.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_179) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5389.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1028) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5396.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1028) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5397.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1055) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5404.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1055) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5405.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1059) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5412.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1059) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5413.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1036) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5420.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1036) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5421.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5429.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5430.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1024) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5439.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1024) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5440.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5446.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_179) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5447.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1028) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5454.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1028) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5455.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1055) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5462.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1055) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5463.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1059) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5470.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1059) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5471.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1092) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5479.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1092) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5480.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5488.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5489.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1024) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5498.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1024) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5499.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1032) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5506.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1032) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5507.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1036) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5514.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1036) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5515.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5523.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5524.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1024) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5533.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1024) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5534.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1032) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5541.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1032) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5542.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1092) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5550.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1092) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5551.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5559.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5560.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1024) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5569.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1024) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5570.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1032) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5577.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1032) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5578.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1036) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5585.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1036) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5586.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5594.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5595.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5604.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5605.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5612.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5613.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5620.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5621.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1195 & _T_1199) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5660.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1195 & _T_1199) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5661.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1195 & _T_1203) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5668.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1195 & _T_1203) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5669.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1195 & _T_1207) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5676.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1195 & _T_1207) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5677.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1195 & _T_1211) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5684.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1195 & _T_1211) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5685.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1195 & _T_1215) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5692.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1195 & _T_1215) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5693.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1252 & _T_1256) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5742.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1252 & _T_1256) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5743.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1252 & _T_1260) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5750.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1252 & _T_1260) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5751.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1252 & _T_1264) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5758.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1252 & _T_1264) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5759.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1252 & _T_1268) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5766.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1252 & _T_1268) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5767.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1252 & _T_1272) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5774.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1252 & _T_1272) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5775.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1252 & _T_1276) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5782.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1252 & _T_1276) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@5783.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1327 & _T_1335) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5860.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1327 & _T_1335) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5861.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1343 & _T_1350) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5883.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1343 & _T_1350) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@5884.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1364) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5904.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1364) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@5905.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLXbar_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5917.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5918.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5919.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_6_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_6_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [2:0]  auto_out_6_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [2:0]  auto_out_6_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [2:0]  auto_out_6_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_6_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [28:0] auto_out_6_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [3:0]  auto_out_6_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [31:0] auto_out_6_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_6_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_6_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_6_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [2:0]  auto_out_6_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [1:0]  auto_out_6_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [2:0]  auto_out_6_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_6_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_6_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_6_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [31:0] auto_out_6_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_6_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_5_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_5_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [2:0]  auto_out_5_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [2:0]  auto_out_5_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [2:0]  auto_out_5_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_5_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [16:0] auto_out_5_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [3:0]  auto_out_5_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_5_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_5_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_5_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [2:0]  auto_out_5_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_5_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [31:0] auto_out_5_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_4_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_4_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [2:0]  auto_out_4_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [2:0]  auto_out_4_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [2:0]  auto_out_4_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_4_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [31:0] auto_out_4_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [3:0]  auto_out_4_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [31:0] auto_out_4_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_4_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_4_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_4_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [2:0]  auto_out_4_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [1:0]  auto_out_4_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [2:0]  auto_out_4_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_4_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_4_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_4_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [31:0] auto_out_4_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_4_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_3_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_3_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [2:0]  auto_out_3_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [2:0]  auto_out_3_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [2:0]  auto_out_3_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_3_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [11:0] auto_out_3_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [3:0]  auto_out_3_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [31:0] auto_out_3_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_3_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_3_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_3_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [2:0]  auto_out_3_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [2:0]  auto_out_3_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_3_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [31:0] auto_out_3_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_2_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_2_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [2:0]  auto_out_2_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [2:0]  auto_out_2_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [2:0]  auto_out_2_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_2_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [25:0] auto_out_2_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [3:0]  auto_out_2_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [31:0] auto_out_2_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_2_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_2_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_2_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [2:0]  auto_out_2_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [2:0]  auto_out_2_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_2_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [31:0] auto_out_2_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_1_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_1_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [2:0]  auto_out_1_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [2:0]  auto_out_1_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [2:0]  auto_out_1_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_1_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [27:0] auto_out_1_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [3:0]  auto_out_1_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [31:0] auto_out_1_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_1_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_1_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_1_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [2:0]  auto_out_1_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [2:0]  auto_out_1_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_1_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [31:0] auto_out_1_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_0_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_0_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [2:0]  auto_out_0_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [2:0]  auto_out_0_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [3:0]  auto_out_0_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_0_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [29:0] auto_out_0_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [3:0]  auto_out_0_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output [31:0] auto_out_0_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_0_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  output        auto_out_0_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_0_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [2:0]  auto_out_0_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [1:0]  auto_out_0_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [3:0]  auto_out_0_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_0_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_0_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_0_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input  [31:0] auto_out_0_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
  input         auto_out_0_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5920.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
  reg [9:0] _T_2297; // @[Arbiter.scala 53:30:shc.marmotcaravel.MarmotCaravelConfig.fir@6670.4]
  reg [31:0] _RAND_0;
  wire  _T_2298; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@6671.4]
  wire [1:0] _T_2303; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6676.4]
  wire [1:0] _T_2302; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6675.4]
  wire [3:0] _T_2304; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6677.4]
  wire [1:0] _T_2300; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6673.4]
  wire [2:0] _T_2301; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6674.4]
  wire [6:0] _T_2305; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6678.4]
  reg [6:0] _T_2313; // @[Arbiter.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@6689.4]
  reg [31:0] _RAND_1;
  wire [6:0] _T_2314; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@6690.4]
  wire [6:0] _T_2315; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@6691.4]
  wire [13:0] _T_2316; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6692.4]
  wire [12:0] _T_2317; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6693.4]
  wire [13:0] _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6694.4]
  wire [13:0] _T_2318; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6694.4]
  wire [11:0] _T_2319; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6695.4]
  wire [13:0] _GEN_2; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6696.4]
  wire [13:0] _T_2320; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6696.4]
  wire [9:0] _T_2321; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6697.4]
  wire [13:0] _GEN_3; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6698.4]
  wire [13:0] _T_2322; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6698.4]
  wire [12:0] _T_2324; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6700.4]
  wire [13:0] _GEN_4; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@6701.4]
  wire [13:0] _T_2325; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@6701.4]
  wire [13:0] _GEN_5; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6702.4]
  wire [13:0] _T_2326; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6702.4]
  wire [6:0] _T_2327; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@6703.4]
  wire [6:0] _T_2328; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6704.4]
  wire [6:0] _T_2329; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@6705.4]
  wire [6:0] _T_2330; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6706.4]
  wire  _T_2345; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6724.4]
  wire  _T_2365; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6740.4]
  reg  _T_2488_0; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@6846.4]
  reg [31:0] _RAND_2;
  wire  _T_2514_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
  wire [4:0] _T_2585; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6891.4]
  wire [4:0] _T_2584; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6890.4]
  wire [9:0] _T_2586; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6892.4]
  wire [1:0] _T_2582; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6888.4]
  wire [32:0] _T_2581; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6887.4]
  wire [34:0] _T_2583; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6889.4]
  wire [44:0] _T_2587; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6893.4]
  wire [44:0] _T_2588; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6894.4]
  wire  _T_2346; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6725.4]
  wire  _T_2366; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6741.4]
  reg  _T_2488_1; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@6846.4]
  reg [31:0] _RAND_3;
  wire  _T_2514_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
  wire [4:0] _T_2593; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6899.4]
  wire [3:0] out_1_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6000.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6017.4]
  wire [4:0] _T_2592; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6898.4]
  wire [9:0] _T_2594; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6900.4]
  wire [32:0] _T_2589; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6895.4]
  wire [34:0] _T_2591; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6897.4]
  wire [44:0] _T_2595; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6901.4]
  wire [44:0] _T_2596; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6902.4]
  wire [44:0] _T_2637; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6943.4]
  wire  _T_2347; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6726.4]
  wire  _T_2367; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6742.4]
  reg  _T_2488_2; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@6846.4]
  reg [31:0] _RAND_4;
  wire  _T_2514_2; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
  wire [4:0] _T_2601; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6907.4]
  wire [3:0] out_2_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6000.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6027.4]
  wire [4:0] _T_2600; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6906.4]
  wire [9:0] _T_2602; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6908.4]
  wire [32:0] _T_2597; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6903.4]
  wire [34:0] _T_2599; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6905.4]
  wire [44:0] _T_2603; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6909.4]
  wire [44:0] _T_2604; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6910.4]
  wire [44:0] _T_2638; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6944.4]
  wire  _T_2348; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6727.4]
  wire  _T_2368; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6743.4]
  reg  _T_2488_3; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@6846.4]
  reg [31:0] _RAND_5;
  wire  _T_2514_3; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
  wire [4:0] _T_2609; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6915.4]
  wire [3:0] out_3_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6000.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6037.4]
  wire [4:0] _T_2608; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6914.4]
  wire [9:0] _T_2610; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6916.4]
  wire [32:0] _T_2605; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6911.4]
  wire [34:0] _T_2607; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6913.4]
  wire [44:0] _T_2611; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6917.4]
  wire [44:0] _T_2612; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6918.4]
  wire [44:0] _T_2639; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6945.4]
  wire  _T_2349; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6728.4]
  wire  _T_2369; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6744.4]
  reg  _T_2488_4; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@6846.4]
  reg [31:0] _RAND_6;
  wire  _T_2514_4; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
  wire [4:0] _T_2617; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6923.4]
  wire [3:0] out_4_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6000.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6047.4]
  wire [4:0] _T_2616; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6922.4]
  wire [9:0] _T_2618; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6924.4]
  wire [1:0] _T_2614; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6920.4]
  wire [32:0] _T_2613; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6919.4]
  wire [34:0] _T_2615; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6921.4]
  wire [44:0] _T_2619; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6925.4]
  wire [44:0] _T_2620; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6926.4]
  wire [44:0] _T_2640; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6946.4]
  wire  _T_2350; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6729.4]
  wire  _T_2370; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6745.4]
  reg  _T_2488_5; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@6846.4]
  reg [31:0] _RAND_7;
  wire  _T_2514_5; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
  wire [3:0] out_5_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6000.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6057.4]
  wire [4:0] _T_2624; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6930.4]
  wire [9:0] _T_2626; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6932.4]
  wire [32:0] _T_2621; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6927.4]
  wire [34:0] _T_2623; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6929.4]
  wire [44:0] _T_2627; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6933.4]
  wire [44:0] _T_2628; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6934.4]
  wire [44:0] _T_2641; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6947.4]
  wire  _T_2351; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6730.4]
  wire  _T_2371; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6746.4]
  reg  _T_2488_6; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@6846.4]
  reg [31:0] _RAND_8;
  wire  _T_2514_6; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
  wire [4:0] _T_2633; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6939.4]
  wire [3:0] out_6_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6000.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6067.4]
  wire [4:0] _T_2632; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6938.4]
  wire [9:0] _T_2634; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6940.4]
  wire [1:0] _T_2630; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6936.4]
  wire [32:0] _T_2629; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6935.4]
  wire [34:0] _T_2631; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6937.4]
  wire [44:0] _T_2635; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6941.4]
  wire [44:0] _T_2636; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6942.4]
  wire [44:0] _T_2642; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6948.4]
  wire [31:0] _T_1450; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6072.4]
  wire [32:0] _T_1451; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6073.4]
  wire [32:0] _T_1452; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6074.4]
  wire [32:0] _T_1453; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6075.4]
  wire  _T_1454; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6076.4]
  wire [31:0] _T_1455; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6077.4]
  wire [32:0] _T_1456; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6078.4]
  wire [32:0] _T_1457; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6079.4]
  wire [32:0] _T_1458; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6080.4]
  wire  _T_1459; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6081.4]
  wire [31:0] _T_1460; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6082.4]
  wire [32:0] _T_1461; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6083.4]
  wire [32:0] _T_1462; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6084.4]
  wire [32:0] _T_1463; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6085.4]
  wire  _T_1464; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6086.4]
  wire [31:0] _T_1465; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6087.4]
  wire [32:0] _T_1466; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6088.4]
  wire [32:0] _T_1467; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6089.4]
  wire [32:0] _T_1468; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6090.4]
  wire  _T_1469; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6091.4]
  wire  _T_1470; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@6092.4]
  wire  _T_1471; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@6093.4]
  wire  requestAIO_0_0; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@6094.4]
  wire [31:0] _T_1473; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6096.4]
  wire [32:0] _T_1474; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6097.4]
  wire [32:0] _T_1475; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6098.4]
  wire [32:0] _T_1476; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6099.4]
  wire  requestAIO_0_1; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6100.4]
  wire [31:0] _T_1478; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6102.4]
  wire [32:0] _T_1479; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6103.4]
  wire [32:0] _T_1480; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6104.4]
  wire [32:0] _T_1481; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6105.4]
  wire  requestAIO_0_2; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6106.4]
  wire [32:0] _T_1484; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6109.4]
  wire [32:0] _T_1485; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6110.4]
  wire [32:0] _T_1486; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6111.4]
  wire  requestAIO_0_3; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6112.4]
  wire [31:0] _T_1488; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6114.4]
  wire [32:0] _T_1489; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6115.4]
  wire [32:0] _T_1490; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6116.4]
  wire [32:0] _T_1491; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6117.4]
  wire  _T_1492; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6118.4]
  wire [31:0] _T_1493; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6119.4]
  wire [32:0] _T_1494; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6120.4]
  wire [32:0] _T_1495; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6121.4]
  wire [32:0] _T_1496; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6122.4]
  wire  _T_1497; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6123.4]
  wire  requestAIO_0_4; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@6124.4]
  wire [31:0] _T_1499; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6126.4]
  wire [32:0] _T_1500; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6127.4]
  wire [32:0] _T_1501; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6128.4]
  wire [32:0] _T_1502; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6129.4]
  wire  requestAIO_0_5; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6130.4]
  wire [31:0] _T_1504; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6132.4]
  wire [32:0] _T_1505; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6133.4]
  wire [32:0] _T_1506; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6134.4]
  wire [32:0] _T_1507; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6135.4]
  wire  requestAIO_0_6; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6136.4]
  wire [26:0] _T_1705; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6364.4]
  wire [11:0] _T_1706; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6365.4]
  wire [11:0] _T_1707; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6366.4]
  wire [9:0] _T_1708; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6367.4]
  wire  _T_1709; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6368.4]
  wire [9:0] beatsDO_0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6369.4]
  wire [20:0] _T_1711; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6371.4]
  wire [5:0] _T_1712; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6372.4]
  wire [5:0] _T_1713; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6373.4]
  wire [3:0] _T_1714; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6374.4]
  wire  _T_1715; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6375.4]
  wire [3:0] beatsDO_1; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6376.4]
  wire [20:0] _T_1717; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6378.4]
  wire [5:0] _T_1718; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6379.4]
  wire [5:0] _T_1719; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6380.4]
  wire [3:0] _T_1720; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6381.4]
  wire  _T_1721; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6382.4]
  wire [3:0] beatsDO_2; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6383.4]
  wire [20:0] _T_1723; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6385.4]
  wire [5:0] _T_1724; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6386.4]
  wire [5:0] _T_1725; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6387.4]
  wire [3:0] _T_1726; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6388.4]
  wire  _T_1727; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6389.4]
  wire [3:0] beatsDO_3; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6390.4]
  wire [20:0] _T_1729; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6392.4]
  wire [5:0] _T_1730; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6393.4]
  wire [5:0] _T_1731; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6394.4]
  wire [3:0] _T_1732; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6395.4]
  wire  _T_1733; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6396.4]
  wire [3:0] beatsDO_4; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6397.4]
  wire [20:0] _T_1735; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6399.4]
  wire [5:0] _T_1736; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6400.4]
  wire [5:0] _T_1737; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6401.4]
  wire [3:0] beatsDO_5; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6402.4]
  wire [20:0] _T_1741; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6406.4]
  wire [5:0] _T_1742; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6407.4]
  wire [5:0] _T_1743; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6408.4]
  wire [3:0] _T_1744; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6409.4]
  wire  _T_1745; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6410.4]
  wire [3:0] beatsDO_6; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6411.4]
  wire  _T_1821; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6442.4]
  wire  _T_1822; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6443.4]
  wire  _T_1823; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6444.4]
  wire  _T_1824; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6445.4]
  wire  _T_1825; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6446.4]
  wire  _T_1826; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6447.4]
  wire  _T_1827; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6448.4]
  wire  _T_1828; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6449.4]
  wire  _T_1829; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6450.4]
  wire  _T_1830; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6451.4]
  wire  _T_1831; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6452.4]
  wire  _T_1832; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6453.4]
  wire  _T_2299; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6672.4]
  wire  _T_2307; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6680.4]
  wire  _T_2309; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@6682.4]
  wire  _T_2310; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@6683.4]
  wire  _T_2331; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@6707.4]
  wire  _T_2332; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6708.4]
  wire [6:0] _T_2333; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@6710.6]
  wire [7:0] _GEN_6; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6711.6]
  wire [7:0] _T_2334; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6711.6]
  wire [6:0] _T_2335; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@6712.6]
  wire [6:0] _T_2336; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6713.6]
  wire [8:0] _GEN_7; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6714.6]
  wire [8:0] _T_2337; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6714.6]
  wire [6:0] _T_2338; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@6715.6]
  wire [6:0] _T_2339; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6716.6]
  wire [10:0] _GEN_8; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6717.6]
  wire [10:0] _T_2340; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6717.6]
  wire [6:0] _T_2341; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@6718.6]
  wire [6:0] _T_2342; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6719.6]
  wire  _T_2386; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6757.4]
  wire  _T_2387; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6758.4]
  wire  _T_2388; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6759.4]
  wire  _T_2389; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6760.4]
  wire  _T_2390; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6761.4]
  wire  _T_2391; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6762.4]
  wire  _T_2393; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6764.4]
  wire  _T_2396; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6767.4]
  wire  _T_2397; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6768.4]
  wire  _T_2398; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6769.4]
  wire  _T_2399; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6770.4]
  wire  _T_2400; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6771.4]
  wire  _T_2401; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6772.4]
  wire  _T_2402; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6773.4]
  wire  _T_2403; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6774.4]
  wire  _T_2404; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6775.4]
  wire  _T_2405; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6776.4]
  wire  _T_2406; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6777.4]
  wire  _T_2407; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6778.4]
  wire  _T_2408; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6779.4]
  wire  _T_2409; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6780.4]
  wire  _T_2410; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6781.4]
  wire  _T_2411; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6782.4]
  wire  _T_2412; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6783.4]
  wire  _T_2414; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6785.4]
  wire  _T_2415; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6786.4]
  wire  _T_2416; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6787.4]
  wire  _T_2417; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6788.4]
  wire  _T_2418; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6789.4]
  wire  _T_2420; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6791.4]
  wire  _T_2421; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6792.4]
  wire  _T_2422; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6797.4]
  wire  _T_2423; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6798.4]
  wire  _T_2424; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6799.4]
  wire  _T_2425; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6800.4]
  wire  _T_2426; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6801.4]
  wire  _T_2427; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6802.4]
  wire  _T_2428; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@6803.4]
  wire  _T_2435; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6810.4]
  wire  _T_2437; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6812.4]
  wire  _T_2438; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6813.4]
  wire [9:0] _T_2439; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6818.4]
  wire [3:0] _T_2440; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6819.4]
  wire [3:0] _T_2441; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6820.4]
  wire [3:0] _T_2442; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6821.4]
  wire [3:0] _T_2443; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6822.4]
  wire [3:0] _T_2444; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6823.4]
  wire [3:0] _T_2445; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6824.4]
  wire [9:0] _GEN_9; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6825.4]
  wire [9:0] _T_2446; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6825.4]
  wire [9:0] _GEN_10; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6826.4]
  wire [9:0] _T_2447; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6826.4]
  wire [9:0] _GEN_11; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6827.4]
  wire [9:0] _T_2448; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6827.4]
  wire [9:0] _GEN_12; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6828.4]
  wire [9:0] _T_2449; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6828.4]
  wire [9:0] _GEN_13; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6829.4]
  wire [9:0] _T_2450; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6829.4]
  wire [9:0] _GEN_14; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6830.4]
  wire [9:0] _T_2451; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6830.4]
  wire  _T_2564; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6870.4]
  wire  _T_2565; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6871.4]
  wire  _T_2571; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6877.4]
  wire  _T_2566; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6872.4]
  wire  _T_2572; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6878.4]
  wire  _T_2567; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6873.4]
  wire  _T_2573; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6879.4]
  wire  _T_2568; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6874.4]
  wire  _T_2574; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6880.4]
  wire  _T_2569; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6875.4]
  wire  _T_2575; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6881.4]
  wire  _T_2570; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6876.4]
  wire  _T_2576; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6882.4]
  wire  in_0_d_valid; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6885.4]
  wire  _T_2452; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@6831.4]
  wire [9:0] _GEN_15; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6832.4]
  wire [10:0] _T_2453; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6832.4]
  wire [10:0] _T_2454; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6833.4]
  wire [9:0] _T_2455; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6834.4]
  wire  _T_2532_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
  wire  _T_2532_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
  wire  _T_2532_2; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
  wire  _T_2532_3; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
  wire  _T_2532_4; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
  wire  _T_2532_5; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
  wire  _T_2532_6; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
  TLMonitor_2 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@5927.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
  );
  assign _T_2298 = _T_2297 == 10'h0; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@6671.4]
  assign _T_2303 = {auto_out_6_d_valid,auto_out_5_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6676.4]
  assign _T_2302 = {auto_out_4_d_valid,auto_out_3_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6675.4]
  assign _T_2304 = {_T_2303,_T_2302}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6677.4]
  assign _T_2300 = {auto_out_2_d_valid,auto_out_1_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6673.4]
  assign _T_2301 = {_T_2300,auto_out_0_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6674.4]
  assign _T_2305 = {_T_2304,_T_2301}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6678.4]
  assign _T_2314 = ~ _T_2313; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@6690.4]
  assign _T_2315 = _T_2305 & _T_2314; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@6691.4]
  assign _T_2316 = {_T_2315,_T_2305}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6692.4]
  assign _T_2317 = _T_2316[13:1]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6693.4]
  assign _GEN_1 = {{1'd0}, _T_2317}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6694.4]
  assign _T_2318 = _T_2316 | _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6694.4]
  assign _T_2319 = _T_2318[13:2]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6695.4]
  assign _GEN_2 = {{2'd0}, _T_2319}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6696.4]
  assign _T_2320 = _T_2318 | _GEN_2; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6696.4]
  assign _T_2321 = _T_2320[13:4]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6697.4]
  assign _GEN_3 = {{4'd0}, _T_2321}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6698.4]
  assign _T_2322 = _T_2320 | _GEN_3; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6698.4]
  assign _T_2324 = _T_2322[13:1]; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6700.4]
  assign _GEN_4 = {{7'd0}, _T_2313}; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@6701.4]
  assign _T_2325 = _GEN_4 << 7; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@6701.4]
  assign _GEN_5 = {{1'd0}, _T_2324}; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6702.4]
  assign _T_2326 = _GEN_5 | _T_2325; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@6702.4]
  assign _T_2327 = _T_2326[13:7]; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@6703.4]
  assign _T_2328 = _T_2326[6:0]; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6704.4]
  assign _T_2329 = _T_2327 & _T_2328; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@6705.4]
  assign _T_2330 = ~ _T_2329; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6706.4]
  assign _T_2345 = _T_2330[0]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6724.4]
  assign _T_2365 = _T_2345 & auto_out_0_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6740.4]
  assign _T_2514_0 = _T_2298 ? _T_2365 : _T_2488_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
  assign _T_2585 = {auto_out_0_d_bits_opcode,auto_out_0_d_bits_param}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6891.4]
  assign _T_2584 = {auto_out_0_d_bits_size,auto_out_0_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6890.4]
  assign _T_2586 = {_T_2585,_T_2584}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6892.4]
  assign _T_2582 = {auto_out_0_d_bits_sink,auto_out_0_d_bits_denied}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6888.4]
  assign _T_2581 = {auto_out_0_d_bits_data,auto_out_0_d_bits_corrupt}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6887.4]
  assign _T_2583 = {_T_2582,_T_2581}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6889.4]
  assign _T_2587 = {_T_2586,_T_2583}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6893.4]
  assign _T_2588 = _T_2514_0 ? _T_2587 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6894.4]
  assign _T_2346 = _T_2330[1]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6725.4]
  assign _T_2366 = _T_2346 & auto_out_1_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6741.4]
  assign _T_2514_1 = _T_2298 ? _T_2366 : _T_2488_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
  assign _T_2593 = {auto_out_1_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6899.4]
  assign out_1_d_bits_size = {{1'd0}, auto_out_1_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6000.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6017.4]
  assign _T_2592 = {out_1_d_bits_size,auto_out_1_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6898.4]
  assign _T_2594 = {_T_2593,_T_2592}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6900.4]
  assign _T_2589 = {auto_out_1_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6895.4]
  assign _T_2591 = {2'h0,_T_2589}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6897.4]
  assign _T_2595 = {_T_2594,_T_2591}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6901.4]
  assign _T_2596 = _T_2514_1 ? _T_2595 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6902.4]
  assign _T_2637 = _T_2588 | _T_2596; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6943.4]
  assign _T_2347 = _T_2330[2]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6726.4]
  assign _T_2367 = _T_2347 & auto_out_2_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6742.4]
  assign _T_2514_2 = _T_2298 ? _T_2367 : _T_2488_2; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
  assign _T_2601 = {auto_out_2_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6907.4]
  assign out_2_d_bits_size = {{1'd0}, auto_out_2_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6000.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6027.4]
  assign _T_2600 = {out_2_d_bits_size,auto_out_2_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6906.4]
  assign _T_2602 = {_T_2601,_T_2600}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6908.4]
  assign _T_2597 = {auto_out_2_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6903.4]
  assign _T_2599 = {2'h0,_T_2597}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6905.4]
  assign _T_2603 = {_T_2602,_T_2599}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6909.4]
  assign _T_2604 = _T_2514_2 ? _T_2603 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6910.4]
  assign _T_2638 = _T_2637 | _T_2604; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6944.4]
  assign _T_2348 = _T_2330[3]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6727.4]
  assign _T_2368 = _T_2348 & auto_out_3_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6743.4]
  assign _T_2514_3 = _T_2298 ? _T_2368 : _T_2488_3; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
  assign _T_2609 = {auto_out_3_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6915.4]
  assign out_3_d_bits_size = {{1'd0}, auto_out_3_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6000.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6037.4]
  assign _T_2608 = {out_3_d_bits_size,auto_out_3_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6914.4]
  assign _T_2610 = {_T_2609,_T_2608}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6916.4]
  assign _T_2605 = {auto_out_3_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6911.4]
  assign _T_2607 = {2'h0,_T_2605}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6913.4]
  assign _T_2611 = {_T_2610,_T_2607}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6917.4]
  assign _T_2612 = _T_2514_3 ? _T_2611 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6918.4]
  assign _T_2639 = _T_2638 | _T_2612; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6945.4]
  assign _T_2349 = _T_2330[4]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6728.4]
  assign _T_2369 = _T_2349 & auto_out_4_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6744.4]
  assign _T_2514_4 = _T_2298 ? _T_2369 : _T_2488_4; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
  assign _T_2617 = {auto_out_4_d_bits_opcode,auto_out_4_d_bits_param}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6923.4]
  assign out_4_d_bits_size = {{1'd0}, auto_out_4_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6000.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6047.4]
  assign _T_2616 = {out_4_d_bits_size,auto_out_4_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6922.4]
  assign _T_2618 = {_T_2617,_T_2616}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6924.4]
  assign _T_2614 = {auto_out_4_d_bits_sink,auto_out_4_d_bits_denied}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6920.4]
  assign _T_2613 = {auto_out_4_d_bits_data,auto_out_4_d_bits_corrupt}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6919.4]
  assign _T_2615 = {_T_2614,_T_2613}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6921.4]
  assign _T_2619 = {_T_2618,_T_2615}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6925.4]
  assign _T_2620 = _T_2514_4 ? _T_2619 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6926.4]
  assign _T_2640 = _T_2639 | _T_2620; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6946.4]
  assign _T_2350 = _T_2330[5]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6729.4]
  assign _T_2370 = _T_2350 & auto_out_5_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6745.4]
  assign _T_2514_5 = _T_2298 ? _T_2370 : _T_2488_5; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
  assign out_5_d_bits_size = {{1'd0}, auto_out_5_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6000.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6057.4]
  assign _T_2624 = {out_5_d_bits_size,auto_out_5_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6930.4]
  assign _T_2626 = {5'h4,_T_2624}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6932.4]
  assign _T_2621 = {auto_out_5_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6927.4]
  assign _T_2623 = {2'h0,_T_2621}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6929.4]
  assign _T_2627 = {_T_2626,_T_2623}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6933.4]
  assign _T_2628 = _T_2514_5 ? _T_2627 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6934.4]
  assign _T_2641 = _T_2640 | _T_2628; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6947.4]
  assign _T_2351 = _T_2330[6]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6730.4]
  assign _T_2371 = _T_2351 & auto_out_6_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@6746.4]
  assign _T_2514_6 = _T_2298 ? _T_2371 : _T_2488_6; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@6847.4]
  assign _T_2633 = {auto_out_6_d_bits_opcode,auto_out_6_d_bits_param}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6939.4]
  assign out_6_d_bits_size = {{1'd0}, auto_out_6_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6000.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6067.4]
  assign _T_2632 = {out_6_d_bits_size,auto_out_6_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6938.4]
  assign _T_2634 = {_T_2633,_T_2632}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6940.4]
  assign _T_2630 = {auto_out_6_d_bits_sink,auto_out_6_d_bits_denied}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6936.4]
  assign _T_2629 = {auto_out_6_d_bits_data,auto_out_6_d_bits_corrupt}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6935.4]
  assign _T_2631 = {_T_2630,_T_2629}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6937.4]
  assign _T_2635 = {_T_2634,_T_2631}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6941.4]
  assign _T_2636 = _T_2514_6 ? _T_2635 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6942.4]
  assign _T_2642 = _T_2641 | _T_2636; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6948.4]
  assign _T_1450 = auto_in_a_bits_address ^ 32'h1000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6072.4]
  assign _T_1451 = {1'b0,$signed(_T_1450)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6073.4]
  assign _T_1452 = $signed(_T_1451) & $signed(33'sheff9d000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6074.4]
  assign _T_1453 = $signed(_T_1452); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6075.4]
  assign _T_1454 = $signed(_T_1453) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6076.4]
  assign _T_1455 = auto_in_a_bits_address ^ 32'h10010000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6077.4]
  assign _T_1456 = {1'b0,$signed(_T_1455)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6078.4]
  assign _T_1457 = $signed(_T_1456) & $signed(33'shfff9c000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6079.4]
  assign _T_1458 = $signed(_T_1457); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6080.4]
  assign _T_1459 = $signed(_T_1458) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6081.4]
  assign _T_1460 = auto_in_a_bits_address ^ 32'h10004000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6082.4]
  assign _T_1461 = {1'b0,$signed(_T_1460)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6083.4]
  assign _T_1462 = $signed(_T_1461) & $signed(33'shfff8d000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6084.4]
  assign _T_1463 = $signed(_T_1462); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6085.4]
  assign _T_1464 = $signed(_T_1463) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6086.4]
  assign _T_1465 = auto_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6087.4]
  assign _T_1466 = {1'b0,$signed(_T_1465)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6088.4]
  assign _T_1467 = $signed(_T_1466) & $signed(33'she0000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6089.4]
  assign _T_1468 = $signed(_T_1467); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6090.4]
  assign _T_1469 = $signed(_T_1468) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6091.4]
  assign _T_1470 = _T_1454 | _T_1459; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@6092.4]
  assign _T_1471 = _T_1470 | _T_1464; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@6093.4]
  assign requestAIO_0_0 = _T_1471 | _T_1469; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@6094.4]
  assign _T_1473 = auto_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6096.4]
  assign _T_1474 = {1'b0,$signed(_T_1473)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6097.4]
  assign _T_1475 = $signed(_T_1474) & $signed(33'shfc000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6098.4]
  assign _T_1476 = $signed(_T_1475); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6099.4]
  assign requestAIO_0_1 = $signed(_T_1476) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6100.4]
  assign _T_1478 = auto_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6102.4]
  assign _T_1479 = {1'b0,$signed(_T_1478)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6103.4]
  assign _T_1480 = $signed(_T_1479) & $signed(33'shfff90000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6104.4]
  assign _T_1481 = $signed(_T_1480); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6105.4]
  assign requestAIO_0_2 = $signed(_T_1481) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6106.4]
  assign _T_1484 = {1'b0,$signed(auto_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6109.4]
  assign _T_1485 = $signed(_T_1484) & $signed(33'shfff9d000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6110.4]
  assign _T_1486 = $signed(_T_1485); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6111.4]
  assign requestAIO_0_3 = $signed(_T_1486) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6112.4]
  assign _T_1488 = auto_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6114.4]
  assign _T_1489 = {1'b0,$signed(_T_1488)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6115.4]
  assign _T_1490 = $signed(_T_1489) & $signed(33'shfff9c000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6116.4]
  assign _T_1491 = $signed(_T_1490); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6117.4]
  assign _T_1492 = $signed(_T_1491) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6118.4]
  assign _T_1493 = auto_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6119.4]
  assign _T_1494 = {1'b0,$signed(_T_1493)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6120.4]
  assign _T_1495 = $signed(_T_1494) & $signed(33'shfff9c000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6121.4]
  assign _T_1496 = $signed(_T_1495); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6122.4]
  assign _T_1497 = $signed(_T_1496) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6123.4]
  assign requestAIO_0_4 = _T_1492 | _T_1497; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@6124.4]
  assign _T_1499 = auto_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6126.4]
  assign _T_1500 = {1'b0,$signed(_T_1499)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6127.4]
  assign _T_1501 = $signed(_T_1500) & $signed(33'shfff9c000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6128.4]
  assign _T_1502 = $signed(_T_1501); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6129.4]
  assign requestAIO_0_5 = $signed(_T_1502) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6130.4]
  assign _T_1504 = auto_in_a_bits_address ^ 32'h10000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6132.4]
  assign _T_1505 = {1'b0,$signed(_T_1504)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@6133.4]
  assign _T_1506 = $signed(_T_1505) & $signed(33'shfff9d000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6134.4]
  assign _T_1507 = $signed(_T_1506); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6135.4]
  assign requestAIO_0_6 = $signed(_T_1507) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@6136.4]
  assign _T_1705 = 27'hfff << auto_out_0_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6364.4]
  assign _T_1706 = _T_1705[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6365.4]
  assign _T_1707 = ~ _T_1706; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6366.4]
  assign _T_1708 = _T_1707[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6367.4]
  assign _T_1709 = auto_out_0_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6368.4]
  assign beatsDO_0 = _T_1709 ? _T_1708 : 10'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6369.4]
  assign _T_1711 = 21'h3f << out_1_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6371.4]
  assign _T_1712 = _T_1711[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6372.4]
  assign _T_1713 = ~ _T_1712; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6373.4]
  assign _T_1714 = _T_1713[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6374.4]
  assign _T_1715 = auto_out_1_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6375.4]
  assign beatsDO_1 = _T_1715 ? _T_1714 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6376.4]
  assign _T_1717 = 21'h3f << out_2_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6378.4]
  assign _T_1718 = _T_1717[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6379.4]
  assign _T_1719 = ~ _T_1718; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6380.4]
  assign _T_1720 = _T_1719[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6381.4]
  assign _T_1721 = auto_out_2_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6382.4]
  assign beatsDO_2 = _T_1721 ? _T_1720 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6383.4]
  assign _T_1723 = 21'h3f << out_3_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6385.4]
  assign _T_1724 = _T_1723[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6386.4]
  assign _T_1725 = ~ _T_1724; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6387.4]
  assign _T_1726 = _T_1725[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6388.4]
  assign _T_1727 = auto_out_3_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6389.4]
  assign beatsDO_3 = _T_1727 ? _T_1726 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6390.4]
  assign _T_1729 = 21'h3f << out_4_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6392.4]
  assign _T_1730 = _T_1729[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6393.4]
  assign _T_1731 = ~ _T_1730; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6394.4]
  assign _T_1732 = _T_1731[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6395.4]
  assign _T_1733 = auto_out_4_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6396.4]
  assign beatsDO_4 = _T_1733 ? _T_1732 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6397.4]
  assign _T_1735 = 21'h3f << out_5_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6399.4]
  assign _T_1736 = _T_1735[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6400.4]
  assign _T_1737 = ~ _T_1736; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6401.4]
  assign beatsDO_5 = _T_1737[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6402.4]
  assign _T_1741 = 21'h3f << out_6_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6406.4]
  assign _T_1742 = _T_1741[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@6407.4]
  assign _T_1743 = ~ _T_1742; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@6408.4]
  assign _T_1744 = _T_1743[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6409.4]
  assign _T_1745 = auto_out_6_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6410.4]
  assign beatsDO_6 = _T_1745 ? _T_1744 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6411.4]
  assign _T_1821 = requestAIO_0_0 ? auto_out_0_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6442.4]
  assign _T_1822 = requestAIO_0_1 ? auto_out_1_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6443.4]
  assign _T_1823 = requestAIO_0_2 ? auto_out_2_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6444.4]
  assign _T_1824 = requestAIO_0_3 ? auto_out_3_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6445.4]
  assign _T_1825 = requestAIO_0_4 ? auto_out_4_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6446.4]
  assign _T_1826 = requestAIO_0_5 ? auto_out_5_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6447.4]
  assign _T_1827 = requestAIO_0_6 ? auto_out_6_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6448.4]
  assign _T_1828 = _T_1821 | _T_1822; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6449.4]
  assign _T_1829 = _T_1828 | _T_1823; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6450.4]
  assign _T_1830 = _T_1829 | _T_1824; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6451.4]
  assign _T_1831 = _T_1830 | _T_1825; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6452.4]
  assign _T_1832 = _T_1831 | _T_1826; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6453.4]
  assign _T_2299 = _T_2298 & auto_in_d_ready; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6672.4]
  assign _T_2307 = _T_2305 == _T_2305; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@6680.4]
  assign _T_2309 = _T_2307 | reset; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@6682.4]
  assign _T_2310 = _T_2309 == 1'h0; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@6683.4]
  assign _T_2331 = _T_2305 != 7'h0; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@6707.4]
  assign _T_2332 = _T_2299 & _T_2331; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@6708.4]
  assign _T_2333 = _T_2330 & _T_2305; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@6710.6]
  assign _GEN_6 = {{1'd0}, _T_2333}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6711.6]
  assign _T_2334 = _GEN_6 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6711.6]
  assign _T_2335 = _T_2334[6:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@6712.6]
  assign _T_2336 = _T_2333 | _T_2335; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6713.6]
  assign _GEN_7 = {{2'd0}, _T_2336}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6714.6]
  assign _T_2337 = _GEN_7 << 2; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6714.6]
  assign _T_2338 = _T_2337[6:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@6715.6]
  assign _T_2339 = _T_2336 | _T_2338; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6716.6]
  assign _GEN_8 = {{4'd0}, _T_2339}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6717.6]
  assign _T_2340 = _GEN_8 << 4; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@6717.6]
  assign _T_2341 = _T_2340[6:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@6718.6]
  assign _T_2342 = _T_2339 | _T_2341; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@6719.6]
  assign _T_2386 = _T_2365 | _T_2366; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6757.4]
  assign _T_2387 = _T_2386 | _T_2367; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6758.4]
  assign _T_2388 = _T_2387 | _T_2368; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6759.4]
  assign _T_2389 = _T_2388 | _T_2369; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6760.4]
  assign _T_2390 = _T_2389 | _T_2370; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6761.4]
  assign _T_2391 = _T_2390 | _T_2371; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6762.4]
  assign _T_2393 = _T_2365 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6764.4]
  assign _T_2396 = _T_2366 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6767.4]
  assign _T_2397 = _T_2393 | _T_2396; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6768.4]
  assign _T_2398 = _T_2386 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6769.4]
  assign _T_2399 = _T_2367 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6770.4]
  assign _T_2400 = _T_2398 | _T_2399; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6771.4]
  assign _T_2401 = _T_2387 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6772.4]
  assign _T_2402 = _T_2368 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6773.4]
  assign _T_2403 = _T_2401 | _T_2402; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6774.4]
  assign _T_2404 = _T_2388 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6775.4]
  assign _T_2405 = _T_2369 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6776.4]
  assign _T_2406 = _T_2404 | _T_2405; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6777.4]
  assign _T_2407 = _T_2389 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6778.4]
  assign _T_2408 = _T_2370 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6779.4]
  assign _T_2409 = _T_2407 | _T_2408; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6780.4]
  assign _T_2410 = _T_2390 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@6781.4]
  assign _T_2411 = _T_2371 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@6782.4]
  assign _T_2412 = _T_2410 | _T_2411; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@6783.4]
  assign _T_2414 = _T_2397 & _T_2400; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6785.4]
  assign _T_2415 = _T_2414 & _T_2403; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6786.4]
  assign _T_2416 = _T_2415 & _T_2406; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6787.4]
  assign _T_2417 = _T_2416 & _T_2409; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6788.4]
  assign _T_2418 = _T_2417 & _T_2412; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@6789.4]
  assign _T_2420 = _T_2418 | reset; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6791.4]
  assign _T_2421 = _T_2420 == 1'h0; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6792.4]
  assign _T_2422 = auto_out_0_d_valid | auto_out_1_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6797.4]
  assign _T_2423 = _T_2422 | auto_out_2_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6798.4]
  assign _T_2424 = _T_2423 | auto_out_3_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6799.4]
  assign _T_2425 = _T_2424 | auto_out_4_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6800.4]
  assign _T_2426 = _T_2425 | auto_out_5_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6801.4]
  assign _T_2427 = _T_2426 | auto_out_6_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@6802.4]
  assign _T_2428 = _T_2427 == 1'h0; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@6803.4]
  assign _T_2435 = _T_2428 | _T_2391; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@6810.4]
  assign _T_2437 = _T_2435 | reset; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6812.4]
  assign _T_2438 = _T_2437 == 1'h0; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6813.4]
  assign _T_2439 = _T_2365 ? beatsDO_0 : 10'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6818.4]
  assign _T_2440 = _T_2366 ? beatsDO_1 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6819.4]
  assign _T_2441 = _T_2367 ? beatsDO_2 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6820.4]
  assign _T_2442 = _T_2368 ? beatsDO_3 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6821.4]
  assign _T_2443 = _T_2369 ? beatsDO_4 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6822.4]
  assign _T_2444 = _T_2370 ? beatsDO_5 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6823.4]
  assign _T_2445 = _T_2371 ? beatsDO_6 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@6824.4]
  assign _GEN_9 = {{6'd0}, _T_2440}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6825.4]
  assign _T_2446 = _T_2439 | _GEN_9; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6825.4]
  assign _GEN_10 = {{6'd0}, _T_2441}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6826.4]
  assign _T_2447 = _T_2446 | _GEN_10; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6826.4]
  assign _GEN_11 = {{6'd0}, _T_2442}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6827.4]
  assign _T_2448 = _T_2447 | _GEN_11; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6827.4]
  assign _GEN_12 = {{6'd0}, _T_2443}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6828.4]
  assign _T_2449 = _T_2448 | _GEN_12; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6828.4]
  assign _GEN_13 = {{6'd0}, _T_2444}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6829.4]
  assign _T_2450 = _T_2449 | _GEN_13; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6829.4]
  assign _GEN_14 = {{6'd0}, _T_2445}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6830.4]
  assign _T_2451 = _T_2450 | _GEN_14; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@6830.4]
  assign _T_2564 = _T_2488_0 ? auto_out_0_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6870.4]
  assign _T_2565 = _T_2488_1 ? auto_out_1_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6871.4]
  assign _T_2571 = _T_2564 | _T_2565; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6877.4]
  assign _T_2566 = _T_2488_2 ? auto_out_2_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6872.4]
  assign _T_2572 = _T_2571 | _T_2566; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6878.4]
  assign _T_2567 = _T_2488_3 ? auto_out_3_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6873.4]
  assign _T_2573 = _T_2572 | _T_2567; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6879.4]
  assign _T_2568 = _T_2488_4 ? auto_out_4_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6874.4]
  assign _T_2574 = _T_2573 | _T_2568; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6880.4]
  assign _T_2569 = _T_2488_5 ? auto_out_5_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6875.4]
  assign _T_2575 = _T_2574 | _T_2569; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6881.4]
  assign _T_2570 = _T_2488_6 ? auto_out_6_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6876.4]
  assign _T_2576 = _T_2575 | _T_2570; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@6882.4]
  assign in_0_d_valid = _T_2298 ? _T_2427 : _T_2576; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6885.4]
  assign _T_2452 = auto_in_d_ready & in_0_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@6831.4]
  assign _GEN_15 = {{9'd0}, _T_2452}; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6832.4]
  assign _T_2453 = _T_2297 - _GEN_15; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6832.4]
  assign _T_2454 = $unsigned(_T_2453); // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6833.4]
  assign _T_2455 = _T_2454[9:0]; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@6834.4]
  assign _T_2532_0 = _T_2298 ? _T_2345 : _T_2488_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
  assign _T_2532_1 = _T_2298 ? _T_2346 : _T_2488_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
  assign _T_2532_2 = _T_2298 ? _T_2347 : _T_2488_2; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
  assign _T_2532_3 = _T_2298 ? _T_2348 : _T_2488_3; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
  assign _T_2532_4 = _T_2298 ? _T_2349 : _T_2488_4; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
  assign _T_2532_5 = _T_2298 ? _T_2350 : _T_2488_5; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
  assign _T_2532_6 = _T_2298 ? _T_2351 : _T_2488_6; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@6849.4]
  assign auto_in_a_ready = _T_1832 | _T_1827; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@5985.4]
  assign auto_in_d_valid = _T_2298 ? _T_2427 : _T_2576; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@5985.4]
  assign auto_in_d_bits_opcode = _T_2642[44:42]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@5985.4]
  assign auto_in_d_bits_param = _T_2642[41:40]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@5985.4]
  assign auto_in_d_bits_size = _T_2642[39:36]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@5985.4]
  assign auto_in_d_bits_source = _T_2642[35]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@5985.4]
  assign auto_in_d_bits_sink = _T_2642[34]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@5985.4]
  assign auto_in_d_bits_denied = _T_2642[33]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@5985.4]
  assign auto_in_d_bits_data = _T_2642[32:1]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@5985.4]
  assign auto_in_d_bits_corrupt = _T_2642[0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@5985.4]
  assign auto_out_6_a_valid = auto_in_a_valid & requestAIO_0_6; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5984.4]
  assign auto_out_6_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5984.4]
  assign auto_out_6_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5984.4]
  assign auto_out_6_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5984.4]
  assign auto_out_6_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5984.4]
  assign auto_out_6_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5984.4]
  assign auto_out_6_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5984.4]
  assign auto_out_6_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5984.4]
  assign auto_out_6_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5984.4]
  assign auto_out_6_d_ready = auto_in_d_ready & _T_2532_6; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5984.4]
  assign auto_out_5_a_valid = auto_in_a_valid & requestAIO_0_5; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5983.4]
  assign auto_out_5_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5983.4]
  assign auto_out_5_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5983.4]
  assign auto_out_5_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5983.4]
  assign auto_out_5_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5983.4]
  assign auto_out_5_a_bits_address = auto_in_a_bits_address[16:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5983.4]
  assign auto_out_5_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5983.4]
  assign auto_out_5_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5983.4]
  assign auto_out_5_d_ready = auto_in_d_ready & _T_2532_5; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5983.4]
  assign auto_out_4_a_valid = auto_in_a_valid & requestAIO_0_4; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5982.4]
  assign auto_out_4_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5982.4]
  assign auto_out_4_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5982.4]
  assign auto_out_4_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5982.4]
  assign auto_out_4_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5982.4]
  assign auto_out_4_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5982.4]
  assign auto_out_4_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5982.4]
  assign auto_out_4_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5982.4]
  assign auto_out_4_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5982.4]
  assign auto_out_4_d_ready = auto_in_d_ready & _T_2532_4; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5982.4]
  assign auto_out_3_a_valid = auto_in_a_valid & requestAIO_0_3; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5981.4]
  assign auto_out_3_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5981.4]
  assign auto_out_3_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5981.4]
  assign auto_out_3_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5981.4]
  assign auto_out_3_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5981.4]
  assign auto_out_3_a_bits_address = auto_in_a_bits_address[11:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5981.4]
  assign auto_out_3_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5981.4]
  assign auto_out_3_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5981.4]
  assign auto_out_3_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5981.4]
  assign auto_out_3_d_ready = auto_in_d_ready & _T_2532_3; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5981.4]
  assign auto_out_2_a_valid = auto_in_a_valid & requestAIO_0_2; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5980.4]
  assign auto_out_2_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5980.4]
  assign auto_out_2_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5980.4]
  assign auto_out_2_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5980.4]
  assign auto_out_2_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5980.4]
  assign auto_out_2_a_bits_address = auto_in_a_bits_address[25:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5980.4]
  assign auto_out_2_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5980.4]
  assign auto_out_2_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5980.4]
  assign auto_out_2_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5980.4]
  assign auto_out_2_d_ready = auto_in_d_ready & _T_2532_2; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5980.4]
  assign auto_out_1_a_valid = auto_in_a_valid & requestAIO_0_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5979.4]
  assign auto_out_1_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5979.4]
  assign auto_out_1_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5979.4]
  assign auto_out_1_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5979.4]
  assign auto_out_1_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5979.4]
  assign auto_out_1_a_bits_address = auto_in_a_bits_address[27:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5979.4]
  assign auto_out_1_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5979.4]
  assign auto_out_1_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5979.4]
  assign auto_out_1_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5979.4]
  assign auto_out_1_d_ready = auto_in_d_ready & _T_2532_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5979.4]
  assign auto_out_0_a_valid = auto_in_a_valid & requestAIO_0_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5978.4]
  assign auto_out_0_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5978.4]
  assign auto_out_0_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5978.4]
  assign auto_out_0_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5978.4]
  assign auto_out_0_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5978.4]
  assign auto_out_0_a_bits_address = auto_in_a_bits_address[29:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5978.4]
  assign auto_out_0_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5978.4]
  assign auto_out_0_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5978.4]
  assign auto_out_0_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5978.4]
  assign auto_out_0_d_ready = auto_in_d_ready & _T_2532_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@5978.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5929.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@5930.4]
  assign TLMonitor_io_in_a_ready = _T_1832 | _T_1827; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
  assign TLMonitor_io_in_d_valid = _T_2298 ? _T_2427 : _T_2576; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
  assign TLMonitor_io_in_d_bits_opcode = _T_2642[44:42]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
  assign TLMonitor_io_in_d_bits_param = _T_2642[41:40]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
  assign TLMonitor_io_in_d_bits_size = _T_2642[39:36]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
  assign TLMonitor_io_in_d_bits_source = _T_2642[35]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
  assign TLMonitor_io_in_d_bits_sink = _T_2642[34]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
  assign TLMonitor_io_in_d_bits_denied = _T_2642[33]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
  assign TLMonitor_io_in_d_bits_corrupt = _T_2642[0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@5963.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_2297 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_2313 = _RAND_1[6:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_2488_0 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_2488_1 = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_2488_2 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_2488_3 = _RAND_5[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_2488_4 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_2488_5 = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_2488_6 = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_2297 <= 10'h0;
    end else begin
      if (_T_2299) begin
        _T_2297 <= _T_2451;
      end else begin
        _T_2297 <= _T_2455;
      end
    end
    if (reset) begin
      _T_2313 <= 7'h7f;
    end else begin
      if (_T_2332) begin
        _T_2313 <= _T_2342;
      end
    end
    if (reset) begin
      _T_2488_0 <= 1'h0;
    end else begin
      if (_T_2298) begin
        _T_2488_0 <= _T_2365;
      end
    end
    if (reset) begin
      _T_2488_1 <= 1'h0;
    end else begin
      if (_T_2298) begin
        _T_2488_1 <= _T_2366;
      end
    end
    if (reset) begin
      _T_2488_2 <= 1'h0;
    end else begin
      if (_T_2298) begin
        _T_2488_2 <= _T_2367;
      end
    end
    if (reset) begin
      _T_2488_3 <= 1'h0;
    end else begin
      if (_T_2298) begin
        _T_2488_3 <= _T_2368;
      end
    end
    if (reset) begin
      _T_2488_4 <= 1'h0;
    end else begin
      if (_T_2298) begin
        _T_2488_4 <= _T_2369;
      end
    end
    if (reset) begin
      _T_2488_5 <= 1'h0;
    end else begin
      if (_T_2298) begin
        _T_2488_5 <= _T_2370;
      end
    end
    if (reset) begin
      _T_2488_6 <= 1'h0;
    end else begin
      if (_T_2298) begin
        _T_2488_6 <= _T_2371;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2310) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:19 assert (valid === valids)\n"); // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@6685.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_2310) begin
          $fatal; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@6686.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2421) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:68 assert((prefixOR zip winner) map { case (p,w) => !p || !w } reduce {_ && _})\n"); // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6794.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_2421) begin
          $fatal; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@6795.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2438) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:70 assert (!valids.reduce(_||_) || winner.reduce(_||_))\n"); // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6815.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_2438) begin
          $fatal; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@6816.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6977.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6978.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6979.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@6980.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@8776.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@6996.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@7001.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@7003.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@7004.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@7005.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@7006.6]
  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@7006.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@7007.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7009.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@7010.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@7012.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@7013.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@7014.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@7015.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@7016.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7018.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7019.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7021.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7022.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@7023.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@7024.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@7025.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7026.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7027.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7028.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7029.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7030.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7031.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7032.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7033.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7034.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7035.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7036.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7037.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@7038.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@7039.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@7040.6]
  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7044.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7065.6]
  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7068.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7069.8]
  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7070.8]
  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7071.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7072.8]
  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7073.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7074.8]
  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7075.8]
  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7076.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7077.8]
  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7078.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7079.8]
  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7080.8]
  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7081.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7082.8]
  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7083.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7084.8]
  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7085.8]
  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7086.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7087.8]
  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7088.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7089.8]
  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7090.8]
  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7091.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7092.8]
  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7093.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7094.8]
  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7095.8]
  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7096.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7097.8]
  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7098.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7099.8]
  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7100.8]
  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7101.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7102.8]
  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7103.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7104.8]
  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7105.8]
  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7106.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7107.8]
  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7108.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7109.8]
  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7110.8]
  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7111.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7112.8]
  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7113.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7114.8]
  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7115.8]
  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7116.8]
  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7117.8]
  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7120.8]
  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7121.8]
  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7122.8]
  wire [31:0] _T_147; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7123.8]
  wire [32:0] _T_148; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7124.8]
  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7125.8]
  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7126.8]
  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7127.8]
  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7128.8]
  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7129.8]
  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7130.8]
  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7131.8]
  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7132.8]
  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7133.8]
  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7134.8]
  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7135.8]
  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7136.8]
  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7137.8]
  wire  _T_162; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7138.8]
  wire  _T_163; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7139.8]
  wire  _T_164; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7140.8]
  wire  _T_165; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7141.8]
  wire  _T_179; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7155.8]
  wire  _T_184; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7168.8]
  wire  _T_185; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7169.8]
  wire  _T_188; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7176.8]
  wire  _T_189; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7177.8]
  wire  _T_191; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7183.8]
  wire  _T_192; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7184.8]
  wire  _T_193; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7189.8]
  wire  _T_195; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7191.8]
  wire  _T_196; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7192.8]
  wire [3:0] _T_197; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@7197.8]
  wire  _T_198; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@7198.8]
  wire  _T_200; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7200.8]
  wire  _T_201; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7201.8]
  wire  _T_202; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@7206.8]
  wire  _T_204; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7208.8]
  wire  _T_205; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7209.8]
  wire  _T_206; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7215.6]
  wire  _T_313; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@7347.8]
  wire  _T_315; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7349.8]
  wire  _T_316; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7350.8]
  wire  _T_326; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7373.6]
  wire  _T_328; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7376.8]
  wire  _T_336; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7384.8]
  wire  _T_338; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7386.8]
  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7454.8]
  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7455.8]
  wire  _T_408; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7456.8]
  wire  _T_409; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7457.8]
  wire  _T_410; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7458.8]
  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7459.8]
  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7460.8]
  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7461.8]
  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7462.8]
  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7463.8]
  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7464.8]
  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7465.8]
  wire  _T_418; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7466.8]
  wire  _T_420; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@7468.8]
  wire  _T_422; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7470.8]
  wire  _T_423; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7471.8]
  wire  _T_430; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@7490.8]
  wire  _T_432; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7492.8]
  wire  _T_433; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7493.8]
  wire  _T_434; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7498.8]
  wire  _T_436; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7500.8]
  wire  _T_437; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7501.8]
  wire  _T_442; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7515.6]
  wire  _T_515; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7589.8]
  wire  _T_516; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7590.8]
  wire  _T_517; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7591.8]
  wire  _T_518; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7592.8]
  wire  _T_519; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7593.8]
  wire  _T_520; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7594.8]
  wire  _T_521; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7595.8]
  wire  _T_522; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7596.8]
  wire  _T_537; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@7611.8]
  wire  _T_540; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7614.8]
  wire  _T_541; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7615.8]
  wire  _T_556; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7651.6]
  wire [3:0] _T_666; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@7778.8]
  wire [3:0] _T_667; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@7779.8]
  wire  _T_668; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@7780.8]
  wire  _T_670; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7782.8]
  wire  _T_671; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7783.8]
  wire  _T_672; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7789.6]
  wire  _T_674; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7792.8]
  wire  _T_716; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7834.8]
  wire  _T_717; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7835.8]
  wire  _T_718; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7836.8]
  wire  _T_719; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@7837.8]
  wire  _T_726; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7844.8]
  wire  _T_765; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@7883.8]
  wire  _T_768; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7886.8]
  wire  _T_769; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7887.8]
  wire  _T_776; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@7906.8]
  wire  _T_778; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7908.8]
  wire  _T_779; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7909.8]
  wire  _T_784; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7923.6]
  wire  _T_888; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@8040.8]
  wire  _T_890; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8042.8]
  wire  _T_891; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8043.8]
  wire  _T_896; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8057.6]
  wire  _T_989; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8151.8]
  wire  _T_990; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8152.8]
  wire  _T_1005; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8190.6]
  wire  _T_1007; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8192.6]
  wire  _T_1008; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8193.6]
  wire  _T_1010; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@8199.6]
  wire  _T_1019; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@8204.6]
  wire  _T_1021; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8206.6]
  wire  _T_1023; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8209.8]
  wire  _T_1024; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8210.8]
  wire  _T_1025; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8215.8]
  wire  _T_1027; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8217.8]
  wire  _T_1028; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8218.8]
  wire  _T_1029; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8223.8]
  wire  _T_1031; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8225.8]
  wire  _T_1032; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8226.8]
  wire  _T_1033; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8231.8]
  wire  _T_1035; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8233.8]
  wire  _T_1036; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8234.8]
  wire  _T_1037; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8239.8]
  wire  _T_1039; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8241.8]
  wire  _T_1040; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8242.8]
  wire  _T_1041; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8248.6]
  wire  _T_1052; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@8272.8]
  wire  _T_1054; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8274.8]
  wire  _T_1055; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8275.8]
  wire  _T_1056; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8280.8]
  wire  _T_1058; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8282.8]
  wire  _T_1059; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8283.8]
  wire  _T_1069; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8306.6]
  wire  _T_1089; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@8347.8]
  wire  _T_1091; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8349.8]
  wire  _T_1092; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8350.8]
  wire  _T_1098; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8365.6]
  wire  _T_1115; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8400.6]
  wire  _T_1133; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8436.6]
  wire  _T_1162; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8496.4]
  wire [9:0] _T_1167; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@8501.4]
  wire  _T_1168; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@8502.4]
  wire  _T_1169; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8503.4]
  reg [9:0] _T_1172; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8505.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1173; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8506.4]
  wire [10:0] _T_1174; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8507.4]
  wire [9:0] _T_1175; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8508.4]
  wire  _T_1176; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8509.4]
  reg [2:0] _T_1185; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8520.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1187; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8521.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1189; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8522.4]
  reg [31:0] _RAND_3;
  reg  _T_1191; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8523.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_1193; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8524.4]
  reg [31:0] _RAND_5;
  wire  _T_1194; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8525.4]
  wire  _T_1195; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8526.4]
  wire  _T_1196; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8528.6]
  wire  _T_1198; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8530.6]
  wire  _T_1199; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8531.6]
  wire  _T_1200; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8536.6]
  wire  _T_1202; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8538.6]
  wire  _T_1203; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8539.6]
  wire  _T_1204; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8544.6]
  wire  _T_1206; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8546.6]
  wire  _T_1207; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8547.6]
  wire  _T_1208; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8552.6]
  wire  _T_1210; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8554.6]
  wire  _T_1211; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8555.6]
  wire  _T_1212; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8560.6]
  wire  _T_1214; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8562.6]
  wire  _T_1215; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8563.6]
  wire  _T_1217; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@8570.4]
  wire  _T_1218; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8578.4]
  wire [26:0] _T_1220; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@8580.4]
  wire [11:0] _T_1221; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@8581.4]
  wire [11:0] _T_1222; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@8582.4]
  wire [9:0] _T_1223; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@8583.4]
  wire  _T_1224; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@8584.4]
  reg [9:0] _T_1227; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8586.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_1228; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8587.4]
  wire [10:0] _T_1229; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8588.4]
  wire [9:0] _T_1230; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8589.4]
  wire  _T_1231; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8590.4]
  reg [2:0] _T_1240; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8601.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_1242; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8602.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_1244; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8603.4]
  reg [31:0] _RAND_9;
  reg  _T_1246; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8604.4]
  reg [31:0] _RAND_10;
  reg  _T_1248; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8605.4]
  reg [31:0] _RAND_11;
  reg  _T_1250; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8606.4]
  reg [31:0] _RAND_12;
  wire  _T_1251; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8607.4]
  wire  _T_1252; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8608.4]
  wire  _T_1253; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8610.6]
  wire  _T_1255; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8612.6]
  wire  _T_1256; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8613.6]
  wire  _T_1257; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8618.6]
  wire  _T_1259; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8620.6]
  wire  _T_1260; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8621.6]
  wire  _T_1261; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8626.6]
  wire  _T_1263; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8628.6]
  wire  _T_1264; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8629.6]
  wire  _T_1265; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8634.6]
  wire  _T_1267; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8636.6]
  wire  _T_1268; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8637.6]
  wire  _T_1269; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8642.6]
  wire  _T_1271; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8644.6]
  wire  _T_1272; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8645.6]
  wire  _T_1273; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8650.6]
  wire  _T_1275; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8652.6]
  wire  _T_1276; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8653.6]
  wire  _T_1278; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@8660.4]
  reg [1:0] _T_1280; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8669.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1291; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8679.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1292; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8680.4]
  wire [10:0] _T_1293; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8681.4]
  wire [9:0] _T_1294; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8682.4]
  wire  _T_1295; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8683.4]
  reg [9:0] _T_1312; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8702.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1313; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8703.4]
  wire [10:0] _T_1314; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8704.4]
  wire [9:0] _T_1315; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8705.4]
  wire  _T_1316; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8706.4]
  wire  _T_1327; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8721.4]
  wire [1:0] _T_1329; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@8724.6]
  wire [1:0] _T_1330; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@8726.6]
  wire  _T_1331; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@8727.6]
  wire  _T_1332; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8728.6]
  wire  _T_1334; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8730.6]
  wire  _T_1335; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8731.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@8723.4]
  wire  _T_1340; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8742.4]
  wire  _T_1342; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@8744.4]
  wire  _T_1343; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@8745.4]
  wire [1:0] _T_1344; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@8747.6]
  wire [1:0] _T_1345; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8749.6]
  wire [1:0] _T_1346; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@8750.6]
  wire  _T_1347; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@8751.6]
  wire  _T_1349; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8753.6]
  wire  _T_1350; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8754.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@8746.4]
  wire  _T_1351; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@8760.4]
  wire  _T_1352; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@8761.4]
  wire  _T_1353; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@8762.4]
  wire  _T_1354; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@8763.4]
  wire  _T_1356; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8765.4]
  wire  _T_1357; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8766.4]
  wire [1:0] _T_1358; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8771.4]
  wire [1:0] _T_1359; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@8772.4]
  wire [1:0] _T_1360; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@8773.4]
  reg [31:0] _T_1362; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8775.4]
  reg [31:0] _RAND_16;
  wire  _T_1363; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@8778.4]
  wire  _T_1364; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8779.4]
  wire  _T_1365; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@8780.4]
  wire  _T_1366; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8781.4]
  wire  _T_1367; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@8782.4]
  wire  _T_1368; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@8783.4]
  wire  _T_1370; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8785.4]
  wire  _T_1371; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8786.4]
  wire [31:0] _T_1373; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@8792.4]
  wire  _T_1376; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8796.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7157.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7307.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7473.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7617.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7753.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7889.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8023.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8154.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8212.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8254.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8312.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8371.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8406.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8442.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@8776.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@6996.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@7001.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@7003.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@7004.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@7005.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@7006.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@7006.6]
  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@7007.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7009.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@7010.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@7012.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@7013.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@7014.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@7015.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@7016.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7018.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7019.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7021.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7022.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@7023.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@7024.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@7025.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7026.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7027.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7028.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7029.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7030.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7031.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7032.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7033.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7034.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7035.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@7036.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@7037.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@7038.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@7039.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@7040.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7044.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7065.6]
  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7068.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7069.8]
  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7070.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7071.8]
  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7072.8]
  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7073.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7074.8]
  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7075.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7076.8]
  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7077.8]
  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7078.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7079.8]
  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7080.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7081.8]
  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7082.8]
  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7083.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7084.8]
  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7085.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7086.8]
  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7087.8]
  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7088.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7089.8]
  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7090.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7091.8]
  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7092.8]
  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7093.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7094.8]
  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7095.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7096.8]
  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7097.8]
  assign _T_122 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7098.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7099.8]
  assign _T_124 = $signed(_T_123) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7100.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7101.8]
  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7102.8]
  assign _T_127 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7103.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7104.8]
  assign _T_129 = $signed(_T_128) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7105.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7106.8]
  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7107.8]
  assign _T_132 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7108.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7109.8]
  assign _T_134 = $signed(_T_133) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7110.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7111.8]
  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7112.8]
  assign _T_137 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7113.8]
  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7114.8]
  assign _T_139 = $signed(_T_138) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7115.8]
  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7116.8]
  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7117.8]
  assign _T_144 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7120.8]
  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7121.8]
  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7122.8]
  assign _T_147 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7123.8]
  assign _T_148 = {1'b0,$signed(_T_147)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7124.8]
  assign _T_149 = $signed(_T_148) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7125.8]
  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7126.8]
  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7127.8]
  assign _T_152 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7128.8]
  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7129.8]
  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7130.8]
  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7131.8]
  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7132.8]
  assign _T_157 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@7133.8]
  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@7134.8]
  assign _T_159 = $signed(_T_158) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7135.8]
  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@7136.8]
  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@7137.8]
  assign _T_162 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7138.8]
  assign _T_163 = _T_162 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7139.8]
  assign _T_164 = _T_163 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7140.8]
  assign _T_165 = _T_164 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7141.8]
  assign _T_179 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7155.8]
  assign _T_184 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7168.8]
  assign _T_185 = _T_184 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7169.8]
  assign _T_188 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7176.8]
  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7177.8]
  assign _T_191 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7183.8]
  assign _T_192 = _T_191 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7184.8]
  assign _T_193 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7189.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7191.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7192.8]
  assign _T_197 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@7197.8]
  assign _T_198 = _T_197 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@7198.8]
  assign _T_200 = _T_198 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7200.8]
  assign _T_201 = _T_200 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7201.8]
  assign _T_202 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@7206.8]
  assign _T_204 = _T_202 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7208.8]
  assign _T_205 = _T_204 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7209.8]
  assign _T_206 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7215.6]
  assign _T_313 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@7347.8]
  assign _T_315 = _T_313 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7349.8]
  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7350.8]
  assign _T_326 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7373.6]
  assign _T_328 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7376.8]
  assign _T_336 = _T_328 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7384.8]
  assign _T_338 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7386.8]
  assign _T_406 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7454.8]
  assign _T_407 = _T_406 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7455.8]
  assign _T_408 = _T_407 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7456.8]
  assign _T_409 = _T_408 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7457.8]
  assign _T_410 = _T_409 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7458.8]
  assign _T_411 = _T_410 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7459.8]
  assign _T_412 = _T_411 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7460.8]
  assign _T_413 = _T_412 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7461.8]
  assign _T_414 = _T_413 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7462.8]
  assign _T_415 = _T_414 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7463.8]
  assign _T_416 = _T_415 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7464.8]
  assign _T_417 = _T_416 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7465.8]
  assign _T_418 = _T_338 & _T_417; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7466.8]
  assign _T_420 = _T_336 | _T_418; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@7468.8]
  assign _T_422 = _T_420 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7470.8]
  assign _T_423 = _T_422 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7471.8]
  assign _T_430 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@7490.8]
  assign _T_432 = _T_430 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7492.8]
  assign _T_433 = _T_432 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7493.8]
  assign _T_434 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@7498.8]
  assign _T_436 = _T_434 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7500.8]
  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7501.8]
  assign _T_442 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7515.6]
  assign _T_515 = _T_408 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7589.8]
  assign _T_516 = _T_515 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7590.8]
  assign _T_517 = _T_516 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7591.8]
  assign _T_518 = _T_517 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7592.8]
  assign _T_519 = _T_518 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7593.8]
  assign _T_520 = _T_519 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7594.8]
  assign _T_521 = _T_520 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7595.8]
  assign _T_522 = _T_338 & _T_521; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7596.8]
  assign _T_537 = _T_336 | _T_522; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@7611.8]
  assign _T_540 = _T_537 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7614.8]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7615.8]
  assign _T_556 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7651.6]
  assign _T_666 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@7778.8]
  assign _T_667 = io_in_a_bits_mask & _T_666; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@7779.8]
  assign _T_668 = _T_667 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@7780.8]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7782.8]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7783.8]
  assign _T_672 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7789.6]
  assign _T_674 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7792.8]
  assign _T_716 = _T_165 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7834.8]
  assign _T_717 = _T_716 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@7835.8]
  assign _T_718 = _T_674 & _T_717; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7836.8]
  assign _T_719 = 4'h2 == io_in_a_bits_size; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@7837.8]
  assign _T_726 = _T_719 & _T_156; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@7844.8]
  assign _T_765 = _T_718 | _T_726; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@7883.8]
  assign _T_768 = _T_765 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7886.8]
  assign _T_769 = _T_768 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7887.8]
  assign _T_776 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@7906.8]
  assign _T_778 = _T_776 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7908.8]
  assign _T_779 = _T_778 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7909.8]
  assign _T_784 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@7923.6]
  assign _T_888 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@8040.8]
  assign _T_890 = _T_888 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8042.8]
  assign _T_891 = _T_890 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8043.8]
  assign _T_896 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8057.6]
  assign _T_989 = _T_336 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8151.8]
  assign _T_990 = _T_989 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8152.8]
  assign _T_1005 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8190.6]
  assign _T_1007 = _T_1005 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8192.6]
  assign _T_1008 = _T_1007 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8193.6]
  assign _T_1010 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@8199.6]
  assign _T_1019 = io_in_d_bits_source | _T_1010; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@8204.6]
  assign _T_1021 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8206.6]
  assign _T_1023 = _T_1019 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8209.8]
  assign _T_1024 = _T_1023 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8210.8]
  assign _T_1025 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8215.8]
  assign _T_1027 = _T_1025 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8217.8]
  assign _T_1028 = _T_1027 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8218.8]
  assign _T_1029 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8223.8]
  assign _T_1031 = _T_1029 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8225.8]
  assign _T_1032 = _T_1031 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8226.8]
  assign _T_1033 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8231.8]
  assign _T_1035 = _T_1033 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8233.8]
  assign _T_1036 = _T_1035 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8234.8]
  assign _T_1037 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8239.8]
  assign _T_1039 = _T_1037 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8241.8]
  assign _T_1040 = _T_1039 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8242.8]
  assign _T_1041 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8248.6]
  assign _T_1052 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@8272.8]
  assign _T_1054 = _T_1052 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8274.8]
  assign _T_1055 = _T_1054 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8275.8]
  assign _T_1056 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8280.8]
  assign _T_1058 = _T_1056 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8282.8]
  assign _T_1059 = _T_1058 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8283.8]
  assign _T_1069 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8306.6]
  assign _T_1089 = _T_1037 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@8347.8]
  assign _T_1091 = _T_1089 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8349.8]
  assign _T_1092 = _T_1091 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8350.8]
  assign _T_1098 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8365.6]
  assign _T_1115 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8400.6]
  assign _T_1133 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8436.6]
  assign _T_1162 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8496.4]
  assign _T_1167 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@8501.4]
  assign _T_1168 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@8502.4]
  assign _T_1169 = _T_1168 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8503.4]
  assign _T_1173 = _T_1172 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8506.4]
  assign _T_1174 = $unsigned(_T_1173); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8507.4]
  assign _T_1175 = _T_1174[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8508.4]
  assign _T_1176 = _T_1172 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8509.4]
  assign _T_1194 = _T_1176 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8525.4]
  assign _T_1195 = io_in_a_valid & _T_1194; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8526.4]
  assign _T_1196 = io_in_a_bits_opcode == _T_1185; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8528.6]
  assign _T_1198 = _T_1196 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8530.6]
  assign _T_1199 = _T_1198 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8531.6]
  assign _T_1200 = io_in_a_bits_param == _T_1187; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8536.6]
  assign _T_1202 = _T_1200 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8538.6]
  assign _T_1203 = _T_1202 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8539.6]
  assign _T_1204 = io_in_a_bits_size == _T_1189; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8544.6]
  assign _T_1206 = _T_1204 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8546.6]
  assign _T_1207 = _T_1206 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8547.6]
  assign _T_1208 = io_in_a_bits_source == _T_1191; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8552.6]
  assign _T_1210 = _T_1208 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8554.6]
  assign _T_1211 = _T_1210 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8555.6]
  assign _T_1212 = io_in_a_bits_address == _T_1193; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8560.6]
  assign _T_1214 = _T_1212 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8562.6]
  assign _T_1215 = _T_1214 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8563.6]
  assign _T_1217 = _T_1162 & _T_1176; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@8570.4]
  assign _T_1218 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8578.4]
  assign _T_1220 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@8580.4]
  assign _T_1221 = _T_1220[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@8581.4]
  assign _T_1222 = ~ _T_1221; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@8582.4]
  assign _T_1223 = _T_1222[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@8583.4]
  assign _T_1224 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@8584.4]
  assign _T_1228 = _T_1227 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8587.4]
  assign _T_1229 = $unsigned(_T_1228); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8588.4]
  assign _T_1230 = _T_1229[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8589.4]
  assign _T_1231 = _T_1227 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8590.4]
  assign _T_1251 = _T_1231 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8607.4]
  assign _T_1252 = io_in_d_valid & _T_1251; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8608.4]
  assign _T_1253 = io_in_d_bits_opcode == _T_1240; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8610.6]
  assign _T_1255 = _T_1253 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8612.6]
  assign _T_1256 = _T_1255 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8613.6]
  assign _T_1257 = io_in_d_bits_param == _T_1242; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8618.6]
  assign _T_1259 = _T_1257 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8620.6]
  assign _T_1260 = _T_1259 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8621.6]
  assign _T_1261 = io_in_d_bits_size == _T_1244; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8626.6]
  assign _T_1263 = _T_1261 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8628.6]
  assign _T_1264 = _T_1263 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8629.6]
  assign _T_1265 = io_in_d_bits_source == _T_1246; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8634.6]
  assign _T_1267 = _T_1265 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8636.6]
  assign _T_1268 = _T_1267 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8637.6]
  assign _T_1269 = io_in_d_bits_sink == _T_1248; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8642.6]
  assign _T_1271 = _T_1269 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8644.6]
  assign _T_1272 = _T_1271 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8645.6]
  assign _T_1273 = io_in_d_bits_denied == _T_1250; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@8650.6]
  assign _T_1275 = _T_1273 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8652.6]
  assign _T_1276 = _T_1275 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8653.6]
  assign _T_1278 = _T_1218 & _T_1231; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@8660.4]
  assign _T_1292 = _T_1291 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8680.4]
  assign _T_1293 = $unsigned(_T_1292); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8681.4]
  assign _T_1294 = _T_1293[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8682.4]
  assign _T_1295 = _T_1291 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8683.4]
  assign _T_1313 = _T_1312 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8703.4]
  assign _T_1314 = $unsigned(_T_1313); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8704.4]
  assign _T_1315 = _T_1314[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@8705.4]
  assign _T_1316 = _T_1312 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8706.4]
  assign _T_1327 = _T_1162 & _T_1295; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8721.4]
  assign _T_1329 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@8724.6]
  assign _T_1330 = _T_1280 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@8726.6]
  assign _T_1331 = _T_1330[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@8727.6]
  assign _T_1332 = _T_1331 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8728.6]
  assign _T_1334 = _T_1332 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8730.6]
  assign _T_1335 = _T_1334 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8731.6]
  assign _GEN_15 = _T_1327 ? _T_1329 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@8723.4]
  assign _T_1340 = _T_1218 & _T_1316; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8742.4]
  assign _T_1342 = _T_1021 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@8744.4]
  assign _T_1343 = _T_1340 & _T_1342; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@8745.4]
  assign _T_1344 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@8747.6]
  assign _T_1345 = _GEN_15 | _T_1280; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8749.6]
  assign _T_1346 = _T_1345 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@8750.6]
  assign _T_1347 = _T_1346[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@8751.6]
  assign _T_1349 = _T_1347 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8753.6]
  assign _T_1350 = _T_1349 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8754.6]
  assign _GEN_16 = _T_1343 ? _T_1344 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@8746.4]
  assign _T_1351 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@8760.4]
  assign _T_1352 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@8761.4]
  assign _T_1353 = _T_1352 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@8762.4]
  assign _T_1354 = _T_1351 | _T_1353; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@8763.4]
  assign _T_1356 = _T_1354 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8765.4]
  assign _T_1357 = _T_1356 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8766.4]
  assign _T_1358 = _T_1280 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8771.4]
  assign _T_1359 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@8772.4]
  assign _T_1360 = _T_1358 & _T_1359; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@8773.4]
  assign _T_1363 = _T_1280 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@8778.4]
  assign _T_1364 = _T_1363 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8779.4]
  assign _T_1365 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@8780.4]
  assign _T_1366 = _T_1364 | _T_1365; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8781.4]
  assign _T_1367 = _T_1362 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@8782.4]
  assign _T_1368 = _T_1366 | _T_1367; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@8783.4]
  assign _T_1370 = _T_1368 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8785.4]
  assign _T_1371 = _T_1370 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8786.4]
  assign _T_1373 = _T_1362 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@8792.4]
  assign _T_1376 = _T_1162 | _T_1218; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@8796.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7157.10]
  assign _GEN_35 = io_in_a_valid & _T_206; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7307.10]
  assign _GEN_53 = io_in_a_valid & _T_326; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7473.10]
  assign _GEN_65 = io_in_a_valid & _T_442; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7617.10]
  assign _GEN_75 = io_in_a_valid & _T_556; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7753.10]
  assign _GEN_85 = io_in_a_valid & _T_672; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7889.10]
  assign _GEN_95 = io_in_a_valid & _T_784; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8023.10]
  assign _GEN_105 = io_in_a_valid & _T_896; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8154.10]
  assign _GEN_115 = io_in_d_valid & _T_1021; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8212.10]
  assign _GEN_125 = io_in_d_valid & _T_1041; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8254.10]
  assign _GEN_137 = io_in_d_valid & _T_1069; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8312.10]
  assign _GEN_149 = io_in_d_valid & _T_1098; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8371.10]
  assign _GEN_155 = io_in_d_valid & _T_1115; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8406.10]
  assign _GEN_161 = io_in_d_valid & _T_1133; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8442.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_1172 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1185 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1187 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1189 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1191 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1193 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1227 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1240 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1242 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1244 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1246 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1248 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1250 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1280 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1291 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1312 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1362 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1172 <= 10'h0;
    end else begin
      if (_T_1162) begin
        if (_T_1176) begin
          if (_T_1169) begin
            _T_1172 <= _T_1167;
          end else begin
            _T_1172 <= 10'h0;
          end
        end else begin
          _T_1172 <= _T_1175;
        end
      end
    end
    if (_T_1217) begin
      _T_1185 <= io_in_a_bits_opcode;
    end
    if (_T_1217) begin
      _T_1187 <= io_in_a_bits_param;
    end
    if (_T_1217) begin
      _T_1189 <= io_in_a_bits_size;
    end
    if (_T_1217) begin
      _T_1191 <= io_in_a_bits_source;
    end
    if (_T_1217) begin
      _T_1193 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1227 <= 10'h0;
    end else begin
      if (_T_1218) begin
        if (_T_1231) begin
          if (_T_1224) begin
            _T_1227 <= _T_1223;
          end else begin
            _T_1227 <= 10'h0;
          end
        end else begin
          _T_1227 <= _T_1230;
        end
      end
    end
    if (_T_1278) begin
      _T_1240 <= io_in_d_bits_opcode;
    end
    if (_T_1278) begin
      _T_1242 <= io_in_d_bits_param;
    end
    if (_T_1278) begin
      _T_1244 <= io_in_d_bits_size;
    end
    if (_T_1278) begin
      _T_1246 <= io_in_d_bits_source;
    end
    if (_T_1278) begin
      _T_1248 <= io_in_d_bits_sink;
    end
    if (_T_1278) begin
      _T_1250 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1280 <= 2'h0;
    end else begin
      _T_1280 <= _T_1360;
    end
    if (reset) begin
      _T_1291 <= 10'h0;
    end else begin
      if (_T_1162) begin
        if (_T_1295) begin
          if (_T_1169) begin
            _T_1291 <= _T_1167;
          end else begin
            _T_1291 <= 10'h0;
          end
        end else begin
          _T_1291 <= _T_1294;
        end
      end
    end
    if (reset) begin
      _T_1312 <= 10'h0;
    end else begin
      if (_T_1218) begin
        if (_T_1316) begin
          if (_T_1224) begin
            _T_1312 <= _T_1223;
          end else begin
            _T_1312 <= 10'h0;
          end
        end else begin
          _T_1312 <= _T_1315;
        end
      end
    end
    if (reset) begin
      _T_1362 <= 32'h0;
    end else begin
      if (_T_1376) begin
        _T_1362 <= 32'h0;
      end else begin
        _T_1362 <= _T_1373;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@6992.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@6993.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@7062.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@7063.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7157.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7158.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7164.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7165.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7171.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_185) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7172.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7179.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7180.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7186.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_192) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7187.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7194.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_196) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7195.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7203.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_201) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7204.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7211.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_205) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7212.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7307.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7308.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7314.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7315.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7321.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_185) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7322.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7329.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_189) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7330.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7336.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_192) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7337.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7344.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_196) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7345.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_316) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7352.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_316) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7353.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7361.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_201) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7362.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7369.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_205) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7370.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_423) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7473.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_423) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7474.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7480.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_185) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7481.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7487.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_192) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7488.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7495.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_433) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7496.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7503.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_437) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7504.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7511.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_205) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7512.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7617.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_541) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7618.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7624.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_185) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7625.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7631.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_192) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7632.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7639.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_433) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7640.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7647.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_437) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7648.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7753.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_541) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7754.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7760.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_185) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7761.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7767.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_192) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7768.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7775.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_433) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7776.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7785.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_671) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7786.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_769) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7889.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_769) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7890.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7896.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_185) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7897.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7903.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_192) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7904.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_779) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7911.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_779) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7912.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7919.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_437) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@7920.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_769) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8023.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_769) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8024.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8030.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_185) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8031.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8037.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_192) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8038.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_891) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8045.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_891) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8046.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8053.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_437) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8054.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_990) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8154.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_990) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8155.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8161.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_185) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8162.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8168.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_192) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8169.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8176.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_437) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8177.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8184.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_205) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8185.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_1008) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8195.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_1008) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8196.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1024) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8212.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1024) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8213.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1028) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8220.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1028) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8221.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1032) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8228.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1032) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8229.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1036) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8236.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1036) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8237.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1040) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8244.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1040) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8245.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1024) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8254.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1024) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8255.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8261.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_179) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8262.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1028) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8269.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1028) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8270.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1055) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8277.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1055) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8278.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1059) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8285.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1059) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8286.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1036) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8293.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1036) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8294.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8302.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8303.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1024) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8312.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1024) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8313.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8319.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_179) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8320.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1028) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8327.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1028) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8328.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1055) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8335.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1055) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8336.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1059) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8343.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1059) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8344.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1092) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8352.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1092) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8353.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8361.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8362.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1024) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8371.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1024) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8372.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1032) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8379.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1032) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8380.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1036) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8387.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1036) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8388.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8396.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8397.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1024) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8406.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1024) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8407.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1032) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8414.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1032) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8415.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1092) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8423.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1092) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8424.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8432.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8433.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1024) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8442.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1024) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8443.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1032) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8450.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1032) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8451.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1036) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8458.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1036) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8459.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8467.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8468.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8477.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8478.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8485.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8486.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8493.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8494.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1195 & _T_1199) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8533.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1195 & _T_1199) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8534.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1195 & _T_1203) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8541.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1195 & _T_1203) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8542.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1195 & _T_1207) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8549.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1195 & _T_1207) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8550.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1195 & _T_1211) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8557.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1195 & _T_1211) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8558.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1195 & _T_1215) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8565.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1195 & _T_1215) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8566.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1252 & _T_1256) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8615.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1252 & _T_1256) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8616.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1252 & _T_1260) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8623.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1252 & _T_1260) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8624.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1252 & _T_1264) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8631.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1252 & _T_1264) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8632.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1252 & _T_1268) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8639.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1252 & _T_1268) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8640.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1252 & _T_1272) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8647.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1252 & _T_1272) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8648.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1252 & _T_1276) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8655.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1252 & _T_1276) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@8656.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1327 & _T_1335) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8733.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1327 & _T_1335) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8734.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1343 & _T_1350) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8756.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1343 & _T_1350) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8757.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1357) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8768.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1357) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8769.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1371) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8788.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1371) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@8789.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Queue( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8801.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8802.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8803.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
  input  [3:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
  input  [31:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
  output [3:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
  output [31:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8804.4]
);
  reg [2:0] _T_35_opcode [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  reg [31:0] _RAND_0;
  wire [2:0] _T_35_opcode__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_opcode__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire [2:0] _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_opcode__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_opcode__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_opcode__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  reg [2:0] _T_35_param [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  reg [31:0] _RAND_1;
  wire [2:0] _T_35_param__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_param__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire [2:0] _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_param__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_param__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_param__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  reg [3:0] _T_35_size [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_35_size__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_size__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire [3:0] _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_size__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_size__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_size__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  reg  _T_35_source [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  reg [31:0] _RAND_3;
  wire  _T_35_source__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_source__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_source__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_source__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_source__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  reg [31:0] _T_35_address [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  reg [31:0] _RAND_4;
  wire [31:0] _T_35_address__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_address__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire [31:0] _T_35_address__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_address__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_address__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_address__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  reg [3:0] _T_35_mask [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  reg [31:0] _RAND_5;
  wire [3:0] _T_35_mask__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_mask__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire [3:0] _T_35_mask__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_mask__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_mask__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_mask__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  reg [31:0] _T_35_data [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  reg [31:0] _RAND_6;
  wire [31:0] _T_35_data__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_data__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire [31:0] _T_35_data__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_data__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_data__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_data__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  reg  _T_35_corrupt [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  reg [31:0] _RAND_7;
  wire  _T_35_corrupt__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_corrupt__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_corrupt__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_corrupt__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  wire  _T_35_corrupt__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  reg  value; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@8807.4]
  reg [31:0] _RAND_8;
  reg  value_1; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@8808.4]
  reg [31:0] _RAND_9;
  reg  _T_39; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@8809.4]
  reg [31:0] _RAND_10;
  wire  _T_40; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@8810.4]
  wire  _T_41; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@8811.4]
  wire  _T_42; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@8812.4]
  wire  _T_43; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@8813.4]
  wire  _T_44; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@8814.4]
  wire  _T_47; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@8817.4]
  wire  _T_52; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8832.6]
  wire  _T_54; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8838.6]
  wire  _T_55; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@8841.4]
  assign _T_35_opcode__T_58_addr = value_1;
  assign _T_35_opcode__T_58_data = _T_35_opcode[_T_35_opcode__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  assign _T_35_opcode__T_50_data = io_enq_bits_opcode;
  assign _T_35_opcode__T_50_addr = value;
  assign _T_35_opcode__T_50_mask = 1'h1;
  assign _T_35_opcode__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_param__T_58_addr = value_1;
  assign _T_35_param__T_58_data = _T_35_param[_T_35_param__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  assign _T_35_param__T_50_data = io_enq_bits_param;
  assign _T_35_param__T_50_addr = value;
  assign _T_35_param__T_50_mask = 1'h1;
  assign _T_35_param__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_size__T_58_addr = value_1;
  assign _T_35_size__T_58_data = _T_35_size[_T_35_size__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  assign _T_35_size__T_50_data = io_enq_bits_size;
  assign _T_35_size__T_50_addr = value;
  assign _T_35_size__T_50_mask = 1'h1;
  assign _T_35_size__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_source__T_58_addr = value_1;
  assign _T_35_source__T_58_data = _T_35_source[_T_35_source__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  assign _T_35_source__T_50_data = io_enq_bits_source;
  assign _T_35_source__T_50_addr = value;
  assign _T_35_source__T_50_mask = 1'h1;
  assign _T_35_source__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_address__T_58_addr = value_1;
  assign _T_35_address__T_58_data = _T_35_address[_T_35_address__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  assign _T_35_address__T_50_data = io_enq_bits_address;
  assign _T_35_address__T_50_addr = value;
  assign _T_35_address__T_50_mask = 1'h1;
  assign _T_35_address__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_mask__T_58_addr = value_1;
  assign _T_35_mask__T_58_data = _T_35_mask[_T_35_mask__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  assign _T_35_mask__T_50_data = io_enq_bits_mask;
  assign _T_35_mask__T_50_addr = value;
  assign _T_35_mask__T_50_mask = 1'h1;
  assign _T_35_mask__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_data__T_58_addr = value_1;
  assign _T_35_data__T_58_data = _T_35_data[_T_35_data__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  assign _T_35_data__T_50_data = io_enq_bits_data;
  assign _T_35_data__T_50_addr = value;
  assign _T_35_data__T_50_mask = 1'h1;
  assign _T_35_data__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_corrupt__T_58_addr = value_1;
  assign _T_35_corrupt__T_58_data = _T_35_corrupt[_T_35_corrupt__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
  assign _T_35_corrupt__T_50_data = io_enq_bits_corrupt;
  assign _T_35_corrupt__T_50_addr = value;
  assign _T_35_corrupt__T_50_mask = 1'h1;
  assign _T_35_corrupt__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_40 = value == value_1; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@8810.4]
  assign _T_41 = _T_39 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@8811.4]
  assign _T_42 = _T_40 & _T_41; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@8812.4]
  assign _T_43 = _T_40 & _T_39; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@8813.4]
  assign _T_44 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@8814.4]
  assign _T_47 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@8817.4]
  assign _T_52 = value + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8832.6]
  assign _T_54 = value_1 + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8838.6]
  assign _T_55 = _T_44 != _T_47; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@8841.4]
  assign io_enq_ready = _T_43 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@8848.4]
  assign io_deq_valid = _T_42 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@8846.4]
  assign io_deq_bits_opcode = _T_35_opcode__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8857.4]
  assign io_deq_bits_param = _T_35_param__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8856.4]
  assign io_deq_bits_size = _T_35_size__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8855.4]
  assign io_deq_bits_source = _T_35_source__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8854.4]
  assign io_deq_bits_address = _T_35_address__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8853.4]
  assign io_deq_bits_mask = _T_35_mask__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8852.4]
  assign io_deq_bits_data = _T_35_data__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8851.4]
  assign io_deq_bits_corrupt = _T_35_corrupt__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8850.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  _RAND_0 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_opcode[initvar] = _RAND_0[2:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_1 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_param[initvar] = _RAND_1[2:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_2 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_size[initvar] = _RAND_2[3:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_3 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_source[initvar] = _RAND_3[0:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_4 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_address[initvar] = _RAND_4[31:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_5 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_mask[initvar] = _RAND_5[3:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_6 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_data[initvar] = _RAND_6[31:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_7 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_corrupt[initvar] = _RAND_7[0:0];
  `endif // RANDOMIZE_MEM_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  value = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  value_1 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_39 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if(_T_35_opcode__T_50_en & _T_35_opcode__T_50_mask) begin
      _T_35_opcode[_T_35_opcode__T_50_addr] <= _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
    end
    if(_T_35_param__T_50_en & _T_35_param__T_50_mask) begin
      _T_35_param[_T_35_param__T_50_addr] <= _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
    end
    if(_T_35_size__T_50_en & _T_35_size__T_50_mask) begin
      _T_35_size[_T_35_size__T_50_addr] <= _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
    end
    if(_T_35_source__T_50_en & _T_35_source__T_50_mask) begin
      _T_35_source[_T_35_source__T_50_addr] <= _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
    end
    if(_T_35_address__T_50_en & _T_35_address__T_50_mask) begin
      _T_35_address[_T_35_address__T_50_addr] <= _T_35_address__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
    end
    if(_T_35_mask__T_50_en & _T_35_mask__T_50_mask) begin
      _T_35_mask[_T_35_mask__T_50_addr] <= _T_35_mask__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
    end
    if(_T_35_data__T_50_en & _T_35_data__T_50_mask) begin
      _T_35_data[_T_35_data__T_50_addr] <= _T_35_data__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
    end
    if(_T_35_corrupt__T_50_en & _T_35_corrupt__T_50_mask) begin
      _T_35_corrupt[_T_35_corrupt__T_50_addr] <= _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8806.4]
    end
    if (reset) begin
      value <= 1'h0;
    end else begin
      if (_T_44) begin
        value <= _T_52;
      end
    end
    if (reset) begin
      value_1 <= 1'h0;
    end else begin
      if (_T_47) begin
        value_1 <= _T_54;
      end
    end
    if (reset) begin
      _T_39 <= 1'h0;
    end else begin
      if (_T_55) begin
        _T_39 <= _T_44;
      end
    end
  end
endmodule
module Queue_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8865.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8866.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8867.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
  input  [1:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
  input  [3:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
  input         io_enq_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
  input         io_enq_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
  output [1:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
  output [3:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
  output        io_deq_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
  output        io_deq_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8868.4]
);
  reg [2:0] _T_35_opcode [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  reg [31:0] _RAND_0;
  wire [2:0] _T_35_opcode__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_opcode__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire [2:0] _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_opcode__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_opcode__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_opcode__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  reg [1:0] _T_35_param [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  reg [31:0] _RAND_1;
  wire [1:0] _T_35_param__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_param__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire [1:0] _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_param__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_param__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_param__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  reg [3:0] _T_35_size [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_35_size__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_size__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire [3:0] _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_size__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_size__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_size__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  reg  _T_35_source [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  reg [31:0] _RAND_3;
  wire  _T_35_source__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_source__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_source__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_source__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_source__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  reg  _T_35_sink [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  reg [31:0] _RAND_4;
  wire  _T_35_sink__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_sink__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_sink__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_sink__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_sink__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_sink__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  reg  _T_35_denied [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  reg [31:0] _RAND_5;
  wire  _T_35_denied__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_denied__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_denied__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_denied__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_denied__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_denied__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  reg [31:0] _T_35_data [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  reg [31:0] _RAND_6;
  wire [31:0] _T_35_data__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_data__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire [31:0] _T_35_data__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_data__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_data__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_data__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  reg  _T_35_corrupt [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  reg [31:0] _RAND_7;
  wire  _T_35_corrupt__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_corrupt__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_corrupt__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_corrupt__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  wire  _T_35_corrupt__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  reg  value; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@8871.4]
  reg [31:0] _RAND_8;
  reg  value_1; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@8872.4]
  reg [31:0] _RAND_9;
  reg  _T_39; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@8873.4]
  reg [31:0] _RAND_10;
  wire  _T_40; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@8874.4]
  wire  _T_41; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@8875.4]
  wire  _T_42; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@8876.4]
  wire  _T_43; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@8877.4]
  wire  _T_44; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@8878.4]
  wire  _T_47; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@8881.4]
  wire  _T_52; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8896.6]
  wire  _T_54; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8902.6]
  wire  _T_55; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@8905.4]
  assign _T_35_opcode__T_58_addr = value_1;
  assign _T_35_opcode__T_58_data = _T_35_opcode[_T_35_opcode__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  assign _T_35_opcode__T_50_data = io_enq_bits_opcode;
  assign _T_35_opcode__T_50_addr = value;
  assign _T_35_opcode__T_50_mask = 1'h1;
  assign _T_35_opcode__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_param__T_58_addr = value_1;
  assign _T_35_param__T_58_data = _T_35_param[_T_35_param__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  assign _T_35_param__T_50_data = io_enq_bits_param;
  assign _T_35_param__T_50_addr = value;
  assign _T_35_param__T_50_mask = 1'h1;
  assign _T_35_param__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_size__T_58_addr = value_1;
  assign _T_35_size__T_58_data = _T_35_size[_T_35_size__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  assign _T_35_size__T_50_data = io_enq_bits_size;
  assign _T_35_size__T_50_addr = value;
  assign _T_35_size__T_50_mask = 1'h1;
  assign _T_35_size__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_source__T_58_addr = value_1;
  assign _T_35_source__T_58_data = _T_35_source[_T_35_source__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  assign _T_35_source__T_50_data = io_enq_bits_source;
  assign _T_35_source__T_50_addr = value;
  assign _T_35_source__T_50_mask = 1'h1;
  assign _T_35_source__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_sink__T_58_addr = value_1;
  assign _T_35_sink__T_58_data = _T_35_sink[_T_35_sink__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  assign _T_35_sink__T_50_data = io_enq_bits_sink;
  assign _T_35_sink__T_50_addr = value;
  assign _T_35_sink__T_50_mask = 1'h1;
  assign _T_35_sink__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_denied__T_58_addr = value_1;
  assign _T_35_denied__T_58_data = _T_35_denied[_T_35_denied__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  assign _T_35_denied__T_50_data = io_enq_bits_denied;
  assign _T_35_denied__T_50_addr = value;
  assign _T_35_denied__T_50_mask = 1'h1;
  assign _T_35_denied__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_data__T_58_addr = value_1;
  assign _T_35_data__T_58_data = _T_35_data[_T_35_data__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  assign _T_35_data__T_50_data = io_enq_bits_data;
  assign _T_35_data__T_50_addr = value;
  assign _T_35_data__T_50_mask = 1'h1;
  assign _T_35_data__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_corrupt__T_58_addr = value_1;
  assign _T_35_corrupt__T_58_data = _T_35_corrupt[_T_35_corrupt__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
  assign _T_35_corrupt__T_50_data = io_enq_bits_corrupt;
  assign _T_35_corrupt__T_50_addr = value;
  assign _T_35_corrupt__T_50_mask = 1'h1;
  assign _T_35_corrupt__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_40 = value == value_1; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@8874.4]
  assign _T_41 = _T_39 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@8875.4]
  assign _T_42 = _T_40 & _T_41; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@8876.4]
  assign _T_43 = _T_40 & _T_39; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@8877.4]
  assign _T_44 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@8878.4]
  assign _T_47 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@8881.4]
  assign _T_52 = value + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8896.6]
  assign _T_54 = value_1 + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8902.6]
  assign _T_55 = _T_44 != _T_47; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@8905.4]
  assign io_enq_ready = _T_43 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@8912.4]
  assign io_deq_valid = _T_42 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@8910.4]
  assign io_deq_bits_opcode = _T_35_opcode__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8921.4]
  assign io_deq_bits_param = _T_35_param__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8920.4]
  assign io_deq_bits_size = _T_35_size__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8919.4]
  assign io_deq_bits_source = _T_35_source__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8918.4]
  assign io_deq_bits_sink = _T_35_sink__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8917.4]
  assign io_deq_bits_denied = _T_35_denied__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8916.4]
  assign io_deq_bits_data = _T_35_data__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8915.4]
  assign io_deq_bits_corrupt = _T_35_corrupt__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@8914.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  _RAND_0 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_opcode[initvar] = _RAND_0[2:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_1 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_param[initvar] = _RAND_1[1:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_2 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_size[initvar] = _RAND_2[3:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_3 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_source[initvar] = _RAND_3[0:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_4 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_sink[initvar] = _RAND_4[0:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_5 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_denied[initvar] = _RAND_5[0:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_6 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_data[initvar] = _RAND_6[31:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_7 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_corrupt[initvar] = _RAND_7[0:0];
  `endif // RANDOMIZE_MEM_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  value = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  value_1 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_39 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if(_T_35_opcode__T_50_en & _T_35_opcode__T_50_mask) begin
      _T_35_opcode[_T_35_opcode__T_50_addr] <= _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
    end
    if(_T_35_param__T_50_en & _T_35_param__T_50_mask) begin
      _T_35_param[_T_35_param__T_50_addr] <= _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
    end
    if(_T_35_size__T_50_en & _T_35_size__T_50_mask) begin
      _T_35_size[_T_35_size__T_50_addr] <= _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
    end
    if(_T_35_source__T_50_en & _T_35_source__T_50_mask) begin
      _T_35_source[_T_35_source__T_50_addr] <= _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
    end
    if(_T_35_sink__T_50_en & _T_35_sink__T_50_mask) begin
      _T_35_sink[_T_35_sink__T_50_addr] <= _T_35_sink__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
    end
    if(_T_35_denied__T_50_en & _T_35_denied__T_50_mask) begin
      _T_35_denied[_T_35_denied__T_50_addr] <= _T_35_denied__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
    end
    if(_T_35_data__T_50_en & _T_35_data__T_50_mask) begin
      _T_35_data[_T_35_data__T_50_addr] <= _T_35_data__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
    end
    if(_T_35_corrupt__T_50_en & _T_35_corrupt__T_50_mask) begin
      _T_35_corrupt[_T_35_corrupt__T_50_addr] <= _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@8870.4]
    end
    if (reset) begin
      value <= 1'h0;
    end else begin
      if (_T_44) begin
        value <= _T_52;
      end
    end
    if (reset) begin
      value_1 <= 1'h0;
    end else begin
      if (_T_47) begin
        value_1 <= _T_54;
      end
    end
    if (reset) begin
      _T_39 <= 1'h0;
    end else begin
      if (_T_55) begin
        _T_39 <= _T_44;
      end
    end
  end
endmodule
module TLBuffer( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8929.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8930.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8931.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8932.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
  wire  Queue_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
  wire  Queue_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
  wire  Queue_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
  wire  Queue_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
  wire [2:0] Queue_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
  wire [2:0] Queue_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
  wire [3:0] Queue_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
  wire  Queue_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
  wire [31:0] Queue_io_enq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
  wire [3:0] Queue_io_enq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
  wire [31:0] Queue_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
  wire  Queue_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
  wire  Queue_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
  wire  Queue_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
  wire [2:0] Queue_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
  wire [2:0] Queue_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
  wire [3:0] Queue_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
  wire  Queue_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
  wire [31:0] Queue_io_deq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
  wire [3:0] Queue_io_deq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
  wire [31:0] Queue_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
  wire  Queue_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
  wire  Queue_1_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
  wire  Queue_1_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
  wire  Queue_1_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
  wire  Queue_1_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
  wire [2:0] Queue_1_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
  wire [1:0] Queue_1_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
  wire [3:0] Queue_1_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
  wire  Queue_1_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
  wire  Queue_1_io_enq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
  wire  Queue_1_io_enq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
  wire [31:0] Queue_1_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
  wire  Queue_1_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
  wire  Queue_1_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
  wire  Queue_1_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
  wire [2:0] Queue_1_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
  wire [1:0] Queue_1_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
  wire [3:0] Queue_1_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
  wire  Queue_1_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
  wire  Queue_1_io_deq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
  wire  Queue_1_io_deq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
  wire [31:0] Queue_1_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
  wire  Queue_1_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
  TLMonitor_3 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@8939.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
  );
  Queue Queue ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8980.4]
    .clock(Queue_clock),
    .reset(Queue_reset),
    .io_enq_ready(Queue_io_enq_ready),
    .io_enq_valid(Queue_io_enq_valid),
    .io_enq_bits_opcode(Queue_io_enq_bits_opcode),
    .io_enq_bits_param(Queue_io_enq_bits_param),
    .io_enq_bits_size(Queue_io_enq_bits_size),
    .io_enq_bits_source(Queue_io_enq_bits_source),
    .io_enq_bits_address(Queue_io_enq_bits_address),
    .io_enq_bits_mask(Queue_io_enq_bits_mask),
    .io_enq_bits_data(Queue_io_enq_bits_data),
    .io_enq_bits_corrupt(Queue_io_enq_bits_corrupt),
    .io_deq_ready(Queue_io_deq_ready),
    .io_deq_valid(Queue_io_deq_valid),
    .io_deq_bits_opcode(Queue_io_deq_bits_opcode),
    .io_deq_bits_param(Queue_io_deq_bits_param),
    .io_deq_bits_size(Queue_io_deq_bits_size),
    .io_deq_bits_source(Queue_io_deq_bits_source),
    .io_deq_bits_address(Queue_io_deq_bits_address),
    .io_deq_bits_mask(Queue_io_deq_bits_mask),
    .io_deq_bits_data(Queue_io_deq_bits_data),
    .io_deq_bits_corrupt(Queue_io_deq_bits_corrupt)
  );
  Queue_1 Queue_1 ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8994.4]
    .clock(Queue_1_clock),
    .reset(Queue_1_reset),
    .io_enq_ready(Queue_1_io_enq_ready),
    .io_enq_valid(Queue_1_io_enq_valid),
    .io_enq_bits_opcode(Queue_1_io_enq_bits_opcode),
    .io_enq_bits_param(Queue_1_io_enq_bits_param),
    .io_enq_bits_size(Queue_1_io_enq_bits_size),
    .io_enq_bits_source(Queue_1_io_enq_bits_source),
    .io_enq_bits_sink(Queue_1_io_enq_bits_sink),
    .io_enq_bits_denied(Queue_1_io_enq_bits_denied),
    .io_enq_bits_data(Queue_1_io_enq_bits_data),
    .io_enq_bits_corrupt(Queue_1_io_enq_bits_corrupt),
    .io_deq_ready(Queue_1_io_deq_ready),
    .io_deq_valid(Queue_1_io_deq_valid),
    .io_deq_bits_opcode(Queue_1_io_deq_bits_opcode),
    .io_deq_bits_param(Queue_1_io_deq_bits_param),
    .io_deq_bits_size(Queue_1_io_deq_bits_size),
    .io_deq_bits_source(Queue_1_io_deq_bits_source),
    .io_deq_bits_sink(Queue_1_io_deq_bits_sink),
    .io_deq_bits_denied(Queue_1_io_deq_bits_denied),
    .io_deq_bits_data(Queue_1_io_deq_bits_data),
    .io_deq_bits_corrupt(Queue_1_io_deq_bits_corrupt)
  );
  assign auto_in_a_ready = Queue_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@8979.4]
  assign auto_in_d_valid = Queue_1_io_deq_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@8979.4]
  assign auto_in_d_bits_opcode = Queue_1_io_deq_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@8979.4]
  assign auto_in_d_bits_param = Queue_1_io_deq_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@8979.4]
  assign auto_in_d_bits_size = Queue_1_io_deq_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@8979.4]
  assign auto_in_d_bits_source = Queue_1_io_deq_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@8979.4]
  assign auto_in_d_bits_sink = Queue_1_io_deq_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@8979.4]
  assign auto_in_d_bits_denied = Queue_1_io_deq_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@8979.4]
  assign auto_in_d_bits_data = Queue_1_io_deq_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@8979.4]
  assign auto_in_d_bits_corrupt = Queue_1_io_deq_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@8979.4]
  assign auto_out_a_valid = Queue_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@8978.4]
  assign auto_out_a_bits_opcode = Queue_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@8978.4]
  assign auto_out_a_bits_param = Queue_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@8978.4]
  assign auto_out_a_bits_size = Queue_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@8978.4]
  assign auto_out_a_bits_source = Queue_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@8978.4]
  assign auto_out_a_bits_address = Queue_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@8978.4]
  assign auto_out_a_bits_mask = Queue_io_deq_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@8978.4]
  assign auto_out_a_bits_data = Queue_io_deq_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@8978.4]
  assign auto_out_a_bits_corrupt = Queue_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@8978.4]
  assign auto_out_d_ready = Queue_1_io_enq_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@8978.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8941.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8942.4]
  assign TLMonitor_io_in_a_ready = Queue_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
  assign TLMonitor_io_in_d_valid = Queue_1_io_deq_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
  assign TLMonitor_io_in_d_bits_opcode = Queue_1_io_deq_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
  assign TLMonitor_io_in_d_bits_param = Queue_1_io_deq_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
  assign TLMonitor_io_in_d_bits_size = Queue_1_io_deq_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
  assign TLMonitor_io_in_d_bits_source = Queue_1_io_deq_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
  assign TLMonitor_io_in_d_bits_sink = Queue_1_io_deq_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
  assign TLMonitor_io_in_d_bits_denied = Queue_1_io_deq_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
  assign TLMonitor_io_in_d_bits_corrupt = Queue_1_io_deq_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@8975.4]
  assign Queue_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8981.4]
  assign Queue_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8982.4]
  assign Queue_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8983.4]
  assign Queue_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8991.4]
  assign Queue_io_enq_bits_param = auto_in_a_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8990.4]
  assign Queue_io_enq_bits_size = auto_in_a_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8989.4]
  assign Queue_io_enq_bits_source = auto_in_a_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8988.4]
  assign Queue_io_enq_bits_address = auto_in_a_bits_address; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8987.4]
  assign Queue_io_enq_bits_mask = auto_in_a_bits_mask; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8986.4]
  assign Queue_io_enq_bits_data = auto_in_a_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8985.4]
  assign Queue_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8984.4]
  assign Queue_io_deq_ready = auto_out_a_ready; // @[Buffer.scala 38:13:shc.marmotcaravel.MarmotCaravelConfig.fir@8993.4]
  assign Queue_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8995.4]
  assign Queue_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@8996.4]
  assign Queue_1_io_enq_valid = auto_out_d_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@8997.4]
  assign Queue_1_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9005.4]
  assign Queue_1_io_enq_bits_param = auto_out_d_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9004.4]
  assign Queue_1_io_enq_bits_size = auto_out_d_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9003.4]
  assign Queue_1_io_enq_bits_source = auto_out_d_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9002.4]
  assign Queue_1_io_enq_bits_sink = auto_out_d_bits_sink; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9001.4]
  assign Queue_1_io_enq_bits_denied = auto_out_d_bits_denied; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9000.4]
  assign Queue_1_io_enq_bits_data = auto_out_d_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8999.4]
  assign Queue_1_io_enq_bits_corrupt = auto_out_d_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@8998.4]
  assign Queue_1_io_deq_ready = auto_in_d_ready; // @[Buffer.scala 39:13:shc.marmotcaravel.MarmotCaravelConfig.fir@9007.4]
endmodule
module TLMonitor_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9022.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9023.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9024.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@9025.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@10815.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@9041.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@9046.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@9048.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@9049.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@9050.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@9051.6]
  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@9051.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9052.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9054.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@9055.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@9057.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9058.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@9059.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@9060.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@9061.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9063.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9064.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9066.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9067.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@9069.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@9070.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9071.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9072.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9073.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9074.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9075.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9076.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9077.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9078.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9079.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9080.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9081.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9082.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@9083.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@9084.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@9085.6]
  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9089.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9110.6]
  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9113.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9114.8]
  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9115.8]
  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9116.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9117.8]
  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9118.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9119.8]
  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9120.8]
  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9121.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9122.8]
  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9123.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9124.8]
  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9125.8]
  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9126.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9127.8]
  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9128.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9129.8]
  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.8]
  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9131.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9132.8]
  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9133.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9134.8]
  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9135.8]
  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9136.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9137.8]
  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9138.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9139.8]
  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9140.8]
  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9141.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9142.8]
  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9143.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9144.8]
  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9145.8]
  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9146.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9147.8]
  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9148.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9149.8]
  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9150.8]
  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9151.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9152.8]
  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9153.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9154.8]
  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9155.8]
  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9156.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9157.8]
  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9158.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9159.8]
  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9160.8]
  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9161.8]
  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9162.8]
  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9165.8]
  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9166.8]
  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9167.8]
  wire [31:0] _T_147; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9168.8]
  wire [32:0] _T_148; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9169.8]
  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9170.8]
  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9171.8]
  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9172.8]
  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9173.8]
  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9174.8]
  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9175.8]
  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9176.8]
  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9177.8]
  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9178.8]
  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9179.8]
  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9180.8]
  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9181.8]
  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9182.8]
  wire  _T_162; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9183.8]
  wire  _T_163; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9184.8]
  wire  _T_164; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9185.8]
  wire  _T_165; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9186.8]
  wire  _T_179; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9200.8]
  wire  _T_184; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9213.8]
  wire  _T_185; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9214.8]
  wire  _T_188; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9221.8]
  wire  _T_189; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9222.8]
  wire  _T_191; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9228.8]
  wire  _T_192; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9229.8]
  wire  _T_193; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9234.8]
  wire  _T_195; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9236.8]
  wire  _T_196; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9237.8]
  wire [3:0] _T_197; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9242.8]
  wire  _T_198; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@9243.8]
  wire  _T_200; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9245.8]
  wire  _T_201; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9246.8]
  wire  _T_202; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9251.8]
  wire  _T_204; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9253.8]
  wire  _T_205; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9254.8]
  wire  _T_206; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9260.6]
  wire  _T_313; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@9392.8]
  wire  _T_315; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9394.8]
  wire  _T_316; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9395.8]
  wire  _T_326; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9418.6]
  wire  _T_328; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9421.8]
  wire  _T_336; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@9429.8]
  wire  _T_338; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9431.8]
  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9499.8]
  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9500.8]
  wire  _T_408; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9501.8]
  wire  _T_409; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9502.8]
  wire  _T_410; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9503.8]
  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9504.8]
  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9505.8]
  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9506.8]
  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9507.8]
  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9508.8]
  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9509.8]
  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9510.8]
  wire  _T_418; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@9511.8]
  wire  _T_420; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@9513.8]
  wire  _T_422; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9515.8]
  wire  _T_423; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9516.8]
  wire  _T_430; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@9535.8]
  wire  _T_432; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9537.8]
  wire  _T_433; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9538.8]
  wire  _T_434; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9543.8]
  wire  _T_436; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9545.8]
  wire  _T_437; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9546.8]
  wire  _T_442; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9560.6]
  wire  _T_515; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9634.8]
  wire  _T_516; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9635.8]
  wire  _T_517; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9636.8]
  wire  _T_518; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9637.8]
  wire  _T_519; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9638.8]
  wire  _T_520; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9639.8]
  wire  _T_521; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9640.8]
  wire  _T_522; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@9641.8]
  wire  _T_537; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@9656.8]
  wire  _T_540; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9659.8]
  wire  _T_541; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9660.8]
  wire  _T_556; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9696.6]
  wire [3:0] _T_666; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@9823.8]
  wire [3:0] _T_667; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@9824.8]
  wire  _T_668; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@9825.8]
  wire  _T_670; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9827.8]
  wire  _T_671; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9828.8]
  wire  _T_672; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9834.6]
  wire  _T_674; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9837.8]
  wire  _T_741; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9904.8]
  wire  _T_742; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9905.8]
  wire  _T_743; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9906.8]
  wire  _T_744; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9907.8]
  wire  _T_745; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9908.8]
  wire  _T_746; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9909.8]
  wire  _T_747; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9910.8]
  wire  _T_748; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@9911.8]
  wire  _T_765; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9928.8]
  wire  _T_766; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9929.8]
  wire  _T_773; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@9948.8]
  wire  _T_775; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9950.8]
  wire  _T_776; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9951.8]
  wire  _T_781; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9965.6]
  wire  _T_882; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@10079.8]
  wire  _T_884; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10081.8]
  wire  _T_885; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10082.8]
  wire  _T_890; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10096.6]
  wire  _T_983; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10190.8]
  wire  _T_984; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10191.8]
  wire  _T_999; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10229.6]
  wire  _T_1001; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10231.6]
  wire  _T_1002; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10232.6]
  wire  _T_1004; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@10238.6]
  wire  _T_1013; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@10243.6]
  wire  _T_1015; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10245.6]
  wire  _T_1017; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10248.8]
  wire  _T_1018; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10249.8]
  wire  _T_1019; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10254.8]
  wire  _T_1021; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10256.8]
  wire  _T_1022; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10257.8]
  wire  _T_1023; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10262.8]
  wire  _T_1025; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10264.8]
  wire  _T_1026; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10265.8]
  wire  _T_1027; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@10270.8]
  wire  _T_1029; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10272.8]
  wire  _T_1030; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10273.8]
  wire  _T_1031; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@10278.8]
  wire  _T_1033; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10280.8]
  wire  _T_1034; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10281.8]
  wire  _T_1035; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10287.6]
  wire  _T_1046; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@10311.8]
  wire  _T_1048; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10313.8]
  wire  _T_1049; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10314.8]
  wire  _T_1050; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10319.8]
  wire  _T_1052; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10321.8]
  wire  _T_1053; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10322.8]
  wire  _T_1063; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10345.6]
  wire  _T_1083; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@10386.8]
  wire  _T_1085; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10388.8]
  wire  _T_1086; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10389.8]
  wire  _T_1092; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10404.6]
  wire  _T_1109; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10439.6]
  wire  _T_1127; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10475.6]
  wire  _T_1156; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10535.4]
  wire [9:0] _T_1161; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@10540.4]
  wire  _T_1162; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@10541.4]
  wire  _T_1163; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10542.4]
  reg [9:0] _T_1166; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10544.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1167; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10545.4]
  wire [10:0] _T_1168; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10546.4]
  wire [9:0] _T_1169; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10547.4]
  wire  _T_1170; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10548.4]
  reg [2:0] _T_1179; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10559.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1181; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10560.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1183; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10561.4]
  reg [31:0] _RAND_3;
  reg  _T_1185; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10562.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_1187; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10563.4]
  reg [31:0] _RAND_5;
  wire  _T_1188; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10564.4]
  wire  _T_1189; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10565.4]
  wire  _T_1190; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10567.6]
  wire  _T_1192; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10569.6]
  wire  _T_1193; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10570.6]
  wire  _T_1194; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10575.6]
  wire  _T_1196; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10577.6]
  wire  _T_1197; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10578.6]
  wire  _T_1198; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10583.6]
  wire  _T_1200; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10585.6]
  wire  _T_1201; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10586.6]
  wire  _T_1202; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10591.6]
  wire  _T_1204; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10593.6]
  wire  _T_1205; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10594.6]
  wire  _T_1206; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10599.6]
  wire  _T_1208; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10601.6]
  wire  _T_1209; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10602.6]
  wire  _T_1211; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@10609.4]
  wire  _T_1212; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10617.4]
  wire [26:0] _T_1214; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@10619.4]
  wire [11:0] _T_1215; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@10620.4]
  wire [11:0] _T_1216; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@10621.4]
  wire [9:0] _T_1217; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@10622.4]
  wire  _T_1218; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@10623.4]
  reg [9:0] _T_1221; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10625.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_1222; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10626.4]
  wire [10:0] _T_1223; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10627.4]
  wire [9:0] _T_1224; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10628.4]
  wire  _T_1225; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10629.4]
  reg [2:0] _T_1234; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10640.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_1236; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10641.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_1238; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10642.4]
  reg [31:0] _RAND_9;
  reg  _T_1240; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10643.4]
  reg [31:0] _RAND_10;
  reg  _T_1242; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10644.4]
  reg [31:0] _RAND_11;
  reg  _T_1244; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10645.4]
  reg [31:0] _RAND_12;
  wire  _T_1245; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10646.4]
  wire  _T_1246; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10647.4]
  wire  _T_1247; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10649.6]
  wire  _T_1249; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10651.6]
  wire  _T_1250; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10652.6]
  wire  _T_1251; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10657.6]
  wire  _T_1253; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10659.6]
  wire  _T_1254; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10660.6]
  wire  _T_1255; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10665.6]
  wire  _T_1257; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10667.6]
  wire  _T_1258; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10668.6]
  wire  _T_1259; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10673.6]
  wire  _T_1261; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10675.6]
  wire  _T_1262; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10676.6]
  wire  _T_1263; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10681.6]
  wire  _T_1265; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10683.6]
  wire  _T_1266; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10684.6]
  wire  _T_1267; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10689.6]
  wire  _T_1269; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10691.6]
  wire  _T_1270; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10692.6]
  wire  _T_1272; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@10699.4]
  reg [1:0] _T_1274; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10708.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1285; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10718.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1286; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10719.4]
  wire [10:0] _T_1287; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10720.4]
  wire [9:0] _T_1288; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10721.4]
  wire  _T_1289; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10722.4]
  reg [9:0] _T_1306; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10741.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1307; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10742.4]
  wire [10:0] _T_1308; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10743.4]
  wire [9:0] _T_1309; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10744.4]
  wire  _T_1310; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10745.4]
  wire  _T_1321; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10760.4]
  wire [1:0] _T_1323; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@10763.6]
  wire [1:0] _T_1324; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@10765.6]
  wire  _T_1325; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@10766.6]
  wire  _T_1326; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10767.6]
  wire  _T_1328; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10769.6]
  wire  _T_1329; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10770.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@10762.4]
  wire  _T_1334; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10781.4]
  wire  _T_1336; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@10783.4]
  wire  _T_1337; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@10784.4]
  wire [1:0] _T_1338; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@10786.6]
  wire [1:0] _T_1339; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@10788.6]
  wire [1:0] _T_1340; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@10789.6]
  wire  _T_1341; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@10790.6]
  wire  _T_1343; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10792.6]
  wire  _T_1344; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10793.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@10785.4]
  wire  _T_1345; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@10799.4]
  wire  _T_1346; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@10800.4]
  wire  _T_1347; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@10801.4]
  wire  _T_1348; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@10802.4]
  wire  _T_1350; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10804.4]
  wire  _T_1351; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10805.4]
  wire [1:0] _T_1352; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10810.4]
  wire [1:0] _T_1353; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@10811.4]
  wire [1:0] _T_1354; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@10812.4]
  reg [31:0] _T_1356; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10814.4]
  reg [31:0] _RAND_16;
  wire  _T_1357; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@10817.4]
  wire  _T_1358; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10818.4]
  wire  _T_1359; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@10819.4]
  wire  _T_1360; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10820.4]
  wire  _T_1361; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@10821.4]
  wire  _T_1362; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@10822.4]
  wire  _T_1364; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10824.4]
  wire  _T_1365; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10825.4]
  wire [31:0] _T_1367; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@10831.4]
  wire  _T_1370; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10835.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9202.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9352.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9518.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9662.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9798.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9931.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10062.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10193.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10251.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10293.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10351.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10410.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10445.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10481.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@10815.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@9041.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@9046.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@9048.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@9049.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@9050.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@9051.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@9051.6]
  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@9052.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9054.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@9055.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@9057.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@9058.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@9059.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@9060.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@9061.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9063.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9064.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9066.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9067.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@9068.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@9069.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@9070.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9071.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9072.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9073.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9074.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9075.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9076.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9077.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9078.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9079.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9080.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@9081.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@9082.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@9083.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@9084.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@9085.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9089.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9110.6]
  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9113.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9114.8]
  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9115.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9116.8]
  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9117.8]
  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9118.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9119.8]
  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9120.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9121.8]
  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9122.8]
  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9123.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9124.8]
  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9125.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9126.8]
  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9127.8]
  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9128.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9129.8]
  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9130.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9131.8]
  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9132.8]
  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9133.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9134.8]
  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9135.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9136.8]
  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9137.8]
  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9138.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9139.8]
  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9140.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9141.8]
  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9142.8]
  assign _T_122 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9143.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9144.8]
  assign _T_124 = $signed(_T_123) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9145.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9146.8]
  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9147.8]
  assign _T_127 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9148.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9149.8]
  assign _T_129 = $signed(_T_128) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9150.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9151.8]
  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9152.8]
  assign _T_132 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9153.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9154.8]
  assign _T_134 = $signed(_T_133) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9155.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9156.8]
  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9157.8]
  assign _T_137 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9158.8]
  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9159.8]
  assign _T_139 = $signed(_T_138) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9160.8]
  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9161.8]
  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9162.8]
  assign _T_144 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9165.8]
  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9166.8]
  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9167.8]
  assign _T_147 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9168.8]
  assign _T_148 = {1'b0,$signed(_T_147)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9169.8]
  assign _T_149 = $signed(_T_148) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9170.8]
  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9171.8]
  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9172.8]
  assign _T_152 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9173.8]
  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9174.8]
  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9175.8]
  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9176.8]
  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9177.8]
  assign _T_157 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@9178.8]
  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@9179.8]
  assign _T_159 = $signed(_T_158) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9180.8]
  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@9181.8]
  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@9182.8]
  assign _T_162 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9183.8]
  assign _T_163 = _T_162 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9184.8]
  assign _T_164 = _T_163 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9185.8]
  assign _T_165 = _T_164 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9186.8]
  assign _T_179 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9200.8]
  assign _T_184 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9213.8]
  assign _T_185 = _T_184 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9214.8]
  assign _T_188 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9221.8]
  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9222.8]
  assign _T_191 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9228.8]
  assign _T_192 = _T_191 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9229.8]
  assign _T_193 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9234.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9236.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9237.8]
  assign _T_197 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9242.8]
  assign _T_198 = _T_197 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@9243.8]
  assign _T_200 = _T_198 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9245.8]
  assign _T_201 = _T_200 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9246.8]
  assign _T_202 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@9251.8]
  assign _T_204 = _T_202 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9253.8]
  assign _T_205 = _T_204 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9254.8]
  assign _T_206 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9260.6]
  assign _T_313 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@9392.8]
  assign _T_315 = _T_313 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9394.8]
  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9395.8]
  assign _T_326 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9418.6]
  assign _T_328 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9421.8]
  assign _T_336 = _T_328 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@9429.8]
  assign _T_338 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9431.8]
  assign _T_406 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9499.8]
  assign _T_407 = _T_406 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9500.8]
  assign _T_408 = _T_407 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9501.8]
  assign _T_409 = _T_408 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9502.8]
  assign _T_410 = _T_409 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9503.8]
  assign _T_411 = _T_410 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9504.8]
  assign _T_412 = _T_411 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9505.8]
  assign _T_413 = _T_412 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9506.8]
  assign _T_414 = _T_413 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9507.8]
  assign _T_415 = _T_414 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9508.8]
  assign _T_416 = _T_415 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9509.8]
  assign _T_417 = _T_416 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9510.8]
  assign _T_418 = _T_338 & _T_417; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@9511.8]
  assign _T_420 = _T_336 | _T_418; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@9513.8]
  assign _T_422 = _T_420 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9515.8]
  assign _T_423 = _T_422 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9516.8]
  assign _T_430 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@9535.8]
  assign _T_432 = _T_430 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9537.8]
  assign _T_433 = _T_432 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9538.8]
  assign _T_434 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@9543.8]
  assign _T_436 = _T_434 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9545.8]
  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9546.8]
  assign _T_442 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9560.6]
  assign _T_515 = _T_408 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9634.8]
  assign _T_516 = _T_515 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9635.8]
  assign _T_517 = _T_516 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9636.8]
  assign _T_518 = _T_517 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9637.8]
  assign _T_519 = _T_518 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9638.8]
  assign _T_520 = _T_519 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9639.8]
  assign _T_521 = _T_520 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9640.8]
  assign _T_522 = _T_338 & _T_521; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@9641.8]
  assign _T_537 = _T_336 | _T_522; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@9656.8]
  assign _T_540 = _T_537 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9659.8]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9660.8]
  assign _T_556 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9696.6]
  assign _T_666 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@9823.8]
  assign _T_667 = io_in_a_bits_mask & _T_666; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@9824.8]
  assign _T_668 = _T_667 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@9825.8]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9827.8]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9828.8]
  assign _T_672 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9834.6]
  assign _T_674 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9837.8]
  assign _T_741 = _T_165 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9904.8]
  assign _T_742 = _T_741 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9905.8]
  assign _T_743 = _T_742 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9906.8]
  assign _T_744 = _T_743 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9907.8]
  assign _T_745 = _T_744 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9908.8]
  assign _T_746 = _T_745 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9909.8]
  assign _T_747 = _T_746 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@9910.8]
  assign _T_748 = _T_674 & _T_747; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@9911.8]
  assign _T_765 = _T_748 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9928.8]
  assign _T_766 = _T_765 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9929.8]
  assign _T_773 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@9948.8]
  assign _T_775 = _T_773 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9950.8]
  assign _T_776 = _T_775 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9951.8]
  assign _T_781 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@9965.6]
  assign _T_882 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@10079.8]
  assign _T_884 = _T_882 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10081.8]
  assign _T_885 = _T_884 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10082.8]
  assign _T_890 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10096.6]
  assign _T_983 = _T_336 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10190.8]
  assign _T_984 = _T_983 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10191.8]
  assign _T_999 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10229.6]
  assign _T_1001 = _T_999 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10231.6]
  assign _T_1002 = _T_1001 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10232.6]
  assign _T_1004 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@10238.6]
  assign _T_1013 = io_in_d_bits_source | _T_1004; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@10243.6]
  assign _T_1015 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10245.6]
  assign _T_1017 = _T_1013 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10248.8]
  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10249.8]
  assign _T_1019 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10254.8]
  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10256.8]
  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10257.8]
  assign _T_1023 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10262.8]
  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10264.8]
  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10265.8]
  assign _T_1027 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@10270.8]
  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10272.8]
  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10273.8]
  assign _T_1031 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@10278.8]
  assign _T_1033 = _T_1031 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10280.8]
  assign _T_1034 = _T_1033 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10281.8]
  assign _T_1035 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10287.6]
  assign _T_1046 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@10311.8]
  assign _T_1048 = _T_1046 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10313.8]
  assign _T_1049 = _T_1048 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10314.8]
  assign _T_1050 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10319.8]
  assign _T_1052 = _T_1050 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10321.8]
  assign _T_1053 = _T_1052 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10322.8]
  assign _T_1063 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10345.6]
  assign _T_1083 = _T_1031 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@10386.8]
  assign _T_1085 = _T_1083 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10388.8]
  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10389.8]
  assign _T_1092 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10404.6]
  assign _T_1109 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10439.6]
  assign _T_1127 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10475.6]
  assign _T_1156 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10535.4]
  assign _T_1161 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@10540.4]
  assign _T_1162 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@10541.4]
  assign _T_1163 = _T_1162 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10542.4]
  assign _T_1167 = _T_1166 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10545.4]
  assign _T_1168 = $unsigned(_T_1167); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10546.4]
  assign _T_1169 = _T_1168[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10547.4]
  assign _T_1170 = _T_1166 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10548.4]
  assign _T_1188 = _T_1170 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10564.4]
  assign _T_1189 = io_in_a_valid & _T_1188; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10565.4]
  assign _T_1190 = io_in_a_bits_opcode == _T_1179; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10567.6]
  assign _T_1192 = _T_1190 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10569.6]
  assign _T_1193 = _T_1192 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10570.6]
  assign _T_1194 = io_in_a_bits_param == _T_1181; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10575.6]
  assign _T_1196 = _T_1194 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10577.6]
  assign _T_1197 = _T_1196 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10578.6]
  assign _T_1198 = io_in_a_bits_size == _T_1183; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10583.6]
  assign _T_1200 = _T_1198 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10585.6]
  assign _T_1201 = _T_1200 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10586.6]
  assign _T_1202 = io_in_a_bits_source == _T_1185; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10591.6]
  assign _T_1204 = _T_1202 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10593.6]
  assign _T_1205 = _T_1204 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10594.6]
  assign _T_1206 = io_in_a_bits_address == _T_1187; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10599.6]
  assign _T_1208 = _T_1206 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10601.6]
  assign _T_1209 = _T_1208 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10602.6]
  assign _T_1211 = _T_1156 & _T_1170; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@10609.4]
  assign _T_1212 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10617.4]
  assign _T_1214 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@10619.4]
  assign _T_1215 = _T_1214[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@10620.4]
  assign _T_1216 = ~ _T_1215; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@10621.4]
  assign _T_1217 = _T_1216[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@10622.4]
  assign _T_1218 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@10623.4]
  assign _T_1222 = _T_1221 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10626.4]
  assign _T_1223 = $unsigned(_T_1222); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10627.4]
  assign _T_1224 = _T_1223[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10628.4]
  assign _T_1225 = _T_1221 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10629.4]
  assign _T_1245 = _T_1225 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@10646.4]
  assign _T_1246 = io_in_d_valid & _T_1245; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10647.4]
  assign _T_1247 = io_in_d_bits_opcode == _T_1234; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10649.6]
  assign _T_1249 = _T_1247 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10651.6]
  assign _T_1250 = _T_1249 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10652.6]
  assign _T_1251 = io_in_d_bits_param == _T_1236; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10657.6]
  assign _T_1253 = _T_1251 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10659.6]
  assign _T_1254 = _T_1253 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10660.6]
  assign _T_1255 = io_in_d_bits_size == _T_1238; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10665.6]
  assign _T_1257 = _T_1255 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10667.6]
  assign _T_1258 = _T_1257 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10668.6]
  assign _T_1259 = io_in_d_bits_source == _T_1240; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10673.6]
  assign _T_1261 = _T_1259 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10675.6]
  assign _T_1262 = _T_1261 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10676.6]
  assign _T_1263 = io_in_d_bits_sink == _T_1242; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10681.6]
  assign _T_1265 = _T_1263 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10683.6]
  assign _T_1266 = _T_1265 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10684.6]
  assign _T_1267 = io_in_d_bits_denied == _T_1244; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@10689.6]
  assign _T_1269 = _T_1267 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10691.6]
  assign _T_1270 = _T_1269 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10692.6]
  assign _T_1272 = _T_1212 & _T_1225; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@10699.4]
  assign _T_1286 = _T_1285 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10719.4]
  assign _T_1287 = $unsigned(_T_1286); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10720.4]
  assign _T_1288 = _T_1287[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10721.4]
  assign _T_1289 = _T_1285 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10722.4]
  assign _T_1307 = _T_1306 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10742.4]
  assign _T_1308 = $unsigned(_T_1307); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10743.4]
  assign _T_1309 = _T_1308[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10744.4]
  assign _T_1310 = _T_1306 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10745.4]
  assign _T_1321 = _T_1156 & _T_1289; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10760.4]
  assign _T_1323 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@10763.6]
  assign _T_1324 = _T_1274 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@10765.6]
  assign _T_1325 = _T_1324[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@10766.6]
  assign _T_1326 = _T_1325 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10767.6]
  assign _T_1328 = _T_1326 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10769.6]
  assign _T_1329 = _T_1328 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10770.6]
  assign _GEN_15 = _T_1321 ? _T_1323 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@10762.4]
  assign _T_1334 = _T_1212 & _T_1310; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10781.4]
  assign _T_1336 = _T_1015 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@10783.4]
  assign _T_1337 = _T_1334 & _T_1336; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@10784.4]
  assign _T_1338 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@10786.6]
  assign _T_1339 = _GEN_15 | _T_1274; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@10788.6]
  assign _T_1340 = _T_1339 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@10789.6]
  assign _T_1341 = _T_1340[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@10790.6]
  assign _T_1343 = _T_1341 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10792.6]
  assign _T_1344 = _T_1343 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10793.6]
  assign _GEN_16 = _T_1337 ? _T_1338 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@10785.4]
  assign _T_1345 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@10799.4]
  assign _T_1346 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@10800.4]
  assign _T_1347 = _T_1346 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@10801.4]
  assign _T_1348 = _T_1345 | _T_1347; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@10802.4]
  assign _T_1350 = _T_1348 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10804.4]
  assign _T_1351 = _T_1350 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10805.4]
  assign _T_1352 = _T_1274 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10810.4]
  assign _T_1353 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@10811.4]
  assign _T_1354 = _T_1352 & _T_1353; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@10812.4]
  assign _T_1357 = _T_1274 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@10817.4]
  assign _T_1358 = _T_1357 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10818.4]
  assign _T_1359 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@10819.4]
  assign _T_1360 = _T_1358 | _T_1359; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10820.4]
  assign _T_1361 = _T_1356 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@10821.4]
  assign _T_1362 = _T_1360 | _T_1361; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@10822.4]
  assign _T_1364 = _T_1362 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10824.4]
  assign _T_1365 = _T_1364 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10825.4]
  assign _T_1367 = _T_1356 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@10831.4]
  assign _T_1370 = _T_1156 | _T_1212; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@10835.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9202.10]
  assign _GEN_35 = io_in_a_valid & _T_206; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9352.10]
  assign _GEN_53 = io_in_a_valid & _T_326; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9518.10]
  assign _GEN_65 = io_in_a_valid & _T_442; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9662.10]
  assign _GEN_75 = io_in_a_valid & _T_556; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9798.10]
  assign _GEN_85 = io_in_a_valid & _T_672; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9931.10]
  assign _GEN_95 = io_in_a_valid & _T_781; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10062.10]
  assign _GEN_105 = io_in_a_valid & _T_890; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10193.10]
  assign _GEN_115 = io_in_d_valid & _T_1015; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10251.10]
  assign _GEN_125 = io_in_d_valid & _T_1035; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10293.10]
  assign _GEN_137 = io_in_d_valid & _T_1063; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10351.10]
  assign _GEN_149 = io_in_d_valid & _T_1092; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10410.10]
  assign _GEN_155 = io_in_d_valid & _T_1109; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10445.10]
  assign _GEN_161 = io_in_d_valid & _T_1127; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10481.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_1166 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1179 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1181 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1183 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1185 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1187 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1221 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1234 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1236 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1238 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1240 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1242 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1244 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1274 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1285 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1306 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1356 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1166 <= 10'h0;
    end else begin
      if (_T_1156) begin
        if (_T_1170) begin
          if (_T_1163) begin
            _T_1166 <= _T_1161;
          end else begin
            _T_1166 <= 10'h0;
          end
        end else begin
          _T_1166 <= _T_1169;
        end
      end
    end
    if (_T_1211) begin
      _T_1179 <= io_in_a_bits_opcode;
    end
    if (_T_1211) begin
      _T_1181 <= io_in_a_bits_param;
    end
    if (_T_1211) begin
      _T_1183 <= io_in_a_bits_size;
    end
    if (_T_1211) begin
      _T_1185 <= io_in_a_bits_source;
    end
    if (_T_1211) begin
      _T_1187 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1221 <= 10'h0;
    end else begin
      if (_T_1212) begin
        if (_T_1225) begin
          if (_T_1218) begin
            _T_1221 <= _T_1217;
          end else begin
            _T_1221 <= 10'h0;
          end
        end else begin
          _T_1221 <= _T_1224;
        end
      end
    end
    if (_T_1272) begin
      _T_1234 <= io_in_d_bits_opcode;
    end
    if (_T_1272) begin
      _T_1236 <= io_in_d_bits_param;
    end
    if (_T_1272) begin
      _T_1238 <= io_in_d_bits_size;
    end
    if (_T_1272) begin
      _T_1240 <= io_in_d_bits_source;
    end
    if (_T_1272) begin
      _T_1242 <= io_in_d_bits_sink;
    end
    if (_T_1272) begin
      _T_1244 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1274 <= 2'h0;
    end else begin
      _T_1274 <= _T_1354;
    end
    if (reset) begin
      _T_1285 <= 10'h0;
    end else begin
      if (_T_1156) begin
        if (_T_1289) begin
          if (_T_1163) begin
            _T_1285 <= _T_1161;
          end else begin
            _T_1285 <= 10'h0;
          end
        end else begin
          _T_1285 <= _T_1288;
        end
      end
    end
    if (reset) begin
      _T_1306 <= 10'h0;
    end else begin
      if (_T_1212) begin
        if (_T_1310) begin
          if (_T_1218) begin
            _T_1306 <= _T_1217;
          end else begin
            _T_1306 <= 10'h0;
          end
        end else begin
          _T_1306 <= _T_1309;
        end
      end
    end
    if (reset) begin
      _T_1356 <= 32'h0;
    end else begin
      if (_T_1370) begin
        _T_1356 <= 32'h0;
      end else begin
        _T_1356 <= _T_1367;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@9037.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@9038.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@9107.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@9108.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9202.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9203.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9209.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9210.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9216.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_185) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9217.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9224.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9225.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9231.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_192) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9232.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9239.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_196) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9240.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9248.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_201) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9249.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9256.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_205) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9257.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9352.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9353.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9359.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9360.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9366.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_185) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9367.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9374.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_189) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9375.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9381.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_192) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9382.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9389.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_196) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9390.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_316) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9397.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_316) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9398.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9406.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_201) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9407.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9414.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_205) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9415.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_423) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9518.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_423) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9519.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9525.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_185) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9526.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9532.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_192) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9533.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9540.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_433) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9541.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9548.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_437) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9549.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9556.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_205) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9557.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9662.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_541) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9663.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9669.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_185) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9670.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9676.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_192) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9677.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9684.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_433) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9685.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9692.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_437) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9693.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9798.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_541) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9799.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9805.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_185) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9806.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9812.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_192) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9813.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9820.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_433) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9821.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9830.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_671) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9831.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_766) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9931.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_766) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9932.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9938.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_185) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9939.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9945.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_192) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9946.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_776) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9953.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_776) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9954.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9961.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_437) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@9962.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_766) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10062.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_766) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10063.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10069.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_185) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10070.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10076.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_192) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10077.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_885) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10084.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_885) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10085.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10092.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_437) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10093.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_984) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10193.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_984) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10194.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10200.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_185) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10201.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10207.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_192) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10208.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10215.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_437) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10216.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10223.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_205) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10224.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_1002) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10234.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_1002) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10235.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10251.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1018) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10252.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10259.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1022) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10260.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10267.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1026) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10268.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10275.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1030) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10276.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1034) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10283.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1034) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10284.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10293.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1018) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10294.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10300.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_179) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10301.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10308.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1022) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10309.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1049) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10316.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1049) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10317.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1053) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10324.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1053) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10325.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10332.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1030) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10333.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10341.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10342.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10351.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1018) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10352.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10358.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_179) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10359.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10366.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1022) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10367.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1049) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10374.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1049) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10375.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1053) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10382.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1053) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10383.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1086) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10391.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1086) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10392.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10400.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10401.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10410.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1018) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10411.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10418.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1026) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10419.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10426.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1030) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10427.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10435.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10436.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10445.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1018) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10446.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10453.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1026) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10454.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1086) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10462.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1086) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10463.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10471.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10472.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10481.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1018) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10482.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10489.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1026) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10490.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10497.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1030) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10498.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10506.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10507.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10516.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10517.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10524.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10525.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10532.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10533.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1193) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10572.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1193) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10573.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1197) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10580.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1197) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10581.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10588.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1201) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10589.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10596.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1205) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10597.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1209) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10604.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1209) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10605.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1250) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10654.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1250) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10655.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1254) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10662.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1254) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10663.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1258) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10670.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1258) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10671.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1262) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10678.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1262) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10679.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1266) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10686.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1266) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10687.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1270) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10694.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1270) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@10695.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1321 & _T_1329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10772.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1321 & _T_1329) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10773.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1337 & _T_1344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10795.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1337 & _T_1344) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10796.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1351) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10807.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1351) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@10808.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1365) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10827.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1365) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@10828.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLAtomicAutomata( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10840.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10841.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10842.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10843.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
  reg [1:0] _T_258_0_state; // @[AtomicAutomata.scala 74:28:shc.marmotcaravel.MarmotCaravelConfig.fir@10897.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_269_0_bits_opcode; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10898.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_269_0_bits_param; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10898.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_269_0_bits_size; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10898.4]
  reg [31:0] _RAND_3;
  reg  _T_269_0_bits_source; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10898.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_269_0_bits_address; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10898.4]
  reg [31:0] _RAND_5;
  reg [3:0] _T_269_0_bits_mask; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10898.4]
  reg [31:0] _RAND_6;
  reg [31:0] _T_269_0_bits_data; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10898.4]
  reg [31:0] _RAND_7;
  reg  _T_269_0_bits_corrupt; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10898.4]
  reg [31:0] _RAND_8;
  reg [2:0] _T_269_0_fifoId; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10898.4]
  reg [31:0] _RAND_9;
  reg [3:0] _T_269_0_lut; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10898.4]
  reg [31:0] _RAND_10;
  reg [31:0] _T_276_0_data; // @[AtomicAutomata.scala 76:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10899.4]
  reg [31:0] _RAND_11;
  reg  _T_276_0_denied; // @[AtomicAutomata.scala 76:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10899.4]
  reg [31:0] _RAND_12;
  reg  _T_276_0_corrupt; // @[AtomicAutomata.scala 76:24:shc.marmotcaravel.MarmotCaravelConfig.fir@10899.4]
  reg [31:0] _RAND_13;
  wire  _T_280; // @[AtomicAutomata.scala 78:44:shc.marmotcaravel.MarmotCaravelConfig.fir@10900.4]
  wire  _T_281; // @[AtomicAutomata.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@10901.4]
  wire  _T_282; // @[AtomicAutomata.scala 80:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10902.4]
  wire  _T_284; // @[AtomicAutomata.scala 80:57:shc.marmotcaravel.MarmotCaravelConfig.fir@10904.4]
  wire  _T_285; // @[AtomicAutomata.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10905.4]
  wire  _T_287; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10907.4]
  wire [31:0] _T_290; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10910.4]
  wire [32:0] _T_291; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10911.4]
  wire [32:0] _T_292; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10912.4]
  wire [32:0] _T_293; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10913.4]
  wire  _T_294; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@10914.4]
  wire [31:0] _T_295; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10915.4]
  wire [32:0] _T_296; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10916.4]
  wire [32:0] _T_297; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10917.4]
  wire [32:0] _T_298; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10918.4]
  wire  _T_299; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@10919.4]
  wire [31:0] _T_300; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10920.4]
  wire [32:0] _T_301; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10921.4]
  wire [32:0] _T_302; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10922.4]
  wire [32:0] _T_303; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10923.4]
  wire  _T_304; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@10924.4]
  wire  _T_305; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10925.4]
  wire  _T_306; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10926.4]
  wire  _T_307; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@10927.4]
  wire  _T_308; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@10928.4]
  wire [31:0] _T_310; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10930.4]
  wire [32:0] _T_311; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10931.4]
  wire [32:0] _T_312; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10932.4]
  wire [32:0] _T_313; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10933.4]
  wire  _T_314; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@10934.4]
  wire  _T_315; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@10935.4]
  wire [31:0] _T_327; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10947.4]
  wire [32:0] _T_328; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10948.4]
  wire [32:0] _T_333; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10953.4]
  wire [31:0] _T_337; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10957.4]
  wire [32:0] _T_338; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10958.4]
  wire  _T_354; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@10974.4]
  wire  _T_428; // @[AtomicAutomata.scala 88:47:shc.marmotcaravel.MarmotCaravelConfig.fir@11048.4]
  wire  _T_429; // @[AtomicAutomata.scala 89:47:shc.marmotcaravel.MarmotCaravelConfig.fir@11049.4]
  wire  _T_430; // @[AtomicAutomata.scala 90:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11050.4]
  wire  _T_431; // @[AtomicAutomata.scala 90:32:shc.marmotcaravel.MarmotCaravelConfig.fir@11051.4]
  wire [31:0] _T_470; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11090.4]
  wire [32:0] _T_471; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11091.4]
  wire [32:0] _T_472; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11092.4]
  wire [32:0] _T_473; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11093.4]
  wire  _T_474; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11094.4]
  wire [32:0] _T_477; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11097.4]
  wire [32:0] _T_478; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11098.4]
  wire  _T_479; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11099.4]
  wire [32:0] _T_482; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11102.4]
  wire [32:0] _T_483; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11103.4]
  wire  _T_484; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11104.4]
  wire [32:0] _T_487; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11107.4]
  wire [32:0] _T_488; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11108.4]
  wire  _T_489; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11109.4]
  wire [32:0] _T_492; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11112.4]
  wire [32:0] _T_493; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11113.4]
  wire  _T_494; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11114.4]
  wire [1:0] _T_497; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11116.4]
  wire [1:0] _T_498; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11117.4]
  wire [2:0] _T_499; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11118.4]
  wire [2:0] _T_500; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11119.4]
  wire [1:0] _T_503; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11122.4]
  wire [2:0] _GEN_39; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11123.4]
  wire [2:0] _T_504; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11123.4]
  wire [2:0] _T_505; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11124.4]
  wire [2:0] _GEN_40; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11125.4]
  wire [2:0] _T_506; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11125.4]
  wire  _T_509; // @[AtomicAutomata.scala 103:60:shc.marmotcaravel.MarmotCaravelConfig.fir@11128.4]
  wire  _T_510; // @[AtomicAutomata.scala 103:96:shc.marmotcaravel.MarmotCaravelConfig.fir@11129.4]
  wire  _T_514; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11133.4]
  wire  _T_515; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11134.4]
  wire [1:0] _T_516; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11135.4]
  wire  _T_517; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11136.4]
  wire  _T_518; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11137.4]
  wire [1:0] _T_519; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11138.4]
  wire  _T_520; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11139.4]
  wire  _T_521; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11140.4]
  wire [1:0] _T_522; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11141.4]
  wire  _T_523; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11142.4]
  wire  _T_524; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11143.4]
  wire [1:0] _T_525; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11144.4]
  wire  _T_526; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11145.4]
  wire  _T_527; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11146.4]
  wire [1:0] _T_528; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11147.4]
  wire  _T_529; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11148.4]
  wire  _T_530; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11149.4]
  wire [1:0] _T_531; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11150.4]
  wire  _T_532; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11151.4]
  wire  _T_533; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11152.4]
  wire [1:0] _T_534; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11153.4]
  wire  _T_535; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11154.4]
  wire  _T_536; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11155.4]
  wire [1:0] _T_537; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11156.4]
  wire  _T_538; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11157.4]
  wire  _T_539; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11158.4]
  wire [1:0] _T_540; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11159.4]
  wire  _T_541; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11160.4]
  wire  _T_542; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11161.4]
  wire [1:0] _T_543; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11162.4]
  wire  _T_544; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11163.4]
  wire  _T_545; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11164.4]
  wire [1:0] _T_546; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11165.4]
  wire  _T_547; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11166.4]
  wire  _T_548; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11167.4]
  wire [1:0] _T_549; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11168.4]
  wire  _T_550; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11169.4]
  wire  _T_551; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11170.4]
  wire [1:0] _T_552; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11171.4]
  wire  _T_553; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11172.4]
  wire  _T_554; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11173.4]
  wire [1:0] _T_555; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11174.4]
  wire  _T_556; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11175.4]
  wire  _T_557; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11176.4]
  wire [1:0] _T_558; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11177.4]
  wire  _T_559; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11178.4]
  wire  _T_560; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11179.4]
  wire [1:0] _T_561; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11180.4]
  wire  _T_562; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11181.4]
  wire  _T_563; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11182.4]
  wire [1:0] _T_564; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11183.4]
  wire  _T_565; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11184.4]
  wire  _T_566; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11185.4]
  wire [1:0] _T_567; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11186.4]
  wire  _T_568; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11187.4]
  wire  _T_569; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11188.4]
  wire [1:0] _T_570; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11189.4]
  wire  _T_571; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11190.4]
  wire  _T_572; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11191.4]
  wire [1:0] _T_573; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11192.4]
  wire  _T_574; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11193.4]
  wire  _T_575; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11194.4]
  wire [1:0] _T_576; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11195.4]
  wire  _T_577; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11196.4]
  wire  _T_578; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11197.4]
  wire [1:0] _T_579; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11198.4]
  wire  _T_580; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11199.4]
  wire  _T_581; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11200.4]
  wire [1:0] _T_582; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11201.4]
  wire  _T_583; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11202.4]
  wire  _T_584; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11203.4]
  wire [1:0] _T_585; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11204.4]
  wire  _T_586; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11205.4]
  wire  _T_587; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11206.4]
  wire [1:0] _T_588; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11207.4]
  wire  _T_589; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11208.4]
  wire  _T_590; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11209.4]
  wire [1:0] _T_591; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11210.4]
  wire  _T_592; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11211.4]
  wire  _T_593; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11212.4]
  wire [1:0] _T_594; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11213.4]
  wire  _T_595; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11214.4]
  wire  _T_596; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11215.4]
  wire [1:0] _T_597; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11216.4]
  wire  _T_598; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11217.4]
  wire  _T_599; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11218.4]
  wire [1:0] _T_600; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11219.4]
  wire  _T_601; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11220.4]
  wire  _T_602; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11221.4]
  wire [1:0] _T_603; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11222.4]
  wire  _T_604; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11223.4]
  wire  _T_605; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11224.4]
  wire [1:0] _T_606; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11225.4]
  wire  _T_607; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11226.4]
  wire  _T_608; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11227.4]
  wire [1:0] _T_609; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11228.4]
  wire [3:0] _T_610; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11229.4]
  wire  _T_611; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11230.4]
  wire [3:0] _T_612; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11231.4]
  wire  _T_613; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11232.4]
  wire [3:0] _T_614; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11233.4]
  wire  _T_615; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11234.4]
  wire [3:0] _T_616; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11235.4]
  wire  _T_617; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11236.4]
  wire [3:0] _T_618; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11237.4]
  wire  _T_619; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11238.4]
  wire [3:0] _T_620; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11239.4]
  wire  _T_621; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11240.4]
  wire [3:0] _T_622; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11241.4]
  wire  _T_623; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11242.4]
  wire [3:0] _T_624; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11243.4]
  wire  _T_625; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11244.4]
  wire [3:0] _T_626; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11245.4]
  wire  _T_627; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11246.4]
  wire [3:0] _T_628; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11247.4]
  wire  _T_629; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11248.4]
  wire [3:0] _T_630; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11249.4]
  wire  _T_631; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11250.4]
  wire [3:0] _T_632; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11251.4]
  wire  _T_633; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11252.4]
  wire [3:0] _T_634; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11253.4]
  wire  _T_635; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11254.4]
  wire [3:0] _T_636; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11255.4]
  wire  _T_637; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11256.4]
  wire [3:0] _T_638; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11257.4]
  wire  _T_639; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11258.4]
  wire [3:0] _T_640; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11259.4]
  wire  _T_641; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11260.4]
  wire [3:0] _T_642; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11261.4]
  wire  _T_643; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11262.4]
  wire [3:0] _T_644; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11263.4]
  wire  _T_645; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11264.4]
  wire [3:0] _T_646; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11265.4]
  wire  _T_647; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11266.4]
  wire [3:0] _T_648; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11267.4]
  wire  _T_649; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11268.4]
  wire [3:0] _T_650; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11269.4]
  wire  _T_651; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11270.4]
  wire [3:0] _T_652; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11271.4]
  wire  _T_653; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11272.4]
  wire [3:0] _T_654; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11273.4]
  wire  _T_655; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11274.4]
  wire [3:0] _T_656; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11275.4]
  wire  _T_657; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11276.4]
  wire [3:0] _T_658; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11277.4]
  wire  _T_659; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11278.4]
  wire [3:0] _T_660; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11279.4]
  wire  _T_661; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11280.4]
  wire [3:0] _T_662; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11281.4]
  wire  _T_663; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11282.4]
  wire [3:0] _T_664; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11283.4]
  wire  _T_665; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11284.4]
  wire [3:0] _T_666; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11285.4]
  wire  _T_667; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11286.4]
  wire [3:0] _T_668; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11287.4]
  wire  _T_669; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11288.4]
  wire [3:0] _T_670; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11289.4]
  wire  _T_671; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11290.4]
  wire [3:0] _T_672; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11291.4]
  wire  _T_673; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11292.4]
  wire [1:0] _T_674; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11293.4]
  wire [1:0] _T_675; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11294.4]
  wire [3:0] _T_676; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11295.4]
  wire [1:0] _T_677; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11296.4]
  wire [1:0] _T_678; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11297.4]
  wire [3:0] _T_679; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11298.4]
  wire [7:0] _T_680; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11299.4]
  wire [1:0] _T_681; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11300.4]
  wire [1:0] _T_682; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11301.4]
  wire [3:0] _T_683; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11302.4]
  wire [1:0] _T_684; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11303.4]
  wire [1:0] _T_685; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11304.4]
  wire [3:0] _T_686; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11305.4]
  wire [7:0] _T_687; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11306.4]
  wire [15:0] _T_688; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11307.4]
  wire [1:0] _T_689; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11308.4]
  wire [1:0] _T_690; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11309.4]
  wire [3:0] _T_691; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11310.4]
  wire [1:0] _T_692; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11311.4]
  wire [1:0] _T_693; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11312.4]
  wire [3:0] _T_694; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11313.4]
  wire [7:0] _T_695; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11314.4]
  wire [1:0] _T_696; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11315.4]
  wire [1:0] _T_697; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11316.4]
  wire [3:0] _T_698; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11317.4]
  wire [1:0] _T_699; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11318.4]
  wire [1:0] _T_700; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11319.4]
  wire [3:0] _T_701; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11320.4]
  wire [7:0] _T_702; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11321.4]
  wire [15:0] _T_703; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11322.4]
  wire [31:0] _T_704; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11323.4]
  wire  _T_705; // @[AtomicAutomata.scala 115:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11324.4]
  wire  _T_706; // @[AtomicAutomata.scala 116:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11325.4]
  wire  _T_707; // @[AtomicAutomata.scala 117:39:shc.marmotcaravel.MarmotCaravelConfig.fir@11326.4]
  wire [3:0] _T_708; // @[AtomicAutomata.scala 119:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11327.4]
  wire [2:0] _T_709; // @[AtomicAutomata.scala 119:39:shc.marmotcaravel.MarmotCaravelConfig.fir@11328.4]
  wire [3:0] _GEN_41; // @[AtomicAutomata.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11329.4]
  wire [3:0] _T_710; // @[AtomicAutomata.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11329.4]
  wire [3:0] _T_711; // @[AtomicAutomata.scala 119:23:shc.marmotcaravel.MarmotCaravelConfig.fir@11330.4]
  wire [1:0] _T_716; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11335.4]
  wire [1:0] _T_717; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11336.4]
  wire [3:0] _T_718; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11337.4]
  wire [1:0] _T_723; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11342.4]
  wire [1:0] _T_724; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11343.4]
  wire [3:0] _T_725; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11344.4]
  wire [3:0] _T_726; // @[AtomicAutomata.scala 123:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11345.4]
  wire [4:0] _GEN_42; // @[AtomicAutomata.scala 123:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11346.4]
  wire [4:0] _T_727; // @[AtomicAutomata.scala 123:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11346.4]
  wire [3:0] _T_728; // @[AtomicAutomata.scala 123:54:shc.marmotcaravel.MarmotCaravelConfig.fir@11347.4]
  wire [3:0] _T_729; // @[AtomicAutomata.scala 124:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11348.4]
  wire [4:0] _GEN_43; // @[AtomicAutomata.scala 124:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11349.4]
  wire [4:0] _T_730; // @[AtomicAutomata.scala 124:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11349.4]
  wire [3:0] _T_731; // @[AtomicAutomata.scala 124:54:shc.marmotcaravel.MarmotCaravelConfig.fir@11350.4]
  wire [4:0] _GEN_44; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11351.4]
  wire [4:0] _T_732; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11351.4]
  wire [3:0] _T_733; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11352.4]
  wire [3:0] _T_734; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11353.4]
  wire [5:0] _GEN_45; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11354.4]
  wire [5:0] _T_735; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11354.4]
  wire [3:0] _T_736; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11355.4]
  wire [3:0] _T_737; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11356.4]
  wire  _T_739; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11358.4]
  wire  _T_740; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11359.4]
  wire  _T_741; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11360.4]
  wire  _T_742; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11361.4]
  wire [7:0] _T_744; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11363.4]
  wire [7:0] _T_746; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11365.4]
  wire [7:0] _T_748; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11367.4]
  wire [7:0] _T_750; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11369.4]
  wire [15:0] _T_751; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11370.4]
  wire [15:0] _T_752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11371.4]
  wire [31:0] _T_753; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11372.4]
  wire [4:0] _GEN_46; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11373.4]
  wire [4:0] _T_754; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11373.4]
  wire [3:0] _T_755; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11374.4]
  wire [3:0] _T_756; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11375.4]
  wire [5:0] _GEN_47; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11376.4]
  wire [5:0] _T_757; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11376.4]
  wire [3:0] _T_758; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11377.4]
  wire [3:0] _T_759; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11378.4]
  wire  _T_761; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11380.4]
  wire  _T_762; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11381.4]
  wire  _T_763; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11382.4]
  wire  _T_764; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11383.4]
  wire [7:0] _T_766; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11385.4]
  wire [7:0] _T_768; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11387.4]
  wire [7:0] _T_770; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11389.4]
  wire [7:0] _T_772; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11391.4]
  wire [15:0] _T_773; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11392.4]
  wire [15:0] _T_774; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11393.4]
  wire [31:0] _T_775; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11394.4]
  wire  _T_776; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11395.4]
  wire  _T_777; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11396.4]
  wire  _T_778; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11397.4]
  wire  _T_779; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11398.4]
  wire [7:0] _T_781; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11400.4]
  wire [7:0] _T_783; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11402.4]
  wire [7:0] _T_785; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11404.4]
  wire [7:0] _T_787; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11406.4]
  wire [15:0] _T_788; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11407.4]
  wire [15:0] _T_789; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11408.4]
  wire [31:0] _T_790; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11409.4]
  wire [31:0] _T_791; // @[AtomicAutomata.scala 129:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11410.4]
  wire [31:0] _T_792; // @[AtomicAutomata.scala 129:41:shc.marmotcaravel.MarmotCaravelConfig.fir@11411.4]
  wire [31:0] _T_793; // @[AtomicAutomata.scala 130:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11412.4]
  wire [31:0] _T_794; // @[AtomicAutomata.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@11413.4]
  wire [31:0] _T_795; // @[AtomicAutomata.scala 131:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11414.4]
  wire [31:0] _T_796; // @[AtomicAutomata.scala 131:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11415.4]
  wire [31:0] _T_798; // @[AtomicAutomata.scala 132:33:shc.marmotcaravel.MarmotCaravelConfig.fir@11417.4]
  wire  _T_799; // @[AtomicAutomata.scala 134:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11418.4]
  wire  _T_800; // @[AtomicAutomata.scala 134:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11419.4]
  wire  _T_802; // @[AtomicAutomata.scala 135:50:shc.marmotcaravel.MarmotCaravelConfig.fir@11421.4]
  wire  _T_803; // @[AtomicAutomata.scala 135:39:shc.marmotcaravel.MarmotCaravelConfig.fir@11422.4]
  wire  _T_804; // @[AtomicAutomata.scala 135:65:shc.marmotcaravel.MarmotCaravelConfig.fir@11423.4]
  wire  _T_805; // @[AtomicAutomata.scala 135:55:shc.marmotcaravel.MarmotCaravelConfig.fir@11424.4]
  wire  _T_806; // @[AtomicAutomata.scala 135:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11425.4]
  wire  _T_807; // @[AtomicAutomata.scala 136:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11426.4]
  wire [31:0] _T_808; // @[AtomicAutomata.scala 137:50:shc.marmotcaravel.MarmotCaravelConfig.fir@11427.4]
  wire [31:0] _T_809; // @[AtomicAutomata.scala 137:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11428.4]
  wire  _T_810; // @[AtomicAutomata.scala 143:34:shc.marmotcaravel.MarmotCaravelConfig.fir@11429.4]
  wire [31:0] _T_811; // @[AtomicAutomata.scala 143:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11430.4]
  wire  _T_815; // @[AtomicAutomata.scala 147:23:shc.marmotcaravel.MarmotCaravelConfig.fir@11433.4]
  wire  _T_816; // @[AtomicAutomata.scala 147:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11434.4]
  wire  _T_817; // @[AtomicAutomata.scala 147:35:shc.marmotcaravel.MarmotCaravelConfig.fir@11435.4]
  reg [9:0] _T_941; // @[Arbiter.scala 53:30:shc.marmotcaravel.MarmotCaravelConfig.fir@11574.4]
  reg [31:0] _RAND_14;
  wire  _T_942; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11575.4]
  wire  _T_819; // @[AtomicAutomata.scala 149:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11438.4]
  wire [1:0] _T_944; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11577.4]
  wire [2:0] _GEN_48; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11578.4]
  wire [2:0] _T_945; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11578.4]
  wire [1:0] _T_946; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11579.4]
  wire [1:0] _T_947; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11580.4]
  wire [2:0] _GEN_49; // @[Arbiter.scala 15:78:shc.marmotcaravel.MarmotCaravelConfig.fir@11582.4]
  wire [2:0] _T_949; // @[Arbiter.scala 15:78:shc.marmotcaravel.MarmotCaravelConfig.fir@11582.4]
  wire [1:0] _T_950; // @[Arbiter.scala 15:83:shc.marmotcaravel.MarmotCaravelConfig.fir@11583.4]
  wire [1:0] _T_951; // @[Arbiter.scala 15:61:shc.marmotcaravel.MarmotCaravelConfig.fir@11584.4]
  wire  _T_953; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11586.4]
  reg  _T_1015_1; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11637.4]
  reg [31:0] _RAND_15;
  wire  _T_1034_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11640.4]
  wire  _T_1043; // @[Arbiter.scala 84:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11643.4]
  wire  _T_820; // @[AtomicAutomata.scala 151:15:shc.marmotcaravel.MarmotCaravelConfig.fir@11441.4]
  wire [2:0] _GEN_0; // @[AtomicAutomata.scala 151:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11442.4]
  wire [2:0] _GEN_1; // @[AtomicAutomata.scala 151:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11442.4]
  wire  _T_824; // @[AtomicAutomata.scala 164:45:shc.marmotcaravel.MarmotCaravelConfig.fir@11449.4]
  wire  _T_900; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11530.4]
  wire [1:0] _T_901; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11531.4]
  wire [1:0] _T_903; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@11533.4]
  wire  _T_904; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@11534.4]
  wire  _T_905; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11535.4]
  wire  _T_906; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11536.4]
  wire  _T_907; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@11537.4]
  wire  _T_909; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11539.4]
  wire  _T_910; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11540.4]
  wire  _T_912; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11542.4]
  wire  _T_913; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11543.4]
  wire  _T_914; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11544.4]
  wire  _T_915; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11545.4]
  wire  _T_916; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@11546.4]
  wire  _T_917; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11547.4]
  wire  _T_918; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11548.4]
  wire  _T_919; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11549.4]
  wire  _T_920; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11550.4]
  wire  _T_921; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11551.4]
  wire  _T_922; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11552.4]
  wire  _T_923; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11553.4]
  wire  _T_924; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11554.4]
  wire  _T_925; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11555.4]
  wire  _T_926; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11556.4]
  wire  _T_927; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11557.4]
  wire  _T_928; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11558.4]
  wire [1:0] _T_929; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11559.4]
  wire [1:0] _T_930; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11560.4]
  wire [3:0] _T_931; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11561.4]
  wire [26:0] _T_933; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@11567.4]
  wire [11:0] _T_934; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@11568.4]
  wire [11:0] _T_935; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11569.4]
  wire [9:0] _T_936; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@11570.4]
  wire  _T_937; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11571.4]
  wire  _T_938; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11572.4]
  wire  _T_943; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11576.4]
  wire  _T_952; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11585.4]
  wire  _T_962; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@11591.4]
  wire  _T_963; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@11592.4]
  wire  _T_973; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11598.4]
  wire  _T_975; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@11600.4]
  wire  _T_978; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@11603.4]
  wire  _T_979; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@11604.4]
  wire  _T_982; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11607.4]
  wire  _T_983; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11608.4]
  wire  _T_984; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11613.4]
  wire  _T_985; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@11614.4]
  wire  _T_987; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@11616.4]
  wire  _T_989; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11618.4]
  wire  _T_990; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11619.4]
  reg  _T_1015_0; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11637.4]
  reg [31:0] _RAND_16;
  wire  _T_1046; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11646.4]
  wire  _T_1047; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11647.4]
  wire  _T_1048; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11648.4]
  wire  _T_1051; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11651.4]
  wire  _T_994; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11627.4]
  wire [9:0] _GEN_50; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11628.4]
  wire [10:0] _T_995; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11628.4]
  wire [10:0] _T_996; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11629.4]
  wire [9:0] _T_997; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11630.4]
  wire  _T_1026_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11638.4]
  wire  _T_1026_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11638.4]
  wire  _T_1034_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11640.4]
  wire  _T_1042; // @[Arbiter.scala 84:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11641.4]
  wire [32:0] _T_1053; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11653.4]
  wire [35:0] _T_1054; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11654.4]
  wire [68:0] _T_1055; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11655.4]
  wire [4:0] _T_1056; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11656.4]
  wire [10:0] _T_1058; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11658.4]
  wire [79:0] _T_1059; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11659.4]
  wire [79:0] _T_1060; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11660.4]
  wire [32:0] _T_1061; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11661.4]
  wire [35:0] _T_1062; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11662.4]
  wire [68:0] _T_1063; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11663.4]
  wire [4:0] _T_1064; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11664.4]
  wire [5:0] _T_1065; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11665.4]
  wire [10:0] _T_1066; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11666.4]
  wire [79:0] _T_1067; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11667.4]
  wire [79:0] _T_1068; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11668.4]
  wire [79:0] _T_1069; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11669.4]
  wire  _T_1082; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11690.4]
  wire  _T_1084; // @[AtomicAutomata.scala 170:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11692.4]
  wire [1:0] _T_1085; // @[AtomicAutomata.scala 175:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11697.8]
  wire [2:0] _GEN_51; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11698.8]
  wire  _T_1086; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11698.8]
  wire  _T_1088; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11700.8]
  wire  _T_1090; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11702.8]
  wire  _T_1092; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11704.8]
  wire  _T_1094; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11712.4]
  reg [9:0] _T_1104; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11726.4]
  reg [31:0] _RAND_17;
  wire  _T_1108; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11730.4]
  wire  _T_1120; // @[AtomicAutomata.scala 209:40:shc.marmotcaravel.MarmotCaravelConfig.fir@11745.4]
  wire  _T_1126; // @[AtomicAutomata.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@11761.4]
  wire  _T_1116; // @[AtomicAutomata.scala 200:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11741.4]
  wire  _T_1117; // @[AtomicAutomata.scala 201:83:shc.marmotcaravel.MarmotCaravelConfig.fir@11742.4]
  wire  _T_1127; // @[AtomicAutomata.scala 228:40:shc.marmotcaravel.MarmotCaravelConfig.fir@11762.4]
  wire  _T_1132; // @[AtomicAutomata.scala 232:35:shc.marmotcaravel.MarmotCaravelConfig.fir@11768.4]
  wire  _T_1095; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11718.4]
  wire [26:0] _T_1097; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@11720.4]
  wire [11:0] _T_1098; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@11721.4]
  wire [11:0] _T_1099; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11722.4]
  wire [9:0] _T_1100; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@11723.4]
  wire  _T_1101; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@11724.4]
  wire [10:0] _T_1105; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11727.4]
  wire [10:0] _T_1106; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11728.4]
  wire [9:0] _T_1107; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11729.4]
  wire  _T_1121; // @[AtomicAutomata.scala 210:40:shc.marmotcaravel.MarmotCaravelConfig.fir@11746.4]
  wire  _T_1123; // @[AtomicAutomata.scala 212:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11748.4]
  wire  _T_1124; // @[AtomicAutomata.scala 214:22:shc.marmotcaravel.MarmotCaravelConfig.fir@11750.6]
  wire  _T_1128; // @[AtomicAutomata.scala 229:33:shc.marmotcaravel.MarmotCaravelConfig.fir@11763.4]
  wire  _T_1129; // @[AtomicAutomata.scala 229:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11764.4]
  wire  _T_1130; // @[AtomicAutomata.scala 231:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11765.4]
  wire  _T_1133; // @[AtomicAutomata.scala 238:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11774.6]
  wire  _T_1134; // @[AtomicAutomata.scala 239:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11776.6]
  TLMonitor_4 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@10850.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
  );
  assign _T_280 = _T_258_0_state == 2'h0; // @[AtomicAutomata.scala 78:44:shc.marmotcaravel.MarmotCaravelConfig.fir@10900.4]
  assign _T_281 = _T_258_0_state == 2'h2; // @[AtomicAutomata.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@10901.4]
  assign _T_282 = _T_258_0_state == 2'h3; // @[AtomicAutomata.scala 80:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10902.4]
  assign _T_284 = _T_282 | _T_281; // @[AtomicAutomata.scala 80:57:shc.marmotcaravel.MarmotCaravelConfig.fir@10904.4]
  assign _T_285 = _T_258_0_state != 2'h0; // @[AtomicAutomata.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10905.4]
  assign _T_287 = auto_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10907.4]
  assign _T_290 = auto_in_a_bits_address ^ 32'h1000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10910.4]
  assign _T_291 = {1'b0,$signed(_T_290)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10911.4]
  assign _T_292 = $signed(_T_291) & $signed(33'shee015000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10912.4]
  assign _T_293 = $signed(_T_292); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10913.4]
  assign _T_294 = $signed(_T_293) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@10914.4]
  assign _T_295 = auto_in_a_bits_address ^ 32'h10010000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10915.4]
  assign _T_296 = {1'b0,$signed(_T_295)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10916.4]
  assign _T_297 = $signed(_T_296) & $signed(33'shfe014000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10917.4]
  assign _T_298 = $signed(_T_297); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10918.4]
  assign _T_299 = $signed(_T_298) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@10919.4]
  assign _T_300 = auto_in_a_bits_address ^ 32'h10004000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10920.4]
  assign _T_301 = {1'b0,$signed(_T_300)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10921.4]
  assign _T_302 = $signed(_T_301) & $signed(33'shfe005000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10922.4]
  assign _T_303 = $signed(_T_302); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10923.4]
  assign _T_304 = $signed(_T_303) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@10924.4]
  assign _T_305 = _T_294 | _T_299; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10925.4]
  assign _T_306 = _T_305 | _T_304; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@10926.4]
  assign _T_307 = _T_287 & _T_306; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@10927.4]
  assign _T_308 = 4'h2 == auto_in_a_bits_size; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@10928.4]
  assign _T_310 = auto_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10930.4]
  assign _T_311 = {1'b0,$signed(_T_310)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10931.4]
  assign _T_312 = $signed(_T_311) & $signed(33'shfe014000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10932.4]
  assign _T_313 = $signed(_T_312); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@10933.4]
  assign _T_314 = $signed(_T_313) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@10934.4]
  assign _T_315 = _T_308 & _T_314; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@10935.4]
  assign _T_327 = auto_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10947.4]
  assign _T_328 = {1'b0,$signed(_T_327)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10948.4]
  assign _T_333 = {1'b0,$signed(auto_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10953.4]
  assign _T_337 = auto_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10957.4]
  assign _T_338 = {1'b0,$signed(_T_337)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10958.4]
  assign _T_354 = _T_307 | _T_315; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@10974.4]
  assign _T_428 = auto_in_a_bits_opcode == 3'h3; // @[AtomicAutomata.scala 88:47:shc.marmotcaravel.MarmotCaravelConfig.fir@11048.4]
  assign _T_429 = auto_in_a_bits_opcode == 3'h2; // @[AtomicAutomata.scala 89:47:shc.marmotcaravel.MarmotCaravelConfig.fir@11049.4]
  assign _T_430 = _T_429 ? _T_354 : 1'h1; // @[AtomicAutomata.scala 90:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11050.4]
  assign _T_431 = _T_428 ? _T_354 : _T_430; // @[AtomicAutomata.scala 90:32:shc.marmotcaravel.MarmotCaravelConfig.fir@11051.4]
  assign _T_470 = auto_in_a_bits_address ^ 32'h10000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11090.4]
  assign _T_471 = {1'b0,$signed(_T_470)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11091.4]
  assign _T_472 = $signed(_T_471) & $signed(33'shbe031000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11092.4]
  assign _T_473 = $signed(_T_472); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11093.4]
  assign _T_474 = $signed(_T_473) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11094.4]
  assign _T_477 = $signed(_T_328) & $signed(33'shbe030000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11097.4]
  assign _T_478 = $signed(_T_477); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11098.4]
  assign _T_479 = $signed(_T_478) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11099.4]
  assign _T_482 = $signed(_T_333) & $signed(33'shbe031000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11102.4]
  assign _T_483 = $signed(_T_482); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11103.4]
  assign _T_484 = $signed(_T_483) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11104.4]
  assign _T_487 = $signed(_T_338) & $signed(33'shbe030000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11107.4]
  assign _T_488 = $signed(_T_487); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11108.4]
  assign _T_489 = $signed(_T_488) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11109.4]
  assign _T_492 = $signed(_T_311) & $signed(33'shbe030000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11112.4]
  assign _T_493 = $signed(_T_492); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11113.4]
  assign _T_494 = $signed(_T_493) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11114.4]
  assign _T_497 = _T_489 ? 2'h3 : 2'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11116.4]
  assign _T_498 = _T_484 ? 2'h2 : 2'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11117.4]
  assign _T_499 = _T_494 ? 3'h4 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11118.4]
  assign _T_500 = _T_474 ? 3'h5 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11119.4]
  assign _T_503 = _T_497 | _T_498; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11122.4]
  assign _GEN_39 = {{1'd0}, _T_503}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11123.4]
  assign _T_504 = _GEN_39 | _T_499; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11123.4]
  assign _T_505 = _T_504 | _T_500; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11124.4]
  assign _GEN_40 = {{2'd0}, _T_479}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11125.4]
  assign _T_506 = _T_505 | _GEN_40; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11125.4]
  assign _T_509 = _T_269_0_fifoId == _T_506; // @[AtomicAutomata.scala 103:60:shc.marmotcaravel.MarmotCaravelConfig.fir@11128.4]
  assign _T_510 = _T_284 & _T_509; // @[AtomicAutomata.scala 103:96:shc.marmotcaravel.MarmotCaravelConfig.fir@11129.4]
  assign _T_514 = _T_269_0_bits_data[0]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11133.4]
  assign _T_515 = _T_276_0_data[0]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11134.4]
  assign _T_516 = {_T_514,_T_515}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11135.4]
  assign _T_517 = _T_269_0_bits_data[1]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11136.4]
  assign _T_518 = _T_276_0_data[1]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11137.4]
  assign _T_519 = {_T_517,_T_518}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11138.4]
  assign _T_520 = _T_269_0_bits_data[2]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11139.4]
  assign _T_521 = _T_276_0_data[2]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11140.4]
  assign _T_522 = {_T_520,_T_521}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11141.4]
  assign _T_523 = _T_269_0_bits_data[3]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11142.4]
  assign _T_524 = _T_276_0_data[3]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11143.4]
  assign _T_525 = {_T_523,_T_524}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11144.4]
  assign _T_526 = _T_269_0_bits_data[4]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11145.4]
  assign _T_527 = _T_276_0_data[4]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11146.4]
  assign _T_528 = {_T_526,_T_527}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11147.4]
  assign _T_529 = _T_269_0_bits_data[5]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11148.4]
  assign _T_530 = _T_276_0_data[5]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11149.4]
  assign _T_531 = {_T_529,_T_530}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11150.4]
  assign _T_532 = _T_269_0_bits_data[6]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11151.4]
  assign _T_533 = _T_276_0_data[6]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11152.4]
  assign _T_534 = {_T_532,_T_533}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11153.4]
  assign _T_535 = _T_269_0_bits_data[7]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11154.4]
  assign _T_536 = _T_276_0_data[7]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11155.4]
  assign _T_537 = {_T_535,_T_536}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11156.4]
  assign _T_538 = _T_269_0_bits_data[8]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11157.4]
  assign _T_539 = _T_276_0_data[8]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11158.4]
  assign _T_540 = {_T_538,_T_539}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11159.4]
  assign _T_541 = _T_269_0_bits_data[9]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11160.4]
  assign _T_542 = _T_276_0_data[9]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11161.4]
  assign _T_543 = {_T_541,_T_542}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11162.4]
  assign _T_544 = _T_269_0_bits_data[10]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11163.4]
  assign _T_545 = _T_276_0_data[10]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11164.4]
  assign _T_546 = {_T_544,_T_545}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11165.4]
  assign _T_547 = _T_269_0_bits_data[11]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11166.4]
  assign _T_548 = _T_276_0_data[11]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11167.4]
  assign _T_549 = {_T_547,_T_548}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11168.4]
  assign _T_550 = _T_269_0_bits_data[12]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11169.4]
  assign _T_551 = _T_276_0_data[12]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11170.4]
  assign _T_552 = {_T_550,_T_551}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11171.4]
  assign _T_553 = _T_269_0_bits_data[13]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11172.4]
  assign _T_554 = _T_276_0_data[13]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11173.4]
  assign _T_555 = {_T_553,_T_554}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11174.4]
  assign _T_556 = _T_269_0_bits_data[14]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11175.4]
  assign _T_557 = _T_276_0_data[14]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11176.4]
  assign _T_558 = {_T_556,_T_557}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11177.4]
  assign _T_559 = _T_269_0_bits_data[15]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11178.4]
  assign _T_560 = _T_276_0_data[15]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11179.4]
  assign _T_561 = {_T_559,_T_560}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11180.4]
  assign _T_562 = _T_269_0_bits_data[16]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11181.4]
  assign _T_563 = _T_276_0_data[16]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11182.4]
  assign _T_564 = {_T_562,_T_563}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11183.4]
  assign _T_565 = _T_269_0_bits_data[17]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11184.4]
  assign _T_566 = _T_276_0_data[17]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11185.4]
  assign _T_567 = {_T_565,_T_566}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11186.4]
  assign _T_568 = _T_269_0_bits_data[18]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11187.4]
  assign _T_569 = _T_276_0_data[18]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11188.4]
  assign _T_570 = {_T_568,_T_569}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11189.4]
  assign _T_571 = _T_269_0_bits_data[19]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11190.4]
  assign _T_572 = _T_276_0_data[19]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11191.4]
  assign _T_573 = {_T_571,_T_572}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11192.4]
  assign _T_574 = _T_269_0_bits_data[20]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11193.4]
  assign _T_575 = _T_276_0_data[20]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11194.4]
  assign _T_576 = {_T_574,_T_575}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11195.4]
  assign _T_577 = _T_269_0_bits_data[21]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11196.4]
  assign _T_578 = _T_276_0_data[21]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11197.4]
  assign _T_579 = {_T_577,_T_578}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11198.4]
  assign _T_580 = _T_269_0_bits_data[22]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11199.4]
  assign _T_581 = _T_276_0_data[22]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11200.4]
  assign _T_582 = {_T_580,_T_581}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11201.4]
  assign _T_583 = _T_269_0_bits_data[23]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11202.4]
  assign _T_584 = _T_276_0_data[23]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11203.4]
  assign _T_585 = {_T_583,_T_584}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11204.4]
  assign _T_586 = _T_269_0_bits_data[24]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11205.4]
  assign _T_587 = _T_276_0_data[24]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11206.4]
  assign _T_588 = {_T_586,_T_587}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11207.4]
  assign _T_589 = _T_269_0_bits_data[25]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11208.4]
  assign _T_590 = _T_276_0_data[25]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11209.4]
  assign _T_591 = {_T_589,_T_590}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11210.4]
  assign _T_592 = _T_269_0_bits_data[26]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11211.4]
  assign _T_593 = _T_276_0_data[26]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11212.4]
  assign _T_594 = {_T_592,_T_593}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11213.4]
  assign _T_595 = _T_269_0_bits_data[27]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11214.4]
  assign _T_596 = _T_276_0_data[27]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11215.4]
  assign _T_597 = {_T_595,_T_596}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11216.4]
  assign _T_598 = _T_269_0_bits_data[28]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11217.4]
  assign _T_599 = _T_276_0_data[28]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11218.4]
  assign _T_600 = {_T_598,_T_599}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11219.4]
  assign _T_601 = _T_269_0_bits_data[29]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11220.4]
  assign _T_602 = _T_276_0_data[29]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11221.4]
  assign _T_603 = {_T_601,_T_602}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11222.4]
  assign _T_604 = _T_269_0_bits_data[30]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11223.4]
  assign _T_605 = _T_276_0_data[30]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11224.4]
  assign _T_606 = {_T_604,_T_605}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11225.4]
  assign _T_607 = _T_269_0_bits_data[31]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@11226.4]
  assign _T_608 = _T_276_0_data[31]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@11227.4]
  assign _T_609 = {_T_607,_T_608}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11228.4]
  assign _T_610 = _T_269_0_lut >> _T_516; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11229.4]
  assign _T_611 = _T_610[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11230.4]
  assign _T_612 = _T_269_0_lut >> _T_519; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11231.4]
  assign _T_613 = _T_612[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11232.4]
  assign _T_614 = _T_269_0_lut >> _T_522; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11233.4]
  assign _T_615 = _T_614[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11234.4]
  assign _T_616 = _T_269_0_lut >> _T_525; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11235.4]
  assign _T_617 = _T_616[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11236.4]
  assign _T_618 = _T_269_0_lut >> _T_528; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11237.4]
  assign _T_619 = _T_618[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11238.4]
  assign _T_620 = _T_269_0_lut >> _T_531; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11239.4]
  assign _T_621 = _T_620[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11240.4]
  assign _T_622 = _T_269_0_lut >> _T_534; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11241.4]
  assign _T_623 = _T_622[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11242.4]
  assign _T_624 = _T_269_0_lut >> _T_537; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11243.4]
  assign _T_625 = _T_624[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11244.4]
  assign _T_626 = _T_269_0_lut >> _T_540; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11245.4]
  assign _T_627 = _T_626[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11246.4]
  assign _T_628 = _T_269_0_lut >> _T_543; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11247.4]
  assign _T_629 = _T_628[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11248.4]
  assign _T_630 = _T_269_0_lut >> _T_546; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11249.4]
  assign _T_631 = _T_630[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11250.4]
  assign _T_632 = _T_269_0_lut >> _T_549; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11251.4]
  assign _T_633 = _T_632[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11252.4]
  assign _T_634 = _T_269_0_lut >> _T_552; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11253.4]
  assign _T_635 = _T_634[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11254.4]
  assign _T_636 = _T_269_0_lut >> _T_555; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11255.4]
  assign _T_637 = _T_636[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11256.4]
  assign _T_638 = _T_269_0_lut >> _T_558; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11257.4]
  assign _T_639 = _T_638[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11258.4]
  assign _T_640 = _T_269_0_lut >> _T_561; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11259.4]
  assign _T_641 = _T_640[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11260.4]
  assign _T_642 = _T_269_0_lut >> _T_564; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11261.4]
  assign _T_643 = _T_642[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11262.4]
  assign _T_644 = _T_269_0_lut >> _T_567; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11263.4]
  assign _T_645 = _T_644[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11264.4]
  assign _T_646 = _T_269_0_lut >> _T_570; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11265.4]
  assign _T_647 = _T_646[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11266.4]
  assign _T_648 = _T_269_0_lut >> _T_573; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11267.4]
  assign _T_649 = _T_648[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11268.4]
  assign _T_650 = _T_269_0_lut >> _T_576; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11269.4]
  assign _T_651 = _T_650[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11270.4]
  assign _T_652 = _T_269_0_lut >> _T_579; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11271.4]
  assign _T_653 = _T_652[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11272.4]
  assign _T_654 = _T_269_0_lut >> _T_582; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11273.4]
  assign _T_655 = _T_654[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11274.4]
  assign _T_656 = _T_269_0_lut >> _T_585; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11275.4]
  assign _T_657 = _T_656[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11276.4]
  assign _T_658 = _T_269_0_lut >> _T_588; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11277.4]
  assign _T_659 = _T_658[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11278.4]
  assign _T_660 = _T_269_0_lut >> _T_591; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11279.4]
  assign _T_661 = _T_660[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11280.4]
  assign _T_662 = _T_269_0_lut >> _T_594; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11281.4]
  assign _T_663 = _T_662[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11282.4]
  assign _T_664 = _T_269_0_lut >> _T_597; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11283.4]
  assign _T_665 = _T_664[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11284.4]
  assign _T_666 = _T_269_0_lut >> _T_600; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11285.4]
  assign _T_667 = _T_666[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11286.4]
  assign _T_668 = _T_269_0_lut >> _T_603; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11287.4]
  assign _T_669 = _T_668[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11288.4]
  assign _T_670 = _T_269_0_lut >> _T_606; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11289.4]
  assign _T_671 = _T_670[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11290.4]
  assign _T_672 = _T_269_0_lut >> _T_609; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11291.4]
  assign _T_673 = _T_672[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@11292.4]
  assign _T_674 = {_T_613,_T_611}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11293.4]
  assign _T_675 = {_T_617,_T_615}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11294.4]
  assign _T_676 = {_T_675,_T_674}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11295.4]
  assign _T_677 = {_T_621,_T_619}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11296.4]
  assign _T_678 = {_T_625,_T_623}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11297.4]
  assign _T_679 = {_T_678,_T_677}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11298.4]
  assign _T_680 = {_T_679,_T_676}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11299.4]
  assign _T_681 = {_T_629,_T_627}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11300.4]
  assign _T_682 = {_T_633,_T_631}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11301.4]
  assign _T_683 = {_T_682,_T_681}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11302.4]
  assign _T_684 = {_T_637,_T_635}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11303.4]
  assign _T_685 = {_T_641,_T_639}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11304.4]
  assign _T_686 = {_T_685,_T_684}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11305.4]
  assign _T_687 = {_T_686,_T_683}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11306.4]
  assign _T_688 = {_T_687,_T_680}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11307.4]
  assign _T_689 = {_T_645,_T_643}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11308.4]
  assign _T_690 = {_T_649,_T_647}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11309.4]
  assign _T_691 = {_T_690,_T_689}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11310.4]
  assign _T_692 = {_T_653,_T_651}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11311.4]
  assign _T_693 = {_T_657,_T_655}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11312.4]
  assign _T_694 = {_T_693,_T_692}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11313.4]
  assign _T_695 = {_T_694,_T_691}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11314.4]
  assign _T_696 = {_T_661,_T_659}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11315.4]
  assign _T_697 = {_T_665,_T_663}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11316.4]
  assign _T_698 = {_T_697,_T_696}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11317.4]
  assign _T_699 = {_T_669,_T_667}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11318.4]
  assign _T_700 = {_T_673,_T_671}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11319.4]
  assign _T_701 = {_T_700,_T_699}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11320.4]
  assign _T_702 = {_T_701,_T_698}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11321.4]
  assign _T_703 = {_T_702,_T_695}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11322.4]
  assign _T_704 = {_T_703,_T_688}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11323.4]
  assign _T_705 = _T_269_0_bits_param[1]; // @[AtomicAutomata.scala 115:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11324.4]
  assign _T_706 = _T_269_0_bits_param[0]; // @[AtomicAutomata.scala 116:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11325.4]
  assign _T_707 = _T_269_0_bits_param[2]; // @[AtomicAutomata.scala 117:39:shc.marmotcaravel.MarmotCaravelConfig.fir@11326.4]
  assign _T_708 = ~ _T_269_0_bits_mask; // @[AtomicAutomata.scala 119:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11327.4]
  assign _T_709 = _T_269_0_bits_mask[3:1]; // @[AtomicAutomata.scala 119:39:shc.marmotcaravel.MarmotCaravelConfig.fir@11328.4]
  assign _GEN_41 = {{1'd0}, _T_709}; // @[AtomicAutomata.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11329.4]
  assign _T_710 = _T_708 | _GEN_41; // @[AtomicAutomata.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11329.4]
  assign _T_711 = ~ _T_710; // @[AtomicAutomata.scala 119:23:shc.marmotcaravel.MarmotCaravelConfig.fir@11330.4]
  assign _T_716 = {_T_559,_T_535}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11335.4]
  assign _T_717 = {_T_607,_T_583}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11336.4]
  assign _T_718 = {_T_717,_T_716}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11337.4]
  assign _T_723 = {_T_560,_T_536}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11342.4]
  assign _T_724 = {_T_608,_T_584}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11343.4]
  assign _T_725 = {_T_724,_T_723}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11344.4]
  assign _T_726 = _T_718 & _T_711; // @[AtomicAutomata.scala 123:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11345.4]
  assign _GEN_42 = {{1'd0}, _T_726}; // @[AtomicAutomata.scala 123:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11346.4]
  assign _T_727 = _GEN_42 << 1; // @[AtomicAutomata.scala 123:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11346.4]
  assign _T_728 = _T_727[3:0]; // @[AtomicAutomata.scala 123:54:shc.marmotcaravel.MarmotCaravelConfig.fir@11347.4]
  assign _T_729 = _T_725 & _T_711; // @[AtomicAutomata.scala 124:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11348.4]
  assign _GEN_43 = {{1'd0}, _T_729}; // @[AtomicAutomata.scala 124:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11349.4]
  assign _T_730 = _GEN_43 << 1; // @[AtomicAutomata.scala 124:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11349.4]
  assign _T_731 = _T_730[3:0]; // @[AtomicAutomata.scala 124:54:shc.marmotcaravel.MarmotCaravelConfig.fir@11350.4]
  assign _GEN_44 = {{1'd0}, _T_728}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11351.4]
  assign _T_732 = _GEN_44 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11351.4]
  assign _T_733 = _T_732[3:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11352.4]
  assign _T_734 = _T_728 | _T_733; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11353.4]
  assign _GEN_45 = {{2'd0}, _T_734}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11354.4]
  assign _T_735 = _GEN_45 << 2; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11354.4]
  assign _T_736 = _T_735[3:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11355.4]
  assign _T_737 = _T_734 | _T_736; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11356.4]
  assign _T_739 = _T_737[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11358.4]
  assign _T_740 = _T_737[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11359.4]
  assign _T_741 = _T_737[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11360.4]
  assign _T_742 = _T_737[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11361.4]
  assign _T_744 = _T_739 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11363.4]
  assign _T_746 = _T_740 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11365.4]
  assign _T_748 = _T_741 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11367.4]
  assign _T_750 = _T_742 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11369.4]
  assign _T_751 = {_T_746,_T_744}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11370.4]
  assign _T_752 = {_T_750,_T_748}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11371.4]
  assign _T_753 = {_T_752,_T_751}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11372.4]
  assign _GEN_46 = {{1'd0}, _T_731}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11373.4]
  assign _T_754 = _GEN_46 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11373.4]
  assign _T_755 = _T_754[3:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11374.4]
  assign _T_756 = _T_731 | _T_755; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11375.4]
  assign _GEN_47 = {{2'd0}, _T_756}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11376.4]
  assign _T_757 = _GEN_47 << 2; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11376.4]
  assign _T_758 = _T_757[3:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11377.4]
  assign _T_759 = _T_756 | _T_758; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11378.4]
  assign _T_761 = _T_759[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11380.4]
  assign _T_762 = _T_759[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11381.4]
  assign _T_763 = _T_759[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11382.4]
  assign _T_764 = _T_759[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11383.4]
  assign _T_766 = _T_761 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11385.4]
  assign _T_768 = _T_762 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11387.4]
  assign _T_770 = _T_763 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11389.4]
  assign _T_772 = _T_764 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11391.4]
  assign _T_773 = {_T_768,_T_766}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11392.4]
  assign _T_774 = {_T_772,_T_770}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11393.4]
  assign _T_775 = {_T_774,_T_773}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11394.4]
  assign _T_776 = _T_269_0_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11395.4]
  assign _T_777 = _T_269_0_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11396.4]
  assign _T_778 = _T_269_0_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11397.4]
  assign _T_779 = _T_269_0_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@11398.4]
  assign _T_781 = _T_776 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11400.4]
  assign _T_783 = _T_777 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11402.4]
  assign _T_785 = _T_778 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11404.4]
  assign _T_787 = _T_779 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11406.4]
  assign _T_788 = {_T_783,_T_781}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11407.4]
  assign _T_789 = {_T_787,_T_785}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11408.4]
  assign _T_790 = {_T_789,_T_788}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11409.4]
  assign _T_791 = _T_269_0_bits_data & _T_790; // @[AtomicAutomata.scala 129:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11410.4]
  assign _T_792 = _T_791 | _T_753; // @[AtomicAutomata.scala 129:41:shc.marmotcaravel.MarmotCaravelConfig.fir@11411.4]
  assign _T_793 = _T_276_0_data & _T_790; // @[AtomicAutomata.scala 130:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11412.4]
  assign _T_794 = _T_793 | _T_775; // @[AtomicAutomata.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@11413.4]
  assign _T_795 = ~ _T_794; // @[AtomicAutomata.scala 131:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11414.4]
  assign _T_796 = _T_707 ? _T_794 : _T_795; // @[AtomicAutomata.scala 131:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11415.4]
  assign _T_798 = _T_792 + _T_796; // @[AtomicAutomata.scala 132:33:shc.marmotcaravel.MarmotCaravelConfig.fir@11417.4]
  assign _T_799 = _T_792[31]; // @[AtomicAutomata.scala 134:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11418.4]
  assign _T_800 = _T_705 == _T_799; // @[AtomicAutomata.scala 134:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11419.4]
  assign _T_802 = _T_794[31]; // @[AtomicAutomata.scala 135:50:shc.marmotcaravel.MarmotCaravelConfig.fir@11421.4]
  assign _T_803 = _T_799 == _T_802; // @[AtomicAutomata.scala 135:39:shc.marmotcaravel.MarmotCaravelConfig.fir@11422.4]
  assign _T_804 = _T_798[31]; // @[AtomicAutomata.scala 135:65:shc.marmotcaravel.MarmotCaravelConfig.fir@11423.4]
  assign _T_805 = _T_804 == 1'h0; // @[AtomicAutomata.scala 135:55:shc.marmotcaravel.MarmotCaravelConfig.fir@11424.4]
  assign _T_806 = _T_803 ? _T_805 : _T_800; // @[AtomicAutomata.scala 135:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11425.4]
  assign _T_807 = _T_706 == _T_806; // @[AtomicAutomata.scala 136:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11426.4]
  assign _T_808 = _T_807 ? _T_269_0_bits_data : _T_276_0_data; // @[AtomicAutomata.scala 137:50:shc.marmotcaravel.MarmotCaravelConfig.fir@11427.4]
  assign _T_809 = _T_707 ? _T_798 : _T_808; // @[AtomicAutomata.scala 137:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11428.4]
  assign _T_810 = _T_269_0_bits_opcode[0]; // @[AtomicAutomata.scala 143:34:shc.marmotcaravel.MarmotCaravelConfig.fir@11429.4]
  assign _T_811 = _T_810 ? _T_704 : _T_809; // @[AtomicAutomata.scala 143:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11430.4]
  assign _T_815 = _T_510 == 1'h0; // @[AtomicAutomata.scala 147:23:shc.marmotcaravel.MarmotCaravelConfig.fir@11433.4]
  assign _T_816 = _T_431 | _T_280; // @[AtomicAutomata.scala 147:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11434.4]
  assign _T_817 = _T_815 & _T_816; // @[AtomicAutomata.scala 147:35:shc.marmotcaravel.MarmotCaravelConfig.fir@11435.4]
  assign _T_942 = _T_941 == 10'h0; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11575.4]
  assign _T_819 = auto_in_a_valid & _T_817; // @[AtomicAutomata.scala 149:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11438.4]
  assign _T_944 = {_T_819,_T_281}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11577.4]
  assign _GEN_48 = {{1'd0}, _T_944}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11578.4]
  assign _T_945 = _GEN_48 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@11578.4]
  assign _T_946 = _T_945[1:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11579.4]
  assign _T_947 = _T_944 | _T_946; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@11580.4]
  assign _GEN_49 = {{1'd0}, _T_947}; // @[Arbiter.scala 15:78:shc.marmotcaravel.MarmotCaravelConfig.fir@11582.4]
  assign _T_949 = _GEN_49 << 1; // @[Arbiter.scala 15:78:shc.marmotcaravel.MarmotCaravelConfig.fir@11582.4]
  assign _T_950 = _T_949[1:0]; // @[Arbiter.scala 15:83:shc.marmotcaravel.MarmotCaravelConfig.fir@11583.4]
  assign _T_951 = ~ _T_950; // @[Arbiter.scala 15:61:shc.marmotcaravel.MarmotCaravelConfig.fir@11584.4]
  assign _T_953 = _T_951[1]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11586.4]
  assign _T_1034_1 = _T_942 ? _T_953 : _T_1015_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11640.4]
  assign _T_1043 = auto_out_a_ready & _T_1034_1; // @[Arbiter.scala 84:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11643.4]
  assign _T_820 = _T_431 == 1'h0; // @[AtomicAutomata.scala 151:15:shc.marmotcaravel.MarmotCaravelConfig.fir@11441.4]
  assign _GEN_0 = _T_820 ? 3'h4 : auto_in_a_bits_opcode; // @[AtomicAutomata.scala 151:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11442.4]
  assign _GEN_1 = _T_820 ? 3'h0 : auto_in_a_bits_param; // @[AtomicAutomata.scala 151:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11442.4]
  assign _T_824 = _T_269_0_bits_corrupt | _T_276_0_corrupt; // @[AtomicAutomata.scala 164:45:shc.marmotcaravel.MarmotCaravelConfig.fir@11449.4]
  assign _T_900 = _T_269_0_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11530.4]
  assign _T_901 = 2'h1 << _T_900; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11531.4]
  assign _T_903 = _T_901 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@11533.4]
  assign _T_904 = _T_269_0_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@11534.4]
  assign _T_905 = _T_903[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11535.4]
  assign _T_906 = _T_269_0_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11536.4]
  assign _T_907 = _T_906 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@11537.4]
  assign _T_909 = _T_905 & _T_907; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11539.4]
  assign _T_910 = _T_904 | _T_909; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11540.4]
  assign _T_912 = _T_905 & _T_906; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11542.4]
  assign _T_913 = _T_904 | _T_912; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11543.4]
  assign _T_914 = _T_903[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11544.4]
  assign _T_915 = _T_269_0_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11545.4]
  assign _T_916 = _T_915 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@11546.4]
  assign _T_917 = _T_907 & _T_916; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11547.4]
  assign _T_918 = _T_914 & _T_917; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11548.4]
  assign _T_919 = _T_910 | _T_918; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11549.4]
  assign _T_920 = _T_907 & _T_915; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11550.4]
  assign _T_921 = _T_914 & _T_920; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11551.4]
  assign _T_922 = _T_910 | _T_921; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11552.4]
  assign _T_923 = _T_906 & _T_916; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11553.4]
  assign _T_924 = _T_914 & _T_923; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11554.4]
  assign _T_925 = _T_913 | _T_924; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11555.4]
  assign _T_926 = _T_906 & _T_915; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11556.4]
  assign _T_927 = _T_914 & _T_926; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11557.4]
  assign _T_928 = _T_913 | _T_927; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11558.4]
  assign _T_929 = {_T_922,_T_919}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11559.4]
  assign _T_930 = {_T_928,_T_925}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11560.4]
  assign _T_931 = {_T_930,_T_929}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11561.4]
  assign _T_933 = 27'hfff << auto_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@11567.4]
  assign _T_934 = _T_933[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@11568.4]
  assign _T_935 = ~ _T_934; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11569.4]
  assign _T_936 = _T_935[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@11570.4]
  assign _T_937 = auto_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11571.4]
  assign _T_938 = _T_937 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11572.4]
  assign _T_943 = _T_942 & auto_out_a_ready; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11576.4]
  assign _T_952 = _T_951[0]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11585.4]
  assign _T_962 = _T_952 & _T_281; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@11591.4]
  assign _T_963 = _T_953 & _T_819; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@11592.4]
  assign _T_973 = _T_962 | _T_963; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11598.4]
  assign _T_975 = _T_962 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@11600.4]
  assign _T_978 = _T_963 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@11603.4]
  assign _T_979 = _T_975 | _T_978; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@11604.4]
  assign _T_982 = _T_979 | reset; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11607.4]
  assign _T_983 = _T_982 == 1'h0; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11608.4]
  assign _T_984 = _T_281 | _T_819; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11613.4]
  assign _T_985 = _T_984 == 1'h0; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@11614.4]
  assign _T_987 = _T_985 | _T_973; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@11616.4]
  assign _T_989 = _T_987 | reset; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11618.4]
  assign _T_990 = _T_989 == 1'h0; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11619.4]
  assign _T_1046 = _T_1015_0 ? _T_281 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11646.4]
  assign _T_1047 = _T_1015_1 ? _T_819 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11647.4]
  assign _T_1048 = _T_1046 | _T_1047; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11648.4]
  assign _T_1051 = _T_942 ? _T_984 : _T_1048; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11651.4]
  assign _T_994 = auto_out_a_ready & _T_1051; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11627.4]
  assign _GEN_50 = {{9'd0}, _T_994}; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11628.4]
  assign _T_995 = _T_941 - _GEN_50; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11628.4]
  assign _T_996 = $unsigned(_T_995); // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11629.4]
  assign _T_997 = _T_996[9:0]; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11630.4]
  assign _T_1026_0 = _T_942 ? _T_962 : _T_1015_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11638.4]
  assign _T_1026_1 = _T_942 ? _T_963 : _T_1015_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11638.4]
  assign _T_1034_0 = _T_942 ? _T_952 : _T_1015_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11640.4]
  assign _T_1042 = auto_out_a_ready & _T_1034_0; // @[Arbiter.scala 84:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11641.4]
  assign _T_1053 = {_T_811,_T_824}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11653.4]
  assign _T_1054 = {_T_269_0_bits_address,_T_931}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11654.4]
  assign _T_1055 = {_T_1054,_T_1053}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11655.4]
  assign _T_1056 = {_T_269_0_bits_size,_T_269_0_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11656.4]
  assign _T_1058 = {6'h0,_T_1056}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11658.4]
  assign _T_1059 = {_T_1058,_T_1055}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11659.4]
  assign _T_1060 = _T_1026_0 ? _T_1059 : 80'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11660.4]
  assign _T_1061 = {auto_in_a_bits_data,auto_in_a_bits_corrupt}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11661.4]
  assign _T_1062 = {auto_in_a_bits_address,auto_in_a_bits_mask}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11662.4]
  assign _T_1063 = {_T_1062,_T_1061}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11663.4]
  assign _T_1064 = {auto_in_a_bits_size,auto_in_a_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11664.4]
  assign _T_1065 = {_GEN_0,_GEN_1}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11665.4]
  assign _T_1066 = {_T_1065,_T_1064}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11666.4]
  assign _T_1067 = {_T_1066,_T_1063}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11667.4]
  assign _T_1068 = _T_1026_1 ? _T_1067 : 80'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11668.4]
  assign _T_1069 = _T_1060 | _T_1068; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@11669.4]
  assign _T_1082 = _T_1043 & _T_819; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11690.4]
  assign _T_1084 = _T_1082 & _T_820; // @[AtomicAutomata.scala 170:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11692.4]
  assign _T_1085 = auto_in_a_bits_param[1:0]; // @[AtomicAutomata.scala 175:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11697.8]
  assign _GEN_51 = {{1'd0}, _T_1085}; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11698.8]
  assign _T_1086 = 3'h3 == _GEN_51; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11698.8]
  assign _T_1088 = 3'h0 == _GEN_51; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11700.8]
  assign _T_1090 = 3'h1 == _GEN_51; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11702.8]
  assign _T_1092 = 3'h2 == _GEN_51; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@11704.8]
  assign _T_1094 = _T_1042 & _T_281; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11712.4]
  assign _T_1108 = _T_1104 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11730.4]
  assign _T_1120 = auto_out_d_bits_opcode == 3'h1; // @[AtomicAutomata.scala 209:40:shc.marmotcaravel.MarmotCaravelConfig.fir@11745.4]
  assign _T_1126 = _T_1108 & _T_1120; // @[AtomicAutomata.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@11761.4]
  assign _T_1116 = _T_269_0_bits_source == auto_out_d_bits_source; // @[AtomicAutomata.scala 200:53:shc.marmotcaravel.MarmotCaravelConfig.fir@11741.4]
  assign _T_1117 = _T_1116 & _T_285; // @[AtomicAutomata.scala 201:83:shc.marmotcaravel.MarmotCaravelConfig.fir@11742.4]
  assign _T_1127 = _T_1126 & _T_1117; // @[AtomicAutomata.scala 228:40:shc.marmotcaravel.MarmotCaravelConfig.fir@11762.4]
  assign _T_1132 = auto_in_d_ready | _T_1127; // @[AtomicAutomata.scala 232:35:shc.marmotcaravel.MarmotCaravelConfig.fir@11768.4]
  assign _T_1095 = _T_1132 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@11718.4]
  assign _T_1097 = 27'hfff << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@11720.4]
  assign _T_1098 = _T_1097[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@11721.4]
  assign _T_1099 = ~ _T_1098; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11722.4]
  assign _T_1100 = _T_1099[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@11723.4]
  assign _T_1101 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@11724.4]
  assign _T_1105 = _T_1104 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11727.4]
  assign _T_1106 = $unsigned(_T_1105); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11728.4]
  assign _T_1107 = _T_1106[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11729.4]
  assign _T_1121 = auto_out_d_bits_opcode == 3'h0; // @[AtomicAutomata.scala 210:40:shc.marmotcaravel.MarmotCaravelConfig.fir@11746.4]
  assign _T_1123 = _T_1095 & _T_1108; // @[AtomicAutomata.scala 212:28:shc.marmotcaravel.MarmotCaravelConfig.fir@11748.4]
  assign _T_1124 = _T_1117 & _T_1120; // @[AtomicAutomata.scala 214:22:shc.marmotcaravel.MarmotCaravelConfig.fir@11750.6]
  assign _T_1128 = _T_1108 & _T_1121; // @[AtomicAutomata.scala 229:33:shc.marmotcaravel.MarmotCaravelConfig.fir@11763.4]
  assign _T_1129 = _T_1128 & _T_1117; // @[AtomicAutomata.scala 229:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11764.4]
  assign _T_1130 = _T_1127 == 1'h0; // @[AtomicAutomata.scala 231:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11765.4]
  assign _T_1133 = _T_276_0_corrupt | auto_out_d_bits_denied; // @[AtomicAutomata.scala 238:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11774.6]
  assign _T_1134 = _T_276_0_denied | auto_out_d_bits_denied; // @[AtomicAutomata.scala 239:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11776.6]
  assign auto_in_a_ready = _T_1043 & _T_817; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10890.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_1130; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10890.4]
  assign auto_in_d_bits_opcode = _T_1129 ? 3'h1 : auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10890.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10890.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10890.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10890.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10890.4]
  assign auto_in_d_bits_denied = _T_1129 ? _T_1134 : auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10890.4]
  assign auto_in_d_bits_data = _T_1129 ? _T_276_0_data : auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10890.4]
  assign auto_in_d_bits_corrupt = _T_1129 ? _T_1133 : auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@10890.4]
  assign auto_out_a_valid = _T_942 ? _T_984 : _T_1048; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10889.4]
  assign auto_out_a_bits_opcode = _T_1069[79:77]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10889.4]
  assign auto_out_a_bits_param = _T_1069[76:74]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10889.4]
  assign auto_out_a_bits_size = _T_1069[73:70]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10889.4]
  assign auto_out_a_bits_source = _T_1069[69]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10889.4]
  assign auto_out_a_bits_address = _T_1069[68:37]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10889.4]
  assign auto_out_a_bits_mask = _T_1069[36:33]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10889.4]
  assign auto_out_a_bits_data = _T_1069[32:1]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10889.4]
  assign auto_out_a_bits_corrupt = _T_1069[0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10889.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_1127; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@10889.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10852.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@10853.4]
  assign TLMonitor_io_in_a_ready = _T_1043 & _T_817; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_1130; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
  assign TLMonitor_io_in_d_bits_opcode = _T_1129 ? 3'h1 : auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
  assign TLMonitor_io_in_d_bits_denied = _T_1129 ? _T_1134 : auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
  assign TLMonitor_io_in_d_bits_corrupt = _T_1129 ? _T_1133 : auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@10886.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_258_0_state = _RAND_0[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_269_0_bits_opcode = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_269_0_bits_param = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_269_0_bits_size = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_269_0_bits_source = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_269_0_bits_address = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_269_0_bits_mask = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_269_0_bits_data = _RAND_7[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_269_0_bits_corrupt = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_269_0_fifoId = _RAND_9[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_269_0_lut = _RAND_10[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_276_0_data = _RAND_11[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_276_0_denied = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_276_0_corrupt = _RAND_13[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_941 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1015_1 = _RAND_15[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1015_0 = _RAND_16[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_17 = {1{`RANDOM}};
  _T_1104 = _RAND_17[9:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_258_0_state <= 2'h0;
    end else begin
      if (_T_1123) begin
        if (_T_1117) begin
          if (_T_1120) begin
            _T_258_0_state <= 2'h2;
          end else begin
            _T_258_0_state <= 2'h0;
          end
        end else begin
          if (_T_1094) begin
            if (_T_281) begin
              _T_258_0_state <= 2'h1;
            end else begin
              if (_T_1084) begin
                if (_T_280) begin
                  _T_258_0_state <= 2'h3;
                end
              end
            end
          end else begin
            if (_T_1084) begin
              if (_T_280) begin
                _T_258_0_state <= 2'h3;
              end
            end
          end
        end
      end else begin
        if (_T_1094) begin
          if (_T_281) begin
            _T_258_0_state <= 2'h1;
          end else begin
            if (_T_1084) begin
              if (_T_280) begin
                _T_258_0_state <= 2'h3;
              end
            end
          end
        end else begin
          if (_T_1084) begin
            if (_T_280) begin
              _T_258_0_state <= 2'h3;
            end
          end
        end
      end
    end
    if (_T_1084) begin
      if (_T_280) begin
        _T_269_0_bits_opcode <= auto_in_a_bits_opcode;
      end
    end
    if (_T_1084) begin
      if (_T_280) begin
        _T_269_0_bits_param <= auto_in_a_bits_param;
      end
    end
    if (_T_1084) begin
      if (_T_280) begin
        _T_269_0_bits_size <= auto_in_a_bits_size;
      end
    end
    if (_T_1084) begin
      if (_T_280) begin
        _T_269_0_bits_source <= auto_in_a_bits_source;
      end
    end
    if (_T_1084) begin
      if (_T_280) begin
        _T_269_0_bits_address <= auto_in_a_bits_address;
      end
    end
    if (_T_1084) begin
      if (_T_280) begin
        _T_269_0_bits_mask <= auto_in_a_bits_mask;
      end
    end
    if (_T_1084) begin
      if (_T_280) begin
        _T_269_0_bits_data <= auto_in_a_bits_data;
      end
    end
    if (_T_1084) begin
      if (_T_280) begin
        _T_269_0_bits_corrupt <= auto_in_a_bits_corrupt;
      end
    end
    if (_T_1084) begin
      if (_T_280) begin
        _T_269_0_fifoId <= _T_506;
      end
    end
    if (_T_1084) begin
      if (_T_280) begin
        if (_T_1092) begin
          _T_269_0_lut <= 4'h8;
        end else begin
          if (_T_1090) begin
            _T_269_0_lut <= 4'he;
          end else begin
            if (_T_1088) begin
              _T_269_0_lut <= 4'h6;
            end else begin
              if (_T_1086) begin
                _T_269_0_lut <= 4'hc;
              end else begin
                _T_269_0_lut <= 4'h0;
              end
            end
          end
        end
      end
    end
    if (_T_1123) begin
      if (_T_1124) begin
        _T_276_0_data <= auto_out_d_bits_data;
      end
    end
    if (_T_1123) begin
      if (_T_1124) begin
        _T_276_0_denied <= auto_out_d_bits_denied;
      end
    end
    if (_T_1123) begin
      if (_T_1124) begin
        _T_276_0_corrupt <= auto_out_d_bits_corrupt;
      end
    end
    if (reset) begin
      _T_941 <= 10'h0;
    end else begin
      if (_T_943) begin
        if (_T_963) begin
          if (_T_938) begin
            _T_941 <= _T_936;
          end else begin
            _T_941 <= 10'h0;
          end
        end else begin
          _T_941 <= 10'h0;
        end
      end else begin
        _T_941 <= _T_997;
      end
    end
    if (reset) begin
      _T_1015_1 <= 1'h0;
    end else begin
      if (_T_942) begin
        _T_1015_1 <= _T_963;
      end
    end
    if (reset) begin
      _T_1015_0 <= 1'h0;
    end else begin
      if (_T_942) begin
        _T_1015_0 <= _T_962;
      end
    end
    if (reset) begin
      _T_1104 <= 10'h0;
    end else begin
      if (_T_1095) begin
        if (_T_1108) begin
          if (_T_1101) begin
            _T_1104 <= _T_1100;
          end else begin
            _T_1104 <= 10'h0;
          end
        end else begin
          _T_1104 <= _T_1107;
        end
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_983) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:68 assert((prefixOR zip winner) map { case (p,w) => !p || !w } reduce {_ && _})\n"); // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11610.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_983) begin
          $fatal; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@11611.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_990) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:70 assert (!valids.reduce(_||_) || winner.reduce(_||_))\n"); // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11621.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_990) begin
          $fatal; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11622.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_5( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11802.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11803.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11804.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@11805.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@13595.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@11821.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11826.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@11828.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@11829.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11830.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@11831.6]
  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@11831.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11832.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11834.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11835.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@11837.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@11838.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11839.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11840.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@11841.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11843.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11844.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11846.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11847.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11848.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11849.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@11850.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11851.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11852.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11853.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11854.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11855.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11856.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11857.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11858.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11859.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11860.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11861.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11862.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11863.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11864.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11865.6]
  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11869.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11890.6]
  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11893.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11894.8]
  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11895.8]
  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11896.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11897.8]
  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11898.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11899.8]
  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11900.8]
  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11901.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11902.8]
  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11903.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11904.8]
  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11905.8]
  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11906.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11907.8]
  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11908.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11909.8]
  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11910.8]
  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11911.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11912.8]
  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11913.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11914.8]
  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11915.8]
  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11916.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11917.8]
  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11918.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11919.8]
  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11920.8]
  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11921.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11922.8]
  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11923.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11924.8]
  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11925.8]
  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11926.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11927.8]
  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11928.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11929.8]
  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11930.8]
  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11931.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11932.8]
  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11933.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11934.8]
  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11935.8]
  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11936.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11937.8]
  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11938.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11939.8]
  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11940.8]
  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11941.8]
  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11942.8]
  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11945.8]
  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11946.8]
  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11947.8]
  wire [31:0] _T_147; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11948.8]
  wire [32:0] _T_148; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11949.8]
  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11950.8]
  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11951.8]
  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11952.8]
  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11953.8]
  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11954.8]
  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11955.8]
  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11956.8]
  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11957.8]
  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11958.8]
  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11959.8]
  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11960.8]
  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11961.8]
  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11962.8]
  wire  _T_162; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11963.8]
  wire  _T_163; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11964.8]
  wire  _T_164; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11965.8]
  wire  _T_165; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11966.8]
  wire  _T_179; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11980.8]
  wire  _T_184; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11993.8]
  wire  _T_185; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11994.8]
  wire  _T_188; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12001.8]
  wire  _T_189; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12002.8]
  wire  _T_191; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12008.8]
  wire  _T_192; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12009.8]
  wire  _T_193; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@12014.8]
  wire  _T_195; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12016.8]
  wire  _T_196; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12017.8]
  wire [3:0] _T_197; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@12022.8]
  wire  _T_198; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@12023.8]
  wire  _T_200; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12025.8]
  wire  _T_201; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12026.8]
  wire  _T_202; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@12031.8]
  wire  _T_204; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12033.8]
  wire  _T_205; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12034.8]
  wire  _T_206; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12040.6]
  wire  _T_313; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@12172.8]
  wire  _T_315; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12174.8]
  wire  _T_316; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12175.8]
  wire  _T_326; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12198.6]
  wire  _T_328; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12201.8]
  wire  _T_336; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@12209.8]
  wire  _T_338; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12211.8]
  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12279.8]
  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12280.8]
  wire  _T_408; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12281.8]
  wire  _T_409; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12282.8]
  wire  _T_410; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12283.8]
  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12284.8]
  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12285.8]
  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12286.8]
  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12287.8]
  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12288.8]
  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12289.8]
  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12290.8]
  wire  _T_418; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@12291.8]
  wire  _T_420; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@12293.8]
  wire  _T_422; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12295.8]
  wire  _T_423; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12296.8]
  wire  _T_430; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@12315.8]
  wire  _T_432; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12317.8]
  wire  _T_433; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12318.8]
  wire  _T_434; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@12323.8]
  wire  _T_436; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12325.8]
  wire  _T_437; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12326.8]
  wire  _T_442; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12340.6]
  wire  _T_515; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12414.8]
  wire  _T_516; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12415.8]
  wire  _T_517; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12416.8]
  wire  _T_518; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12417.8]
  wire  _T_519; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12418.8]
  wire  _T_520; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12419.8]
  wire  _T_521; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12420.8]
  wire  _T_522; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@12421.8]
  wire  _T_537; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@12436.8]
  wire  _T_540; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12439.8]
  wire  _T_541; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12440.8]
  wire  _T_556; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12476.6]
  wire [3:0] _T_666; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@12603.8]
  wire [3:0] _T_667; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@12604.8]
  wire  _T_668; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@12605.8]
  wire  _T_670; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12607.8]
  wire  _T_671; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12608.8]
  wire  _T_672; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12614.6]
  wire  _T_674; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12617.8]
  wire  _T_741; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12684.8]
  wire  _T_742; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12685.8]
  wire  _T_743; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12686.8]
  wire  _T_744; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12687.8]
  wire  _T_745; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12688.8]
  wire  _T_746; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12689.8]
  wire  _T_747; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12690.8]
  wire  _T_748; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@12691.8]
  wire  _T_765; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12708.8]
  wire  _T_766; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12709.8]
  wire  _T_773; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@12728.8]
  wire  _T_775; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12730.8]
  wire  _T_776; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12731.8]
  wire  _T_781; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12745.6]
  wire  _T_882; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@12859.8]
  wire  _T_884; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12861.8]
  wire  _T_885; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12862.8]
  wire  _T_890; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12876.6]
  wire  _T_983; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12970.8]
  wire  _T_984; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12971.8]
  wire  _T_999; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@13009.6]
  wire  _T_1001; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13011.6]
  wire  _T_1002; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13012.6]
  wire  _T_1004; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@13018.6]
  wire  _T_1013; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@13023.6]
  wire  _T_1015; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13025.6]
  wire  _T_1017; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13028.8]
  wire  _T_1018; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13029.8]
  wire  _T_1019; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13034.8]
  wire  _T_1021; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13036.8]
  wire  _T_1022; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13037.8]
  wire  _T_1023; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13042.8]
  wire  _T_1025; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13044.8]
  wire  _T_1026; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13045.8]
  wire  _T_1027; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@13050.8]
  wire  _T_1029; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13052.8]
  wire  _T_1030; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13053.8]
  wire  _T_1031; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@13058.8]
  wire  _T_1033; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13060.8]
  wire  _T_1034; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13061.8]
  wire  _T_1035; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13067.6]
  wire  _T_1046; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13091.8]
  wire  _T_1048; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13093.8]
  wire  _T_1049; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13094.8]
  wire  _T_1050; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13099.8]
  wire  _T_1052; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13101.8]
  wire  _T_1053; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13102.8]
  wire  _T_1063; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13125.6]
  wire  _T_1083; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@13166.8]
  wire  _T_1085; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13168.8]
  wire  _T_1086; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13169.8]
  wire  _T_1092; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13184.6]
  wire  _T_1109; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13219.6]
  wire  _T_1127; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13255.6]
  wire  _T_1156; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13315.4]
  wire [9:0] _T_1161; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@13320.4]
  wire  _T_1162; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@13321.4]
  wire  _T_1163; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13322.4]
  reg [9:0] _T_1166; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13324.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1167; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13325.4]
  wire [10:0] _T_1168; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13326.4]
  wire [9:0] _T_1169; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13327.4]
  wire  _T_1170; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13328.4]
  reg [2:0] _T_1179; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13339.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1181; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13340.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1183; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13341.4]
  reg [31:0] _RAND_3;
  reg  _T_1185; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13342.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_1187; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13343.4]
  reg [31:0] _RAND_5;
  wire  _T_1188; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13344.4]
  wire  _T_1189; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13345.4]
  wire  _T_1190; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13347.6]
  wire  _T_1192; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13349.6]
  wire  _T_1193; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13350.6]
  wire  _T_1194; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13355.6]
  wire  _T_1196; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13357.6]
  wire  _T_1197; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13358.6]
  wire  _T_1198; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13363.6]
  wire  _T_1200; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13365.6]
  wire  _T_1201; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13366.6]
  wire  _T_1202; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13371.6]
  wire  _T_1204; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13373.6]
  wire  _T_1205; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13374.6]
  wire  _T_1206; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13379.6]
  wire  _T_1208; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13381.6]
  wire  _T_1209; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13382.6]
  wire  _T_1211; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@13389.4]
  wire  _T_1212; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13397.4]
  wire [26:0] _T_1214; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@13399.4]
  wire [11:0] _T_1215; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@13400.4]
  wire [11:0] _T_1216; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@13401.4]
  wire [9:0] _T_1217; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@13402.4]
  wire  _T_1218; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@13403.4]
  reg [9:0] _T_1221; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13405.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_1222; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13406.4]
  wire [10:0] _T_1223; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13407.4]
  wire [9:0] _T_1224; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13408.4]
  wire  _T_1225; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13409.4]
  reg [2:0] _T_1234; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13420.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_1236; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13421.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_1238; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13422.4]
  reg [31:0] _RAND_9;
  reg  _T_1240; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13423.4]
  reg [31:0] _RAND_10;
  reg  _T_1242; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13424.4]
  reg [31:0] _RAND_11;
  reg  _T_1244; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13425.4]
  reg [31:0] _RAND_12;
  wire  _T_1245; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13426.4]
  wire  _T_1246; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13427.4]
  wire  _T_1247; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13429.6]
  wire  _T_1249; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13431.6]
  wire  _T_1250; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13432.6]
  wire  _T_1251; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13437.6]
  wire  _T_1253; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13439.6]
  wire  _T_1254; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13440.6]
  wire  _T_1255; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13445.6]
  wire  _T_1257; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13447.6]
  wire  _T_1258; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13448.6]
  wire  _T_1259; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13453.6]
  wire  _T_1261; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13455.6]
  wire  _T_1262; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13456.6]
  wire  _T_1263; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13461.6]
  wire  _T_1265; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13463.6]
  wire  _T_1266; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13464.6]
  wire  _T_1267; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13469.6]
  wire  _T_1269; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13471.6]
  wire  _T_1270; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13472.6]
  wire  _T_1272; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@13479.4]
  reg [1:0] _T_1274; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13488.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1285; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13498.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1286; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13499.4]
  wire [10:0] _T_1287; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13500.4]
  wire [9:0] _T_1288; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13501.4]
  wire  _T_1289; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13502.4]
  reg [9:0] _T_1306; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13521.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1307; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13522.4]
  wire [10:0] _T_1308; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13523.4]
  wire [9:0] _T_1309; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13524.4]
  wire  _T_1310; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13525.4]
  wire  _T_1321; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13540.4]
  wire [1:0] _T_1323; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@13543.6]
  wire [1:0] _T_1324; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@13545.6]
  wire  _T_1325; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@13546.6]
  wire  _T_1326; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13547.6]
  wire  _T_1328; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13549.6]
  wire  _T_1329; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13550.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@13542.4]
  wire  _T_1334; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13561.4]
  wire  _T_1336; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@13563.4]
  wire  _T_1337; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@13564.4]
  wire [1:0] _T_1338; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@13566.6]
  wire [1:0] _T_1339; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@13568.6]
  wire [1:0] _T_1340; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@13569.6]
  wire  _T_1341; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@13570.6]
  wire  _T_1343; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13572.6]
  wire  _T_1344; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13573.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@13565.4]
  wire  _T_1345; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@13579.4]
  wire  _T_1346; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@13580.4]
  wire  _T_1347; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@13581.4]
  wire  _T_1348; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@13582.4]
  wire  _T_1350; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13584.4]
  wire  _T_1351; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13585.4]
  wire [1:0] _T_1352; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13590.4]
  wire [1:0] _T_1353; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13591.4]
  wire [1:0] _T_1354; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@13592.4]
  reg [31:0] _T_1356; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13594.4]
  reg [31:0] _RAND_16;
  wire  _T_1357; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@13597.4]
  wire  _T_1358; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13598.4]
  wire  _T_1359; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@13599.4]
  wire  _T_1360; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13600.4]
  wire  _T_1361; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@13601.4]
  wire  _T_1362; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@13602.4]
  wire  _T_1364; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13604.4]
  wire  _T_1365; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13605.4]
  wire [31:0] _T_1367; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13611.4]
  wire  _T_1370; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13615.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11982.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12132.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12298.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12442.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12578.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12711.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12842.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12973.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13031.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13073.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13131.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13190.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13225.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13261.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@13595.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@11821.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11826.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@11828.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@11829.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@11830.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@11831.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@11831.6]
  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@11832.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11834.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11835.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@11837.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@11838.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11839.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11840.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@11841.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11843.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11844.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11846.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11847.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11848.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@11849.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@11850.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11851.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11852.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11853.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11854.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11855.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11856.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11857.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11858.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11859.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@11860.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@11861.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@11862.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11863.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11864.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@11865.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11869.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@11890.6]
  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11893.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11894.8]
  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11895.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11896.8]
  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11897.8]
  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11898.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11899.8]
  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11900.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11901.8]
  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11902.8]
  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11903.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11904.8]
  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11905.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11906.8]
  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11907.8]
  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11908.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11909.8]
  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11910.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11911.8]
  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11912.8]
  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11913.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11914.8]
  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11915.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11916.8]
  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11917.8]
  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11918.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11919.8]
  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11920.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11921.8]
  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11922.8]
  assign _T_122 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11923.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11924.8]
  assign _T_124 = $signed(_T_123) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11925.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11926.8]
  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11927.8]
  assign _T_127 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11928.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11929.8]
  assign _T_129 = $signed(_T_128) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11930.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11931.8]
  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11932.8]
  assign _T_132 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11933.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11934.8]
  assign _T_134 = $signed(_T_133) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11935.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11936.8]
  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11937.8]
  assign _T_137 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11938.8]
  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11939.8]
  assign _T_139 = $signed(_T_138) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11940.8]
  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11941.8]
  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11942.8]
  assign _T_144 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11945.8]
  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11946.8]
  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11947.8]
  assign _T_147 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11948.8]
  assign _T_148 = {1'b0,$signed(_T_147)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11949.8]
  assign _T_149 = $signed(_T_148) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11950.8]
  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11951.8]
  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11952.8]
  assign _T_152 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11953.8]
  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11954.8]
  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11955.8]
  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11956.8]
  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11957.8]
  assign _T_157 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@11958.8]
  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@11959.8]
  assign _T_159 = $signed(_T_158) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11960.8]
  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@11961.8]
  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@11962.8]
  assign _T_162 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11963.8]
  assign _T_163 = _T_162 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11964.8]
  assign _T_164 = _T_163 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11965.8]
  assign _T_165 = _T_164 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@11966.8]
  assign _T_179 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11980.8]
  assign _T_184 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11993.8]
  assign _T_185 = _T_184 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11994.8]
  assign _T_188 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12001.8]
  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12002.8]
  assign _T_191 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12008.8]
  assign _T_192 = _T_191 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12009.8]
  assign _T_193 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@12014.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12016.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12017.8]
  assign _T_197 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@12022.8]
  assign _T_198 = _T_197 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@12023.8]
  assign _T_200 = _T_198 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12025.8]
  assign _T_201 = _T_200 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12026.8]
  assign _T_202 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@12031.8]
  assign _T_204 = _T_202 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12033.8]
  assign _T_205 = _T_204 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12034.8]
  assign _T_206 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12040.6]
  assign _T_313 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@12172.8]
  assign _T_315 = _T_313 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12174.8]
  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12175.8]
  assign _T_326 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12198.6]
  assign _T_328 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12201.8]
  assign _T_336 = _T_328 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@12209.8]
  assign _T_338 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12211.8]
  assign _T_406 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12279.8]
  assign _T_407 = _T_406 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12280.8]
  assign _T_408 = _T_407 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12281.8]
  assign _T_409 = _T_408 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12282.8]
  assign _T_410 = _T_409 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12283.8]
  assign _T_411 = _T_410 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12284.8]
  assign _T_412 = _T_411 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12285.8]
  assign _T_413 = _T_412 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12286.8]
  assign _T_414 = _T_413 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12287.8]
  assign _T_415 = _T_414 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12288.8]
  assign _T_416 = _T_415 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12289.8]
  assign _T_417 = _T_416 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12290.8]
  assign _T_418 = _T_338 & _T_417; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@12291.8]
  assign _T_420 = _T_336 | _T_418; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@12293.8]
  assign _T_422 = _T_420 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12295.8]
  assign _T_423 = _T_422 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12296.8]
  assign _T_430 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@12315.8]
  assign _T_432 = _T_430 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12317.8]
  assign _T_433 = _T_432 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12318.8]
  assign _T_434 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@12323.8]
  assign _T_436 = _T_434 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12325.8]
  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12326.8]
  assign _T_442 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12340.6]
  assign _T_515 = _T_408 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12414.8]
  assign _T_516 = _T_515 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12415.8]
  assign _T_517 = _T_516 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12416.8]
  assign _T_518 = _T_517 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12417.8]
  assign _T_519 = _T_518 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12418.8]
  assign _T_520 = _T_519 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12419.8]
  assign _T_521 = _T_520 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12420.8]
  assign _T_522 = _T_338 & _T_521; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@12421.8]
  assign _T_537 = _T_336 | _T_522; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@12436.8]
  assign _T_540 = _T_537 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12439.8]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12440.8]
  assign _T_556 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12476.6]
  assign _T_666 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@12603.8]
  assign _T_667 = io_in_a_bits_mask & _T_666; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@12604.8]
  assign _T_668 = _T_667 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@12605.8]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12607.8]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12608.8]
  assign _T_672 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12614.6]
  assign _T_674 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12617.8]
  assign _T_741 = _T_165 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12684.8]
  assign _T_742 = _T_741 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12685.8]
  assign _T_743 = _T_742 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12686.8]
  assign _T_744 = _T_743 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12687.8]
  assign _T_745 = _T_744 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12688.8]
  assign _T_746 = _T_745 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12689.8]
  assign _T_747 = _T_746 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@12690.8]
  assign _T_748 = _T_674 & _T_747; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@12691.8]
  assign _T_765 = _T_748 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12708.8]
  assign _T_766 = _T_765 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12709.8]
  assign _T_773 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@12728.8]
  assign _T_775 = _T_773 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12730.8]
  assign _T_776 = _T_775 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12731.8]
  assign _T_781 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12745.6]
  assign _T_882 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@12859.8]
  assign _T_884 = _T_882 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12861.8]
  assign _T_885 = _T_884 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12862.8]
  assign _T_890 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@12876.6]
  assign _T_983 = _T_336 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12970.8]
  assign _T_984 = _T_983 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12971.8]
  assign _T_999 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@13009.6]
  assign _T_1001 = _T_999 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13011.6]
  assign _T_1002 = _T_1001 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13012.6]
  assign _T_1004 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@13018.6]
  assign _T_1013 = io_in_d_bits_source | _T_1004; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@13023.6]
  assign _T_1015 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13025.6]
  assign _T_1017 = _T_1013 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13028.8]
  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13029.8]
  assign _T_1019 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13034.8]
  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13036.8]
  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13037.8]
  assign _T_1023 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13042.8]
  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13044.8]
  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13045.8]
  assign _T_1027 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@13050.8]
  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13052.8]
  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13053.8]
  assign _T_1031 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@13058.8]
  assign _T_1033 = _T_1031 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13060.8]
  assign _T_1034 = _T_1033 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13061.8]
  assign _T_1035 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13067.6]
  assign _T_1046 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13091.8]
  assign _T_1048 = _T_1046 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13093.8]
  assign _T_1049 = _T_1048 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13094.8]
  assign _T_1050 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13099.8]
  assign _T_1052 = _T_1050 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13101.8]
  assign _T_1053 = _T_1052 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13102.8]
  assign _T_1063 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13125.6]
  assign _T_1083 = _T_1031 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@13166.8]
  assign _T_1085 = _T_1083 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13168.8]
  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13169.8]
  assign _T_1092 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13184.6]
  assign _T_1109 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13219.6]
  assign _T_1127 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13255.6]
  assign _T_1156 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13315.4]
  assign _T_1161 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@13320.4]
  assign _T_1162 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@13321.4]
  assign _T_1163 = _T_1162 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13322.4]
  assign _T_1167 = _T_1166 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13325.4]
  assign _T_1168 = $unsigned(_T_1167); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13326.4]
  assign _T_1169 = _T_1168[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13327.4]
  assign _T_1170 = _T_1166 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13328.4]
  assign _T_1188 = _T_1170 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13344.4]
  assign _T_1189 = io_in_a_valid & _T_1188; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13345.4]
  assign _T_1190 = io_in_a_bits_opcode == _T_1179; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13347.6]
  assign _T_1192 = _T_1190 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13349.6]
  assign _T_1193 = _T_1192 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13350.6]
  assign _T_1194 = io_in_a_bits_param == _T_1181; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13355.6]
  assign _T_1196 = _T_1194 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13357.6]
  assign _T_1197 = _T_1196 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13358.6]
  assign _T_1198 = io_in_a_bits_size == _T_1183; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13363.6]
  assign _T_1200 = _T_1198 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13365.6]
  assign _T_1201 = _T_1200 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13366.6]
  assign _T_1202 = io_in_a_bits_source == _T_1185; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13371.6]
  assign _T_1204 = _T_1202 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13373.6]
  assign _T_1205 = _T_1204 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13374.6]
  assign _T_1206 = io_in_a_bits_address == _T_1187; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13379.6]
  assign _T_1208 = _T_1206 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13381.6]
  assign _T_1209 = _T_1208 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13382.6]
  assign _T_1211 = _T_1156 & _T_1170; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@13389.4]
  assign _T_1212 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13397.4]
  assign _T_1214 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@13399.4]
  assign _T_1215 = _T_1214[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@13400.4]
  assign _T_1216 = ~ _T_1215; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@13401.4]
  assign _T_1217 = _T_1216[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@13402.4]
  assign _T_1218 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@13403.4]
  assign _T_1222 = _T_1221 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13406.4]
  assign _T_1223 = $unsigned(_T_1222); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13407.4]
  assign _T_1224 = _T_1223[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13408.4]
  assign _T_1225 = _T_1221 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13409.4]
  assign _T_1245 = _T_1225 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@13426.4]
  assign _T_1246 = io_in_d_valid & _T_1245; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13427.4]
  assign _T_1247 = io_in_d_bits_opcode == _T_1234; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13429.6]
  assign _T_1249 = _T_1247 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13431.6]
  assign _T_1250 = _T_1249 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13432.6]
  assign _T_1251 = io_in_d_bits_param == _T_1236; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13437.6]
  assign _T_1253 = _T_1251 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13439.6]
  assign _T_1254 = _T_1253 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13440.6]
  assign _T_1255 = io_in_d_bits_size == _T_1238; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13445.6]
  assign _T_1257 = _T_1255 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13447.6]
  assign _T_1258 = _T_1257 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13448.6]
  assign _T_1259 = io_in_d_bits_source == _T_1240; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13453.6]
  assign _T_1261 = _T_1259 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13455.6]
  assign _T_1262 = _T_1261 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13456.6]
  assign _T_1263 = io_in_d_bits_sink == _T_1242; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13461.6]
  assign _T_1265 = _T_1263 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13463.6]
  assign _T_1266 = _T_1265 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13464.6]
  assign _T_1267 = io_in_d_bits_denied == _T_1244; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13469.6]
  assign _T_1269 = _T_1267 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13471.6]
  assign _T_1270 = _T_1269 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13472.6]
  assign _T_1272 = _T_1212 & _T_1225; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@13479.4]
  assign _T_1286 = _T_1285 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13499.4]
  assign _T_1287 = $unsigned(_T_1286); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13500.4]
  assign _T_1288 = _T_1287[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13501.4]
  assign _T_1289 = _T_1285 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13502.4]
  assign _T_1307 = _T_1306 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13522.4]
  assign _T_1308 = $unsigned(_T_1307); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13523.4]
  assign _T_1309 = _T_1308[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13524.4]
  assign _T_1310 = _T_1306 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13525.4]
  assign _T_1321 = _T_1156 & _T_1289; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13540.4]
  assign _T_1323 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@13543.6]
  assign _T_1324 = _T_1274 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@13545.6]
  assign _T_1325 = _T_1324[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@13546.6]
  assign _T_1326 = _T_1325 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13547.6]
  assign _T_1328 = _T_1326 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13549.6]
  assign _T_1329 = _T_1328 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13550.6]
  assign _GEN_15 = _T_1321 ? _T_1323 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@13542.4]
  assign _T_1334 = _T_1212 & _T_1310; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13561.4]
  assign _T_1336 = _T_1015 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@13563.4]
  assign _T_1337 = _T_1334 & _T_1336; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@13564.4]
  assign _T_1338 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@13566.6]
  assign _T_1339 = _GEN_15 | _T_1274; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@13568.6]
  assign _T_1340 = _T_1339 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@13569.6]
  assign _T_1341 = _T_1340[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@13570.6]
  assign _T_1343 = _T_1341 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13572.6]
  assign _T_1344 = _T_1343 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13573.6]
  assign _GEN_16 = _T_1337 ? _T_1338 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@13565.4]
  assign _T_1345 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@13579.4]
  assign _T_1346 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@13580.4]
  assign _T_1347 = _T_1346 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@13581.4]
  assign _T_1348 = _T_1345 | _T_1347; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@13582.4]
  assign _T_1350 = _T_1348 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13584.4]
  assign _T_1351 = _T_1350 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13585.4]
  assign _T_1352 = _T_1274 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13590.4]
  assign _T_1353 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13591.4]
  assign _T_1354 = _T_1352 & _T_1353; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@13592.4]
  assign _T_1357 = _T_1274 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@13597.4]
  assign _T_1358 = _T_1357 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13598.4]
  assign _T_1359 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@13599.4]
  assign _T_1360 = _T_1358 | _T_1359; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13600.4]
  assign _T_1361 = _T_1356 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@13601.4]
  assign _T_1362 = _T_1360 | _T_1361; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@13602.4]
  assign _T_1364 = _T_1362 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13604.4]
  assign _T_1365 = _T_1364 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13605.4]
  assign _T_1367 = _T_1356 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13611.4]
  assign _T_1370 = _T_1156 | _T_1212; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13615.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11982.10]
  assign _GEN_35 = io_in_a_valid & _T_206; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12132.10]
  assign _GEN_53 = io_in_a_valid & _T_326; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12298.10]
  assign _GEN_65 = io_in_a_valid & _T_442; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12442.10]
  assign _GEN_75 = io_in_a_valid & _T_556; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12578.10]
  assign _GEN_85 = io_in_a_valid & _T_672; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12711.10]
  assign _GEN_95 = io_in_a_valid & _T_781; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12842.10]
  assign _GEN_105 = io_in_a_valid & _T_890; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12973.10]
  assign _GEN_115 = io_in_d_valid & _T_1015; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13031.10]
  assign _GEN_125 = io_in_d_valid & _T_1035; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13073.10]
  assign _GEN_137 = io_in_d_valid & _T_1063; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13131.10]
  assign _GEN_149 = io_in_d_valid & _T_1092; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13190.10]
  assign _GEN_155 = io_in_d_valid & _T_1109; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13225.10]
  assign _GEN_161 = io_in_d_valid & _T_1127; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13261.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_1166 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1179 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1181 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1183 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1185 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1187 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1221 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1234 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1236 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1238 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1240 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1242 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1244 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1274 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1285 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1306 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1356 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1166 <= 10'h0;
    end else begin
      if (_T_1156) begin
        if (_T_1170) begin
          if (_T_1163) begin
            _T_1166 <= _T_1161;
          end else begin
            _T_1166 <= 10'h0;
          end
        end else begin
          _T_1166 <= _T_1169;
        end
      end
    end
    if (_T_1211) begin
      _T_1179 <= io_in_a_bits_opcode;
    end
    if (_T_1211) begin
      _T_1181 <= io_in_a_bits_param;
    end
    if (_T_1211) begin
      _T_1183 <= io_in_a_bits_size;
    end
    if (_T_1211) begin
      _T_1185 <= io_in_a_bits_source;
    end
    if (_T_1211) begin
      _T_1187 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1221 <= 10'h0;
    end else begin
      if (_T_1212) begin
        if (_T_1225) begin
          if (_T_1218) begin
            _T_1221 <= _T_1217;
          end else begin
            _T_1221 <= 10'h0;
          end
        end else begin
          _T_1221 <= _T_1224;
        end
      end
    end
    if (_T_1272) begin
      _T_1234 <= io_in_d_bits_opcode;
    end
    if (_T_1272) begin
      _T_1236 <= io_in_d_bits_param;
    end
    if (_T_1272) begin
      _T_1238 <= io_in_d_bits_size;
    end
    if (_T_1272) begin
      _T_1240 <= io_in_d_bits_source;
    end
    if (_T_1272) begin
      _T_1242 <= io_in_d_bits_sink;
    end
    if (_T_1272) begin
      _T_1244 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1274 <= 2'h0;
    end else begin
      _T_1274 <= _T_1354;
    end
    if (reset) begin
      _T_1285 <= 10'h0;
    end else begin
      if (_T_1156) begin
        if (_T_1289) begin
          if (_T_1163) begin
            _T_1285 <= _T_1161;
          end else begin
            _T_1285 <= 10'h0;
          end
        end else begin
          _T_1285 <= _T_1288;
        end
      end
    end
    if (reset) begin
      _T_1306 <= 10'h0;
    end else begin
      if (_T_1212) begin
        if (_T_1310) begin
          if (_T_1218) begin
            _T_1306 <= _T_1217;
          end else begin
            _T_1306 <= 10'h0;
          end
        end else begin
          _T_1306 <= _T_1309;
        end
      end
    end
    if (reset) begin
      _T_1356 <= 32'h0;
    end else begin
      if (_T_1370) begin
        _T_1356 <= 32'h0;
      end else begin
        _T_1356 <= _T_1367;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11817.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11818.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11887.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@11888.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11982.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11983.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11989.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11990.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11996.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_185) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@11997.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12004.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12005.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12011.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_192) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12012.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12019.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_196) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12020.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12028.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_201) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12029.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12036.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_205) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12037.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12132.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12133.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12139.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12140.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12146.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_185) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12147.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12154.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_189) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12155.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12161.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_192) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12162.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12169.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_196) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12170.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_316) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12177.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_316) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12178.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12186.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_201) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12187.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12194.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_205) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12195.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_423) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12298.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_423) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12299.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12305.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_185) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12306.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12312.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_192) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12313.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12320.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_433) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12321.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12328.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_437) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12329.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12336.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_205) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12337.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12442.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_541) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12443.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12449.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_185) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12450.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12456.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_192) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12457.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12464.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_433) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12465.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12472.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_437) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12473.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12578.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_541) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12579.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12585.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_185) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12586.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12592.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_192) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12593.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12600.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_433) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12601.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12610.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_671) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12611.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_766) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12711.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_766) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12712.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12718.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_185) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12719.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12725.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_192) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12726.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_776) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12733.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_776) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12734.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12741.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_437) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12742.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_766) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12842.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_766) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12843.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12849.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_185) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12850.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12856.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_192) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12857.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_885) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12864.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_885) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12865.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12872.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_437) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12873.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_984) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12973.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_984) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12974.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12980.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_185) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12981.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12987.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_192) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12988.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12995.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_437) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@12996.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13003.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_205) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13004.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_1002) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13014.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_1002) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13015.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13031.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1018) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13032.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13039.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1022) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13040.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13047.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1026) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13048.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13055.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1030) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13056.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1034) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13063.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1034) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13064.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13073.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1018) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13074.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13080.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_179) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13081.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13088.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1022) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13089.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1049) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13096.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1049) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13097.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1053) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13104.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1053) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13105.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13112.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1030) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13113.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13121.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13122.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13131.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1018) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13132.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13138.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_179) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13139.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13146.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1022) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13147.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1049) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13154.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1049) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13155.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1053) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13162.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1053) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13163.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1086) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13171.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1086) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13172.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13180.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13181.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13190.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1018) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13191.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13198.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1026) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13199.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13206.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1030) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13207.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13215.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13216.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13225.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1018) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13226.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13233.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1026) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13234.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1086) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13242.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1086) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13243.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13251.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13252.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13261.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1018) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13262.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13269.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1026) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13270.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13277.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1030) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13278.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13286.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13287.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13296.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13297.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13304.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13305.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13312.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13313.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1193) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13352.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1193) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13353.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1197) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13360.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1197) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13361.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13368.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1201) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13369.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13376.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1205) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13377.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1209) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13384.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1209) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13385.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1250) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13434.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1250) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13435.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1254) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13442.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1254) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13443.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1258) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13450.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1258) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13451.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1262) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13458.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1262) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13459.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1266) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13466.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1266) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13467.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1270) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13474.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1270) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13475.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1321 & _T_1329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13552.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1321 & _T_1329) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13553.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1337 & _T_1344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13575.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1337 & _T_1344) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13576.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1351) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13587.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1351) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@13588.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1365) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13607.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1365) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13608.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13620.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13621.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13622.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13623.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
  TLMonitor_5 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13630.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13670.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13670.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13670.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13670.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13670.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13670.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13670.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13670.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13670.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13670.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13669.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13669.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13669.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13669.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13669.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13669.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13669.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13669.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13669.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13669.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13632.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13633.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@13666.4]
endmodule
module TLMonitor_6( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13687.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13688.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13689.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
  input  [29:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@13690.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@15192.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@13706.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@13711.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@13713.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@13714.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@13715.6]
  wire [29:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@13716.6]
  wire [29:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@13716.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@13717.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13719.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13720.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@13722.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@13723.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13724.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13725.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@13726.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13728.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13729.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13731.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13732.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13733.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13734.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@13735.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13736.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13737.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13738.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13739.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13740.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13741.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13742.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13743.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13744.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13745.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13746.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13747.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@13748.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@13749.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@13750.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13775.6]
  wire [29:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13778.8]
  wire [30:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13779.8]
  wire [30:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13780.8]
  wire [30:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13781.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13782.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13783.8]
  wire [30:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13784.8]
  wire [30:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13785.8]
  wire [30:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13786.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13787.8]
  wire [29:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13788.8]
  wire [30:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13789.8]
  wire [30:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13790.8]
  wire [30:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13791.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13792.8]
  wire [29:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13793.8]
  wire [30:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13794.8]
  wire [30:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13795.8]
  wire [30:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13796.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13797.8]
  wire [29:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13798.8]
  wire [30:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13799.8]
  wire [30:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13800.8]
  wire [30:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13801.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13802.8]
  wire [29:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13803.8]
  wire [30:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13804.8]
  wire [30:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13805.8]
  wire [30:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13806.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13807.8]
  wire [29:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13808.8]
  wire [30:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13809.8]
  wire [30:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13810.8]
  wire [30:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13811.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13812.8]
  wire [29:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13813.8]
  wire [30:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13814.8]
  wire [30:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13815.8]
  wire [30:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13816.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13817.8]
  wire  _T_132; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@13818.8]
  wire  _T_133; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@13819.8]
  wire  _T_134; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@13820.8]
  wire  _T_135; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@13821.8]
  wire  _T_143; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13829.8]
  wire  _T_148; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13842.8]
  wire  _T_149; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13843.8]
  wire  _T_152; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13850.8]
  wire  _T_153; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13851.8]
  wire  _T_155; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13857.8]
  wire  _T_156; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13858.8]
  wire  _T_157; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13863.8]
  wire  _T_159; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13865.8]
  wire  _T_160; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13866.8]
  wire [3:0] _T_161; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@13871.8]
  wire  _T_162; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13872.8]
  wire  _T_164; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13874.8]
  wire  _T_165; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13875.8]
  wire  _T_166; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@13880.8]
  wire  _T_168; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13882.8]
  wire  _T_169; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13883.8]
  wire  _T_170; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13889.6]
  wire  _T_241; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13985.8]
  wire  _T_243; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13987.8]
  wire  _T_244; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13988.8]
  wire  _T_254; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14011.6]
  wire  _T_256; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14014.8]
  wire  _T_264; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@14022.8]
  wire  _T_266; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14024.8]
  wire  _T_304; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14062.8]
  wire  _T_305; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14063.8]
  wire  _T_306; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14064.8]
  wire  _T_307; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14065.8]
  wire  _T_308; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14066.8]
  wire  _T_309; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14067.8]
  wire  _T_310; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@14068.8]
  wire  _T_312; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14070.8]
  wire  _T_314; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14072.8]
  wire  _T_315; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14073.8]
  wire  _T_322; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14092.8]
  wire  _T_324; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14094.8]
  wire  _T_325; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14095.8]
  wire  _T_326; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@14100.8]
  wire  _T_328; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14102.8]
  wire  _T_329; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14103.8]
  wire  _T_334; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14117.6]
  wire  _T_382; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14166.8]
  wire  _T_383; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14167.8]
  wire  _T_384; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@14168.8]
  wire  _T_393; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14177.8]
  wire  _T_396; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14180.8]
  wire  _T_397; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14181.8]
  wire  _T_412; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14217.6]
  wire [3:0] _T_486; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14308.8]
  wire [3:0] _T_487; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14309.8]
  wire  _T_488; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@14310.8]
  wire  _T_490; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14312.8]
  wire  _T_491; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14313.8]
  wire  _T_492; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14319.6]
  wire  _T_494; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14322.8]
  wire  _T_536; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14364.8]
  wire  _T_537; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14365.8]
  wire  _T_538; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@14366.8]
  wire  _T_549; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14377.8]
  wire  _T_550; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14378.8]
  wire  _T_557; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@14397.8]
  wire  _T_559; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14399.8]
  wire  _T_560; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14400.8]
  wire  _T_565; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14414.6]
  wire  _T_630; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14492.8]
  wire  _T_632; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14494.8]
  wire  _T_633; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14495.8]
  wire  _T_638; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14509.6]
  wire  _T_695; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14567.8]
  wire  _T_696; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14568.8]
  wire  _T_711; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@14606.6]
  wire  _T_713; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@14608.6]
  wire  _T_714; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@14609.6]
  wire  _T_716; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@14615.6]
  wire  _T_725; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@14620.6]
  wire  _T_727; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14622.6]
  wire  _T_729; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14625.8]
  wire  _T_730; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14626.8]
  wire  _T_731; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@14631.8]
  wire  _T_733; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14633.8]
  wire  _T_734; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14634.8]
  wire  _T_735; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14639.8]
  wire  _T_737; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14641.8]
  wire  _T_738; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14642.8]
  wire  _T_739; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@14647.8]
  wire  _T_741; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14649.8]
  wire  _T_742; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14650.8]
  wire  _T_743; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@14655.8]
  wire  _T_745; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14657.8]
  wire  _T_746; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14658.8]
  wire  _T_747; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14664.6]
  wire  _T_758; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@14688.8]
  wire  _T_760; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14690.8]
  wire  _T_761; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14691.8]
  wire  _T_762; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14696.8]
  wire  _T_764; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14698.8]
  wire  _T_765; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14699.8]
  wire  _T_775; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14722.6]
  wire  _T_795; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14763.8]
  wire  _T_797; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14765.8]
  wire  _T_798; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14766.8]
  wire  _T_804; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14781.6]
  wire  _T_821; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14816.6]
  wire  _T_839; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14852.6]
  wire  _T_868; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@14912.4]
  wire [9:0] _T_873; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@14917.4]
  wire  _T_874; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@14918.4]
  wire  _T_875; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14919.4]
  reg [9:0] _T_878; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@14921.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_879; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14922.4]
  wire [10:0] _T_880; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14923.4]
  wire [9:0] _T_881; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14924.4]
  wire  _T_882; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14925.4]
  reg [2:0] _T_891; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@14936.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_893; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@14937.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_895; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@14938.4]
  reg [31:0] _RAND_3;
  reg  _T_897; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@14939.4]
  reg [31:0] _RAND_4;
  reg [29:0] _T_899; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@14940.4]
  reg [31:0] _RAND_5;
  wire  _T_900; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@14941.4]
  wire  _T_901; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@14942.4]
  wire  _T_902; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14944.6]
  wire  _T_904; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14946.6]
  wire  _T_905; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14947.6]
  wire  _T_906; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14952.6]
  wire  _T_908; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14954.6]
  wire  _T_909; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14955.6]
  wire  _T_910; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14960.6]
  wire  _T_912; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14962.6]
  wire  _T_913; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14963.6]
  wire  _T_914; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14968.6]
  wire  _T_916; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14970.6]
  wire  _T_917; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14971.6]
  wire  _T_918; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14976.6]
  wire  _T_920; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14978.6]
  wire  _T_921; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14979.6]
  wire  _T_923; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@14986.4]
  wire  _T_924; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@14994.4]
  wire [26:0] _T_926; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@14996.4]
  wire [11:0] _T_927; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@14997.4]
  wire [11:0] _T_928; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@14998.4]
  wire [9:0] _T_929; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@14999.4]
  wire  _T_930; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@15000.4]
  reg [9:0] _T_933; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15002.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_934; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15003.4]
  wire [10:0] _T_935; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15004.4]
  wire [9:0] _T_936; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15005.4]
  wire  _T_937; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15006.4]
  reg [2:0] _T_946; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15017.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_948; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15018.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_950; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15019.4]
  reg [31:0] _RAND_9;
  reg  _T_952; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15020.4]
  reg [31:0] _RAND_10;
  reg  _T_954; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15021.4]
  reg [31:0] _RAND_11;
  reg  _T_956; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15022.4]
  reg [31:0] _RAND_12;
  wire  _T_957; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15023.4]
  wire  _T_958; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15024.4]
  wire  _T_959; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15026.6]
  wire  _T_961; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15028.6]
  wire  _T_962; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15029.6]
  wire  _T_963; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15034.6]
  wire  _T_965; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15036.6]
  wire  _T_966; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15037.6]
  wire  _T_967; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15042.6]
  wire  _T_969; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15044.6]
  wire  _T_970; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15045.6]
  wire  _T_971; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15050.6]
  wire  _T_973; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15052.6]
  wire  _T_974; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15053.6]
  wire  _T_975; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15058.6]
  wire  _T_977; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15060.6]
  wire  _T_978; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15061.6]
  wire  _T_979; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15066.6]
  wire  _T_981; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15068.6]
  wire  _T_982; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15069.6]
  wire  _T_984; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@15076.4]
  reg [1:0] _T_986; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15085.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_997; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15095.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_998; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15096.4]
  wire [10:0] _T_999; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15097.4]
  wire [9:0] _T_1000; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15098.4]
  wire  _T_1001; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15099.4]
  reg [9:0] _T_1018; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15118.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1019; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15119.4]
  wire [10:0] _T_1020; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15120.4]
  wire [9:0] _T_1021; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15121.4]
  wire  _T_1022; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15122.4]
  wire  _T_1033; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15137.4]
  wire [1:0] _T_1035; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@15140.6]
  wire [1:0] _T_1036; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@15142.6]
  wire  _T_1037; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@15143.6]
  wire  _T_1038; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15144.6]
  wire  _T_1040; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15146.6]
  wire  _T_1041; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15147.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@15139.4]
  wire  _T_1046; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15158.4]
  wire  _T_1048; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@15160.4]
  wire  _T_1049; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@15161.4]
  wire [1:0] _T_1050; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@15163.6]
  wire [1:0] _T_1051; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@15165.6]
  wire [1:0] _T_1052; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@15166.6]
  wire  _T_1053; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@15167.6]
  wire  _T_1055; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15169.6]
  wire  _T_1056; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15170.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@15162.4]
  wire  _T_1057; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@15176.4]
  wire  _T_1058; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@15177.4]
  wire  _T_1059; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@15178.4]
  wire  _T_1060; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@15179.4]
  wire  _T_1062; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15181.4]
  wire  _T_1063; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15182.4]
  wire [1:0] _T_1064; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15187.4]
  wire [1:0] _T_1065; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15188.4]
  wire [1:0] _T_1066; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@15189.4]
  reg [31:0] _T_1068; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15191.4]
  reg [31:0] _RAND_16;
  wire  _T_1069; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@15194.4]
  wire  _T_1070; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15195.4]
  wire  _T_1071; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@15196.4]
  wire  _T_1072; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15197.4]
  wire  _T_1073; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@15198.4]
  wire  _T_1074; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@15199.4]
  wire  _T_1076; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15201.4]
  wire  _T_1077; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15202.4]
  wire [31:0] _T_1079; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15208.4]
  wire  _T_1082; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15212.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13831.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13945.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14075.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14183.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14283.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14380.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14475.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14570.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14628.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14670.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14728.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14787.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14822.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14858.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@15192.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@13706.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@13711.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@13713.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@13714.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@13715.6]
  assign _GEN_18 = {{18'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@13716.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@13716.6]
  assign _T_36 = _T_35 == 30'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@13717.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13719.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13720.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@13722.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@13723.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13724.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13725.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@13726.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13728.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13729.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13731.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13732.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13733.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@13734.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@13735.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13736.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13737.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13738.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13739.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13740.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13741.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13742.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13743.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13744.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13745.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@13746.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@13747.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@13748.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@13749.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@13750.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13775.6]
  assign _T_92 = io_in_a_bits_address ^ 30'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13778.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13779.8]
  assign _T_94 = $signed(_T_93) & $signed(-31'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13780.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13781.8]
  assign _T_96 = $signed(_T_95) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13782.8]
  assign _T_97 = io_in_a_bits_address ^ 30'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13783.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13784.8]
  assign _T_99 = $signed(_T_98) & $signed(-31'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13785.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13786.8]
  assign _T_101 = $signed(_T_100) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13787.8]
  assign _T_102 = io_in_a_bits_address ^ 30'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13788.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13789.8]
  assign _T_104 = $signed(_T_103) & $signed(-31'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13790.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13791.8]
  assign _T_106 = $signed(_T_105) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13792.8]
  assign _T_107 = io_in_a_bits_address ^ 30'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13793.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13794.8]
  assign _T_109 = $signed(_T_108) & $signed(-31'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13795.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13796.8]
  assign _T_111 = $signed(_T_110) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13797.8]
  assign _T_112 = io_in_a_bits_address ^ 30'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13798.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13799.8]
  assign _T_114 = $signed(_T_113) & $signed(-31'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13800.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13801.8]
  assign _T_116 = $signed(_T_115) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13802.8]
  assign _T_117 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13803.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13804.8]
  assign _T_119 = $signed(_T_118) & $signed(-31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13805.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13806.8]
  assign _T_121 = $signed(_T_120) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13807.8]
  assign _T_122 = io_in_a_bits_address ^ 30'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13808.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13809.8]
  assign _T_124 = $signed(_T_123) & $signed(-31'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13810.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13811.8]
  assign _T_126 = $signed(_T_125) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13812.8]
  assign _T_127 = io_in_a_bits_address ^ 30'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@13813.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@13814.8]
  assign _T_129 = $signed(_T_128) & $signed(-31'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13815.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@13816.8]
  assign _T_131 = $signed(_T_130) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@13817.8]
  assign _T_132 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@13818.8]
  assign _T_133 = _T_132 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@13819.8]
  assign _T_134 = _T_133 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@13820.8]
  assign _T_135 = _T_134 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@13821.8]
  assign _T_143 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13829.8]
  assign _T_148 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13842.8]
  assign _T_149 = _T_148 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13843.8]
  assign _T_152 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13850.8]
  assign _T_153 = _T_152 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13851.8]
  assign _T_155 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13857.8]
  assign _T_156 = _T_155 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13858.8]
  assign _T_157 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@13863.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13865.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13866.8]
  assign _T_161 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@13871.8]
  assign _T_162 = _T_161 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13872.8]
  assign _T_164 = _T_162 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13874.8]
  assign _T_165 = _T_164 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13875.8]
  assign _T_166 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@13880.8]
  assign _T_168 = _T_166 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13882.8]
  assign _T_169 = _T_168 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13883.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@13889.6]
  assign _T_241 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@13985.8]
  assign _T_243 = _T_241 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13987.8]
  assign _T_244 = _T_243 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13988.8]
  assign _T_254 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14011.6]
  assign _T_256 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14014.8]
  assign _T_264 = _T_256 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@14022.8]
  assign _T_266 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14024.8]
  assign _T_304 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14062.8]
  assign _T_305 = _T_304 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14063.8]
  assign _T_306 = _T_305 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14064.8]
  assign _T_307 = _T_306 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14065.8]
  assign _T_308 = _T_307 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14066.8]
  assign _T_309 = _T_308 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14067.8]
  assign _T_310 = _T_266 & _T_309; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@14068.8]
  assign _T_312 = _T_264 | _T_310; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14070.8]
  assign _T_314 = _T_312 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14072.8]
  assign _T_315 = _T_314 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14073.8]
  assign _T_322 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14092.8]
  assign _T_324 = _T_322 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14094.8]
  assign _T_325 = _T_324 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14095.8]
  assign _T_326 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@14100.8]
  assign _T_328 = _T_326 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14102.8]
  assign _T_329 = _T_328 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14103.8]
  assign _T_334 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14117.6]
  assign _T_382 = _T_306 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14166.8]
  assign _T_383 = _T_382 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14167.8]
  assign _T_384 = _T_266 & _T_383; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@14168.8]
  assign _T_393 = _T_264 | _T_384; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14177.8]
  assign _T_396 = _T_393 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14180.8]
  assign _T_397 = _T_396 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14181.8]
  assign _T_412 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14217.6]
  assign _T_486 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14308.8]
  assign _T_487 = io_in_a_bits_mask & _T_486; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14309.8]
  assign _T_488 = _T_487 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@14310.8]
  assign _T_490 = _T_488 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14312.8]
  assign _T_491 = _T_490 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14313.8]
  assign _T_492 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14319.6]
  assign _T_494 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14322.8]
  assign _T_536 = _T_135 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14364.8]
  assign _T_537 = _T_536 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@14365.8]
  assign _T_538 = _T_494 & _T_537; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@14366.8]
  assign _T_549 = _T_538 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14377.8]
  assign _T_550 = _T_549 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14378.8]
  assign _T_557 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@14397.8]
  assign _T_559 = _T_557 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14399.8]
  assign _T_560 = _T_559 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14400.8]
  assign _T_565 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14414.6]
  assign _T_630 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14492.8]
  assign _T_632 = _T_630 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14494.8]
  assign _T_633 = _T_632 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14495.8]
  assign _T_638 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14509.6]
  assign _T_695 = _T_264 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14567.8]
  assign _T_696 = _T_695 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14568.8]
  assign _T_711 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@14606.6]
  assign _T_713 = _T_711 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@14608.6]
  assign _T_714 = _T_713 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@14609.6]
  assign _T_716 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@14615.6]
  assign _T_725 = io_in_d_bits_source | _T_716; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@14620.6]
  assign _T_727 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14622.6]
  assign _T_729 = _T_725 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14625.8]
  assign _T_730 = _T_729 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14626.8]
  assign _T_731 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@14631.8]
  assign _T_733 = _T_731 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14633.8]
  assign _T_734 = _T_733 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14634.8]
  assign _T_735 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14639.8]
  assign _T_737 = _T_735 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14641.8]
  assign _T_738 = _T_737 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14642.8]
  assign _T_739 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@14647.8]
  assign _T_741 = _T_739 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14649.8]
  assign _T_742 = _T_741 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14650.8]
  assign _T_743 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@14655.8]
  assign _T_745 = _T_743 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14657.8]
  assign _T_746 = _T_745 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14658.8]
  assign _T_747 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14664.6]
  assign _T_758 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@14688.8]
  assign _T_760 = _T_758 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14690.8]
  assign _T_761 = _T_760 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14691.8]
  assign _T_762 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14696.8]
  assign _T_764 = _T_762 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14698.8]
  assign _T_765 = _T_764 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14699.8]
  assign _T_775 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14722.6]
  assign _T_795 = _T_743 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@14763.8]
  assign _T_797 = _T_795 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14765.8]
  assign _T_798 = _T_797 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14766.8]
  assign _T_804 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14781.6]
  assign _T_821 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14816.6]
  assign _T_839 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14852.6]
  assign _T_868 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@14912.4]
  assign _T_873 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@14917.4]
  assign _T_874 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@14918.4]
  assign _T_875 = _T_874 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14919.4]
  assign _T_879 = _T_878 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14922.4]
  assign _T_880 = $unsigned(_T_879); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14923.4]
  assign _T_881 = _T_880[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@14924.4]
  assign _T_882 = _T_878 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@14925.4]
  assign _T_900 = _T_882 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@14941.4]
  assign _T_901 = io_in_a_valid & _T_900; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@14942.4]
  assign _T_902 = io_in_a_bits_opcode == _T_891; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14944.6]
  assign _T_904 = _T_902 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14946.6]
  assign _T_905 = _T_904 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14947.6]
  assign _T_906 = io_in_a_bits_param == _T_893; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14952.6]
  assign _T_908 = _T_906 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14954.6]
  assign _T_909 = _T_908 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14955.6]
  assign _T_910 = io_in_a_bits_size == _T_895; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14960.6]
  assign _T_912 = _T_910 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14962.6]
  assign _T_913 = _T_912 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14963.6]
  assign _T_914 = io_in_a_bits_source == _T_897; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14968.6]
  assign _T_916 = _T_914 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14970.6]
  assign _T_917 = _T_916 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14971.6]
  assign _T_918 = io_in_a_bits_address == _T_899; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@14976.6]
  assign _T_920 = _T_918 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14978.6]
  assign _T_921 = _T_920 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14979.6]
  assign _T_923 = _T_868 & _T_882; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@14986.4]
  assign _T_924 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@14994.4]
  assign _T_926 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@14996.4]
  assign _T_927 = _T_926[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@14997.4]
  assign _T_928 = ~ _T_927; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@14998.4]
  assign _T_929 = _T_928[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@14999.4]
  assign _T_930 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@15000.4]
  assign _T_934 = _T_933 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15003.4]
  assign _T_935 = $unsigned(_T_934); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15004.4]
  assign _T_936 = _T_935[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15005.4]
  assign _T_937 = _T_933 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15006.4]
  assign _T_957 = _T_937 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@15023.4]
  assign _T_958 = io_in_d_valid & _T_957; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15024.4]
  assign _T_959 = io_in_d_bits_opcode == _T_946; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15026.6]
  assign _T_961 = _T_959 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15028.6]
  assign _T_962 = _T_961 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15029.6]
  assign _T_963 = io_in_d_bits_param == _T_948; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15034.6]
  assign _T_965 = _T_963 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15036.6]
  assign _T_966 = _T_965 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15037.6]
  assign _T_967 = io_in_d_bits_size == _T_950; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15042.6]
  assign _T_969 = _T_967 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15044.6]
  assign _T_970 = _T_969 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15045.6]
  assign _T_971 = io_in_d_bits_source == _T_952; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15050.6]
  assign _T_973 = _T_971 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15052.6]
  assign _T_974 = _T_973 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15053.6]
  assign _T_975 = io_in_d_bits_sink == _T_954; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15058.6]
  assign _T_977 = _T_975 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15060.6]
  assign _T_978 = _T_977 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15061.6]
  assign _T_979 = io_in_d_bits_denied == _T_956; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15066.6]
  assign _T_981 = _T_979 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15068.6]
  assign _T_982 = _T_981 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15069.6]
  assign _T_984 = _T_924 & _T_937; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@15076.4]
  assign _T_998 = _T_997 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15096.4]
  assign _T_999 = $unsigned(_T_998); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15097.4]
  assign _T_1000 = _T_999[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15098.4]
  assign _T_1001 = _T_997 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15099.4]
  assign _T_1019 = _T_1018 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15119.4]
  assign _T_1020 = $unsigned(_T_1019); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15120.4]
  assign _T_1021 = _T_1020[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15121.4]
  assign _T_1022 = _T_1018 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15122.4]
  assign _T_1033 = _T_868 & _T_1001; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15137.4]
  assign _T_1035 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@15140.6]
  assign _T_1036 = _T_986 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@15142.6]
  assign _T_1037 = _T_1036[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@15143.6]
  assign _T_1038 = _T_1037 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15144.6]
  assign _T_1040 = _T_1038 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15146.6]
  assign _T_1041 = _T_1040 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15147.6]
  assign _GEN_15 = _T_1033 ? _T_1035 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@15139.4]
  assign _T_1046 = _T_924 & _T_1022; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15158.4]
  assign _T_1048 = _T_727 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@15160.4]
  assign _T_1049 = _T_1046 & _T_1048; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@15161.4]
  assign _T_1050 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@15163.6]
  assign _T_1051 = _GEN_15 | _T_986; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@15165.6]
  assign _T_1052 = _T_1051 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@15166.6]
  assign _T_1053 = _T_1052[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@15167.6]
  assign _T_1055 = _T_1053 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15169.6]
  assign _T_1056 = _T_1055 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15170.6]
  assign _GEN_16 = _T_1049 ? _T_1050 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@15162.4]
  assign _T_1057 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@15176.4]
  assign _T_1058 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@15177.4]
  assign _T_1059 = _T_1058 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@15178.4]
  assign _T_1060 = _T_1057 | _T_1059; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@15179.4]
  assign _T_1062 = _T_1060 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15181.4]
  assign _T_1063 = _T_1062 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15182.4]
  assign _T_1064 = _T_986 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15187.4]
  assign _T_1065 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15188.4]
  assign _T_1066 = _T_1064 & _T_1065; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@15189.4]
  assign _T_1069 = _T_986 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@15194.4]
  assign _T_1070 = _T_1069 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15195.4]
  assign _T_1071 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@15196.4]
  assign _T_1072 = _T_1070 | _T_1071; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15197.4]
  assign _T_1073 = _T_1068 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@15198.4]
  assign _T_1074 = _T_1072 | _T_1073; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@15199.4]
  assign _T_1076 = _T_1074 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15201.4]
  assign _T_1077 = _T_1076 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15202.4]
  assign _T_1079 = _T_1068 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15208.4]
  assign _T_1082 = _T_868 | _T_924; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15212.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13831.10]
  assign _GEN_35 = io_in_a_valid & _T_170; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13945.10]
  assign _GEN_53 = io_in_a_valid & _T_254; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14075.10]
  assign _GEN_65 = io_in_a_valid & _T_334; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14183.10]
  assign _GEN_75 = io_in_a_valid & _T_412; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14283.10]
  assign _GEN_85 = io_in_a_valid & _T_492; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14380.10]
  assign _GEN_95 = io_in_a_valid & _T_565; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14475.10]
  assign _GEN_105 = io_in_a_valid & _T_638; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14570.10]
  assign _GEN_115 = io_in_d_valid & _T_727; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14628.10]
  assign _GEN_125 = io_in_d_valid & _T_747; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14670.10]
  assign _GEN_137 = io_in_d_valid & _T_775; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14728.10]
  assign _GEN_149 = io_in_d_valid & _T_804; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14787.10]
  assign _GEN_155 = io_in_d_valid & _T_821; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14822.10]
  assign _GEN_161 = io_in_d_valid & _T_839; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14858.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_878 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_891 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_893 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_895 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_897 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_899 = _RAND_5[29:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_933 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_946 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_948 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_950 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_952 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_954 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_956 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_986 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_997 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1018 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1068 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_878 <= 10'h0;
    end else begin
      if (_T_868) begin
        if (_T_882) begin
          if (_T_875) begin
            _T_878 <= _T_873;
          end else begin
            _T_878 <= 10'h0;
          end
        end else begin
          _T_878 <= _T_881;
        end
      end
    end
    if (_T_923) begin
      _T_891 <= io_in_a_bits_opcode;
    end
    if (_T_923) begin
      _T_893 <= io_in_a_bits_param;
    end
    if (_T_923) begin
      _T_895 <= io_in_a_bits_size;
    end
    if (_T_923) begin
      _T_897 <= io_in_a_bits_source;
    end
    if (_T_923) begin
      _T_899 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_933 <= 10'h0;
    end else begin
      if (_T_924) begin
        if (_T_937) begin
          if (_T_930) begin
            _T_933 <= _T_929;
          end else begin
            _T_933 <= 10'h0;
          end
        end else begin
          _T_933 <= _T_936;
        end
      end
    end
    if (_T_984) begin
      _T_946 <= io_in_d_bits_opcode;
    end
    if (_T_984) begin
      _T_948 <= io_in_d_bits_param;
    end
    if (_T_984) begin
      _T_950 <= io_in_d_bits_size;
    end
    if (_T_984) begin
      _T_952 <= io_in_d_bits_source;
    end
    if (_T_984) begin
      _T_954 <= io_in_d_bits_sink;
    end
    if (_T_984) begin
      _T_956 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_986 <= 2'h0;
    end else begin
      _T_986 <= _T_1066;
    end
    if (reset) begin
      _T_997 <= 10'h0;
    end else begin
      if (_T_868) begin
        if (_T_1001) begin
          if (_T_875) begin
            _T_997 <= _T_873;
          end else begin
            _T_997 <= 10'h0;
          end
        end else begin
          _T_997 <= _T_1000;
        end
      end
    end
    if (reset) begin
      _T_1018 <= 10'h0;
    end else begin
      if (_T_924) begin
        if (_T_1022) begin
          if (_T_930) begin
            _T_1018 <= _T_929;
          end else begin
            _T_1018 <= 10'h0;
          end
        end else begin
          _T_1018 <= _T_1021;
        end
      end
    end
    if (reset) begin
      _T_1068 <= 32'h0;
    end else begin
      if (_T_1082) begin
        _T_1068 <= 32'h0;
      end else begin
        _T_1068 <= _T_1079;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13702.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13703.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13772.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@13773.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13831.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_143) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13832.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13838.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_143) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13839.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13845.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_149) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13846.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_153) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13853.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_153) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13854.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13860.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_156) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13861.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13868.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_160) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13869.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_165) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13877.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_165) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13878.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_169) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13885.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_169) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13886.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13945.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_143) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13946.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13952.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_143) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13953.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13959.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_149) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13960.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_153) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13967.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_153) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13968.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13974.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_156) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13975.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13982.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13983.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_244) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13990.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_244) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13991.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_165) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@13999.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_165) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14000.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_169) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14007.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_169) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14008.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_315) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14075.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_315) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14076.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14082.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_149) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14083.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14089.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_156) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14090.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_325) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14097.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_325) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14098.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14105.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_329) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14106.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_169) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14113.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_169) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14114.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_397) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14183.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_397) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14184.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14190.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_149) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14191.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14197.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_156) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14198.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_325) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14205.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_325) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14206.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14213.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_329) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14214.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_397) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14283.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_397) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14284.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14290.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_149) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14291.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14297.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_156) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14298.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_325) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14305.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_325) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14306.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_491) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14315.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_491) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14316.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_550) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14380.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_550) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14381.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14387.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_149) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14388.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14394.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_156) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14395.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_560) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14402.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_560) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14403.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14410.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_329) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14411.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_550) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14475.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_550) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14476.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14482.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_149) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14483.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14489.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_156) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14490.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_633) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14497.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_633) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14498.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14505.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_329) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14506.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_696) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14570.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_696) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14571.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14577.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_149) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14578.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14584.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_156) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14585.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14592.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_329) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14593.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_169) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14600.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_169) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14601.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_714) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@14611.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_714) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@14612.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14628.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_730) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14629.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_734) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14636.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_734) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14637.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_738) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14644.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_738) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14645.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_742) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14652.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_742) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14653.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_746) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14660.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_746) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14661.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14670.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_730) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14671.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14677.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_143) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14678.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_734) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14685.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_734) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14686.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_761) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14693.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_761) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14694.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_765) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14701.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_765) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14702.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_742) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14709.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_742) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14710.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14718.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14719.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14728.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_730) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14729.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14735.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_143) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14736.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_734) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14743.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_734) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14744.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_761) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14751.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_761) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14752.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_765) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14759.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_765) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14760.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_798) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14768.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_798) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14769.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14777.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14778.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14787.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_730) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14788.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_738) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14795.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_738) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14796.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_742) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14803.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_742) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14804.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14812.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14813.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14822.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_730) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14823.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_738) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14830.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_738) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14831.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_798) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14839.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_798) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14840.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14848.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14849.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14858.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_730) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14859.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_738) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14866.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_738) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14867.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_742) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14874.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_742) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14875.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14883.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14884.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14893.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14894.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14901.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14902.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14909.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14910.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_905) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14949.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_905) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14950.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_909) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14957.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_909) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14958.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_913) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14965.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_913) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14966.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_917) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14973.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_917) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14974.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_921) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14981.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_921) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@14982.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_962) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15031.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_962) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15032.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_966) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15039.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_966) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15040.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_970) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15047.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_970) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15048.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_974) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15055.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_974) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15056.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_978) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15063.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_978) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15064.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_982) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15071.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_982) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15072.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1033 & _T_1041) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15149.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1033 & _T_1041) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15150.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1049 & _T_1056) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15172.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1049 & _T_1056) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15173.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1063) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 4 (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15184.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1063) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@15185.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1077) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:84:9)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15204.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1077) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15205.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLWidthWidget( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15217.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15218.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15219.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  input  [29:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  output [29:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15220.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
  wire [29:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
  TLMonitor_6 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15227.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15267.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15267.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15267.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15267.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15267.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15267.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15267.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15267.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15267.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15267.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15266.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15266.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15266.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15266.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15266.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15266.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15266.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15266.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15266.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15266.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15229.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15230.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@15263.4]
endmodule
module SimpleLazyModule_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15277.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15278.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15279.4]
  output        auto_widget_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  input         auto_widget_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  input  [2:0]  auto_widget_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  input  [2:0]  auto_widget_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  input  [3:0]  auto_widget_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  input         auto_widget_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  input  [29:0] auto_widget_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  input  [3:0]  auto_widget_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  input  [31:0] auto_widget_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  input         auto_widget_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  input         auto_widget_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  output        auto_widget_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  output [2:0]  auto_widget_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  output [1:0]  auto_widget_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  output [3:0]  auto_widget_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  output        auto_widget_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  output        auto_widget_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  output        auto_widget_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  output [31:0] auto_widget_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  output        auto_widget_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  input         auto_from_cbus_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  output        auto_from_cbus_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  output [2:0]  auto_from_cbus_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  output [2:0]  auto_from_cbus_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  output [3:0]  auto_from_cbus_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  output        auto_from_cbus_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  output [29:0] auto_from_cbus_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  output [3:0]  auto_from_cbus_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  output [31:0] auto_from_cbus_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  output        auto_from_cbus_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  output        auto_from_cbus_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  input         auto_from_cbus_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  input  [2:0]  auto_from_cbus_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  input  [1:0]  auto_from_cbus_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  input  [3:0]  auto_from_cbus_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  input         auto_from_cbus_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  input         auto_from_cbus_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  input         auto_from_cbus_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  input  [31:0] auto_from_cbus_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
  input         auto_from_cbus_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15280.4]
);
  wire  widget_clock; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire  widget_reset; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire  widget_auto_in_a_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire  widget_auto_in_a_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire [2:0] widget_auto_in_a_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire [2:0] widget_auto_in_a_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire [3:0] widget_auto_in_a_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire  widget_auto_in_a_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire [29:0] widget_auto_in_a_bits_address; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire [3:0] widget_auto_in_a_bits_mask; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire [31:0] widget_auto_in_a_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire  widget_auto_in_a_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire  widget_auto_in_d_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire  widget_auto_in_d_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire [2:0] widget_auto_in_d_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire [1:0] widget_auto_in_d_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire [3:0] widget_auto_in_d_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire  widget_auto_in_d_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire  widget_auto_in_d_bits_sink; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire  widget_auto_in_d_bits_denied; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire [31:0] widget_auto_in_d_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire  widget_auto_in_d_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire  widget_auto_out_a_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire  widget_auto_out_a_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire [2:0] widget_auto_out_a_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire [2:0] widget_auto_out_a_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire [3:0] widget_auto_out_a_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire  widget_auto_out_a_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire [29:0] widget_auto_out_a_bits_address; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire [3:0] widget_auto_out_a_bits_mask; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire [31:0] widget_auto_out_a_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire  widget_auto_out_a_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire  widget_auto_out_d_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire  widget_auto_out_d_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire [2:0] widget_auto_out_d_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire [1:0] widget_auto_out_d_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire [3:0] widget_auto_out_d_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire  widget_auto_out_d_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire  widget_auto_out_d_bits_sink; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire  widget_auto_out_d_bits_denied; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire [31:0] widget_auto_out_d_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  wire  widget_auto_out_d_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
  TLWidthWidget widget ( // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15285.4]
    .clock(widget_clock),
    .reset(widget_reset),
    .auto_in_a_ready(widget_auto_in_a_ready),
    .auto_in_a_valid(widget_auto_in_a_valid),
    .auto_in_a_bits_opcode(widget_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(widget_auto_in_a_bits_param),
    .auto_in_a_bits_size(widget_auto_in_a_bits_size),
    .auto_in_a_bits_source(widget_auto_in_a_bits_source),
    .auto_in_a_bits_address(widget_auto_in_a_bits_address),
    .auto_in_a_bits_mask(widget_auto_in_a_bits_mask),
    .auto_in_a_bits_data(widget_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(widget_auto_in_a_bits_corrupt),
    .auto_in_d_ready(widget_auto_in_d_ready),
    .auto_in_d_valid(widget_auto_in_d_valid),
    .auto_in_d_bits_opcode(widget_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(widget_auto_in_d_bits_param),
    .auto_in_d_bits_size(widget_auto_in_d_bits_size),
    .auto_in_d_bits_source(widget_auto_in_d_bits_source),
    .auto_in_d_bits_sink(widget_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(widget_auto_in_d_bits_denied),
    .auto_in_d_bits_data(widget_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(widget_auto_in_d_bits_corrupt),
    .auto_out_a_ready(widget_auto_out_a_ready),
    .auto_out_a_valid(widget_auto_out_a_valid),
    .auto_out_a_bits_opcode(widget_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(widget_auto_out_a_bits_param),
    .auto_out_a_bits_size(widget_auto_out_a_bits_size),
    .auto_out_a_bits_source(widget_auto_out_a_bits_source),
    .auto_out_a_bits_address(widget_auto_out_a_bits_address),
    .auto_out_a_bits_mask(widget_auto_out_a_bits_mask),
    .auto_out_a_bits_data(widget_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(widget_auto_out_a_bits_corrupt),
    .auto_out_d_ready(widget_auto_out_d_ready),
    .auto_out_d_valid(widget_auto_out_d_valid),
    .auto_out_d_bits_opcode(widget_auto_out_d_bits_opcode),
    .auto_out_d_bits_param(widget_auto_out_d_bits_param),
    .auto_out_d_bits_size(widget_auto_out_d_bits_size),
    .auto_out_d_bits_source(widget_auto_out_d_bits_source),
    .auto_out_d_bits_sink(widget_auto_out_d_bits_sink),
    .auto_out_d_bits_denied(widget_auto_out_d_bits_denied),
    .auto_out_d_bits_data(widget_auto_out_d_bits_data),
    .auto_out_d_bits_corrupt(widget_auto_out_d_bits_corrupt)
  );
  assign auto_widget_in_a_ready = widget_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
  assign auto_widget_in_d_valid = widget_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
  assign auto_widget_in_d_bits_opcode = widget_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
  assign auto_widget_in_d_bits_param = widget_auto_in_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
  assign auto_widget_in_d_bits_size = widget_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
  assign auto_widget_in_d_bits_source = widget_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
  assign auto_widget_in_d_bits_sink = widget_auto_in_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
  assign auto_widget_in_d_bits_denied = widget_auto_in_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
  assign auto_widget_in_d_bits_data = widget_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
  assign auto_widget_in_d_bits_corrupt = widget_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
  assign auto_from_cbus_out_a_valid = widget_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15297.4]
  assign auto_from_cbus_out_a_bits_opcode = widget_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15297.4]
  assign auto_from_cbus_out_a_bits_param = widget_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15297.4]
  assign auto_from_cbus_out_a_bits_size = widget_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15297.4]
  assign auto_from_cbus_out_a_bits_source = widget_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15297.4]
  assign auto_from_cbus_out_a_bits_address = widget_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15297.4]
  assign auto_from_cbus_out_a_bits_mask = widget_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15297.4]
  assign auto_from_cbus_out_a_bits_data = widget_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15297.4]
  assign auto_from_cbus_out_a_bits_corrupt = widget_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15297.4]
  assign auto_from_cbus_out_d_ready = widget_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15297.4]
  assign widget_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15289.4]
  assign widget_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15290.4]
  assign widget_auto_in_a_valid = auto_widget_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
  assign widget_auto_in_a_bits_opcode = auto_widget_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
  assign widget_auto_in_a_bits_param = auto_widget_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
  assign widget_auto_in_a_bits_size = auto_widget_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
  assign widget_auto_in_a_bits_source = auto_widget_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
  assign widget_auto_in_a_bits_address = auto_widget_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
  assign widget_auto_in_a_bits_mask = auto_widget_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
  assign widget_auto_in_a_bits_data = auto_widget_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
  assign widget_auto_in_a_bits_corrupt = auto_widget_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
  assign widget_auto_in_d_ready = auto_widget_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15298.4]
  assign widget_auto_out_a_ready = auto_from_cbus_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15296.4]
  assign widget_auto_out_d_valid = auto_from_cbus_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15296.4]
  assign widget_auto_out_d_bits_opcode = auto_from_cbus_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15296.4]
  assign widget_auto_out_d_bits_param = auto_from_cbus_out_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15296.4]
  assign widget_auto_out_d_bits_size = auto_from_cbus_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15296.4]
  assign widget_auto_out_d_bits_source = auto_from_cbus_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15296.4]
  assign widget_auto_out_d_bits_sink = auto_from_cbus_out_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15296.4]
  assign widget_auto_out_d_bits_denied = auto_from_cbus_out_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15296.4]
  assign widget_auto_out_d_bits_data = auto_from_cbus_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15296.4]
  assign widget_auto_out_d_bits_corrupt = auto_from_cbus_out_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15296.4]
endmodule
module TLMonitor_7( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15307.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15308.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15309.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
  input  [27:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@15310.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@16442.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@15326.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@15331.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@15333.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@15334.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@15335.6]
  wire [27:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@15336.6]
  wire [27:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@15336.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@15337.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15339.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15340.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@15342.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@15343.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15344.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15345.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@15346.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15348.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15349.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15351.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15352.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15353.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15354.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@15355.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15356.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15357.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15358.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15359.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15360.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15361.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15362.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15363.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15364.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15365.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15366.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15367.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@15368.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@15369.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@15370.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15395.6]
  wire [27:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15398.8]
  wire [28:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15399.8]
  wire [28:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@15400.8]
  wire [28:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@15401.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@15402.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15407.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15420.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15421.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15428.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15429.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15435.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15436.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15441.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15443.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15444.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@15449.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15450.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15452.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15453.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@15458.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15460.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15461.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15467.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15521.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15523.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15524.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15547.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@15550.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@15558.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15561.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15562.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15581.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15583.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15584.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15589.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15591.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15592.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15606.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15657.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@15699.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15700.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@15701.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15703.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15704.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15710.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@15741.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15743.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15744.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15758.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@15789.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15791.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15792.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15806.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@15856.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15858.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15859.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@15865.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@15870.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15872.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15875.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15876.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15881.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15883.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15884.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15914.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15972.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16031.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16066.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16102.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16162.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@16167.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16168.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16169.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16171.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16172.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16173.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16174.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16175.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16186.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16187.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16188.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16189.4]
  reg [31:0] _RAND_4;
  reg [27:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16190.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16191.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16192.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16194.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16196.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16197.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16202.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16204.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16205.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16210.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16212.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16213.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16218.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16220.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16221.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16226.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16228.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16229.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@16236.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16244.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16246.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@16247.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16248.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@16249.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@16250.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16252.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16253.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16254.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16255.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16256.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16267.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16269.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16270.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16273.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16274.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16276.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16278.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16279.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16292.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16294.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16295.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16300.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16302.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16303.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@16326.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16335.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16345.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16346.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16347.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16348.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16349.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16368.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16369.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16370.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16371.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16372.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16387.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16390.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16392.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16393.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16394.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16396.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16397.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@16389.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16408.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@16410.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@16411.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16413.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@16415.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@16416.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@16417.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16419.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16420.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@16412.4]
  wire  _T_687; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@16426.4]
  wire  _T_688; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@16427.4]
  wire  _T_689; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@16428.4]
  wire  _T_690; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@16429.4]
  wire  _T_692; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16431.4]
  wire  _T_693; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16432.4]
  wire [1:0] _T_694; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16437.4]
  wire [1:0] _T_695; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16438.4]
  wire [1:0] _T_696; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@16439.4]
  reg [31:0] _T_698; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16441.4]
  reg [31:0] _RAND_13;
  wire  _T_699; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16444.4]
  wire  _T_700; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16445.4]
  wire  _T_701; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@16446.4]
  wire  _T_702; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16447.4]
  wire  _T_703; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@16448.4]
  wire  _T_704; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@16449.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16451.4]
  wire  _T_707; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16452.4]
  wire [31:0] _T_709; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16458.4]
  wire  _T_712; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16462.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15409.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15481.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15564.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15623.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15674.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15724.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15772.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15820.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15878.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15920.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15978.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16037.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16072.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16108.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@16442.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@15326.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@15331.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@15333.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@15334.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@15335.6]
  assign _GEN_18 = {{22'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@15336.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@15336.6]
  assign _T_36 = _T_35 == 28'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@15337.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15339.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15340.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@15342.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@15343.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15344.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15345.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@15346.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15348.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15349.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15351.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15352.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15353.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@15354.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@15355.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15356.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15357.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15358.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15359.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15360.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15361.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15362.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15363.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15364.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15365.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@15366.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@15367.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@15368.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@15369.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@15370.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15395.6]
  assign _T_92 = io_in_a_bits_address ^ 28'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@15398.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@15399.8]
  assign _T_94 = $signed(_T_93) & $signed(-29'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@15400.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@15401.8]
  assign _T_96 = $signed(_T_95) == $signed(29'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@15402.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15407.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15420.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15421.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15428.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15429.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15435.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15436.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15441.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15443.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15444.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@15449.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15450.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15452.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15453.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@15458.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15460.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15461.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15467.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15521.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15523.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15524.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15547.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@15550.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@15558.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15561.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15562.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15581.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15583.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15584.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15589.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15591.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15592.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15606.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15657.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@15699.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@15700.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@15701.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15703.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15704.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15710.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@15741.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15743.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15744.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15758.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@15789.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15791.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15792.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15806.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@15856.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15858.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15859.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@15865.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@15870.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15872.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15875.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15876.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@15881.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15883.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15884.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15914.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@15972.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16031.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16066.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16102.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16162.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@16167.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16168.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16169.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16172.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16173.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16174.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16175.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16191.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16192.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16194.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16196.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16197.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16202.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16204.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16205.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16210.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16212.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16213.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16218.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16220.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16221.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16226.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16228.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16229.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@16236.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16244.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16246.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@16247.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16248.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@16249.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@16250.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16253.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16254.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16255.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16256.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16273.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16274.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16276.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16278.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16279.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16292.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16294.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16295.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16300.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16302.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16303.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@16326.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16346.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16347.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16348.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16349.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16369.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16370.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16371.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16372.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16387.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16390.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16392.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16393.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16394.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16396.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16397.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@16389.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16408.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@16410.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@16411.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16413.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@16415.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@16416.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@16417.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16419.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16420.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@16412.4]
  assign _T_687 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@16426.4]
  assign _T_688 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@16427.4]
  assign _T_689 = _T_688 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@16428.4]
  assign _T_690 = _T_687 | _T_689; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@16429.4]
  assign _T_692 = _T_690 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16431.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16432.4]
  assign _T_694 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16437.4]
  assign _T_695 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16438.4]
  assign _T_696 = _T_694 & _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@16439.4]
  assign _T_699 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16444.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16445.4]
  assign _T_701 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@16446.4]
  assign _T_702 = _T_700 | _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16447.4]
  assign _T_703 = _T_698 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@16448.4]
  assign _T_704 = _T_702 | _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@16449.4]
  assign _T_706 = _T_704 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16451.4]
  assign _T_707 = _T_706 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16452.4]
  assign _T_709 = _T_698 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16458.4]
  assign _T_712 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16462.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15409.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15481.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15564.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15623.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15674.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15724.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15772.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15820.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15878.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15920.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15978.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16037.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16072.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16108.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_508 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_521 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_523 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_525 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_527 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_529 = _RAND_5[27:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_563 = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_576 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_580 = _RAND_8[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_582 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_616 = _RAND_10[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_627 = _RAND_11[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_648 = _RAND_12[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_698 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_508 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_512) begin
          if (_T_505) begin
            _T_508 <= _T_503;
          end else begin
            _T_508 <= 4'h0;
          end
        end else begin
          _T_508 <= _T_511;
        end
      end
    end
    if (_T_553) begin
      _T_521 <= io_in_a_bits_opcode;
    end
    if (_T_553) begin
      _T_523 <= io_in_a_bits_param;
    end
    if (_T_553) begin
      _T_525 <= io_in_a_bits_size;
    end
    if (_T_553) begin
      _T_527 <= io_in_a_bits_source;
    end
    if (_T_553) begin
      _T_529 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_563 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_567) begin
          if (_T_560) begin
            _T_563 <= _T_559;
          end else begin
            _T_563 <= 4'h0;
          end
        end else begin
          _T_563 <= _T_566;
        end
      end
    end
    if (_T_614) begin
      _T_576 <= io_in_d_bits_opcode;
    end
    if (_T_614) begin
      _T_580 <= io_in_d_bits_size;
    end
    if (_T_614) begin
      _T_582 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_616 <= 2'h0;
    end else begin
      _T_616 <= _T_696;
    end
    if (reset) begin
      _T_627 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_631) begin
          if (_T_505) begin
            _T_627 <= _T_503;
          end else begin
            _T_627 <= 4'h0;
          end
        end else begin
          _T_627 <= _T_630;
        end
      end
    end
    if (reset) begin
      _T_648 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_652) begin
          if (_T_560) begin
            _T_648 <= _T_559;
          end else begin
            _T_648 <= 4'h0;
          end
        end else begin
          _T_648 <= _T_651;
        end
      end
    end
    if (reset) begin
      _T_698 <= 32'h0;
    end else begin
      if (_T_712) begin
        _T_698 <= 32'h0;
      end else begin
        _T_698 <= _T_709;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15322.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15323.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15392.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15393.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15409.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15410.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15416.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15417.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15423.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15424.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15431.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15432.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15438.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15439.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15446.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15447.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15455.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15456.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15463.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15464.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15481.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15482.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15488.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15489.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15495.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15496.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15503.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15504.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15510.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15511.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15518.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15519.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15526.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15527.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15535.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15536.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15543.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15544.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15564.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15565.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15571.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15572.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15578.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15579.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15586.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15587.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15594.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15595.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15602.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15603.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15623.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15624.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15630.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15631.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15637.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15638.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15645.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15646.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15653.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15654.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15674.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15675.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15681.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15682.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15688.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15689.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15696.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15697.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15706.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15707.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15724.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15725.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15731.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15732.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15738.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15739.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15746.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15747.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15754.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15755.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15772.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15773.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15779.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15780.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15786.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15787.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15794.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15795.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15802.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15803.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15820.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15821.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15827.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15828.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15834.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15835.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15842.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15843.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15850.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15851.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15861.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@15862.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15878.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15879.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15886.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15887.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15894.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15895.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15902.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15903.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15910.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15911.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15920.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15921.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15927.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15928.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15935.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15936.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15943.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15944.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15951.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15952.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15959.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15960.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15968.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15969.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15978.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15979.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15985.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15986.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15993.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@15994.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16001.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16002.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16009.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16010.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16018.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16019.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16027.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16028.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16037.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16038.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16045.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16046.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16053.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16054.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16062.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16063.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16072.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16073.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16080.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16081.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16089.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16090.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16098.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16099.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16108.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16109.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16116.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16117.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16124.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16125.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16133.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16134.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16143.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16144.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16151.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16152.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16159.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16160.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16199.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16200.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16207.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16208.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16215.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16216.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16223.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16224.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16231.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16232.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16281.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16282.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16289.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16290.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16297.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16298.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16305.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16306.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16313.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16314.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16321.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16322.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16399.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16400.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16422.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16423.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_693) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16434.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_693) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16435.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_707) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16454.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_707) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16455.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Repeater( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16467.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16468.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16469.4]
  input         io_repeat, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
  output        io_full, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
  input  [27:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
  output [27:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16470.4]
);
  reg  full; // @[Repeater.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@16475.4]
  reg [31:0] _RAND_0;
  reg [2:0] saved_opcode; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16476.4]
  reg [31:0] _RAND_1;
  reg [2:0] saved_param; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16476.4]
  reg [31:0] _RAND_2;
  reg [2:0] saved_size; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16476.4]
  reg [31:0] _RAND_3;
  reg  saved_source; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16476.4]
  reg [31:0] _RAND_4;
  reg [27:0] saved_address; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16476.4]
  reg [31:0] _RAND_5;
  reg [3:0] saved_mask; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16476.4]
  reg [31:0] _RAND_6;
  reg  saved_corrupt; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16476.4]
  reg [31:0] _RAND_7;
  wire  _T_18; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16479.4]
  wire  _T_21; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16485.4]
  wire  _T_22; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16486.4]
  wire  _T_23; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16491.4]
  wire  _T_24; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16492.4]
  wire  _T_25; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16493.4]
  assign _T_18 = full == 1'h0; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16479.4]
  assign _T_21 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16485.4]
  assign _T_22 = _T_21 & io_repeat; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16486.4]
  assign _T_23 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16491.4]
  assign _T_24 = io_repeat == 1'h0; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16492.4]
  assign _T_25 = _T_23 & _T_24; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16493.4]
  assign io_full = full; // @[Repeater.scala 25:11:shc.marmotcaravel.MarmotCaravelConfig.fir@16484.4]
  assign io_enq_ready = io_deq_ready & _T_18; // @[Repeater.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@16481.4]
  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@16478.4]
  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16483.4]
  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16483.4]
  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16483.4]
  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16483.4]
  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16483.4]
  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16483.4]
  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16483.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  full = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  saved_opcode = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  saved_param = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  saved_size = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  saved_source = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  saved_address = _RAND_5[27:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  saved_mask = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  saved_corrupt = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      full <= 1'h0;
    end else begin
      if (_T_25) begin
        full <= 1'h0;
      end else begin
        if (_T_22) begin
          full <= 1'h1;
        end
      end
    end
    if (_T_22) begin
      saved_opcode <= io_enq_bits_opcode;
    end
    if (_T_22) begin
      saved_param <= io_enq_bits_param;
    end
    if (_T_22) begin
      saved_size <= io_enq_bits_size;
    end
    if (_T_22) begin
      saved_source <= io_enq_bits_source;
    end
    if (_T_22) begin
      saved_address <= io_enq_bits_address;
    end
    if (_T_22) begin
      saved_mask <= io_enq_bits_mask;
    end
    if (_T_22) begin
      saved_corrupt <= io_enq_bits_corrupt;
    end
  end
endmodule
module TLFragmenter( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16498.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16499.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16500.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  input  [27:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  output [27:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16501.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
  wire [27:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
  wire [27:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
  wire [27:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16549.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16550.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16551.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@16552.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16553.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16554.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16556.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16557.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16559.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@16560.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16561.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@16562.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16578.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@16579.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@16580.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@16580.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@16581.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@16581.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16582.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16582.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@16583.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16584.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16585.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@16586.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16587.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16588.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16589.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16590.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16590.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16591.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16592.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16593.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16594.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@16595.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16596.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16597.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16611.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16613.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16614.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@16615.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16598.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16600.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16600.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16601.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16602.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@16607.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16617.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16650.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16651.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16653.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@16654.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16655.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16657.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@16658.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16659.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16660.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16661.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16663.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16664.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16665.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16666.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16667.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16668.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16669.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16670.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@16673.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@16680.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16681.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@16685.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@16545.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16694.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16686.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16690.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@16691.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@16695.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@16695.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@16696.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@16697.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@16698.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@16698.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@16699.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16700.4]
  wire [27:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@16701.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16703.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16707.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@16709.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16711.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16712.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@16719.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@16720.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16722.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16723.4]
  TLMonitor_7 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16508.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  Repeater Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16625.4]
    .clock(Repeater_clock),
    .reset(Repeater_reset),
    .io_repeat(Repeater_io_repeat),
    .io_full(Repeater_io_full),
    .io_enq_ready(Repeater_io_enq_ready),
    .io_enq_valid(Repeater_io_enq_valid),
    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
    .io_enq_bits_param(Repeater_io_enq_bits_param),
    .io_enq_bits_size(Repeater_io_enq_bits_size),
    .io_enq_bits_source(Repeater_io_enq_bits_source),
    .io_enq_bits_address(Repeater_io_enq_bits_address),
    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
    .io_deq_ready(Repeater_io_deq_ready),
    .io_deq_valid(Repeater_io_deq_valid),
    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
    .io_deq_bits_param(Repeater_io_deq_bits_param),
    .io_deq_bits_size(Repeater_io_deq_bits_size),
    .io_deq_bits_source(Repeater_io_deq_bits_source),
    .io_deq_bits_address(Repeater_io_deq_bits_address),
    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
  );
  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@16552.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16553.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16554.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16556.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16557.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16559.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@16560.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16561.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@16562.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16578.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@16579.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@16580.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@16580.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@16581.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@16581.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16582.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@16582.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@16583.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16584.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16585.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@16586.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16587.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16588.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16589.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16590.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16590.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16591.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16592.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16593.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16594.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@16595.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16596.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16597.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@16611.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16613.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16614.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@16615.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16598.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16600.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16600.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16601.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@16602.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@16607.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16617.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16650.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@16651.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16653.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@16654.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16655.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16657.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@16658.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16659.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16660.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16661.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16664.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16665.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16666.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16667.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16668.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16669.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16670.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@16673.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16681.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@16685.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@16545.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16694.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@16686.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16690.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@16691.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@16695.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@16695.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@16696.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@16697.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@16698.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@16698.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@16699.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16700.4]
  assign _GEN_14 = {{22'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@16701.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16703.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16707.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@16709.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16711.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16712.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@16719.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@16720.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16722.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16723.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16548.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16548.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16548.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16548.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16548.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16548.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16547.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16547.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16547.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16547.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16547.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16547.4]
  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16547.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16547.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16547.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16547.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16510.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16511.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@16544.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16627.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16628.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16693.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16629.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16629.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16629.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16629.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16629.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16629.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16629.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@16629.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@16694.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_244 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_246 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_248 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_344 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_362 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_244 <= 4'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_244 <= _T_249;
        end else begin
          _T_244 <= _T_294;
        end
      end
    end
    if (_T_291) begin
      if (_T_250) begin
        _T_246 <= _T_290;
      end
    end
    if (reset) begin
      _T_248 <= 1'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_248 <= _T_296;
        end
      end
    end
    if (reset) begin
      _T_344 <= 4'h0;
    end else begin
      if (_T_365) begin
        _T_344 <= _T_354;
      end
    end
    if (_T_345) begin
      _T_362 <= _T_248;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16573.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16574.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_383) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16714.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_383) begin
          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16715.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_389) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16725.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_389) begin
          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16726.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_8( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16744.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16745.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16746.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
  input  [27:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@16747.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@17879.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@16763.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16768.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16770.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@16771.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16772.6]
  wire [27:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@16773.6]
  wire [27:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@16773.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@16774.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16776.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16777.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@16779.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@16780.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16781.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16782.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@16783.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16785.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16786.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16788.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16789.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16790.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16791.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@16792.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16793.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16794.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16795.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16796.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16797.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16798.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16799.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16800.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16801.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16802.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16803.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16804.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16805.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16806.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16807.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16832.6]
  wire [27:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16835.8]
  wire [28:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16836.8]
  wire [28:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@16837.8]
  wire [28:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@16838.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@16839.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16844.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16857.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16858.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16865.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16866.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16872.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16873.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16878.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16880.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16881.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16886.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16887.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16889.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16890.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16895.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16897.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16898.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16904.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16958.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16960.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16961.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16984.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@16987.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@16995.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16998.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16999.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17018.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17020.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17021.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17026.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17028.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17029.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17043.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17094.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@17136.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17137.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@17138.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17140.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17141.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17147.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@17178.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17180.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17181.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17195.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@17226.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17228.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17229.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17243.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@17293.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17295.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17296.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@17302.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@17307.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17309.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17312.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17313.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17318.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17320.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17321.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17351.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17409.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17468.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17503.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17539.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17599.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@17604.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@17605.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17606.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17608.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17609.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17610.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17611.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17612.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17623.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17624.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17625.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17626.4]
  reg [31:0] _RAND_4;
  reg [27:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17627.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17628.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17629.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17631.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17633.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17634.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17639.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17641.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17642.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17647.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17649.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17650.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17655.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17657.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17658.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17663.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17665.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17666.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@17673.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17681.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@17683.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@17684.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@17685.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@17686.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@17687.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17689.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17690.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17691.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17692.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17693.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17704.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17706.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17707.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17710.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17711.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17713.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17715.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17716.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17729.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17731.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17732.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17737.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17739.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17740.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@17763.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17772.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17782.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17783.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17784.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17785.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17786.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17805.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17806.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17807.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17808.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17809.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17824.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@17827.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@17829.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@17830.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17831.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17833.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17834.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@17826.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17845.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@17847.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@17848.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@17850.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@17852.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17853.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17854.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17856.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17857.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@17849.4]
  wire  _T_687; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@17863.4]
  wire  _T_688; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@17864.4]
  wire  _T_689; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@17865.4]
  wire  _T_690; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@17866.4]
  wire  _T_692; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17868.4]
  wire  _T_693; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17869.4]
  wire [1:0] _T_694; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17874.4]
  wire [1:0] _T_695; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@17875.4]
  wire [1:0] _T_696; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@17876.4]
  reg [31:0] _T_698; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17878.4]
  reg [31:0] _RAND_13;
  wire  _T_699; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@17881.4]
  wire  _T_700; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17882.4]
  wire  _T_701; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@17883.4]
  wire  _T_702; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17884.4]
  wire  _T_703; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@17885.4]
  wire  _T_704; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@17886.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17888.4]
  wire  _T_707; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17889.4]
  wire [31:0] _T_709; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@17895.4]
  wire  _T_712; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17899.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16846.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16918.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17001.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17060.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17111.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17161.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17209.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17257.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17315.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17357.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17415.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17474.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17509.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17545.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@17879.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@16763.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16768.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@16770.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@16771.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@16772.6]
  assign _GEN_18 = {{22'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@16773.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@16773.6]
  assign _T_36 = _T_35 == 28'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@16774.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16776.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16777.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@16779.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@16780.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16781.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16782.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@16783.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16785.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16786.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16788.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16789.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16790.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@16791.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@16792.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16793.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16794.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16795.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16796.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16797.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16798.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16799.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16800.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16801.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16802.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@16803.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@16804.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16805.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16806.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@16807.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16832.6]
  assign _T_92 = io_in_a_bits_address ^ 28'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@16835.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@16836.8]
  assign _T_94 = $signed(_T_93) & $signed(-29'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@16837.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@16838.8]
  assign _T_96 = $signed(_T_95) == $signed(29'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@16839.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16844.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16857.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16858.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16865.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16866.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16872.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16873.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@16878.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16880.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16881.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16886.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16887.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16889.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16890.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@16895.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16897.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16898.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16904.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@16958.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16960.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16961.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@16984.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@16987.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@16995.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16998.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16999.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17018.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17020.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17021.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17026.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17028.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17029.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17043.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17094.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@17136.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17137.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@17138.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17140.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17141.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17147.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@17178.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17180.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17181.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17195.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@17226.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17228.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17229.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17243.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@17293.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17295.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17296.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@17302.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@17307.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17309.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17312.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17313.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17318.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17320.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17321.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17351.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17409.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17468.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17503.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17539.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17599.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@17604.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@17605.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17606.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17609.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17610.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17611.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17612.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17628.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17629.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17631.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17633.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17634.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17639.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17641.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17642.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17647.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17649.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17650.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17655.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17657.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17658.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17663.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17665.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17666.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@17673.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17681.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@17683.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@17684.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@17685.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@17686.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@17687.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17690.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17691.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17692.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17693.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@17710.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17711.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17713.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17715.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17716.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17729.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17731.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17732.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@17737.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17739.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17740.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@17763.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17783.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17784.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17785.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17786.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17806.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17807.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17808.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17809.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17824.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@17827.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@17829.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@17830.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17831.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17833.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17834.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@17826.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17845.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@17847.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@17848.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@17850.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@17852.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17853.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17854.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17856.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17857.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@17849.4]
  assign _T_687 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@17863.4]
  assign _T_688 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@17864.4]
  assign _T_689 = _T_688 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@17865.4]
  assign _T_690 = _T_687 | _T_689; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@17866.4]
  assign _T_692 = _T_690 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17868.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17869.4]
  assign _T_694 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17874.4]
  assign _T_695 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@17875.4]
  assign _T_696 = _T_694 & _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@17876.4]
  assign _T_699 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@17881.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17882.4]
  assign _T_701 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@17883.4]
  assign _T_702 = _T_700 | _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17884.4]
  assign _T_703 = _T_698 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@17885.4]
  assign _T_704 = _T_702 | _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@17886.4]
  assign _T_706 = _T_704 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17888.4]
  assign _T_707 = _T_706 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17889.4]
  assign _T_709 = _T_698 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@17895.4]
  assign _T_712 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@17899.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16846.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16918.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17001.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17060.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17111.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17161.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17209.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17257.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17315.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17357.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17415.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17474.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17509.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17545.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_508 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_521 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_523 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_525 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_527 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_529 = _RAND_5[27:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_563 = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_576 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_580 = _RAND_8[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_582 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_616 = _RAND_10[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_627 = _RAND_11[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_648 = _RAND_12[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_698 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_508 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_512) begin
          if (_T_505) begin
            _T_508 <= _T_503;
          end else begin
            _T_508 <= 4'h0;
          end
        end else begin
          _T_508 <= _T_511;
        end
      end
    end
    if (_T_553) begin
      _T_521 <= io_in_a_bits_opcode;
    end
    if (_T_553) begin
      _T_523 <= io_in_a_bits_param;
    end
    if (_T_553) begin
      _T_525 <= io_in_a_bits_size;
    end
    if (_T_553) begin
      _T_527 <= io_in_a_bits_source;
    end
    if (_T_553) begin
      _T_529 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_563 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_567) begin
          if (_T_560) begin
            _T_563 <= _T_559;
          end else begin
            _T_563 <= 4'h0;
          end
        end else begin
          _T_563 <= _T_566;
        end
      end
    end
    if (_T_614) begin
      _T_576 <= io_in_d_bits_opcode;
    end
    if (_T_614) begin
      _T_580 <= io_in_d_bits_size;
    end
    if (_T_614) begin
      _T_582 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_616 <= 2'h0;
    end else begin
      _T_616 <= _T_696;
    end
    if (reset) begin
      _T_627 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_631) begin
          if (_T_505) begin
            _T_627 <= _T_503;
          end else begin
            _T_627 <= 4'h0;
          end
        end else begin
          _T_627 <= _T_630;
        end
      end
    end
    if (reset) begin
      _T_648 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_652) begin
          if (_T_560) begin
            _T_648 <= _T_559;
          end else begin
            _T_648 <= 4'h0;
          end
        end else begin
          _T_648 <= _T_651;
        end
      end
    end
    if (reset) begin
      _T_698 <= 32'h0;
    end else begin
      if (_T_712) begin
        _T_698 <= 32'h0;
      end else begin
        _T_698 <= _T_709;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16759.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16760.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16829.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@16830.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16846.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16847.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16853.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16854.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16860.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16861.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16868.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16869.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16875.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16876.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16883.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16884.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16892.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16893.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16900.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16901.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16918.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16919.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16925.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16926.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16932.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16933.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16940.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16941.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16947.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16948.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16955.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16956.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16963.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16964.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16972.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16973.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16980.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@16981.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17001.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17002.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17008.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17009.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17015.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17016.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17023.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17024.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17031.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17032.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17039.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17040.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17060.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17061.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17067.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17068.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17074.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17075.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17082.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17083.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17090.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17091.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17111.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17112.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17118.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17119.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17125.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17126.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17133.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17134.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17143.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17144.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17161.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17162.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17168.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17169.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17175.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17176.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17183.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17184.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17191.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17192.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17209.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17210.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17216.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17217.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17223.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17224.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17231.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17232.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17239.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17240.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17257.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17258.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17264.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17265.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17271.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17272.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17279.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17280.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17287.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17288.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17298.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17299.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17315.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17316.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17323.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17324.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17331.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17332.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17339.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17340.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17347.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17348.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17357.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17358.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17364.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17365.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17372.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17373.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17380.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17381.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17388.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17389.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17396.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17397.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17405.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17406.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17415.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17416.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17422.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17423.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17430.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17431.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17438.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17439.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17446.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17447.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17455.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17456.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17464.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17465.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17474.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17475.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17482.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17483.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17490.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17491.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17499.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17500.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17509.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17510.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17517.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17518.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17526.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17527.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17535.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17536.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17545.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17546.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17553.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17554.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17561.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17562.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17570.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17571.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17580.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17581.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17588.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17589.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17596.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17597.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17636.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17637.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17644.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17645.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17652.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17653.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17660.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17661.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17668.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17669.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17718.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17719.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17726.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17727.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17734.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17735.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17742.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17743.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17750.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17751.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17758.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@17759.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17836.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17837.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17859.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17860.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_693) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17871.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_693) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@17872.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_707) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17891.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_707) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@17892.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17904.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17905.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17906.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  input  [27:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  output [27:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17907.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
  wire [27:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
  TLMonitor_8 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@17914.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17954.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17954.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17954.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17954.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17954.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17954.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17953.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17953.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17953.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17953.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17953.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17953.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17953.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17953.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17953.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17953.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17916.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17917.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@17950.4]
endmodule
module SimpleLazyModule_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17964.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17965.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17966.4]
  output        auto_buffer_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  input         auto_buffer_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  input  [2:0]  auto_buffer_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  input  [2:0]  auto_buffer_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  input  [2:0]  auto_buffer_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  input         auto_buffer_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  input  [27:0] auto_buffer_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  input  [3:0]  auto_buffer_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  input  [31:0] auto_buffer_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  input         auto_buffer_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  input         auto_buffer_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  output        auto_buffer_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  output [2:0]  auto_buffer_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  output [2:0]  auto_buffer_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  output        auto_buffer_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  output [31:0] auto_buffer_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  input         auto_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  output        auto_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  output [2:0]  auto_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  output [2:0]  auto_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  output [1:0]  auto_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  output [5:0]  auto_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  output [27:0] auto_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  output [3:0]  auto_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  output [31:0] auto_fragmenter_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  output        auto_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  output        auto_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  input         auto_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  input  [2:0]  auto_fragmenter_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  input  [1:0]  auto_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  input  [5:0]  auto_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
  input  [31:0] auto_fragmenter_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17967.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire [27:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire [27:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire [2:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire [27:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire [2:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire [2:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire [27:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire [2:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
  TLFragmenter fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@17972.4]
    .clock(fragmenter_clock),
    .reset(fragmenter_reset),
    .auto_in_a_ready(fragmenter_auto_in_a_ready),
    .auto_in_a_valid(fragmenter_auto_in_a_valid),
    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
    .auto_in_d_ready(fragmenter_auto_in_d_ready),
    .auto_in_d_valid(fragmenter_auto_in_d_valid),
    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
    .auto_out_a_ready(fragmenter_auto_out_a_ready),
    .auto_out_a_valid(fragmenter_auto_out_a_valid),
    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
    .auto_out_d_ready(fragmenter_auto_out_d_ready),
    .auto_out_d_valid(fragmenter_auto_out_d_valid),
    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
  );
  TLBuffer_2 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@17978.4]
    .clock(buffer_clock),
    .reset(buffer_reset),
    .auto_in_a_ready(buffer_auto_in_a_ready),
    .auto_in_a_valid(buffer_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_auto_in_d_ready),
    .auto_in_d_valid(buffer_auto_in_d_valid),
    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
    .auto_out_a_ready(buffer_auto_out_a_ready),
    .auto_out_a_valid(buffer_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_auto_out_d_ready),
    .auto_out_d_valid(buffer_auto_out_d_valid),
    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
  );
  assign auto_buffer_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
  assign auto_buffer_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
  assign auto_buffer_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
  assign auto_buffer_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
  assign auto_buffer_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
  assign auto_buffer_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
  assign auto_fragmenter_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
  assign auto_fragmenter_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
  assign auto_fragmenter_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
  assign auto_fragmenter_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
  assign auto_fragmenter_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
  assign auto_fragmenter_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
  assign auto_fragmenter_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
  assign auto_fragmenter_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
  assign auto_fragmenter_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
  assign auto_fragmenter_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17976.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17977.4]
  assign fragmenter_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
  assign fragmenter_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
  assign fragmenter_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
  assign fragmenter_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
  assign fragmenter_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
  assign fragmenter_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
  assign fragmenter_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
  assign fragmenter_auto_in_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
  assign fragmenter_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
  assign fragmenter_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
  assign fragmenter_auto_out_a_ready = auto_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
  assign fragmenter_auto_out_d_valid = auto_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
  assign fragmenter_auto_out_d_bits_size = auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
  assign fragmenter_auto_out_d_bits_source = auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
  assign fragmenter_auto_out_d_bits_data = auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@17985.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17982.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17983.4]
  assign buffer_auto_in_a_valid = auto_buffer_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
  assign buffer_auto_in_a_bits_opcode = auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
  assign buffer_auto_in_a_bits_param = auto_buffer_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
  assign buffer_auto_in_a_bits_size = auto_buffer_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
  assign buffer_auto_in_a_bits_source = auto_buffer_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
  assign buffer_auto_in_a_bits_address = auto_buffer_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
  assign buffer_auto_in_a_bits_mask = auto_buffer_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
  assign buffer_auto_in_a_bits_data = auto_buffer_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
  assign buffer_auto_in_a_bits_corrupt = auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
  assign buffer_auto_in_d_ready = auto_buffer_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17986.4]
  assign buffer_auto_out_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
  assign buffer_auto_out_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
  assign buffer_auto_out_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
  assign buffer_auto_out_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
  assign buffer_auto_out_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
  assign buffer_auto_out_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@17984.4]
endmodule
module TLMonitor_9( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17995.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17996.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17997.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
  input  [25:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@17998.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@19119.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@18014.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@18019.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@18021.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@18022.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@18023.6]
  wire [25:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@18024.6]
  wire [25:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@18024.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@18025.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18027.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18028.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@18030.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@18031.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@18032.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@18033.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@18034.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18036.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18037.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18039.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18040.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@18041.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@18042.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@18043.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18044.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18045.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18046.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18047.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18048.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18049.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18050.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18051.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18052.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18053.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18054.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18055.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@18056.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@18057.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@18058.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18083.6]
  wire [25:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18086.8]
  wire [26:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18087.8]
  wire [26:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@18088.8]
  wire [26:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@18089.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@18090.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18095.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18108.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18109.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18116.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18117.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18123.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18124.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18129.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18131.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18132.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@18137.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18138.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18140.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18141.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@18146.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18148.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18149.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18155.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18209.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18211.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18212.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18235.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@18238.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@18246.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18249.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18250.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18269.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18271.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18272.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18277.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18279.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18280.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18294.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18345.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@18387.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18388.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@18389.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18391.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18392.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18398.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@18429.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18431.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18432.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18446.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@18477.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18479.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18480.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18494.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@18544.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18546.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18547.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@18553.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@18558.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18560.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18563.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18564.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18569.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18571.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18572.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18602.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18660.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18719.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18754.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18790.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18850.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@18855.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@18856.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18857.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18859.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18860.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18861.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18862.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18863.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18874.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18875.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18876.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18877.4]
  reg [31:0] _RAND_4;
  reg [25:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18878.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18879.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@18880.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18882.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18884.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18885.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18890.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18892.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18893.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18898.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18900.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18901.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18906.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18908.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18909.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18914.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18916.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18917.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@18924.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18932.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@18934.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@18935.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@18936.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@18937.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@18938.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18940.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18941.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18942.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18943.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18944.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18955.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18957.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18958.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18961.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@18962.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18964.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18966.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18967.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18980.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18982.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18983.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18988.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18990.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18991.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@19014.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19023.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19033.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19034.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19035.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19036.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19037.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19056.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19057.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19058.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19059.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19060.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19075.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19078.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19080.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19081.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19082.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19084.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19085.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@19077.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19096.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@19098.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@19099.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19101.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@19103.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@19104.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@19105.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19107.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19108.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@19100.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19114.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19115.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@19116.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19118.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19121.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19122.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@19123.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19124.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@19125.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@19126.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19128.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19129.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19135.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19139.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18097.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18169.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18252.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18311.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18362.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18412.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18460.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18508.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18566.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18608.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18666.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18725.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18760.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18796.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@19119.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@18014.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@18019.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@18021.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@18022.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@18023.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@18024.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@18024.6]
  assign _T_36 = _T_35 == 26'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@18025.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18027.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18028.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@18030.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@18031.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@18032.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@18033.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@18034.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18036.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18037.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18039.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18040.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@18041.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@18042.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@18043.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18044.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18045.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18046.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18047.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18048.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18049.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18050.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18051.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18052.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18053.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@18054.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18055.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@18056.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@18057.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@18058.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18083.6]
  assign _T_92 = io_in_a_bits_address ^ 26'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@18086.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@18087.8]
  assign _T_94 = $signed(_T_93) & $signed(-27'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@18088.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@18089.8]
  assign _T_96 = $signed(_T_95) == $signed(27'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@18090.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18095.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18108.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18109.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18116.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18117.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18123.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18124.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18129.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18131.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18132.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@18137.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18138.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18140.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18141.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@18146.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18148.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18149.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18155.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18209.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18211.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18212.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18235.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@18238.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@18246.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18249.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18250.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18269.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18271.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18272.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18277.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18279.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18280.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18294.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18345.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@18387.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18388.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@18389.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18391.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18392.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18398.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@18429.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18431.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18432.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18446.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@18477.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18479.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18480.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18494.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@18544.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18546.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18547.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@18553.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@18558.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18560.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18563.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18564.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@18569.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18571.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18572.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18602.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18660.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18719.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18754.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18790.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18850.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@18855.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@18856.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18857.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18860.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18861.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18862.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18863.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18879.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@18880.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18882.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18884.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18885.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18890.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18892.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18893.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18898.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18900.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18901.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18906.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18908.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18909.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18914.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18916.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18917.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@18924.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18932.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@18934.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@18935.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@18936.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@18937.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@18938.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18941.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18942.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@18943.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@18944.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@18961.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@18962.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18964.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18966.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18967.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18980.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18982.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18983.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@18988.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18990.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18991.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@19014.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19034.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19035.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19036.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19037.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19057.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19058.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19059.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19060.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19075.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19078.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19080.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19081.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19082.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19084.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19085.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@19077.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19096.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@19098.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@19099.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19101.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@19103.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@19104.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@19105.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19107.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19108.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@19100.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19114.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19115.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@19116.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19121.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19122.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@19123.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19124.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@19125.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@19126.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19128.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19129.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19135.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19139.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18097.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18169.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18252.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18311.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18362.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18412.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18460.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18508.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18566.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18608.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18666.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18725.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18760.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18796.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_508 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_521 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_523 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_525 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_527 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_529 = _RAND_5[25:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_563 = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_576 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_580 = _RAND_8[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_582 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_616 = _RAND_10[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_627 = _RAND_11[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_648 = _RAND_12[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_691 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_508 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_512) begin
          if (_T_505) begin
            _T_508 <= _T_503;
          end else begin
            _T_508 <= 4'h0;
          end
        end else begin
          _T_508 <= _T_511;
        end
      end
    end
    if (_T_553) begin
      _T_521 <= io_in_a_bits_opcode;
    end
    if (_T_553) begin
      _T_523 <= io_in_a_bits_param;
    end
    if (_T_553) begin
      _T_525 <= io_in_a_bits_size;
    end
    if (_T_553) begin
      _T_527 <= io_in_a_bits_source;
    end
    if (_T_553) begin
      _T_529 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_563 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_567) begin
          if (_T_560) begin
            _T_563 <= _T_559;
          end else begin
            _T_563 <= 4'h0;
          end
        end else begin
          _T_563 <= _T_566;
        end
      end
    end
    if (_T_614) begin
      _T_576 <= io_in_d_bits_opcode;
    end
    if (_T_614) begin
      _T_580 <= io_in_d_bits_size;
    end
    if (_T_614) begin
      _T_582 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_616 <= 2'h0;
    end else begin
      _T_616 <= _T_689;
    end
    if (reset) begin
      _T_627 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_631) begin
          if (_T_505) begin
            _T_627 <= _T_503;
          end else begin
            _T_627 <= 4'h0;
          end
        end else begin
          _T_627 <= _T_630;
        end
      end
    end
    if (reset) begin
      _T_648 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_652) begin
          if (_T_560) begin
            _T_648 <= _T_559;
          end else begin
            _T_648 <= 4'h0;
          end
        end else begin
          _T_648 <= _T_651;
        end
      end
    end
    if (reset) begin
      _T_691 <= 32'h0;
    end else begin
      if (_T_705) begin
        _T_691 <= 32'h0;
      end else begin
        _T_691 <= _T_702;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18010.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18011.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18080.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18081.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18097.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18098.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18104.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18105.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18111.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18112.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18119.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18120.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18126.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18127.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18134.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18135.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18143.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18144.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18151.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18152.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18169.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18170.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18176.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18177.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18183.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18184.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18191.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18192.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18198.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18199.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18206.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18207.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18214.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18215.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18223.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18224.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18231.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18232.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18252.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18253.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18259.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18260.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18266.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18267.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18274.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18275.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18282.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18283.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18290.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18291.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18311.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18312.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18318.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18319.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18325.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18326.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18333.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18334.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18341.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18342.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18362.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18363.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18369.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18370.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18376.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18377.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18384.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18385.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18394.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18395.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18412.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18413.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18419.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18420.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18426.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18427.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18434.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18435.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18442.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18443.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18460.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18461.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18467.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18468.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18474.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18475.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18482.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18483.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18490.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18491.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18508.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18509.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18515.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18516.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18522.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18523.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18530.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18531.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18538.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18539.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18549.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@18550.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18566.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18567.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18574.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18575.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18582.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18583.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18590.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18591.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18598.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18599.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18608.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18609.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18615.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18616.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18623.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18624.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18631.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18632.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18639.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18640.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18647.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18648.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18656.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18657.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18666.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18667.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18673.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18674.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18681.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18682.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18689.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18690.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18697.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18698.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18706.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18707.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18715.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18716.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18725.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18726.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18733.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18734.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18741.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18742.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18750.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18751.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18760.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18761.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18768.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18769.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18777.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18778.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18786.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18787.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18796.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18797.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18804.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18805.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18812.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18813.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18821.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18822.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18831.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18832.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18839.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18840.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18847.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18848.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18887.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18888.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18895.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18896.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18903.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18904.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18911.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18912.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18919.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18920.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18969.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18970.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18977.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18978.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18985.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18986.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18993.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@18994.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19001.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19002.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19009.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19010.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19087.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19088.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19110.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19111.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_700) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19131.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_700) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19132.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Repeater_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19144.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19145.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19146.4]
  input         io_repeat, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
  output        io_full, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
  input  [25:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
  output [25:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19147.4]
);
  reg  full; // @[Repeater.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@19152.4]
  reg [31:0] _RAND_0;
  reg [2:0] saved_opcode; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19153.4]
  reg [31:0] _RAND_1;
  reg [2:0] saved_param; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19153.4]
  reg [31:0] _RAND_2;
  reg [2:0] saved_size; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19153.4]
  reg [31:0] _RAND_3;
  reg  saved_source; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19153.4]
  reg [31:0] _RAND_4;
  reg [25:0] saved_address; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19153.4]
  reg [31:0] _RAND_5;
  reg [3:0] saved_mask; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19153.4]
  reg [31:0] _RAND_6;
  reg  saved_corrupt; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19153.4]
  reg [31:0] _RAND_7;
  wire  _T_18; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19156.4]
  wire  _T_21; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19162.4]
  wire  _T_22; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19163.4]
  wire  _T_23; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19168.4]
  wire  _T_24; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19169.4]
  wire  _T_25; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19170.4]
  assign _T_18 = full == 1'h0; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19156.4]
  assign _T_21 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19162.4]
  assign _T_22 = _T_21 & io_repeat; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19163.4]
  assign _T_23 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19168.4]
  assign _T_24 = io_repeat == 1'h0; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19169.4]
  assign _T_25 = _T_23 & _T_24; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19170.4]
  assign io_full = full; // @[Repeater.scala 25:11:shc.marmotcaravel.MarmotCaravelConfig.fir@19161.4]
  assign io_enq_ready = io_deq_ready & _T_18; // @[Repeater.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@19158.4]
  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@19155.4]
  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19160.4]
  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19160.4]
  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19160.4]
  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19160.4]
  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19160.4]
  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19160.4]
  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19160.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  full = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  saved_opcode = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  saved_param = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  saved_size = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  saved_source = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  saved_address = _RAND_5[25:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  saved_mask = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  saved_corrupt = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      full <= 1'h0;
    end else begin
      if (_T_25) begin
        full <= 1'h0;
      end else begin
        if (_T_22) begin
          full <= 1'h1;
        end
      end
    end
    if (_T_22) begin
      saved_opcode <= io_enq_bits_opcode;
    end
    if (_T_22) begin
      saved_param <= io_enq_bits_param;
    end
    if (_T_22) begin
      saved_size <= io_enq_bits_size;
    end
    if (_T_22) begin
      saved_source <= io_enq_bits_source;
    end
    if (_T_22) begin
      saved_address <= io_enq_bits_address;
    end
    if (_T_22) begin
      saved_mask <= io_enq_bits_mask;
    end
    if (_T_22) begin
      saved_corrupt <= io_enq_bits_corrupt;
    end
  end
endmodule
module TLFragmenter_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19175.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19176.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19177.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  input  [25:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  output [25:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19178.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
  wire [25:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
  wire [25:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
  wire [25:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19226.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@19227.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19228.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@19229.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19230.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19231.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19233.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19234.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19236.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@19237.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19238.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@19239.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19255.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@19256.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@19257.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@19257.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@19258.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@19258.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19259.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19259.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@19260.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19261.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19262.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@19263.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19264.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19265.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19266.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19267.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19267.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19268.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19269.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19270.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19271.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@19272.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19273.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19274.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19288.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19290.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19291.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@19292.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19275.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19277.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19277.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19278.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19279.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@19284.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19294.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19327.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@19328.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19330.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@19331.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19332.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19334.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@19335.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19336.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19337.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19338.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19340.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19341.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19342.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19343.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19344.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19345.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19346.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19347.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@19350.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@19357.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19358.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@19362.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@19222.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19371.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19363.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19367.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@19368.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@19372.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@19372.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@19373.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@19374.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@19375.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@19375.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@19376.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19377.4]
  wire [25:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@19378.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19380.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19384.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@19386.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19388.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19389.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@19396.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@19397.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19399.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19400.4]
  TLMonitor_9 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19185.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  Repeater_1 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19302.4]
    .clock(Repeater_clock),
    .reset(Repeater_reset),
    .io_repeat(Repeater_io_repeat),
    .io_full(Repeater_io_full),
    .io_enq_ready(Repeater_io_enq_ready),
    .io_enq_valid(Repeater_io_enq_valid),
    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
    .io_enq_bits_param(Repeater_io_enq_bits_param),
    .io_enq_bits_size(Repeater_io_enq_bits_size),
    .io_enq_bits_source(Repeater_io_enq_bits_source),
    .io_enq_bits_address(Repeater_io_enq_bits_address),
    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
    .io_deq_ready(Repeater_io_deq_ready),
    .io_deq_valid(Repeater_io_deq_valid),
    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
    .io_deq_bits_param(Repeater_io_deq_bits_param),
    .io_deq_bits_size(Repeater_io_deq_bits_size),
    .io_deq_bits_source(Repeater_io_deq_bits_source),
    .io_deq_bits_address(Repeater_io_deq_bits_address),
    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
  );
  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@19229.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19230.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19231.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19233.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19234.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19236.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@19237.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19238.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@19239.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19255.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@19256.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@19257.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@19257.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@19258.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@19258.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19259.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@19259.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@19260.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19261.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19262.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@19263.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19264.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19265.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19266.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19267.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19267.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19268.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19269.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19270.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19271.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@19272.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19273.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19274.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@19288.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19290.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19291.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@19292.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19275.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19277.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19277.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19278.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@19279.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@19284.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19294.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19327.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@19328.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19330.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@19331.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19332.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19334.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@19335.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19336.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19337.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19338.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19341.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19342.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19343.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19344.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19345.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19346.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19347.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@19350.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19358.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@19362.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@19222.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19371.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19363.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19367.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@19368.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@19372.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@19372.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@19373.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@19374.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@19375.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@19375.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@19376.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19377.4]
  assign _GEN_14 = {{20'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@19378.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19380.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19384.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@19386.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19388.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19389.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@19396.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@19397.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19399.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19400.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19225.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19225.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19225.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19225.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19225.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19225.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19224.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19224.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19224.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19224.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19224.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19224.4]
  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19224.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19224.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19224.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19224.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19187.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19188.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@19221.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19304.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19305.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19370.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19306.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19306.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19306.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19306.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19306.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19306.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19306.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@19306.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@19371.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_244 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_246 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_248 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_344 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_362 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_244 <= 4'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_244 <= _T_249;
        end else begin
          _T_244 <= _T_294;
        end
      end
    end
    if (_T_291) begin
      if (_T_250) begin
        _T_246 <= _T_290;
      end
    end
    if (reset) begin
      _T_248 <= 1'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_248 <= _T_296;
        end
      end
    end
    if (reset) begin
      _T_344 <= 4'h0;
    end else begin
      if (_T_365) begin
        _T_344 <= _T_354;
      end
    end
    if (_T_345) begin
      _T_362 <= _T_248;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19250.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19251.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_383) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19391.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_383) begin
          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19392.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_389) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19402.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_389) begin
          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19403.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_10( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19421.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19422.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19423.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
  input  [25:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@19424.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@20545.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@19440.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19445.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19447.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@19448.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19449.6]
  wire [25:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@19450.6]
  wire [25:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@19450.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@19451.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19453.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19454.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@19456.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@19457.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19458.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19459.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@19460.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19462.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19463.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19465.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19466.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19467.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19468.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@19469.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19470.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19471.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19472.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19473.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19474.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19475.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19476.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19477.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19478.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19479.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19480.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19481.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19482.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19483.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19484.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19509.6]
  wire [25:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19512.8]
  wire [26:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19513.8]
  wire [26:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@19514.8]
  wire [26:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@19515.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@19516.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19521.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19534.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19535.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19542.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19543.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19549.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19550.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19555.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19557.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19558.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19563.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19564.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19566.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19567.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19572.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19574.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19575.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19581.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19635.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19637.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19638.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19661.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@19664.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@19672.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19675.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19676.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19695.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19697.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19698.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19703.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19705.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19706.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19720.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19771.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@19813.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19814.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19815.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19817.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19818.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19824.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@19855.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19857.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19858.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19872.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@19903.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19905.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19906.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19920.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@19970.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19972.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19973.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@19979.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19984.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19986.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19989.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19990.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19995.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19997.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19998.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20028.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20086.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20145.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20180.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20216.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20276.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@20281.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@20282.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20283.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20285.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20286.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20287.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20288.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20289.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20300.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20301.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20302.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20303.4]
  reg [31:0] _RAND_4;
  reg [25:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20304.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20305.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20306.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20308.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20310.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20311.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20316.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20318.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20319.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20324.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20326.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20327.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20332.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20334.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20335.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20340.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20342.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20343.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@20350.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20358.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@20360.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@20361.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@20362.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@20363.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@20364.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20366.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20367.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20368.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20369.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20370.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20381.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20383.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20384.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20387.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20388.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20390.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20392.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20393.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20406.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20408.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20409.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20414.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20416.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20417.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@20440.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20449.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20459.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20460.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20461.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20462.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20463.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20482.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20483.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20484.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20485.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20486.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20501.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@20504.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@20506.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@20507.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20508.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20510.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20511.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@20503.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20522.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@20524.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@20525.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@20527.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@20529.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20530.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20531.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20533.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20534.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@20526.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20540.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20541.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@20542.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20544.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@20547.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20548.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@20549.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20550.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@20551.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@20552.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20554.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20555.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@20561.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20565.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19523.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19595.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19678.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19737.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19788.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19838.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19886.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19934.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19992.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20034.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20092.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20151.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20186.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20222.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@20545.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@19440.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19445.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@19447.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@19448.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19449.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@19450.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@19450.6]
  assign _T_36 = _T_35 == 26'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@19451.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19453.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19454.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@19456.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@19457.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19458.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19459.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@19460.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19462.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19463.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19465.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19466.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19467.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@19468.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@19469.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19470.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19471.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19472.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19473.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19474.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19475.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19476.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19477.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19478.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19479.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@19480.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@19481.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19482.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19483.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@19484.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19509.6]
  assign _T_92 = io_in_a_bits_address ^ 26'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@19512.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@19513.8]
  assign _T_94 = $signed(_T_93) & $signed(-27'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@19514.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@19515.8]
  assign _T_96 = $signed(_T_95) == $signed(27'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@19516.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19521.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19534.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19535.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19542.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19543.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19549.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19550.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19555.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19557.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19558.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19563.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19564.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19566.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19567.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@19572.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19574.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19575.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19581.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19635.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19637.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19638.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19661.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@19664.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@19672.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19675.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19676.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19695.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19697.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19698.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19703.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19705.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19706.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19720.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19771.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@19813.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@19814.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@19815.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19817.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19818.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19824.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@19855.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19857.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19858.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19872.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@19903.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19905.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19906.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19920.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@19970.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19972.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19973.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@19979.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@19984.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@19986.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19989.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19990.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@19995.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19997.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19998.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20028.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20086.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20145.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20180.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20216.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20276.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@20281.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@20282.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20283.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20286.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20287.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20288.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20289.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20305.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20306.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20308.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20310.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20311.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20316.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20318.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20319.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20324.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20326.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20327.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20332.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20334.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20335.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20340.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20342.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20343.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@20350.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20358.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@20360.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@20361.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@20362.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@20363.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@20364.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20367.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20368.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20369.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20370.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@20387.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20388.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20390.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20392.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20393.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20406.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20408.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20409.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20414.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20416.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20417.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@20440.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20460.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20461.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20462.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20463.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20483.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20484.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20485.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20486.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20501.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@20504.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@20506.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@20507.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20508.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20510.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20511.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@20503.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20522.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@20524.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@20525.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@20527.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@20529.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20530.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20531.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20533.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20534.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@20526.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20540.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20541.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@20542.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@20547.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20548.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@20549.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20550.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@20551.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@20552.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20554.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20555.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@20561.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20565.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19523.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19595.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19678.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19737.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19788.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19838.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19886.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19934.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19992.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20034.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20092.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20151.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20186.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20222.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_508 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_521 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_523 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_525 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_527 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_529 = _RAND_5[25:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_563 = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_576 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_580 = _RAND_8[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_582 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_616 = _RAND_10[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_627 = _RAND_11[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_648 = _RAND_12[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_691 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_508 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_512) begin
          if (_T_505) begin
            _T_508 <= _T_503;
          end else begin
            _T_508 <= 4'h0;
          end
        end else begin
          _T_508 <= _T_511;
        end
      end
    end
    if (_T_553) begin
      _T_521 <= io_in_a_bits_opcode;
    end
    if (_T_553) begin
      _T_523 <= io_in_a_bits_param;
    end
    if (_T_553) begin
      _T_525 <= io_in_a_bits_size;
    end
    if (_T_553) begin
      _T_527 <= io_in_a_bits_source;
    end
    if (_T_553) begin
      _T_529 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_563 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_567) begin
          if (_T_560) begin
            _T_563 <= _T_559;
          end else begin
            _T_563 <= 4'h0;
          end
        end else begin
          _T_563 <= _T_566;
        end
      end
    end
    if (_T_614) begin
      _T_576 <= io_in_d_bits_opcode;
    end
    if (_T_614) begin
      _T_580 <= io_in_d_bits_size;
    end
    if (_T_614) begin
      _T_582 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_616 <= 2'h0;
    end else begin
      _T_616 <= _T_689;
    end
    if (reset) begin
      _T_627 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_631) begin
          if (_T_505) begin
            _T_627 <= _T_503;
          end else begin
            _T_627 <= 4'h0;
          end
        end else begin
          _T_627 <= _T_630;
        end
      end
    end
    if (reset) begin
      _T_648 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_652) begin
          if (_T_560) begin
            _T_648 <= _T_559;
          end else begin
            _T_648 <= 4'h0;
          end
        end else begin
          _T_648 <= _T_651;
        end
      end
    end
    if (reset) begin
      _T_691 <= 32'h0;
    end else begin
      if (_T_705) begin
        _T_691 <= 32'h0;
      end else begin
        _T_691 <= _T_702;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19436.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19437.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19506.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19507.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19523.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19524.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19530.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19531.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19537.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19538.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19545.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19546.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19552.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19553.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19560.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19561.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19569.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19570.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19577.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19578.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19595.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19596.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19602.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19603.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19609.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19610.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19617.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19618.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19624.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19625.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19632.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19633.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19640.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19641.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19649.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19650.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19657.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19658.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19678.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19679.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19685.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19686.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19692.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19693.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19700.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19701.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19708.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19709.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19716.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19717.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19737.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19738.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19744.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19745.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19751.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19752.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19759.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19760.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19767.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19768.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19788.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19789.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19795.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19796.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19802.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19803.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19810.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19811.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19820.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19821.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19838.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19839.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19845.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19846.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19852.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19853.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19860.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19861.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19868.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19869.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19886.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19887.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19893.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19894.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19900.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19901.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19908.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19909.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19916.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19917.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19934.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19935.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19941.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19942.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19948.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19949.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19956.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19957.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19964.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19965.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19975.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@19976.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19992.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@19993.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20000.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20001.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20008.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20009.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20016.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20017.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20024.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20025.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20034.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20035.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20041.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20042.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20049.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20050.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20057.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20058.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20065.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20066.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20073.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20074.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20082.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20083.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20092.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20093.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20099.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20100.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20107.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20108.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20115.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20116.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20123.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20124.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20132.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20133.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20141.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20142.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20151.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20152.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20159.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20160.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20167.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20168.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20176.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20177.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20186.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20187.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20194.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20195.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20203.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20204.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20212.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20213.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20222.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20223.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20230.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20231.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20238.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20239.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20247.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20248.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20257.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20258.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20265.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20266.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20273.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20274.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20313.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20314.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20321.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20322.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20329.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20330.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20337.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20338.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20345.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20346.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20395.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20396.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20403.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20404.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20411.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20412.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20419.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20420.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20427.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20428.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20435.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20436.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20513.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20514.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20536.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@20537.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_700) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20557.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_700) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20558.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20570.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20571.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20572.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  input  [25:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  output [25:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20573.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
  wire [25:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
  TLMonitor_10 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20580.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20620.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20620.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20620.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20620.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20620.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20620.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20619.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20619.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20619.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20619.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20619.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20619.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20619.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20619.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20619.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20619.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20582.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20583.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@20616.4]
endmodule
module SimpleLazyModule_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20630.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20631.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20632.4]
  output        auto_buffer_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  input         auto_buffer_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  input  [2:0]  auto_buffer_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  input  [2:0]  auto_buffer_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  input  [2:0]  auto_buffer_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  input         auto_buffer_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  input  [25:0] auto_buffer_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  input  [3:0]  auto_buffer_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  input  [31:0] auto_buffer_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  input         auto_buffer_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  input         auto_buffer_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  output        auto_buffer_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  output [2:0]  auto_buffer_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  output [2:0]  auto_buffer_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  output        auto_buffer_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  output [31:0] auto_buffer_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  input         auto_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  output        auto_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  output [2:0]  auto_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  output [2:0]  auto_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  output [1:0]  auto_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  output [5:0]  auto_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  output [25:0] auto_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  output [3:0]  auto_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  output [31:0] auto_fragmenter_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  output        auto_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  output        auto_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  input         auto_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  input  [2:0]  auto_fragmenter_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  input  [1:0]  auto_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  input  [5:0]  auto_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
  input  [31:0] auto_fragmenter_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20633.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire [25:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire [25:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire [2:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire [25:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire [2:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire [2:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire [25:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire [2:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
  TLFragmenter_1 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@20638.4]
    .clock(fragmenter_clock),
    .reset(fragmenter_reset),
    .auto_in_a_ready(fragmenter_auto_in_a_ready),
    .auto_in_a_valid(fragmenter_auto_in_a_valid),
    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
    .auto_in_d_ready(fragmenter_auto_in_d_ready),
    .auto_in_d_valid(fragmenter_auto_in_d_valid),
    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
    .auto_out_a_ready(fragmenter_auto_out_a_ready),
    .auto_out_a_valid(fragmenter_auto_out_a_valid),
    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
    .auto_out_d_ready(fragmenter_auto_out_d_ready),
    .auto_out_d_valid(fragmenter_auto_out_d_valid),
    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
  );
  TLBuffer_3 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20644.4]
    .clock(buffer_clock),
    .reset(buffer_reset),
    .auto_in_a_ready(buffer_auto_in_a_ready),
    .auto_in_a_valid(buffer_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_auto_in_d_ready),
    .auto_in_d_valid(buffer_auto_in_d_valid),
    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
    .auto_out_a_ready(buffer_auto_out_a_ready),
    .auto_out_a_valid(buffer_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_auto_out_d_ready),
    .auto_out_d_valid(buffer_auto_out_d_valid),
    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
  );
  assign auto_buffer_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
  assign auto_buffer_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
  assign auto_buffer_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
  assign auto_buffer_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
  assign auto_buffer_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
  assign auto_buffer_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
  assign auto_fragmenter_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
  assign auto_fragmenter_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
  assign auto_fragmenter_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
  assign auto_fragmenter_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
  assign auto_fragmenter_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
  assign auto_fragmenter_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
  assign auto_fragmenter_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
  assign auto_fragmenter_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
  assign auto_fragmenter_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
  assign auto_fragmenter_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20642.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20643.4]
  assign fragmenter_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
  assign fragmenter_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
  assign fragmenter_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
  assign fragmenter_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
  assign fragmenter_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
  assign fragmenter_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
  assign fragmenter_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
  assign fragmenter_auto_in_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
  assign fragmenter_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
  assign fragmenter_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
  assign fragmenter_auto_out_a_ready = auto_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
  assign fragmenter_auto_out_d_valid = auto_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
  assign fragmenter_auto_out_d_bits_size = auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
  assign fragmenter_auto_out_d_bits_source = auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
  assign fragmenter_auto_out_d_bits_data = auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20651.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20648.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20649.4]
  assign buffer_auto_in_a_valid = auto_buffer_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
  assign buffer_auto_in_a_bits_opcode = auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
  assign buffer_auto_in_a_bits_param = auto_buffer_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
  assign buffer_auto_in_a_bits_size = auto_buffer_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
  assign buffer_auto_in_a_bits_source = auto_buffer_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
  assign buffer_auto_in_a_bits_address = auto_buffer_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
  assign buffer_auto_in_a_bits_mask = auto_buffer_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
  assign buffer_auto_in_a_bits_data = auto_buffer_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
  assign buffer_auto_in_a_bits_corrupt = auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
  assign buffer_auto_in_d_ready = auto_buffer_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20652.4]
  assign buffer_auto_out_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
  assign buffer_auto_out_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
  assign buffer_auto_out_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
  assign buffer_auto_out_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
  assign buffer_auto_out_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
  assign buffer_auto_out_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@20650.4]
endmodule
module TLMonitor_11( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20661.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20662.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20663.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
  input  [11:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@20664.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@21785.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@20680.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@20685.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@20687.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@20688.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@20689.6]
  wire [11:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@20690.6]
  wire [11:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@20690.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@20691.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20693.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20694.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@20696.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@20697.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@20698.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@20699.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@20700.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20702.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20703.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20705.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20706.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@20707.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@20708.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@20709.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20710.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20711.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20712.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20713.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20714.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20715.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20716.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20717.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20718.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20719.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20720.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20721.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@20722.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@20723.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@20724.6]
  wire [12:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20728.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20749.6]
  wire [12:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@20754.8]
  wire [12:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@20755.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@20756.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20761.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20774.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20775.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20782.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20783.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20789.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20790.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20795.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20797.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20798.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@20803.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20804.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20806.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20807.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@20812.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20814.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20815.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20821.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20875.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20877.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20878.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20901.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@20904.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@20912.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20915.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20916.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20935.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20937.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20938.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20943.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20945.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20946.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20960.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21011.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@21053.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21054.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21055.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21057.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21058.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21064.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@21095.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21097.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21098.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21112.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@21143.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21145.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21146.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21160.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@21210.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21212.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21213.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@21219.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@21224.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21226.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21229.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21230.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21235.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21237.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21238.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21268.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21326.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21385.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21420.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21456.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21516.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@21521.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21522.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21523.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21525.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21526.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21527.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21528.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21529.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21540.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21541.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21542.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21543.4]
  reg [31:0] _RAND_4;
  reg [11:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21544.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21545.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21546.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21548.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21550.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21551.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21556.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21558.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21559.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21564.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21566.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21567.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21572.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21574.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21575.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21580.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21582.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21583.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@21590.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21598.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@21600.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@21601.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@21602.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@21603.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@21604.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21606.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21607.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21608.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21609.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21610.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21621.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21623.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21624.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21627.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21628.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21630.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21632.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21633.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21646.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21648.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21649.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21654.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21656.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21657.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@21680.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21689.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21699.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21700.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21701.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21702.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21703.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21722.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21723.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21724.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21725.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21726.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21741.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@21744.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21746.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21747.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21748.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21750.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21751.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@21743.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21762.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@21764.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@21765.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@21767.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@21769.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21770.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21771.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21773.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21774.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@21766.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21780.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@21781.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@21782.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21784.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21787.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21788.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@21789.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21790.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@21791.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@21792.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21794.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21795.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@21801.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21805.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20763.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20835.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20918.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20977.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21028.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21078.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21126.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21174.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21232.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21274.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21332.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21391.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21426.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21462.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@21785.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@20680.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@20685.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@20687.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@20688.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@20689.6]
  assign _GEN_18 = {{6'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@20690.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@20690.6]
  assign _T_36 = _T_35 == 12'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@20691.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20693.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20694.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@20696.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@20697.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@20698.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@20699.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@20700.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20702.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20703.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20705.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20706.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@20707.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@20708.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@20709.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20710.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20711.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20712.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20713.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20714.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20715.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20716.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20717.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20718.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20719.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@20720.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@20721.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@20722.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@20723.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@20724.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@20728.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20749.6]
  assign _T_94 = $signed(_T_73) & $signed(-13'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@20754.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@20755.8]
  assign _T_96 = $signed(_T_95) == $signed(13'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@20756.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20761.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20774.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20775.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20782.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20783.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20789.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20790.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20795.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20797.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20798.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@20803.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20804.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20806.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20807.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@20812.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20814.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20815.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20821.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20875.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20877.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20878.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20901.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@20904.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@20912.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20915.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20916.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@20935.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20937.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20938.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@20943.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20945.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20946.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@20960.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21011.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@21053.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21054.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21055.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21057.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21058.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21064.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@21095.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21097.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21098.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21112.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@21143.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21145.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21146.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21160.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@21210.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21212.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21213.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@21219.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@21224.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21226.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21229.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21230.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21235.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21237.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21238.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21268.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21326.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21385.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21420.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21456.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21516.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@21521.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21522.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21523.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21526.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21527.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21528.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21529.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21545.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21546.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21548.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21550.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21551.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21556.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21558.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21559.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21564.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21566.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21567.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21572.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21574.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21575.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21580.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21582.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21583.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@21590.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21598.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@21600.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@21601.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@21602.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@21603.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@21604.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21607.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21608.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21609.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21610.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21627.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21628.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21630.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21632.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21633.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21646.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21648.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21649.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21654.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21656.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21657.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@21680.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21700.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21701.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21702.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21703.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21723.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21724.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21725.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21726.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21741.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@21744.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21746.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21747.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21748.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21750.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21751.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@21743.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21762.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@21764.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@21765.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@21767.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@21769.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21770.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@21771.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21773.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21774.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@21766.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21780.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@21781.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@21782.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21787.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21788.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@21789.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21790.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@21791.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@21792.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21794.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21795.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@21801.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21805.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20763.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20835.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20918.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20977.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21028.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21078.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21126.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21174.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21232.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21274.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21332.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21391.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21426.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21462.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_508 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_521 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_523 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_525 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_527 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_529 = _RAND_5[11:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_563 = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_576 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_580 = _RAND_8[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_582 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_616 = _RAND_10[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_627 = _RAND_11[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_648 = _RAND_12[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_691 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_508 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_512) begin
          if (_T_505) begin
            _T_508 <= _T_503;
          end else begin
            _T_508 <= 4'h0;
          end
        end else begin
          _T_508 <= _T_511;
        end
      end
    end
    if (_T_553) begin
      _T_521 <= io_in_a_bits_opcode;
    end
    if (_T_553) begin
      _T_523 <= io_in_a_bits_param;
    end
    if (_T_553) begin
      _T_525 <= io_in_a_bits_size;
    end
    if (_T_553) begin
      _T_527 <= io_in_a_bits_source;
    end
    if (_T_553) begin
      _T_529 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_563 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_567) begin
          if (_T_560) begin
            _T_563 <= _T_559;
          end else begin
            _T_563 <= 4'h0;
          end
        end else begin
          _T_563 <= _T_566;
        end
      end
    end
    if (_T_614) begin
      _T_576 <= io_in_d_bits_opcode;
    end
    if (_T_614) begin
      _T_580 <= io_in_d_bits_size;
    end
    if (_T_614) begin
      _T_582 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_616 <= 2'h0;
    end else begin
      _T_616 <= _T_689;
    end
    if (reset) begin
      _T_627 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_631) begin
          if (_T_505) begin
            _T_627 <= _T_503;
          end else begin
            _T_627 <= 4'h0;
          end
        end else begin
          _T_627 <= _T_630;
        end
      end
    end
    if (reset) begin
      _T_648 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_652) begin
          if (_T_560) begin
            _T_648 <= _T_559;
          end else begin
            _T_648 <= 4'h0;
          end
        end else begin
          _T_648 <= _T_651;
        end
      end
    end
    if (reset) begin
      _T_691 <= 32'h0;
    end else begin
      if (_T_705) begin
        _T_691 <= 32'h0;
      end else begin
        _T_691 <= _T_702;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20676.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20677.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20746.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@20747.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20763.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20764.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20770.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20771.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20777.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20778.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20785.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20786.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20792.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20793.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20800.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20801.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20809.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20810.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20817.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20818.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20835.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20836.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20842.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20843.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20849.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20850.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20857.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20858.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20864.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20865.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20872.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20873.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20880.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20881.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20889.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20890.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20897.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20898.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20918.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20919.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20925.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20926.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20932.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20933.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20940.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20941.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20948.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20949.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20956.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20957.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20977.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20978.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20984.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20985.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20991.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20992.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@20999.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21000.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21007.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21008.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21028.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21029.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21035.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21036.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21042.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21043.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21050.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21051.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21060.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21061.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21078.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21079.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21085.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21086.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21092.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21093.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21100.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21101.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21108.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21109.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21126.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21127.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21133.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21134.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21140.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21141.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21148.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21149.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21156.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21157.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21174.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21175.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21181.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21182.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21188.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21189.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21196.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21197.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21204.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21205.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21215.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21216.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21232.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21233.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21240.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21241.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21248.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21249.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21256.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21257.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21264.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21265.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21274.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21275.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21281.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21282.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21289.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21290.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21297.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21298.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21305.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21306.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21313.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21314.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21322.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21323.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21332.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21333.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21339.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21340.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21347.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21348.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21355.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21356.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21363.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21364.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21372.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21373.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21381.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21382.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21391.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21392.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21399.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21400.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21407.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21408.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21416.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21417.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21426.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21427.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21434.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21435.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21443.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21444.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21452.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21453.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21462.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21463.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21470.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21471.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21478.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21479.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21487.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21488.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21497.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21498.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21505.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21506.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21513.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21514.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21553.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21554.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21561.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21562.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21569.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21570.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21577.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21578.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21585.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21586.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21635.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21636.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21643.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21644.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21651.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21652.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21659.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21660.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21667.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21668.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21675.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21676.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21753.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21754.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21776.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@21777.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_700) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21797.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_700) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21798.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Repeater_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21810.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21811.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21812.4]
  input         io_repeat, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
  output        io_full, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
  input  [11:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
  output [11:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21813.4]
);
  reg  full; // @[Repeater.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@21818.4]
  reg [31:0] _RAND_0;
  reg [2:0] saved_opcode; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21819.4]
  reg [31:0] _RAND_1;
  reg [2:0] saved_param; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21819.4]
  reg [31:0] _RAND_2;
  reg [2:0] saved_size; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21819.4]
  reg [31:0] _RAND_3;
  reg  saved_source; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21819.4]
  reg [31:0] _RAND_4;
  reg [11:0] saved_address; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21819.4]
  reg [31:0] _RAND_5;
  reg [3:0] saved_mask; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21819.4]
  reg [31:0] _RAND_6;
  reg  saved_corrupt; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21819.4]
  reg [31:0] _RAND_7;
  wire  _T_18; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@21822.4]
  wire  _T_21; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21828.4]
  wire  _T_22; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21829.4]
  wire  _T_23; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21834.4]
  wire  _T_24; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@21835.4]
  wire  _T_25; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21836.4]
  assign _T_18 = full == 1'h0; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@21822.4]
  assign _T_21 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21828.4]
  assign _T_22 = _T_21 & io_repeat; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21829.4]
  assign _T_23 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21834.4]
  assign _T_24 = io_repeat == 1'h0; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@21835.4]
  assign _T_25 = _T_23 & _T_24; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21836.4]
  assign io_full = full; // @[Repeater.scala 25:11:shc.marmotcaravel.MarmotCaravelConfig.fir@21827.4]
  assign io_enq_ready = io_deq_ready & _T_18; // @[Repeater.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@21824.4]
  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@21821.4]
  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@21826.4]
  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@21826.4]
  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@21826.4]
  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@21826.4]
  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@21826.4]
  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@21826.4]
  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@21826.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  full = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  saved_opcode = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  saved_param = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  saved_size = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  saved_source = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  saved_address = _RAND_5[11:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  saved_mask = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  saved_corrupt = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      full <= 1'h0;
    end else begin
      if (_T_25) begin
        full <= 1'h0;
      end else begin
        if (_T_22) begin
          full <= 1'h1;
        end
      end
    end
    if (_T_22) begin
      saved_opcode <= io_enq_bits_opcode;
    end
    if (_T_22) begin
      saved_param <= io_enq_bits_param;
    end
    if (_T_22) begin
      saved_size <= io_enq_bits_size;
    end
    if (_T_22) begin
      saved_source <= io_enq_bits_source;
    end
    if (_T_22) begin
      saved_address <= io_enq_bits_address;
    end
    if (_T_22) begin
      saved_mask <= io_enq_bits_mask;
    end
    if (_T_22) begin
      saved_corrupt <= io_enq_bits_corrupt;
    end
  end
endmodule
module TLFragmenter_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21841.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21842.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21843.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  input  [11:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  output [11:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21844.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
  wire [11:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
  wire [11:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
  wire [11:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21892.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21893.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21894.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@21895.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21896.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21897.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21899.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21900.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@21902.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@21903.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@21904.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@21905.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@21921.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@21922.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@21923.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@21923.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@21924.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@21924.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@21925.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@21925.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@21926.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@21927.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@21928.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@21929.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21930.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21931.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21932.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21933.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21933.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21934.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21935.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21936.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21937.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@21938.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@21939.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@21940.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21954.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21956.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21957.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@21958.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21941.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@21943.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@21943.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@21944.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@21945.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@21950.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21960.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21993.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21994.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@21996.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@21997.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@21998.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22000.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@22001.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22002.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22003.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22004.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22006.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22007.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22008.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22009.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22010.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22011.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22012.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22013.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@22016.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@22023.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@22024.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@22028.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@21888.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@22037.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22029.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22033.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@22034.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@22038.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@22038.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@22039.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@22040.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@22041.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@22041.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@22042.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@22043.4]
  wire [11:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@22044.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22046.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@22050.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@22052.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22054.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22055.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@22062.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@22063.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22065.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22066.4]
  TLMonitor_11 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@21851.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  Repeater_2 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21968.4]
    .clock(Repeater_clock),
    .reset(Repeater_reset),
    .io_repeat(Repeater_io_repeat),
    .io_full(Repeater_io_full),
    .io_enq_ready(Repeater_io_enq_ready),
    .io_enq_valid(Repeater_io_enq_valid),
    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
    .io_enq_bits_param(Repeater_io_enq_bits_param),
    .io_enq_bits_size(Repeater_io_enq_bits_size),
    .io_enq_bits_source(Repeater_io_enq_bits_source),
    .io_enq_bits_address(Repeater_io_enq_bits_address),
    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
    .io_deq_ready(Repeater_io_deq_ready),
    .io_deq_valid(Repeater_io_deq_valid),
    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
    .io_deq_bits_param(Repeater_io_deq_bits_param),
    .io_deq_bits_size(Repeater_io_deq_bits_size),
    .io_deq_bits_source(Repeater_io_deq_bits_source),
    .io_deq_bits_address(Repeater_io_deq_bits_address),
    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
  );
  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@21895.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21896.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21897.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@21899.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@21900.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@21902.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@21903.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@21904.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@21905.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@21921.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@21922.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@21923.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@21923.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@21924.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@21924.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@21925.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@21925.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@21926.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@21927.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@21928.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@21929.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21930.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21931.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21932.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21933.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21933.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21934.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21935.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21936.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21937.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@21938.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@21939.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@21940.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@21954.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21956.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@21957.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@21958.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21941.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@21943.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@21943.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@21944.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@21945.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@21950.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@21960.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@21993.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@21994.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@21996.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@21997.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@21998.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22000.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@22001.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22002.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22003.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22004.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22007.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22008.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22009.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22010.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22011.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22012.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22013.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@22016.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@22024.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@22028.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@21888.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@22037.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22029.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22033.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@22034.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@22038.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@22038.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@22039.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@22040.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@22041.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@22041.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@22042.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@22043.4]
  assign _GEN_14 = {{6'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@22044.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22046.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@22050.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@22052.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22054.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22055.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@22062.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@22063.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22065.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22066.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21891.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21891.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21891.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21891.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21891.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@21891.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21890.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21890.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21890.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21890.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21890.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21890.4]
  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21890.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21890.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21890.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@21890.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21853.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21854.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@21887.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21970.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@21971.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22036.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21972.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21972.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21972.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21972.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21972.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21972.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21972.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@21972.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@22037.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_244 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_246 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_248 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_344 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_362 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_244 <= 4'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_244 <= _T_249;
        end else begin
          _T_244 <= _T_294;
        end
      end
    end
    if (_T_291) begin
      if (_T_250) begin
        _T_246 <= _T_290;
      end
    end
    if (reset) begin
      _T_248 <= 1'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_248 <= _T_296;
        end
      end
    end
    if (reset) begin
      _T_344 <= 4'h0;
    end else begin
      if (_T_365) begin
        _T_344 <= _T_354;
      end
    end
    if (_T_345) begin
      _T_362 <= _T_248;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21916.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@21917.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_383) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22057.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_383) begin
          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22058.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_389) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22068.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_389) begin
          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22069.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_12( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22087.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22088.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22089.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
  input  [11:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@22090.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@23211.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@22106.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22111.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22113.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@22114.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22115.6]
  wire [11:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@22116.6]
  wire [11:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@22116.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@22117.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@22119.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22120.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@22122.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@22123.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22124.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22125.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@22126.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22128.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22129.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22131.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22132.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22133.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22134.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@22135.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22136.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22137.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22138.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22139.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22140.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22141.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22142.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22143.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22144.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22145.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22146.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22147.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22148.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22149.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22150.6]
  wire [12:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@22154.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22175.6]
  wire [12:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@22180.8]
  wire [12:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@22181.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@22182.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22187.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22200.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22201.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22208.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22209.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22215.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22216.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22221.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22223.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22224.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@22229.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22230.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22232.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22233.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@22238.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22240.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22241.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22247.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22301.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22303.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22304.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22327.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@22330.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@22338.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22341.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22342.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22361.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22363.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22364.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22369.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22371.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22372.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22386.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22437.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@22479.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22480.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22481.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22483.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22484.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22490.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@22521.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22523.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22524.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22538.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@22569.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22571.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22572.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22586.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@22636.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22638.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22639.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@22645.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22650.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22652.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22655.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22656.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22661.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22663.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22664.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22694.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22752.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22811.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22846.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22882.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@22942.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@22947.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22948.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22949.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22951.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22952.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22953.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22954.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22955.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@22966.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@22967.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@22968.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@22969.4]
  reg [31:0] _RAND_4;
  reg [11:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@22970.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@22971.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@22972.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22974.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22976.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22977.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22982.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22984.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22985.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22990.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22992.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22993.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22998.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23000.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23001.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23006.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23008.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23009.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@23016.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23024.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@23026.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@23027.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@23028.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@23029.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@23030.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23032.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23033.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23034.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23035.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23036.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23047.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23049.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23050.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23053.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23054.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23056.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23058.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23059.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23072.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23074.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23075.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23080.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23082.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23083.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@23106.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23115.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23125.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23126.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23127.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23128.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23129.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23148.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23149.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23150.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23151.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23152.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23167.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@23170.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@23172.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@23173.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23174.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23176.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23177.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@23169.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23188.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@23190.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@23191.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@23193.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@23195.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23196.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23197.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23199.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23200.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@23192.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23206.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23207.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@23208.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23210.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@23213.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23214.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@23215.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23216.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@23217.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@23218.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23220.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23221.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23227.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23231.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22189.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22261.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22344.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22403.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22454.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22504.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22552.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22600.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22658.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22700.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22758.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22817.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22852.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22888.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@23211.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@22106.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22111.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@22113.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@22114.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22115.6]
  assign _GEN_18 = {{6'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@22116.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@22116.6]
  assign _T_36 = _T_35 == 12'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@22117.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@22119.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22120.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@22122.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@22123.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22124.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22125.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@22126.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22128.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22129.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22131.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22132.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22133.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@22134.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@22135.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22136.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22137.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22138.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22139.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22140.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22141.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22142.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22143.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22144.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22145.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@22146.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22147.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22148.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22149.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@22150.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@22154.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22175.6]
  assign _T_94 = $signed(_T_73) & $signed(-13'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@22180.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@22181.8]
  assign _T_96 = $signed(_T_95) == $signed(13'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@22182.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22187.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22200.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22201.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22208.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22209.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22215.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22216.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22221.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22223.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22224.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@22229.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22230.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22232.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22233.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@22238.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22240.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22241.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22247.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22301.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22303.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22304.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22327.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@22330.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@22338.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22341.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22342.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22361.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22363.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22364.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22369.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22371.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22372.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22386.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22437.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@22479.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22480.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22481.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22483.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22484.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22490.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@22521.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22523.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22524.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22538.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@22569.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22571.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22572.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22586.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@22636.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22638.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22639.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@22645.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@22650.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22652.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22655.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22656.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@22661.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22663.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22664.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22694.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22752.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22811.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22846.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22882.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@22942.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@22947.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@22948.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22949.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22952.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22953.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@22954.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@22955.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@22971.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@22972.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22974.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22976.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22977.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22982.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22984.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22985.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22990.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22992.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22993.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@22998.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23000.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23001.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23006.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23008.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23009.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@23016.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23024.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@23026.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@23027.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@23028.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@23029.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@23030.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23033.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23034.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23035.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23036.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@23053.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23054.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23056.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23058.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23059.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23072.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23074.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23075.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23080.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23082.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23083.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@23106.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23126.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23127.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23128.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23129.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23149.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23150.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23151.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23152.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23167.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@23170.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@23172.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@23173.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23174.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23176.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23177.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@23169.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23188.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@23190.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@23191.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@23193.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@23195.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23196.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23197.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23199.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23200.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@23192.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23206.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23207.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@23208.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@23213.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23214.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@23215.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23216.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@23217.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@23218.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23220.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23221.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23227.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23231.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22189.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22261.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22344.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22403.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22454.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22504.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22552.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22600.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22658.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22700.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22758.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22817.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22852.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22888.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_508 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_521 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_523 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_525 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_527 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_529 = _RAND_5[11:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_563 = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_576 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_580 = _RAND_8[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_582 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_616 = _RAND_10[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_627 = _RAND_11[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_648 = _RAND_12[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_691 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_508 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_512) begin
          if (_T_505) begin
            _T_508 <= _T_503;
          end else begin
            _T_508 <= 4'h0;
          end
        end else begin
          _T_508 <= _T_511;
        end
      end
    end
    if (_T_553) begin
      _T_521 <= io_in_a_bits_opcode;
    end
    if (_T_553) begin
      _T_523 <= io_in_a_bits_param;
    end
    if (_T_553) begin
      _T_525 <= io_in_a_bits_size;
    end
    if (_T_553) begin
      _T_527 <= io_in_a_bits_source;
    end
    if (_T_553) begin
      _T_529 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_563 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_567) begin
          if (_T_560) begin
            _T_563 <= _T_559;
          end else begin
            _T_563 <= 4'h0;
          end
        end else begin
          _T_563 <= _T_566;
        end
      end
    end
    if (_T_614) begin
      _T_576 <= io_in_d_bits_opcode;
    end
    if (_T_614) begin
      _T_580 <= io_in_d_bits_size;
    end
    if (_T_614) begin
      _T_582 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_616 <= 2'h0;
    end else begin
      _T_616 <= _T_689;
    end
    if (reset) begin
      _T_627 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_631) begin
          if (_T_505) begin
            _T_627 <= _T_503;
          end else begin
            _T_627 <= 4'h0;
          end
        end else begin
          _T_627 <= _T_630;
        end
      end
    end
    if (reset) begin
      _T_648 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_652) begin
          if (_T_560) begin
            _T_648 <= _T_559;
          end else begin
            _T_648 <= 4'h0;
          end
        end else begin
          _T_648 <= _T_651;
        end
      end
    end
    if (reset) begin
      _T_691 <= 32'h0;
    end else begin
      if (_T_705) begin
        _T_691 <= 32'h0;
      end else begin
        _T_691 <= _T_702;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22102.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22103.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22172.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22173.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22189.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22190.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22196.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22197.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22203.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22204.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22211.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22212.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22218.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22219.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22226.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22227.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22235.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22236.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22243.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22244.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22261.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22262.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22268.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22269.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22275.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22276.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22283.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22284.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22290.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22291.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22298.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22299.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22306.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22307.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22315.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22316.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22323.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22324.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22344.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22345.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22351.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22352.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22358.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22359.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22366.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22367.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22374.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22375.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22382.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22383.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22403.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22404.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22410.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22411.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22417.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22418.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22425.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22426.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22433.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22434.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22454.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22455.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22461.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22462.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22468.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22469.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22476.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22477.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22486.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22487.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22504.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22505.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22511.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22512.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22518.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22519.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22526.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22527.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22534.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22535.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22552.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22553.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22559.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22560.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22566.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22567.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22574.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22575.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22582.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22583.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22600.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22601.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22607.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22608.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22614.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22615.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22622.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22623.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22630.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22631.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22641.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@22642.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22658.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22659.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22666.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22667.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22674.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22675.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22682.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22683.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22690.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22691.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22700.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22701.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22707.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22708.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22715.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22716.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22723.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22724.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22731.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22732.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22739.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22740.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22748.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22749.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22758.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22759.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22765.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22766.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22773.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22774.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22781.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22782.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22789.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22790.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22798.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22799.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22807.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22808.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22817.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22818.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22825.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22826.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22833.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22834.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22842.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22843.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22852.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22853.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22860.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22861.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22869.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22870.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22878.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22879.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22888.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22889.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22896.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22897.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22904.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22905.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22913.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22914.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22923.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22924.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22931.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22932.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22939.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22940.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22979.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22980.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22987.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22988.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22995.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@22996.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23003.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23004.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23011.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23012.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23061.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23062.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23069.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23070.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23077.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23078.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23085.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23086.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23093.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23094.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23101.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23102.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23179.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23180.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23202.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@23203.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_700) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23223.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_700) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23224.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23236.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23237.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23238.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  input  [11:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  output [11:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23239.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
  wire [11:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
  TLMonitor_12 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23246.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23286.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23286.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23286.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23286.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23286.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23286.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23285.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23285.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23285.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23285.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23285.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23285.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23285.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23285.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23285.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23285.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23248.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23249.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@23282.4]
endmodule
module SimpleLazyModule_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23296.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23297.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23298.4]
  output        auto_buffer_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  input         auto_buffer_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  input  [2:0]  auto_buffer_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  input  [2:0]  auto_buffer_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  input  [2:0]  auto_buffer_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  input         auto_buffer_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  input  [11:0] auto_buffer_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  input  [3:0]  auto_buffer_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  input  [31:0] auto_buffer_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  input         auto_buffer_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  input         auto_buffer_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  output        auto_buffer_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  output [2:0]  auto_buffer_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  output [2:0]  auto_buffer_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  output        auto_buffer_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  output [31:0] auto_buffer_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  input         auto_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  output        auto_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  output [2:0]  auto_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  output [2:0]  auto_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  output [1:0]  auto_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  output [5:0]  auto_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  output [11:0] auto_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  output [3:0]  auto_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  output [31:0] auto_fragmenter_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  output        auto_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  output        auto_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  input         auto_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  input  [2:0]  auto_fragmenter_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  input  [1:0]  auto_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  input  [5:0]  auto_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
  input  [31:0] auto_fragmenter_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23299.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire [11:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire [11:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire [2:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire [11:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire [2:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire [2:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire [11:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire [2:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
  TLFragmenter_2 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@23304.4]
    .clock(fragmenter_clock),
    .reset(fragmenter_reset),
    .auto_in_a_ready(fragmenter_auto_in_a_ready),
    .auto_in_a_valid(fragmenter_auto_in_a_valid),
    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
    .auto_in_d_ready(fragmenter_auto_in_d_ready),
    .auto_in_d_valid(fragmenter_auto_in_d_valid),
    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
    .auto_out_a_ready(fragmenter_auto_out_a_ready),
    .auto_out_a_valid(fragmenter_auto_out_a_valid),
    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
    .auto_out_d_ready(fragmenter_auto_out_d_ready),
    .auto_out_d_valid(fragmenter_auto_out_d_valid),
    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
  );
  TLBuffer_4 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23310.4]
    .clock(buffer_clock),
    .reset(buffer_reset),
    .auto_in_a_ready(buffer_auto_in_a_ready),
    .auto_in_a_valid(buffer_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_auto_in_d_ready),
    .auto_in_d_valid(buffer_auto_in_d_valid),
    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
    .auto_out_a_ready(buffer_auto_out_a_ready),
    .auto_out_a_valid(buffer_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_auto_out_d_ready),
    .auto_out_d_valid(buffer_auto_out_d_valid),
    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
  );
  assign auto_buffer_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
  assign auto_buffer_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
  assign auto_buffer_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
  assign auto_buffer_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
  assign auto_buffer_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
  assign auto_buffer_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
  assign auto_fragmenter_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
  assign auto_fragmenter_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
  assign auto_fragmenter_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
  assign auto_fragmenter_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
  assign auto_fragmenter_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
  assign auto_fragmenter_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
  assign auto_fragmenter_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
  assign auto_fragmenter_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
  assign auto_fragmenter_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
  assign auto_fragmenter_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23308.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23309.4]
  assign fragmenter_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
  assign fragmenter_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
  assign fragmenter_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
  assign fragmenter_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
  assign fragmenter_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
  assign fragmenter_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
  assign fragmenter_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
  assign fragmenter_auto_in_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
  assign fragmenter_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
  assign fragmenter_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
  assign fragmenter_auto_out_a_ready = auto_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
  assign fragmenter_auto_out_d_valid = auto_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
  assign fragmenter_auto_out_d_bits_size = auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
  assign fragmenter_auto_out_d_bits_source = auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
  assign fragmenter_auto_out_d_bits_data = auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23317.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23314.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23315.4]
  assign buffer_auto_in_a_valid = auto_buffer_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
  assign buffer_auto_in_a_bits_opcode = auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
  assign buffer_auto_in_a_bits_param = auto_buffer_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
  assign buffer_auto_in_a_bits_size = auto_buffer_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
  assign buffer_auto_in_a_bits_source = auto_buffer_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
  assign buffer_auto_in_a_bits_address = auto_buffer_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
  assign buffer_auto_in_a_bits_mask = auto_buffer_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
  assign buffer_auto_in_a_bits_data = auto_buffer_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
  assign buffer_auto_in_a_bits_corrupt = auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
  assign buffer_auto_in_d_ready = auto_buffer_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23318.4]
  assign buffer_auto_out_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
  assign buffer_auto_out_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
  assign buffer_auto_out_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
  assign buffer_auto_out_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
  assign buffer_auto_out_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
  assign buffer_auto_out_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23316.4]
endmodule
module TLMonitor_13( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23327.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23328.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23329.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@23330.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@24516.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@23346.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@23351.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@23353.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@23354.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@23355.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@23356.6]
  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@23356.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@23357.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23359.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23360.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@23362.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@23363.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23364.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23365.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@23366.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23368.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23369.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23371.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23372.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23373.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23374.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@23375.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23376.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23377.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23378.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23379.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23380.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23381.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23382.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23383.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23384.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23385.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23386.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23387.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@23388.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@23389.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@23390.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23415.6]
  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23418.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23419.8]
  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@23420.8]
  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@23421.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@23422.8]
  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23423.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23424.8]
  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@23425.8]
  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@23426.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@23427.8]
  wire  _T_102; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@23428.8]
  wire  _T_107; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23433.8]
  wire  _T_112; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23446.8]
  wire  _T_113; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23447.8]
  wire  _T_116; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23454.8]
  wire  _T_117; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23455.8]
  wire  _T_119; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23461.8]
  wire  _T_120; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23462.8]
  wire  _T_121; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23467.8]
  wire  _T_123; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23469.8]
  wire  _T_124; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23470.8]
  wire [3:0] _T_125; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@23475.8]
  wire  _T_126; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23476.8]
  wire  _T_128; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23478.8]
  wire  _T_129; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23479.8]
  wire  _T_130; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@23484.8]
  wire  _T_132; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23486.8]
  wire  _T_133; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23487.8]
  wire  _T_134; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23493.6]
  wire  _T_169; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23553.8]
  wire  _T_171; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23555.8]
  wire  _T_172; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23556.8]
  wire  _T_182; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23579.6]
  wire  _T_184; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@23582.8]
  wire  _T_198; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@23596.8]
  wire  _T_201; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23599.8]
  wire  _T_202; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23600.8]
  wire  _T_209; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23619.8]
  wire  _T_211; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23621.8]
  wire  _T_212; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23622.8]
  wire  _T_213; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23627.8]
  wire  _T_215; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23629.8]
  wire  _T_216; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23630.8]
  wire  _T_221; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23644.6]
  wire  _T_256; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23701.6]
  wire [3:0] _T_287; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@23749.8]
  wire [3:0] _T_288; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23750.8]
  wire  _T_289; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@23751.8]
  wire  _T_291; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23753.8]
  wire  _T_292; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23754.8]
  wire  _T_293; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23760.6]
  wire  _T_294; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@23762.8]
  wire  _T_301; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@23769.8]
  wire  _T_312; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23780.8]
  wire  _T_313; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23781.8]
  wire  _T_320; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@23800.8]
  wire  _T_322; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23802.8]
  wire  _T_323; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23803.8]
  wire  _T_328; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23817.6]
  wire  _T_355; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@23857.8]
  wire  _T_357; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23859.8]
  wire  _T_358; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23860.8]
  wire  _T_363; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23874.6]
  wire  _T_395; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@23930.6]
  wire  _T_397; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23932.6]
  wire  _T_398; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23933.6]
  wire  _T_400; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@23939.6]
  wire  _T_409; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@23944.6]
  wire  _T_411; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23946.6]
  wire  _T_413; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23949.8]
  wire  _T_414; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23950.8]
  wire  _T_415; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23955.8]
  wire  _T_417; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23957.8]
  wire  _T_418; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23958.8]
  wire  _T_419; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23963.8]
  wire  _T_421; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23965.8]
  wire  _T_422; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23966.8]
  wire  _T_423; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@23971.8]
  wire  _T_425; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23973.8]
  wire  _T_426; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23974.8]
  wire  _T_427; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@23979.8]
  wire  _T_429; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23981.8]
  wire  _T_430; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23982.8]
  wire  _T_431; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23988.6]
  wire  _T_442; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24012.8]
  wire  _T_444; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24014.8]
  wire  _T_445; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24015.8]
  wire  _T_446; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24020.8]
  wire  _T_448; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24022.8]
  wire  _T_449; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24023.8]
  wire  _T_459; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24046.6]
  wire  _T_479; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@24087.8]
  wire  _T_481; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24089.8]
  wire  _T_482; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24090.8]
  wire  _T_488; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24105.6]
  wire  _T_505; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24140.6]
  wire  _T_523; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24176.6]
  wire  _T_552; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24236.4]
  wire [3:0] _T_557; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@24241.4]
  wire  _T_558; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@24242.4]
  wire  _T_559; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24243.4]
  reg [3:0] _T_562; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24245.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_563; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24246.4]
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24247.4]
  wire [3:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24248.4]
  wire  _T_566; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24249.4]
  reg [2:0] _T_575; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24260.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_577; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24261.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_579; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24262.4]
  reg [31:0] _RAND_3;
  reg  _T_581; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24263.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_583; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24264.4]
  reg [31:0] _RAND_5;
  wire  _T_584; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24265.4]
  wire  _T_585; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24266.4]
  wire  _T_586; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24268.6]
  wire  _T_588; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24270.6]
  wire  _T_589; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24271.6]
  wire  _T_590; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24276.6]
  wire  _T_592; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24278.6]
  wire  _T_593; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24279.6]
  wire  _T_594; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24284.6]
  wire  _T_596; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24286.6]
  wire  _T_597; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24287.6]
  wire  _T_598; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24292.6]
  wire  _T_600; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24294.6]
  wire  _T_601; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24295.6]
  wire  _T_602; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24300.6]
  wire  _T_604; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24302.6]
  wire  _T_605; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24303.6]
  wire  _T_607; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@24310.4]
  wire  _T_608; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24318.4]
  wire [12:0] _T_610; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@24320.4]
  wire [5:0] _T_611; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@24321.4]
  wire [5:0] _T_612; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@24322.4]
  wire [3:0] _T_613; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@24323.4]
  wire  _T_614; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@24324.4]
  reg [3:0] _T_617; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24326.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_618; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24327.4]
  wire [4:0] _T_619; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24328.4]
  wire [3:0] _T_620; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24329.4]
  wire  _T_621; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24330.4]
  reg [2:0] _T_630; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24341.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_632; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24342.4]
  reg [31:0] _RAND_8;
  reg [2:0] _T_634; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24343.4]
  reg [31:0] _RAND_9;
  reg  _T_636; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24344.4]
  reg [31:0] _RAND_10;
  reg  _T_638; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24345.4]
  reg [31:0] _RAND_11;
  reg  _T_640; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24346.4]
  reg [31:0] _RAND_12;
  wire  _T_641; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24347.4]
  wire  _T_642; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24348.4]
  wire  _T_643; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24350.6]
  wire  _T_645; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24352.6]
  wire  _T_646; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24353.6]
  wire  _T_647; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24358.6]
  wire  _T_649; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24360.6]
  wire  _T_650; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24361.6]
  wire  _T_651; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24366.6]
  wire  _T_653; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24368.6]
  wire  _T_654; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24369.6]
  wire  _T_655; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24374.6]
  wire  _T_657; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24376.6]
  wire  _T_658; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24377.6]
  wire  _T_659; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24382.6]
  wire  _T_661; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24384.6]
  wire  _T_662; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24385.6]
  wire  _T_663; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24390.6]
  wire  _T_665; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24392.6]
  wire  _T_666; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24393.6]
  wire  _T_668; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@24400.4]
  reg [1:0] _T_670; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24409.4]
  reg [31:0] _RAND_13;
  reg [3:0] _T_681; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24419.4]
  reg [31:0] _RAND_14;
  wire [4:0] _T_682; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24420.4]
  wire [4:0] _T_683; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24421.4]
  wire [3:0] _T_684; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24422.4]
  wire  _T_685; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24423.4]
  reg [3:0] _T_702; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24442.4]
  reg [31:0] _RAND_15;
  wire [4:0] _T_703; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24443.4]
  wire [4:0] _T_704; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24444.4]
  wire [3:0] _T_705; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24445.4]
  wire  _T_706; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24446.4]
  wire  _T_717; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24461.4]
  wire [1:0] _T_719; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@24464.6]
  wire [1:0] _T_720; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@24466.6]
  wire  _T_721; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@24467.6]
  wire  _T_722; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24468.6]
  wire  _T_724; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24470.6]
  wire  _T_725; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24471.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@24463.4]
  wire  _T_730; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24482.4]
  wire  _T_732; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@24484.4]
  wire  _T_733; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@24485.4]
  wire [1:0] _T_734; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@24487.6]
  wire [1:0] _T_735; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@24489.6]
  wire [1:0] _T_736; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@24490.6]
  wire  _T_737; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@24491.6]
  wire  _T_739; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24493.6]
  wire  _T_740; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24494.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@24486.4]
  wire  _T_741; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@24500.4]
  wire  _T_742; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@24501.4]
  wire  _T_743; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@24502.4]
  wire  _T_744; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@24503.4]
  wire  _T_746; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24505.4]
  wire  _T_747; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24506.4]
  wire [1:0] _T_748; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24511.4]
  wire [1:0] _T_749; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24512.4]
  wire [1:0] _T_750; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@24513.4]
  reg [31:0] _T_752; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24515.4]
  reg [31:0] _RAND_16;
  wire  _T_753; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@24518.4]
  wire  _T_754; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24519.4]
  wire  _T_755; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@24520.4]
  wire  _T_756; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24521.4]
  wire  _T_757; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@24522.4]
  wire  _T_758; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@24523.4]
  wire  _T_760; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24525.4]
  wire  _T_761; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24526.4]
  wire [31:0] _T_763; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24532.4]
  wire  _T_766; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24536.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23435.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23513.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23602.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23667.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23724.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23783.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23840.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23894.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23952.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23994.10]
  wire  _GEN_139; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24052.10]
  wire  _GEN_153; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24111.10]
  wire  _GEN_161; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24146.10]
  wire  _GEN_169; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24182.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@24516.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@23346.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@23351.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@23353.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@23354.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@23355.6]
  assign _GEN_18 = {{26'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@23356.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@23356.6]
  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@23357.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23359.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23360.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@23362.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@23363.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23364.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23365.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@23366.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23368.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23369.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23371.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23372.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23373.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@23374.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@23375.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23376.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23377.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23378.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23379.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23380.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23381.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23382.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23383.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23384.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23385.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@23386.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@23387.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@23388.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@23389.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@23390.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23415.6]
  assign _T_92 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23418.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23419.8]
  assign _T_94 = $signed(_T_93) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@23420.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@23421.8]
  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@23422.8]
  assign _T_97 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@23423.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@23424.8]
  assign _T_99 = $signed(_T_98) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@23425.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@23426.8]
  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@23427.8]
  assign _T_102 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@23428.8]
  assign _T_107 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23433.8]
  assign _T_112 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23446.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23447.8]
  assign _T_116 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23454.8]
  assign _T_117 = _T_116 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23455.8]
  assign _T_119 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23461.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23462.8]
  assign _T_121 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23467.8]
  assign _T_123 = _T_121 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23469.8]
  assign _T_124 = _T_123 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23470.8]
  assign _T_125 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@23475.8]
  assign _T_126 = _T_125 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23476.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23478.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23479.8]
  assign _T_130 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@23484.8]
  assign _T_132 = _T_130 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23486.8]
  assign _T_133 = _T_132 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23487.8]
  assign _T_134 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23493.6]
  assign _T_169 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23553.8]
  assign _T_171 = _T_169 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23555.8]
  assign _T_172 = _T_171 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23556.8]
  assign _T_182 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23579.6]
  assign _T_184 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@23582.8]
  assign _T_198 = _T_184 & _T_102; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@23596.8]
  assign _T_201 = _T_198 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23599.8]
  assign _T_202 = _T_201 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23600.8]
  assign _T_209 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23619.8]
  assign _T_211 = _T_209 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23621.8]
  assign _T_212 = _T_211 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23622.8]
  assign _T_213 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23627.8]
  assign _T_215 = _T_213 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23629.8]
  assign _T_216 = _T_215 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23630.8]
  assign _T_221 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23644.6]
  assign _T_256 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23701.6]
  assign _T_287 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@23749.8]
  assign _T_288 = io_in_a_bits_mask & _T_287; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23750.8]
  assign _T_289 = _T_288 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@23751.8]
  assign _T_291 = _T_289 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23753.8]
  assign _T_292 = _T_291 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23754.8]
  assign _T_293 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23760.6]
  assign _T_294 = 3'h2 == io_in_a_bits_size; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@23762.8]
  assign _T_301 = _T_294 & _T_101; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@23769.8]
  assign _T_312 = _T_301 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23780.8]
  assign _T_313 = _T_312 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23781.8]
  assign _T_320 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@23800.8]
  assign _T_322 = _T_320 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23802.8]
  assign _T_323 = _T_322 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23803.8]
  assign _T_328 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23817.6]
  assign _T_355 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@23857.8]
  assign _T_357 = _T_355 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23859.8]
  assign _T_358 = _T_357 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23860.8]
  assign _T_363 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23874.6]
  assign _T_395 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@23930.6]
  assign _T_397 = _T_395 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23932.6]
  assign _T_398 = _T_397 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23933.6]
  assign _T_400 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@23939.6]
  assign _T_409 = io_in_d_bits_source | _T_400; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@23944.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23946.6]
  assign _T_413 = _T_409 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23949.8]
  assign _T_414 = _T_413 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23950.8]
  assign _T_415 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@23955.8]
  assign _T_417 = _T_415 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23957.8]
  assign _T_418 = _T_417 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23958.8]
  assign _T_419 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@23963.8]
  assign _T_421 = _T_419 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23965.8]
  assign _T_422 = _T_421 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23966.8]
  assign _T_423 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@23971.8]
  assign _T_425 = _T_423 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23973.8]
  assign _T_426 = _T_425 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23974.8]
  assign _T_427 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@23979.8]
  assign _T_429 = _T_427 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23981.8]
  assign _T_430 = _T_429 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23982.8]
  assign _T_431 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@23988.6]
  assign _T_442 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24012.8]
  assign _T_444 = _T_442 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24014.8]
  assign _T_445 = _T_444 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24015.8]
  assign _T_446 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24020.8]
  assign _T_448 = _T_446 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24022.8]
  assign _T_449 = _T_448 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24023.8]
  assign _T_459 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24046.6]
  assign _T_479 = _T_427 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@24087.8]
  assign _T_481 = _T_479 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24089.8]
  assign _T_482 = _T_481 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24090.8]
  assign _T_488 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24105.6]
  assign _T_505 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24140.6]
  assign _T_523 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24176.6]
  assign _T_552 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24236.4]
  assign _T_557 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@24241.4]
  assign _T_558 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@24242.4]
  assign _T_559 = _T_558 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24243.4]
  assign _T_563 = _T_562 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24246.4]
  assign _T_564 = $unsigned(_T_563); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24247.4]
  assign _T_565 = _T_564[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24248.4]
  assign _T_566 = _T_562 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24249.4]
  assign _T_584 = _T_566 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24265.4]
  assign _T_585 = io_in_a_valid & _T_584; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24266.4]
  assign _T_586 = io_in_a_bits_opcode == _T_575; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24268.6]
  assign _T_588 = _T_586 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24270.6]
  assign _T_589 = _T_588 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24271.6]
  assign _T_590 = io_in_a_bits_param == _T_577; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24276.6]
  assign _T_592 = _T_590 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24278.6]
  assign _T_593 = _T_592 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24279.6]
  assign _T_594 = io_in_a_bits_size == _T_579; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24284.6]
  assign _T_596 = _T_594 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24286.6]
  assign _T_597 = _T_596 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24287.6]
  assign _T_598 = io_in_a_bits_source == _T_581; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24292.6]
  assign _T_600 = _T_598 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24294.6]
  assign _T_601 = _T_600 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24295.6]
  assign _T_602 = io_in_a_bits_address == _T_583; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24300.6]
  assign _T_604 = _T_602 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24302.6]
  assign _T_605 = _T_604 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24303.6]
  assign _T_607 = _T_552 & _T_566; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@24310.4]
  assign _T_608 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24318.4]
  assign _T_610 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@24320.4]
  assign _T_611 = _T_610[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@24321.4]
  assign _T_612 = ~ _T_611; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@24322.4]
  assign _T_613 = _T_612[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@24323.4]
  assign _T_614 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@24324.4]
  assign _T_618 = _T_617 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24327.4]
  assign _T_619 = $unsigned(_T_618); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24328.4]
  assign _T_620 = _T_619[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24329.4]
  assign _T_621 = _T_617 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24330.4]
  assign _T_641 = _T_621 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@24347.4]
  assign _T_642 = io_in_d_valid & _T_641; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24348.4]
  assign _T_643 = io_in_d_bits_opcode == _T_630; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24350.6]
  assign _T_645 = _T_643 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24352.6]
  assign _T_646 = _T_645 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24353.6]
  assign _T_647 = io_in_d_bits_param == _T_632; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24358.6]
  assign _T_649 = _T_647 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24360.6]
  assign _T_650 = _T_649 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24361.6]
  assign _T_651 = io_in_d_bits_size == _T_634; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24366.6]
  assign _T_653 = _T_651 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24368.6]
  assign _T_654 = _T_653 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24369.6]
  assign _T_655 = io_in_d_bits_source == _T_636; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24374.6]
  assign _T_657 = _T_655 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24376.6]
  assign _T_658 = _T_657 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24377.6]
  assign _T_659 = io_in_d_bits_sink == _T_638; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24382.6]
  assign _T_661 = _T_659 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24384.6]
  assign _T_662 = _T_661 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24385.6]
  assign _T_663 = io_in_d_bits_denied == _T_640; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24390.6]
  assign _T_665 = _T_663 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24392.6]
  assign _T_666 = _T_665 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24393.6]
  assign _T_668 = _T_608 & _T_621; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@24400.4]
  assign _T_682 = _T_681 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24420.4]
  assign _T_683 = $unsigned(_T_682); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24421.4]
  assign _T_684 = _T_683[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24422.4]
  assign _T_685 = _T_681 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24423.4]
  assign _T_703 = _T_702 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24443.4]
  assign _T_704 = $unsigned(_T_703); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24444.4]
  assign _T_705 = _T_704[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24445.4]
  assign _T_706 = _T_702 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24446.4]
  assign _T_717 = _T_552 & _T_685; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24461.4]
  assign _T_719 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@24464.6]
  assign _T_720 = _T_670 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@24466.6]
  assign _T_721 = _T_720[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@24467.6]
  assign _T_722 = _T_721 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24468.6]
  assign _T_724 = _T_722 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24470.6]
  assign _T_725 = _T_724 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24471.6]
  assign _GEN_15 = _T_717 ? _T_719 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@24463.4]
  assign _T_730 = _T_608 & _T_706; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24482.4]
  assign _T_732 = _T_411 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@24484.4]
  assign _T_733 = _T_730 & _T_732; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@24485.4]
  assign _T_734 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@24487.6]
  assign _T_735 = _GEN_15 | _T_670; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@24489.6]
  assign _T_736 = _T_735 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@24490.6]
  assign _T_737 = _T_736[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@24491.6]
  assign _T_739 = _T_737 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24493.6]
  assign _T_740 = _T_739 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24494.6]
  assign _GEN_16 = _T_733 ? _T_734 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@24486.4]
  assign _T_741 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@24500.4]
  assign _T_742 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@24501.4]
  assign _T_743 = _T_742 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@24502.4]
  assign _T_744 = _T_741 | _T_743; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@24503.4]
  assign _T_746 = _T_744 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24505.4]
  assign _T_747 = _T_746 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24506.4]
  assign _T_748 = _T_670 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24511.4]
  assign _T_749 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24512.4]
  assign _T_750 = _T_748 & _T_749; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@24513.4]
  assign _T_753 = _T_670 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@24518.4]
  assign _T_754 = _T_753 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24519.4]
  assign _T_755 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@24520.4]
  assign _T_756 = _T_754 | _T_755; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24521.4]
  assign _T_757 = _T_752 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@24522.4]
  assign _T_758 = _T_756 | _T_757; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@24523.4]
  assign _T_760 = _T_758 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24525.4]
  assign _T_761 = _T_760 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24526.4]
  assign _T_763 = _T_752 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24532.4]
  assign _T_766 = _T_552 | _T_608; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24536.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23435.10]
  assign _GEN_35 = io_in_a_valid & _T_134; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23513.10]
  assign _GEN_53 = io_in_a_valid & _T_182; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23602.10]
  assign _GEN_65 = io_in_a_valid & _T_221; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23667.10]
  assign _GEN_75 = io_in_a_valid & _T_256; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23724.10]
  assign _GEN_85 = io_in_a_valid & _T_293; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23783.10]
  assign _GEN_95 = io_in_a_valid & _T_328; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23840.10]
  assign _GEN_105 = io_in_a_valid & _T_363; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23894.10]
  assign _GEN_115 = io_in_d_valid & _T_411; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23952.10]
  assign _GEN_125 = io_in_d_valid & _T_431; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23994.10]
  assign _GEN_139 = io_in_d_valid & _T_459; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24052.10]
  assign _GEN_153 = io_in_d_valid & _T_488; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24111.10]
  assign _GEN_161 = io_in_d_valid & _T_505; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24146.10]
  assign _GEN_169 = io_in_d_valid & _T_523; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24182.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_562 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_575 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_577 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_579 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_581 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_583 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_617 = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_630 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_632 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_634 = _RAND_9[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_636 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_638 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_640 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_670 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_681 = _RAND_14[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_702 = _RAND_15[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_752 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_562 <= 4'h0;
    end else begin
      if (_T_552) begin
        if (_T_566) begin
          if (_T_559) begin
            _T_562 <= _T_557;
          end else begin
            _T_562 <= 4'h0;
          end
        end else begin
          _T_562 <= _T_565;
        end
      end
    end
    if (_T_607) begin
      _T_575 <= io_in_a_bits_opcode;
    end
    if (_T_607) begin
      _T_577 <= io_in_a_bits_param;
    end
    if (_T_607) begin
      _T_579 <= io_in_a_bits_size;
    end
    if (_T_607) begin
      _T_581 <= io_in_a_bits_source;
    end
    if (_T_607) begin
      _T_583 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_617 <= 4'h0;
    end else begin
      if (_T_608) begin
        if (_T_621) begin
          if (_T_614) begin
            _T_617 <= _T_613;
          end else begin
            _T_617 <= 4'h0;
          end
        end else begin
          _T_617 <= _T_620;
        end
      end
    end
    if (_T_668) begin
      _T_630 <= io_in_d_bits_opcode;
    end
    if (_T_668) begin
      _T_632 <= io_in_d_bits_param;
    end
    if (_T_668) begin
      _T_634 <= io_in_d_bits_size;
    end
    if (_T_668) begin
      _T_636 <= io_in_d_bits_source;
    end
    if (_T_668) begin
      _T_638 <= io_in_d_bits_sink;
    end
    if (_T_668) begin
      _T_640 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_670 <= 2'h0;
    end else begin
      _T_670 <= _T_750;
    end
    if (reset) begin
      _T_681 <= 4'h0;
    end else begin
      if (_T_552) begin
        if (_T_685) begin
          if (_T_559) begin
            _T_681 <= _T_557;
          end else begin
            _T_681 <= 4'h0;
          end
        end else begin
          _T_681 <= _T_684;
        end
      end
    end
    if (reset) begin
      _T_702 <= 4'h0;
    end else begin
      if (_T_608) begin
        if (_T_706) begin
          if (_T_614) begin
            _T_702 <= _T_613;
          end else begin
            _T_702 <= 4'h0;
          end
        end else begin
          _T_702 <= _T_705;
        end
      end
    end
    if (reset) begin
      _T_752 <= 32'h0;
    end else begin
      if (_T_766) begin
        _T_752 <= 32'h0;
      end else begin
        _T_752 <= _T_763;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23342.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23343.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23412.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23413.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23435.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23436.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23442.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23443.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23449.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23450.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_117) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23457.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_117) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23458.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23464.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23465.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_124) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23472.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_124) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23473.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23481.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23482.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_133) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23489.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_133) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23490.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23513.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23514.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23520.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23521.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23527.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_113) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23528.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_117) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23535.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_117) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23536.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23542.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_120) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23543.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_124) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23550.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_124) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23551.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_172) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23558.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_172) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23559.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23567.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_129) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23568.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_133) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23575.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_133) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23576.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_202) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23602.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_202) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23603.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23609.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_113) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23610.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23616.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_120) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23617.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_212) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23624.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_212) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23625.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_216) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23632.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_216) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23633.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_133) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23640.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_133) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23641.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_202) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23667.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_202) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23668.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23674.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_113) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23675.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23681.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_120) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23682.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_212) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23689.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_212) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23690.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_216) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23697.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_216) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23698.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_202) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23724.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_202) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23725.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23731.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_113) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23732.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23738.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_120) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23739.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_212) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23746.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_212) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23747.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_292) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23756.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_292) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23757.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_313) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23783.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_313) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23784.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23790.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_113) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23791.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23797.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_120) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23798.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_323) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23805.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_323) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23806.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_216) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23813.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_216) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23814.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_313) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23840.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_313) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23841.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23847.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_113) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23848.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23854.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_120) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23855.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_358) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23862.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_358) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23863.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_216) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23870.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_216) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23871.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23894.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23895.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23901.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_113) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23902.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23908.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_120) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23909.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_216) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23916.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_216) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23917.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_133) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23924.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_133) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23925.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_398) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23935.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_398) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@23936.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_414) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23952.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_414) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23953.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_418) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23960.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_418) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23961.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_422) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23968.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_422) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23969.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_426) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23976.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_426) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23977.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_430) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23984.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_430) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23985.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_414) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23994.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_414) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@23995.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24001.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_107) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24002.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_418) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24009.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_418) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24010.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_445) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24017.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_445) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24018.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_449) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24025.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_449) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24026.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_426) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24033.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_426) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24034.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_430) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24042.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_430) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24043.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_139 & _T_414) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24052.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_139 & _T_414) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24053.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_139 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24059.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_139 & _T_107) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24060.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_139 & _T_418) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24067.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_139 & _T_418) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24068.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_139 & _T_445) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24075.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_139 & _T_445) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24076.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_139 & _T_449) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24083.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_139 & _T_449) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24084.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_139 & _T_482) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24092.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_139 & _T_482) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24093.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_139 & _T_430) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24101.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_139 & _T_430) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24102.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_153 & _T_414) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24111.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_153 & _T_414) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24112.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_153 & _T_422) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24119.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_153 & _T_422) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24120.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_153 & _T_426) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24127.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_153 & _T_426) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24128.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_153 & _T_430) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24136.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_153 & _T_430) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24137.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_414) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24146.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_414) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24147.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_422) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24154.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_422) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24155.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_482) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24163.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_482) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24164.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_430) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24172.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_430) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24173.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_169 & _T_414) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24182.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_169 & _T_414) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24183.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_169 & _T_422) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24190.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_169 & _T_422) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24191.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_169 & _T_426) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24198.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_169 & _T_426) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24199.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_169 & _T_430) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24207.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_169 & _T_430) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24208.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24217.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24218.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24225.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24226.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24233.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24234.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_585 & _T_589) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24273.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_585 & _T_589) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24274.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_585 & _T_593) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24281.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_585 & _T_593) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24282.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_585 & _T_597) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24289.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_585 & _T_597) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24290.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_585 & _T_601) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24297.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_585 & _T_601) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24298.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_585 & _T_605) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24305.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_585 & _T_605) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24306.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_642 & _T_646) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24355.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_642 & _T_646) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24356.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_642 & _T_650) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24363.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_642 & _T_650) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24364.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_642 & _T_654) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24371.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_642 & _T_654) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24372.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_642 & _T_658) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24379.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_642 & _T_658) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24380.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_642 & _T_662) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24387.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_642 & _T_662) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24388.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_642 & _T_666) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24395.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_642 & _T_666) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24396.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_717 & _T_725) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24473.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_717 & _T_725) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24474.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_733 & _T_740) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24496.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_733 & _T_740) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24497.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_747) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 3 (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24508.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_747) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@24509.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_761) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:76:32)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24528.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_761) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24529.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_5( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24541.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24542.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24543.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24544.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
  TLMonitor_13 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24551.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24591.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24591.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24591.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24591.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24591.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24591.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24591.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24591.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24591.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24591.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24590.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24590.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24590.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24590.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24590.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24590.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24590.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24590.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24590.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24590.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24553.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24554.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@24587.4]
endmodule
module SimpleLazyModule_5( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24601.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24602.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24603.4]
  output        auto_buffer_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  input         auto_buffer_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  input  [2:0]  auto_buffer_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  input  [2:0]  auto_buffer_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  input  [2:0]  auto_buffer_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  input         auto_buffer_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  input  [31:0] auto_buffer_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  input  [3:0]  auto_buffer_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  input  [31:0] auto_buffer_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  input         auto_buffer_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  input         auto_buffer_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  output        auto_buffer_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  output [2:0]  auto_buffer_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  output [1:0]  auto_buffer_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  output [2:0]  auto_buffer_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  output        auto_buffer_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  output        auto_buffer_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  output        auto_buffer_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  output [31:0] auto_buffer_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  output        auto_buffer_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  input         auto_tl_slave_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  output        auto_tl_slave_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  output [2:0]  auto_tl_slave_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  output [2:0]  auto_tl_slave_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  output [2:0]  auto_tl_slave_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  output        auto_tl_slave_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  output [31:0] auto_tl_slave_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  output [3:0]  auto_tl_slave_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  output [31:0] auto_tl_slave_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  output        auto_tl_slave_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  output        auto_tl_slave_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  input         auto_tl_slave_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  input  [2:0]  auto_tl_slave_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  input  [1:0]  auto_tl_slave_xing_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  input  [2:0]  auto_tl_slave_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  input         auto_tl_slave_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  input         auto_tl_slave_xing_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  input         auto_tl_slave_xing_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  input  [31:0] auto_tl_slave_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
  input         auto_tl_slave_xing_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24604.4]
);
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire [2:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire [31:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire [1:0] buffer_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire [2:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire  buffer_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire  buffer_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire  buffer_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire [2:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire [31:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire [1:0] buffer_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire [2:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire  buffer_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire  buffer_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  wire  buffer_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
  TLBuffer_5 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24609.4]
    .clock(buffer_clock),
    .reset(buffer_reset),
    .auto_in_a_ready(buffer_auto_in_a_ready),
    .auto_in_a_valid(buffer_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_auto_in_d_ready),
    .auto_in_d_valid(buffer_auto_in_d_valid),
    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(buffer_auto_in_d_bits_param),
    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
    .auto_in_d_bits_sink(buffer_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(buffer_auto_in_d_bits_denied),
    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(buffer_auto_in_d_bits_corrupt),
    .auto_out_a_ready(buffer_auto_out_a_ready),
    .auto_out_a_valid(buffer_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_auto_out_d_ready),
    .auto_out_d_valid(buffer_auto_out_d_valid),
    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
    .auto_out_d_bits_param(buffer_auto_out_d_bits_param),
    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
    .auto_out_d_bits_sink(buffer_auto_out_d_bits_sink),
    .auto_out_d_bits_denied(buffer_auto_out_d_bits_denied),
    .auto_out_d_bits_data(buffer_auto_out_d_bits_data),
    .auto_out_d_bits_corrupt(buffer_auto_out_d_bits_corrupt)
  );
  assign auto_buffer_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
  assign auto_buffer_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
  assign auto_buffer_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
  assign auto_buffer_in_d_bits_param = buffer_auto_in_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
  assign auto_buffer_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
  assign auto_buffer_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
  assign auto_buffer_in_d_bits_sink = buffer_auto_in_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
  assign auto_buffer_in_d_bits_denied = buffer_auto_in_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
  assign auto_buffer_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
  assign auto_buffer_in_d_bits_corrupt = buffer_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
  assign auto_tl_slave_xing_out_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24621.4]
  assign auto_tl_slave_xing_out_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24621.4]
  assign auto_tl_slave_xing_out_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24621.4]
  assign auto_tl_slave_xing_out_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24621.4]
  assign auto_tl_slave_xing_out_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24621.4]
  assign auto_tl_slave_xing_out_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24621.4]
  assign auto_tl_slave_xing_out_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24621.4]
  assign auto_tl_slave_xing_out_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24621.4]
  assign auto_tl_slave_xing_out_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24621.4]
  assign auto_tl_slave_xing_out_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24621.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24613.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24614.4]
  assign buffer_auto_in_a_valid = auto_buffer_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
  assign buffer_auto_in_a_bits_opcode = auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
  assign buffer_auto_in_a_bits_param = auto_buffer_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
  assign buffer_auto_in_a_bits_size = auto_buffer_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
  assign buffer_auto_in_a_bits_source = auto_buffer_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
  assign buffer_auto_in_a_bits_address = auto_buffer_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
  assign buffer_auto_in_a_bits_mask = auto_buffer_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
  assign buffer_auto_in_a_bits_data = auto_buffer_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
  assign buffer_auto_in_a_bits_corrupt = auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
  assign buffer_auto_in_d_ready = auto_buffer_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24622.4]
  assign buffer_auto_out_a_ready = auto_tl_slave_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24620.4]
  assign buffer_auto_out_d_valid = auto_tl_slave_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24620.4]
  assign buffer_auto_out_d_bits_opcode = auto_tl_slave_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24620.4]
  assign buffer_auto_out_d_bits_param = auto_tl_slave_xing_out_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24620.4]
  assign buffer_auto_out_d_bits_size = auto_tl_slave_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24620.4]
  assign buffer_auto_out_d_bits_source = auto_tl_slave_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24620.4]
  assign buffer_auto_out_d_bits_sink = auto_tl_slave_xing_out_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24620.4]
  assign buffer_auto_out_d_bits_denied = auto_tl_slave_xing_out_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24620.4]
  assign buffer_auto_out_d_bits_data = auto_tl_slave_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24620.4]
  assign buffer_auto_out_d_bits_corrupt = auto_tl_slave_xing_out_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24620.4]
endmodule
module TLMonitor_14( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24631.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24632.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24633.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.4]
  input  [16:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@24634.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@25749.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@24650.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@24655.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@24657.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@24658.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@24659.6]
  wire [16:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@24660.6]
  wire [16:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@24660.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@24661.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24663.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24664.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@24666.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@24667.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24668.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24669.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@24670.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24672.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24673.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24675.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24676.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24677.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24678.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@24679.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24680.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24681.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24682.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24683.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24684.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24685.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24686.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24687.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24688.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24689.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24690.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24691.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@24692.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@24693.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@24694.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24719.6]
  wire [16:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24722.8]
  wire [17:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24723.8]
  wire [17:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@24724.8]
  wire [17:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@24725.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@24726.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24731.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24744.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24745.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24752.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24753.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24759.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24760.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24765.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24767.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24768.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@24773.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24774.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24776.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24777.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@24782.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24784.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24785.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24791.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24845.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24847.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24848.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24871.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@24874.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@24882.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24885.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24886.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24905.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24907.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24908.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24913.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24915.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24916.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24930.6]
  wire  _T_229; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24978.6]
  wire [3:0] _T_251; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@25017.8]
  wire [3:0] _T_252; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25018.8]
  wire  _T_253; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@25019.8]
  wire  _T_255; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25021.8]
  wire  _T_256; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25022.8]
  wire  _T_257; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25028.6]
  wire  _T_275; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@25059.8]
  wire  _T_277; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25061.8]
  wire  _T_278; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25062.8]
  wire  _T_283; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25076.6]
  wire  _T_301; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@25107.8]
  wire  _T_303; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25109.8]
  wire  _T_304; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25110.8]
  wire  _T_309; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25124.6]
  wire  _T_340; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@25183.6]
  wire  _T_349; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25188.6]
  wire  _T_353; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25193.8]
  wire  _T_354; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25194.8]
  wire  _T_492; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25480.4]
  reg [3:0] _T_502; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25489.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_503; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25490.4]
  wire [4:0] _T_504; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25491.4]
  wire [3:0] _T_505; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25492.4]
  wire  _T_506; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25493.4]
  reg [2:0] _T_515; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25504.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_517; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25505.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_519; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25506.4]
  reg [31:0] _RAND_3;
  reg  _T_521; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25507.4]
  reg [31:0] _RAND_4;
  reg [16:0] _T_523; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25508.4]
  reg [31:0] _RAND_5;
  wire  _T_524; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25509.4]
  wire  _T_525; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25510.4]
  wire  _T_526; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25512.6]
  wire  _T_528; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25514.6]
  wire  _T_529; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25515.6]
  wire  _T_530; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25520.6]
  wire  _T_532; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25522.6]
  wire  _T_533; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25523.6]
  wire  _T_534; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25528.6]
  wire  _T_536; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25530.6]
  wire  _T_537; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25531.6]
  wire  _T_538; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25536.6]
  wire  _T_540; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25538.6]
  wire  _T_541; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25539.6]
  wire  _T_542; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25544.6]
  wire  _T_544; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25546.6]
  wire  _T_545; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25547.6]
  wire  _T_547; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@25554.4]
  wire  _T_548; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25562.4]
  wire [12:0] _T_550; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25564.4]
  wire [5:0] _T_551; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@25565.4]
  wire [5:0] _T_552; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25566.4]
  wire [3:0] _T_553; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@25567.4]
  reg [3:0] _T_557; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25570.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_558; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25571.4]
  wire [4:0] _T_559; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25572.4]
  wire [3:0] _T_560; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25573.4]
  wire  _T_561; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25574.4]
  reg [2:0] _T_574; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25587.4]
  reg [31:0] _RAND_7;
  reg  _T_576; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25588.4]
  reg [31:0] _RAND_8;
  wire  _T_581; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25591.4]
  wire  _T_582; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25592.4]
  wire  _T_591; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25610.6]
  wire  _T_593; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25612.6]
  wire  _T_594; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25613.6]
  wire  _T_595; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25618.6]
  wire  _T_597; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25620.6]
  wire  _T_598; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25621.6]
  wire  _T_608; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@25644.4]
  reg [1:0] _T_610; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25653.4]
  reg [31:0] _RAND_9;
  reg [3:0] _T_621; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25663.4]
  reg [31:0] _RAND_10;
  wire [4:0] _T_622; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25664.4]
  wire [4:0] _T_623; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25665.4]
  wire [3:0] _T_624; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25666.4]
  wire  _T_625; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25667.4]
  reg [3:0] _T_642; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25686.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_643; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25687.4]
  wire [4:0] _T_644; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25688.4]
  wire [3:0] _T_645; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25689.4]
  wire  _T_646; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25690.4]
  wire  _T_657; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25705.4]
  wire [1:0] _T_659; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@25708.6]
  wire [1:0] _T_660; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25710.6]
  wire  _T_661; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25711.6]
  wire  _T_662; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25712.6]
  wire  _T_664; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25714.6]
  wire  _T_665; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25715.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@25707.4]
  wire  _T_670; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25726.4]
  wire [1:0] _T_674; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@25731.6]
  wire [1:0] _T_675; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@25733.6]
  wire [1:0] _T_676; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@25734.6]
  wire  _T_677; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@25735.6]
  wire  _T_679; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25737.6]
  wire  _T_680; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25738.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@25730.4]
  wire [1:0] _T_681; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25744.4]
  wire [1:0] _T_682; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@25745.4]
  wire [1:0] _T_683; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@25746.4]
  reg [31:0] _T_685; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25748.4]
  reg [31:0] _RAND_12;
  wire  _T_686; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25751.4]
  wire  _T_687; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25752.4]
  wire  _T_688; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@25753.4]
  wire  _T_689; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25754.4]
  wire  _T_690; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@25755.4]
  wire  _T_691; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@25756.4]
  wire  _T_693; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@25758.4]
  wire  _T_694; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@25759.4]
  wire [31:0] _T_696; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@25765.4]
  wire  _T_699; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25769.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24733.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24805.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24888.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24944.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24992.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25042.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25090.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25138.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@25749.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@24650.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@24655.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@24657.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@24658.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@24659.6]
  assign _GEN_18 = {{11'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@24660.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@24660.6]
  assign _T_36 = _T_35 == 17'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@24661.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24663.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24664.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@24666.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@24667.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24668.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24669.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@24670.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24672.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24673.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24675.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24676.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24677.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@24678.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@24679.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24680.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24681.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24682.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24683.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24684.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24685.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24686.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24687.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24688.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24689.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@24690.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@24691.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@24692.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@24693.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@24694.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24719.6]
  assign _T_92 = io_in_a_bits_address ^ 17'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@24722.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@24723.8]
  assign _T_94 = $signed(_T_93) & $signed(-18'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@24724.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@24725.8]
  assign _T_96 = $signed(_T_95) == $signed(18'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@24726.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24731.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24744.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24745.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24752.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24753.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24759.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24760.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24765.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24767.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24768.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@24773.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24774.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24776.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24777.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@24782.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24784.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24785.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24791.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24845.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24847.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24848.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24871.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@24874.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@24882.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24885.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24886.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@24905.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24907.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24908.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@24913.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24915.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24916.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24930.6]
  assign _T_229 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@24978.6]
  assign _T_251 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@25017.8]
  assign _T_252 = io_in_a_bits_mask & _T_251; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25018.8]
  assign _T_253 = _T_252 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@25019.8]
  assign _T_255 = _T_253 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25021.8]
  assign _T_256 = _T_255 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25022.8]
  assign _T_257 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25028.6]
  assign _T_275 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@25059.8]
  assign _T_277 = _T_275 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25061.8]
  assign _T_278 = _T_277 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25062.8]
  assign _T_283 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25076.6]
  assign _T_301 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@25107.8]
  assign _T_303 = _T_301 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25109.8]
  assign _T_304 = _T_303 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25110.8]
  assign _T_309 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25124.6]
  assign _T_340 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@25183.6]
  assign _T_349 = io_in_d_bits_source | _T_340; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25188.6]
  assign _T_353 = _T_349 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25193.8]
  assign _T_354 = _T_353 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25194.8]
  assign _T_492 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25480.4]
  assign _T_503 = _T_502 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25490.4]
  assign _T_504 = $unsigned(_T_503); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25491.4]
  assign _T_505 = _T_504[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25492.4]
  assign _T_506 = _T_502 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25493.4]
  assign _T_524 = _T_506 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25509.4]
  assign _T_525 = io_in_a_valid & _T_524; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25510.4]
  assign _T_526 = io_in_a_bits_opcode == _T_515; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25512.6]
  assign _T_528 = _T_526 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25514.6]
  assign _T_529 = _T_528 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25515.6]
  assign _T_530 = io_in_a_bits_param == _T_517; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25520.6]
  assign _T_532 = _T_530 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25522.6]
  assign _T_533 = _T_532 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25523.6]
  assign _T_534 = io_in_a_bits_size == _T_519; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25528.6]
  assign _T_536 = _T_534 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25530.6]
  assign _T_537 = _T_536 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25531.6]
  assign _T_538 = io_in_a_bits_source == _T_521; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25536.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25538.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25539.6]
  assign _T_542 = io_in_a_bits_address == _T_523; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25544.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25546.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25547.6]
  assign _T_547 = _T_492 & _T_506; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@25554.4]
  assign _T_548 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25562.4]
  assign _T_550 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25564.4]
  assign _T_551 = _T_550[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@25565.4]
  assign _T_552 = ~ _T_551; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25566.4]
  assign _T_553 = _T_552[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@25567.4]
  assign _T_558 = _T_557 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25571.4]
  assign _T_559 = $unsigned(_T_558); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25572.4]
  assign _T_560 = _T_559[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25573.4]
  assign _T_561 = _T_557 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25574.4]
  assign _T_581 = _T_561 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25591.4]
  assign _T_582 = io_in_d_valid & _T_581; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25592.4]
  assign _T_591 = io_in_d_bits_size == _T_574; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25610.6]
  assign _T_593 = _T_591 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25612.6]
  assign _T_594 = _T_593 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25613.6]
  assign _T_595 = io_in_d_bits_source == _T_576; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25618.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25620.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25621.6]
  assign _T_608 = _T_548 & _T_561; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@25644.4]
  assign _T_622 = _T_621 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25664.4]
  assign _T_623 = $unsigned(_T_622); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25665.4]
  assign _T_624 = _T_623[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25666.4]
  assign _T_625 = _T_621 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25667.4]
  assign _T_643 = _T_642 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25687.4]
  assign _T_644 = $unsigned(_T_643); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25688.4]
  assign _T_645 = _T_644[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25689.4]
  assign _T_646 = _T_642 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25690.4]
  assign _T_657 = _T_492 & _T_625; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25705.4]
  assign _T_659 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@25708.6]
  assign _T_660 = _T_610 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25710.6]
  assign _T_661 = _T_660[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25711.6]
  assign _T_662 = _T_661 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25712.6]
  assign _T_664 = _T_662 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25714.6]
  assign _T_665 = _T_664 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25715.6]
  assign _GEN_15 = _T_657 ? _T_659 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@25707.4]
  assign _T_670 = _T_548 & _T_646; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25726.4]
  assign _T_674 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@25731.6]
  assign _T_675 = _GEN_15 | _T_610; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@25733.6]
  assign _T_676 = _T_675 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@25734.6]
  assign _T_677 = _T_676[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@25735.6]
  assign _T_679 = _T_677 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25737.6]
  assign _T_680 = _T_679 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25738.6]
  assign _GEN_16 = _T_670 ? _T_674 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@25730.4]
  assign _T_681 = _T_610 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25744.4]
  assign _T_682 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@25745.4]
  assign _T_683 = _T_681 & _T_682; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@25746.4]
  assign _T_686 = _T_610 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25751.4]
  assign _T_687 = _T_686 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25752.4]
  assign _T_688 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@25753.4]
  assign _T_689 = _T_687 | _T_688; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25754.4]
  assign _T_690 = _T_685 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@25755.4]
  assign _T_691 = _T_689 | _T_690; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@25756.4]
  assign _T_693 = _T_691 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@25758.4]
  assign _T_694 = _T_693 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@25759.4]
  assign _T_696 = _T_685 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@25765.4]
  assign _T_699 = _T_492 | _T_548; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25769.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24733.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24805.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24888.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24944.10]
  assign _GEN_75 = io_in_a_valid & _T_229; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24992.10]
  assign _GEN_85 = io_in_a_valid & _T_257; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25042.10]
  assign _GEN_95 = io_in_a_valid & _T_283; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25090.10]
  assign _GEN_105 = io_in_a_valid & _T_309; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25138.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_502 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_515 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_517 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_519 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_521 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_523 = _RAND_5[16:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_557 = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_574 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_576 = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_610 = _RAND_9[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_621 = _RAND_10[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_642 = _RAND_11[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_685 = _RAND_12[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_502 <= 4'h0;
    end else begin
      if (_T_492) begin
        if (_T_506) begin
          _T_502 <= 4'h0;
        end else begin
          _T_502 <= _T_505;
        end
      end
    end
    if (_T_547) begin
      _T_515 <= io_in_a_bits_opcode;
    end
    if (_T_547) begin
      _T_517 <= io_in_a_bits_param;
    end
    if (_T_547) begin
      _T_519 <= io_in_a_bits_size;
    end
    if (_T_547) begin
      _T_521 <= io_in_a_bits_source;
    end
    if (_T_547) begin
      _T_523 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_557 <= 4'h0;
    end else begin
      if (_T_548) begin
        if (_T_561) begin
          _T_557 <= _T_553;
        end else begin
          _T_557 <= _T_560;
        end
      end
    end
    if (_T_608) begin
      _T_574 <= io_in_d_bits_size;
    end
    if (_T_608) begin
      _T_576 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_610 <= 2'h0;
    end else begin
      _T_610 <= _T_683;
    end
    if (reset) begin
      _T_621 <= 4'h0;
    end else begin
      if (_T_492) begin
        if (_T_625) begin
          _T_621 <= 4'h0;
        end else begin
          _T_621 <= _T_624;
        end
      end
    end
    if (reset) begin
      _T_642 <= 4'h0;
    end else begin
      if (_T_548) begin
        if (_T_646) begin
          _T_642 <= _T_553;
        end else begin
          _T_642 <= _T_645;
        end
      end
    end
    if (reset) begin
      _T_685 <= 32'h0;
    end else begin
      if (_T_699) begin
        _T_685 <= 32'h0;
      end else begin
        _T_685 <= _T_696;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24646.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24647.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24716.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@24717.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24733.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24734.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24740.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24741.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24747.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24748.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24755.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24756.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24762.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24763.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24770.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24771.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24779.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24780.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24787.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24788.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24805.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24806.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24812.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24813.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24819.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24820.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24827.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24828.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24834.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24835.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24842.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24843.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24850.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24851.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24859.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24860.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24867.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24868.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24888.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24889.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24895.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24896.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24902.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24903.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24910.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24911.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24918.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24919.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24926.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24927.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24944.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_101) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24945.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24951.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24952.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24958.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24959.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24966.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24967.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24974.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24975.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24992.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_101) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24993.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@24999.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25000.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25006.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25007.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25014.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25015.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_256) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25024.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_256) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25025.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25042.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25043.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25049.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25050.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25056.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25057.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_278) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25064.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_278) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25065.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25072.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25073.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25090.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25091.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25097.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25098.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25104.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25105.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_304) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25112.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_304) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25113.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25120.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25121.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25138.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25139.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25145.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25146.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25152.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25153.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25160.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25161.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25168.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25169.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@25179.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@25180.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25196.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25197.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25204.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25205.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25212.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25213.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25220.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25221.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25228.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25229.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25238.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25239.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25245.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25246.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25253.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25254.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25261.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25262.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25269.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25270.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25277.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25278.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25286.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25287.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25296.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25297.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25303.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25304.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25311.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25312.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25319.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25320.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25327.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25328.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25336.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25337.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25345.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25346.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25355.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25356.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25363.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25364.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25371.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25372.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25380.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25381.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_354) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25390.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_354) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25391.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25398.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25399.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25407.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25408.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25416.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25417.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25426.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25427.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25434.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25435.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25442.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25443.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25451.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25452.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25461.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25462.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25469.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25470.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25477.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25478.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_525 & _T_529) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25517.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_525 & _T_529) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25518.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_525 & _T_533) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25525.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_525 & _T_533) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25526.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_525 & _T_537) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25533.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_525 & _T_537) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25534.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_525 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25541.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_525 & _T_541) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25542.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_525 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25549.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_525 & _T_545) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25550.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25599.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25600.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25607.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25608.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_582 & _T_594) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25615.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_582 & _T_594) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25616.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_582 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25623.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_582 & _T_598) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25624.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25631.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25632.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25639.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25640.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_657 & _T_665) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25717.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_657 & _T_665) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25718.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_670 & _T_680) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25740.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_670 & _T_680) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@25741.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_694) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:99:52)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@25761.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_694) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@25762.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Repeater_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25774.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25775.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25776.4]
  input         io_repeat, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
  output        io_full, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
  input  [16:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
  output [16:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25777.4]
);
  reg  full; // @[Repeater.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@25782.4]
  reg [31:0] _RAND_0;
  reg [2:0] saved_opcode; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25783.4]
  reg [31:0] _RAND_1;
  reg [2:0] saved_param; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25783.4]
  reg [31:0] _RAND_2;
  reg [2:0] saved_size; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25783.4]
  reg [31:0] _RAND_3;
  reg  saved_source; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25783.4]
  reg [31:0] _RAND_4;
  reg [16:0] saved_address; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25783.4]
  reg [31:0] _RAND_5;
  reg [3:0] saved_mask; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25783.4]
  reg [31:0] _RAND_6;
  reg  saved_corrupt; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25783.4]
  reg [31:0] _RAND_7;
  wire  _T_18; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@25786.4]
  wire  _T_21; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@25792.4]
  wire  _T_22; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25793.4]
  wire  _T_23; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@25798.4]
  wire  _T_24; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@25799.4]
  wire  _T_25; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25800.4]
  assign _T_18 = full == 1'h0; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@25786.4]
  assign _T_21 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@25792.4]
  assign _T_22 = _T_21 & io_repeat; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25793.4]
  assign _T_23 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@25798.4]
  assign _T_24 = io_repeat == 1'h0; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@25799.4]
  assign _T_25 = _T_23 & _T_24; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25800.4]
  assign io_full = full; // @[Repeater.scala 25:11:shc.marmotcaravel.MarmotCaravelConfig.fir@25791.4]
  assign io_enq_ready = io_deq_ready & _T_18; // @[Repeater.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@25788.4]
  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@25785.4]
  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@25790.4]
  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@25790.4]
  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@25790.4]
  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@25790.4]
  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@25790.4]
  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@25790.4]
  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@25790.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  full = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  saved_opcode = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  saved_param = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  saved_size = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  saved_source = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  saved_address = _RAND_5[16:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  saved_mask = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  saved_corrupt = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      full <= 1'h0;
    end else begin
      if (_T_25) begin
        full <= 1'h0;
      end else begin
        if (_T_22) begin
          full <= 1'h1;
        end
      end
    end
    if (_T_22) begin
      saved_opcode <= io_enq_bits_opcode;
    end
    if (_T_22) begin
      saved_param <= io_enq_bits_param;
    end
    if (_T_22) begin
      saved_size <= io_enq_bits_size;
    end
    if (_T_22) begin
      saved_source <= io_enq_bits_source;
    end
    if (_T_22) begin
      saved_address <= io_enq_bits_address;
    end
    if (_T_22) begin
      saved_mask <= io_enq_bits_mask;
    end
    if (_T_22) begin
      saved_corrupt <= io_enq_bits_corrupt;
    end
  end
endmodule
module TLFragmenter_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25805.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25806.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25807.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
  input  [16:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
  output [16:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25808.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
  wire [16:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
  wire [16:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
  wire [16:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25856.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25857.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25858.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@25859.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25860.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25866.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@25867.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25868.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@25887.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@25887.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@25888.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@25888.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@25889.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@25889.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@25890.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@25891.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@25892.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@25893.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25894.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25895.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25896.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25897.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25897.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25898.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25899.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25900.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25901.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@25902.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@25903.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@25904.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@25905.4]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@25907.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@25908.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@25909.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@25914.8]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25957.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25958.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25960.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@25961.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25962.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25964.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@25965.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25966.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25970.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25971.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25972.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25973.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25974.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25975.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25976.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@25977.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@25980.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@25987.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25988.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@25992.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@25852.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@26001.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@25993.4]
  wire [5:0] _GEN_11; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@26002.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@26002.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@26003.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@26004.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@26005.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@26005.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@26006.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@26007.4]
  wire [16:0] _GEN_13; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@26008.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26010.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@26014.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@26026.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@26027.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26029.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26030.4]
  TLMonitor_14 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@25815.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  Repeater_3 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25932.4]
    .clock(Repeater_clock),
    .reset(Repeater_reset),
    .io_repeat(Repeater_io_repeat),
    .io_full(Repeater_io_full),
    .io_enq_ready(Repeater_io_enq_ready),
    .io_enq_valid(Repeater_io_enq_valid),
    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
    .io_enq_bits_param(Repeater_io_enq_bits_param),
    .io_enq_bits_size(Repeater_io_enq_bits_size),
    .io_enq_bits_source(Repeater_io_enq_bits_source),
    .io_enq_bits_address(Repeater_io_enq_bits_address),
    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
    .io_deq_ready(Repeater_io_deq_ready),
    .io_deq_valid(Repeater_io_deq_valid),
    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
    .io_deq_bits_param(Repeater_io_deq_bits_param),
    .io_deq_bits_size(Repeater_io_deq_bits_size),
    .io_deq_bits_source(Repeater_io_deq_bits_source),
    .io_deq_bits_address(Repeater_io_deq_bits_address),
    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
  );
  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@25859.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25860.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25866.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@25867.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25868.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@25887.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@25887.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@25888.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@25888.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@25889.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@25889.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@25890.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@25891.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@25892.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@25893.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25894.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25895.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25896.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25897.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25897.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25898.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@25899.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25900.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25901.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@25902.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@25903.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@25904.4]
  assign _T_291 = auto_in_d_ready & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@25905.4]
  assign _T_292 = _T_244 - 4'h1; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@25907.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@25908.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@25909.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@25914.8]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@25957.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@25958.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25960.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@25961.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25962.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25964.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@25965.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25966.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@25971.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@25972.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25973.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25974.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@25975.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@25976.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@25977.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@25980.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25988.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@25992.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@25852.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@26001.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@25993.4]
  assign _GEN_11 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@26002.4]
  assign _T_369 = _GEN_11 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@26002.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@26003.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@26004.4]
  assign _GEN_12 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@26005.4]
  assign _T_372 = _T_371 | _GEN_12; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@26005.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@26006.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@26007.4]
  assign _GEN_13 = {{11'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@26008.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26010.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@26014.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@26026.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@26027.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26029.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26030.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@25855.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@25855.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@25855.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@25855.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@25855.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@25854.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@25854.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@25854.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@25854.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@25854.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_13; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@25854.4]
  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@25854.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@25854.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@25854.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25817.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25818.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25851.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25851.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25851.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25851.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25851.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25851.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25851.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25851.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25851.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25851.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25851.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25851.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@25851.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25934.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@25935.4]
  assign Repeater_io_repeat = _T_354 != 4'h0; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26000.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25936.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25936.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25936.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25936.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25936.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25936.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25936.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@25936.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@26001.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_244 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_246 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_248 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_344 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_362 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_244 <= 4'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_244 <= _T_249;
        end else begin
          _T_244 <= _T_294;
        end
      end
    end
    if (_T_291) begin
      if (_T_250) begin
        _T_246 <= _T_290;
      end
    end
    if (reset) begin
      _T_248 <= 1'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_248 <= _T_296;
        end
      end
    end
    if (reset) begin
      _T_344 <= 4'h0;
    end else begin
      if (_T_365) begin
        _T_344 <= _T_354;
      end
    end
    if (_T_345) begin
      _T_362 <= _T_248;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25880.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@25881.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26021.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26022.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_389) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26032.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_389) begin
          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26033.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_15( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26051.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26052.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26053.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
  input  [16:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@26054.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@27169.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@26070.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26075.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@26077.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@26078.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26079.6]
  wire [16:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@26080.6]
  wire [16:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@26080.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@26081.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@26083.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@26084.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@26086.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@26087.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26088.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26089.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@26090.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26092.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26093.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26095.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26096.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26097.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26098.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@26099.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26100.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26101.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26102.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26103.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26104.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26105.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26106.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26107.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26108.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26109.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26110.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26111.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26112.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26113.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26114.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26139.6]
  wire [16:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@26142.8]
  wire [17:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@26143.8]
  wire [17:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@26144.8]
  wire [17:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@26145.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@26146.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26151.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26164.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26165.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26172.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26173.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26179.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26180.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26185.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26187.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26188.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@26193.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26194.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26196.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26197.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@26202.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26204.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26205.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26211.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26265.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26267.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26268.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26291.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@26294.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@26302.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26305.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26306.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26325.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26327.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26328.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26333.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26335.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26336.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26350.6]
  wire  _T_229; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26398.6]
  wire [3:0] _T_251; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@26437.8]
  wire [3:0] _T_252; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26438.8]
  wire  _T_253; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@26439.8]
  wire  _T_255; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26441.8]
  wire  _T_256; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26442.8]
  wire  _T_257; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26448.6]
  wire  _T_275; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@26479.8]
  wire  _T_277; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26481.8]
  wire  _T_278; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26482.8]
  wire  _T_283; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26496.6]
  wire  _T_301; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@26527.8]
  wire  _T_303; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26529.8]
  wire  _T_304; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26530.8]
  wire  _T_309; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26544.6]
  wire  _T_340; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@26603.6]
  wire  _T_349; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26608.6]
  wire  _T_353; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26613.8]
  wire  _T_354; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26614.8]
  wire  _T_492; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@26900.4]
  reg [3:0] _T_502; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26909.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_503; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26910.4]
  wire [4:0] _T_504; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26911.4]
  wire [3:0] _T_505; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26912.4]
  wire  _T_506; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26913.4]
  reg [2:0] _T_515; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@26924.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_517; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@26925.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_519; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@26926.4]
  reg [31:0] _RAND_3;
  reg  _T_521; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@26927.4]
  reg [31:0] _RAND_4;
  reg [16:0] _T_523; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@26928.4]
  reg [31:0] _RAND_5;
  wire  _T_524; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@26929.4]
  wire  _T_525; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@26930.4]
  wire  _T_526; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26932.6]
  wire  _T_528; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26934.6]
  wire  _T_529; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26935.6]
  wire  _T_530; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26940.6]
  wire  _T_532; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26942.6]
  wire  _T_533; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26943.6]
  wire  _T_534; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26948.6]
  wire  _T_536; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26950.6]
  wire  _T_537; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26951.6]
  wire  _T_538; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26956.6]
  wire  _T_540; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26958.6]
  wire  _T_541; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26959.6]
  wire  _T_542; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26964.6]
  wire  _T_544; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26966.6]
  wire  _T_545; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26967.6]
  wire  _T_547; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@26974.4]
  wire  _T_548; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@26982.4]
  wire [12:0] _T_550; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@26984.4]
  wire [5:0] _T_551; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@26985.4]
  wire [5:0] _T_552; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26986.4]
  wire [3:0] _T_553; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@26987.4]
  reg [3:0] _T_557; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26990.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_558; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26991.4]
  wire [4:0] _T_559; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26992.4]
  wire [3:0] _T_560; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26993.4]
  wire  _T_561; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26994.4]
  reg [2:0] _T_574; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@27007.4]
  reg [31:0] _RAND_7;
  reg  _T_576; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@27008.4]
  reg [31:0] _RAND_8;
  wire  _T_581; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@27011.4]
  wire  _T_582; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27012.4]
  wire  _T_591; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27030.6]
  wire  _T_593; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27032.6]
  wire  _T_594; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27033.6]
  wire  _T_595; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27038.6]
  wire  _T_597; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27040.6]
  wire  _T_598; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27041.6]
  wire  _T_608; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@27064.4]
  reg [1:0] _T_610; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27073.4]
  reg [31:0] _RAND_9;
  reg [3:0] _T_621; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27083.4]
  reg [31:0] _RAND_10;
  wire [4:0] _T_622; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27084.4]
  wire [4:0] _T_623; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27085.4]
  wire [3:0] _T_624; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27086.4]
  wire  _T_625; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27087.4]
  reg [3:0] _T_642; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27106.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_643; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27107.4]
  wire [4:0] _T_644; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27108.4]
  wire [3:0] _T_645; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27109.4]
  wire  _T_646; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27110.4]
  wire  _T_657; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27125.4]
  wire [1:0] _T_659; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@27128.6]
  wire [1:0] _T_660; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@27130.6]
  wire  _T_661; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@27131.6]
  wire  _T_662; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27132.6]
  wire  _T_664; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27134.6]
  wire  _T_665; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27135.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@27127.4]
  wire  _T_670; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27146.4]
  wire [1:0] _T_674; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@27151.6]
  wire [1:0] _T_675; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@27153.6]
  wire [1:0] _T_676; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@27154.6]
  wire  _T_677; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@27155.6]
  wire  _T_679; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27157.6]
  wire  _T_680; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27158.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@27150.4]
  wire [1:0] _T_681; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27164.4]
  wire [1:0] _T_682; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27165.4]
  wire [1:0] _T_683; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@27166.4]
  reg [31:0] _T_685; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27168.4]
  reg [31:0] _RAND_12;
  wire  _T_686; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@27171.4]
  wire  _T_687; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27172.4]
  wire  _T_688; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@27173.4]
  wire  _T_689; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27174.4]
  wire  _T_690; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@27175.4]
  wire  _T_691; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@27176.4]
  wire  _T_693; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27178.4]
  wire  _T_694; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27179.4]
  wire [31:0] _T_696; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27185.4]
  wire  _T_699; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27189.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26153.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26225.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26308.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26364.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26412.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26462.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26510.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26558.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@27169.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@26070.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26075.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@26077.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@26078.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26079.6]
  assign _GEN_18 = {{11'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@26080.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@26080.6]
  assign _T_36 = _T_35 == 17'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@26081.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@26083.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@26084.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@26086.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@26087.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26088.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26089.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@26090.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26092.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26093.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26095.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26096.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26097.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@26098.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@26099.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26100.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26101.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26102.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26103.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26104.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26105.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26106.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26107.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26108.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26109.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@26110.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26111.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26112.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26113.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@26114.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26139.6]
  assign _T_92 = io_in_a_bits_address ^ 17'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@26142.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@26143.8]
  assign _T_94 = $signed(_T_93) & $signed(-18'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@26144.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@26145.8]
  assign _T_96 = $signed(_T_95) == $signed(18'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@26146.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26151.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26164.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26165.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26172.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26173.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26179.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26180.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26185.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26187.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26188.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@26193.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26194.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26196.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26197.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@26202.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26204.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26205.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26211.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26265.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26267.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26268.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26291.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@26294.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@26302.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26305.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26306.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26325.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26327.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26328.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@26333.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26335.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26336.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26350.6]
  assign _T_229 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26398.6]
  assign _T_251 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@26437.8]
  assign _T_252 = io_in_a_bits_mask & _T_251; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26438.8]
  assign _T_253 = _T_252 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@26439.8]
  assign _T_255 = _T_253 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26441.8]
  assign _T_256 = _T_255 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26442.8]
  assign _T_257 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26448.6]
  assign _T_275 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@26479.8]
  assign _T_277 = _T_275 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26481.8]
  assign _T_278 = _T_277 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26482.8]
  assign _T_283 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26496.6]
  assign _T_301 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@26527.8]
  assign _T_303 = _T_301 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26529.8]
  assign _T_304 = _T_303 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26530.8]
  assign _T_309 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26544.6]
  assign _T_340 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@26603.6]
  assign _T_349 = io_in_d_bits_source | _T_340; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26608.6]
  assign _T_353 = _T_349 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26613.8]
  assign _T_354 = _T_353 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26614.8]
  assign _T_492 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@26900.4]
  assign _T_503 = _T_502 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26910.4]
  assign _T_504 = $unsigned(_T_503); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26911.4]
  assign _T_505 = _T_504[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26912.4]
  assign _T_506 = _T_502 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26913.4]
  assign _T_524 = _T_506 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@26929.4]
  assign _T_525 = io_in_a_valid & _T_524; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@26930.4]
  assign _T_526 = io_in_a_bits_opcode == _T_515; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26932.6]
  assign _T_528 = _T_526 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26934.6]
  assign _T_529 = _T_528 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26935.6]
  assign _T_530 = io_in_a_bits_param == _T_517; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26940.6]
  assign _T_532 = _T_530 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26942.6]
  assign _T_533 = _T_532 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26943.6]
  assign _T_534 = io_in_a_bits_size == _T_519; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26948.6]
  assign _T_536 = _T_534 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26950.6]
  assign _T_537 = _T_536 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26951.6]
  assign _T_538 = io_in_a_bits_source == _T_521; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26956.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26958.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26959.6]
  assign _T_542 = io_in_a_bits_address == _T_523; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@26964.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26966.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26967.6]
  assign _T_547 = _T_492 & _T_506; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@26974.4]
  assign _T_548 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@26982.4]
  assign _T_550 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@26984.4]
  assign _T_551 = _T_550[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@26985.4]
  assign _T_552 = ~ _T_551; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@26986.4]
  assign _T_553 = _T_552[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@26987.4]
  assign _T_558 = _T_557 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26991.4]
  assign _T_559 = $unsigned(_T_558); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26992.4]
  assign _T_560 = _T_559[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@26993.4]
  assign _T_561 = _T_557 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@26994.4]
  assign _T_581 = _T_561 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@27011.4]
  assign _T_582 = io_in_d_valid & _T_581; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27012.4]
  assign _T_591 = io_in_d_bits_size == _T_574; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27030.6]
  assign _T_593 = _T_591 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27032.6]
  assign _T_594 = _T_593 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27033.6]
  assign _T_595 = io_in_d_bits_source == _T_576; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27038.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27040.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27041.6]
  assign _T_608 = _T_548 & _T_561; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@27064.4]
  assign _T_622 = _T_621 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27084.4]
  assign _T_623 = $unsigned(_T_622); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27085.4]
  assign _T_624 = _T_623[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27086.4]
  assign _T_625 = _T_621 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27087.4]
  assign _T_643 = _T_642 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27107.4]
  assign _T_644 = $unsigned(_T_643); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27108.4]
  assign _T_645 = _T_644[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27109.4]
  assign _T_646 = _T_642 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27110.4]
  assign _T_657 = _T_492 & _T_625; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27125.4]
  assign _T_659 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@27128.6]
  assign _T_660 = _T_610 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@27130.6]
  assign _T_661 = _T_660[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@27131.6]
  assign _T_662 = _T_661 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27132.6]
  assign _T_664 = _T_662 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27134.6]
  assign _T_665 = _T_664 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27135.6]
  assign _GEN_15 = _T_657 ? _T_659 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@27127.4]
  assign _T_670 = _T_548 & _T_646; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27146.4]
  assign _T_674 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@27151.6]
  assign _T_675 = _GEN_15 | _T_610; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@27153.6]
  assign _T_676 = _T_675 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@27154.6]
  assign _T_677 = _T_676[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@27155.6]
  assign _T_679 = _T_677 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27157.6]
  assign _T_680 = _T_679 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27158.6]
  assign _GEN_16 = _T_670 ? _T_674 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@27150.4]
  assign _T_681 = _T_610 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27164.4]
  assign _T_682 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27165.4]
  assign _T_683 = _T_681 & _T_682; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@27166.4]
  assign _T_686 = _T_610 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@27171.4]
  assign _T_687 = _T_686 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27172.4]
  assign _T_688 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@27173.4]
  assign _T_689 = _T_687 | _T_688; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27174.4]
  assign _T_690 = _T_685 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@27175.4]
  assign _T_691 = _T_689 | _T_690; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@27176.4]
  assign _T_693 = _T_691 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27178.4]
  assign _T_694 = _T_693 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27179.4]
  assign _T_696 = _T_685 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27185.4]
  assign _T_699 = _T_492 | _T_548; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27189.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26153.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26225.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26308.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26364.10]
  assign _GEN_75 = io_in_a_valid & _T_229; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26412.10]
  assign _GEN_85 = io_in_a_valid & _T_257; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26462.10]
  assign _GEN_95 = io_in_a_valid & _T_283; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26510.10]
  assign _GEN_105 = io_in_a_valid & _T_309; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26558.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_502 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_515 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_517 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_519 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_521 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_523 = _RAND_5[16:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_557 = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_574 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_576 = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_610 = _RAND_9[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_621 = _RAND_10[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_642 = _RAND_11[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_685 = _RAND_12[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_502 <= 4'h0;
    end else begin
      if (_T_492) begin
        if (_T_506) begin
          _T_502 <= 4'h0;
        end else begin
          _T_502 <= _T_505;
        end
      end
    end
    if (_T_547) begin
      _T_515 <= io_in_a_bits_opcode;
    end
    if (_T_547) begin
      _T_517 <= io_in_a_bits_param;
    end
    if (_T_547) begin
      _T_519 <= io_in_a_bits_size;
    end
    if (_T_547) begin
      _T_521 <= io_in_a_bits_source;
    end
    if (_T_547) begin
      _T_523 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_557 <= 4'h0;
    end else begin
      if (_T_548) begin
        if (_T_561) begin
          _T_557 <= _T_553;
        end else begin
          _T_557 <= _T_560;
        end
      end
    end
    if (_T_608) begin
      _T_574 <= io_in_d_bits_size;
    end
    if (_T_608) begin
      _T_576 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_610 <= 2'h0;
    end else begin
      _T_610 <= _T_683;
    end
    if (reset) begin
      _T_621 <= 4'h0;
    end else begin
      if (_T_492) begin
        if (_T_625) begin
          _T_621 <= 4'h0;
        end else begin
          _T_621 <= _T_624;
        end
      end
    end
    if (reset) begin
      _T_642 <= 4'h0;
    end else begin
      if (_T_548) begin
        if (_T_646) begin
          _T_642 <= _T_553;
        end else begin
          _T_642 <= _T_645;
        end
      end
    end
    if (reset) begin
      _T_685 <= 32'h0;
    end else begin
      if (_T_699) begin
        _T_685 <= 32'h0;
      end else begin
        _T_685 <= _T_696;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@26066.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@26067.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@26136.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@26137.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26153.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26154.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26160.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26161.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26167.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26168.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26175.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26176.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26182.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26183.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26190.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26191.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26199.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26200.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26207.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26208.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26225.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26226.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26232.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26233.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26239.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26240.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26247.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26248.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26254.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26255.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26262.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26263.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26270.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26271.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26279.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26280.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26287.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26288.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26308.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26309.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26315.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26316.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26322.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26323.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26330.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26331.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26338.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26339.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26346.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26347.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26364.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_101) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26365.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26371.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26372.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26378.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26379.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26386.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26387.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26394.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26395.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26412.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_101) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26413.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26419.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26420.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26426.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26427.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26434.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26435.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_256) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26444.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_256) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26445.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26462.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26463.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26469.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26470.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26476.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26477.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_278) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26484.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_278) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26485.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26492.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26493.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26510.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26511.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26517.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26518.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26524.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26525.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_304) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26532.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_304) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26533.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26540.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26541.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26558.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26559.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26565.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26566.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26572.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26573.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26580.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26581.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26588.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26589.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@26599.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@26600.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26616.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26617.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26624.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26625.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26632.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26633.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26640.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26641.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26648.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26649.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26658.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26659.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26665.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26666.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26673.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26674.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26681.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26682.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26689.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26690.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26697.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26698.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26706.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26707.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26716.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26717.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26723.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26724.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26731.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26732.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26739.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26740.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26747.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26748.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26756.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26757.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26765.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26766.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26775.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26776.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26783.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26784.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26791.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26792.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26800.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26801.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_354) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26810.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_354) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26811.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26818.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26819.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26827.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26828.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26836.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26837.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26846.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26847.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26854.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26855.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26862.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26863.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26871.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26872.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26881.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26882.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26889.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26890.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26897.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26898.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_525 & _T_529) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26937.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_525 & _T_529) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26938.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_525 & _T_533) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26945.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_525 & _T_533) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26946.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_525 & _T_537) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26953.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_525 & _T_537) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26954.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_525 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26961.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_525 & _T_541) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26962.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_525 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26969.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_525 & _T_545) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@26970.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27019.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27020.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27027.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27028.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_582 & _T_594) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27035.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_582 & _T_594) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27036.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_582 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27043.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_582 & _T_598) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27044.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27051.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27052.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27059.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27060.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_657 & _T_665) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27137.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_657 & _T_665) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27138.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_670 & _T_680) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27160.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_670 & _T_680) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@27161.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_694) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:99:81)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27181.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_694) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27182.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLWidthWidget_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27194.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27195.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27196.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
  input  [16:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
  output [16:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27197.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
  wire [16:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
  TLMonitor_15 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27204.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@27244.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@27244.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@27244.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@27244.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@27244.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27243.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27243.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27243.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27243.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27243.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27243.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27243.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27243.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27243.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27206.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27207.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27240.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27240.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27240.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27240.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27240.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27240.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27240.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27240.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27240.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27240.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27240.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27240.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@27240.4]
endmodule
module TLMonitor_16( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27261.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27262.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27263.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27264.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27264.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27264.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27264.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27264.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27264.4]
  input  [16:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27264.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27264.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27264.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27264.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27264.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27264.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@27264.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@28379.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@27280.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@27285.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@27287.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@27288.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@27289.6]
  wire [16:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@27290.6]
  wire [16:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@27290.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@27291.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27293.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27294.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@27296.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@27297.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27298.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27299.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@27300.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27302.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27303.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27305.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27306.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27307.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27308.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@27309.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27310.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27311.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27312.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27313.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27314.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27315.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27316.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27317.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27318.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27319.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27320.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27321.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@27322.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@27323.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@27324.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27349.6]
  wire [16:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@27352.8]
  wire [17:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27353.8]
  wire [17:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@27354.8]
  wire [17:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@27355.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@27356.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27361.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27374.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27375.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27382.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27383.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27389.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27390.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27395.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27397.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27398.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@27403.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27404.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27406.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27407.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@27412.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27414.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27415.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27421.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27475.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27477.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27478.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27501.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@27504.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@27512.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27515.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27516.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27535.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27537.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27538.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27543.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27545.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27546.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27560.6]
  wire  _T_229; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27608.6]
  wire [3:0] _T_251; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@27647.8]
  wire [3:0] _T_252; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27648.8]
  wire  _T_253; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@27649.8]
  wire  _T_255; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27651.8]
  wire  _T_256; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27652.8]
  wire  _T_257; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27658.6]
  wire  _T_275; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@27689.8]
  wire  _T_277; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27691.8]
  wire  _T_278; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27692.8]
  wire  _T_283; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27706.6]
  wire  _T_301; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@27737.8]
  wire  _T_303; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27739.8]
  wire  _T_304; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27740.8]
  wire  _T_309; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27754.6]
  wire  _T_340; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@27813.6]
  wire  _T_349; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@27818.6]
  wire  _T_353; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27823.8]
  wire  _T_354; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27824.8]
  wire  _T_492; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28110.4]
  reg [3:0] _T_502; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28119.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_503; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28120.4]
  wire [4:0] _T_504; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28121.4]
  wire [3:0] _T_505; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28122.4]
  wire  _T_506; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28123.4]
  reg [2:0] _T_515; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28134.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_517; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28135.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_519; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28136.4]
  reg [31:0] _RAND_3;
  reg  _T_521; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28137.4]
  reg [31:0] _RAND_4;
  reg [16:0] _T_523; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28138.4]
  reg [31:0] _RAND_5;
  wire  _T_524; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28139.4]
  wire  _T_525; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28140.4]
  wire  _T_526; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28142.6]
  wire  _T_528; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28144.6]
  wire  _T_529; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28145.6]
  wire  _T_530; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28150.6]
  wire  _T_532; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28152.6]
  wire  _T_533; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28153.6]
  wire  _T_534; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28158.6]
  wire  _T_536; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28160.6]
  wire  _T_537; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28161.6]
  wire  _T_538; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28166.6]
  wire  _T_540; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28168.6]
  wire  _T_541; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28169.6]
  wire  _T_542; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28174.6]
  wire  _T_544; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28176.6]
  wire  _T_545; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28177.6]
  wire  _T_547; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@28184.4]
  wire  _T_548; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28192.4]
  wire [12:0] _T_550; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@28194.4]
  wire [5:0] _T_551; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@28195.4]
  wire [5:0] _T_552; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@28196.4]
  wire [3:0] _T_553; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@28197.4]
  reg [3:0] _T_557; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28200.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_558; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28201.4]
  wire [4:0] _T_559; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28202.4]
  wire [3:0] _T_560; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28203.4]
  wire  _T_561; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28204.4]
  reg [2:0] _T_574; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28217.4]
  reg [31:0] _RAND_7;
  reg  _T_576; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28218.4]
  reg [31:0] _RAND_8;
  wire  _T_581; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28221.4]
  wire  _T_582; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28222.4]
  wire  _T_591; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28240.6]
  wire  _T_593; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28242.6]
  wire  _T_594; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28243.6]
  wire  _T_595; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28248.6]
  wire  _T_597; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28250.6]
  wire  _T_598; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28251.6]
  wire  _T_608; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@28274.4]
  reg [1:0] _T_610; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28283.4]
  reg [31:0] _RAND_9;
  reg [3:0] _T_621; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28293.4]
  reg [31:0] _RAND_10;
  wire [4:0] _T_622; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28294.4]
  wire [4:0] _T_623; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28295.4]
  wire [3:0] _T_624; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28296.4]
  wire  _T_625; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28297.4]
  reg [3:0] _T_642; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28316.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_643; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28317.4]
  wire [4:0] _T_644; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28318.4]
  wire [3:0] _T_645; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28319.4]
  wire  _T_646; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28320.4]
  wire  _T_657; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28335.4]
  wire [1:0] _T_659; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@28338.6]
  wire [1:0] _T_660; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@28340.6]
  wire  _T_661; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@28341.6]
  wire  _T_662; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28342.6]
  wire  _T_664; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28344.6]
  wire  _T_665; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28345.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@28337.4]
  wire  _T_670; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28356.4]
  wire [1:0] _T_674; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@28361.6]
  wire [1:0] _T_675; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@28363.6]
  wire [1:0] _T_676; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28364.6]
  wire  _T_677; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28365.6]
  wire  _T_679; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28367.6]
  wire  _T_680; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28368.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@28360.4]
  wire [1:0] _T_681; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28374.4]
  wire [1:0] _T_682; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28375.4]
  wire [1:0] _T_683; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@28376.4]
  reg [31:0] _T_685; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28378.4]
  reg [31:0] _RAND_12;
  wire  _T_686; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@28381.4]
  wire  _T_687; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28382.4]
  wire  _T_688; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@28383.4]
  wire  _T_689; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28384.4]
  wire  _T_690; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@28385.4]
  wire  _T_691; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@28386.4]
  wire  _T_693; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28388.4]
  wire  _T_694; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28389.4]
  wire [31:0] _T_696; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28395.4]
  wire  _T_699; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28399.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27363.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27435.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27518.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27574.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27622.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27672.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27720.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27768.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@28379.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@27280.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@27285.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@27287.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@27288.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@27289.6]
  assign _GEN_18 = {{11'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@27290.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@27290.6]
  assign _T_36 = _T_35 == 17'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@27291.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27293.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27294.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@27296.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@27297.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27298.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27299.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@27300.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27302.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27303.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27305.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27306.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27307.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@27308.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@27309.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27310.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27311.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27312.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27313.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27314.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27315.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27316.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27317.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27318.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27319.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@27320.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@27321.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@27322.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@27323.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@27324.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27349.6]
  assign _T_92 = io_in_a_bits_address ^ 17'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@27352.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@27353.8]
  assign _T_94 = $signed(_T_93) & $signed(-18'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@27354.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@27355.8]
  assign _T_96 = $signed(_T_95) == $signed(18'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@27356.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27361.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27374.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27375.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27382.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27383.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27389.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27390.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27395.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27397.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27398.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@27403.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27404.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27406.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27407.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@27412.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27414.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27415.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27421.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27475.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27477.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27478.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27501.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@27504.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@27512.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27515.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27516.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27535.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27537.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27538.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@27543.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27545.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27546.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27560.6]
  assign _T_229 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27608.6]
  assign _T_251 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@27647.8]
  assign _T_252 = io_in_a_bits_mask & _T_251; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@27648.8]
  assign _T_253 = _T_252 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@27649.8]
  assign _T_255 = _T_253 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27651.8]
  assign _T_256 = _T_255 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27652.8]
  assign _T_257 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27658.6]
  assign _T_275 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@27689.8]
  assign _T_277 = _T_275 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27691.8]
  assign _T_278 = _T_277 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27692.8]
  assign _T_283 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27706.6]
  assign _T_301 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@27737.8]
  assign _T_303 = _T_301 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27739.8]
  assign _T_304 = _T_303 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27740.8]
  assign _T_309 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@27754.6]
  assign _T_340 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@27813.6]
  assign _T_349 = io_in_d_bits_source | _T_340; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@27818.6]
  assign _T_353 = _T_349 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27823.8]
  assign _T_354 = _T_353 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27824.8]
  assign _T_492 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28110.4]
  assign _T_503 = _T_502 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28120.4]
  assign _T_504 = $unsigned(_T_503); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28121.4]
  assign _T_505 = _T_504[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28122.4]
  assign _T_506 = _T_502 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28123.4]
  assign _T_524 = _T_506 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28139.4]
  assign _T_525 = io_in_a_valid & _T_524; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28140.4]
  assign _T_526 = io_in_a_bits_opcode == _T_515; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28142.6]
  assign _T_528 = _T_526 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28144.6]
  assign _T_529 = _T_528 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28145.6]
  assign _T_530 = io_in_a_bits_param == _T_517; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28150.6]
  assign _T_532 = _T_530 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28152.6]
  assign _T_533 = _T_532 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28153.6]
  assign _T_534 = io_in_a_bits_size == _T_519; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28158.6]
  assign _T_536 = _T_534 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28160.6]
  assign _T_537 = _T_536 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28161.6]
  assign _T_538 = io_in_a_bits_source == _T_521; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28166.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28168.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28169.6]
  assign _T_542 = io_in_a_bits_address == _T_523; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28174.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28176.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28177.6]
  assign _T_547 = _T_492 & _T_506; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@28184.4]
  assign _T_548 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28192.4]
  assign _T_550 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@28194.4]
  assign _T_551 = _T_550[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@28195.4]
  assign _T_552 = ~ _T_551; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@28196.4]
  assign _T_553 = _T_552[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@28197.4]
  assign _T_558 = _T_557 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28201.4]
  assign _T_559 = $unsigned(_T_558); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28202.4]
  assign _T_560 = _T_559[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28203.4]
  assign _T_561 = _T_557 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28204.4]
  assign _T_581 = _T_561 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@28221.4]
  assign _T_582 = io_in_d_valid & _T_581; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28222.4]
  assign _T_591 = io_in_d_bits_size == _T_574; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28240.6]
  assign _T_593 = _T_591 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28242.6]
  assign _T_594 = _T_593 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28243.6]
  assign _T_595 = io_in_d_bits_source == _T_576; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28248.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28250.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28251.6]
  assign _T_608 = _T_548 & _T_561; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@28274.4]
  assign _T_622 = _T_621 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28294.4]
  assign _T_623 = $unsigned(_T_622); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28295.4]
  assign _T_624 = _T_623[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28296.4]
  assign _T_625 = _T_621 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28297.4]
  assign _T_643 = _T_642 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28317.4]
  assign _T_644 = $unsigned(_T_643); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28318.4]
  assign _T_645 = _T_644[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28319.4]
  assign _T_646 = _T_642 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28320.4]
  assign _T_657 = _T_492 & _T_625; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28335.4]
  assign _T_659 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@28338.6]
  assign _T_660 = _T_610 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@28340.6]
  assign _T_661 = _T_660[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@28341.6]
  assign _T_662 = _T_661 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28342.6]
  assign _T_664 = _T_662 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28344.6]
  assign _T_665 = _T_664 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28345.6]
  assign _GEN_15 = _T_657 ? _T_659 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@28337.4]
  assign _T_670 = _T_548 & _T_646; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28356.4]
  assign _T_674 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@28361.6]
  assign _T_675 = _GEN_15 | _T_610; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@28363.6]
  assign _T_676 = _T_675 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28364.6]
  assign _T_677 = _T_676[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28365.6]
  assign _T_679 = _T_677 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28367.6]
  assign _T_680 = _T_679 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28368.6]
  assign _GEN_16 = _T_670 ? _T_674 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@28360.4]
  assign _T_681 = _T_610 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28374.4]
  assign _T_682 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28375.4]
  assign _T_683 = _T_681 & _T_682; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@28376.4]
  assign _T_686 = _T_610 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@28381.4]
  assign _T_687 = _T_686 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28382.4]
  assign _T_688 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@28383.4]
  assign _T_689 = _T_687 | _T_688; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28384.4]
  assign _T_690 = _T_685 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@28385.4]
  assign _T_691 = _T_689 | _T_690; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@28386.4]
  assign _T_693 = _T_691 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28388.4]
  assign _T_694 = _T_693 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28389.4]
  assign _T_696 = _T_685 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28395.4]
  assign _T_699 = _T_492 | _T_548; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28399.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27363.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27435.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27518.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27574.10]
  assign _GEN_75 = io_in_a_valid & _T_229; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27622.10]
  assign _GEN_85 = io_in_a_valid & _T_257; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27672.10]
  assign _GEN_95 = io_in_a_valid & _T_283; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27720.10]
  assign _GEN_105 = io_in_a_valid & _T_309; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27768.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_502 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_515 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_517 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_519 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_521 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_523 = _RAND_5[16:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_557 = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_574 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_576 = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_610 = _RAND_9[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_621 = _RAND_10[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_642 = _RAND_11[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_685 = _RAND_12[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_502 <= 4'h0;
    end else begin
      if (_T_492) begin
        if (_T_506) begin
          _T_502 <= 4'h0;
        end else begin
          _T_502 <= _T_505;
        end
      end
    end
    if (_T_547) begin
      _T_515 <= io_in_a_bits_opcode;
    end
    if (_T_547) begin
      _T_517 <= io_in_a_bits_param;
    end
    if (_T_547) begin
      _T_519 <= io_in_a_bits_size;
    end
    if (_T_547) begin
      _T_521 <= io_in_a_bits_source;
    end
    if (_T_547) begin
      _T_523 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_557 <= 4'h0;
    end else begin
      if (_T_548) begin
        if (_T_561) begin
          _T_557 <= _T_553;
        end else begin
          _T_557 <= _T_560;
        end
      end
    end
    if (_T_608) begin
      _T_574 <= io_in_d_bits_size;
    end
    if (_T_608) begin
      _T_576 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_610 <= 2'h0;
    end else begin
      _T_610 <= _T_683;
    end
    if (reset) begin
      _T_621 <= 4'h0;
    end else begin
      if (_T_492) begin
        if (_T_625) begin
          _T_621 <= 4'h0;
        end else begin
          _T_621 <= _T_624;
        end
      end
    end
    if (reset) begin
      _T_642 <= 4'h0;
    end else begin
      if (_T_548) begin
        if (_T_646) begin
          _T_642 <= _T_553;
        end else begin
          _T_642 <= _T_645;
        end
      end
    end
    if (reset) begin
      _T_685 <= 32'h0;
    end else begin
      if (_T_699) begin
        _T_685 <= 32'h0;
      end else begin
        _T_685 <= _T_696;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27276.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27277.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27346.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27347.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27363.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27364.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27370.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27371.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27377.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27378.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27385.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27386.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27392.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27393.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27400.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27401.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27409.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27410.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27417.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27418.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27435.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27436.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27442.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27443.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27449.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27450.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27457.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27458.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27464.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27465.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27472.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27473.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27480.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27481.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27489.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27490.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27497.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27498.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27518.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27519.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27525.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27526.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27532.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27533.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27540.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27541.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27548.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27549.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27556.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27557.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27574.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_101) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27575.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27581.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27582.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27588.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27589.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27596.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27597.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27604.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27605.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27622.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_101) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27623.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27629.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27630.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27636.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27637.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27644.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27645.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_256) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27654.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_256) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27655.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27672.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27673.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27679.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27680.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27686.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27687.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_278) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27694.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_278) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27695.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27702.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27703.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27720.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27721.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27727.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27728.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27734.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27735.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_304) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27742.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_304) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27743.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27750.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27751.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27768.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27769.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27775.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27776.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27782.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27783.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27790.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27791.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27798.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27799.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27809.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@27810.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27826.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27827.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27834.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27835.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27842.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27843.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27850.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27851.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27858.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27859.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27868.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27869.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27875.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27876.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27883.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27884.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27891.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27892.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27899.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27900.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27907.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27908.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27916.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27917.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27926.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27927.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27933.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27934.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27941.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27942.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27949.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27950.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27957.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27958.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27966.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27967.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27975.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27976.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27985.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27986.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27993.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@27994.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28001.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28002.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28010.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28011.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_354) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28020.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_354) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28021.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28028.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28029.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28037.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28038.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28046.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28047.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28056.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28057.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28064.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28065.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28072.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28073.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28081.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28082.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28091.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28092.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28099.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28100.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28107.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28108.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_525 & _T_529) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28147.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_525 & _T_529) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28148.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_525 & _T_533) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28155.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_525 & _T_533) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28156.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_525 & _T_537) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28163.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_525 & _T_537) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28164.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_525 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28171.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_525 & _T_541) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28172.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_525 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28179.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_525 & _T_545) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28180.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28229.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28230.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28237.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28238.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_582 & _T_594) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28245.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_582 & _T_594) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28246.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_582 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28253.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_582 & _T_598) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28254.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28261.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28262.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28269.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28270.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_657 & _T_665) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28347.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_657 & _T_665) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28348.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_670 & _T_680) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28370.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_670 & _T_680) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@28371.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_694) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:99:102)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28391.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_694) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28392.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_6( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28404.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28405.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28406.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
  input  [16:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
  output [16:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28407.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
  wire [16:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
  TLMonitor_16 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28414.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28454.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28454.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28454.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28454.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28454.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28453.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28453.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28453.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28453.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28453.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28453.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28453.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28453.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28453.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28416.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28417.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28450.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28450.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28450.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28450.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28450.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28450.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28450.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28450.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28450.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28450.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28450.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28450.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@28450.4]
endmodule
module SimpleLazyModule_6( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28464.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28465.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28466.4]
  output        auto_buffer_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
  input         auto_buffer_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
  input  [2:0]  auto_buffer_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
  input  [2:0]  auto_buffer_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
  input  [2:0]  auto_buffer_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
  input         auto_buffer_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
  input  [16:0] auto_buffer_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
  input  [3:0]  auto_buffer_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
  input         auto_buffer_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
  input         auto_buffer_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
  output        auto_buffer_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
  output [2:0]  auto_buffer_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
  output        auto_buffer_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
  output [31:0] auto_buffer_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
  input         auto_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
  output        auto_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
  output [2:0]  auto_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
  output [2:0]  auto_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
  output [1:0]  auto_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
  output [5:0]  auto_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
  output [16:0] auto_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
  output [3:0]  auto_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
  output        auto_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
  output        auto_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
  input         auto_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
  input  [1:0]  auto_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
  input  [5:0]  auto_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
  input  [31:0] auto_fragmenter_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28467.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire [16:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire [16:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
  wire  widget_clock; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire  widget_reset; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire  widget_auto_in_a_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire  widget_auto_in_a_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire [2:0] widget_auto_in_a_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire [2:0] widget_auto_in_a_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire [2:0] widget_auto_in_a_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire  widget_auto_in_a_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire [16:0] widget_auto_in_a_bits_address; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire [3:0] widget_auto_in_a_bits_mask; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire  widget_auto_in_a_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire  widget_auto_in_d_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire  widget_auto_in_d_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire [2:0] widget_auto_in_d_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire  widget_auto_in_d_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire [31:0] widget_auto_in_d_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire  widget_auto_out_a_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire  widget_auto_out_a_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire [2:0] widget_auto_out_a_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire [2:0] widget_auto_out_a_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire [2:0] widget_auto_out_a_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire  widget_auto_out_a_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire [16:0] widget_auto_out_a_bits_address; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire [3:0] widget_auto_out_a_bits_mask; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire  widget_auto_out_a_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire  widget_auto_out_d_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire  widget_auto_out_d_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire [2:0] widget_auto_out_d_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire  widget_auto_out_d_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire [31:0] widget_auto_out_d_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire [2:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire [16:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire [2:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire [2:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire [16:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire [2:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
  TLFragmenter_3 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@28472.4]
    .clock(fragmenter_clock),
    .reset(fragmenter_reset),
    .auto_in_a_ready(fragmenter_auto_in_a_ready),
    .auto_in_a_valid(fragmenter_auto_in_a_valid),
    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
    .auto_in_d_ready(fragmenter_auto_in_d_ready),
    .auto_in_d_valid(fragmenter_auto_in_d_valid),
    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
    .auto_out_a_ready(fragmenter_auto_out_a_ready),
    .auto_out_a_valid(fragmenter_auto_out_a_valid),
    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
    .auto_out_d_ready(fragmenter_auto_out_d_ready),
    .auto_out_d_valid(fragmenter_auto_out_d_valid),
    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
  );
  TLWidthWidget_1 widget ( // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28478.4]
    .clock(widget_clock),
    .reset(widget_reset),
    .auto_in_a_ready(widget_auto_in_a_ready),
    .auto_in_a_valid(widget_auto_in_a_valid),
    .auto_in_a_bits_opcode(widget_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(widget_auto_in_a_bits_param),
    .auto_in_a_bits_size(widget_auto_in_a_bits_size),
    .auto_in_a_bits_source(widget_auto_in_a_bits_source),
    .auto_in_a_bits_address(widget_auto_in_a_bits_address),
    .auto_in_a_bits_mask(widget_auto_in_a_bits_mask),
    .auto_in_a_bits_corrupt(widget_auto_in_a_bits_corrupt),
    .auto_in_d_ready(widget_auto_in_d_ready),
    .auto_in_d_valid(widget_auto_in_d_valid),
    .auto_in_d_bits_size(widget_auto_in_d_bits_size),
    .auto_in_d_bits_source(widget_auto_in_d_bits_source),
    .auto_in_d_bits_data(widget_auto_in_d_bits_data),
    .auto_out_a_ready(widget_auto_out_a_ready),
    .auto_out_a_valid(widget_auto_out_a_valid),
    .auto_out_a_bits_opcode(widget_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(widget_auto_out_a_bits_param),
    .auto_out_a_bits_size(widget_auto_out_a_bits_size),
    .auto_out_a_bits_source(widget_auto_out_a_bits_source),
    .auto_out_a_bits_address(widget_auto_out_a_bits_address),
    .auto_out_a_bits_mask(widget_auto_out_a_bits_mask),
    .auto_out_a_bits_corrupt(widget_auto_out_a_bits_corrupt),
    .auto_out_d_ready(widget_auto_out_d_ready),
    .auto_out_d_valid(widget_auto_out_d_valid),
    .auto_out_d_bits_size(widget_auto_out_d_bits_size),
    .auto_out_d_bits_source(widget_auto_out_d_bits_source),
    .auto_out_d_bits_data(widget_auto_out_d_bits_data)
  );
  TLBuffer_6 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28484.4]
    .clock(buffer_clock),
    .reset(buffer_reset),
    .auto_in_a_ready(buffer_auto_in_a_ready),
    .auto_in_a_valid(buffer_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_auto_in_d_ready),
    .auto_in_d_valid(buffer_auto_in_d_valid),
    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
    .auto_out_a_ready(buffer_auto_out_a_ready),
    .auto_out_a_valid(buffer_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_auto_out_d_ready),
    .auto_out_d_valid(buffer_auto_out_d_valid),
    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
  );
  assign auto_buffer_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
  assign auto_buffer_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
  assign auto_buffer_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
  assign auto_buffer_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
  assign auto_buffer_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
  assign auto_fragmenter_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
  assign auto_fragmenter_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
  assign auto_fragmenter_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
  assign auto_fragmenter_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
  assign auto_fragmenter_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
  assign auto_fragmenter_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
  assign auto_fragmenter_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
  assign auto_fragmenter_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
  assign auto_fragmenter_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28476.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28477.4]
  assign fragmenter_auto_in_a_valid = widget_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
  assign fragmenter_auto_in_a_bits_opcode = widget_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
  assign fragmenter_auto_in_a_bits_param = widget_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
  assign fragmenter_auto_in_a_bits_size = widget_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
  assign fragmenter_auto_in_a_bits_source = widget_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
  assign fragmenter_auto_in_a_bits_address = widget_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
  assign fragmenter_auto_in_a_bits_mask = widget_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
  assign fragmenter_auto_in_a_bits_corrupt = widget_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
  assign fragmenter_auto_in_d_ready = widget_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
  assign fragmenter_auto_out_a_ready = auto_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
  assign fragmenter_auto_out_d_valid = auto_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
  assign fragmenter_auto_out_d_bits_size = auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
  assign fragmenter_auto_out_d_bits_source = auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
  assign fragmenter_auto_out_d_bits_data = auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28492.4]
  assign widget_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28482.4]
  assign widget_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28483.4]
  assign widget_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
  assign widget_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
  assign widget_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
  assign widget_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
  assign widget_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
  assign widget_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
  assign widget_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
  assign widget_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
  assign widget_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
  assign widget_auto_out_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
  assign widget_auto_out_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
  assign widget_auto_out_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
  assign widget_auto_out_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
  assign widget_auto_out_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28490.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28488.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28489.4]
  assign buffer_auto_in_a_valid = auto_buffer_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
  assign buffer_auto_in_a_bits_opcode = auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
  assign buffer_auto_in_a_bits_param = auto_buffer_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
  assign buffer_auto_in_a_bits_size = auto_buffer_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
  assign buffer_auto_in_a_bits_source = auto_buffer_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
  assign buffer_auto_in_a_bits_address = auto_buffer_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
  assign buffer_auto_in_a_bits_mask = auto_buffer_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
  assign buffer_auto_in_a_bits_corrupt = auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
  assign buffer_auto_in_d_ready = auto_buffer_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28493.4]
  assign buffer_auto_out_a_ready = widget_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
  assign buffer_auto_out_d_valid = widget_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
  assign buffer_auto_out_d_bits_size = widget_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
  assign buffer_auto_out_d_bits_source = widget_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
  assign buffer_auto_out_d_bits_data = widget_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28491.4]
endmodule
module TLMonitor_17( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28502.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28503.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28504.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
  input  [5:0]  io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@28505.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@29643.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@28532.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@28533.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@28534.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@28535.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@28535.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@28536.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28538.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28539.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@28541.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@28542.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28543.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28544.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@28545.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28547.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28548.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28550.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28551.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28552.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28553.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@28554.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28555.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28556.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28557.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28558.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28559.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28560.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28561.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28562.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28563.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28564.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28565.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28566.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@28567.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@28568.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@28569.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28592.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28595.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28596.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@28597.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@28598.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@28599.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28604.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28625.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28626.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28632.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28633.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28638.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28640.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28641.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@28646.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28647.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28649.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28650.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@28655.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28657.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28658.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28664.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28718.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28720.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28721.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28744.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@28747.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@28755.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28758.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28759.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28778.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28780.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28781.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28786.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28788.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28789.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28803.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28854.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@28896.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28897.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@28898.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28900.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28901.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28907.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@28938.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28940.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28941.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28955.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@28986.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28988.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28989.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29003.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@29053.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29055.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29056.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29073.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29082.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29084.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29085.8]
  wire  _T_371; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29090.8]
  wire  _T_373; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29092.8]
  wire  _T_374; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29093.8]
  wire  _T_375; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@29098.8]
  wire  _T_377; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29100.8]
  wire  _T_378; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29101.8]
  wire  _T_379; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@29106.8]
  wire  _T_381; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29108.8]
  wire  _T_382; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29109.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29115.6]
  wire  _T_394; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@29139.8]
  wire  _T_396; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29141.8]
  wire  _T_397; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29142.8]
  wire  _T_398; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29147.8]
  wire  _T_400; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29149.8]
  wire  _T_401; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29150.8]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29173.6]
  wire  _T_431; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@29214.8]
  wire  _T_433; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29216.8]
  wire  _T_434; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29217.8]
  wire  _T_440; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29232.6]
  wire  _T_457; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29267.6]
  wire  _T_475; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29303.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29363.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29372.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29373.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29374.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29375.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29376.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29387.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29388.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29389.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29390.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29391.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29392.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@29393.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29395.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29397.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29398.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29403.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29405.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29406.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29411.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29413.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29414.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29419.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29421.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29422.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29427.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29429.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29430.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@29437.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29445.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29453.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29454.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29455.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29456.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29457.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29468.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_584; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29469.4]
  reg [31:0] _RAND_8;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29470.4]
  reg [31:0] _RAND_9;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29471.4]
  reg [31:0] _RAND_10;
  reg  _T_590; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29472.4]
  reg [31:0] _RAND_11;
  reg  _T_592; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29473.4]
  reg [31:0] _RAND_12;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29474.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@29475.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29477.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29479.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29480.6]
  wire  _T_599; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29485.6]
  wire  _T_601; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29487.6]
  wire  _T_602; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29488.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29493.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29495.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29496.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29501.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29503.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29504.6]
  wire  _T_611; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29509.6]
  wire  _T_613; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29511.6]
  wire  _T_614; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29512.6]
  wire  _T_615; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29517.6]
  wire  _T_617; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29519.6]
  wire  _T_618; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29520.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@29527.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29536.4]
  reg [63:0] _RAND_13;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29546.4]
  reg [31:0] _RAND_14;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29547.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29548.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29549.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29550.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29569.4]
  reg [31:0] _RAND_15;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29570.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29571.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29572.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29573.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29588.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@29591.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@29593.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@29594.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29595.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29597.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29598.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@29590.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29609.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@29611.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@29612.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@29614.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@29616.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@29617.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@29618.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29620.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29621.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@29613.4]
  wire  _T_693; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@29627.4]
  wire  _T_694; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@29628.4]
  wire  _T_695; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@29629.4]
  wire  _T_696; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@29630.4]
  wire  _T_698; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29632.4]
  wire  _T_699; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29633.4]
  wire [63:0] _T_700; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29638.4]
  wire [63:0] _T_701; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@29639.4]
  wire [63:0] _T_702; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@29640.4]
  reg [31:0] _T_704; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29642.4]
  reg [31:0] _RAND_16;
  wire  _T_705; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@29645.4]
  wire  _T_706; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29646.4]
  wire  _T_707; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@29647.4]
  wire  _T_708; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29648.4]
  wire  _T_709; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@29649.4]
  wire  _T_710; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@29650.4]
  wire  _T_712; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29652.4]
  wire  _T_713; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29653.4]
  wire [31:0] _T_715; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@29659.4]
  wire  _T_718; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29663.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28606.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28678.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28761.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28820.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28871.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28921.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28969.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29017.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29087.10]
  wire  _GEN_107; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29128.10]
  wire  _GEN_119; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29186.10]
  wire  _GEN_131; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29246.10]
  wire  _GEN_137; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29281.10]
  wire  _GEN_143; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29317.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@29643.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@28532.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@28533.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@28534.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@28535.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@28535.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@28536.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28538.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28539.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@28541.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@28542.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28543.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28544.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@28545.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28547.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28548.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28550.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28551.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28552.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@28553.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@28554.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28555.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28556.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28557.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28558.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28559.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28560.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28561.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28562.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28563.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28564.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@28565.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@28566.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@28567.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@28568.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@28569.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28592.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@28595.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@28596.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@28597.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@28598.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@28599.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28604.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28625.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28626.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28632.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28633.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28638.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28640.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28641.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@28646.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28647.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28649.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28650.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@28655.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28657.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28658.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28664.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28718.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28720.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28721.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28744.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@28747.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@28755.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28758.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28759.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28778.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28780.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28781.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@28786.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28788.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28789.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28803.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28854.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@28896.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@28897.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@28898.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28900.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28901.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28907.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@28938.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28940.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28941.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@28955.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@28986.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28988.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28989.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29003.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@29053.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29055.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29056.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29073.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29082.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29084.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29085.8]
  assign _T_371 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29090.8]
  assign _T_373 = _T_371 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29092.8]
  assign _T_374 = _T_373 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29093.8]
  assign _T_375 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@29098.8]
  assign _T_377 = _T_375 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29100.8]
  assign _T_378 = _T_377 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29101.8]
  assign _T_379 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@29106.8]
  assign _T_381 = _T_379 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29108.8]
  assign _T_382 = _T_381 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29109.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29115.6]
  assign _T_394 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@29139.8]
  assign _T_396 = _T_394 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29141.8]
  assign _T_397 = _T_396 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29142.8]
  assign _T_398 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29147.8]
  assign _T_400 = _T_398 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29149.8]
  assign _T_401 = _T_400 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29150.8]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29173.6]
  assign _T_431 = _T_379 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@29214.8]
  assign _T_433 = _T_431 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29216.8]
  assign _T_434 = _T_433 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29217.8]
  assign _T_440 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29232.6]
  assign _T_457 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29267.6]
  assign _T_475 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29303.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29363.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29373.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29374.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29375.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29376.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29392.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@29393.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29395.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29397.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29398.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29403.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29405.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29406.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29411.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29413.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29414.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29419.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29421.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29422.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29427.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29429.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29430.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@29437.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29445.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29454.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29455.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29456.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29457.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@29474.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@29475.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29477.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29479.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29480.6]
  assign _T_599 = io_in_d_bits_param == _T_584; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29485.6]
  assign _T_601 = _T_599 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29487.6]
  assign _T_602 = _T_601 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29488.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29493.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29495.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29496.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29501.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29503.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29504.6]
  assign _T_611 = io_in_d_bits_sink == _T_590; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29509.6]
  assign _T_613 = _T_611 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29511.6]
  assign _T_614 = _T_613 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29512.6]
  assign _T_615 = io_in_d_bits_denied == _T_592; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@29517.6]
  assign _T_617 = _T_615 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29519.6]
  assign _T_618 = _T_617 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29520.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@29527.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29547.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29548.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29549.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29550.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29570.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29571.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@29572.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@29573.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29588.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@29591.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@29593.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@29594.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29595.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29597.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29598.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@29590.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29609.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@29611.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@29612.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@29614.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@29616.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@29617.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@29618.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29620.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29621.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@29613.4]
  assign _T_693 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@29627.4]
  assign _T_694 = _GEN_15 != 64'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@29628.4]
  assign _T_695 = _T_694 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@29629.4]
  assign _T_696 = _T_693 | _T_695; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@29630.4]
  assign _T_698 = _T_696 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29632.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29633.4]
  assign _T_700 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29638.4]
  assign _T_701 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@29639.4]
  assign _T_702 = _T_700 & _T_701; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@29640.4]
  assign _T_705 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@29645.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29646.4]
  assign _T_707 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@29647.4]
  assign _T_708 = _T_706 | _T_707; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29648.4]
  assign _T_709 = _T_704 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@29649.4]
  assign _T_710 = _T_708 | _T_709; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@29650.4]
  assign _T_712 = _T_710 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29652.4]
  assign _T_713 = _T_712 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29653.4]
  assign _T_715 = _T_704 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@29659.4]
  assign _T_718 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@29663.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28606.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28678.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28761.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28820.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28871.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28921.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28969.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29017.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29087.10]
  assign _GEN_107 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29128.10]
  assign _GEN_119 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29186.10]
  assign _GEN_131 = io_in_d_valid & _T_440; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29246.10]
  assign _GEN_137 = io_in_d_valid & _T_457; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29281.10]
  assign _GEN_143 = io_in_d_valid & _T_475; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29317.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_514 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_527 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_529 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_531 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_533 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_535 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_569 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_582 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_584 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_586 = _RAND_9[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_588 = _RAND_10[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_590 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_592 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {2{`RANDOM}};
  _T_622 = _RAND_13[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_633 = _RAND_14[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_654 = _RAND_15[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_704 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_514 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_518) begin
          _T_514 <= 1'h0;
        end else begin
          _T_514 <= _T_517;
        end
      end
    end
    if (_T_559) begin
      _T_527 <= io_in_a_bits_opcode;
    end
    if (_T_559) begin
      _T_529 <= io_in_a_bits_param;
    end
    if (_T_559) begin
      _T_531 <= io_in_a_bits_size;
    end
    if (_T_559) begin
      _T_533 <= io_in_a_bits_source;
    end
    if (_T_559) begin
      _T_535 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_569 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_573) begin
          _T_569 <= 1'h0;
        end else begin
          _T_569 <= _T_572;
        end
      end
    end
    if (_T_620) begin
      _T_582 <= io_in_d_bits_opcode;
    end
    if (_T_620) begin
      _T_584 <= io_in_d_bits_param;
    end
    if (_T_620) begin
      _T_586 <= io_in_d_bits_size;
    end
    if (_T_620) begin
      _T_588 <= io_in_d_bits_source;
    end
    if (_T_620) begin
      _T_590 <= io_in_d_bits_sink;
    end
    if (_T_620) begin
      _T_592 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_622 <= 64'h0;
    end else begin
      _T_622 <= _T_702;
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_654 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_658) begin
          _T_654 <= 1'h0;
        end else begin
          _T_654 <= _T_657;
        end
      end
    end
    if (reset) begin
      _T_704 <= 32'h0;
    end else begin
      if (_T_718) begin
        _T_704 <= 32'h0;
      end else begin
        _T_704 <= _T_715;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28517.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28518.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28589.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@28590.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28606.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28607.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28613.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28614.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28620.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28621.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28628.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28629.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28635.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28636.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28643.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28644.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28652.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28653.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28660.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28661.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28678.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28679.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28685.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28686.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28692.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28693.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28700.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28701.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28707.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28708.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28715.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28716.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28723.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28724.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28732.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28733.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28740.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28741.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28761.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28762.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28768.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28769.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28775.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28776.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28783.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28784.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28791.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28792.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28799.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28800.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28820.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28821.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28827.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28828.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28834.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28835.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28842.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28843.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28850.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28851.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28871.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28872.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28878.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28879.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28885.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28886.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28893.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28894.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28903.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28904.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28921.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28922.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28928.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28929.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28935.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28936.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28943.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28944.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28951.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28952.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28969.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28970.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28976.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28977.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28983.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28984.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28991.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28992.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@28999.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29000.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29017.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29018.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29024.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29025.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29031.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29032.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29039.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29040.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29047.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29048.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29058.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29059.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29079.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29080.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29087.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29088.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_374) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29095.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_374) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29096.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_378) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29103.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_378) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29104.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_382) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29111.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_382) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29112.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29121.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29122.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_107 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29128.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_107 & _T_103) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29129.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_107 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29136.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_107 & _T_370) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29137.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_107 & _T_397) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29144.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_107 & _T_397) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29145.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_107 & _T_401) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29152.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_107 & _T_401) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29153.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_107 & _T_378) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29160.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_107 & _T_378) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29161.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_107 & _T_382) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29169.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_107 & _T_382) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29170.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29179.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29180.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29186.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_103) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29187.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29194.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_370) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29195.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_397) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29202.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_397) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29203.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_401) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29210.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_401) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29211.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_434) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29219.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_434) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29220.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_382) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29228.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_382) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29229.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29238.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29239.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_131 & _T_374) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29246.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_131 & _T_374) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29247.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_131 & _T_378) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29254.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_131 & _T_378) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29255.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_131 & _T_382) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29263.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_131 & _T_382) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29264.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29273.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29274.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_374) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29281.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_374) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29282.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_434) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29290.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_434) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29291.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_382) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29299.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_382) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29300.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29309.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29310.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_143 & _T_374) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29317.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_143 & _T_374) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29318.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_143 & _T_378) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29325.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_143 & _T_378) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29326.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_143 & _T_382) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29334.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_143 & _T_382) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29335.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29344.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29345.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29352.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29353.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29360.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29361.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29400.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29401.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29408.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29409.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29416.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29417.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29424.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29425.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29432.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29433.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29482.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29483.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_602) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29490.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_602) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29491.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29498.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29499.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29506.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29507.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_614) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29514.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_614) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29515.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_618) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29522.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_618) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@29523.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29600.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29601.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29623.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29624.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_699) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 4 (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29635.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_699) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@29636.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_713) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29655.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_713) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29656.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module AsyncResetRegVec_w1_i0( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29678.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29679.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29680.4]
  input   io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29681.4]
  output  io_q, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29681.4]
  input   io_en // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29681.4]
);
  wire  reg_0_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@29686.4]
  wire  reg_0_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@29686.4]
  wire  reg_0_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@29686.4]
  wire  reg_0_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@29686.4]
  wire  reg_0_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@29686.4]
  AsyncResetReg #(.RESET_VALUE(0)) reg_0 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@29686.4]
    .rst(reg_0_rst),
    .clk(reg_0_clk),
    .en(reg_0_en),
    .q(reg_0_q),
    .d(reg_0_d)
  );
  assign io_q = reg_0_q; // @[AsyncResetReg.scala 73:8:shc.marmotcaravel.MarmotCaravelConfig.fir@29697.4]
  assign reg_0_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@29693.4]
  assign reg_0_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@29692.4]
  assign reg_0_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@29696.4]
  assign reg_0_d = io_d; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@29695.4]
endmodule
module AsyncResetSynchronizerShiftReg_w1_d3_i0( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29792.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29793.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29794.4]
  input   io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29795.4]
  output  io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29795.4]
);
  wire  sync_0_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29800.4]
  wire  sync_0_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29800.4]
  wire  sync_0_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29800.4]
  wire  sync_0_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29800.4]
  wire  sync_0_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29800.4]
  wire  sync_1_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29804.4]
  wire  sync_1_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29804.4]
  wire  sync_1_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29804.4]
  wire  sync_1_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29804.4]
  wire  sync_1_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29804.4]
  wire  sync_2_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29808.4]
  wire  sync_2_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29808.4]
  wire  sync_2_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29808.4]
  wire  sync_2_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29808.4]
  wire  sync_2_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29808.4]
  AsyncResetRegVec_w1_i0 sync_0 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29800.4]
    .clock(sync_0_clock),
    .reset(sync_0_reset),
    .io_d(sync_0_io_d),
    .io_q(sync_0_io_q),
    .io_en(sync_0_io_en)
  );
  AsyncResetRegVec_w1_i0 sync_1 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29804.4]
    .clock(sync_1_clock),
    .reset(sync_1_reset),
    .io_d(sync_1_io_d),
    .io_q(sync_1_io_q),
    .io_en(sync_1_io_en)
  );
  AsyncResetRegVec_w1_i0 sync_2 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@29808.4]
    .clock(sync_2_clock),
    .reset(sync_2_reset),
    .io_d(sync_2_io_d),
    .io_q(sync_2_io_q),
    .io_en(sync_2_io_en)
  );
  assign io_q = sync_0_io_q; // @[ShiftReg.scala 70:8:shc.marmotcaravel.MarmotCaravelConfig.fir@29818.4]
  assign sync_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29802.4]
  assign sync_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29803.4]
  assign sync_0_io_d = sync_1_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@29814.4]
  assign sync_0_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@29815.4]
  assign sync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29806.4]
  assign sync_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29807.4]
  assign sync_1_io_d = sync_2_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@29816.4]
  assign sync_1_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@29817.4]
  assign sync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29810.4]
  assign sync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@29811.4]
  assign sync_2_io_d = io_d; // @[ShiftReg.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@29812.4]
  assign sync_2_io_en = 1'h1; // @[ShiftReg.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@29813.4]
endmodule
module AsyncResetSynchronizerShiftReg_w1_d4_i0( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30006.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30007.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30008.4]
  input   io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30009.4]
  output  io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30009.4]
);
  wire  sync_0_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30014.4]
  wire  sync_0_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30014.4]
  wire  sync_0_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30014.4]
  wire  sync_0_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30014.4]
  wire  sync_0_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30014.4]
  wire  sync_1_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30018.4]
  wire  sync_1_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30018.4]
  wire  sync_1_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30018.4]
  wire  sync_1_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30018.4]
  wire  sync_1_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30018.4]
  wire  sync_2_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30022.4]
  wire  sync_2_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30022.4]
  wire  sync_2_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30022.4]
  wire  sync_2_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30022.4]
  wire  sync_2_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30022.4]
  wire  sync_3_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30026.4]
  wire  sync_3_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30026.4]
  wire  sync_3_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30026.4]
  wire  sync_3_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30026.4]
  wire  sync_3_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30026.4]
  AsyncResetRegVec_w1_i0 sync_0 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30014.4]
    .clock(sync_0_clock),
    .reset(sync_0_reset),
    .io_d(sync_0_io_d),
    .io_q(sync_0_io_q),
    .io_en(sync_0_io_en)
  );
  AsyncResetRegVec_w1_i0 sync_1 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30018.4]
    .clock(sync_1_clock),
    .reset(sync_1_reset),
    .io_d(sync_1_io_d),
    .io_q(sync_1_io_q),
    .io_en(sync_1_io_en)
  );
  AsyncResetRegVec_w1_i0 sync_2 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30022.4]
    .clock(sync_2_clock),
    .reset(sync_2_reset),
    .io_d(sync_2_io_d),
    .io_q(sync_2_io_q),
    .io_en(sync_2_io_en)
  );
  AsyncResetRegVec_w1_i0 sync_3 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30026.4]
    .clock(sync_3_clock),
    .reset(sync_3_reset),
    .io_d(sync_3_io_d),
    .io_q(sync_3_io_q),
    .io_en(sync_3_io_en)
  );
  assign io_q = sync_0_io_q; // @[ShiftReg.scala 70:8:shc.marmotcaravel.MarmotCaravelConfig.fir@30038.4]
  assign sync_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30016.4]
  assign sync_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30017.4]
  assign sync_0_io_d = sync_1_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@30032.4]
  assign sync_0_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30033.4]
  assign sync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30020.4]
  assign sync_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30021.4]
  assign sync_1_io_d = sync_2_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@30034.4]
  assign sync_1_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30035.4]
  assign sync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30024.4]
  assign sync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30025.4]
  assign sync_2_io_d = sync_3_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@30036.4]
  assign sync_2_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30037.4]
  assign sync_3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30028.4]
  assign sync_3_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30029.4]
  assign sync_3_io_d = io_d; // @[ShiftReg.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@30030.4]
  assign sync_3_io_en = 1'h1; // @[ShiftReg.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@30031.4]
endmodule
module AsyncValidSync( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30040.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30041.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30042.4]
  output  io_out // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30043.4]
);
  wire  source_valid_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30045.4]
  wire  source_valid_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30045.4]
  wire  source_valid_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30045.4]
  wire  source_valid_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30045.4]
  AsyncResetSynchronizerShiftReg_w1_d4_i0 source_valid ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30045.4]
    .clock(source_valid_clock),
    .reset(source_valid_reset),
    .io_d(source_valid_io_d),
    .io_q(source_valid_io_q)
  );
  assign io_out = source_valid_io_q; // @[AsyncQueue.scala 63:10:shc.marmotcaravel.MarmotCaravelConfig.fir@30053.4]
  assign source_valid_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30047.4]
  assign source_valid_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30048.4]
  assign source_valid_io_d = 1'h1; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30049.4]
endmodule
module AsyncResetSynchronizerShiftReg_w1_d1_i0( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30086.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30087.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30088.4]
  input   io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30089.4]
  output  io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30089.4]
);
  wire  sync_0_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30094.4]
  wire  sync_0_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30094.4]
  wire  sync_0_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30094.4]
  wire  sync_0_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30094.4]
  wire  sync_0_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30094.4]
  AsyncResetRegVec_w1_i0 sync_0 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@30094.4]
    .clock(sync_0_clock),
    .reset(sync_0_reset),
    .io_d(sync_0_io_d),
    .io_q(sync_0_io_q),
    .io_en(sync_0_io_en)
  );
  assign io_q = sync_0_io_q; // @[ShiftReg.scala 70:8:shc.marmotcaravel.MarmotCaravelConfig.fir@30100.4]
  assign sync_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30096.4]
  assign sync_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30097.4]
  assign sync_0_io_d = io_d; // @[ShiftReg.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@30098.4]
  assign sync_0_io_en = 1'h1; // @[ShiftReg.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@30099.4]
endmodule
module AsyncValidSync_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30102.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30103.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30104.4]
  input   io_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30105.4]
  output  io_out // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30105.4]
);
  wire  sink_extend_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30107.4]
  wire  sink_extend_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30107.4]
  wire  sink_extend_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30107.4]
  wire  sink_extend_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30107.4]
  AsyncResetSynchronizerShiftReg_w1_d1_i0 sink_extend ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30107.4]
    .clock(sink_extend_clock),
    .reset(sink_extend_reset),
    .io_d(sink_extend_io_d),
    .io_q(sink_extend_io_q)
  );
  assign io_out = sink_extend_io_q; // @[AsyncQueue.scala 63:10:shc.marmotcaravel.MarmotCaravelConfig.fir@30115.4]
  assign sink_extend_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30109.4]
  assign sink_extend_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30110.4]
  assign sink_extend_io_d = io_in; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30111.4]
endmodule
module AsyncValidSync_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30238.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30239.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30240.4]
  input   io_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30241.4]
  output  io_out // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30241.4]
);
  wire  sink_valid_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30243.4]
  wire  sink_valid_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30243.4]
  wire  sink_valid_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30243.4]
  wire  sink_valid_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30243.4]
  AsyncResetSynchronizerShiftReg_w1_d3_i0 sink_valid ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30243.4]
    .clock(sink_valid_clock),
    .reset(sink_valid_reset),
    .io_d(sink_valid_io_d),
    .io_q(sink_valid_io_q)
  );
  assign io_out = sink_valid_io_q; // @[AsyncQueue.scala 63:10:shc.marmotcaravel.MarmotCaravelConfig.fir@30251.4]
  assign sink_valid_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30245.4]
  assign sink_valid_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30246.4]
  assign sink_valid_io_d = io_in; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30247.4]
endmodule
module AsyncQueueSource( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30253.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30254.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30255.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
  input  [1:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
  input  [5:0]  io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
  input  [28:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
  output [2:0]  io_async_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
  output [2:0]  io_async_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
  output [1:0]  io_async_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
  output [5:0]  io_async_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
  output [28:0] io_async_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
  output [3:0]  io_async_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
  output [31:0] io_async_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
  output        io_async_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
  input         io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
  output        io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
  input         io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
  output        io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
  output        io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
  input         io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30256.4]
);
  wire  widx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30264.4]
  wire  widx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30264.4]
  wire  widx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30264.4]
  wire  widx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30264.4]
  wire  widx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30264.4]
  wire  ridx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30276.4]
  wire  ridx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30276.4]
  wire  ridx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30276.4]
  wire  ridx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30276.4]
  wire  ready_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30298.4]
  wire  ready_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30298.4]
  wire  ready_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30298.4]
  wire  ready_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30298.4]
  wire  ready_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30298.4]
  wire  widx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30307.4]
  wire  widx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30307.4]
  wire  widx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30307.4]
  wire  widx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30307.4]
  wire  widx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30307.4]
  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30322.4]
  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30322.4]
  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30322.4]
  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30325.4]
  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30325.4]
  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30325.4]
  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30325.4]
  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30328.4]
  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30328.4]
  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30328.4]
  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30328.4]
  reg [2:0] mem_0_opcode; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30260.4]
  reg [31:0] _RAND_0;
  reg [2:0] mem_0_param; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30260.4]
  reg [31:0] _RAND_1;
  reg [1:0] mem_0_size; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30260.4]
  reg [31:0] _RAND_2;
  reg [5:0] mem_0_source; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30260.4]
  reg [31:0] _RAND_3;
  reg [28:0] mem_0_address; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30260.4]
  reg [31:0] _RAND_4;
  reg [3:0] mem_0_mask; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30260.4]
  reg [31:0] _RAND_5;
  reg [31:0] mem_0_data; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30260.4]
  reg [31:0] _RAND_6;
  reg  mem_0_corrupt; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30260.4]
  reg [31:0] _RAND_7;
  wire  _T_43; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@30261.4]
  wire  sink_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30258.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@30259.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30343.4]
  wire  _T_44; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@30262.4]
  wire  _T_48; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@30271.4]
  wire  widx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30272.4]
  wire  ridx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@30281.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@30283.4]
  wire  _T_52; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@30284.4]
  wire  _T_53; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@30285.4]
  wire  ready_reg_1; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@30304.4]
  wire  _T_58; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@30332.4]
  AsyncResetRegVec_w1_i0 widx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30264.4]
    .clock(widx_bin_clock),
    .reset(widx_bin_reset),
    .io_d(widx_bin_io_d),
    .io_q(widx_bin_io_q),
    .io_en(widx_bin_io_en)
  );
  AsyncResetSynchronizerShiftReg_w1_d3_i0 ridx_gray ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30276.4]
    .clock(ridx_gray_clock),
    .reset(ridx_gray_reset),
    .io_d(ridx_gray_io_d),
    .io_q(ridx_gray_io_q)
  );
  AsyncResetRegVec_w1_i0 ready_reg ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30298.4]
    .clock(ready_reg_clock),
    .reset(ready_reg_reset),
    .io_d(ready_reg_io_d),
    .io_q(ready_reg_io_q),
    .io_en(ready_reg_io_en)
  );
  AsyncResetRegVec_w1_i0 widx_gray ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30307.4]
    .clock(widx_gray_clock),
    .reset(widx_gray_reset),
    .io_d(widx_gray_io_d),
    .io_q(widx_gray_io_q),
    .io_en(widx_gray_io_en)
  );
  AsyncValidSync AsyncValidSync ( // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30322.4]
    .clock(AsyncValidSync_clock),
    .reset(AsyncValidSync_reset),
    .io_out(AsyncValidSync_io_out)
  );
  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30325.4]
    .clock(AsyncValidSync_1_clock),
    .reset(AsyncValidSync_1_reset),
    .io_in(AsyncValidSync_1_io_in),
    .io_out(AsyncValidSync_1_io_out)
  );
  AsyncValidSync_2 AsyncValidSync_2 ( // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@30328.4]
    .clock(AsyncValidSync_2_clock),
    .reset(AsyncValidSync_2_reset),
    .io_in(AsyncValidSync_2_io_in),
    .io_out(AsyncValidSync_2_io_out)
  );
  assign _T_43 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@30261.4]
  assign sink_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30258.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@30259.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30343.4]
  assign _T_44 = sink_ready == 1'h0; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@30262.4]
  assign _T_48 = widx_bin_io_q + _T_43; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@30271.4]
  assign widx = _T_44 ? 1'h0 : _T_48; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30272.4]
  assign ridx = ridx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@30281.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@30283.4]
  assign _T_52 = ridx ^ 1'h1; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@30284.4]
  assign _T_53 = widx != _T_52; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@30285.4]
  assign ready_reg_1 = ready_reg_io_q; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@30304.4]
  assign _T_58 = io_async_safe_sink_reset_n == 1'h0; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@30332.4]
  assign io_enq_ready = ready_reg_1 & sink_ready; // @[AsyncQueue.scala 85:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30306.4]
  assign io_async_mem_0_opcode = mem_0_opcode; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@30321.4]
  assign io_async_mem_0_param = mem_0_param; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@30320.4]
  assign io_async_mem_0_size = mem_0_size; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@30319.4]
  assign io_async_mem_0_source = mem_0_source; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@30318.4]
  assign io_async_mem_0_address = mem_0_address; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@30317.4]
  assign io_async_mem_0_mask = mem_0_mask; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@30316.4]
  assign io_async_mem_0_data = mem_0_data; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@30315.4]
  assign io_async_mem_0_corrupt = mem_0_corrupt; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@30314.4]
  assign io_async_widx = widx_gray_io_q; // @[AsyncQueue.scala 88:17:shc.marmotcaravel.MarmotCaravelConfig.fir@30313.4]
  assign io_async_safe_widx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 103:20:shc.marmotcaravel.MarmotCaravelConfig.fir@30340.4]
  assign io_async_safe_source_reset_n = reset == 1'h0; // @[AsyncQueue.scala 107:24:shc.marmotcaravel.MarmotCaravelConfig.fir@30346.4]
  assign widx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30266.4]
  assign widx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30267.4]
  assign widx_bin_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@30268.4]
  assign widx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@30269.4]
  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30278.4]
  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30279.4]
  assign ridx_gray_io_d = io_async_ridx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30280.4]
  assign ready_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30300.4]
  assign ready_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30301.4]
  assign ready_reg_io_d = sink_ready & _T_53; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@30302.4]
  assign ready_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@30303.4]
  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30309.4]
  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30310.4]
  assign widx_gray_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@30311.4]
  assign widx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@30312.4]
  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30323.4]
  assign AsyncValidSync_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30324.4 AsyncQueue.scala 99:24:shc.marmotcaravel.MarmotCaravelConfig.fir@30334.4]
  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30326.4]
  assign AsyncValidSync_1_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30327.4 AsyncQueue.scala 100:24:shc.marmotcaravel.MarmotCaravelConfig.fir@30338.4]
  assign AsyncValidSync_1_io_in = io_async_safe_ridx_valid; // @[AsyncQueue.scala 104:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30341.4]
  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30329.4]
  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30330.4]
  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 105:22:shc.marmotcaravel.MarmotCaravelConfig.fir@30342.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  mem_0_opcode = _RAND_0[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  mem_0_param = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  mem_0_size = _RAND_2[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  mem_0_source = _RAND_3[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  mem_0_address = _RAND_4[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  mem_0_mask = _RAND_5[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  mem_0_data = _RAND_6[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  mem_0_corrupt = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (_T_43) begin
      mem_0_opcode <= io_enq_bits_opcode;
    end
    if (_T_43) begin
      mem_0_param <= io_enq_bits_param;
    end
    if (_T_43) begin
      mem_0_size <= io_enq_bits_size;
    end
    if (_T_43) begin
      mem_0_source <= io_enq_bits_source;
    end
    if (_T_43) begin
      mem_0_address <= io_enq_bits_address;
    end
    if (_T_43) begin
      mem_0_mask <= io_enq_bits_mask;
    end
    if (_T_43) begin
      mem_0_data <= io_enq_bits_data;
    end
    if (_T_43) begin
      mem_0_corrupt <= io_enq_bits_corrupt;
    end
  end
endmodule
module SynchronizerShiftReg_w48_d1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30500.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30501.4]
  input  [47:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30503.4]
  output [47:0] io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30503.4]
);
  reg [47:0] sync_0; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@30508.4]
  reg [63:0] _RAND_0;
  assign io_q = sync_0; // @[ShiftReg.scala 123:8:shc.marmotcaravel.MarmotCaravelConfig.fir@30510.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {2{`RANDOM}};
  sync_0 = _RAND_0[47:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    sync_0 <= io_d;
  end
endmodule
module AsyncQueueSink( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30976.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30977.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30978.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
  output [1:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
  output [1:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
  output [5:0]  io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
  output        io_deq_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
  output        io_deq_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
  output        io_deq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
  input  [2:0]  io_async_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
  input  [1:0]  io_async_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
  input  [1:0]  io_async_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
  input  [5:0]  io_async_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
  input         io_async_mem_0_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
  input         io_async_mem_0_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
  input  [31:0] io_async_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
  input         io_async_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
  output        io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
  input         io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
  output        io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
  input         io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
  input         io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
  output        io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30979.4]
);
  wire  ridx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30986.4]
  wire  ridx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30986.4]
  wire  ridx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30986.4]
  wire  ridx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30986.4]
  wire  ridx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30986.4]
  wire  widx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30998.4]
  wire  widx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30998.4]
  wire  widx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30998.4]
  wire  widx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30998.4]
  wire  deq_bits_reg_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@31009.4]
  wire [47:0] deq_bits_reg_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@31009.4]
  wire [47:0] deq_bits_reg_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@31009.4]
  wire  valid_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31050.4]
  wire  valid_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31050.4]
  wire  valid_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31050.4]
  wire  valid_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31050.4]
  wire  valid_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31050.4]
  wire  ridx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31059.4]
  wire  ridx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31059.4]
  wire  ridx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31059.4]
  wire  ridx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31059.4]
  wire  ridx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31059.4]
  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31066.4]
  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31066.4]
  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31066.4]
  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31069.4]
  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31069.4]
  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31069.4]
  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31069.4]
  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31072.4]
  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31072.4]
  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31072.4]
  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31072.4]
  wire  AsyncResetRegVec_w1_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31101.4]
  wire  AsyncResetRegVec_w1_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31101.4]
  wire  AsyncResetRegVec_w1_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31101.4]
  wire  AsyncResetRegVec_w1_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31101.4]
  wire  AsyncResetRegVec_w1_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31101.4]
  wire  _T_58; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@30983.4]
  wire  source_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30981.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@30982.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@31087.4]
  wire  _T_59; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@30984.4]
  wire  _T_63; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@30993.4]
  wire  ridx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30994.4]
  wire  widx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31003.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31005.4]
  wire  _T_67; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@31006.4]
  wire  valid; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31007.4]
  wire [2:0] deq_bits_nxt_opcode; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
  wire [1:0] deq_bits_nxt_param; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
  wire [1:0] deq_bits_nxt_size; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
  wire [5:0] deq_bits_nxt_source; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
  wire  deq_bits_nxt_sink; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
  wire  deq_bits_nxt_denied; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
  wire [31:0] deq_bits_nxt_data; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
  wire  deq_bits_nxt_corrupt; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
  wire [32:0] _T_69; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31013.4]
  wire [1:0] _T_70; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31014.4]
  wire [34:0] _T_71; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31015.4]
  wire [7:0] _T_72; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31016.4]
  wire [4:0] _T_73; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31017.4]
  wire [12:0] _T_74; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31018.4]
  wire [47:0] _T_79; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31023.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@31025.4]
  wire  valid_reg_1; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@31056.4]
  wire  _T_90; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@31076.4]
  AsyncResetRegVec_w1_i0 ridx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@30986.4]
    .clock(ridx_bin_clock),
    .reset(ridx_bin_reset),
    .io_d(ridx_bin_io_d),
    .io_q(ridx_bin_io_q),
    .io_en(ridx_bin_io_en)
  );
  AsyncResetSynchronizerShiftReg_w1_d3_i0 widx_gray ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30998.4]
    .clock(widx_gray_clock),
    .reset(widx_gray_reset),
    .io_d(widx_gray_io_d),
    .io_q(widx_gray_io_q)
  );
  SynchronizerShiftReg_w48_d1 deq_bits_reg ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@31009.4]
    .clock(deq_bits_reg_clock),
    .io_d(deq_bits_reg_io_d),
    .io_q(deq_bits_reg_io_q)
  );
  AsyncResetRegVec_w1_i0 valid_reg ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31050.4]
    .clock(valid_reg_clock),
    .reset(valid_reg_reset),
    .io_d(valid_reg_io_d),
    .io_q(valid_reg_io_q),
    .io_en(valid_reg_io_en)
  );
  AsyncResetRegVec_w1_i0 ridx_gray ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31059.4]
    .clock(ridx_gray_clock),
    .reset(ridx_gray_reset),
    .io_d(ridx_gray_io_d),
    .io_q(ridx_gray_io_q),
    .io_en(ridx_gray_io_en)
  );
  AsyncValidSync AsyncValidSync ( // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31066.4]
    .clock(AsyncValidSync_clock),
    .reset(AsyncValidSync_reset),
    .io_out(AsyncValidSync_io_out)
  );
  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31069.4]
    .clock(AsyncValidSync_1_clock),
    .reset(AsyncValidSync_1_reset),
    .io_in(AsyncValidSync_1_io_in),
    .io_out(AsyncValidSync_1_io_out)
  );
  AsyncValidSync_2 AsyncValidSync_2 ( // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31072.4]
    .clock(AsyncValidSync_2_clock),
    .reset(AsyncValidSync_2_reset),
    .io_in(AsyncValidSync_2_io_in),
    .io_out(AsyncValidSync_2_io_out)
  );
  AsyncResetRegVec_w1_i0 AsyncResetRegVec_w1_i0 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31101.4]
    .clock(AsyncResetRegVec_w1_i0_clock),
    .reset(AsyncResetRegVec_w1_i0_reset),
    .io_d(AsyncResetRegVec_w1_i0_io_d),
    .io_q(AsyncResetRegVec_w1_i0_io_q),
    .io_en(AsyncResetRegVec_w1_i0_io_en)
  );
  assign _T_58 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@30983.4]
  assign source_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30981.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@30982.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@31087.4]
  assign _T_59 = source_ready == 1'h0; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@30984.4]
  assign _T_63 = ridx_bin_io_q + _T_58; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@30993.4]
  assign ridx = _T_59 ? 1'h0 : _T_63; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@30994.4]
  assign widx = widx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31003.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31005.4]
  assign _T_67 = ridx != widx; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@31006.4]
  assign valid = source_ready & _T_67; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31007.4]
  assign deq_bits_nxt_opcode = valid ? io_async_mem_0_opcode : io_deq_bits_opcode; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
  assign deq_bits_nxt_param = valid ? io_async_mem_0_param : io_deq_bits_param; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
  assign deq_bits_nxt_size = valid ? io_async_mem_0_size : io_deq_bits_size; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
  assign deq_bits_nxt_source = valid ? io_async_mem_0_source : io_deq_bits_source; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
  assign deq_bits_nxt_sink = valid ? io_async_mem_0_sink : io_deq_bits_sink; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
  assign deq_bits_nxt_denied = valid ? io_async_mem_0_denied : io_deq_bits_denied; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
  assign deq_bits_nxt_data = valid ? io_async_mem_0_data : io_deq_bits_data; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
  assign deq_bits_nxt_corrupt = valid ? io_async_mem_0_corrupt : io_deq_bits_corrupt; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31008.4]
  assign _T_69 = {deq_bits_nxt_data,deq_bits_nxt_corrupt}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31013.4]
  assign _T_70 = {deq_bits_nxt_sink,deq_bits_nxt_denied}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31014.4]
  assign _T_71 = {_T_70,_T_69}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31015.4]
  assign _T_72 = {deq_bits_nxt_size,deq_bits_nxt_source}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31016.4]
  assign _T_73 = {deq_bits_nxt_opcode,deq_bits_nxt_param}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31017.4]
  assign _T_74 = {_T_73,_T_72}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31018.4]
  assign _T_79 = deq_bits_reg_io_q; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31023.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@31025.4]
  assign valid_reg_1 = valid_reg_io_q; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@31056.4]
  assign _T_90 = io_async_safe_source_reset_n == 1'h0; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@31076.4]
  assign io_deq_valid = valid_reg_1 & source_ready; // @[AsyncQueue.scala 148:16:shc.marmotcaravel.MarmotCaravelConfig.fir@31058.4]
  assign io_deq_bits_opcode = _T_79[47:45]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31049.4]
  assign io_deq_bits_param = _T_79[44:43]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31048.4]
  assign io_deq_bits_size = _T_79[42:41]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31047.4]
  assign io_deq_bits_source = _T_79[40:35]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31046.4]
  assign io_deq_bits_sink = _T_79[34]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31045.4]
  assign io_deq_bits_denied = _T_79[33]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31044.4]
  assign io_deq_bits_data = _T_79[32:1]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31043.4]
  assign io_deq_bits_corrupt = _T_79[0]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31042.4]
  assign io_async_ridx = ridx_gray_io_q; // @[AsyncQueue.scala 151:17:shc.marmotcaravel.MarmotCaravelConfig.fir@31065.4]
  assign io_async_safe_ridx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 161:20:shc.marmotcaravel.MarmotCaravelConfig.fir@31084.4]
  assign io_async_safe_sink_reset_n = reset == 1'h0; // @[AsyncQueue.scala 165:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31090.4]
  assign ridx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30988.4]
  assign ridx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@30989.4]
  assign ridx_bin_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@30990.4]
  assign ridx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@30991.4]
  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31000.4]
  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31001.4]
  assign widx_gray_io_d = io_async_widx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@31002.4]
  assign deq_bits_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31011.4]
  assign deq_bits_reg_io_d = {_T_74,_T_71}; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@31020.4]
  assign valid_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31052.4]
  assign valid_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31053.4]
  assign valid_reg_io_d = source_ready & _T_67; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31054.4]
  assign valid_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31055.4]
  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31061.4]
  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31062.4]
  assign ridx_gray_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31063.4]
  assign ridx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31064.4]
  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31067.4]
  assign AsyncValidSync_reset = reset | _T_90; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31068.4 AsyncQueue.scala 157:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31078.4]
  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31070.4]
  assign AsyncValidSync_1_reset = reset | _T_90; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31071.4 AsyncQueue.scala 158:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31082.4]
  assign AsyncValidSync_1_io_in = io_async_safe_widx_valid; // @[AsyncQueue.scala 162:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31085.4]
  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31073.4]
  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31074.4]
  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 163:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31086.4]
  assign AsyncResetRegVec_w1_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31103.4]
  assign AsyncResetRegVec_w1_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31104.4]
  assign AsyncResetRegVec_w1_i0_io_d = io_async_widx == io_async_ridx; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31105.4]
  assign AsyncResetRegVec_w1_i0_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31106.4]
endmodule
module TLAsyncCrossingSource( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31108.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31109.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31110.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  output [2:0]  auto_out_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  output [2:0]  auto_out_a_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  output [1:0]  auto_out_a_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  output [5:0]  auto_out_a_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  output [28:0] auto_out_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  output [3:0]  auto_out_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  output [31:0] auto_out_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  output        auto_out_a_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  input         auto_out_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  output        auto_out_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  input         auto_out_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  output        auto_out_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  output        auto_out_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  input         auto_out_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  input  [2:0]  auto_out_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  input  [1:0]  auto_out_d_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  input  [1:0]  auto_out_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  input  [5:0]  auto_out_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  input         auto_out_d_mem_0_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  input         auto_out_d_mem_0_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  input  [31:0] auto_out_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  input         auto_out_d_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  output        auto_out_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  input         auto_out_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  output        auto_out_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  input         auto_out_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  input         auto_out_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
  output        auto_out_d_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31111.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
  wire  AsyncQueueSource_clock; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
  wire  AsyncQueueSource_reset; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
  wire  AsyncQueueSource_io_enq_ready; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
  wire  AsyncQueueSource_io_enq_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
  wire [2:0] AsyncQueueSource_io_enq_bits_opcode; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
  wire [2:0] AsyncQueueSource_io_enq_bits_param; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
  wire [1:0] AsyncQueueSource_io_enq_bits_size; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
  wire [5:0] AsyncQueueSource_io_enq_bits_source; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
  wire [28:0] AsyncQueueSource_io_enq_bits_address; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
  wire [3:0] AsyncQueueSource_io_enq_bits_mask; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
  wire [31:0] AsyncQueueSource_io_enq_bits_data; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
  wire  AsyncQueueSource_io_enq_bits_corrupt; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
  wire [2:0] AsyncQueueSource_io_async_mem_0_opcode; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
  wire [2:0] AsyncQueueSource_io_async_mem_0_param; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
  wire [1:0] AsyncQueueSource_io_async_mem_0_size; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
  wire [5:0] AsyncQueueSource_io_async_mem_0_source; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
  wire [28:0] AsyncQueueSource_io_async_mem_0_address; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
  wire [3:0] AsyncQueueSource_io_async_mem_0_mask; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
  wire [31:0] AsyncQueueSource_io_async_mem_0_data; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
  wire  AsyncQueueSource_io_async_mem_0_corrupt; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
  wire  AsyncQueueSource_io_async_ridx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
  wire  AsyncQueueSource_io_async_widx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
  wire  AsyncQueueSource_io_async_safe_ridx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
  wire  AsyncQueueSource_io_async_safe_widx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
  wire  AsyncQueueSource_io_async_safe_source_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
  wire  AsyncQueueSource_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
  wire  AsyncQueueSink_clock; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
  wire  AsyncQueueSink_reset; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
  wire  AsyncQueueSink_io_deq_ready; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
  wire  AsyncQueueSink_io_deq_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
  wire [2:0] AsyncQueueSink_io_deq_bits_opcode; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
  wire [1:0] AsyncQueueSink_io_deq_bits_param; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
  wire [1:0] AsyncQueueSink_io_deq_bits_size; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
  wire [5:0] AsyncQueueSink_io_deq_bits_source; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
  wire  AsyncQueueSink_io_deq_bits_sink; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
  wire  AsyncQueueSink_io_deq_bits_denied; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
  wire [31:0] AsyncQueueSink_io_deq_bits_data; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
  wire  AsyncQueueSink_io_deq_bits_corrupt; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
  wire [2:0] AsyncQueueSink_io_async_mem_0_opcode; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
  wire [1:0] AsyncQueueSink_io_async_mem_0_param; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
  wire [1:0] AsyncQueueSink_io_async_mem_0_size; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
  wire [5:0] AsyncQueueSink_io_async_mem_0_source; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
  wire  AsyncQueueSink_io_async_mem_0_sink; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
  wire  AsyncQueueSink_io_async_mem_0_denied; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
  wire [31:0] AsyncQueueSink_io_async_mem_0_data; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
  wire  AsyncQueueSink_io_async_mem_0_corrupt; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
  wire  AsyncQueueSink_io_async_ridx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
  wire  AsyncQueueSink_io_async_widx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
  wire  AsyncQueueSink_io_async_safe_ridx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
  wire  AsyncQueueSink_io_async_safe_widx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
  wire  AsyncQueueSink_io_async_safe_source_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
  wire  AsyncQueueSink_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
  TLMonitor_17 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31118.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
  );
  AsyncQueueSource AsyncQueueSource ( // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31159.4]
    .clock(AsyncQueueSource_clock),
    .reset(AsyncQueueSource_reset),
    .io_enq_ready(AsyncQueueSource_io_enq_ready),
    .io_enq_valid(AsyncQueueSource_io_enq_valid),
    .io_enq_bits_opcode(AsyncQueueSource_io_enq_bits_opcode),
    .io_enq_bits_param(AsyncQueueSource_io_enq_bits_param),
    .io_enq_bits_size(AsyncQueueSource_io_enq_bits_size),
    .io_enq_bits_source(AsyncQueueSource_io_enq_bits_source),
    .io_enq_bits_address(AsyncQueueSource_io_enq_bits_address),
    .io_enq_bits_mask(AsyncQueueSource_io_enq_bits_mask),
    .io_enq_bits_data(AsyncQueueSource_io_enq_bits_data),
    .io_enq_bits_corrupt(AsyncQueueSource_io_enq_bits_corrupt),
    .io_async_mem_0_opcode(AsyncQueueSource_io_async_mem_0_opcode),
    .io_async_mem_0_param(AsyncQueueSource_io_async_mem_0_param),
    .io_async_mem_0_size(AsyncQueueSource_io_async_mem_0_size),
    .io_async_mem_0_source(AsyncQueueSource_io_async_mem_0_source),
    .io_async_mem_0_address(AsyncQueueSource_io_async_mem_0_address),
    .io_async_mem_0_mask(AsyncQueueSource_io_async_mem_0_mask),
    .io_async_mem_0_data(AsyncQueueSource_io_async_mem_0_data),
    .io_async_mem_0_corrupt(AsyncQueueSource_io_async_mem_0_corrupt),
    .io_async_ridx(AsyncQueueSource_io_async_ridx),
    .io_async_widx(AsyncQueueSource_io_async_widx),
    .io_async_safe_ridx_valid(AsyncQueueSource_io_async_safe_ridx_valid),
    .io_async_safe_widx_valid(AsyncQueueSource_io_async_safe_widx_valid),
    .io_async_safe_source_reset_n(AsyncQueueSource_io_async_safe_source_reset_n),
    .io_async_safe_sink_reset_n(AsyncQueueSource_io_async_safe_sink_reset_n)
  );
  AsyncQueueSink AsyncQueueSink ( // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@31166.4]
    .clock(AsyncQueueSink_clock),
    .reset(AsyncQueueSink_reset),
    .io_deq_ready(AsyncQueueSink_io_deq_ready),
    .io_deq_valid(AsyncQueueSink_io_deq_valid),
    .io_deq_bits_opcode(AsyncQueueSink_io_deq_bits_opcode),
    .io_deq_bits_param(AsyncQueueSink_io_deq_bits_param),
    .io_deq_bits_size(AsyncQueueSink_io_deq_bits_size),
    .io_deq_bits_source(AsyncQueueSink_io_deq_bits_source),
    .io_deq_bits_sink(AsyncQueueSink_io_deq_bits_sink),
    .io_deq_bits_denied(AsyncQueueSink_io_deq_bits_denied),
    .io_deq_bits_data(AsyncQueueSink_io_deq_bits_data),
    .io_deq_bits_corrupt(AsyncQueueSink_io_deq_bits_corrupt),
    .io_async_mem_0_opcode(AsyncQueueSink_io_async_mem_0_opcode),
    .io_async_mem_0_param(AsyncQueueSink_io_async_mem_0_param),
    .io_async_mem_0_size(AsyncQueueSink_io_async_mem_0_size),
    .io_async_mem_0_source(AsyncQueueSink_io_async_mem_0_source),
    .io_async_mem_0_sink(AsyncQueueSink_io_async_mem_0_sink),
    .io_async_mem_0_denied(AsyncQueueSink_io_async_mem_0_denied),
    .io_async_mem_0_data(AsyncQueueSink_io_async_mem_0_data),
    .io_async_mem_0_corrupt(AsyncQueueSink_io_async_mem_0_corrupt),
    .io_async_ridx(AsyncQueueSink_io_async_ridx),
    .io_async_widx(AsyncQueueSink_io_async_widx),
    .io_async_safe_ridx_valid(AsyncQueueSink_io_async_safe_ridx_valid),
    .io_async_safe_widx_valid(AsyncQueueSink_io_async_safe_widx_valid),
    .io_async_safe_source_reset_n(AsyncQueueSink_io_async_safe_source_reset_n),
    .io_async_safe_sink_reset_n(AsyncQueueSink_io_async_safe_sink_reset_n)
  );
  assign auto_in_a_ready = AsyncQueueSource_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31158.4]
  assign auto_in_d_valid = AsyncQueueSink_io_deq_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31158.4]
  assign auto_in_d_bits_opcode = AsyncQueueSink_io_deq_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31158.4]
  assign auto_in_d_bits_param = AsyncQueueSink_io_deq_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31158.4]
  assign auto_in_d_bits_size = AsyncQueueSink_io_deq_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31158.4]
  assign auto_in_d_bits_source = AsyncQueueSink_io_deq_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31158.4]
  assign auto_in_d_bits_sink = AsyncQueueSink_io_deq_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31158.4]
  assign auto_in_d_bits_denied = AsyncQueueSink_io_deq_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31158.4]
  assign auto_in_d_bits_data = AsyncQueueSink_io_deq_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31158.4]
  assign auto_in_d_bits_corrupt = AsyncQueueSink_io_deq_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31158.4]
  assign auto_out_a_mem_0_opcode = AsyncQueueSource_io_async_mem_0_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
  assign auto_out_a_mem_0_param = AsyncQueueSource_io_async_mem_0_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
  assign auto_out_a_mem_0_size = AsyncQueueSource_io_async_mem_0_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
  assign auto_out_a_mem_0_source = AsyncQueueSource_io_async_mem_0_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
  assign auto_out_a_mem_0_address = AsyncQueueSource_io_async_mem_0_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
  assign auto_out_a_mem_0_mask = AsyncQueueSource_io_async_mem_0_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
  assign auto_out_a_mem_0_data = AsyncQueueSource_io_async_mem_0_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
  assign auto_out_a_mem_0_corrupt = AsyncQueueSource_io_async_mem_0_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
  assign auto_out_a_widx = AsyncQueueSource_io_async_widx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
  assign auto_out_a_safe_widx_valid = AsyncQueueSource_io_async_safe_widx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
  assign auto_out_a_safe_source_reset_n = AsyncQueueSource_io_async_safe_source_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
  assign auto_out_d_ridx = AsyncQueueSink_io_async_ridx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
  assign auto_out_d_safe_ridx_valid = AsyncQueueSink_io_async_safe_ridx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
  assign auto_out_d_safe_sink_reset_n = AsyncQueueSink_io_async_safe_sink_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31157.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31120.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31121.4]
  assign TLMonitor_io_in_a_ready = AsyncQueueSource_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
  assign TLMonitor_io_in_d_valid = AsyncQueueSink_io_deq_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
  assign TLMonitor_io_in_d_bits_opcode = AsyncQueueSink_io_deq_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
  assign TLMonitor_io_in_d_bits_param = AsyncQueueSink_io_deq_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
  assign TLMonitor_io_in_d_bits_size = AsyncQueueSink_io_deq_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
  assign TLMonitor_io_in_d_bits_source = AsyncQueueSink_io_deq_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
  assign TLMonitor_io_in_d_bits_sink = AsyncQueueSink_io_deq_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
  assign TLMonitor_io_in_d_bits_denied = AsyncQueueSink_io_deq_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
  assign TLMonitor_io_in_d_bits_corrupt = AsyncQueueSink_io_deq_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31154.4]
  assign AsyncQueueSource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31160.4]
  assign AsyncQueueSource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31161.4]
  assign AsyncQueueSource_io_enq_valid = auto_in_a_valid; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31163.4]
  assign AsyncQueueSource_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31162.4]
  assign AsyncQueueSource_io_enq_bits_param = auto_in_a_bits_param; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31162.4]
  assign AsyncQueueSource_io_enq_bits_size = auto_in_a_bits_size; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31162.4]
  assign AsyncQueueSource_io_enq_bits_source = auto_in_a_bits_source; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31162.4]
  assign AsyncQueueSource_io_enq_bits_address = auto_in_a_bits_address; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31162.4]
  assign AsyncQueueSource_io_enq_bits_mask = auto_in_a_bits_mask; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31162.4]
  assign AsyncQueueSource_io_enq_bits_data = auto_in_a_bits_data; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31162.4]
  assign AsyncQueueSource_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31162.4]
  assign AsyncQueueSource_io_async_ridx = auto_out_a_ridx; // @[AsyncCrossing.scala 25:13:shc.marmotcaravel.MarmotCaravelConfig.fir@31165.4]
  assign AsyncQueueSource_io_async_safe_ridx_valid = auto_out_a_safe_ridx_valid; // @[AsyncCrossing.scala 25:13:shc.marmotcaravel.MarmotCaravelConfig.fir@31165.4]
  assign AsyncQueueSource_io_async_safe_sink_reset_n = auto_out_a_safe_sink_reset_n; // @[AsyncCrossing.scala 25:13:shc.marmotcaravel.MarmotCaravelConfig.fir@31165.4]
  assign AsyncQueueSink_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31167.4]
  assign AsyncQueueSink_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31168.4]
  assign AsyncQueueSink_io_deq_ready = auto_in_d_ready; // @[AsyncCrossing.scala 26:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31176.4]
  assign AsyncQueueSink_io_async_mem_0_opcode = auto_out_d_mem_0_opcode; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31175.4]
  assign AsyncQueueSink_io_async_mem_0_param = auto_out_d_mem_0_param; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31175.4]
  assign AsyncQueueSink_io_async_mem_0_size = auto_out_d_mem_0_size; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31175.4]
  assign AsyncQueueSink_io_async_mem_0_source = auto_out_d_mem_0_source; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31175.4]
  assign AsyncQueueSink_io_async_mem_0_sink = auto_out_d_mem_0_sink; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31175.4]
  assign AsyncQueueSink_io_async_mem_0_denied = auto_out_d_mem_0_denied; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31175.4]
  assign AsyncQueueSink_io_async_mem_0_data = auto_out_d_mem_0_data; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31175.4]
  assign AsyncQueueSink_io_async_mem_0_corrupt = auto_out_d_mem_0_corrupt; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31175.4]
  assign AsyncQueueSink_io_async_widx = auto_out_d_widx; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31173.4]
  assign AsyncQueueSink_io_async_safe_widx_valid = auto_out_d_safe_widx_valid; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31171.4]
  assign AsyncQueueSink_io_async_safe_source_reset_n = auto_out_d_safe_source_reset_n; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@31170.4]
endmodule
module TLMonitor_18( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31207.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31208.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31209.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@31210.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@32342.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@31226.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@31231.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@31233.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@31234.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@31235.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@31236.6]
  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@31236.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31237.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31239.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31240.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@31242.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31243.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31244.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31245.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@31246.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31248.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31249.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31251.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31252.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31253.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31254.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@31255.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31256.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31257.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31258.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31259.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31260.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31261.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31262.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31263.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31264.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31265.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31266.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31267.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@31268.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@31269.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@31270.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31295.6]
  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31298.8]
  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31299.8]
  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@31300.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@31301.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@31302.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31307.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31320.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31321.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31328.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31329.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31335.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31336.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31341.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31343.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31344.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31349.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31350.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31352.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31353.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31358.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31360.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31361.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31367.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31421.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31423.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31424.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31447.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@31450.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@31458.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31461.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31462.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31481.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31483.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31484.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31489.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31491.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31492.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31506.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31557.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@31599.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31600.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@31601.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31603.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31604.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31610.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@31641.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31643.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31644.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31658.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@31689.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31691.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31692.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31706.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31756.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31758.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31759.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@31765.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@31770.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31772.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31775.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31776.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31781.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31783.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31784.8]
  wire  _T_365; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31789.8]
  wire  _T_367; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31791.8]
  wire  _T_368; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31792.8]
  wire  _T_369; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31797.8]
  wire  _T_371; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31799.8]
  wire  _T_372; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31800.8]
  wire  _T_373; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31805.8]
  wire  _T_375; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31807.8]
  wire  _T_376; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31808.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31814.6]
  wire  _T_388; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31838.8]
  wire  _T_390; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31840.8]
  wire  _T_391; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31841.8]
  wire  _T_392; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31846.8]
  wire  _T_394; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31848.8]
  wire  _T_395; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31849.8]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31872.6]
  wire  _T_425; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@31913.8]
  wire  _T_427; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31915.8]
  wire  _T_428; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31916.8]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31931.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31966.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32002.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32062.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@32067.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32068.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32069.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32071.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32072.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32073.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32074.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32075.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32086.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32087.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32088.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32089.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32090.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32091.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32092.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32094.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32096.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32097.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32102.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32104.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32105.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32110.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32112.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32113.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32118.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32120.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32121.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32126.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32128.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32129.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@32136.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32144.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32146.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32147.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32148.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@32149.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@32150.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32152.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32153.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32154.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32155.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32156.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32167.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_578; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32168.4]
  reg [31:0] _RAND_8;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32169.4]
  reg [31:0] _RAND_9;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32170.4]
  reg [31:0] _RAND_10;
  reg  _T_584; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32171.4]
  reg [31:0] _RAND_11;
  reg  _T_586; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32172.4]
  reg [31:0] _RAND_12;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32173.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32174.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32176.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32178.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32179.6]
  wire  _T_593; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32184.6]
  wire  _T_595; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32186.6]
  wire  _T_596; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32187.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32192.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32194.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32195.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32200.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32202.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32203.6]
  wire  _T_605; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32208.6]
  wire  _T_607; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32210.6]
  wire  _T_608; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32211.6]
  wire  _T_609; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32216.6]
  wire  _T_611; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32218.6]
  wire  _T_612; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32219.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@32226.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32235.4]
  reg [31:0] _RAND_13;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32245.4]
  reg [31:0] _RAND_14;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32246.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32247.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32248.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32249.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32268.4]
  reg [31:0] _RAND_15;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32269.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32270.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32271.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32272.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32287.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32290.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32292.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32293.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32294.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32296.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32297.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@32289.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32308.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@32310.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@32311.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32313.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@32315.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@32316.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@32317.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32319.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32320.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@32312.4]
  wire  _T_687; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@32326.4]
  wire  _T_688; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@32327.4]
  wire  _T_689; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@32328.4]
  wire  _T_690; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@32329.4]
  wire  _T_692; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32331.4]
  wire  _T_693; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32332.4]
  wire [1:0] _T_694; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32337.4]
  wire [1:0] _T_695; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32338.4]
  wire [1:0] _T_696; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@32339.4]
  reg [31:0] _T_698; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32341.4]
  reg [31:0] _RAND_16;
  wire  _T_699; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32344.4]
  wire  _T_700; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32345.4]
  wire  _T_701; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@32346.4]
  wire  _T_702; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32347.4]
  wire  _T_703; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@32348.4]
  wire  _T_704; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@32349.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32351.4]
  wire  _T_707; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32352.4]
  wire [31:0] _T_709; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32358.4]
  wire  _T_712; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32362.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31309.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31381.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31464.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31523.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31574.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31624.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31672.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31720.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31778.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31820.10]
  wire  _GEN_139; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31878.10]
  wire  _GEN_153; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31937.10]
  wire  _GEN_161; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31972.10]
  wire  _GEN_169; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32008.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@32342.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@31226.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@31231.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@31233.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@31234.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@31235.6]
  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@31236.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@31236.6]
  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31237.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31239.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31240.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@31242.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@31243.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31244.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31245.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@31246.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31248.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31249.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31251.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31252.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31253.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31254.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@31255.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31256.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31257.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31258.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31259.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31260.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31261.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31262.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31263.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31264.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31265.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@31266.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@31267.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@31268.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@31269.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@31270.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31295.6]
  assign _T_92 = io_in_a_bits_address ^ 29'h10000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@31298.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@31299.8]
  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@31300.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@31301.8]
  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@31302.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31307.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31320.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31321.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31328.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31329.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31335.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31336.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31341.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31343.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31344.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31349.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31350.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31352.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31353.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31358.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31360.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31361.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31367.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31421.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31423.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31424.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31447.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@31450.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@31458.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31461.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31462.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31481.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31483.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31484.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31489.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31491.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31492.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31506.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31557.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@31599.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31600.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@31601.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31603.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31604.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31610.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@31641.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31643.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31644.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31658.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@31689.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31691.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31692.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31706.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@31756.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31758.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31759.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@31765.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@31770.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31772.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31775.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31776.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@31781.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31783.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31784.8]
  assign _T_365 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31789.8]
  assign _T_367 = _T_365 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31791.8]
  assign _T_368 = _T_367 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31792.8]
  assign _T_369 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31797.8]
  assign _T_371 = _T_369 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31799.8]
  assign _T_372 = _T_371 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31800.8]
  assign _T_373 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@31805.8]
  assign _T_375 = _T_373 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31807.8]
  assign _T_376 = _T_375 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31808.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31814.6]
  assign _T_388 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@31838.8]
  assign _T_390 = _T_388 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31840.8]
  assign _T_391 = _T_390 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31841.8]
  assign _T_392 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@31846.8]
  assign _T_394 = _T_392 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31848.8]
  assign _T_395 = _T_394 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31849.8]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31872.6]
  assign _T_425 = _T_373 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@31913.8]
  assign _T_427 = _T_425 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31915.8]
  assign _T_428 = _T_427 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31916.8]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31931.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@31966.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32002.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32062.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@32067.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32068.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32069.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32072.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32073.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32074.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32075.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32091.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32092.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32094.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32096.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32097.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32102.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32104.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32105.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32110.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32112.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32113.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32118.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32120.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32121.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32126.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32128.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32129.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@32136.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32144.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32146.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32147.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32148.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@32149.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@32150.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32153.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32154.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32155.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32156.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32173.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32174.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32176.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32178.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32179.6]
  assign _T_593 = io_in_d_bits_param == _T_578; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32184.6]
  assign _T_595 = _T_593 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32186.6]
  assign _T_596 = _T_595 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32187.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32192.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32194.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32195.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32200.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32202.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32203.6]
  assign _T_605 = io_in_d_bits_sink == _T_584; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32208.6]
  assign _T_607 = _T_605 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32210.6]
  assign _T_608 = _T_607 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32211.6]
  assign _T_609 = io_in_d_bits_denied == _T_586; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32216.6]
  assign _T_611 = _T_609 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32218.6]
  assign _T_612 = _T_611 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32219.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@32226.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32246.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32247.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32248.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32249.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32269.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32270.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32271.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32272.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32287.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32290.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32292.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32293.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32294.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32296.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32297.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@32289.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32308.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@32310.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@32311.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32313.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@32315.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@32316.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@32317.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32319.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32320.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@32312.4]
  assign _T_687 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@32326.4]
  assign _T_688 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@32327.4]
  assign _T_689 = _T_688 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@32328.4]
  assign _T_690 = _T_687 | _T_689; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@32329.4]
  assign _T_692 = _T_690 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32331.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32332.4]
  assign _T_694 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32337.4]
  assign _T_695 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32338.4]
  assign _T_696 = _T_694 & _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@32339.4]
  assign _T_699 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32344.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32345.4]
  assign _T_701 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@32346.4]
  assign _T_702 = _T_700 | _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32347.4]
  assign _T_703 = _T_698 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@32348.4]
  assign _T_704 = _T_702 | _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@32349.4]
  assign _T_706 = _T_704 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32351.4]
  assign _T_707 = _T_706 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32352.4]
  assign _T_709 = _T_698 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32358.4]
  assign _T_712 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32362.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31309.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31381.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31464.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31523.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31574.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31624.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31672.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31720.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31778.10]
  assign _GEN_125 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31820.10]
  assign _GEN_139 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31878.10]
  assign _GEN_153 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31937.10]
  assign _GEN_161 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31972.10]
  assign _GEN_169 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32008.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_508 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_521 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_523 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_525 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_527 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_529 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_563 = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_576 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_578 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_580 = _RAND_9[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_582 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_584 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_586 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_616 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_627 = _RAND_14[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_648 = _RAND_15[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_698 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_508 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_512) begin
          if (_T_505) begin
            _T_508 <= _T_503;
          end else begin
            _T_508 <= 4'h0;
          end
        end else begin
          _T_508 <= _T_511;
        end
      end
    end
    if (_T_553) begin
      _T_521 <= io_in_a_bits_opcode;
    end
    if (_T_553) begin
      _T_523 <= io_in_a_bits_param;
    end
    if (_T_553) begin
      _T_525 <= io_in_a_bits_size;
    end
    if (_T_553) begin
      _T_527 <= io_in_a_bits_source;
    end
    if (_T_553) begin
      _T_529 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_563 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_567) begin
          if (_T_560) begin
            _T_563 <= _T_559;
          end else begin
            _T_563 <= 4'h0;
          end
        end else begin
          _T_563 <= _T_566;
        end
      end
    end
    if (_T_614) begin
      _T_576 <= io_in_d_bits_opcode;
    end
    if (_T_614) begin
      _T_578 <= io_in_d_bits_param;
    end
    if (_T_614) begin
      _T_580 <= io_in_d_bits_size;
    end
    if (_T_614) begin
      _T_582 <= io_in_d_bits_source;
    end
    if (_T_614) begin
      _T_584 <= io_in_d_bits_sink;
    end
    if (_T_614) begin
      _T_586 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_616 <= 2'h0;
    end else begin
      _T_616 <= _T_696;
    end
    if (reset) begin
      _T_627 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_631) begin
          if (_T_505) begin
            _T_627 <= _T_503;
          end else begin
            _T_627 <= 4'h0;
          end
        end else begin
          _T_627 <= _T_630;
        end
      end
    end
    if (reset) begin
      _T_648 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_652) begin
          if (_T_560) begin
            _T_648 <= _T_559;
          end else begin
            _T_648 <= 4'h0;
          end
        end else begin
          _T_648 <= _T_651;
        end
      end
    end
    if (reset) begin
      _T_698 <= 32'h0;
    end else begin
      if (_T_712) begin
        _T_698 <= 32'h0;
      end else begin
        _T_698 <= _T_709;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31222.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31223.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31292.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31293.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31309.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31310.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31316.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31317.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31323.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31324.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31331.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31332.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31338.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31339.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31346.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31347.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31355.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31356.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31363.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31364.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31381.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31382.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31388.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31389.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31395.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31396.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31403.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31404.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31410.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31411.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31418.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31419.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31426.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31427.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31435.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31436.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31443.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31444.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31464.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31465.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31471.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31472.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31478.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31479.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31486.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31487.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31494.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31495.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31502.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31503.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31523.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31524.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31530.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31531.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31537.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31538.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31545.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31546.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31553.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31554.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31574.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31575.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31581.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31582.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31588.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31589.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31596.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31597.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31606.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31607.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31624.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31625.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31631.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31632.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31638.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31639.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31646.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31647.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31654.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31655.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31672.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31673.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31679.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31680.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31686.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31687.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31694.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31695.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31702.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31703.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31720.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31721.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31727.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31728.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31734.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31735.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31742.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31743.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31750.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31751.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31761.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@31762.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31778.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31779.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31786.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31787.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_368) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31794.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_368) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31795.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_372) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31802.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_372) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31803.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_376) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31810.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_376) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31811.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31820.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31821.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31827.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31828.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31835.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31836.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_391) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31843.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_391) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31844.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_395) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31851.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_395) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31852.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_372) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31859.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_372) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31860.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_376) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31868.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_376) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31869.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_139 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31878.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_139 & _T_360) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31879.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_139 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31885.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_139 & _T_101) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31886.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_139 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31893.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_139 & _T_364) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31894.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_139 & _T_391) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31901.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_139 & _T_391) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31902.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_139 & _T_395) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31909.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_139 & _T_395) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31910.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_139 & _T_428) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31918.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_139 & _T_428) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31919.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_139 & _T_376) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31927.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_139 & _T_376) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31928.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_153 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31937.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_153 & _T_360) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31938.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_153 & _T_368) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31945.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_153 & _T_368) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31946.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_153 & _T_372) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31953.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_153 & _T_372) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31954.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_153 & _T_376) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31962.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_153 & _T_376) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31963.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31972.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_360) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31973.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_368) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31980.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_368) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31981.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_428) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31989.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_428) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31990.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_376) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31998.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_376) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@31999.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_169 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32008.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_169 & _T_360) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32009.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_169 & _T_368) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32016.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_169 & _T_368) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32017.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_169 & _T_372) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32024.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_169 & _T_372) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32025.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_169 & _T_376) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32033.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_169 & _T_376) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32034.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32043.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32044.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32051.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32052.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32059.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32060.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32099.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32100.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32107.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32108.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32115.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32116.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32123.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32124.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32131.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32132.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32181.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32182.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_596) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32189.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_596) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32190.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32197.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32198.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32205.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32206.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_608) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32213.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_608) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32214.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_612) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32221.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_612) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32222.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32299.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32300.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32322.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32323.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_693) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 4 (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32334.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_693) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32335.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_707) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:71:51)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32354.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_707) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32355.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Repeater_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32367.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32368.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32369.4]
  input         io_repeat, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
  output        io_full, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
  input  [28:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
  output [28:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32370.4]
);
  reg  full; // @[Repeater.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@32375.4]
  reg [31:0] _RAND_0;
  reg [2:0] saved_opcode; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32376.4]
  reg [31:0] _RAND_1;
  reg [2:0] saved_param; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32376.4]
  reg [31:0] _RAND_2;
  reg [2:0] saved_size; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32376.4]
  reg [31:0] _RAND_3;
  reg  saved_source; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32376.4]
  reg [31:0] _RAND_4;
  reg [28:0] saved_address; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32376.4]
  reg [31:0] _RAND_5;
  reg [3:0] saved_mask; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32376.4]
  reg [31:0] _RAND_6;
  reg  saved_corrupt; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32376.4]
  reg [31:0] _RAND_7;
  wire  _T_18; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32379.4]
  wire  _T_21; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32385.4]
  wire  _T_22; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32386.4]
  wire  _T_23; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32391.4]
  wire  _T_24; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32392.4]
  wire  _T_25; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32393.4]
  assign _T_18 = full == 1'h0; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32379.4]
  assign _T_21 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32385.4]
  assign _T_22 = _T_21 & io_repeat; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32386.4]
  assign _T_23 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32391.4]
  assign _T_24 = io_repeat == 1'h0; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32392.4]
  assign _T_25 = _T_23 & _T_24; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32393.4]
  assign io_full = full; // @[Repeater.scala 25:11:shc.marmotcaravel.MarmotCaravelConfig.fir@32384.4]
  assign io_enq_ready = io_deq_ready & _T_18; // @[Repeater.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@32381.4]
  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@32378.4]
  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32383.4]
  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32383.4]
  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32383.4]
  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32383.4]
  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32383.4]
  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32383.4]
  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32383.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  full = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  saved_opcode = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  saved_param = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  saved_size = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  saved_source = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  saved_address = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  saved_mask = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  saved_corrupt = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      full <= 1'h0;
    end else begin
      if (_T_25) begin
        full <= 1'h0;
      end else begin
        if (_T_22) begin
          full <= 1'h1;
        end
      end
    end
    if (_T_22) begin
      saved_opcode <= io_enq_bits_opcode;
    end
    if (_T_22) begin
      saved_param <= io_enq_bits_param;
    end
    if (_T_22) begin
      saved_size <= io_enq_bits_size;
    end
    if (_T_22) begin
      saved_source <= io_enq_bits_source;
    end
    if (_T_22) begin
      saved_address <= io_enq_bits_address;
    end
    if (_T_22) begin
      saved_mask <= io_enq_bits_mask;
    end
    if (_T_22) begin
      saved_corrupt <= io_enq_bits_corrupt;
    end
  end
endmodule
module TLFragmenter_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32398.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32399.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32400.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32401.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32449.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32450.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32451.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@32452.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32453.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32454.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32456.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32457.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32459.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32460.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32461.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@32462.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32478.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@32479.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@32480.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@32480.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@32481.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@32481.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32482.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32482.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@32483.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32484.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32485.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@32486.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32487.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32488.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32489.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32490.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32490.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32491.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32492.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32493.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32494.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@32495.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32496.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32497.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32511.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32513.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32514.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@32515.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32498.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32500.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32500.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32501.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32502.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@32507.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32517.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32550.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32551.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32553.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32554.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32555.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32557.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32558.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32559.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32560.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32561.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32563.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32564.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32565.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32566.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32567.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32568.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32569.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32570.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@32573.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@32580.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32581.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@32585.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@32445.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32594.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32586.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32590.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@32591.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@32595.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@32595.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@32596.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@32597.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@32598.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@32598.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@32599.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32600.4]
  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@32601.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32603.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32607.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@32609.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32611.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32612.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@32619.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@32620.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32622.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32623.4]
  TLMonitor_18 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32408.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
  );
  Repeater_4 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32525.4]
    .clock(Repeater_clock),
    .reset(Repeater_reset),
    .io_repeat(Repeater_io_repeat),
    .io_full(Repeater_io_full),
    .io_enq_ready(Repeater_io_enq_ready),
    .io_enq_valid(Repeater_io_enq_valid),
    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
    .io_enq_bits_param(Repeater_io_enq_bits_param),
    .io_enq_bits_size(Repeater_io_enq_bits_size),
    .io_enq_bits_source(Repeater_io_enq_bits_source),
    .io_enq_bits_address(Repeater_io_enq_bits_address),
    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
    .io_deq_ready(Repeater_io_deq_ready),
    .io_deq_valid(Repeater_io_deq_valid),
    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
    .io_deq_bits_param(Repeater_io_deq_bits_param),
    .io_deq_bits_size(Repeater_io_deq_bits_size),
    .io_deq_bits_source(Repeater_io_deq_bits_source),
    .io_deq_bits_address(Repeater_io_deq_bits_address),
    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
  );
  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@32452.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32453.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32454.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32456.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32457.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32459.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32460.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32461.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@32462.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32478.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@32479.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@32480.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@32480.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@32481.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@32481.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32482.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@32482.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@32483.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32484.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32485.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@32486.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32487.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32488.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32489.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32490.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32490.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32491.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32492.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32493.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32494.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@32495.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32496.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32497.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@32511.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32513.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32514.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@32515.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32498.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32500.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32500.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32501.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@32502.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@32507.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32517.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32550.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@32551.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32553.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32554.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32555.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32557.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32558.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32559.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32560.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32561.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32564.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32565.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32566.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32567.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32568.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32569.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32570.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@32573.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32581.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@32585.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@32445.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32594.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@32586.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32590.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@32591.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@32595.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@32595.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@32596.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@32597.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@32598.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@32598.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@32599.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32600.4]
  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@32601.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32603.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32607.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@32609.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32611.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32612.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@32619.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@32620.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32622.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32623.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32448.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32448.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32448.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32448.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32448.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32448.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32448.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32448.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32448.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32448.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32447.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32447.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32447.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32447.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32447.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32447.4]
  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32447.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32447.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32447.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32447.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32410.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32411.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@32444.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32527.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32528.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32593.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32529.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32529.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32529.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32529.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32529.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32529.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32529.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@32529.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@32594.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_244 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_246 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_248 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_344 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_362 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_244 <= 4'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_244 <= _T_249;
        end else begin
          _T_244 <= _T_294;
        end
      end
    end
    if (_T_291) begin
      if (_T_250) begin
        _T_246 <= _T_290;
      end
    end
    if (reset) begin
      _T_248 <= 1'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_248 <= _T_296;
        end
      end
    end
    if (reset) begin
      _T_344 <= 4'h0;
    end else begin
      if (_T_365) begin
        _T_344 <= _T_354;
      end
    end
    if (_T_345) begin
      _T_362 <= _T_248;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32473.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32474.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_383) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32614.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_383) begin
          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32615.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_389) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32625.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_389) begin
          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32626.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_19( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32644.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32645.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32646.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@32647.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@33779.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@32663.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32668.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32670.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32671.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32672.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@32673.6]
  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@32673.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@32674.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32676.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32677.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@32679.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@32680.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32681.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32682.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@32683.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32685.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32686.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32688.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32689.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32690.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32691.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@32692.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32693.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32694.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32695.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32696.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32697.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32698.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32699.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32700.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32701.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32702.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32703.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32704.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32705.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32706.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32707.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32732.6]
  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32735.8]
  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32736.8]
  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@32737.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@32738.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@32739.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32744.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32757.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32758.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32765.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32766.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32772.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32773.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32778.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32780.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32781.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32786.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32787.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32789.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32790.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32795.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32797.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32798.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32804.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32858.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32860.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32861.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32884.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@32887.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@32895.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32898.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32899.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32918.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32920.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32921.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32926.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32928.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32929.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32943.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32994.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@33036.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33037.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@33038.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33040.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33041.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33047.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@33078.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33080.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33081.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33095.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@33126.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33128.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33129.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33143.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@33193.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33195.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33196.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@33202.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@33207.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33209.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33212.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33213.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33218.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33220.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33221.8]
  wire  _T_365; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33226.8]
  wire  _T_367; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33228.8]
  wire  _T_368; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33229.8]
  wire  _T_369; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@33234.8]
  wire  _T_371; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33236.8]
  wire  _T_372; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33237.8]
  wire  _T_373; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@33242.8]
  wire  _T_375; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33244.8]
  wire  _T_376; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33245.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33251.6]
  wire  _T_388; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@33275.8]
  wire  _T_390; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33277.8]
  wire  _T_391; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33278.8]
  wire  _T_392; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33283.8]
  wire  _T_394; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33285.8]
  wire  _T_395; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33286.8]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33309.6]
  wire  _T_425; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@33350.8]
  wire  _T_427; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33352.8]
  wire  _T_428; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33353.8]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33368.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33403.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33439.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33499.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@33504.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@33505.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33506.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33508.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33509.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33510.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33511.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33512.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33523.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33524.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33525.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33526.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33527.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33528.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33529.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33531.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33533.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33534.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33539.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33541.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33542.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33547.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33549.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33550.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33555.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33557.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33558.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33563.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33565.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33566.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@33573.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33581.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@33583.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@33584.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@33585.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@33586.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33587.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33589.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33590.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33591.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33592.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33593.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33604.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_578; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33605.4]
  reg [31:0] _RAND_8;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33606.4]
  reg [31:0] _RAND_9;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33607.4]
  reg [31:0] _RAND_10;
  reg  _T_584; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33608.4]
  reg [31:0] _RAND_11;
  reg  _T_586; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33609.4]
  reg [31:0] _RAND_12;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33610.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33611.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33613.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33615.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33616.6]
  wire  _T_593; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33621.6]
  wire  _T_595; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33623.6]
  wire  _T_596; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33624.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33629.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33631.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33632.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33637.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33639.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33640.6]
  wire  _T_605; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33645.6]
  wire  _T_607; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33647.6]
  wire  _T_608; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33648.6]
  wire  _T_609; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33653.6]
  wire  _T_611; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33655.6]
  wire  _T_612; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33656.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@33663.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33672.4]
  reg [31:0] _RAND_13;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33682.4]
  reg [31:0] _RAND_14;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33683.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33684.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33685.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33686.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33705.4]
  reg [31:0] _RAND_15;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33706.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33707.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33708.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33709.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33724.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33727.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@33729.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@33730.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33731.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33733.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33734.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@33726.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33745.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@33747.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@33748.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33750.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@33752.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33753.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33754.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33756.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33757.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@33749.4]
  wire  _T_687; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@33763.4]
  wire  _T_688; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@33764.4]
  wire  _T_689; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@33765.4]
  wire  _T_690; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@33766.4]
  wire  _T_692; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33768.4]
  wire  _T_693; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33769.4]
  wire [1:0] _T_694; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33774.4]
  wire [1:0] _T_695; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@33775.4]
  wire [1:0] _T_696; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33776.4]
  reg [31:0] _T_698; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33778.4]
  reg [31:0] _RAND_16;
  wire  _T_699; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@33781.4]
  wire  _T_700; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33782.4]
  wire  _T_701; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33783.4]
  wire  _T_702; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33784.4]
  wire  _T_703; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@33785.4]
  wire  _T_704; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@33786.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33788.4]
  wire  _T_707; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33789.4]
  wire [31:0] _T_709; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@33795.4]
  wire  _T_712; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33799.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32746.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32818.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32901.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32960.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33011.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33061.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33109.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33157.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33215.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33257.10]
  wire  _GEN_139; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33315.10]
  wire  _GEN_153; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33374.10]
  wire  _GEN_161; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33409.10]
  wire  _GEN_169; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33445.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@33779.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@32663.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32668.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@32670.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@32671.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@32672.6]
  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@32673.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@32673.6]
  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@32674.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32676.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32677.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@32679.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@32680.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32681.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32682.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@32683.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32685.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32686.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32688.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32689.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32690.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@32691.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@32692.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32693.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32694.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32695.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32696.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32697.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32698.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32699.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32700.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32701.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32702.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@32703.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@32704.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32705.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32706.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@32707.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32732.6]
  assign _T_92 = io_in_a_bits_address ^ 29'h10000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@32735.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@32736.8]
  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@32737.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@32738.8]
  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@32739.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32744.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32757.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32758.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32765.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32766.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32772.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32773.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32778.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32780.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32781.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32786.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32787.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32789.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32790.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@32795.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32797.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32798.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32804.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32858.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32860.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32861.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32884.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@32887.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@32895.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32898.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32899.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@32918.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32920.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32921.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@32926.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32928.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32929.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32943.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@32994.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@33036.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33037.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@33038.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33040.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33041.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33047.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@33078.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33080.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33081.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33095.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@33126.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33128.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33129.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33143.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@33193.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33195.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33196.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@33202.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@33207.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33209.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33212.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33213.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33218.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33220.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33221.8]
  assign _T_365 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33226.8]
  assign _T_367 = _T_365 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33228.8]
  assign _T_368 = _T_367 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33229.8]
  assign _T_369 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@33234.8]
  assign _T_371 = _T_369 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33236.8]
  assign _T_372 = _T_371 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33237.8]
  assign _T_373 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@33242.8]
  assign _T_375 = _T_373 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33244.8]
  assign _T_376 = _T_375 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33245.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33251.6]
  assign _T_388 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@33275.8]
  assign _T_390 = _T_388 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33277.8]
  assign _T_391 = _T_390 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33278.8]
  assign _T_392 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33283.8]
  assign _T_394 = _T_392 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33285.8]
  assign _T_395 = _T_394 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33286.8]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33309.6]
  assign _T_425 = _T_373 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@33350.8]
  assign _T_427 = _T_425 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33352.8]
  assign _T_428 = _T_427 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33353.8]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33368.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33403.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33439.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33499.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@33504.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@33505.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33506.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33509.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33510.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33511.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33512.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33528.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33529.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33531.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33533.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33534.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33539.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33541.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33542.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33547.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33549.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33550.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33555.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33557.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33558.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33563.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33565.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33566.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@33573.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33581.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@33583.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@33584.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@33585.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@33586.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33587.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33590.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33591.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33592.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33593.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@33610.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33611.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33613.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33615.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33616.6]
  assign _T_593 = io_in_d_bits_param == _T_578; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33621.6]
  assign _T_595 = _T_593 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33623.6]
  assign _T_596 = _T_595 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33624.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33629.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33631.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33632.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33637.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33639.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33640.6]
  assign _T_605 = io_in_d_bits_sink == _T_584; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33645.6]
  assign _T_607 = _T_605 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33647.6]
  assign _T_608 = _T_607 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33648.6]
  assign _T_609 = io_in_d_bits_denied == _T_586; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33653.6]
  assign _T_611 = _T_609 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33655.6]
  assign _T_612 = _T_611 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33656.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@33663.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33683.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33684.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33685.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33686.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33706.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33707.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33708.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33709.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33724.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33727.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@33729.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@33730.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33731.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33733.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33734.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@33726.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33745.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@33747.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@33748.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33750.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@33752.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33753.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33754.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33756.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33757.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@33749.4]
  assign _T_687 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@33763.4]
  assign _T_688 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@33764.4]
  assign _T_689 = _T_688 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@33765.4]
  assign _T_690 = _T_687 | _T_689; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@33766.4]
  assign _T_692 = _T_690 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33768.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33769.4]
  assign _T_694 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33774.4]
  assign _T_695 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@33775.4]
  assign _T_696 = _T_694 & _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33776.4]
  assign _T_699 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@33781.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33782.4]
  assign _T_701 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33783.4]
  assign _T_702 = _T_700 | _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33784.4]
  assign _T_703 = _T_698 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@33785.4]
  assign _T_704 = _T_702 | _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@33786.4]
  assign _T_706 = _T_704 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33788.4]
  assign _T_707 = _T_706 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33789.4]
  assign _T_709 = _T_698 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@33795.4]
  assign _T_712 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33799.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32746.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32818.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32901.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32960.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33011.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33061.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33109.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33157.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33215.10]
  assign _GEN_125 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33257.10]
  assign _GEN_139 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33315.10]
  assign _GEN_153 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33374.10]
  assign _GEN_161 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33409.10]
  assign _GEN_169 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33445.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_508 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_521 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_523 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_525 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_527 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_529 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_563 = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_576 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_578 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_580 = _RAND_9[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_582 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_584 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_586 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_616 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_627 = _RAND_14[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_648 = _RAND_15[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_698 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_508 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_512) begin
          if (_T_505) begin
            _T_508 <= _T_503;
          end else begin
            _T_508 <= 4'h0;
          end
        end else begin
          _T_508 <= _T_511;
        end
      end
    end
    if (_T_553) begin
      _T_521 <= io_in_a_bits_opcode;
    end
    if (_T_553) begin
      _T_523 <= io_in_a_bits_param;
    end
    if (_T_553) begin
      _T_525 <= io_in_a_bits_size;
    end
    if (_T_553) begin
      _T_527 <= io_in_a_bits_source;
    end
    if (_T_553) begin
      _T_529 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_563 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_567) begin
          if (_T_560) begin
            _T_563 <= _T_559;
          end else begin
            _T_563 <= 4'h0;
          end
        end else begin
          _T_563 <= _T_566;
        end
      end
    end
    if (_T_614) begin
      _T_576 <= io_in_d_bits_opcode;
    end
    if (_T_614) begin
      _T_578 <= io_in_d_bits_param;
    end
    if (_T_614) begin
      _T_580 <= io_in_d_bits_size;
    end
    if (_T_614) begin
      _T_582 <= io_in_d_bits_source;
    end
    if (_T_614) begin
      _T_584 <= io_in_d_bits_sink;
    end
    if (_T_614) begin
      _T_586 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_616 <= 2'h0;
    end else begin
      _T_616 <= _T_696;
    end
    if (reset) begin
      _T_627 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_631) begin
          if (_T_505) begin
            _T_627 <= _T_503;
          end else begin
            _T_627 <= 4'h0;
          end
        end else begin
          _T_627 <= _T_630;
        end
      end
    end
    if (reset) begin
      _T_648 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_652) begin
          if (_T_560) begin
            _T_648 <= _T_559;
          end else begin
            _T_648 <= 4'h0;
          end
        end else begin
          _T_648 <= _T_651;
        end
      end
    end
    if (reset) begin
      _T_698 <= 32'h0;
    end else begin
      if (_T_712) begin
        _T_698 <= 32'h0;
      end else begin
        _T_698 <= _T_709;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32659.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32660.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32729.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@32730.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32746.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32747.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32753.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32754.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32760.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32761.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32768.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32769.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32775.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32776.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32783.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32784.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32792.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32793.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32800.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32801.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32818.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32819.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32825.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32826.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32832.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32833.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32840.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32841.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32847.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32848.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32855.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32856.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32863.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32864.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32872.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32873.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32880.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32881.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32901.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32902.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32908.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32909.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32915.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32916.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32923.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32924.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32931.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32932.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32939.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32940.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32960.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32961.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32967.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32968.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32974.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32975.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32982.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32983.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32990.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@32991.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33011.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33012.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33018.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33019.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33025.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33026.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33033.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33034.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33043.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33044.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33061.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33062.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33068.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33069.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33075.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33076.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33083.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33084.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33091.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33092.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33109.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33110.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33116.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33117.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33123.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33124.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33131.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33132.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33139.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33140.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33157.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33158.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33164.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33165.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33171.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33172.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33179.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33180.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33187.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33188.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33198.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33199.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33215.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33216.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33223.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33224.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_368) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33231.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_368) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33232.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_372) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33239.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_372) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33240.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_376) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33247.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_376) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33248.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33257.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33258.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33264.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33265.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33272.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33273.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_391) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33280.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_391) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33281.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_395) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33288.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_395) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33289.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_372) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33296.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_372) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33297.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_376) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33305.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_376) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33306.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_139 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33315.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_139 & _T_360) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33316.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_139 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33322.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_139 & _T_101) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33323.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_139 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33330.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_139 & _T_364) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33331.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_139 & _T_391) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33338.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_139 & _T_391) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33339.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_139 & _T_395) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33346.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_139 & _T_395) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33347.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_139 & _T_428) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33355.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_139 & _T_428) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33356.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_139 & _T_376) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33364.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_139 & _T_376) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33365.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_153 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33374.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_153 & _T_360) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33375.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_153 & _T_368) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33382.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_153 & _T_368) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33383.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_153 & _T_372) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33390.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_153 & _T_372) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33391.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_153 & _T_376) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33399.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_153 & _T_376) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33400.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33409.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_360) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33410.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_368) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33417.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_368) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33418.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_428) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33426.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_428) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33427.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_376) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33435.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_376) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33436.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_169 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33445.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_169 & _T_360) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33446.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_169 & _T_368) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33453.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_169 & _T_368) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33454.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_169 & _T_372) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33461.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_169 & _T_372) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33462.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_169 & _T_376) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33470.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_169 & _T_376) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33471.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33480.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33481.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33488.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33489.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33496.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33497.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33536.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33537.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33544.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33545.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33552.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33553.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33560.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33561.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33568.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33569.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33618.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33619.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_596) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33626.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_596) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33627.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33634.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33635.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33642.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33643.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_608) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33650.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_608) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33651.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_612) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33658.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_612) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@33659.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33736.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33737.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33759.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33760.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_693) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 4 (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33771.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_693) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@33772.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_707) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:71:72)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33791.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_707) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@33792.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_7( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33804.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33805.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33806.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33807.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
  TLMonitor_19 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@33814.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33854.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33854.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33854.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33854.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33854.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33854.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33854.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33854.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33854.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33854.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33853.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33853.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33853.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33853.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33853.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33853.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33853.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33853.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33853.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33853.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33816.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33817.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@33850.4]
endmodule
module SimpleLazyModule_7( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33864.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33865.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33866.4]
  output        auto_buffer_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  input         auto_buffer_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  input  [2:0]  auto_buffer_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  input  [2:0]  auto_buffer_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  input  [2:0]  auto_buffer_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  input         auto_buffer_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  input  [28:0] auto_buffer_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  input  [3:0]  auto_buffer_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  input  [31:0] auto_buffer_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  input         auto_buffer_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  input         auto_buffer_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  output        auto_buffer_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  output [2:0]  auto_buffer_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  output [1:0]  auto_buffer_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  output [2:0]  auto_buffer_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  output        auto_buffer_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  output        auto_buffer_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  output        auto_buffer_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  output [31:0] auto_buffer_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  output        auto_buffer_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  output [2:0]  auto_asource_out_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  output [2:0]  auto_asource_out_a_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  output [1:0]  auto_asource_out_a_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  output [5:0]  auto_asource_out_a_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  output [28:0] auto_asource_out_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  output [3:0]  auto_asource_out_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  output [31:0] auto_asource_out_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  output        auto_asource_out_a_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  input         auto_asource_out_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  output        auto_asource_out_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  input         auto_asource_out_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  output        auto_asource_out_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  output        auto_asource_out_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  input         auto_asource_out_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  input  [2:0]  auto_asource_out_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  input  [1:0]  auto_asource_out_d_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  input  [1:0]  auto_asource_out_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  input  [5:0]  auto_asource_out_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  input         auto_asource_out_d_mem_0_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  input         auto_asource_out_d_mem_0_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  input  [31:0] auto_asource_out_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  input         auto_asource_out_d_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  output        auto_asource_out_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  input         auto_asource_out_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  output        auto_asource_out_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  input         auto_asource_out_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  input         auto_asource_out_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
  output        auto_asource_out_d_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33867.4]
);
  wire  asource_clock; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire  asource_reset; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire  asource_auto_in_a_ready; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire  asource_auto_in_a_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire [2:0] asource_auto_in_a_bits_opcode; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire [2:0] asource_auto_in_a_bits_param; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire [1:0] asource_auto_in_a_bits_size; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire [5:0] asource_auto_in_a_bits_source; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire [28:0] asource_auto_in_a_bits_address; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire [3:0] asource_auto_in_a_bits_mask; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire [31:0] asource_auto_in_a_bits_data; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire  asource_auto_in_a_bits_corrupt; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire  asource_auto_in_d_ready; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire  asource_auto_in_d_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire [2:0] asource_auto_in_d_bits_opcode; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire [1:0] asource_auto_in_d_bits_param; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire [1:0] asource_auto_in_d_bits_size; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire [5:0] asource_auto_in_d_bits_source; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire  asource_auto_in_d_bits_sink; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire  asource_auto_in_d_bits_denied; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire [31:0] asource_auto_in_d_bits_data; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire  asource_auto_in_d_bits_corrupt; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire [2:0] asource_auto_out_a_mem_0_opcode; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire [2:0] asource_auto_out_a_mem_0_param; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire [1:0] asource_auto_out_a_mem_0_size; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire [5:0] asource_auto_out_a_mem_0_source; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire [28:0] asource_auto_out_a_mem_0_address; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire [3:0] asource_auto_out_a_mem_0_mask; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire [31:0] asource_auto_out_a_mem_0_data; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire  asource_auto_out_a_mem_0_corrupt; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire  asource_auto_out_a_ridx; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire  asource_auto_out_a_widx; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire  asource_auto_out_a_safe_ridx_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire  asource_auto_out_a_safe_widx_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire  asource_auto_out_a_safe_source_reset_n; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire  asource_auto_out_a_safe_sink_reset_n; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire [2:0] asource_auto_out_d_mem_0_opcode; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire [1:0] asource_auto_out_d_mem_0_param; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire [1:0] asource_auto_out_d_mem_0_size; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire [5:0] asource_auto_out_d_mem_0_source; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire  asource_auto_out_d_mem_0_sink; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire  asource_auto_out_d_mem_0_denied; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire [31:0] asource_auto_out_d_mem_0_data; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire  asource_auto_out_d_mem_0_corrupt; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire  asource_auto_out_d_ridx; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire  asource_auto_out_d_widx; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire  asource_auto_out_d_safe_ridx_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire  asource_auto_out_d_safe_widx_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire  asource_auto_out_d_safe_source_reset_n; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire  asource_auto_out_d_safe_sink_reset_n; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire [1:0] fragmenter_auto_in_d_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire  fragmenter_auto_in_d_bits_sink; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire  fragmenter_auto_in_d_bits_denied; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire  fragmenter_auto_in_d_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire [1:0] fragmenter_auto_out_d_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire  fragmenter_auto_out_d_bits_sink; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire  fragmenter_auto_out_d_bits_denied; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire  fragmenter_auto_out_d_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire [2:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire [1:0] buffer_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire [2:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire  buffer_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire  buffer_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire  buffer_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire [2:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire [1:0] buffer_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire [2:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire  buffer_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire  buffer_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  wire  buffer_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
  TLAsyncCrossingSource asource ( // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33872.4]
    .clock(asource_clock),
    .reset(asource_reset),
    .auto_in_a_ready(asource_auto_in_a_ready),
    .auto_in_a_valid(asource_auto_in_a_valid),
    .auto_in_a_bits_opcode(asource_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(asource_auto_in_a_bits_param),
    .auto_in_a_bits_size(asource_auto_in_a_bits_size),
    .auto_in_a_bits_source(asource_auto_in_a_bits_source),
    .auto_in_a_bits_address(asource_auto_in_a_bits_address),
    .auto_in_a_bits_mask(asource_auto_in_a_bits_mask),
    .auto_in_a_bits_data(asource_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(asource_auto_in_a_bits_corrupt),
    .auto_in_d_ready(asource_auto_in_d_ready),
    .auto_in_d_valid(asource_auto_in_d_valid),
    .auto_in_d_bits_opcode(asource_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(asource_auto_in_d_bits_param),
    .auto_in_d_bits_size(asource_auto_in_d_bits_size),
    .auto_in_d_bits_source(asource_auto_in_d_bits_source),
    .auto_in_d_bits_sink(asource_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(asource_auto_in_d_bits_denied),
    .auto_in_d_bits_data(asource_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(asource_auto_in_d_bits_corrupt),
    .auto_out_a_mem_0_opcode(asource_auto_out_a_mem_0_opcode),
    .auto_out_a_mem_0_param(asource_auto_out_a_mem_0_param),
    .auto_out_a_mem_0_size(asource_auto_out_a_mem_0_size),
    .auto_out_a_mem_0_source(asource_auto_out_a_mem_0_source),
    .auto_out_a_mem_0_address(asource_auto_out_a_mem_0_address),
    .auto_out_a_mem_0_mask(asource_auto_out_a_mem_0_mask),
    .auto_out_a_mem_0_data(asource_auto_out_a_mem_0_data),
    .auto_out_a_mem_0_corrupt(asource_auto_out_a_mem_0_corrupt),
    .auto_out_a_ridx(asource_auto_out_a_ridx),
    .auto_out_a_widx(asource_auto_out_a_widx),
    .auto_out_a_safe_ridx_valid(asource_auto_out_a_safe_ridx_valid),
    .auto_out_a_safe_widx_valid(asource_auto_out_a_safe_widx_valid),
    .auto_out_a_safe_source_reset_n(asource_auto_out_a_safe_source_reset_n),
    .auto_out_a_safe_sink_reset_n(asource_auto_out_a_safe_sink_reset_n),
    .auto_out_d_mem_0_opcode(asource_auto_out_d_mem_0_opcode),
    .auto_out_d_mem_0_param(asource_auto_out_d_mem_0_param),
    .auto_out_d_mem_0_size(asource_auto_out_d_mem_0_size),
    .auto_out_d_mem_0_source(asource_auto_out_d_mem_0_source),
    .auto_out_d_mem_0_sink(asource_auto_out_d_mem_0_sink),
    .auto_out_d_mem_0_denied(asource_auto_out_d_mem_0_denied),
    .auto_out_d_mem_0_data(asource_auto_out_d_mem_0_data),
    .auto_out_d_mem_0_corrupt(asource_auto_out_d_mem_0_corrupt),
    .auto_out_d_ridx(asource_auto_out_d_ridx),
    .auto_out_d_widx(asource_auto_out_d_widx),
    .auto_out_d_safe_ridx_valid(asource_auto_out_d_safe_ridx_valid),
    .auto_out_d_safe_widx_valid(asource_auto_out_d_safe_widx_valid),
    .auto_out_d_safe_source_reset_n(asource_auto_out_d_safe_source_reset_n),
    .auto_out_d_safe_sink_reset_n(asource_auto_out_d_safe_sink_reset_n)
  );
  TLFragmenter_4 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@33878.4]
    .clock(fragmenter_clock),
    .reset(fragmenter_reset),
    .auto_in_a_ready(fragmenter_auto_in_a_ready),
    .auto_in_a_valid(fragmenter_auto_in_a_valid),
    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
    .auto_in_d_ready(fragmenter_auto_in_d_ready),
    .auto_in_d_valid(fragmenter_auto_in_d_valid),
    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(fragmenter_auto_in_d_bits_param),
    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
    .auto_in_d_bits_sink(fragmenter_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(fragmenter_auto_in_d_bits_denied),
    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(fragmenter_auto_in_d_bits_corrupt),
    .auto_out_a_ready(fragmenter_auto_out_a_ready),
    .auto_out_a_valid(fragmenter_auto_out_a_valid),
    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
    .auto_out_d_ready(fragmenter_auto_out_d_ready),
    .auto_out_d_valid(fragmenter_auto_out_d_valid),
    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
    .auto_out_d_bits_param(fragmenter_auto_out_d_bits_param),
    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
    .auto_out_d_bits_sink(fragmenter_auto_out_d_bits_sink),
    .auto_out_d_bits_denied(fragmenter_auto_out_d_bits_denied),
    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data),
    .auto_out_d_bits_corrupt(fragmenter_auto_out_d_bits_corrupt)
  );
  TLBuffer_7 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33884.4]
    .clock(buffer_clock),
    .reset(buffer_reset),
    .auto_in_a_ready(buffer_auto_in_a_ready),
    .auto_in_a_valid(buffer_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_auto_in_d_ready),
    .auto_in_d_valid(buffer_auto_in_d_valid),
    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(buffer_auto_in_d_bits_param),
    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
    .auto_in_d_bits_sink(buffer_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(buffer_auto_in_d_bits_denied),
    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(buffer_auto_in_d_bits_corrupt),
    .auto_out_a_ready(buffer_auto_out_a_ready),
    .auto_out_a_valid(buffer_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_auto_out_d_ready),
    .auto_out_d_valid(buffer_auto_out_d_valid),
    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
    .auto_out_d_bits_param(buffer_auto_out_d_bits_param),
    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
    .auto_out_d_bits_sink(buffer_auto_out_d_bits_sink),
    .auto_out_d_bits_denied(buffer_auto_out_d_bits_denied),
    .auto_out_d_bits_data(buffer_auto_out_d_bits_data),
    .auto_out_d_bits_corrupt(buffer_auto_out_d_bits_corrupt)
  );
  assign auto_buffer_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
  assign auto_buffer_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
  assign auto_buffer_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
  assign auto_buffer_in_d_bits_param = buffer_auto_in_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
  assign auto_buffer_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
  assign auto_buffer_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
  assign auto_buffer_in_d_bits_sink = buffer_auto_in_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
  assign auto_buffer_in_d_bits_denied = buffer_auto_in_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
  assign auto_buffer_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
  assign auto_buffer_in_d_bits_corrupt = buffer_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
  assign auto_asource_out_a_mem_0_opcode = asource_auto_out_a_mem_0_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign auto_asource_out_a_mem_0_param = asource_auto_out_a_mem_0_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign auto_asource_out_a_mem_0_size = asource_auto_out_a_mem_0_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign auto_asource_out_a_mem_0_source = asource_auto_out_a_mem_0_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign auto_asource_out_a_mem_0_address = asource_auto_out_a_mem_0_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign auto_asource_out_a_mem_0_mask = asource_auto_out_a_mem_0_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign auto_asource_out_a_mem_0_data = asource_auto_out_a_mem_0_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign auto_asource_out_a_mem_0_corrupt = asource_auto_out_a_mem_0_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign auto_asource_out_a_widx = asource_auto_out_a_widx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign auto_asource_out_a_safe_widx_valid = asource_auto_out_a_safe_widx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign auto_asource_out_a_safe_source_reset_n = asource_auto_out_a_safe_source_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign auto_asource_out_d_ridx = asource_auto_out_d_ridx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign auto_asource_out_d_safe_ridx_valid = asource_auto_out_d_safe_ridx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign auto_asource_out_d_safe_sink_reset_n = asource_auto_out_d_safe_sink_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign asource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33876.4]
  assign asource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33877.4]
  assign asource_auto_in_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
  assign asource_auto_in_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
  assign asource_auto_in_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
  assign asource_auto_in_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
  assign asource_auto_in_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
  assign asource_auto_in_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
  assign asource_auto_in_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
  assign asource_auto_in_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
  assign asource_auto_in_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
  assign asource_auto_in_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
  assign asource_auto_out_a_ridx = auto_asource_out_a_ridx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign asource_auto_out_a_safe_ridx_valid = auto_asource_out_a_safe_ridx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign asource_auto_out_a_safe_sink_reset_n = auto_asource_out_a_safe_sink_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign asource_auto_out_d_mem_0_opcode = auto_asource_out_d_mem_0_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign asource_auto_out_d_mem_0_param = auto_asource_out_d_mem_0_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign asource_auto_out_d_mem_0_size = auto_asource_out_d_mem_0_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign asource_auto_out_d_mem_0_source = auto_asource_out_d_mem_0_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign asource_auto_out_d_mem_0_sink = auto_asource_out_d_mem_0_sink; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign asource_auto_out_d_mem_0_denied = auto_asource_out_d_mem_0_denied; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign asource_auto_out_d_mem_0_data = auto_asource_out_d_mem_0_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign asource_auto_out_d_mem_0_corrupt = auto_asource_out_d_mem_0_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign asource_auto_out_d_widx = auto_asource_out_d_widx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign asource_auto_out_d_safe_widx_valid = auto_asource_out_d_safe_widx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign asource_auto_out_d_safe_source_reset_n = auto_asource_out_d_safe_source_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33892.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33882.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33883.4]
  assign fragmenter_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
  assign fragmenter_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
  assign fragmenter_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
  assign fragmenter_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
  assign fragmenter_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
  assign fragmenter_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
  assign fragmenter_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
  assign fragmenter_auto_in_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
  assign fragmenter_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
  assign fragmenter_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
  assign fragmenter_auto_out_a_ready = asource_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
  assign fragmenter_auto_out_d_valid = asource_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
  assign fragmenter_auto_out_d_bits_opcode = asource_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
  assign fragmenter_auto_out_d_bits_param = asource_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
  assign fragmenter_auto_out_d_bits_size = asource_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
  assign fragmenter_auto_out_d_bits_source = asource_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
  assign fragmenter_auto_out_d_bits_sink = asource_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
  assign fragmenter_auto_out_d_bits_denied = asource_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
  assign fragmenter_auto_out_d_bits_data = asource_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
  assign fragmenter_auto_out_d_bits_corrupt = asource_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33890.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33888.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33889.4]
  assign buffer_auto_in_a_valid = auto_buffer_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
  assign buffer_auto_in_a_bits_opcode = auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
  assign buffer_auto_in_a_bits_param = auto_buffer_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
  assign buffer_auto_in_a_bits_size = auto_buffer_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
  assign buffer_auto_in_a_bits_source = auto_buffer_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
  assign buffer_auto_in_a_bits_address = auto_buffer_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
  assign buffer_auto_in_a_bits_mask = auto_buffer_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
  assign buffer_auto_in_a_bits_data = auto_buffer_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
  assign buffer_auto_in_a_bits_corrupt = auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
  assign buffer_auto_in_d_ready = auto_buffer_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33893.4]
  assign buffer_auto_out_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
  assign buffer_auto_out_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
  assign buffer_auto_out_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
  assign buffer_auto_out_d_bits_param = fragmenter_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
  assign buffer_auto_out_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
  assign buffer_auto_out_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
  assign buffer_auto_out_d_bits_sink = fragmenter_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
  assign buffer_auto_out_d_bits_denied = fragmenter_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
  assign buffer_auto_out_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
  assign buffer_auto_out_d_bits_corrupt = fragmenter_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33891.4]
endmodule
module PeripheryBus( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33895.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33896.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33897.4]
  output [2:0]  auto_coupler_to_slave_named_aon_asource_out_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [2:0]  auto_coupler_to_slave_named_aon_asource_out_a_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [1:0]  auto_coupler_to_slave_named_aon_asource_out_a_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [5:0]  auto_coupler_to_slave_named_aon_asource_out_a_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [28:0] auto_coupler_to_slave_named_aon_asource_out_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [3:0]  auto_coupler_to_slave_named_aon_asource_out_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [31:0] auto_coupler_to_slave_named_aon_asource_out_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_coupler_to_slave_named_aon_asource_out_a_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_slave_named_aon_asource_out_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_coupler_to_slave_named_aon_asource_out_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_slave_named_aon_asource_out_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_coupler_to_slave_named_aon_asource_out_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_coupler_to_slave_named_aon_asource_out_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_slave_named_aon_asource_out_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [2:0]  auto_coupler_to_slave_named_aon_asource_out_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [1:0]  auto_coupler_to_slave_named_aon_asource_out_d_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [1:0]  auto_coupler_to_slave_named_aon_asource_out_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [5:0]  auto_coupler_to_slave_named_aon_asource_out_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_slave_named_aon_asource_out_d_mem_0_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_slave_named_aon_asource_out_d_mem_0_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [31:0] auto_coupler_to_slave_named_aon_asource_out_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_slave_named_aon_asource_out_d_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_coupler_to_slave_named_aon_asource_out_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_slave_named_aon_asource_out_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_coupler_to_slave_named_aon_asource_out_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_slave_named_aon_asource_out_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_slave_named_aon_asource_out_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_coupler_to_slave_named_aon_asource_out_d_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [2:0]  auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [2:0]  auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [1:0]  auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [5:0]  auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [16:0] auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [3:0]  auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [1:0]  auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [5:0]  auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [31:0] auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [2:0]  auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [2:0]  auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [2:0]  auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [31:0] auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [3:0]  auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [31:0] auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [2:0]  auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [1:0]  auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [2:0]  auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [31:0] auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_slave_named_debug_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_coupler_to_slave_named_debug_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [2:0]  auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [2:0]  auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [1:0]  auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [5:0]  auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [11:0] auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [3:0]  auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [31:0] auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_coupler_to_slave_named_debug_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_slave_named_debug_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [2:0]  auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [1:0]  auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [5:0]  auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [31:0] auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_slave_named_clint_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_coupler_to_slave_named_clint_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [2:0]  auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [2:0]  auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [1:0]  auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [5:0]  auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [25:0] auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [3:0]  auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [31:0] auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_coupler_to_slave_named_clint_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_slave_named_clint_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [2:0]  auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [1:0]  auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [5:0]  auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [31:0] auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_slave_named_plic_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_coupler_to_slave_named_plic_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [2:0]  auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [2:0]  auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [1:0]  auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [5:0]  auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [27:0] auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [3:0]  auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [31:0] auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_coupler_to_slave_named_plic_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_slave_named_plic_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [2:0]  auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [1:0]  auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [5:0]  auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [31:0] auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_bus_named_pbus_from_cbus_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_coupler_to_bus_named_pbus_from_cbus_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [2:0]  auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [2:0]  auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [3:0]  auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [29:0] auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [3:0]  auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [31:0] auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_coupler_to_bus_named_pbus_from_cbus_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_bus_named_pbus_from_cbus_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [2:0]  auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [1:0]  auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [3:0]  auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [31:0] auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_from_sbus_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_from_sbus_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [2:0]  auto_from_sbus_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [2:0]  auto_from_sbus_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [3:0]  auto_from_sbus_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_from_sbus_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [31:0] auto_from_sbus_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [3:0]  auto_from_sbus_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input  [31:0] auto_from_sbus_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_from_sbus_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  input         auto_from_sbus_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_from_sbus_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [2:0]  auto_from_sbus_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [1:0]  auto_from_sbus_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [3:0]  auto_from_sbus_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_from_sbus_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_from_sbus_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_from_sbus_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output [31:0] auto_from_sbus_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
  output        auto_from_sbus_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33898.4]
);
  wire  in_xbar_clock; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire  in_xbar_reset; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire  in_xbar_auto_in_a_ready; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire  in_xbar_auto_in_a_valid; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire [2:0] in_xbar_auto_in_a_bits_opcode; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire [2:0] in_xbar_auto_in_a_bits_param; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire [3:0] in_xbar_auto_in_a_bits_size; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire  in_xbar_auto_in_a_bits_source; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire [31:0] in_xbar_auto_in_a_bits_address; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire [3:0] in_xbar_auto_in_a_bits_mask; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire [31:0] in_xbar_auto_in_a_bits_data; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire  in_xbar_auto_in_a_bits_corrupt; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire  in_xbar_auto_in_d_ready; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire  in_xbar_auto_in_d_valid; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire [2:0] in_xbar_auto_in_d_bits_opcode; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire [1:0] in_xbar_auto_in_d_bits_param; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire [3:0] in_xbar_auto_in_d_bits_size; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire  in_xbar_auto_in_d_bits_source; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire  in_xbar_auto_in_d_bits_sink; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire  in_xbar_auto_in_d_bits_denied; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire [31:0] in_xbar_auto_in_d_bits_data; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire  in_xbar_auto_in_d_bits_corrupt; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire  in_xbar_auto_out_a_ready; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire  in_xbar_auto_out_a_valid; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire [2:0] in_xbar_auto_out_a_bits_opcode; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire [2:0] in_xbar_auto_out_a_bits_param; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire [3:0] in_xbar_auto_out_a_bits_size; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire  in_xbar_auto_out_a_bits_source; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire [31:0] in_xbar_auto_out_a_bits_address; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire [3:0] in_xbar_auto_out_a_bits_mask; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire [31:0] in_xbar_auto_out_a_bits_data; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire  in_xbar_auto_out_a_bits_corrupt; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire  in_xbar_auto_out_d_ready; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire  in_xbar_auto_out_d_valid; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire [2:0] in_xbar_auto_out_d_bits_opcode; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire [1:0] in_xbar_auto_out_d_bits_param; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire [3:0] in_xbar_auto_out_d_bits_size; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire  in_xbar_auto_out_d_bits_source; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire  in_xbar_auto_out_d_bits_sink; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire  in_xbar_auto_out_d_bits_denied; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire [31:0] in_xbar_auto_out_d_bits_data; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire  in_xbar_auto_out_d_bits_corrupt; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
  wire  out_xbar_clock; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_reset; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_in_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_in_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_in_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_in_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [3:0] out_xbar_auto_in_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_in_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [31:0] out_xbar_auto_in_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [3:0] out_xbar_auto_in_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [31:0] out_xbar_auto_in_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_in_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_in_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_in_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_in_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [1:0] out_xbar_auto_in_d_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [3:0] out_xbar_auto_in_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_in_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_in_d_bits_sink; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_in_d_bits_denied; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [31:0] out_xbar_auto_in_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_in_d_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_6_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_6_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_6_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_6_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_6_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_6_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [28:0] out_xbar_auto_out_6_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [3:0] out_xbar_auto_out_6_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [31:0] out_xbar_auto_out_6_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_6_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_6_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_6_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_6_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [1:0] out_xbar_auto_out_6_d_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_6_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_6_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_6_d_bits_sink; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_6_d_bits_denied; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [31:0] out_xbar_auto_out_6_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_6_d_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_5_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_5_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_5_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_5_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_5_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_5_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [16:0] out_xbar_auto_out_5_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [3:0] out_xbar_auto_out_5_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_5_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_5_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_5_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_5_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_5_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [31:0] out_xbar_auto_out_5_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_4_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_4_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_4_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_4_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_4_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_4_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [31:0] out_xbar_auto_out_4_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [3:0] out_xbar_auto_out_4_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [31:0] out_xbar_auto_out_4_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_4_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_4_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_4_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_4_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [1:0] out_xbar_auto_out_4_d_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_4_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_4_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_4_d_bits_sink; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_4_d_bits_denied; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [31:0] out_xbar_auto_out_4_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_4_d_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_3_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_3_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_3_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_3_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_3_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_3_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [11:0] out_xbar_auto_out_3_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [3:0] out_xbar_auto_out_3_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [31:0] out_xbar_auto_out_3_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_3_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_3_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_3_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_3_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_3_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_3_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [31:0] out_xbar_auto_out_3_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_2_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_2_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_2_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_2_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_2_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_2_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [25:0] out_xbar_auto_out_2_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [3:0] out_xbar_auto_out_2_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [31:0] out_xbar_auto_out_2_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_2_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_2_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_2_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_2_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_2_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_2_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [31:0] out_xbar_auto_out_2_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_1_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_1_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_1_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_1_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_1_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_1_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [27:0] out_xbar_auto_out_1_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [3:0] out_xbar_auto_out_1_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [31:0] out_xbar_auto_out_1_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_1_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_1_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_1_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_1_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_1_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_1_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [31:0] out_xbar_auto_out_1_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_0_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_0_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_0_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_0_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [3:0] out_xbar_auto_out_0_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_0_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [29:0] out_xbar_auto_out_0_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [3:0] out_xbar_auto_out_0_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [31:0] out_xbar_auto_out_0_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_0_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_0_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_0_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [2:0] out_xbar_auto_out_0_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [1:0] out_xbar_auto_out_0_d_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [3:0] out_xbar_auto_out_0_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_0_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_0_d_bits_sink; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_0_d_bits_denied; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire [31:0] out_xbar_auto_out_0_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  out_xbar_auto_out_0_d_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire [3:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire [31:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire [1:0] buffer_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire [3:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire  buffer_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire  buffer_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire  buffer_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire [3:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire [31:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire [1:0] buffer_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire [3:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire  buffer_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire  buffer_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire  buffer_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
  wire  atomics_clock; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire  atomics_reset; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire  atomics_auto_in_a_ready; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire  atomics_auto_in_a_valid; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire [2:0] atomics_auto_in_a_bits_opcode; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire [2:0] atomics_auto_in_a_bits_param; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire [3:0] atomics_auto_in_a_bits_size; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire  atomics_auto_in_a_bits_source; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire [31:0] atomics_auto_in_a_bits_address; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire [3:0] atomics_auto_in_a_bits_mask; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire [31:0] atomics_auto_in_a_bits_data; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire  atomics_auto_in_a_bits_corrupt; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire  atomics_auto_in_d_ready; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire  atomics_auto_in_d_valid; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire [2:0] atomics_auto_in_d_bits_opcode; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire [1:0] atomics_auto_in_d_bits_param; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire [3:0] atomics_auto_in_d_bits_size; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire  atomics_auto_in_d_bits_source; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire  atomics_auto_in_d_bits_sink; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire  atomics_auto_in_d_bits_denied; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire [31:0] atomics_auto_in_d_bits_data; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire  atomics_auto_in_d_bits_corrupt; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire  atomics_auto_out_a_ready; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire  atomics_auto_out_a_valid; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire [2:0] atomics_auto_out_a_bits_opcode; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire [2:0] atomics_auto_out_a_bits_param; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire [3:0] atomics_auto_out_a_bits_size; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire  atomics_auto_out_a_bits_source; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire [31:0] atomics_auto_out_a_bits_address; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire [3:0] atomics_auto_out_a_bits_mask; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire [31:0] atomics_auto_out_a_bits_data; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire  atomics_auto_out_a_bits_corrupt; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire  atomics_auto_out_d_ready; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire  atomics_auto_out_d_valid; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire [2:0] atomics_auto_out_d_bits_opcode; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire [1:0] atomics_auto_out_d_bits_param; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire [3:0] atomics_auto_out_d_bits_size; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire  atomics_auto_out_d_bits_source; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire  atomics_auto_out_d_bits_sink; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire  atomics_auto_out_d_bits_denied; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire [31:0] atomics_auto_out_d_bits_data; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire  atomics_auto_out_d_bits_corrupt; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
  wire  buffer_1_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire  buffer_1_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire  buffer_1_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire  buffer_1_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire [2:0] buffer_1_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire [2:0] buffer_1_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire [3:0] buffer_1_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire  buffer_1_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire [31:0] buffer_1_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire [3:0] buffer_1_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire [31:0] buffer_1_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire  buffer_1_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire  buffer_1_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire  buffer_1_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire [2:0] buffer_1_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire [1:0] buffer_1_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire [3:0] buffer_1_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire  buffer_1_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire  buffer_1_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire  buffer_1_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire [31:0] buffer_1_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire  buffer_1_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire  buffer_1_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire  buffer_1_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire [2:0] buffer_1_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire [2:0] buffer_1_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire [3:0] buffer_1_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire  buffer_1_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire [31:0] buffer_1_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire [3:0] buffer_1_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire [31:0] buffer_1_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire  buffer_1_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire  buffer_1_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire  buffer_1_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire [2:0] buffer_1_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire [1:0] buffer_1_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire [3:0] buffer_1_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire  buffer_1_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire  buffer_1_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire  buffer_1_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire [31:0] buffer_1_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire  buffer_1_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
  wire  coupler_to_bus_named_pbus_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire  coupler_to_bus_named_pbus_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire  coupler_to_bus_named_pbus_auto_widget_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire  coupler_to_bus_named_pbus_auto_widget_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire [2:0] coupler_to_bus_named_pbus_auto_widget_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire [2:0] coupler_to_bus_named_pbus_auto_widget_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire [3:0] coupler_to_bus_named_pbus_auto_widget_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire  coupler_to_bus_named_pbus_auto_widget_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire [29:0] coupler_to_bus_named_pbus_auto_widget_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire [3:0] coupler_to_bus_named_pbus_auto_widget_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire [31:0] coupler_to_bus_named_pbus_auto_widget_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire  coupler_to_bus_named_pbus_auto_widget_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire  coupler_to_bus_named_pbus_auto_widget_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire  coupler_to_bus_named_pbus_auto_widget_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire [2:0] coupler_to_bus_named_pbus_auto_widget_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire [1:0] coupler_to_bus_named_pbus_auto_widget_in_d_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire [3:0] coupler_to_bus_named_pbus_auto_widget_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire  coupler_to_bus_named_pbus_auto_widget_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire  coupler_to_bus_named_pbus_auto_widget_in_d_bits_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire  coupler_to_bus_named_pbus_auto_widget_in_d_bits_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire [31:0] coupler_to_bus_named_pbus_auto_widget_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire  coupler_to_bus_named_pbus_auto_widget_in_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire [2:0] coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire [2:0] coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire [3:0] coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire [29:0] coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire [3:0] coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire [31:0] coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire [2:0] coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire [1:0] coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire [3:0] coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire [31:0] coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire  coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
  wire  coupler_to_slave_named_plic_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire  coupler_to_slave_named_plic_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire  coupler_to_slave_named_plic_auto_buffer_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire  coupler_to_slave_named_plic_auto_buffer_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire [2:0] coupler_to_slave_named_plic_auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire [2:0] coupler_to_slave_named_plic_auto_buffer_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire [2:0] coupler_to_slave_named_plic_auto_buffer_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire  coupler_to_slave_named_plic_auto_buffer_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire [27:0] coupler_to_slave_named_plic_auto_buffer_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire [3:0] coupler_to_slave_named_plic_auto_buffer_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire [31:0] coupler_to_slave_named_plic_auto_buffer_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire  coupler_to_slave_named_plic_auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire  coupler_to_slave_named_plic_auto_buffer_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire  coupler_to_slave_named_plic_auto_buffer_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire [2:0] coupler_to_slave_named_plic_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire [2:0] coupler_to_slave_named_plic_auto_buffer_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire  coupler_to_slave_named_plic_auto_buffer_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire [31:0] coupler_to_slave_named_plic_auto_buffer_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire  coupler_to_slave_named_plic_auto_fragmenter_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire  coupler_to_slave_named_plic_auto_fragmenter_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire [2:0] coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire [2:0] coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire [1:0] coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire [5:0] coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire [27:0] coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire [3:0] coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire [31:0] coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire  coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire  coupler_to_slave_named_plic_auto_fragmenter_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire  coupler_to_slave_named_plic_auto_fragmenter_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire [2:0] coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire [1:0] coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire [5:0] coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire [31:0] coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
  wire  coupler_to_slave_named_clint_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire  coupler_to_slave_named_clint_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire  coupler_to_slave_named_clint_auto_buffer_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire  coupler_to_slave_named_clint_auto_buffer_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire [2:0] coupler_to_slave_named_clint_auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire [2:0] coupler_to_slave_named_clint_auto_buffer_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire [2:0] coupler_to_slave_named_clint_auto_buffer_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire  coupler_to_slave_named_clint_auto_buffer_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire [25:0] coupler_to_slave_named_clint_auto_buffer_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire [3:0] coupler_to_slave_named_clint_auto_buffer_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire [31:0] coupler_to_slave_named_clint_auto_buffer_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire  coupler_to_slave_named_clint_auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire  coupler_to_slave_named_clint_auto_buffer_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire  coupler_to_slave_named_clint_auto_buffer_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire [2:0] coupler_to_slave_named_clint_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire [2:0] coupler_to_slave_named_clint_auto_buffer_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire  coupler_to_slave_named_clint_auto_buffer_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire [31:0] coupler_to_slave_named_clint_auto_buffer_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire  coupler_to_slave_named_clint_auto_fragmenter_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire  coupler_to_slave_named_clint_auto_fragmenter_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire [2:0] coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire [2:0] coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire [1:0] coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire [5:0] coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire [25:0] coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire [3:0] coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire [31:0] coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire  coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire  coupler_to_slave_named_clint_auto_fragmenter_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire  coupler_to_slave_named_clint_auto_fragmenter_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire [2:0] coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire [1:0] coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire [5:0] coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire [31:0] coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
  wire  coupler_to_slave_named_debug_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire  coupler_to_slave_named_debug_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire  coupler_to_slave_named_debug_auto_buffer_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire  coupler_to_slave_named_debug_auto_buffer_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire [2:0] coupler_to_slave_named_debug_auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire [2:0] coupler_to_slave_named_debug_auto_buffer_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire [2:0] coupler_to_slave_named_debug_auto_buffer_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire  coupler_to_slave_named_debug_auto_buffer_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire [11:0] coupler_to_slave_named_debug_auto_buffer_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire [3:0] coupler_to_slave_named_debug_auto_buffer_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire [31:0] coupler_to_slave_named_debug_auto_buffer_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire  coupler_to_slave_named_debug_auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire  coupler_to_slave_named_debug_auto_buffer_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire  coupler_to_slave_named_debug_auto_buffer_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire [2:0] coupler_to_slave_named_debug_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire [2:0] coupler_to_slave_named_debug_auto_buffer_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire  coupler_to_slave_named_debug_auto_buffer_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire [31:0] coupler_to_slave_named_debug_auto_buffer_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire  coupler_to_slave_named_debug_auto_fragmenter_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire  coupler_to_slave_named_debug_auto_fragmenter_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire [2:0] coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire [2:0] coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire [1:0] coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire [5:0] coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire [11:0] coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire [3:0] coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire [31:0] coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire  coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire  coupler_to_slave_named_debug_auto_fragmenter_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire  coupler_to_slave_named_debug_auto_fragmenter_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire [2:0] coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire [1:0] coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire [5:0] coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire [31:0] coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
  wire  coupler_to_tile_named_tile_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire  coupler_to_tile_named_tile_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire  coupler_to_tile_named_tile_auto_buffer_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire  coupler_to_tile_named_tile_auto_buffer_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire [2:0] coupler_to_tile_named_tile_auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire [2:0] coupler_to_tile_named_tile_auto_buffer_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire [2:0] coupler_to_tile_named_tile_auto_buffer_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire  coupler_to_tile_named_tile_auto_buffer_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire [31:0] coupler_to_tile_named_tile_auto_buffer_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire [3:0] coupler_to_tile_named_tile_auto_buffer_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire [31:0] coupler_to_tile_named_tile_auto_buffer_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire  coupler_to_tile_named_tile_auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire  coupler_to_tile_named_tile_auto_buffer_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire  coupler_to_tile_named_tile_auto_buffer_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire [2:0] coupler_to_tile_named_tile_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire [1:0] coupler_to_tile_named_tile_auto_buffer_in_d_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire [2:0] coupler_to_tile_named_tile_auto_buffer_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire  coupler_to_tile_named_tile_auto_buffer_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire  coupler_to_tile_named_tile_auto_buffer_in_d_bits_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire  coupler_to_tile_named_tile_auto_buffer_in_d_bits_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire [31:0] coupler_to_tile_named_tile_auto_buffer_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire  coupler_to_tile_named_tile_auto_buffer_in_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire [2:0] coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire [2:0] coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire [2:0] coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire [31:0] coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire [3:0] coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire [31:0] coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire [2:0] coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire [1:0] coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire [2:0] coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire [31:0] coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire  coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
  wire  coupler_to_slave_named_MaskROM_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire  coupler_to_slave_named_MaskROM_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire  coupler_to_slave_named_MaskROM_auto_buffer_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire  coupler_to_slave_named_MaskROM_auto_buffer_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire [2:0] coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire [2:0] coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire [2:0] coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire  coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire [16:0] coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire [3:0] coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire  coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire  coupler_to_slave_named_MaskROM_auto_buffer_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire  coupler_to_slave_named_MaskROM_auto_buffer_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire [2:0] coupler_to_slave_named_MaskROM_auto_buffer_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire  coupler_to_slave_named_MaskROM_auto_buffer_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire [31:0] coupler_to_slave_named_MaskROM_auto_buffer_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire  coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire  coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire [2:0] coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire [2:0] coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire [1:0] coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire [5:0] coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire [16:0] coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire [3:0] coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire  coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire  coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire  coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire [1:0] coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire [5:0] coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire [31:0] coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
  wire  coupler_to_slave_named_aon_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire  coupler_to_slave_named_aon_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire  coupler_to_slave_named_aon_auto_buffer_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire  coupler_to_slave_named_aon_auto_buffer_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire [2:0] coupler_to_slave_named_aon_auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire [2:0] coupler_to_slave_named_aon_auto_buffer_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire [2:0] coupler_to_slave_named_aon_auto_buffer_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire  coupler_to_slave_named_aon_auto_buffer_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire [28:0] coupler_to_slave_named_aon_auto_buffer_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire [3:0] coupler_to_slave_named_aon_auto_buffer_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire [31:0] coupler_to_slave_named_aon_auto_buffer_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire  coupler_to_slave_named_aon_auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire  coupler_to_slave_named_aon_auto_buffer_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire  coupler_to_slave_named_aon_auto_buffer_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire [2:0] coupler_to_slave_named_aon_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire [1:0] coupler_to_slave_named_aon_auto_buffer_in_d_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire [2:0] coupler_to_slave_named_aon_auto_buffer_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire  coupler_to_slave_named_aon_auto_buffer_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire  coupler_to_slave_named_aon_auto_buffer_in_d_bits_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire  coupler_to_slave_named_aon_auto_buffer_in_d_bits_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire [31:0] coupler_to_slave_named_aon_auto_buffer_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire  coupler_to_slave_named_aon_auto_buffer_in_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire [2:0] coupler_to_slave_named_aon_auto_asource_out_a_mem_0_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire [2:0] coupler_to_slave_named_aon_auto_asource_out_a_mem_0_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire [1:0] coupler_to_slave_named_aon_auto_asource_out_a_mem_0_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire [5:0] coupler_to_slave_named_aon_auto_asource_out_a_mem_0_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire [28:0] coupler_to_slave_named_aon_auto_asource_out_a_mem_0_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire [3:0] coupler_to_slave_named_aon_auto_asource_out_a_mem_0_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire [31:0] coupler_to_slave_named_aon_auto_asource_out_a_mem_0_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_a_mem_0_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_a_ridx; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_a_widx; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_a_safe_ridx_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_a_safe_widx_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_a_safe_source_reset_n; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_a_safe_sink_reset_n; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire [2:0] coupler_to_slave_named_aon_auto_asource_out_d_mem_0_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire [1:0] coupler_to_slave_named_aon_auto_asource_out_d_mem_0_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire [1:0] coupler_to_slave_named_aon_auto_asource_out_d_mem_0_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire [5:0] coupler_to_slave_named_aon_auto_asource_out_d_mem_0_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_d_mem_0_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_d_mem_0_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire [31:0] coupler_to_slave_named_aon_auto_asource_out_d_mem_0_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_d_mem_0_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_d_ridx; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_d_widx; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_d_safe_ridx_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_d_safe_widx_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_d_safe_source_reset_n; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  wire  coupler_to_slave_named_aon_auto_asource_out_d_safe_sink_reset_n; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
  TLXbar_1 in_xbar ( // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@33903.4]
    .clock(in_xbar_clock),
    .reset(in_xbar_reset),
    .auto_in_a_ready(in_xbar_auto_in_a_ready),
    .auto_in_a_valid(in_xbar_auto_in_a_valid),
    .auto_in_a_bits_opcode(in_xbar_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(in_xbar_auto_in_a_bits_param),
    .auto_in_a_bits_size(in_xbar_auto_in_a_bits_size),
    .auto_in_a_bits_source(in_xbar_auto_in_a_bits_source),
    .auto_in_a_bits_address(in_xbar_auto_in_a_bits_address),
    .auto_in_a_bits_mask(in_xbar_auto_in_a_bits_mask),
    .auto_in_a_bits_data(in_xbar_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(in_xbar_auto_in_a_bits_corrupt),
    .auto_in_d_ready(in_xbar_auto_in_d_ready),
    .auto_in_d_valid(in_xbar_auto_in_d_valid),
    .auto_in_d_bits_opcode(in_xbar_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(in_xbar_auto_in_d_bits_param),
    .auto_in_d_bits_size(in_xbar_auto_in_d_bits_size),
    .auto_in_d_bits_source(in_xbar_auto_in_d_bits_source),
    .auto_in_d_bits_sink(in_xbar_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(in_xbar_auto_in_d_bits_denied),
    .auto_in_d_bits_data(in_xbar_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(in_xbar_auto_in_d_bits_corrupt),
    .auto_out_a_ready(in_xbar_auto_out_a_ready),
    .auto_out_a_valid(in_xbar_auto_out_a_valid),
    .auto_out_a_bits_opcode(in_xbar_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(in_xbar_auto_out_a_bits_param),
    .auto_out_a_bits_size(in_xbar_auto_out_a_bits_size),
    .auto_out_a_bits_source(in_xbar_auto_out_a_bits_source),
    .auto_out_a_bits_address(in_xbar_auto_out_a_bits_address),
    .auto_out_a_bits_mask(in_xbar_auto_out_a_bits_mask),
    .auto_out_a_bits_data(in_xbar_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(in_xbar_auto_out_a_bits_corrupt),
    .auto_out_d_ready(in_xbar_auto_out_d_ready),
    .auto_out_d_valid(in_xbar_auto_out_d_valid),
    .auto_out_d_bits_opcode(in_xbar_auto_out_d_bits_opcode),
    .auto_out_d_bits_param(in_xbar_auto_out_d_bits_param),
    .auto_out_d_bits_size(in_xbar_auto_out_d_bits_size),
    .auto_out_d_bits_source(in_xbar_auto_out_d_bits_source),
    .auto_out_d_bits_sink(in_xbar_auto_out_d_bits_sink),
    .auto_out_d_bits_denied(in_xbar_auto_out_d_bits_denied),
    .auto_out_d_bits_data(in_xbar_auto_out_d_bits_data),
    .auto_out_d_bits_corrupt(in_xbar_auto_out_d_bits_corrupt)
  );
  TLXbar_2 out_xbar ( // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@33909.4]
    .clock(out_xbar_clock),
    .reset(out_xbar_reset),
    .auto_in_a_ready(out_xbar_auto_in_a_ready),
    .auto_in_a_valid(out_xbar_auto_in_a_valid),
    .auto_in_a_bits_opcode(out_xbar_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(out_xbar_auto_in_a_bits_param),
    .auto_in_a_bits_size(out_xbar_auto_in_a_bits_size),
    .auto_in_a_bits_source(out_xbar_auto_in_a_bits_source),
    .auto_in_a_bits_address(out_xbar_auto_in_a_bits_address),
    .auto_in_a_bits_mask(out_xbar_auto_in_a_bits_mask),
    .auto_in_a_bits_data(out_xbar_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(out_xbar_auto_in_a_bits_corrupt),
    .auto_in_d_ready(out_xbar_auto_in_d_ready),
    .auto_in_d_valid(out_xbar_auto_in_d_valid),
    .auto_in_d_bits_opcode(out_xbar_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(out_xbar_auto_in_d_bits_param),
    .auto_in_d_bits_size(out_xbar_auto_in_d_bits_size),
    .auto_in_d_bits_source(out_xbar_auto_in_d_bits_source),
    .auto_in_d_bits_sink(out_xbar_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(out_xbar_auto_in_d_bits_denied),
    .auto_in_d_bits_data(out_xbar_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(out_xbar_auto_in_d_bits_corrupt),
    .auto_out_6_a_ready(out_xbar_auto_out_6_a_ready),
    .auto_out_6_a_valid(out_xbar_auto_out_6_a_valid),
    .auto_out_6_a_bits_opcode(out_xbar_auto_out_6_a_bits_opcode),
    .auto_out_6_a_bits_param(out_xbar_auto_out_6_a_bits_param),
    .auto_out_6_a_bits_size(out_xbar_auto_out_6_a_bits_size),
    .auto_out_6_a_bits_source(out_xbar_auto_out_6_a_bits_source),
    .auto_out_6_a_bits_address(out_xbar_auto_out_6_a_bits_address),
    .auto_out_6_a_bits_mask(out_xbar_auto_out_6_a_bits_mask),
    .auto_out_6_a_bits_data(out_xbar_auto_out_6_a_bits_data),
    .auto_out_6_a_bits_corrupt(out_xbar_auto_out_6_a_bits_corrupt),
    .auto_out_6_d_ready(out_xbar_auto_out_6_d_ready),
    .auto_out_6_d_valid(out_xbar_auto_out_6_d_valid),
    .auto_out_6_d_bits_opcode(out_xbar_auto_out_6_d_bits_opcode),
    .auto_out_6_d_bits_param(out_xbar_auto_out_6_d_bits_param),
    .auto_out_6_d_bits_size(out_xbar_auto_out_6_d_bits_size),
    .auto_out_6_d_bits_source(out_xbar_auto_out_6_d_bits_source),
    .auto_out_6_d_bits_sink(out_xbar_auto_out_6_d_bits_sink),
    .auto_out_6_d_bits_denied(out_xbar_auto_out_6_d_bits_denied),
    .auto_out_6_d_bits_data(out_xbar_auto_out_6_d_bits_data),
    .auto_out_6_d_bits_corrupt(out_xbar_auto_out_6_d_bits_corrupt),
    .auto_out_5_a_ready(out_xbar_auto_out_5_a_ready),
    .auto_out_5_a_valid(out_xbar_auto_out_5_a_valid),
    .auto_out_5_a_bits_opcode(out_xbar_auto_out_5_a_bits_opcode),
    .auto_out_5_a_bits_param(out_xbar_auto_out_5_a_bits_param),
    .auto_out_5_a_bits_size(out_xbar_auto_out_5_a_bits_size),
    .auto_out_5_a_bits_source(out_xbar_auto_out_5_a_bits_source),
    .auto_out_5_a_bits_address(out_xbar_auto_out_5_a_bits_address),
    .auto_out_5_a_bits_mask(out_xbar_auto_out_5_a_bits_mask),
    .auto_out_5_a_bits_corrupt(out_xbar_auto_out_5_a_bits_corrupt),
    .auto_out_5_d_ready(out_xbar_auto_out_5_d_ready),
    .auto_out_5_d_valid(out_xbar_auto_out_5_d_valid),
    .auto_out_5_d_bits_size(out_xbar_auto_out_5_d_bits_size),
    .auto_out_5_d_bits_source(out_xbar_auto_out_5_d_bits_source),
    .auto_out_5_d_bits_data(out_xbar_auto_out_5_d_bits_data),
    .auto_out_4_a_ready(out_xbar_auto_out_4_a_ready),
    .auto_out_4_a_valid(out_xbar_auto_out_4_a_valid),
    .auto_out_4_a_bits_opcode(out_xbar_auto_out_4_a_bits_opcode),
    .auto_out_4_a_bits_param(out_xbar_auto_out_4_a_bits_param),
    .auto_out_4_a_bits_size(out_xbar_auto_out_4_a_bits_size),
    .auto_out_4_a_bits_source(out_xbar_auto_out_4_a_bits_source),
    .auto_out_4_a_bits_address(out_xbar_auto_out_4_a_bits_address),
    .auto_out_4_a_bits_mask(out_xbar_auto_out_4_a_bits_mask),
    .auto_out_4_a_bits_data(out_xbar_auto_out_4_a_bits_data),
    .auto_out_4_a_bits_corrupt(out_xbar_auto_out_4_a_bits_corrupt),
    .auto_out_4_d_ready(out_xbar_auto_out_4_d_ready),
    .auto_out_4_d_valid(out_xbar_auto_out_4_d_valid),
    .auto_out_4_d_bits_opcode(out_xbar_auto_out_4_d_bits_opcode),
    .auto_out_4_d_bits_param(out_xbar_auto_out_4_d_bits_param),
    .auto_out_4_d_bits_size(out_xbar_auto_out_4_d_bits_size),
    .auto_out_4_d_bits_source(out_xbar_auto_out_4_d_bits_source),
    .auto_out_4_d_bits_sink(out_xbar_auto_out_4_d_bits_sink),
    .auto_out_4_d_bits_denied(out_xbar_auto_out_4_d_bits_denied),
    .auto_out_4_d_bits_data(out_xbar_auto_out_4_d_bits_data),
    .auto_out_4_d_bits_corrupt(out_xbar_auto_out_4_d_bits_corrupt),
    .auto_out_3_a_ready(out_xbar_auto_out_3_a_ready),
    .auto_out_3_a_valid(out_xbar_auto_out_3_a_valid),
    .auto_out_3_a_bits_opcode(out_xbar_auto_out_3_a_bits_opcode),
    .auto_out_3_a_bits_param(out_xbar_auto_out_3_a_bits_param),
    .auto_out_3_a_bits_size(out_xbar_auto_out_3_a_bits_size),
    .auto_out_3_a_bits_source(out_xbar_auto_out_3_a_bits_source),
    .auto_out_3_a_bits_address(out_xbar_auto_out_3_a_bits_address),
    .auto_out_3_a_bits_mask(out_xbar_auto_out_3_a_bits_mask),
    .auto_out_3_a_bits_data(out_xbar_auto_out_3_a_bits_data),
    .auto_out_3_a_bits_corrupt(out_xbar_auto_out_3_a_bits_corrupt),
    .auto_out_3_d_ready(out_xbar_auto_out_3_d_ready),
    .auto_out_3_d_valid(out_xbar_auto_out_3_d_valid),
    .auto_out_3_d_bits_opcode(out_xbar_auto_out_3_d_bits_opcode),
    .auto_out_3_d_bits_size(out_xbar_auto_out_3_d_bits_size),
    .auto_out_3_d_bits_source(out_xbar_auto_out_3_d_bits_source),
    .auto_out_3_d_bits_data(out_xbar_auto_out_3_d_bits_data),
    .auto_out_2_a_ready(out_xbar_auto_out_2_a_ready),
    .auto_out_2_a_valid(out_xbar_auto_out_2_a_valid),
    .auto_out_2_a_bits_opcode(out_xbar_auto_out_2_a_bits_opcode),
    .auto_out_2_a_bits_param(out_xbar_auto_out_2_a_bits_param),
    .auto_out_2_a_bits_size(out_xbar_auto_out_2_a_bits_size),
    .auto_out_2_a_bits_source(out_xbar_auto_out_2_a_bits_source),
    .auto_out_2_a_bits_address(out_xbar_auto_out_2_a_bits_address),
    .auto_out_2_a_bits_mask(out_xbar_auto_out_2_a_bits_mask),
    .auto_out_2_a_bits_data(out_xbar_auto_out_2_a_bits_data),
    .auto_out_2_a_bits_corrupt(out_xbar_auto_out_2_a_bits_corrupt),
    .auto_out_2_d_ready(out_xbar_auto_out_2_d_ready),
    .auto_out_2_d_valid(out_xbar_auto_out_2_d_valid),
    .auto_out_2_d_bits_opcode(out_xbar_auto_out_2_d_bits_opcode),
    .auto_out_2_d_bits_size(out_xbar_auto_out_2_d_bits_size),
    .auto_out_2_d_bits_source(out_xbar_auto_out_2_d_bits_source),
    .auto_out_2_d_bits_data(out_xbar_auto_out_2_d_bits_data),
    .auto_out_1_a_ready(out_xbar_auto_out_1_a_ready),
    .auto_out_1_a_valid(out_xbar_auto_out_1_a_valid),
    .auto_out_1_a_bits_opcode(out_xbar_auto_out_1_a_bits_opcode),
    .auto_out_1_a_bits_param(out_xbar_auto_out_1_a_bits_param),
    .auto_out_1_a_bits_size(out_xbar_auto_out_1_a_bits_size),
    .auto_out_1_a_bits_source(out_xbar_auto_out_1_a_bits_source),
    .auto_out_1_a_bits_address(out_xbar_auto_out_1_a_bits_address),
    .auto_out_1_a_bits_mask(out_xbar_auto_out_1_a_bits_mask),
    .auto_out_1_a_bits_data(out_xbar_auto_out_1_a_bits_data),
    .auto_out_1_a_bits_corrupt(out_xbar_auto_out_1_a_bits_corrupt),
    .auto_out_1_d_ready(out_xbar_auto_out_1_d_ready),
    .auto_out_1_d_valid(out_xbar_auto_out_1_d_valid),
    .auto_out_1_d_bits_opcode(out_xbar_auto_out_1_d_bits_opcode),
    .auto_out_1_d_bits_size(out_xbar_auto_out_1_d_bits_size),
    .auto_out_1_d_bits_source(out_xbar_auto_out_1_d_bits_source),
    .auto_out_1_d_bits_data(out_xbar_auto_out_1_d_bits_data),
    .auto_out_0_a_ready(out_xbar_auto_out_0_a_ready),
    .auto_out_0_a_valid(out_xbar_auto_out_0_a_valid),
    .auto_out_0_a_bits_opcode(out_xbar_auto_out_0_a_bits_opcode),
    .auto_out_0_a_bits_param(out_xbar_auto_out_0_a_bits_param),
    .auto_out_0_a_bits_size(out_xbar_auto_out_0_a_bits_size),
    .auto_out_0_a_bits_source(out_xbar_auto_out_0_a_bits_source),
    .auto_out_0_a_bits_address(out_xbar_auto_out_0_a_bits_address),
    .auto_out_0_a_bits_mask(out_xbar_auto_out_0_a_bits_mask),
    .auto_out_0_a_bits_data(out_xbar_auto_out_0_a_bits_data),
    .auto_out_0_a_bits_corrupt(out_xbar_auto_out_0_a_bits_corrupt),
    .auto_out_0_d_ready(out_xbar_auto_out_0_d_ready),
    .auto_out_0_d_valid(out_xbar_auto_out_0_d_valid),
    .auto_out_0_d_bits_opcode(out_xbar_auto_out_0_d_bits_opcode),
    .auto_out_0_d_bits_param(out_xbar_auto_out_0_d_bits_param),
    .auto_out_0_d_bits_size(out_xbar_auto_out_0_d_bits_size),
    .auto_out_0_d_bits_source(out_xbar_auto_out_0_d_bits_source),
    .auto_out_0_d_bits_sink(out_xbar_auto_out_0_d_bits_sink),
    .auto_out_0_d_bits_denied(out_xbar_auto_out_0_d_bits_denied),
    .auto_out_0_d_bits_data(out_xbar_auto_out_0_d_bits_data),
    .auto_out_0_d_bits_corrupt(out_xbar_auto_out_0_d_bits_corrupt)
  );
  TLBuffer buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33915.4]
    .clock(buffer_clock),
    .reset(buffer_reset),
    .auto_in_a_ready(buffer_auto_in_a_ready),
    .auto_in_a_valid(buffer_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_auto_in_d_ready),
    .auto_in_d_valid(buffer_auto_in_d_valid),
    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(buffer_auto_in_d_bits_param),
    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
    .auto_in_d_bits_sink(buffer_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(buffer_auto_in_d_bits_denied),
    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(buffer_auto_in_d_bits_corrupt),
    .auto_out_a_ready(buffer_auto_out_a_ready),
    .auto_out_a_valid(buffer_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_auto_out_d_ready),
    .auto_out_d_valid(buffer_auto_out_d_valid),
    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
    .auto_out_d_bits_param(buffer_auto_out_d_bits_param),
    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
    .auto_out_d_bits_sink(buffer_auto_out_d_bits_sink),
    .auto_out_d_bits_denied(buffer_auto_out_d_bits_denied),
    .auto_out_d_bits_data(buffer_auto_out_d_bits_data),
    .auto_out_d_bits_corrupt(buffer_auto_out_d_bits_corrupt)
  );
  TLAtomicAutomata atomics ( // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@33921.4]
    .clock(atomics_clock),
    .reset(atomics_reset),
    .auto_in_a_ready(atomics_auto_in_a_ready),
    .auto_in_a_valid(atomics_auto_in_a_valid),
    .auto_in_a_bits_opcode(atomics_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(atomics_auto_in_a_bits_param),
    .auto_in_a_bits_size(atomics_auto_in_a_bits_size),
    .auto_in_a_bits_source(atomics_auto_in_a_bits_source),
    .auto_in_a_bits_address(atomics_auto_in_a_bits_address),
    .auto_in_a_bits_mask(atomics_auto_in_a_bits_mask),
    .auto_in_a_bits_data(atomics_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(atomics_auto_in_a_bits_corrupt),
    .auto_in_d_ready(atomics_auto_in_d_ready),
    .auto_in_d_valid(atomics_auto_in_d_valid),
    .auto_in_d_bits_opcode(atomics_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(atomics_auto_in_d_bits_param),
    .auto_in_d_bits_size(atomics_auto_in_d_bits_size),
    .auto_in_d_bits_source(atomics_auto_in_d_bits_source),
    .auto_in_d_bits_sink(atomics_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(atomics_auto_in_d_bits_denied),
    .auto_in_d_bits_data(atomics_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(atomics_auto_in_d_bits_corrupt),
    .auto_out_a_ready(atomics_auto_out_a_ready),
    .auto_out_a_valid(atomics_auto_out_a_valid),
    .auto_out_a_bits_opcode(atomics_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(atomics_auto_out_a_bits_param),
    .auto_out_a_bits_size(atomics_auto_out_a_bits_size),
    .auto_out_a_bits_source(atomics_auto_out_a_bits_source),
    .auto_out_a_bits_address(atomics_auto_out_a_bits_address),
    .auto_out_a_bits_mask(atomics_auto_out_a_bits_mask),
    .auto_out_a_bits_data(atomics_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(atomics_auto_out_a_bits_corrupt),
    .auto_out_d_ready(atomics_auto_out_d_ready),
    .auto_out_d_valid(atomics_auto_out_d_valid),
    .auto_out_d_bits_opcode(atomics_auto_out_d_bits_opcode),
    .auto_out_d_bits_param(atomics_auto_out_d_bits_param),
    .auto_out_d_bits_size(atomics_auto_out_d_bits_size),
    .auto_out_d_bits_source(atomics_auto_out_d_bits_source),
    .auto_out_d_bits_sink(atomics_auto_out_d_bits_sink),
    .auto_out_d_bits_denied(atomics_auto_out_d_bits_denied),
    .auto_out_d_bits_data(atomics_auto_out_d_bits_data),
    .auto_out_d_bits_corrupt(atomics_auto_out_d_bits_corrupt)
  );
  TLBuffer_1 buffer_1 ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@33933.4]
    .clock(buffer_1_clock),
    .reset(buffer_1_reset),
    .auto_in_a_ready(buffer_1_auto_in_a_ready),
    .auto_in_a_valid(buffer_1_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_1_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_1_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_1_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_1_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_1_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_1_auto_in_a_bits_mask),
    .auto_in_a_bits_data(buffer_1_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(buffer_1_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_1_auto_in_d_ready),
    .auto_in_d_valid(buffer_1_auto_in_d_valid),
    .auto_in_d_bits_opcode(buffer_1_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(buffer_1_auto_in_d_bits_param),
    .auto_in_d_bits_size(buffer_1_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_1_auto_in_d_bits_source),
    .auto_in_d_bits_sink(buffer_1_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(buffer_1_auto_in_d_bits_denied),
    .auto_in_d_bits_data(buffer_1_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(buffer_1_auto_in_d_bits_corrupt),
    .auto_out_a_ready(buffer_1_auto_out_a_ready),
    .auto_out_a_valid(buffer_1_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_1_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_1_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_1_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_1_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_1_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_1_auto_out_a_bits_mask),
    .auto_out_a_bits_data(buffer_1_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(buffer_1_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_1_auto_out_d_ready),
    .auto_out_d_valid(buffer_1_auto_out_d_valid),
    .auto_out_d_bits_opcode(buffer_1_auto_out_d_bits_opcode),
    .auto_out_d_bits_param(buffer_1_auto_out_d_bits_param),
    .auto_out_d_bits_size(buffer_1_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_1_auto_out_d_bits_source),
    .auto_out_d_bits_sink(buffer_1_auto_out_d_bits_sink),
    .auto_out_d_bits_denied(buffer_1_auto_out_d_bits_denied),
    .auto_out_d_bits_data(buffer_1_auto_out_d_bits_data),
    .auto_out_d_bits_corrupt(buffer_1_auto_out_d_bits_corrupt)
  );
  SimpleLazyModule_1 coupler_to_bus_named_pbus ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33939.4]
    .clock(coupler_to_bus_named_pbus_clock),
    .reset(coupler_to_bus_named_pbus_reset),
    .auto_widget_in_a_ready(coupler_to_bus_named_pbus_auto_widget_in_a_ready),
    .auto_widget_in_a_valid(coupler_to_bus_named_pbus_auto_widget_in_a_valid),
    .auto_widget_in_a_bits_opcode(coupler_to_bus_named_pbus_auto_widget_in_a_bits_opcode),
    .auto_widget_in_a_bits_param(coupler_to_bus_named_pbus_auto_widget_in_a_bits_param),
    .auto_widget_in_a_bits_size(coupler_to_bus_named_pbus_auto_widget_in_a_bits_size),
    .auto_widget_in_a_bits_source(coupler_to_bus_named_pbus_auto_widget_in_a_bits_source),
    .auto_widget_in_a_bits_address(coupler_to_bus_named_pbus_auto_widget_in_a_bits_address),
    .auto_widget_in_a_bits_mask(coupler_to_bus_named_pbus_auto_widget_in_a_bits_mask),
    .auto_widget_in_a_bits_data(coupler_to_bus_named_pbus_auto_widget_in_a_bits_data),
    .auto_widget_in_a_bits_corrupt(coupler_to_bus_named_pbus_auto_widget_in_a_bits_corrupt),
    .auto_widget_in_d_ready(coupler_to_bus_named_pbus_auto_widget_in_d_ready),
    .auto_widget_in_d_valid(coupler_to_bus_named_pbus_auto_widget_in_d_valid),
    .auto_widget_in_d_bits_opcode(coupler_to_bus_named_pbus_auto_widget_in_d_bits_opcode),
    .auto_widget_in_d_bits_param(coupler_to_bus_named_pbus_auto_widget_in_d_bits_param),
    .auto_widget_in_d_bits_size(coupler_to_bus_named_pbus_auto_widget_in_d_bits_size),
    .auto_widget_in_d_bits_source(coupler_to_bus_named_pbus_auto_widget_in_d_bits_source),
    .auto_widget_in_d_bits_sink(coupler_to_bus_named_pbus_auto_widget_in_d_bits_sink),
    .auto_widget_in_d_bits_denied(coupler_to_bus_named_pbus_auto_widget_in_d_bits_denied),
    .auto_widget_in_d_bits_data(coupler_to_bus_named_pbus_auto_widget_in_d_bits_data),
    .auto_widget_in_d_bits_corrupt(coupler_to_bus_named_pbus_auto_widget_in_d_bits_corrupt),
    .auto_from_cbus_out_a_ready(coupler_to_bus_named_pbus_auto_from_cbus_out_a_ready),
    .auto_from_cbus_out_a_valid(coupler_to_bus_named_pbus_auto_from_cbus_out_a_valid),
    .auto_from_cbus_out_a_bits_opcode(coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_opcode),
    .auto_from_cbus_out_a_bits_param(coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_param),
    .auto_from_cbus_out_a_bits_size(coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_size),
    .auto_from_cbus_out_a_bits_source(coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_source),
    .auto_from_cbus_out_a_bits_address(coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_address),
    .auto_from_cbus_out_a_bits_mask(coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_mask),
    .auto_from_cbus_out_a_bits_data(coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_data),
    .auto_from_cbus_out_a_bits_corrupt(coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_corrupt),
    .auto_from_cbus_out_d_ready(coupler_to_bus_named_pbus_auto_from_cbus_out_d_ready),
    .auto_from_cbus_out_d_valid(coupler_to_bus_named_pbus_auto_from_cbus_out_d_valid),
    .auto_from_cbus_out_d_bits_opcode(coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_opcode),
    .auto_from_cbus_out_d_bits_param(coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_param),
    .auto_from_cbus_out_d_bits_size(coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_size),
    .auto_from_cbus_out_d_bits_source(coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_source),
    .auto_from_cbus_out_d_bits_sink(coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_sink),
    .auto_from_cbus_out_d_bits_denied(coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_denied),
    .auto_from_cbus_out_d_bits_data(coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_data),
    .auto_from_cbus_out_d_bits_corrupt(coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_corrupt)
  );
  SimpleLazyModule_2 coupler_to_slave_named_plic ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33945.4]
    .clock(coupler_to_slave_named_plic_clock),
    .reset(coupler_to_slave_named_plic_reset),
    .auto_buffer_in_a_ready(coupler_to_slave_named_plic_auto_buffer_in_a_ready),
    .auto_buffer_in_a_valid(coupler_to_slave_named_plic_auto_buffer_in_a_valid),
    .auto_buffer_in_a_bits_opcode(coupler_to_slave_named_plic_auto_buffer_in_a_bits_opcode),
    .auto_buffer_in_a_bits_param(coupler_to_slave_named_plic_auto_buffer_in_a_bits_param),
    .auto_buffer_in_a_bits_size(coupler_to_slave_named_plic_auto_buffer_in_a_bits_size),
    .auto_buffer_in_a_bits_source(coupler_to_slave_named_plic_auto_buffer_in_a_bits_source),
    .auto_buffer_in_a_bits_address(coupler_to_slave_named_plic_auto_buffer_in_a_bits_address),
    .auto_buffer_in_a_bits_mask(coupler_to_slave_named_plic_auto_buffer_in_a_bits_mask),
    .auto_buffer_in_a_bits_data(coupler_to_slave_named_plic_auto_buffer_in_a_bits_data),
    .auto_buffer_in_a_bits_corrupt(coupler_to_slave_named_plic_auto_buffer_in_a_bits_corrupt),
    .auto_buffer_in_d_ready(coupler_to_slave_named_plic_auto_buffer_in_d_ready),
    .auto_buffer_in_d_valid(coupler_to_slave_named_plic_auto_buffer_in_d_valid),
    .auto_buffer_in_d_bits_opcode(coupler_to_slave_named_plic_auto_buffer_in_d_bits_opcode),
    .auto_buffer_in_d_bits_size(coupler_to_slave_named_plic_auto_buffer_in_d_bits_size),
    .auto_buffer_in_d_bits_source(coupler_to_slave_named_plic_auto_buffer_in_d_bits_source),
    .auto_buffer_in_d_bits_data(coupler_to_slave_named_plic_auto_buffer_in_d_bits_data),
    .auto_fragmenter_out_a_ready(coupler_to_slave_named_plic_auto_fragmenter_out_a_ready),
    .auto_fragmenter_out_a_valid(coupler_to_slave_named_plic_auto_fragmenter_out_a_valid),
    .auto_fragmenter_out_a_bits_opcode(coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_opcode),
    .auto_fragmenter_out_a_bits_param(coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_param),
    .auto_fragmenter_out_a_bits_size(coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_size),
    .auto_fragmenter_out_a_bits_source(coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_source),
    .auto_fragmenter_out_a_bits_address(coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_address),
    .auto_fragmenter_out_a_bits_mask(coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_mask),
    .auto_fragmenter_out_a_bits_data(coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_data),
    .auto_fragmenter_out_a_bits_corrupt(coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_corrupt),
    .auto_fragmenter_out_d_ready(coupler_to_slave_named_plic_auto_fragmenter_out_d_ready),
    .auto_fragmenter_out_d_valid(coupler_to_slave_named_plic_auto_fragmenter_out_d_valid),
    .auto_fragmenter_out_d_bits_opcode(coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_opcode),
    .auto_fragmenter_out_d_bits_size(coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_size),
    .auto_fragmenter_out_d_bits_source(coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_source),
    .auto_fragmenter_out_d_bits_data(coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_data)
  );
  SimpleLazyModule_3 coupler_to_slave_named_clint ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33951.4]
    .clock(coupler_to_slave_named_clint_clock),
    .reset(coupler_to_slave_named_clint_reset),
    .auto_buffer_in_a_ready(coupler_to_slave_named_clint_auto_buffer_in_a_ready),
    .auto_buffer_in_a_valid(coupler_to_slave_named_clint_auto_buffer_in_a_valid),
    .auto_buffer_in_a_bits_opcode(coupler_to_slave_named_clint_auto_buffer_in_a_bits_opcode),
    .auto_buffer_in_a_bits_param(coupler_to_slave_named_clint_auto_buffer_in_a_bits_param),
    .auto_buffer_in_a_bits_size(coupler_to_slave_named_clint_auto_buffer_in_a_bits_size),
    .auto_buffer_in_a_bits_source(coupler_to_slave_named_clint_auto_buffer_in_a_bits_source),
    .auto_buffer_in_a_bits_address(coupler_to_slave_named_clint_auto_buffer_in_a_bits_address),
    .auto_buffer_in_a_bits_mask(coupler_to_slave_named_clint_auto_buffer_in_a_bits_mask),
    .auto_buffer_in_a_bits_data(coupler_to_slave_named_clint_auto_buffer_in_a_bits_data),
    .auto_buffer_in_a_bits_corrupt(coupler_to_slave_named_clint_auto_buffer_in_a_bits_corrupt),
    .auto_buffer_in_d_ready(coupler_to_slave_named_clint_auto_buffer_in_d_ready),
    .auto_buffer_in_d_valid(coupler_to_slave_named_clint_auto_buffer_in_d_valid),
    .auto_buffer_in_d_bits_opcode(coupler_to_slave_named_clint_auto_buffer_in_d_bits_opcode),
    .auto_buffer_in_d_bits_size(coupler_to_slave_named_clint_auto_buffer_in_d_bits_size),
    .auto_buffer_in_d_bits_source(coupler_to_slave_named_clint_auto_buffer_in_d_bits_source),
    .auto_buffer_in_d_bits_data(coupler_to_slave_named_clint_auto_buffer_in_d_bits_data),
    .auto_fragmenter_out_a_ready(coupler_to_slave_named_clint_auto_fragmenter_out_a_ready),
    .auto_fragmenter_out_a_valid(coupler_to_slave_named_clint_auto_fragmenter_out_a_valid),
    .auto_fragmenter_out_a_bits_opcode(coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_opcode),
    .auto_fragmenter_out_a_bits_param(coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_param),
    .auto_fragmenter_out_a_bits_size(coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_size),
    .auto_fragmenter_out_a_bits_source(coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_source),
    .auto_fragmenter_out_a_bits_address(coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_address),
    .auto_fragmenter_out_a_bits_mask(coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_mask),
    .auto_fragmenter_out_a_bits_data(coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_data),
    .auto_fragmenter_out_a_bits_corrupt(coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_corrupt),
    .auto_fragmenter_out_d_ready(coupler_to_slave_named_clint_auto_fragmenter_out_d_ready),
    .auto_fragmenter_out_d_valid(coupler_to_slave_named_clint_auto_fragmenter_out_d_valid),
    .auto_fragmenter_out_d_bits_opcode(coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_opcode),
    .auto_fragmenter_out_d_bits_size(coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_size),
    .auto_fragmenter_out_d_bits_source(coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_source),
    .auto_fragmenter_out_d_bits_data(coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_data)
  );
  SimpleLazyModule_4 coupler_to_slave_named_debug ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33957.4]
    .clock(coupler_to_slave_named_debug_clock),
    .reset(coupler_to_slave_named_debug_reset),
    .auto_buffer_in_a_ready(coupler_to_slave_named_debug_auto_buffer_in_a_ready),
    .auto_buffer_in_a_valid(coupler_to_slave_named_debug_auto_buffer_in_a_valid),
    .auto_buffer_in_a_bits_opcode(coupler_to_slave_named_debug_auto_buffer_in_a_bits_opcode),
    .auto_buffer_in_a_bits_param(coupler_to_slave_named_debug_auto_buffer_in_a_bits_param),
    .auto_buffer_in_a_bits_size(coupler_to_slave_named_debug_auto_buffer_in_a_bits_size),
    .auto_buffer_in_a_bits_source(coupler_to_slave_named_debug_auto_buffer_in_a_bits_source),
    .auto_buffer_in_a_bits_address(coupler_to_slave_named_debug_auto_buffer_in_a_bits_address),
    .auto_buffer_in_a_bits_mask(coupler_to_slave_named_debug_auto_buffer_in_a_bits_mask),
    .auto_buffer_in_a_bits_data(coupler_to_slave_named_debug_auto_buffer_in_a_bits_data),
    .auto_buffer_in_a_bits_corrupt(coupler_to_slave_named_debug_auto_buffer_in_a_bits_corrupt),
    .auto_buffer_in_d_ready(coupler_to_slave_named_debug_auto_buffer_in_d_ready),
    .auto_buffer_in_d_valid(coupler_to_slave_named_debug_auto_buffer_in_d_valid),
    .auto_buffer_in_d_bits_opcode(coupler_to_slave_named_debug_auto_buffer_in_d_bits_opcode),
    .auto_buffer_in_d_bits_size(coupler_to_slave_named_debug_auto_buffer_in_d_bits_size),
    .auto_buffer_in_d_bits_source(coupler_to_slave_named_debug_auto_buffer_in_d_bits_source),
    .auto_buffer_in_d_bits_data(coupler_to_slave_named_debug_auto_buffer_in_d_bits_data),
    .auto_fragmenter_out_a_ready(coupler_to_slave_named_debug_auto_fragmenter_out_a_ready),
    .auto_fragmenter_out_a_valid(coupler_to_slave_named_debug_auto_fragmenter_out_a_valid),
    .auto_fragmenter_out_a_bits_opcode(coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_opcode),
    .auto_fragmenter_out_a_bits_param(coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_param),
    .auto_fragmenter_out_a_bits_size(coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_size),
    .auto_fragmenter_out_a_bits_source(coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_source),
    .auto_fragmenter_out_a_bits_address(coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_address),
    .auto_fragmenter_out_a_bits_mask(coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_mask),
    .auto_fragmenter_out_a_bits_data(coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_data),
    .auto_fragmenter_out_a_bits_corrupt(coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_corrupt),
    .auto_fragmenter_out_d_ready(coupler_to_slave_named_debug_auto_fragmenter_out_d_ready),
    .auto_fragmenter_out_d_valid(coupler_to_slave_named_debug_auto_fragmenter_out_d_valid),
    .auto_fragmenter_out_d_bits_opcode(coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_opcode),
    .auto_fragmenter_out_d_bits_size(coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_size),
    .auto_fragmenter_out_d_bits_source(coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_source),
    .auto_fragmenter_out_d_bits_data(coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_data)
  );
  SimpleLazyModule_5 coupler_to_tile_named_tile ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33963.4]
    .clock(coupler_to_tile_named_tile_clock),
    .reset(coupler_to_tile_named_tile_reset),
    .auto_buffer_in_a_ready(coupler_to_tile_named_tile_auto_buffer_in_a_ready),
    .auto_buffer_in_a_valid(coupler_to_tile_named_tile_auto_buffer_in_a_valid),
    .auto_buffer_in_a_bits_opcode(coupler_to_tile_named_tile_auto_buffer_in_a_bits_opcode),
    .auto_buffer_in_a_bits_param(coupler_to_tile_named_tile_auto_buffer_in_a_bits_param),
    .auto_buffer_in_a_bits_size(coupler_to_tile_named_tile_auto_buffer_in_a_bits_size),
    .auto_buffer_in_a_bits_source(coupler_to_tile_named_tile_auto_buffer_in_a_bits_source),
    .auto_buffer_in_a_bits_address(coupler_to_tile_named_tile_auto_buffer_in_a_bits_address),
    .auto_buffer_in_a_bits_mask(coupler_to_tile_named_tile_auto_buffer_in_a_bits_mask),
    .auto_buffer_in_a_bits_data(coupler_to_tile_named_tile_auto_buffer_in_a_bits_data),
    .auto_buffer_in_a_bits_corrupt(coupler_to_tile_named_tile_auto_buffer_in_a_bits_corrupt),
    .auto_buffer_in_d_ready(coupler_to_tile_named_tile_auto_buffer_in_d_ready),
    .auto_buffer_in_d_valid(coupler_to_tile_named_tile_auto_buffer_in_d_valid),
    .auto_buffer_in_d_bits_opcode(coupler_to_tile_named_tile_auto_buffer_in_d_bits_opcode),
    .auto_buffer_in_d_bits_param(coupler_to_tile_named_tile_auto_buffer_in_d_bits_param),
    .auto_buffer_in_d_bits_size(coupler_to_tile_named_tile_auto_buffer_in_d_bits_size),
    .auto_buffer_in_d_bits_source(coupler_to_tile_named_tile_auto_buffer_in_d_bits_source),
    .auto_buffer_in_d_bits_sink(coupler_to_tile_named_tile_auto_buffer_in_d_bits_sink),
    .auto_buffer_in_d_bits_denied(coupler_to_tile_named_tile_auto_buffer_in_d_bits_denied),
    .auto_buffer_in_d_bits_data(coupler_to_tile_named_tile_auto_buffer_in_d_bits_data),
    .auto_buffer_in_d_bits_corrupt(coupler_to_tile_named_tile_auto_buffer_in_d_bits_corrupt),
    .auto_tl_slave_xing_out_a_ready(coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_ready),
    .auto_tl_slave_xing_out_a_valid(coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_valid),
    .auto_tl_slave_xing_out_a_bits_opcode(coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_opcode),
    .auto_tl_slave_xing_out_a_bits_param(coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_param),
    .auto_tl_slave_xing_out_a_bits_size(coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_size),
    .auto_tl_slave_xing_out_a_bits_source(coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_source),
    .auto_tl_slave_xing_out_a_bits_address(coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_address),
    .auto_tl_slave_xing_out_a_bits_mask(coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_mask),
    .auto_tl_slave_xing_out_a_bits_data(coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_data),
    .auto_tl_slave_xing_out_a_bits_corrupt(coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_corrupt),
    .auto_tl_slave_xing_out_d_ready(coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_ready),
    .auto_tl_slave_xing_out_d_valid(coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_valid),
    .auto_tl_slave_xing_out_d_bits_opcode(coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_opcode),
    .auto_tl_slave_xing_out_d_bits_param(coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_param),
    .auto_tl_slave_xing_out_d_bits_size(coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_size),
    .auto_tl_slave_xing_out_d_bits_source(coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_source),
    .auto_tl_slave_xing_out_d_bits_sink(coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_sink),
    .auto_tl_slave_xing_out_d_bits_denied(coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_denied),
    .auto_tl_slave_xing_out_d_bits_data(coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_data),
    .auto_tl_slave_xing_out_d_bits_corrupt(coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_corrupt)
  );
  SimpleLazyModule_6 coupler_to_slave_named_MaskROM ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33969.4]
    .clock(coupler_to_slave_named_MaskROM_clock),
    .reset(coupler_to_slave_named_MaskROM_reset),
    .auto_buffer_in_a_ready(coupler_to_slave_named_MaskROM_auto_buffer_in_a_ready),
    .auto_buffer_in_a_valid(coupler_to_slave_named_MaskROM_auto_buffer_in_a_valid),
    .auto_buffer_in_a_bits_opcode(coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_opcode),
    .auto_buffer_in_a_bits_param(coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_param),
    .auto_buffer_in_a_bits_size(coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_size),
    .auto_buffer_in_a_bits_source(coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_source),
    .auto_buffer_in_a_bits_address(coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_address),
    .auto_buffer_in_a_bits_mask(coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_mask),
    .auto_buffer_in_a_bits_corrupt(coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_corrupt),
    .auto_buffer_in_d_ready(coupler_to_slave_named_MaskROM_auto_buffer_in_d_ready),
    .auto_buffer_in_d_valid(coupler_to_slave_named_MaskROM_auto_buffer_in_d_valid),
    .auto_buffer_in_d_bits_size(coupler_to_slave_named_MaskROM_auto_buffer_in_d_bits_size),
    .auto_buffer_in_d_bits_source(coupler_to_slave_named_MaskROM_auto_buffer_in_d_bits_source),
    .auto_buffer_in_d_bits_data(coupler_to_slave_named_MaskROM_auto_buffer_in_d_bits_data),
    .auto_fragmenter_out_a_ready(coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_ready),
    .auto_fragmenter_out_a_valid(coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_valid),
    .auto_fragmenter_out_a_bits_opcode(coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_opcode),
    .auto_fragmenter_out_a_bits_param(coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_param),
    .auto_fragmenter_out_a_bits_size(coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_size),
    .auto_fragmenter_out_a_bits_source(coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_source),
    .auto_fragmenter_out_a_bits_address(coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_address),
    .auto_fragmenter_out_a_bits_mask(coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_mask),
    .auto_fragmenter_out_a_bits_corrupt(coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_corrupt),
    .auto_fragmenter_out_d_ready(coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_ready),
    .auto_fragmenter_out_d_valid(coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_valid),
    .auto_fragmenter_out_d_bits_size(coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_bits_size),
    .auto_fragmenter_out_d_bits_source(coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_bits_source),
    .auto_fragmenter_out_d_bits_data(coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_bits_data)
  );
  SimpleLazyModule_7 coupler_to_slave_named_aon ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@33975.4]
    .clock(coupler_to_slave_named_aon_clock),
    .reset(coupler_to_slave_named_aon_reset),
    .auto_buffer_in_a_ready(coupler_to_slave_named_aon_auto_buffer_in_a_ready),
    .auto_buffer_in_a_valid(coupler_to_slave_named_aon_auto_buffer_in_a_valid),
    .auto_buffer_in_a_bits_opcode(coupler_to_slave_named_aon_auto_buffer_in_a_bits_opcode),
    .auto_buffer_in_a_bits_param(coupler_to_slave_named_aon_auto_buffer_in_a_bits_param),
    .auto_buffer_in_a_bits_size(coupler_to_slave_named_aon_auto_buffer_in_a_bits_size),
    .auto_buffer_in_a_bits_source(coupler_to_slave_named_aon_auto_buffer_in_a_bits_source),
    .auto_buffer_in_a_bits_address(coupler_to_slave_named_aon_auto_buffer_in_a_bits_address),
    .auto_buffer_in_a_bits_mask(coupler_to_slave_named_aon_auto_buffer_in_a_bits_mask),
    .auto_buffer_in_a_bits_data(coupler_to_slave_named_aon_auto_buffer_in_a_bits_data),
    .auto_buffer_in_a_bits_corrupt(coupler_to_slave_named_aon_auto_buffer_in_a_bits_corrupt),
    .auto_buffer_in_d_ready(coupler_to_slave_named_aon_auto_buffer_in_d_ready),
    .auto_buffer_in_d_valid(coupler_to_slave_named_aon_auto_buffer_in_d_valid),
    .auto_buffer_in_d_bits_opcode(coupler_to_slave_named_aon_auto_buffer_in_d_bits_opcode),
    .auto_buffer_in_d_bits_param(coupler_to_slave_named_aon_auto_buffer_in_d_bits_param),
    .auto_buffer_in_d_bits_size(coupler_to_slave_named_aon_auto_buffer_in_d_bits_size),
    .auto_buffer_in_d_bits_source(coupler_to_slave_named_aon_auto_buffer_in_d_bits_source),
    .auto_buffer_in_d_bits_sink(coupler_to_slave_named_aon_auto_buffer_in_d_bits_sink),
    .auto_buffer_in_d_bits_denied(coupler_to_slave_named_aon_auto_buffer_in_d_bits_denied),
    .auto_buffer_in_d_bits_data(coupler_to_slave_named_aon_auto_buffer_in_d_bits_data),
    .auto_buffer_in_d_bits_corrupt(coupler_to_slave_named_aon_auto_buffer_in_d_bits_corrupt),
    .auto_asource_out_a_mem_0_opcode(coupler_to_slave_named_aon_auto_asource_out_a_mem_0_opcode),
    .auto_asource_out_a_mem_0_param(coupler_to_slave_named_aon_auto_asource_out_a_mem_0_param),
    .auto_asource_out_a_mem_0_size(coupler_to_slave_named_aon_auto_asource_out_a_mem_0_size),
    .auto_asource_out_a_mem_0_source(coupler_to_slave_named_aon_auto_asource_out_a_mem_0_source),
    .auto_asource_out_a_mem_0_address(coupler_to_slave_named_aon_auto_asource_out_a_mem_0_address),
    .auto_asource_out_a_mem_0_mask(coupler_to_slave_named_aon_auto_asource_out_a_mem_0_mask),
    .auto_asource_out_a_mem_0_data(coupler_to_slave_named_aon_auto_asource_out_a_mem_0_data),
    .auto_asource_out_a_mem_0_corrupt(coupler_to_slave_named_aon_auto_asource_out_a_mem_0_corrupt),
    .auto_asource_out_a_ridx(coupler_to_slave_named_aon_auto_asource_out_a_ridx),
    .auto_asource_out_a_widx(coupler_to_slave_named_aon_auto_asource_out_a_widx),
    .auto_asource_out_a_safe_ridx_valid(coupler_to_slave_named_aon_auto_asource_out_a_safe_ridx_valid),
    .auto_asource_out_a_safe_widx_valid(coupler_to_slave_named_aon_auto_asource_out_a_safe_widx_valid),
    .auto_asource_out_a_safe_source_reset_n(coupler_to_slave_named_aon_auto_asource_out_a_safe_source_reset_n),
    .auto_asource_out_a_safe_sink_reset_n(coupler_to_slave_named_aon_auto_asource_out_a_safe_sink_reset_n),
    .auto_asource_out_d_mem_0_opcode(coupler_to_slave_named_aon_auto_asource_out_d_mem_0_opcode),
    .auto_asource_out_d_mem_0_param(coupler_to_slave_named_aon_auto_asource_out_d_mem_0_param),
    .auto_asource_out_d_mem_0_size(coupler_to_slave_named_aon_auto_asource_out_d_mem_0_size),
    .auto_asource_out_d_mem_0_source(coupler_to_slave_named_aon_auto_asource_out_d_mem_0_source),
    .auto_asource_out_d_mem_0_sink(coupler_to_slave_named_aon_auto_asource_out_d_mem_0_sink),
    .auto_asource_out_d_mem_0_denied(coupler_to_slave_named_aon_auto_asource_out_d_mem_0_denied),
    .auto_asource_out_d_mem_0_data(coupler_to_slave_named_aon_auto_asource_out_d_mem_0_data),
    .auto_asource_out_d_mem_0_corrupt(coupler_to_slave_named_aon_auto_asource_out_d_mem_0_corrupt),
    .auto_asource_out_d_ridx(coupler_to_slave_named_aon_auto_asource_out_d_ridx),
    .auto_asource_out_d_widx(coupler_to_slave_named_aon_auto_asource_out_d_widx),
    .auto_asource_out_d_safe_ridx_valid(coupler_to_slave_named_aon_auto_asource_out_d_safe_ridx_valid),
    .auto_asource_out_d_safe_widx_valid(coupler_to_slave_named_aon_auto_asource_out_d_safe_widx_valid),
    .auto_asource_out_d_safe_source_reset_n(coupler_to_slave_named_aon_auto_asource_out_d_safe_source_reset_n),
    .auto_asource_out_d_safe_sink_reset_n(coupler_to_slave_named_aon_auto_asource_out_d_safe_sink_reset_n)
  );
  assign auto_coupler_to_slave_named_aon_asource_out_a_mem_0_opcode = coupler_to_slave_named_aon_auto_asource_out_a_mem_0_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
  assign auto_coupler_to_slave_named_aon_asource_out_a_mem_0_param = coupler_to_slave_named_aon_auto_asource_out_a_mem_0_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
  assign auto_coupler_to_slave_named_aon_asource_out_a_mem_0_size = coupler_to_slave_named_aon_auto_asource_out_a_mem_0_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
  assign auto_coupler_to_slave_named_aon_asource_out_a_mem_0_source = coupler_to_slave_named_aon_auto_asource_out_a_mem_0_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
  assign auto_coupler_to_slave_named_aon_asource_out_a_mem_0_address = coupler_to_slave_named_aon_auto_asource_out_a_mem_0_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
  assign auto_coupler_to_slave_named_aon_asource_out_a_mem_0_mask = coupler_to_slave_named_aon_auto_asource_out_a_mem_0_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
  assign auto_coupler_to_slave_named_aon_asource_out_a_mem_0_data = coupler_to_slave_named_aon_auto_asource_out_a_mem_0_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
  assign auto_coupler_to_slave_named_aon_asource_out_a_mem_0_corrupt = coupler_to_slave_named_aon_auto_asource_out_a_mem_0_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
  assign auto_coupler_to_slave_named_aon_asource_out_a_widx = coupler_to_slave_named_aon_auto_asource_out_a_widx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
  assign auto_coupler_to_slave_named_aon_asource_out_a_safe_widx_valid = coupler_to_slave_named_aon_auto_asource_out_a_safe_widx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
  assign auto_coupler_to_slave_named_aon_asource_out_a_safe_source_reset_n = coupler_to_slave_named_aon_auto_asource_out_a_safe_source_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
  assign auto_coupler_to_slave_named_aon_asource_out_d_ridx = coupler_to_slave_named_aon_auto_asource_out_d_ridx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
  assign auto_coupler_to_slave_named_aon_asource_out_d_safe_ridx_valid = coupler_to_slave_named_aon_auto_asource_out_d_safe_ridx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
  assign auto_coupler_to_slave_named_aon_asource_out_d_safe_sink_reset_n = coupler_to_slave_named_aon_auto_asource_out_d_safe_sink_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
  assign auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid = coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
  assign auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_opcode = coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
  assign auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_param = coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
  assign auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_size = coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
  assign auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_source = coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
  assign auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_address = coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
  assign auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_mask = coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
  assign auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt = coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
  assign auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready = coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
  assign auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_valid = coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
  assign auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_opcode = coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
  assign auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_param = coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
  assign auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_size = coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
  assign auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_source = coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
  assign auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_address = coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
  assign auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_mask = coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
  assign auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_data = coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
  assign auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_corrupt = coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
  assign auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_ready = coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
  assign auto_coupler_to_slave_named_debug_fragmenter_out_a_valid = coupler_to_slave_named_debug_auto_fragmenter_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
  assign auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_opcode = coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
  assign auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_param = coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
  assign auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_size = coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
  assign auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_source = coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
  assign auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_address = coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
  assign auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_mask = coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
  assign auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_data = coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
  assign auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt = coupler_to_slave_named_debug_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
  assign auto_coupler_to_slave_named_debug_fragmenter_out_d_ready = coupler_to_slave_named_debug_auto_fragmenter_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
  assign auto_coupler_to_slave_named_clint_fragmenter_out_a_valid = coupler_to_slave_named_clint_auto_fragmenter_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
  assign auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_opcode = coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
  assign auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_param = coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
  assign auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_size = coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
  assign auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_source = coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
  assign auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_address = coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
  assign auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_mask = coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
  assign auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_data = coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
  assign auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt = coupler_to_slave_named_clint_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
  assign auto_coupler_to_slave_named_clint_fragmenter_out_d_ready = coupler_to_slave_named_clint_auto_fragmenter_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
  assign auto_coupler_to_slave_named_plic_fragmenter_out_a_valid = coupler_to_slave_named_plic_auto_fragmenter_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
  assign auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_opcode = coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
  assign auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_param = coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
  assign auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_size = coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
  assign auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_source = coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
  assign auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_address = coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
  assign auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_mask = coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
  assign auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_data = coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
  assign auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt = coupler_to_slave_named_plic_auto_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
  assign auto_coupler_to_slave_named_plic_fragmenter_out_d_ready = coupler_to_slave_named_plic_auto_fragmenter_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
  assign auto_coupler_to_bus_named_pbus_from_cbus_out_a_valid = coupler_to_bus_named_pbus_auto_from_cbus_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
  assign auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_opcode = coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
  assign auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_param = coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
  assign auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_size = coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
  assign auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_source = coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
  assign auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address = coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
  assign auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_mask = coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
  assign auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_data = coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
  assign auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_corrupt = coupler_to_bus_named_pbus_auto_from_cbus_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
  assign auto_coupler_to_bus_named_pbus_from_cbus_out_d_ready = coupler_to_bus_named_pbus_auto_from_cbus_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
  assign auto_from_sbus_in_a_ready = buffer_1_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33998.4]
  assign auto_from_sbus_in_d_valid = buffer_1_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33998.4]
  assign auto_from_sbus_in_d_bits_opcode = buffer_1_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33998.4]
  assign auto_from_sbus_in_d_bits_param = buffer_1_auto_in_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33998.4]
  assign auto_from_sbus_in_d_bits_size = buffer_1_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33998.4]
  assign auto_from_sbus_in_d_bits_source = buffer_1_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33998.4]
  assign auto_from_sbus_in_d_bits_sink = buffer_1_auto_in_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33998.4]
  assign auto_from_sbus_in_d_bits_denied = buffer_1_auto_in_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33998.4]
  assign auto_from_sbus_in_d_bits_data = buffer_1_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33998.4]
  assign auto_from_sbus_in_d_bits_corrupt = buffer_1_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33998.4]
  assign in_xbar_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33907.4]
  assign in_xbar_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33908.4]
  assign in_xbar_auto_in_a_valid = buffer_1_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
  assign in_xbar_auto_in_a_bits_opcode = buffer_1_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
  assign in_xbar_auto_in_a_bits_param = buffer_1_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
  assign in_xbar_auto_in_a_bits_size = buffer_1_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
  assign in_xbar_auto_in_a_bits_source = buffer_1_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
  assign in_xbar_auto_in_a_bits_address = buffer_1_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
  assign in_xbar_auto_in_a_bits_mask = buffer_1_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
  assign in_xbar_auto_in_a_bits_data = buffer_1_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
  assign in_xbar_auto_in_a_bits_corrupt = buffer_1_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
  assign in_xbar_auto_in_d_ready = buffer_1_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
  assign in_xbar_auto_out_a_ready = atomics_auto_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
  assign in_xbar_auto_out_d_valid = atomics_auto_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
  assign in_xbar_auto_out_d_bits_opcode = atomics_auto_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
  assign in_xbar_auto_out_d_bits_param = atomics_auto_in_d_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
  assign in_xbar_auto_out_d_bits_size = atomics_auto_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
  assign in_xbar_auto_out_d_bits_source = atomics_auto_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
  assign in_xbar_auto_out_d_bits_sink = atomics_auto_in_d_bits_sink; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
  assign in_xbar_auto_out_d_bits_denied = atomics_auto_in_d_bits_denied; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
  assign in_xbar_auto_out_d_bits_data = atomics_auto_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
  assign in_xbar_auto_out_d_bits_corrupt = atomics_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
  assign out_xbar_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33913.4]
  assign out_xbar_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33914.4]
  assign out_xbar_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
  assign out_xbar_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
  assign out_xbar_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
  assign out_xbar_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
  assign out_xbar_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
  assign out_xbar_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
  assign out_xbar_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
  assign out_xbar_auto_in_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
  assign out_xbar_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
  assign out_xbar_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
  assign out_xbar_auto_out_6_a_ready = coupler_to_slave_named_aon_auto_buffer_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
  assign out_xbar_auto_out_6_d_valid = coupler_to_slave_named_aon_auto_buffer_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
  assign out_xbar_auto_out_6_d_bits_opcode = coupler_to_slave_named_aon_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
  assign out_xbar_auto_out_6_d_bits_param = coupler_to_slave_named_aon_auto_buffer_in_d_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
  assign out_xbar_auto_out_6_d_bits_size = coupler_to_slave_named_aon_auto_buffer_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
  assign out_xbar_auto_out_6_d_bits_source = coupler_to_slave_named_aon_auto_buffer_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
  assign out_xbar_auto_out_6_d_bits_sink = coupler_to_slave_named_aon_auto_buffer_in_d_bits_sink; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
  assign out_xbar_auto_out_6_d_bits_denied = coupler_to_slave_named_aon_auto_buffer_in_d_bits_denied; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
  assign out_xbar_auto_out_6_d_bits_data = coupler_to_slave_named_aon_auto_buffer_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
  assign out_xbar_auto_out_6_d_bits_corrupt = coupler_to_slave_named_aon_auto_buffer_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
  assign out_xbar_auto_out_5_a_ready = coupler_to_slave_named_MaskROM_auto_buffer_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
  assign out_xbar_auto_out_5_d_valid = coupler_to_slave_named_MaskROM_auto_buffer_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
  assign out_xbar_auto_out_5_d_bits_size = coupler_to_slave_named_MaskROM_auto_buffer_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
  assign out_xbar_auto_out_5_d_bits_source = coupler_to_slave_named_MaskROM_auto_buffer_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
  assign out_xbar_auto_out_5_d_bits_data = coupler_to_slave_named_MaskROM_auto_buffer_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
  assign out_xbar_auto_out_4_a_ready = coupler_to_tile_named_tile_auto_buffer_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
  assign out_xbar_auto_out_4_d_valid = coupler_to_tile_named_tile_auto_buffer_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
  assign out_xbar_auto_out_4_d_bits_opcode = coupler_to_tile_named_tile_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
  assign out_xbar_auto_out_4_d_bits_param = coupler_to_tile_named_tile_auto_buffer_in_d_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
  assign out_xbar_auto_out_4_d_bits_size = coupler_to_tile_named_tile_auto_buffer_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
  assign out_xbar_auto_out_4_d_bits_source = coupler_to_tile_named_tile_auto_buffer_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
  assign out_xbar_auto_out_4_d_bits_sink = coupler_to_tile_named_tile_auto_buffer_in_d_bits_sink; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
  assign out_xbar_auto_out_4_d_bits_denied = coupler_to_tile_named_tile_auto_buffer_in_d_bits_denied; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
  assign out_xbar_auto_out_4_d_bits_data = coupler_to_tile_named_tile_auto_buffer_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
  assign out_xbar_auto_out_4_d_bits_corrupt = coupler_to_tile_named_tile_auto_buffer_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
  assign out_xbar_auto_out_3_a_ready = coupler_to_slave_named_debug_auto_buffer_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
  assign out_xbar_auto_out_3_d_valid = coupler_to_slave_named_debug_auto_buffer_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
  assign out_xbar_auto_out_3_d_bits_opcode = coupler_to_slave_named_debug_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
  assign out_xbar_auto_out_3_d_bits_size = coupler_to_slave_named_debug_auto_buffer_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
  assign out_xbar_auto_out_3_d_bits_source = coupler_to_slave_named_debug_auto_buffer_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
  assign out_xbar_auto_out_3_d_bits_data = coupler_to_slave_named_debug_auto_buffer_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
  assign out_xbar_auto_out_2_a_ready = coupler_to_slave_named_clint_auto_buffer_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
  assign out_xbar_auto_out_2_d_valid = coupler_to_slave_named_clint_auto_buffer_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
  assign out_xbar_auto_out_2_d_bits_opcode = coupler_to_slave_named_clint_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
  assign out_xbar_auto_out_2_d_bits_size = coupler_to_slave_named_clint_auto_buffer_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
  assign out_xbar_auto_out_2_d_bits_source = coupler_to_slave_named_clint_auto_buffer_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
  assign out_xbar_auto_out_2_d_bits_data = coupler_to_slave_named_clint_auto_buffer_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
  assign out_xbar_auto_out_1_a_ready = coupler_to_slave_named_plic_auto_buffer_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
  assign out_xbar_auto_out_1_d_valid = coupler_to_slave_named_plic_auto_buffer_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
  assign out_xbar_auto_out_1_d_bits_opcode = coupler_to_slave_named_plic_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
  assign out_xbar_auto_out_1_d_bits_size = coupler_to_slave_named_plic_auto_buffer_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
  assign out_xbar_auto_out_1_d_bits_source = coupler_to_slave_named_plic_auto_buffer_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
  assign out_xbar_auto_out_1_d_bits_data = coupler_to_slave_named_plic_auto_buffer_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
  assign out_xbar_auto_out_0_a_ready = coupler_to_bus_named_pbus_auto_widget_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
  assign out_xbar_auto_out_0_d_valid = coupler_to_bus_named_pbus_auto_widget_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
  assign out_xbar_auto_out_0_d_bits_opcode = coupler_to_bus_named_pbus_auto_widget_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
  assign out_xbar_auto_out_0_d_bits_param = coupler_to_bus_named_pbus_auto_widget_in_d_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
  assign out_xbar_auto_out_0_d_bits_size = coupler_to_bus_named_pbus_auto_widget_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
  assign out_xbar_auto_out_0_d_bits_source = coupler_to_bus_named_pbus_auto_widget_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
  assign out_xbar_auto_out_0_d_bits_sink = coupler_to_bus_named_pbus_auto_widget_in_d_bits_sink; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
  assign out_xbar_auto_out_0_d_bits_denied = coupler_to_bus_named_pbus_auto_widget_in_d_bits_denied; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
  assign out_xbar_auto_out_0_d_bits_data = coupler_to_bus_named_pbus_auto_widget_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
  assign out_xbar_auto_out_0_d_bits_corrupt = coupler_to_bus_named_pbus_auto_widget_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33919.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33920.4]
  assign buffer_auto_in_a_valid = atomics_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
  assign buffer_auto_in_a_bits_opcode = atomics_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
  assign buffer_auto_in_a_bits_param = atomics_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
  assign buffer_auto_in_a_bits_size = atomics_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
  assign buffer_auto_in_a_bits_source = atomics_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
  assign buffer_auto_in_a_bits_address = atomics_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
  assign buffer_auto_in_a_bits_mask = atomics_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
  assign buffer_auto_in_a_bits_data = atomics_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
  assign buffer_auto_in_a_bits_corrupt = atomics_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
  assign buffer_auto_in_d_ready = atomics_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
  assign buffer_auto_out_a_ready = out_xbar_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
  assign buffer_auto_out_d_valid = out_xbar_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
  assign buffer_auto_out_d_bits_opcode = out_xbar_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
  assign buffer_auto_out_d_bits_param = out_xbar_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
  assign buffer_auto_out_d_bits_size = out_xbar_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
  assign buffer_auto_out_d_bits_source = out_xbar_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
  assign buffer_auto_out_d_bits_sink = out_xbar_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
  assign buffer_auto_out_d_bits_denied = out_xbar_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
  assign buffer_auto_out_d_bits_data = out_xbar_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
  assign buffer_auto_out_d_bits_corrupt = out_xbar_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33994.4]
  assign atomics_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33925.4]
  assign atomics_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33926.4]
  assign atomics_auto_in_a_valid = in_xbar_auto_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
  assign atomics_auto_in_a_bits_opcode = in_xbar_auto_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
  assign atomics_auto_in_a_bits_param = in_xbar_auto_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
  assign atomics_auto_in_a_bits_size = in_xbar_auto_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
  assign atomics_auto_in_a_bits_source = in_xbar_auto_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
  assign atomics_auto_in_a_bits_address = in_xbar_auto_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
  assign atomics_auto_in_a_bits_mask = in_xbar_auto_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
  assign atomics_auto_in_a_bits_data = in_xbar_auto_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
  assign atomics_auto_in_a_bits_corrupt = in_xbar_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
  assign atomics_auto_in_d_ready = in_xbar_auto_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33986.4]
  assign atomics_auto_out_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
  assign atomics_auto_out_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
  assign atomics_auto_out_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
  assign atomics_auto_out_d_bits_param = buffer_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
  assign atomics_auto_out_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
  assign atomics_auto_out_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
  assign atomics_auto_out_d_bits_sink = buffer_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
  assign atomics_auto_out_d_bits_denied = buffer_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
  assign atomics_auto_out_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
  assign atomics_auto_out_d_bits_corrupt = buffer_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33995.4]
  assign buffer_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33937.4]
  assign buffer_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33938.4]
  assign buffer_1_auto_in_a_valid = auto_from_sbus_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33997.4]
  assign buffer_1_auto_in_a_bits_opcode = auto_from_sbus_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33997.4]
  assign buffer_1_auto_in_a_bits_param = auto_from_sbus_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33997.4]
  assign buffer_1_auto_in_a_bits_size = auto_from_sbus_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33997.4]
  assign buffer_1_auto_in_a_bits_source = auto_from_sbus_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33997.4]
  assign buffer_1_auto_in_a_bits_address = auto_from_sbus_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33997.4]
  assign buffer_1_auto_in_a_bits_mask = auto_from_sbus_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33997.4]
  assign buffer_1_auto_in_a_bits_data = auto_from_sbus_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33997.4]
  assign buffer_1_auto_in_a_bits_corrupt = auto_from_sbus_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33997.4]
  assign buffer_1_auto_in_d_ready = auto_from_sbus_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33997.4]
  assign buffer_1_auto_out_a_ready = in_xbar_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
  assign buffer_1_auto_out_d_valid = in_xbar_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
  assign buffer_1_auto_out_d_bits_opcode = in_xbar_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
  assign buffer_1_auto_out_d_bits_param = in_xbar_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
  assign buffer_1_auto_out_d_bits_size = in_xbar_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
  assign buffer_1_auto_out_d_bits_source = in_xbar_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
  assign buffer_1_auto_out_d_bits_sink = in_xbar_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
  assign buffer_1_auto_out_d_bits_denied = in_xbar_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
  assign buffer_1_auto_out_d_bits_data = in_xbar_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
  assign buffer_1_auto_out_d_bits_corrupt = in_xbar_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@33996.4]
  assign coupler_to_bus_named_pbus_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33943.4]
  assign coupler_to_bus_named_pbus_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33944.4]
  assign coupler_to_bus_named_pbus_auto_widget_in_a_valid = out_xbar_auto_out_0_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
  assign coupler_to_bus_named_pbus_auto_widget_in_a_bits_opcode = out_xbar_auto_out_0_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
  assign coupler_to_bus_named_pbus_auto_widget_in_a_bits_param = out_xbar_auto_out_0_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
  assign coupler_to_bus_named_pbus_auto_widget_in_a_bits_size = out_xbar_auto_out_0_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
  assign coupler_to_bus_named_pbus_auto_widget_in_a_bits_source = out_xbar_auto_out_0_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
  assign coupler_to_bus_named_pbus_auto_widget_in_a_bits_address = out_xbar_auto_out_0_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
  assign coupler_to_bus_named_pbus_auto_widget_in_a_bits_mask = out_xbar_auto_out_0_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
  assign coupler_to_bus_named_pbus_auto_widget_in_a_bits_data = out_xbar_auto_out_0_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
  assign coupler_to_bus_named_pbus_auto_widget_in_a_bits_corrupt = out_xbar_auto_out_0_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
  assign coupler_to_bus_named_pbus_auto_widget_in_d_ready = out_xbar_auto_out_0_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33987.4]
  assign coupler_to_bus_named_pbus_auto_from_cbus_out_a_ready = auto_coupler_to_bus_named_pbus_from_cbus_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
  assign coupler_to_bus_named_pbus_auto_from_cbus_out_d_valid = auto_coupler_to_bus_named_pbus_from_cbus_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
  assign coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_opcode = auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
  assign coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_param = auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
  assign coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_size = auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
  assign coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_source = auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
  assign coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_sink = auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_sink; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
  assign coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_denied = auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_denied; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
  assign coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_data = auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
  assign coupler_to_bus_named_pbus_auto_from_cbus_out_d_bits_corrupt = auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@33999.4]
  assign coupler_to_slave_named_plic_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33949.4]
  assign coupler_to_slave_named_plic_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33950.4]
  assign coupler_to_slave_named_plic_auto_buffer_in_a_valid = out_xbar_auto_out_1_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
  assign coupler_to_slave_named_plic_auto_buffer_in_a_bits_opcode = out_xbar_auto_out_1_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
  assign coupler_to_slave_named_plic_auto_buffer_in_a_bits_param = out_xbar_auto_out_1_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
  assign coupler_to_slave_named_plic_auto_buffer_in_a_bits_size = out_xbar_auto_out_1_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
  assign coupler_to_slave_named_plic_auto_buffer_in_a_bits_source = out_xbar_auto_out_1_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
  assign coupler_to_slave_named_plic_auto_buffer_in_a_bits_address = out_xbar_auto_out_1_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
  assign coupler_to_slave_named_plic_auto_buffer_in_a_bits_mask = out_xbar_auto_out_1_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
  assign coupler_to_slave_named_plic_auto_buffer_in_a_bits_data = out_xbar_auto_out_1_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
  assign coupler_to_slave_named_plic_auto_buffer_in_a_bits_corrupt = out_xbar_auto_out_1_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
  assign coupler_to_slave_named_plic_auto_buffer_in_d_ready = out_xbar_auto_out_1_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33988.4]
  assign coupler_to_slave_named_plic_auto_fragmenter_out_a_ready = auto_coupler_to_slave_named_plic_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
  assign coupler_to_slave_named_plic_auto_fragmenter_out_d_valid = auto_coupler_to_slave_named_plic_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
  assign coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_opcode = auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
  assign coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_size = auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
  assign coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_source = auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
  assign coupler_to_slave_named_plic_auto_fragmenter_out_d_bits_data = auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34000.4]
  assign coupler_to_slave_named_clint_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33955.4]
  assign coupler_to_slave_named_clint_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33956.4]
  assign coupler_to_slave_named_clint_auto_buffer_in_a_valid = out_xbar_auto_out_2_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
  assign coupler_to_slave_named_clint_auto_buffer_in_a_bits_opcode = out_xbar_auto_out_2_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
  assign coupler_to_slave_named_clint_auto_buffer_in_a_bits_param = out_xbar_auto_out_2_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
  assign coupler_to_slave_named_clint_auto_buffer_in_a_bits_size = out_xbar_auto_out_2_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
  assign coupler_to_slave_named_clint_auto_buffer_in_a_bits_source = out_xbar_auto_out_2_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
  assign coupler_to_slave_named_clint_auto_buffer_in_a_bits_address = out_xbar_auto_out_2_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
  assign coupler_to_slave_named_clint_auto_buffer_in_a_bits_mask = out_xbar_auto_out_2_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
  assign coupler_to_slave_named_clint_auto_buffer_in_a_bits_data = out_xbar_auto_out_2_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
  assign coupler_to_slave_named_clint_auto_buffer_in_a_bits_corrupt = out_xbar_auto_out_2_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
  assign coupler_to_slave_named_clint_auto_buffer_in_d_ready = out_xbar_auto_out_2_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33989.4]
  assign coupler_to_slave_named_clint_auto_fragmenter_out_a_ready = auto_coupler_to_slave_named_clint_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
  assign coupler_to_slave_named_clint_auto_fragmenter_out_d_valid = auto_coupler_to_slave_named_clint_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
  assign coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_opcode = auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
  assign coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_size = auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
  assign coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_source = auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
  assign coupler_to_slave_named_clint_auto_fragmenter_out_d_bits_data = auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34001.4]
  assign coupler_to_slave_named_debug_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33961.4]
  assign coupler_to_slave_named_debug_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33962.4]
  assign coupler_to_slave_named_debug_auto_buffer_in_a_valid = out_xbar_auto_out_3_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
  assign coupler_to_slave_named_debug_auto_buffer_in_a_bits_opcode = out_xbar_auto_out_3_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
  assign coupler_to_slave_named_debug_auto_buffer_in_a_bits_param = out_xbar_auto_out_3_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
  assign coupler_to_slave_named_debug_auto_buffer_in_a_bits_size = out_xbar_auto_out_3_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
  assign coupler_to_slave_named_debug_auto_buffer_in_a_bits_source = out_xbar_auto_out_3_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
  assign coupler_to_slave_named_debug_auto_buffer_in_a_bits_address = out_xbar_auto_out_3_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
  assign coupler_to_slave_named_debug_auto_buffer_in_a_bits_mask = out_xbar_auto_out_3_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
  assign coupler_to_slave_named_debug_auto_buffer_in_a_bits_data = out_xbar_auto_out_3_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
  assign coupler_to_slave_named_debug_auto_buffer_in_a_bits_corrupt = out_xbar_auto_out_3_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
  assign coupler_to_slave_named_debug_auto_buffer_in_d_ready = out_xbar_auto_out_3_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33990.4]
  assign coupler_to_slave_named_debug_auto_fragmenter_out_a_ready = auto_coupler_to_slave_named_debug_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
  assign coupler_to_slave_named_debug_auto_fragmenter_out_d_valid = auto_coupler_to_slave_named_debug_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
  assign coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_opcode = auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
  assign coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_size = auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
  assign coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_source = auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
  assign coupler_to_slave_named_debug_auto_fragmenter_out_d_bits_data = auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34002.4]
  assign coupler_to_tile_named_tile_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33967.4]
  assign coupler_to_tile_named_tile_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33968.4]
  assign coupler_to_tile_named_tile_auto_buffer_in_a_valid = out_xbar_auto_out_4_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
  assign coupler_to_tile_named_tile_auto_buffer_in_a_bits_opcode = out_xbar_auto_out_4_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
  assign coupler_to_tile_named_tile_auto_buffer_in_a_bits_param = out_xbar_auto_out_4_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
  assign coupler_to_tile_named_tile_auto_buffer_in_a_bits_size = out_xbar_auto_out_4_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
  assign coupler_to_tile_named_tile_auto_buffer_in_a_bits_source = out_xbar_auto_out_4_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
  assign coupler_to_tile_named_tile_auto_buffer_in_a_bits_address = out_xbar_auto_out_4_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
  assign coupler_to_tile_named_tile_auto_buffer_in_a_bits_mask = out_xbar_auto_out_4_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
  assign coupler_to_tile_named_tile_auto_buffer_in_a_bits_data = out_xbar_auto_out_4_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
  assign coupler_to_tile_named_tile_auto_buffer_in_a_bits_corrupt = out_xbar_auto_out_4_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
  assign coupler_to_tile_named_tile_auto_buffer_in_d_ready = out_xbar_auto_out_4_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33991.4]
  assign coupler_to_tile_named_tile_auto_tl_slave_xing_out_a_ready = auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
  assign coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_valid = auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
  assign coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_opcode = auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
  assign coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_param = auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
  assign coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_size = auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
  assign coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_source = auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
  assign coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_sink = auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_sink; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
  assign coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_denied = auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_denied; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
  assign coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_data = auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
  assign coupler_to_tile_named_tile_auto_tl_slave_xing_out_d_bits_corrupt = auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34003.4]
  assign coupler_to_slave_named_MaskROM_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33973.4]
  assign coupler_to_slave_named_MaskROM_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33974.4]
  assign coupler_to_slave_named_MaskROM_auto_buffer_in_a_valid = out_xbar_auto_out_5_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
  assign coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_opcode = out_xbar_auto_out_5_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
  assign coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_param = out_xbar_auto_out_5_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
  assign coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_size = out_xbar_auto_out_5_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
  assign coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_source = out_xbar_auto_out_5_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
  assign coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_address = out_xbar_auto_out_5_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
  assign coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_mask = out_xbar_auto_out_5_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
  assign coupler_to_slave_named_MaskROM_auto_buffer_in_a_bits_corrupt = out_xbar_auto_out_5_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
  assign coupler_to_slave_named_MaskROM_auto_buffer_in_d_ready = out_xbar_auto_out_5_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33992.4]
  assign coupler_to_slave_named_MaskROM_auto_fragmenter_out_a_ready = auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
  assign coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_valid = auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
  assign coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_bits_size = auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
  assign coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_bits_source = auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
  assign coupler_to_slave_named_MaskROM_auto_fragmenter_out_d_bits_data = auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34004.4]
  assign coupler_to_slave_named_aon_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33979.4]
  assign coupler_to_slave_named_aon_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@33980.4]
  assign coupler_to_slave_named_aon_auto_buffer_in_a_valid = out_xbar_auto_out_6_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
  assign coupler_to_slave_named_aon_auto_buffer_in_a_bits_opcode = out_xbar_auto_out_6_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
  assign coupler_to_slave_named_aon_auto_buffer_in_a_bits_param = out_xbar_auto_out_6_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
  assign coupler_to_slave_named_aon_auto_buffer_in_a_bits_size = out_xbar_auto_out_6_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
  assign coupler_to_slave_named_aon_auto_buffer_in_a_bits_source = out_xbar_auto_out_6_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
  assign coupler_to_slave_named_aon_auto_buffer_in_a_bits_address = out_xbar_auto_out_6_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
  assign coupler_to_slave_named_aon_auto_buffer_in_a_bits_mask = out_xbar_auto_out_6_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
  assign coupler_to_slave_named_aon_auto_buffer_in_a_bits_data = out_xbar_auto_out_6_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
  assign coupler_to_slave_named_aon_auto_buffer_in_a_bits_corrupt = out_xbar_auto_out_6_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
  assign coupler_to_slave_named_aon_auto_buffer_in_d_ready = out_xbar_auto_out_6_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@33993.4]
  assign coupler_to_slave_named_aon_auto_asource_out_a_ridx = auto_coupler_to_slave_named_aon_asource_out_a_ridx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
  assign coupler_to_slave_named_aon_auto_asource_out_a_safe_ridx_valid = auto_coupler_to_slave_named_aon_asource_out_a_safe_ridx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
  assign coupler_to_slave_named_aon_auto_asource_out_a_safe_sink_reset_n = auto_coupler_to_slave_named_aon_asource_out_a_safe_sink_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
  assign coupler_to_slave_named_aon_auto_asource_out_d_mem_0_opcode = auto_coupler_to_slave_named_aon_asource_out_d_mem_0_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
  assign coupler_to_slave_named_aon_auto_asource_out_d_mem_0_param = auto_coupler_to_slave_named_aon_asource_out_d_mem_0_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
  assign coupler_to_slave_named_aon_auto_asource_out_d_mem_0_size = auto_coupler_to_slave_named_aon_asource_out_d_mem_0_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
  assign coupler_to_slave_named_aon_auto_asource_out_d_mem_0_source = auto_coupler_to_slave_named_aon_asource_out_d_mem_0_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
  assign coupler_to_slave_named_aon_auto_asource_out_d_mem_0_sink = auto_coupler_to_slave_named_aon_asource_out_d_mem_0_sink; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
  assign coupler_to_slave_named_aon_auto_asource_out_d_mem_0_denied = auto_coupler_to_slave_named_aon_asource_out_d_mem_0_denied; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
  assign coupler_to_slave_named_aon_auto_asource_out_d_mem_0_data = auto_coupler_to_slave_named_aon_asource_out_d_mem_0_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
  assign coupler_to_slave_named_aon_auto_asource_out_d_mem_0_corrupt = auto_coupler_to_slave_named_aon_asource_out_d_mem_0_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
  assign coupler_to_slave_named_aon_auto_asource_out_d_widx = auto_coupler_to_slave_named_aon_asource_out_d_widx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
  assign coupler_to_slave_named_aon_auto_asource_out_d_safe_widx_valid = auto_coupler_to_slave_named_aon_asource_out_d_safe_widx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
  assign coupler_to_slave_named_aon_auto_asource_out_d_safe_source_reset_n = auto_coupler_to_slave_named_aon_asource_out_d_safe_source_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34005.4]
endmodule
module TLMonitor_20( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34014.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34015.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34016.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@34017.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@35807.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@34033.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@34038.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@34040.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@34041.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@34042.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@34043.6]
  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@34043.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@34044.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34046.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@34047.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@34049.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@34050.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@34051.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@34052.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@34053.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34055.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34056.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34058.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34059.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@34060.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@34061.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@34062.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34063.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34064.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34065.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34066.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34067.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34068.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34069.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34070.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34071.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34072.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34073.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34074.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@34075.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@34076.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@34077.6]
  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34081.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34102.6]
  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34105.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34106.8]
  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34107.8]
  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34108.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34109.8]
  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34110.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34111.8]
  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34112.8]
  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34113.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34114.8]
  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34115.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34116.8]
  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34117.8]
  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34118.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34119.8]
  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34120.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34121.8]
  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34122.8]
  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34123.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34124.8]
  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34125.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34126.8]
  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34127.8]
  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34128.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34129.8]
  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34130.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34131.8]
  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34132.8]
  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34133.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34134.8]
  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34135.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34136.8]
  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34137.8]
  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34138.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34139.8]
  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34140.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34141.8]
  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34142.8]
  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34143.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34144.8]
  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34145.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34146.8]
  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34147.8]
  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34148.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34149.8]
  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34150.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34151.8]
  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34152.8]
  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34153.8]
  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34154.8]
  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34157.8]
  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34158.8]
  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34159.8]
  wire [31:0] _T_147; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34160.8]
  wire [32:0] _T_148; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34161.8]
  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34162.8]
  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34163.8]
  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34164.8]
  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34165.8]
  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34166.8]
  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34167.8]
  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34168.8]
  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34169.8]
  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34170.8]
  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34171.8]
  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34172.8]
  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.8]
  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34174.8]
  wire  _T_162; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34175.8]
  wire  _T_163; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34176.8]
  wire  _T_164; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34177.8]
  wire  _T_165; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34178.8]
  wire  _T_179; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34192.8]
  wire  _T_184; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34205.8]
  wire  _T_185; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34206.8]
  wire  _T_188; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34213.8]
  wire  _T_189; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34214.8]
  wire  _T_191; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34220.8]
  wire  _T_192; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34221.8]
  wire  _T_193; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34226.8]
  wire  _T_195; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34228.8]
  wire  _T_196; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34229.8]
  wire [3:0] _T_197; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@34234.8]
  wire  _T_198; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34235.8]
  wire  _T_200; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34237.8]
  wire  _T_201; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.8]
  wire  _T_202; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@34243.8]
  wire  _T_204; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34245.8]
  wire  _T_205; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34246.8]
  wire  _T_206; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34252.6]
  wire  _T_313; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34384.8]
  wire  _T_315; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34386.8]
  wire  _T_316; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34387.8]
  wire  _T_326; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34410.6]
  wire  _T_328; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34413.8]
  wire  _T_336; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@34421.8]
  wire  _T_338; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34423.8]
  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34491.8]
  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34492.8]
  wire  _T_408; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34493.8]
  wire  _T_409; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34494.8]
  wire  _T_410; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34495.8]
  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34496.8]
  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34497.8]
  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34498.8]
  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34499.8]
  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34500.8]
  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34501.8]
  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34502.8]
  wire  _T_418; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@34503.8]
  wire  _T_420; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@34505.8]
  wire  _T_422; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34507.8]
  wire  _T_423; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34508.8]
  wire  _T_430; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34527.8]
  wire  _T_432; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34529.8]
  wire  _T_433; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34530.8]
  wire  _T_434; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34535.8]
  wire  _T_436; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34537.8]
  wire  _T_437; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34538.8]
  wire  _T_442; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34552.6]
  wire  _T_515; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34626.8]
  wire  _T_516; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34627.8]
  wire  _T_517; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34628.8]
  wire  _T_518; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34629.8]
  wire  _T_519; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34630.8]
  wire  _T_520; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34631.8]
  wire  _T_521; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34632.8]
  wire  _T_522; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@34633.8]
  wire  _T_537; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@34648.8]
  wire  _T_540; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34651.8]
  wire  _T_541; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34652.8]
  wire  _T_556; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34688.6]
  wire [3:0] _T_666; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@34815.8]
  wire [3:0] _T_667; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34816.8]
  wire  _T_668; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@34817.8]
  wire  _T_670; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34819.8]
  wire  _T_671; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34820.8]
  wire  _T_672; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34826.6]
  wire  _T_674; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34829.8]
  wire  _T_741; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34896.8]
  wire  _T_742; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34897.8]
  wire  _T_743; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34898.8]
  wire  _T_744; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34899.8]
  wire  _T_745; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34900.8]
  wire  _T_746; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34901.8]
  wire  _T_747; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34902.8]
  wire  _T_748; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@34903.8]
  wire  _T_765; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34920.8]
  wire  _T_766; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34921.8]
  wire  _T_773; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@34940.8]
  wire  _T_775; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34942.8]
  wire  _T_776; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34943.8]
  wire  _T_781; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34957.6]
  wire  _T_882; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@35071.8]
  wire  _T_884; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35073.8]
  wire  _T_885; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35074.8]
  wire  _T_890; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35088.6]
  wire  _T_983; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35182.8]
  wire  _T_984; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35183.8]
  wire  _T_999; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@35221.6]
  wire  _T_1001; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35223.6]
  wire  _T_1002; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35224.6]
  wire  _T_1004; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@35230.6]
  wire  _T_1013; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@35235.6]
  wire  _T_1015; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35237.6]
  wire  _T_1017; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35240.8]
  wire  _T_1018; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35241.8]
  wire  _T_1019; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35246.8]
  wire  _T_1021; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35248.8]
  wire  _T_1022; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35249.8]
  wire  _T_1023; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35254.8]
  wire  _T_1025; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35256.8]
  wire  _T_1026; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35257.8]
  wire  _T_1027; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@35262.8]
  wire  _T_1029; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35264.8]
  wire  _T_1030; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35265.8]
  wire  _T_1031; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@35270.8]
  wire  _T_1033; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35272.8]
  wire  _T_1034; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35273.8]
  wire  _T_1035; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35279.6]
  wire  _T_1046; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@35303.8]
  wire  _T_1048; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35305.8]
  wire  _T_1049; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35306.8]
  wire  _T_1050; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35311.8]
  wire  _T_1052; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35313.8]
  wire  _T_1053; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35314.8]
  wire  _T_1063; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35337.6]
  wire  _T_1083; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@35378.8]
  wire  _T_1085; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35380.8]
  wire  _T_1086; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35381.8]
  wire  _T_1092; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35396.6]
  wire  _T_1109; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35431.6]
  wire  _T_1127; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35467.6]
  wire  _T_1156; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35527.4]
  wire [9:0] _T_1161; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@35532.4]
  wire  _T_1162; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@35533.4]
  wire  _T_1163; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35534.4]
  reg [9:0] _T_1166; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35536.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1167; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35537.4]
  wire [10:0] _T_1168; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35538.4]
  wire [9:0] _T_1169; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35539.4]
  wire  _T_1170; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35540.4]
  reg [2:0] _T_1179; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35551.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1181; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35552.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1183; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35553.4]
  reg [31:0] _RAND_3;
  reg  _T_1185; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35554.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_1187; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35555.4]
  reg [31:0] _RAND_5;
  wire  _T_1188; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35556.4]
  wire  _T_1189; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35557.4]
  wire  _T_1190; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35559.6]
  wire  _T_1192; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35561.6]
  wire  _T_1193; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35562.6]
  wire  _T_1194; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35567.6]
  wire  _T_1196; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35569.6]
  wire  _T_1197; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35570.6]
  wire  _T_1198; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35575.6]
  wire  _T_1200; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35577.6]
  wire  _T_1201; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35578.6]
  wire  _T_1202; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35583.6]
  wire  _T_1204; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35585.6]
  wire  _T_1205; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35586.6]
  wire  _T_1206; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35591.6]
  wire  _T_1208; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35593.6]
  wire  _T_1209; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35594.6]
  wire  _T_1211; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@35601.4]
  wire  _T_1212; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35609.4]
  wire [26:0] _T_1214; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@35611.4]
  wire [11:0] _T_1215; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@35612.4]
  wire [11:0] _T_1216; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@35613.4]
  wire [9:0] _T_1217; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@35614.4]
  wire  _T_1218; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@35615.4]
  reg [9:0] _T_1221; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35617.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_1222; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35618.4]
  wire [10:0] _T_1223; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35619.4]
  wire [9:0] _T_1224; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35620.4]
  wire  _T_1225; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35621.4]
  reg [2:0] _T_1234; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35632.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_1236; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35633.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_1238; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35634.4]
  reg [31:0] _RAND_9;
  reg  _T_1240; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35635.4]
  reg [31:0] _RAND_10;
  reg  _T_1242; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35636.4]
  reg [31:0] _RAND_11;
  reg  _T_1244; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35637.4]
  reg [31:0] _RAND_12;
  wire  _T_1245; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35638.4]
  wire  _T_1246; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35639.4]
  wire  _T_1247; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35641.6]
  wire  _T_1249; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35643.6]
  wire  _T_1250; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35644.6]
  wire  _T_1251; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35649.6]
  wire  _T_1253; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35651.6]
  wire  _T_1254; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35652.6]
  wire  _T_1255; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35657.6]
  wire  _T_1257; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35659.6]
  wire  _T_1258; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35660.6]
  wire  _T_1259; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35665.6]
  wire  _T_1261; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35667.6]
  wire  _T_1262; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35668.6]
  wire  _T_1263; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35673.6]
  wire  _T_1265; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35675.6]
  wire  _T_1266; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35676.6]
  wire  _T_1267; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35681.6]
  wire  _T_1269; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35683.6]
  wire  _T_1270; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35684.6]
  wire  _T_1272; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@35691.4]
  reg [1:0] _T_1274; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35700.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1285; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35710.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1286; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35711.4]
  wire [10:0] _T_1287; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35712.4]
  wire [9:0] _T_1288; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35713.4]
  wire  _T_1289; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35714.4]
  reg [9:0] _T_1306; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35733.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1307; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35734.4]
  wire [10:0] _T_1308; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35735.4]
  wire [9:0] _T_1309; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35736.4]
  wire  _T_1310; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35737.4]
  wire  _T_1321; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35752.4]
  wire [1:0] _T_1323; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@35755.6]
  wire [1:0] _T_1324; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@35757.6]
  wire  _T_1325; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@35758.6]
  wire  _T_1326; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35759.6]
  wire  _T_1328; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35761.6]
  wire  _T_1329; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35762.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@35754.4]
  wire  _T_1334; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35773.4]
  wire  _T_1336; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@35775.4]
  wire  _T_1337; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@35776.4]
  wire [1:0] _T_1338; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@35778.6]
  wire [1:0] _T_1339; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@35780.6]
  wire [1:0] _T_1340; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@35781.6]
  wire  _T_1341; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@35782.6]
  wire  _T_1343; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35784.6]
  wire  _T_1344; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35785.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@35777.4]
  wire  _T_1345; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@35791.4]
  wire  _T_1346; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@35792.4]
  wire  _T_1347; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@35793.4]
  wire  _T_1348; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@35794.4]
  wire  _T_1350; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35796.4]
  wire  _T_1351; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35797.4]
  wire [1:0] _T_1352; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35802.4]
  wire [1:0] _T_1353; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@35803.4]
  wire [1:0] _T_1354; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@35804.4]
  reg [31:0] _T_1356; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35806.4]
  reg [31:0] _RAND_16;
  wire  _T_1357; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@35809.4]
  wire  _T_1358; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35810.4]
  wire  _T_1359; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@35811.4]
  wire  _T_1360; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35812.4]
  wire  _T_1361; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@35813.4]
  wire  _T_1362; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@35814.4]
  wire  _T_1364; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35816.4]
  wire  _T_1365; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35817.4]
  wire [31:0] _T_1367; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@35823.4]
  wire  _T_1370; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35827.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34194.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34344.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34510.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34654.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34790.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34923.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35054.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35185.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35243.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35285.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35343.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35402.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35437.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35473.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@35807.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@34033.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@34038.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@34040.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@34041.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@34042.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@34043.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@34043.6]
  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@34044.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34046.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@34047.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@34049.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@34050.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@34051.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@34052.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@34053.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34055.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34056.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34058.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34059.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@34060.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@34061.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@34062.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34063.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34064.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34065.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34066.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34067.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34068.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34069.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34070.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34071.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34072.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@34073.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@34074.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@34075.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@34076.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@34077.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34081.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34102.6]
  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34105.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34106.8]
  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34107.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34108.8]
  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34109.8]
  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34110.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34111.8]
  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34112.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34113.8]
  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34114.8]
  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34115.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34116.8]
  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34117.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34118.8]
  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34119.8]
  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34120.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34121.8]
  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34122.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34123.8]
  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34124.8]
  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34125.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34126.8]
  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34127.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34128.8]
  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34129.8]
  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34130.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34131.8]
  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34132.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34133.8]
  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34134.8]
  assign _T_122 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34135.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34136.8]
  assign _T_124 = $signed(_T_123) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34137.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34138.8]
  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34139.8]
  assign _T_127 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34140.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34141.8]
  assign _T_129 = $signed(_T_128) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34142.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34143.8]
  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34144.8]
  assign _T_132 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34145.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34146.8]
  assign _T_134 = $signed(_T_133) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34147.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34148.8]
  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34149.8]
  assign _T_137 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34150.8]
  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34151.8]
  assign _T_139 = $signed(_T_138) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34152.8]
  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34153.8]
  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34154.8]
  assign _T_144 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34157.8]
  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34158.8]
  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34159.8]
  assign _T_147 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34160.8]
  assign _T_148 = {1'b0,$signed(_T_147)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34161.8]
  assign _T_149 = $signed(_T_148) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34162.8]
  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34163.8]
  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34164.8]
  assign _T_152 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34165.8]
  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34166.8]
  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34167.8]
  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34168.8]
  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34169.8]
  assign _T_157 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@34170.8]
  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@34171.8]
  assign _T_159 = $signed(_T_158) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34172.8]
  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@34173.8]
  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@34174.8]
  assign _T_162 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34175.8]
  assign _T_163 = _T_162 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34176.8]
  assign _T_164 = _T_163 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34177.8]
  assign _T_165 = _T_164 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34178.8]
  assign _T_179 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34192.8]
  assign _T_184 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34205.8]
  assign _T_185 = _T_184 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34206.8]
  assign _T_188 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34213.8]
  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34214.8]
  assign _T_191 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34220.8]
  assign _T_192 = _T_191 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34221.8]
  assign _T_193 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34226.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34228.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34229.8]
  assign _T_197 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@34234.8]
  assign _T_198 = _T_197 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34235.8]
  assign _T_200 = _T_198 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34237.8]
  assign _T_201 = _T_200 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34238.8]
  assign _T_202 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@34243.8]
  assign _T_204 = _T_202 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34245.8]
  assign _T_205 = _T_204 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34246.8]
  assign _T_206 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34252.6]
  assign _T_313 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34384.8]
  assign _T_315 = _T_313 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34386.8]
  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34387.8]
  assign _T_326 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34410.6]
  assign _T_328 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34413.8]
  assign _T_336 = _T_328 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@34421.8]
  assign _T_338 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34423.8]
  assign _T_406 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34491.8]
  assign _T_407 = _T_406 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34492.8]
  assign _T_408 = _T_407 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34493.8]
  assign _T_409 = _T_408 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34494.8]
  assign _T_410 = _T_409 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34495.8]
  assign _T_411 = _T_410 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34496.8]
  assign _T_412 = _T_411 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34497.8]
  assign _T_413 = _T_412 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34498.8]
  assign _T_414 = _T_413 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34499.8]
  assign _T_415 = _T_414 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34500.8]
  assign _T_416 = _T_415 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34501.8]
  assign _T_417 = _T_416 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34502.8]
  assign _T_418 = _T_338 & _T_417; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@34503.8]
  assign _T_420 = _T_336 | _T_418; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@34505.8]
  assign _T_422 = _T_420 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34507.8]
  assign _T_423 = _T_422 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34508.8]
  assign _T_430 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34527.8]
  assign _T_432 = _T_430 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34529.8]
  assign _T_433 = _T_432 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34530.8]
  assign _T_434 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@34535.8]
  assign _T_436 = _T_434 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34537.8]
  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34538.8]
  assign _T_442 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34552.6]
  assign _T_515 = _T_408 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34626.8]
  assign _T_516 = _T_515 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34627.8]
  assign _T_517 = _T_516 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34628.8]
  assign _T_518 = _T_517 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34629.8]
  assign _T_519 = _T_518 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34630.8]
  assign _T_520 = _T_519 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34631.8]
  assign _T_521 = _T_520 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34632.8]
  assign _T_522 = _T_338 & _T_521; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@34633.8]
  assign _T_537 = _T_336 | _T_522; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@34648.8]
  assign _T_540 = _T_537 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34651.8]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34652.8]
  assign _T_556 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34688.6]
  assign _T_666 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@34815.8]
  assign _T_667 = io_in_a_bits_mask & _T_666; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@34816.8]
  assign _T_668 = _T_667 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@34817.8]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34819.8]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34820.8]
  assign _T_672 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34826.6]
  assign _T_674 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34829.8]
  assign _T_741 = _T_165 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34896.8]
  assign _T_742 = _T_741 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34897.8]
  assign _T_743 = _T_742 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34898.8]
  assign _T_744 = _T_743 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34899.8]
  assign _T_745 = _T_744 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34900.8]
  assign _T_746 = _T_745 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34901.8]
  assign _T_747 = _T_746 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@34902.8]
  assign _T_748 = _T_674 & _T_747; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@34903.8]
  assign _T_765 = _T_748 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34920.8]
  assign _T_766 = _T_765 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34921.8]
  assign _T_773 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@34940.8]
  assign _T_775 = _T_773 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34942.8]
  assign _T_776 = _T_775 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34943.8]
  assign _T_781 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@34957.6]
  assign _T_882 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@35071.8]
  assign _T_884 = _T_882 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35073.8]
  assign _T_885 = _T_884 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35074.8]
  assign _T_890 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35088.6]
  assign _T_983 = _T_336 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35182.8]
  assign _T_984 = _T_983 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35183.8]
  assign _T_999 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@35221.6]
  assign _T_1001 = _T_999 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35223.6]
  assign _T_1002 = _T_1001 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35224.6]
  assign _T_1004 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@35230.6]
  assign _T_1013 = io_in_d_bits_source | _T_1004; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@35235.6]
  assign _T_1015 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35237.6]
  assign _T_1017 = _T_1013 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35240.8]
  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35241.8]
  assign _T_1019 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35246.8]
  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35248.8]
  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35249.8]
  assign _T_1023 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35254.8]
  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35256.8]
  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35257.8]
  assign _T_1027 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@35262.8]
  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35264.8]
  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35265.8]
  assign _T_1031 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@35270.8]
  assign _T_1033 = _T_1031 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35272.8]
  assign _T_1034 = _T_1033 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35273.8]
  assign _T_1035 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35279.6]
  assign _T_1046 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@35303.8]
  assign _T_1048 = _T_1046 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35305.8]
  assign _T_1049 = _T_1048 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35306.8]
  assign _T_1050 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35311.8]
  assign _T_1052 = _T_1050 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35313.8]
  assign _T_1053 = _T_1052 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35314.8]
  assign _T_1063 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35337.6]
  assign _T_1083 = _T_1031 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@35378.8]
  assign _T_1085 = _T_1083 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35380.8]
  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35381.8]
  assign _T_1092 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35396.6]
  assign _T_1109 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35431.6]
  assign _T_1127 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35467.6]
  assign _T_1156 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35527.4]
  assign _T_1161 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@35532.4]
  assign _T_1162 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@35533.4]
  assign _T_1163 = _T_1162 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35534.4]
  assign _T_1167 = _T_1166 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35537.4]
  assign _T_1168 = $unsigned(_T_1167); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35538.4]
  assign _T_1169 = _T_1168[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35539.4]
  assign _T_1170 = _T_1166 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35540.4]
  assign _T_1188 = _T_1170 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35556.4]
  assign _T_1189 = io_in_a_valid & _T_1188; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35557.4]
  assign _T_1190 = io_in_a_bits_opcode == _T_1179; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35559.6]
  assign _T_1192 = _T_1190 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35561.6]
  assign _T_1193 = _T_1192 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35562.6]
  assign _T_1194 = io_in_a_bits_param == _T_1181; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35567.6]
  assign _T_1196 = _T_1194 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35569.6]
  assign _T_1197 = _T_1196 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35570.6]
  assign _T_1198 = io_in_a_bits_size == _T_1183; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35575.6]
  assign _T_1200 = _T_1198 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35577.6]
  assign _T_1201 = _T_1200 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35578.6]
  assign _T_1202 = io_in_a_bits_source == _T_1185; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35583.6]
  assign _T_1204 = _T_1202 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35585.6]
  assign _T_1205 = _T_1204 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35586.6]
  assign _T_1206 = io_in_a_bits_address == _T_1187; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35591.6]
  assign _T_1208 = _T_1206 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35593.6]
  assign _T_1209 = _T_1208 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35594.6]
  assign _T_1211 = _T_1156 & _T_1170; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@35601.4]
  assign _T_1212 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35609.4]
  assign _T_1214 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@35611.4]
  assign _T_1215 = _T_1214[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@35612.4]
  assign _T_1216 = ~ _T_1215; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@35613.4]
  assign _T_1217 = _T_1216[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@35614.4]
  assign _T_1218 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@35615.4]
  assign _T_1222 = _T_1221 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35618.4]
  assign _T_1223 = $unsigned(_T_1222); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35619.4]
  assign _T_1224 = _T_1223[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35620.4]
  assign _T_1225 = _T_1221 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35621.4]
  assign _T_1245 = _T_1225 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@35638.4]
  assign _T_1246 = io_in_d_valid & _T_1245; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35639.4]
  assign _T_1247 = io_in_d_bits_opcode == _T_1234; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35641.6]
  assign _T_1249 = _T_1247 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35643.6]
  assign _T_1250 = _T_1249 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35644.6]
  assign _T_1251 = io_in_d_bits_param == _T_1236; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35649.6]
  assign _T_1253 = _T_1251 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35651.6]
  assign _T_1254 = _T_1253 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35652.6]
  assign _T_1255 = io_in_d_bits_size == _T_1238; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35657.6]
  assign _T_1257 = _T_1255 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35659.6]
  assign _T_1258 = _T_1257 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35660.6]
  assign _T_1259 = io_in_d_bits_source == _T_1240; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35665.6]
  assign _T_1261 = _T_1259 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35667.6]
  assign _T_1262 = _T_1261 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35668.6]
  assign _T_1263 = io_in_d_bits_sink == _T_1242; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35673.6]
  assign _T_1265 = _T_1263 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35675.6]
  assign _T_1266 = _T_1265 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35676.6]
  assign _T_1267 = io_in_d_bits_denied == _T_1244; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@35681.6]
  assign _T_1269 = _T_1267 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35683.6]
  assign _T_1270 = _T_1269 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35684.6]
  assign _T_1272 = _T_1212 & _T_1225; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@35691.4]
  assign _T_1286 = _T_1285 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35711.4]
  assign _T_1287 = $unsigned(_T_1286); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35712.4]
  assign _T_1288 = _T_1287[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35713.4]
  assign _T_1289 = _T_1285 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35714.4]
  assign _T_1307 = _T_1306 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35734.4]
  assign _T_1308 = $unsigned(_T_1307); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35735.4]
  assign _T_1309 = _T_1308[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@35736.4]
  assign _T_1310 = _T_1306 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35737.4]
  assign _T_1321 = _T_1156 & _T_1289; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35752.4]
  assign _T_1323 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@35755.6]
  assign _T_1324 = _T_1274 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@35757.6]
  assign _T_1325 = _T_1324[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@35758.6]
  assign _T_1326 = _T_1325 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35759.6]
  assign _T_1328 = _T_1326 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35761.6]
  assign _T_1329 = _T_1328 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35762.6]
  assign _GEN_15 = _T_1321 ? _T_1323 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@35754.4]
  assign _T_1334 = _T_1212 & _T_1310; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35773.4]
  assign _T_1336 = _T_1015 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@35775.4]
  assign _T_1337 = _T_1334 & _T_1336; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@35776.4]
  assign _T_1338 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@35778.6]
  assign _T_1339 = _GEN_15 | _T_1274; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@35780.6]
  assign _T_1340 = _T_1339 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@35781.6]
  assign _T_1341 = _T_1340[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@35782.6]
  assign _T_1343 = _T_1341 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35784.6]
  assign _T_1344 = _T_1343 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35785.6]
  assign _GEN_16 = _T_1337 ? _T_1338 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@35777.4]
  assign _T_1345 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@35791.4]
  assign _T_1346 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@35792.4]
  assign _T_1347 = _T_1346 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@35793.4]
  assign _T_1348 = _T_1345 | _T_1347; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@35794.4]
  assign _T_1350 = _T_1348 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35796.4]
  assign _T_1351 = _T_1350 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35797.4]
  assign _T_1352 = _T_1274 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35802.4]
  assign _T_1353 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@35803.4]
  assign _T_1354 = _T_1352 & _T_1353; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@35804.4]
  assign _T_1357 = _T_1274 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@35809.4]
  assign _T_1358 = _T_1357 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35810.4]
  assign _T_1359 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@35811.4]
  assign _T_1360 = _T_1358 | _T_1359; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35812.4]
  assign _T_1361 = _T_1356 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@35813.4]
  assign _T_1362 = _T_1360 | _T_1361; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@35814.4]
  assign _T_1364 = _T_1362 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35816.4]
  assign _T_1365 = _T_1364 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35817.4]
  assign _T_1367 = _T_1356 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@35823.4]
  assign _T_1370 = _T_1156 | _T_1212; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@35827.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34194.10]
  assign _GEN_35 = io_in_a_valid & _T_206; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34344.10]
  assign _GEN_53 = io_in_a_valid & _T_326; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34510.10]
  assign _GEN_65 = io_in_a_valid & _T_442; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34654.10]
  assign _GEN_75 = io_in_a_valid & _T_556; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34790.10]
  assign _GEN_85 = io_in_a_valid & _T_672; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34923.10]
  assign _GEN_95 = io_in_a_valid & _T_781; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35054.10]
  assign _GEN_105 = io_in_a_valid & _T_890; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35185.10]
  assign _GEN_115 = io_in_d_valid & _T_1015; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35243.10]
  assign _GEN_125 = io_in_d_valid & _T_1035; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35285.10]
  assign _GEN_137 = io_in_d_valid & _T_1063; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35343.10]
  assign _GEN_149 = io_in_d_valid & _T_1092; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35402.10]
  assign _GEN_155 = io_in_d_valid & _T_1109; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35437.10]
  assign _GEN_161 = io_in_d_valid & _T_1127; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35473.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_1166 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1179 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1181 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1183 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1185 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1187 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1221 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1234 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1236 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1238 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1240 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1242 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1244 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1274 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1285 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1306 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1356 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1166 <= 10'h0;
    end else begin
      if (_T_1156) begin
        if (_T_1170) begin
          if (_T_1163) begin
            _T_1166 <= _T_1161;
          end else begin
            _T_1166 <= 10'h0;
          end
        end else begin
          _T_1166 <= _T_1169;
        end
      end
    end
    if (_T_1211) begin
      _T_1179 <= io_in_a_bits_opcode;
    end
    if (_T_1211) begin
      _T_1181 <= io_in_a_bits_param;
    end
    if (_T_1211) begin
      _T_1183 <= io_in_a_bits_size;
    end
    if (_T_1211) begin
      _T_1185 <= io_in_a_bits_source;
    end
    if (_T_1211) begin
      _T_1187 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1221 <= 10'h0;
    end else begin
      if (_T_1212) begin
        if (_T_1225) begin
          if (_T_1218) begin
            _T_1221 <= _T_1217;
          end else begin
            _T_1221 <= 10'h0;
          end
        end else begin
          _T_1221 <= _T_1224;
        end
      end
    end
    if (_T_1272) begin
      _T_1234 <= io_in_d_bits_opcode;
    end
    if (_T_1272) begin
      _T_1236 <= io_in_d_bits_param;
    end
    if (_T_1272) begin
      _T_1238 <= io_in_d_bits_size;
    end
    if (_T_1272) begin
      _T_1240 <= io_in_d_bits_source;
    end
    if (_T_1272) begin
      _T_1242 <= io_in_d_bits_sink;
    end
    if (_T_1272) begin
      _T_1244 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1274 <= 2'h0;
    end else begin
      _T_1274 <= _T_1354;
    end
    if (reset) begin
      _T_1285 <= 10'h0;
    end else begin
      if (_T_1156) begin
        if (_T_1289) begin
          if (_T_1163) begin
            _T_1285 <= _T_1161;
          end else begin
            _T_1285 <= 10'h0;
          end
        end else begin
          _T_1285 <= _T_1288;
        end
      end
    end
    if (reset) begin
      _T_1306 <= 10'h0;
    end else begin
      if (_T_1212) begin
        if (_T_1310) begin
          if (_T_1218) begin
            _T_1306 <= _T_1217;
          end else begin
            _T_1306 <= 10'h0;
          end
        end else begin
          _T_1306 <= _T_1309;
        end
      end
    end
    if (reset) begin
      _T_1356 <= 32'h0;
    end else begin
      if (_T_1370) begin
        _T_1356 <= 32'h0;
      end else begin
        _T_1356 <= _T_1367;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at SystemBus.scala:49:9)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@34029.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@34030.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@34099.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@34100.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at SystemBus.scala:49:9)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34194.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34195.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SystemBus.scala:49:9)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34201.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34202.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34208.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_185) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34209.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SystemBus.scala:49:9)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34216.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34217.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SystemBus.scala:49:9)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34223.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_192) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34224.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34231.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_196) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34232.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SystemBus.scala:49:9)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34240.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_201) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34241.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SystemBus.scala:49:9)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34248.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_205) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34249.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at SystemBus.scala:49:9)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34344.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34345.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SystemBus.scala:49:9)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34351.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34352.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34358.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_185) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34359.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SystemBus.scala:49:9)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34366.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_189) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34367.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SystemBus.scala:49:9)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34373.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_192) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34374.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34381.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_196) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34382.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_316) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SystemBus.scala:49:9)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34389.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_316) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34390.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SystemBus.scala:49:9)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34398.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_201) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34399.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SystemBus.scala:49:9)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34406.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_205) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34407.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_423) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at SystemBus.scala:49:9)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34510.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_423) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34511.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34517.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_185) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34518.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at SystemBus.scala:49:9)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34524.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_192) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34525.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34532.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_433) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34533.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at SystemBus.scala:49:9)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34540.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_437) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34541.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at SystemBus.scala:49:9)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34548.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_205) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34549.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SystemBus.scala:49:9)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34654.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_541) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34655.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34661.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_185) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34662.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at SystemBus.scala:49:9)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34668.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_192) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34669.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34676.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_433) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34677.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at SystemBus.scala:49:9)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34684.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_437) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34685.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at SystemBus.scala:49:9)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34790.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_541) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34791.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34797.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_185) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34798.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SystemBus.scala:49:9)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34804.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_192) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34805.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34812.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_433) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34813.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SystemBus.scala:49:9)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34822.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_671) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34823.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_766) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at SystemBus.scala:49:9)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34923.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_766) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34924.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34930.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_185) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34931.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SystemBus.scala:49:9)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34937.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_192) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34938.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_776) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34945.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_776) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34946.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SystemBus.scala:49:9)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34953.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_437) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@34954.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_766) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at SystemBus.scala:49:9)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35054.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_766) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35055.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35061.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_185) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35062.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at SystemBus.scala:49:9)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35068.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_192) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35069.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_885) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35076.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_885) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35077.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at SystemBus.scala:49:9)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35084.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_437) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35085.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_984) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at SystemBus.scala:49:9)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35185.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_984) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35186.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35192.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_185) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35193.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at SystemBus.scala:49:9)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35199.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_192) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35200.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at SystemBus.scala:49:9)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35207.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_437) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35208.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at SystemBus.scala:49:9)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35215.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_205) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35216.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_1002) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SystemBus.scala:49:9)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35226.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_1002) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35227.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35243.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1018) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35244.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SystemBus.scala:49:9)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35251.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1022) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35252.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35259.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1026) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35260.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SystemBus.scala:49:9)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35267.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1030) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35268.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1034) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at SystemBus.scala:49:9)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35275.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1034) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35276.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35285.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1018) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35286.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35292.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_179) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35293.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at SystemBus.scala:49:9)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35300.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1022) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35301.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1049) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35308.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1049) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35309.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1053) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35316.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1053) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35317.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at SystemBus.scala:49:9)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35324.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1030) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35325.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at SystemBus.scala:49:9)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35333.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35334.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35343.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1018) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35344.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35350.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_179) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35351.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SystemBus.scala:49:9)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35358.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1022) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35359.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1049) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35366.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1049) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35367.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1053) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35374.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1053) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35375.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1086) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SystemBus.scala:49:9)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35383.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1086) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35384.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at SystemBus.scala:49:9)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35392.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35393.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35402.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1018) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35403.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35410.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1026) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35411.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at SystemBus.scala:49:9)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35418.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1030) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35419.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at SystemBus.scala:49:9)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35427.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35428.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35437.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1018) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35438.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35445.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1026) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35446.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1086) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SystemBus.scala:49:9)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35454.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1086) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35455.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at SystemBus.scala:49:9)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35463.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35464.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35473.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1018) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35474.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at SystemBus.scala:49:9)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35481.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1026) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35482.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at SystemBus.scala:49:9)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35489.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1030) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35490.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at SystemBus.scala:49:9)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35498.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35499.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at SystemBus.scala:49:9)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35508.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35509.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at SystemBus.scala:49:9)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35516.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35517.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at SystemBus.scala:49:9)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35524.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35525.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1193) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SystemBus.scala:49:9)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35564.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1193) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35565.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1197) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SystemBus.scala:49:9)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35572.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1197) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35573.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SystemBus.scala:49:9)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35580.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1201) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35581.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SystemBus.scala:49:9)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35588.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1205) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35589.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1209) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SystemBus.scala:49:9)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35596.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1209) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35597.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1250) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SystemBus.scala:49:9)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35646.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1250) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35647.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1254) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at SystemBus.scala:49:9)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35654.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1254) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35655.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1258) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SystemBus.scala:49:9)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35662.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1258) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35663.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1262) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SystemBus.scala:49:9)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35670.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1262) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35671.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1266) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at SystemBus.scala:49:9)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35678.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1266) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35679.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1270) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at SystemBus.scala:49:9)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35686.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1270) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@35687.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1321 & _T_1329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SystemBus.scala:49:9)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35764.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1321 & _T_1329) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35765.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1337 & _T_1344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SystemBus.scala:49:9)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35787.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1337 & _T_1344) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35788.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1351) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at SystemBus.scala:49:9)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35799.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1351) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@35800.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1365) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SystemBus.scala:49:9)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35819.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1365) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@35820.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFIFOFixer( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35832.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35833.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35834.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35835.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
  TLMonitor_20 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@35842.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@35882.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@35882.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@35882.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@35882.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@35882.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@35882.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@35882.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@35882.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@35882.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@35882.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@35881.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@35881.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@35881.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@35881.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@35881.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@35881.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@35881.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@35881.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@35881.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@35881.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35844.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@35845.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@35878.4]
endmodule
module TLMonitor_21( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36149.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36150.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36151.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@36152.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@37942.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@36168.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@36173.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@36175.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@36176.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@36177.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@36178.6]
  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@36178.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@36179.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36181.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@36182.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@36184.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@36185.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@36186.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@36187.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@36188.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36190.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36191.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36193.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36194.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@36195.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@36196.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@36197.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36198.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36199.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36200.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36201.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36202.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36203.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36204.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36205.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36206.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36207.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36208.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36209.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@36210.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@36211.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@36212.6]
  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36216.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36237.6]
  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36240.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36241.8]
  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36242.8]
  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36243.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36244.8]
  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36245.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36246.8]
  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36247.8]
  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36248.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.8]
  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36250.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36251.8]
  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36252.8]
  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36253.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36254.8]
  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36255.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36256.8]
  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36257.8]
  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36258.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36259.8]
  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36260.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36261.8]
  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36262.8]
  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36263.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36264.8]
  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36265.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36266.8]
  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36267.8]
  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36268.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36269.8]
  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36270.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36271.8]
  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36272.8]
  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36273.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36274.8]
  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36275.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36276.8]
  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36277.8]
  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36278.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36279.8]
  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36280.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36281.8]
  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36282.8]
  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36283.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36284.8]
  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36285.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36286.8]
  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36287.8]
  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36288.8]
  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36289.8]
  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36292.8]
  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36293.8]
  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36294.8]
  wire [31:0] _T_147; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36295.8]
  wire [32:0] _T_148; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36296.8]
  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36297.8]
  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36298.8]
  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36299.8]
  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36300.8]
  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36301.8]
  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36302.8]
  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36303.8]
  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36304.8]
  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36305.8]
  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36306.8]
  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36307.8]
  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36308.8]
  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36309.8]
  wire  _T_162; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36310.8]
  wire  _T_163; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36311.8]
  wire  _T_164; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36312.8]
  wire  _T_165; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36313.8]
  wire  _T_179; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36327.8]
  wire  _T_184; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36340.8]
  wire  _T_185; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36341.8]
  wire  _T_188; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36348.8]
  wire  _T_189; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36349.8]
  wire  _T_191; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36355.8]
  wire  _T_192; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36356.8]
  wire  _T_193; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36361.8]
  wire  _T_195; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36363.8]
  wire  _T_196; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36364.8]
  wire [3:0] _T_197; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@36369.8]
  wire  _T_198; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36370.8]
  wire  _T_200; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36372.8]
  wire  _T_201; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36373.8]
  wire  _T_202; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@36378.8]
  wire  _T_204; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36380.8]
  wire  _T_205; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36381.8]
  wire  _T_206; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36387.6]
  wire  _T_313; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36519.8]
  wire  _T_315; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36521.8]
  wire  _T_316; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36522.8]
  wire  _T_326; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36545.6]
  wire  _T_328; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36548.8]
  wire  _T_336; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@36556.8]
  wire  _T_338; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36558.8]
  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36626.8]
  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36627.8]
  wire  _T_408; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36628.8]
  wire  _T_409; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36629.8]
  wire  _T_410; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36630.8]
  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36631.8]
  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36632.8]
  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36633.8]
  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36634.8]
  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36635.8]
  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36636.8]
  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36637.8]
  wire  _T_418; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@36638.8]
  wire  _T_420; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@36640.8]
  wire  _T_422; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36642.8]
  wire  _T_423; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36643.8]
  wire  _T_430; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36662.8]
  wire  _T_432; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36664.8]
  wire  _T_433; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36665.8]
  wire  _T_434; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36670.8]
  wire  _T_436; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36672.8]
  wire  _T_437; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36673.8]
  wire  _T_442; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36687.6]
  wire  _T_515; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36761.8]
  wire  _T_516; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36762.8]
  wire  _T_517; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36763.8]
  wire  _T_518; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36764.8]
  wire  _T_519; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36765.8]
  wire  _T_520; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36766.8]
  wire  _T_521; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36767.8]
  wire  _T_522; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@36768.8]
  wire  _T_537; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@36783.8]
  wire  _T_540; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36786.8]
  wire  _T_541; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36787.8]
  wire  _T_556; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36823.6]
  wire [3:0] _T_666; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@36950.8]
  wire [3:0] _T_667; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36951.8]
  wire  _T_668; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@36952.8]
  wire  _T_670; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36954.8]
  wire  _T_671; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36955.8]
  wire  _T_672; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36961.6]
  wire  _T_674; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36964.8]
  wire  _T_741; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37031.8]
  wire  _T_742; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37032.8]
  wire  _T_743; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37033.8]
  wire  _T_744; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37034.8]
  wire  _T_745; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37035.8]
  wire  _T_746; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37036.8]
  wire  _T_747; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37037.8]
  wire  _T_748; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@37038.8]
  wire  _T_765; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37055.8]
  wire  _T_766; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37056.8]
  wire  _T_773; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@37075.8]
  wire  _T_775; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37077.8]
  wire  _T_776; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37078.8]
  wire  _T_781; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37092.6]
  wire  _T_882; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@37206.8]
  wire  _T_884; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37208.8]
  wire  _T_885; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37209.8]
  wire  _T_890; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37223.6]
  wire  _T_983; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37317.8]
  wire  _T_984; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37318.8]
  wire  _T_999; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@37356.6]
  wire  _T_1001; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37358.6]
  wire  _T_1002; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37359.6]
  wire  _T_1004; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@37365.6]
  wire  _T_1013; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@37370.6]
  wire  _T_1015; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37372.6]
  wire  _T_1017; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37375.8]
  wire  _T_1018; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37376.8]
  wire  _T_1019; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37381.8]
  wire  _T_1021; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37383.8]
  wire  _T_1022; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37384.8]
  wire  _T_1023; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37389.8]
  wire  _T_1025; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37391.8]
  wire  _T_1026; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37392.8]
  wire  _T_1027; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@37397.8]
  wire  _T_1029; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37399.8]
  wire  _T_1030; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37400.8]
  wire  _T_1031; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@37405.8]
  wire  _T_1033; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37407.8]
  wire  _T_1034; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37408.8]
  wire  _T_1035; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37414.6]
  wire  _T_1046; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@37438.8]
  wire  _T_1048; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37440.8]
  wire  _T_1049; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37441.8]
  wire  _T_1050; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37446.8]
  wire  _T_1052; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37448.8]
  wire  _T_1053; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37449.8]
  wire  _T_1063; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37472.6]
  wire  _T_1083; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@37513.8]
  wire  _T_1085; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37515.8]
  wire  _T_1086; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37516.8]
  wire  _T_1092; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37531.6]
  wire  _T_1109; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37566.6]
  wire  _T_1127; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37602.6]
  wire  _T_1156; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37662.4]
  wire [9:0] _T_1161; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@37667.4]
  wire  _T_1162; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@37668.4]
  wire  _T_1163; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37669.4]
  reg [9:0] _T_1166; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37671.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1167; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37672.4]
  wire [10:0] _T_1168; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37673.4]
  wire [9:0] _T_1169; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37674.4]
  wire  _T_1170; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37675.4]
  reg [2:0] _T_1179; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37686.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1181; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37687.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1183; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37688.4]
  reg [31:0] _RAND_3;
  reg  _T_1185; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37689.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_1187; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37690.4]
  reg [31:0] _RAND_5;
  wire  _T_1188; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37691.4]
  wire  _T_1189; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@37692.4]
  wire  _T_1190; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37694.6]
  wire  _T_1192; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37696.6]
  wire  _T_1193; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37697.6]
  wire  _T_1194; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37702.6]
  wire  _T_1196; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37704.6]
  wire  _T_1197; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37705.6]
  wire  _T_1198; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37710.6]
  wire  _T_1200; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37712.6]
  wire  _T_1201; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37713.6]
  wire  _T_1202; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37718.6]
  wire  _T_1204; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37720.6]
  wire  _T_1205; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37721.6]
  wire  _T_1206; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37726.6]
  wire  _T_1208; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37728.6]
  wire  _T_1209; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37729.6]
  wire  _T_1211; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@37736.4]
  wire  _T_1212; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37744.4]
  wire [26:0] _T_1214; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@37746.4]
  wire [11:0] _T_1215; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@37747.4]
  wire [11:0] _T_1216; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@37748.4]
  wire [9:0] _T_1217; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@37749.4]
  wire  _T_1218; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@37750.4]
  reg [9:0] _T_1221; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37752.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_1222; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37753.4]
  wire [10:0] _T_1223; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37754.4]
  wire [9:0] _T_1224; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37755.4]
  wire  _T_1225; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37756.4]
  reg [2:0] _T_1234; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37767.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_1236; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37768.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_1238; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37769.4]
  reg [31:0] _RAND_9;
  reg  _T_1240; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37770.4]
  reg [31:0] _RAND_10;
  reg  _T_1242; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37771.4]
  reg [31:0] _RAND_11;
  reg  _T_1244; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37772.4]
  reg [31:0] _RAND_12;
  wire  _T_1245; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37773.4]
  wire  _T_1246; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@37774.4]
  wire  _T_1247; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37776.6]
  wire  _T_1249; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37778.6]
  wire  _T_1250; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37779.6]
  wire  _T_1251; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37784.6]
  wire  _T_1253; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37786.6]
  wire  _T_1254; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37787.6]
  wire  _T_1255; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37792.6]
  wire  _T_1257; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37794.6]
  wire  _T_1258; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37795.6]
  wire  _T_1259; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37800.6]
  wire  _T_1261; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37802.6]
  wire  _T_1262; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37803.6]
  wire  _T_1263; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37808.6]
  wire  _T_1265; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37810.6]
  wire  _T_1266; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37811.6]
  wire  _T_1267; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37816.6]
  wire  _T_1269; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37818.6]
  wire  _T_1270; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37819.6]
  wire  _T_1272; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@37826.4]
  reg [1:0] _T_1274; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37835.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1285; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37845.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1286; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37846.4]
  wire [10:0] _T_1287; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37847.4]
  wire [9:0] _T_1288; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37848.4]
  wire  _T_1289; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37849.4]
  reg [9:0] _T_1306; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37868.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1307; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37869.4]
  wire [10:0] _T_1308; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37870.4]
  wire [9:0] _T_1309; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37871.4]
  wire  _T_1310; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37872.4]
  wire  _T_1321; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37887.4]
  wire [1:0] _T_1323; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@37890.6]
  wire [1:0] _T_1324; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@37892.6]
  wire  _T_1325; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@37893.6]
  wire  _T_1326; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37894.6]
  wire  _T_1328; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37896.6]
  wire  _T_1329; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37897.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@37889.4]
  wire  _T_1334; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37908.4]
  wire  _T_1336; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@37910.4]
  wire  _T_1337; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@37911.4]
  wire [1:0] _T_1338; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@37913.6]
  wire [1:0] _T_1339; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@37915.6]
  wire [1:0] _T_1340; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@37916.6]
  wire  _T_1341; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@37917.6]
  wire  _T_1343; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37919.6]
  wire  _T_1344; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37920.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@37912.4]
  wire  _T_1345; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@37926.4]
  wire  _T_1346; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@37927.4]
  wire  _T_1347; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@37928.4]
  wire  _T_1348; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@37929.4]
  wire  _T_1350; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37931.4]
  wire  _T_1351; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37932.4]
  wire [1:0] _T_1352; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37937.4]
  wire [1:0] _T_1353; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@37938.4]
  wire [1:0] _T_1354; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@37939.4]
  reg [31:0] _T_1356; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37941.4]
  reg [31:0] _RAND_16;
  wire  _T_1357; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@37944.4]
  wire  _T_1358; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37945.4]
  wire  _T_1359; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@37946.4]
  wire  _T_1360; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37947.4]
  wire  _T_1361; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@37948.4]
  wire  _T_1362; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@37949.4]
  wire  _T_1364; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37951.4]
  wire  _T_1365; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37952.4]
  wire [31:0] _T_1367; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@37958.4]
  wire  _T_1370; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37962.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36329.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36479.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36645.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36789.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36925.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37058.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37189.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37320.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37378.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37420.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37478.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37537.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37572.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37608.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@37942.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@36168.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@36173.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@36175.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@36176.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@36177.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@36178.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@36178.6]
  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@36179.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36181.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@36182.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@36184.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@36185.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@36186.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@36187.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@36188.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36190.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36191.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36193.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36194.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@36195.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@36196.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@36197.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36198.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36199.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36200.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36201.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36202.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36203.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36204.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36205.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36206.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36207.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@36208.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@36209.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@36210.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@36211.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@36212.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36216.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36237.6]
  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36240.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36241.8]
  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36242.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36243.8]
  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36244.8]
  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36245.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36246.8]
  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36247.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36248.8]
  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36249.8]
  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36250.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36251.8]
  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36252.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36253.8]
  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36254.8]
  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36255.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36256.8]
  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36257.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36258.8]
  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36259.8]
  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36260.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36261.8]
  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36262.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36263.8]
  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36264.8]
  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36265.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36266.8]
  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36267.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36268.8]
  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36269.8]
  assign _T_122 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36270.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36271.8]
  assign _T_124 = $signed(_T_123) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36272.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36273.8]
  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36274.8]
  assign _T_127 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36275.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36276.8]
  assign _T_129 = $signed(_T_128) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36277.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36278.8]
  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36279.8]
  assign _T_132 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36280.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36281.8]
  assign _T_134 = $signed(_T_133) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36282.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36283.8]
  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36284.8]
  assign _T_137 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36285.8]
  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36286.8]
  assign _T_139 = $signed(_T_138) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36287.8]
  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36288.8]
  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36289.8]
  assign _T_144 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36292.8]
  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36293.8]
  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36294.8]
  assign _T_147 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36295.8]
  assign _T_148 = {1'b0,$signed(_T_147)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36296.8]
  assign _T_149 = $signed(_T_148) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36297.8]
  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36298.8]
  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36299.8]
  assign _T_152 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36300.8]
  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36301.8]
  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36302.8]
  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36303.8]
  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36304.8]
  assign _T_157 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@36305.8]
  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@36306.8]
  assign _T_159 = $signed(_T_158) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36307.8]
  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@36308.8]
  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@36309.8]
  assign _T_162 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36310.8]
  assign _T_163 = _T_162 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36311.8]
  assign _T_164 = _T_163 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36312.8]
  assign _T_165 = _T_164 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36313.8]
  assign _T_179 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36327.8]
  assign _T_184 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36340.8]
  assign _T_185 = _T_184 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36341.8]
  assign _T_188 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36348.8]
  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36349.8]
  assign _T_191 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36355.8]
  assign _T_192 = _T_191 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36356.8]
  assign _T_193 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36361.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36363.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36364.8]
  assign _T_197 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@36369.8]
  assign _T_198 = _T_197 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36370.8]
  assign _T_200 = _T_198 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36372.8]
  assign _T_201 = _T_200 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36373.8]
  assign _T_202 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@36378.8]
  assign _T_204 = _T_202 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36380.8]
  assign _T_205 = _T_204 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36381.8]
  assign _T_206 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36387.6]
  assign _T_313 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36519.8]
  assign _T_315 = _T_313 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36521.8]
  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36522.8]
  assign _T_326 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36545.6]
  assign _T_328 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36548.8]
  assign _T_336 = _T_328 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@36556.8]
  assign _T_338 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36558.8]
  assign _T_406 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36626.8]
  assign _T_407 = _T_406 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36627.8]
  assign _T_408 = _T_407 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36628.8]
  assign _T_409 = _T_408 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36629.8]
  assign _T_410 = _T_409 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36630.8]
  assign _T_411 = _T_410 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36631.8]
  assign _T_412 = _T_411 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36632.8]
  assign _T_413 = _T_412 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36633.8]
  assign _T_414 = _T_413 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36634.8]
  assign _T_415 = _T_414 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36635.8]
  assign _T_416 = _T_415 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36636.8]
  assign _T_417 = _T_416 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36637.8]
  assign _T_418 = _T_338 & _T_417; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@36638.8]
  assign _T_420 = _T_336 | _T_418; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@36640.8]
  assign _T_422 = _T_420 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36642.8]
  assign _T_423 = _T_422 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36643.8]
  assign _T_430 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36662.8]
  assign _T_432 = _T_430 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36664.8]
  assign _T_433 = _T_432 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36665.8]
  assign _T_434 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@36670.8]
  assign _T_436 = _T_434 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36672.8]
  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36673.8]
  assign _T_442 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36687.6]
  assign _T_515 = _T_408 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36761.8]
  assign _T_516 = _T_515 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36762.8]
  assign _T_517 = _T_516 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36763.8]
  assign _T_518 = _T_517 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36764.8]
  assign _T_519 = _T_518 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36765.8]
  assign _T_520 = _T_519 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36766.8]
  assign _T_521 = _T_520 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36767.8]
  assign _T_522 = _T_338 & _T_521; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@36768.8]
  assign _T_537 = _T_336 | _T_522; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@36783.8]
  assign _T_540 = _T_537 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36786.8]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36787.8]
  assign _T_556 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36823.6]
  assign _T_666 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@36950.8]
  assign _T_667 = io_in_a_bits_mask & _T_666; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@36951.8]
  assign _T_668 = _T_667 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@36952.8]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36954.8]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36955.8]
  assign _T_672 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@36961.6]
  assign _T_674 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@36964.8]
  assign _T_741 = _T_165 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37031.8]
  assign _T_742 = _T_741 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37032.8]
  assign _T_743 = _T_742 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37033.8]
  assign _T_744 = _T_743 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37034.8]
  assign _T_745 = _T_744 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37035.8]
  assign _T_746 = _T_745 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37036.8]
  assign _T_747 = _T_746 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@37037.8]
  assign _T_748 = _T_674 & _T_747; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@37038.8]
  assign _T_765 = _T_748 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37055.8]
  assign _T_766 = _T_765 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37056.8]
  assign _T_773 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@37075.8]
  assign _T_775 = _T_773 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37077.8]
  assign _T_776 = _T_775 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37078.8]
  assign _T_781 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37092.6]
  assign _T_882 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@37206.8]
  assign _T_884 = _T_882 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37208.8]
  assign _T_885 = _T_884 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37209.8]
  assign _T_890 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37223.6]
  assign _T_983 = _T_336 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37317.8]
  assign _T_984 = _T_983 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37318.8]
  assign _T_999 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@37356.6]
  assign _T_1001 = _T_999 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37358.6]
  assign _T_1002 = _T_1001 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37359.6]
  assign _T_1004 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@37365.6]
  assign _T_1013 = io_in_d_bits_source | _T_1004; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@37370.6]
  assign _T_1015 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37372.6]
  assign _T_1017 = _T_1013 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37375.8]
  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37376.8]
  assign _T_1019 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37381.8]
  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37383.8]
  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37384.8]
  assign _T_1023 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37389.8]
  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37391.8]
  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37392.8]
  assign _T_1027 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@37397.8]
  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37399.8]
  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37400.8]
  assign _T_1031 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@37405.8]
  assign _T_1033 = _T_1031 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37407.8]
  assign _T_1034 = _T_1033 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37408.8]
  assign _T_1035 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37414.6]
  assign _T_1046 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@37438.8]
  assign _T_1048 = _T_1046 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37440.8]
  assign _T_1049 = _T_1048 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37441.8]
  assign _T_1050 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37446.8]
  assign _T_1052 = _T_1050 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37448.8]
  assign _T_1053 = _T_1052 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37449.8]
  assign _T_1063 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37472.6]
  assign _T_1083 = _T_1031 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@37513.8]
  assign _T_1085 = _T_1083 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37515.8]
  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37516.8]
  assign _T_1092 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37531.6]
  assign _T_1109 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37566.6]
  assign _T_1127 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37602.6]
  assign _T_1156 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37662.4]
  assign _T_1161 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@37667.4]
  assign _T_1162 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@37668.4]
  assign _T_1163 = _T_1162 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37669.4]
  assign _T_1167 = _T_1166 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37672.4]
  assign _T_1168 = $unsigned(_T_1167); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37673.4]
  assign _T_1169 = _T_1168[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37674.4]
  assign _T_1170 = _T_1166 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37675.4]
  assign _T_1188 = _T_1170 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37691.4]
  assign _T_1189 = io_in_a_valid & _T_1188; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@37692.4]
  assign _T_1190 = io_in_a_bits_opcode == _T_1179; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37694.6]
  assign _T_1192 = _T_1190 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37696.6]
  assign _T_1193 = _T_1192 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37697.6]
  assign _T_1194 = io_in_a_bits_param == _T_1181; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37702.6]
  assign _T_1196 = _T_1194 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37704.6]
  assign _T_1197 = _T_1196 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37705.6]
  assign _T_1198 = io_in_a_bits_size == _T_1183; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37710.6]
  assign _T_1200 = _T_1198 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37712.6]
  assign _T_1201 = _T_1200 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37713.6]
  assign _T_1202 = io_in_a_bits_source == _T_1185; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37718.6]
  assign _T_1204 = _T_1202 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37720.6]
  assign _T_1205 = _T_1204 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37721.6]
  assign _T_1206 = io_in_a_bits_address == _T_1187; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37726.6]
  assign _T_1208 = _T_1206 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37728.6]
  assign _T_1209 = _T_1208 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37729.6]
  assign _T_1211 = _T_1156 & _T_1170; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@37736.4]
  assign _T_1212 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37744.4]
  assign _T_1214 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@37746.4]
  assign _T_1215 = _T_1214[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@37747.4]
  assign _T_1216 = ~ _T_1215; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@37748.4]
  assign _T_1217 = _T_1216[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@37749.4]
  assign _T_1218 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@37750.4]
  assign _T_1222 = _T_1221 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37753.4]
  assign _T_1223 = $unsigned(_T_1222); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37754.4]
  assign _T_1224 = _T_1223[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37755.4]
  assign _T_1225 = _T_1221 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37756.4]
  assign _T_1245 = _T_1225 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@37773.4]
  assign _T_1246 = io_in_d_valid & _T_1245; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@37774.4]
  assign _T_1247 = io_in_d_bits_opcode == _T_1234; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37776.6]
  assign _T_1249 = _T_1247 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37778.6]
  assign _T_1250 = _T_1249 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37779.6]
  assign _T_1251 = io_in_d_bits_param == _T_1236; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37784.6]
  assign _T_1253 = _T_1251 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37786.6]
  assign _T_1254 = _T_1253 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37787.6]
  assign _T_1255 = io_in_d_bits_size == _T_1238; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37792.6]
  assign _T_1257 = _T_1255 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37794.6]
  assign _T_1258 = _T_1257 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37795.6]
  assign _T_1259 = io_in_d_bits_source == _T_1240; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37800.6]
  assign _T_1261 = _T_1259 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37802.6]
  assign _T_1262 = _T_1261 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37803.6]
  assign _T_1263 = io_in_d_bits_sink == _T_1242; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37808.6]
  assign _T_1265 = _T_1263 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37810.6]
  assign _T_1266 = _T_1265 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37811.6]
  assign _T_1267 = io_in_d_bits_denied == _T_1244; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@37816.6]
  assign _T_1269 = _T_1267 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37818.6]
  assign _T_1270 = _T_1269 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37819.6]
  assign _T_1272 = _T_1212 & _T_1225; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@37826.4]
  assign _T_1286 = _T_1285 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37846.4]
  assign _T_1287 = $unsigned(_T_1286); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37847.4]
  assign _T_1288 = _T_1287[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37848.4]
  assign _T_1289 = _T_1285 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37849.4]
  assign _T_1307 = _T_1306 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37869.4]
  assign _T_1308 = $unsigned(_T_1307); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37870.4]
  assign _T_1309 = _T_1308[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@37871.4]
  assign _T_1310 = _T_1306 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37872.4]
  assign _T_1321 = _T_1156 & _T_1289; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37887.4]
  assign _T_1323 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@37890.6]
  assign _T_1324 = _T_1274 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@37892.6]
  assign _T_1325 = _T_1324[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@37893.6]
  assign _T_1326 = _T_1325 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37894.6]
  assign _T_1328 = _T_1326 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37896.6]
  assign _T_1329 = _T_1328 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37897.6]
  assign _GEN_15 = _T_1321 ? _T_1323 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@37889.4]
  assign _T_1334 = _T_1212 & _T_1310; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37908.4]
  assign _T_1336 = _T_1015 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@37910.4]
  assign _T_1337 = _T_1334 & _T_1336; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@37911.4]
  assign _T_1338 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@37913.6]
  assign _T_1339 = _GEN_15 | _T_1274; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@37915.6]
  assign _T_1340 = _T_1339 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@37916.6]
  assign _T_1341 = _T_1340[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@37917.6]
  assign _T_1343 = _T_1341 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37919.6]
  assign _T_1344 = _T_1343 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37920.6]
  assign _GEN_16 = _T_1337 ? _T_1338 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@37912.4]
  assign _T_1345 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@37926.4]
  assign _T_1346 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@37927.4]
  assign _T_1347 = _T_1346 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@37928.4]
  assign _T_1348 = _T_1345 | _T_1347; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@37929.4]
  assign _T_1350 = _T_1348 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37931.4]
  assign _T_1351 = _T_1350 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37932.4]
  assign _T_1352 = _T_1274 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37937.4]
  assign _T_1353 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@37938.4]
  assign _T_1354 = _T_1352 & _T_1353; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@37939.4]
  assign _T_1357 = _T_1274 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@37944.4]
  assign _T_1358 = _T_1357 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37945.4]
  assign _T_1359 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@37946.4]
  assign _T_1360 = _T_1358 | _T_1359; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37947.4]
  assign _T_1361 = _T_1356 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@37948.4]
  assign _T_1362 = _T_1360 | _T_1361; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@37949.4]
  assign _T_1364 = _T_1362 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37951.4]
  assign _T_1365 = _T_1364 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37952.4]
  assign _T_1367 = _T_1356 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@37958.4]
  assign _T_1370 = _T_1156 | _T_1212; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@37962.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36329.10]
  assign _GEN_35 = io_in_a_valid & _T_206; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36479.10]
  assign _GEN_53 = io_in_a_valid & _T_326; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36645.10]
  assign _GEN_65 = io_in_a_valid & _T_442; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36789.10]
  assign _GEN_75 = io_in_a_valid & _T_556; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36925.10]
  assign _GEN_85 = io_in_a_valid & _T_672; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37058.10]
  assign _GEN_95 = io_in_a_valid & _T_781; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37189.10]
  assign _GEN_105 = io_in_a_valid & _T_890; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37320.10]
  assign _GEN_115 = io_in_d_valid & _T_1015; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37378.10]
  assign _GEN_125 = io_in_d_valid & _T_1035; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37420.10]
  assign _GEN_137 = io_in_d_valid & _T_1063; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37478.10]
  assign _GEN_149 = io_in_d_valid & _T_1092; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37537.10]
  assign _GEN_155 = io_in_d_valid & _T_1109; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37572.10]
  assign _GEN_161 = io_in_d_valid & _T_1127; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37608.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_1166 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1179 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1181 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1183 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1185 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1187 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1221 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1234 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1236 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1238 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1240 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1242 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1244 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1274 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1285 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1306 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1356 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1166 <= 10'h0;
    end else begin
      if (_T_1156) begin
        if (_T_1170) begin
          if (_T_1163) begin
            _T_1166 <= _T_1161;
          end else begin
            _T_1166 <= 10'h0;
          end
        end else begin
          _T_1166 <= _T_1169;
        end
      end
    end
    if (_T_1211) begin
      _T_1179 <= io_in_a_bits_opcode;
    end
    if (_T_1211) begin
      _T_1181 <= io_in_a_bits_param;
    end
    if (_T_1211) begin
      _T_1183 <= io_in_a_bits_size;
    end
    if (_T_1211) begin
      _T_1185 <= io_in_a_bits_source;
    end
    if (_T_1211) begin
      _T_1187 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1221 <= 10'h0;
    end else begin
      if (_T_1212) begin
        if (_T_1225) begin
          if (_T_1218) begin
            _T_1221 <= _T_1217;
          end else begin
            _T_1221 <= 10'h0;
          end
        end else begin
          _T_1221 <= _T_1224;
        end
      end
    end
    if (_T_1272) begin
      _T_1234 <= io_in_d_bits_opcode;
    end
    if (_T_1272) begin
      _T_1236 <= io_in_d_bits_param;
    end
    if (_T_1272) begin
      _T_1238 <= io_in_d_bits_size;
    end
    if (_T_1272) begin
      _T_1240 <= io_in_d_bits_source;
    end
    if (_T_1272) begin
      _T_1242 <= io_in_d_bits_sink;
    end
    if (_T_1272) begin
      _T_1244 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1274 <= 2'h0;
    end else begin
      _T_1274 <= _T_1354;
    end
    if (reset) begin
      _T_1285 <= 10'h0;
    end else begin
      if (_T_1156) begin
        if (_T_1289) begin
          if (_T_1163) begin
            _T_1285 <= _T_1161;
          end else begin
            _T_1285 <= 10'h0;
          end
        end else begin
          _T_1285 <= _T_1288;
        end
      end
    end
    if (reset) begin
      _T_1306 <= 10'h0;
    end else begin
      if (_T_1212) begin
        if (_T_1310) begin
          if (_T_1218) begin
            _T_1306 <= _T_1217;
          end else begin
            _T_1306 <= 10'h0;
          end
        end else begin
          _T_1306 <= _T_1309;
        end
      end
    end
    if (reset) begin
      _T_1356 <= 32'h0;
    end else begin
      if (_T_1370) begin
        _T_1356 <= 32'h0;
      end else begin
        _T_1356 <= _T_1367;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at SystemBus.scala:50:9)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@36164.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@36165.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@36234.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@36235.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at SystemBus.scala:50:9)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36329.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36330.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SystemBus.scala:50:9)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36336.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36337.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36343.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_185) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36344.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SystemBus.scala:50:9)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36351.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36352.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SystemBus.scala:50:9)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36358.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_192) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36359.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36366.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_196) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36367.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SystemBus.scala:50:9)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36375.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_201) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36376.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SystemBus.scala:50:9)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36383.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_205) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36384.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at SystemBus.scala:50:9)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36479.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36480.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SystemBus.scala:50:9)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36486.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36487.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36493.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_185) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36494.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SystemBus.scala:50:9)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36501.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_189) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36502.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SystemBus.scala:50:9)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36508.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_192) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36509.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36516.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_196) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36517.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_316) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SystemBus.scala:50:9)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36524.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_316) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36525.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SystemBus.scala:50:9)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36533.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_201) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36534.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SystemBus.scala:50:9)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36541.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_205) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36542.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_423) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at SystemBus.scala:50:9)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36645.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_423) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36646.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36652.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_185) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36653.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at SystemBus.scala:50:9)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36659.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_192) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36660.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36667.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_433) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36668.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at SystemBus.scala:50:9)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36675.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_437) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36676.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at SystemBus.scala:50:9)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36683.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_205) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36684.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SystemBus.scala:50:9)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36789.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_541) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36790.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36796.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_185) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36797.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at SystemBus.scala:50:9)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36803.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_192) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36804.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36811.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_433) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36812.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at SystemBus.scala:50:9)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36819.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_437) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36820.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at SystemBus.scala:50:9)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36925.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_541) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36926.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36932.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_185) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36933.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SystemBus.scala:50:9)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36939.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_192) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36940.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36947.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_433) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36948.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SystemBus.scala:50:9)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36957.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_671) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@36958.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_766) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at SystemBus.scala:50:9)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37058.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_766) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37059.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37065.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_185) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37066.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SystemBus.scala:50:9)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37072.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_192) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37073.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_776) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37080.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_776) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37081.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SystemBus.scala:50:9)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37088.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_437) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37089.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_766) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at SystemBus.scala:50:9)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37189.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_766) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37190.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37196.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_185) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37197.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at SystemBus.scala:50:9)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37203.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_192) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37204.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_885) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37211.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_885) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37212.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at SystemBus.scala:50:9)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37219.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_437) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37220.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_984) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at SystemBus.scala:50:9)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37320.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_984) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37321.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37327.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_185) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37328.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at SystemBus.scala:50:9)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37334.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_192) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37335.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at SystemBus.scala:50:9)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37342.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_437) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37343.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at SystemBus.scala:50:9)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37350.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_205) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37351.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_1002) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SystemBus.scala:50:9)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37361.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_1002) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37362.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37378.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1018) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37379.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SystemBus.scala:50:9)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37386.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1022) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37387.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37394.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1026) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37395.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SystemBus.scala:50:9)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37402.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1030) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37403.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1034) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at SystemBus.scala:50:9)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37410.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1034) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37411.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37420.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1018) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37421.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37427.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_179) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37428.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at SystemBus.scala:50:9)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37435.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1022) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37436.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1049) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37443.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1049) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37444.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1053) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37451.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1053) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37452.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at SystemBus.scala:50:9)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37459.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1030) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37460.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at SystemBus.scala:50:9)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37468.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37469.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37478.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1018) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37479.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37485.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_179) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37486.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SystemBus.scala:50:9)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37493.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1022) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37494.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1049) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37501.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1049) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37502.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1053) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37509.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1053) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37510.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1086) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SystemBus.scala:50:9)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37518.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1086) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37519.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at SystemBus.scala:50:9)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37527.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37528.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37537.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1018) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37538.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37545.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1026) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37546.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at SystemBus.scala:50:9)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37553.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1030) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37554.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at SystemBus.scala:50:9)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37562.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37563.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37572.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1018) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37573.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37580.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1026) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37581.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1086) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SystemBus.scala:50:9)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37589.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1086) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37590.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at SystemBus.scala:50:9)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37598.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37599.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37608.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1018) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37609.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at SystemBus.scala:50:9)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37616.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1026) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37617.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at SystemBus.scala:50:9)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37624.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1030) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37625.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at SystemBus.scala:50:9)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37633.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37634.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at SystemBus.scala:50:9)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37643.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37644.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at SystemBus.scala:50:9)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37651.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37652.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at SystemBus.scala:50:9)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37659.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37660.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1193) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SystemBus.scala:50:9)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37699.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1193) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37700.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1197) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SystemBus.scala:50:9)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37707.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1197) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37708.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SystemBus.scala:50:9)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37715.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1201) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37716.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SystemBus.scala:50:9)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37723.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1205) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37724.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1209) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SystemBus.scala:50:9)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37731.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1209) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37732.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1250) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SystemBus.scala:50:9)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37781.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1250) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37782.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1254) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at SystemBus.scala:50:9)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37789.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1254) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37790.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1258) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SystemBus.scala:50:9)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37797.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1258) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37798.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1262) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SystemBus.scala:50:9)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37805.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1262) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37806.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1266) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at SystemBus.scala:50:9)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37813.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1266) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37814.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1270) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at SystemBus.scala:50:9)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37821.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1270) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@37822.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1321 & _T_1329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SystemBus.scala:50:9)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37899.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1321 & _T_1329) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37900.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1337 & _T_1344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SystemBus.scala:50:9)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37922.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1337 & _T_1344) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37923.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1351) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at SystemBus.scala:50:9)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37934.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1351) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@37935.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1365) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SystemBus.scala:50:9)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37954.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1365) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@37955.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLWidthWidget_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37967.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37968.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37969.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37970.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
  TLMonitor_21 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@37977.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38017.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38017.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38017.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38017.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38017.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38017.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38017.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38017.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38017.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38017.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38016.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38016.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38016.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38016.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38016.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38016.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38016.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38016.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38016.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38016.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37979.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@37980.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@38013.4]
endmodule
module TLMonitor_22( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38034.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38035.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38036.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@38037.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@39827.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@38053.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@38058.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@38060.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@38061.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@38062.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@38063.6]
  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@38063.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@38064.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38066.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@38067.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@38069.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@38070.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@38071.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@38072.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@38073.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38075.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38076.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38078.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38079.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@38080.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@38081.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@38082.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38083.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38084.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38085.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38086.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38087.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38088.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38089.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38090.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38091.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38092.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38093.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38094.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@38095.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@38096.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@38097.6]
  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38101.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38122.6]
  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38125.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38126.8]
  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38127.8]
  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38128.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38129.8]
  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38130.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38131.8]
  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38132.8]
  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38133.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38134.8]
  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38135.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38136.8]
  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38137.8]
  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38138.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38139.8]
  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38140.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38141.8]
  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38142.8]
  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38143.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38144.8]
  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38145.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38146.8]
  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38147.8]
  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38148.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38149.8]
  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38150.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38151.8]
  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38152.8]
  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38153.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38154.8]
  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38155.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38156.8]
  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38157.8]
  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38158.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38159.8]
  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38160.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38161.8]
  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38162.8]
  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38163.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38164.8]
  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38165.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38166.8]
  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38167.8]
  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38168.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38169.8]
  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38170.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38171.8]
  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38172.8]
  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38173.8]
  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38174.8]
  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38177.8]
  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38178.8]
  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38179.8]
  wire [31:0] _T_147; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38180.8]
  wire [32:0] _T_148; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38181.8]
  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38182.8]
  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38183.8]
  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38184.8]
  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38185.8]
  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38186.8]
  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38187.8]
  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38188.8]
  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38189.8]
  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38190.8]
  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38191.8]
  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38192.8]
  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38193.8]
  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38194.8]
  wire  _T_162; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38195.8]
  wire  _T_163; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38196.8]
  wire  _T_164; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38197.8]
  wire  _T_165; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38198.8]
  wire  _T_179; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38212.8]
  wire  _T_184; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38225.8]
  wire  _T_185; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38226.8]
  wire  _T_188; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38233.8]
  wire  _T_189; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38234.8]
  wire  _T_191; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38240.8]
  wire  _T_192; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38241.8]
  wire  _T_193; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38246.8]
  wire  _T_195; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38248.8]
  wire  _T_196; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38249.8]
  wire [3:0] _T_197; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@38254.8]
  wire  _T_198; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38255.8]
  wire  _T_200; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38257.8]
  wire  _T_201; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38258.8]
  wire  _T_202; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@38263.8]
  wire  _T_204; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38265.8]
  wire  _T_205; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38266.8]
  wire  _T_206; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38272.6]
  wire  _T_313; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38404.8]
  wire  _T_315; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38406.8]
  wire  _T_316; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38407.8]
  wire  _T_326; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38430.6]
  wire  _T_328; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38433.8]
  wire  _T_336; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@38441.8]
  wire  _T_338; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38443.8]
  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38511.8]
  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38512.8]
  wire  _T_408; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38513.8]
  wire  _T_409; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38514.8]
  wire  _T_410; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38515.8]
  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38516.8]
  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38517.8]
  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38518.8]
  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38519.8]
  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38520.8]
  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38521.8]
  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38522.8]
  wire  _T_418; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@38523.8]
  wire  _T_420; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@38525.8]
  wire  _T_422; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38527.8]
  wire  _T_423; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38528.8]
  wire  _T_430; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38547.8]
  wire  _T_432; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38549.8]
  wire  _T_433; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38550.8]
  wire  _T_434; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38555.8]
  wire  _T_436; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38557.8]
  wire  _T_437; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38558.8]
  wire  _T_442; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38572.6]
  wire  _T_515; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38646.8]
  wire  _T_516; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38647.8]
  wire  _T_517; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38648.8]
  wire  _T_518; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38649.8]
  wire  _T_519; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38650.8]
  wire  _T_520; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38651.8]
  wire  _T_521; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38652.8]
  wire  _T_522; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@38653.8]
  wire  _T_537; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@38668.8]
  wire  _T_540; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38671.8]
  wire  _T_541; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38672.8]
  wire  _T_556; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38708.6]
  wire [3:0] _T_666; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@38835.8]
  wire [3:0] _T_667; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38836.8]
  wire  _T_668; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@38837.8]
  wire  _T_670; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38839.8]
  wire  _T_671; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38840.8]
  wire  _T_672; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38846.6]
  wire  _T_674; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38849.8]
  wire  _T_741; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38916.8]
  wire  _T_742; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38917.8]
  wire  _T_743; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38918.8]
  wire  _T_744; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38919.8]
  wire  _T_745; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38920.8]
  wire  _T_746; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38921.8]
  wire  _T_747; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38922.8]
  wire  _T_748; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@38923.8]
  wire  _T_765; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38940.8]
  wire  _T_766; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38941.8]
  wire  _T_773; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@38960.8]
  wire  _T_775; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38962.8]
  wire  _T_776; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38963.8]
  wire  _T_781; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38977.6]
  wire  _T_882; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@39091.8]
  wire  _T_884; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39093.8]
  wire  _T_885; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39094.8]
  wire  _T_890; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39108.6]
  wire  _T_983; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39202.8]
  wire  _T_984; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39203.8]
  wire  _T_999; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@39241.6]
  wire  _T_1001; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39243.6]
  wire  _T_1002; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39244.6]
  wire  _T_1004; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@39250.6]
  wire  _T_1013; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@39255.6]
  wire  _T_1015; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39257.6]
  wire  _T_1017; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39260.8]
  wire  _T_1018; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39261.8]
  wire  _T_1019; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39266.8]
  wire  _T_1021; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39268.8]
  wire  _T_1022; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39269.8]
  wire  _T_1023; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39274.8]
  wire  _T_1025; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39276.8]
  wire  _T_1026; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39277.8]
  wire  _T_1027; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@39282.8]
  wire  _T_1029; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39284.8]
  wire  _T_1030; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39285.8]
  wire  _T_1031; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@39290.8]
  wire  _T_1033; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39292.8]
  wire  _T_1034; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39293.8]
  wire  _T_1035; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39299.6]
  wire  _T_1046; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@39323.8]
  wire  _T_1048; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39325.8]
  wire  _T_1049; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39326.8]
  wire  _T_1050; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39331.8]
  wire  _T_1052; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39333.8]
  wire  _T_1053; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39334.8]
  wire  _T_1063; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39357.6]
  wire  _T_1083; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@39398.8]
  wire  _T_1085; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39400.8]
  wire  _T_1086; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39401.8]
  wire  _T_1092; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39416.6]
  wire  _T_1109; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39451.6]
  wire  _T_1127; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39487.6]
  wire  _T_1156; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39547.4]
  wire [9:0] _T_1161; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@39552.4]
  wire  _T_1162; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@39553.4]
  wire  _T_1163; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39554.4]
  reg [9:0] _T_1166; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39556.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1167; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39557.4]
  wire [10:0] _T_1168; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39558.4]
  wire [9:0] _T_1169; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39559.4]
  wire  _T_1170; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39560.4]
  reg [2:0] _T_1179; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39571.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1181; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39572.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1183; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39573.4]
  reg [31:0] _RAND_3;
  reg  _T_1185; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39574.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_1187; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39575.4]
  reg [31:0] _RAND_5;
  wire  _T_1188; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39576.4]
  wire  _T_1189; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39577.4]
  wire  _T_1190; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39579.6]
  wire  _T_1192; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39581.6]
  wire  _T_1193; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39582.6]
  wire  _T_1194; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39587.6]
  wire  _T_1196; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39589.6]
  wire  _T_1197; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39590.6]
  wire  _T_1198; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39595.6]
  wire  _T_1200; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39597.6]
  wire  _T_1201; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39598.6]
  wire  _T_1202; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39603.6]
  wire  _T_1204; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39605.6]
  wire  _T_1205; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39606.6]
  wire  _T_1206; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39611.6]
  wire  _T_1208; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39613.6]
  wire  _T_1209; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39614.6]
  wire  _T_1211; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@39621.4]
  wire  _T_1212; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39629.4]
  wire [26:0] _T_1214; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@39631.4]
  wire [11:0] _T_1215; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@39632.4]
  wire [11:0] _T_1216; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@39633.4]
  wire [9:0] _T_1217; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@39634.4]
  wire  _T_1218; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@39635.4]
  reg [9:0] _T_1221; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39637.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_1222; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39638.4]
  wire [10:0] _T_1223; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39639.4]
  wire [9:0] _T_1224; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39640.4]
  wire  _T_1225; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39641.4]
  reg [2:0] _T_1234; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39652.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_1236; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39653.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_1238; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39654.4]
  reg [31:0] _RAND_9;
  reg  _T_1240; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39655.4]
  reg [31:0] _RAND_10;
  reg  _T_1242; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39656.4]
  reg [31:0] _RAND_11;
  reg  _T_1244; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39657.4]
  reg [31:0] _RAND_12;
  wire  _T_1245; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39658.4]
  wire  _T_1246; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39659.4]
  wire  _T_1247; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39661.6]
  wire  _T_1249; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39663.6]
  wire  _T_1250; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39664.6]
  wire  _T_1251; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39669.6]
  wire  _T_1253; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39671.6]
  wire  _T_1254; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39672.6]
  wire  _T_1255; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39677.6]
  wire  _T_1257; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39679.6]
  wire  _T_1258; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39680.6]
  wire  _T_1259; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39685.6]
  wire  _T_1261; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39687.6]
  wire  _T_1262; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39688.6]
  wire  _T_1263; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39693.6]
  wire  _T_1265; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39695.6]
  wire  _T_1266; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39696.6]
  wire  _T_1267; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39701.6]
  wire  _T_1269; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39703.6]
  wire  _T_1270; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39704.6]
  wire  _T_1272; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@39711.4]
  reg [1:0] _T_1274; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39720.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1285; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39730.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1286; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39731.4]
  wire [10:0] _T_1287; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39732.4]
  wire [9:0] _T_1288; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39733.4]
  wire  _T_1289; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39734.4]
  reg [9:0] _T_1306; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39753.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1307; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39754.4]
  wire [10:0] _T_1308; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39755.4]
  wire [9:0] _T_1309; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39756.4]
  wire  _T_1310; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39757.4]
  wire  _T_1321; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39772.4]
  wire [1:0] _T_1323; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@39775.6]
  wire [1:0] _T_1324; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@39777.6]
  wire  _T_1325; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@39778.6]
  wire  _T_1326; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39779.6]
  wire  _T_1328; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39781.6]
  wire  _T_1329; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39782.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@39774.4]
  wire  _T_1334; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39793.4]
  wire  _T_1336; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@39795.4]
  wire  _T_1337; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@39796.4]
  wire [1:0] _T_1338; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@39798.6]
  wire [1:0] _T_1339; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@39800.6]
  wire [1:0] _T_1340; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@39801.6]
  wire  _T_1341; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@39802.6]
  wire  _T_1343; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39804.6]
  wire  _T_1344; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39805.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@39797.4]
  wire  _T_1345; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@39811.4]
  wire  _T_1346; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@39812.4]
  wire  _T_1347; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@39813.4]
  wire  _T_1348; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@39814.4]
  wire  _T_1350; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39816.4]
  wire  _T_1351; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39817.4]
  wire [1:0] _T_1352; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39822.4]
  wire [1:0] _T_1353; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@39823.4]
  wire [1:0] _T_1354; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@39824.4]
  reg [31:0] _T_1356; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39826.4]
  reg [31:0] _RAND_16;
  wire  _T_1357; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@39829.4]
  wire  _T_1358; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39830.4]
  wire  _T_1359; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@39831.4]
  wire  _T_1360; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39832.4]
  wire  _T_1361; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@39833.4]
  wire  _T_1362; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@39834.4]
  wire  _T_1364; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39836.4]
  wire  _T_1365; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39837.4]
  wire [31:0] _T_1367; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@39843.4]
  wire  _T_1370; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39847.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38214.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38364.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38530.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38674.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38810.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38943.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39074.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39205.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39263.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39305.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39363.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39422.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39457.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39493.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@39827.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@38053.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@38058.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@38060.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@38061.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@38062.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@38063.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@38063.6]
  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@38064.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38066.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@38067.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@38069.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@38070.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@38071.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@38072.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@38073.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38075.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38076.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38078.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38079.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@38080.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@38081.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@38082.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38083.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38084.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38085.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38086.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38087.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38088.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38089.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38090.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38091.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38092.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@38093.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@38094.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@38095.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@38096.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@38097.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38101.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38122.6]
  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38125.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38126.8]
  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38127.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38128.8]
  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38129.8]
  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38130.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38131.8]
  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38132.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38133.8]
  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38134.8]
  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38135.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38136.8]
  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38137.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38138.8]
  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38139.8]
  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38140.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38141.8]
  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38142.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38143.8]
  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38144.8]
  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38145.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38146.8]
  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38147.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38148.8]
  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38149.8]
  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38150.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38151.8]
  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38152.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38153.8]
  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38154.8]
  assign _T_122 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38155.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38156.8]
  assign _T_124 = $signed(_T_123) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38157.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38158.8]
  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38159.8]
  assign _T_127 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38160.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38161.8]
  assign _T_129 = $signed(_T_128) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38162.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38163.8]
  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38164.8]
  assign _T_132 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38165.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38166.8]
  assign _T_134 = $signed(_T_133) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38167.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38168.8]
  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38169.8]
  assign _T_137 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38170.8]
  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38171.8]
  assign _T_139 = $signed(_T_138) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38172.8]
  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38173.8]
  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38174.8]
  assign _T_144 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38177.8]
  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38178.8]
  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38179.8]
  assign _T_147 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38180.8]
  assign _T_148 = {1'b0,$signed(_T_147)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38181.8]
  assign _T_149 = $signed(_T_148) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38182.8]
  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38183.8]
  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38184.8]
  assign _T_152 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38185.8]
  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38186.8]
  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38187.8]
  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38188.8]
  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38189.8]
  assign _T_157 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@38190.8]
  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@38191.8]
  assign _T_159 = $signed(_T_158) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38192.8]
  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@38193.8]
  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@38194.8]
  assign _T_162 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38195.8]
  assign _T_163 = _T_162 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38196.8]
  assign _T_164 = _T_163 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38197.8]
  assign _T_165 = _T_164 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38198.8]
  assign _T_179 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38212.8]
  assign _T_184 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38225.8]
  assign _T_185 = _T_184 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38226.8]
  assign _T_188 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38233.8]
  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38234.8]
  assign _T_191 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38240.8]
  assign _T_192 = _T_191 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38241.8]
  assign _T_193 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38246.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38248.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38249.8]
  assign _T_197 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@38254.8]
  assign _T_198 = _T_197 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38255.8]
  assign _T_200 = _T_198 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38257.8]
  assign _T_201 = _T_200 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38258.8]
  assign _T_202 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@38263.8]
  assign _T_204 = _T_202 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38265.8]
  assign _T_205 = _T_204 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38266.8]
  assign _T_206 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38272.6]
  assign _T_313 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38404.8]
  assign _T_315 = _T_313 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38406.8]
  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38407.8]
  assign _T_326 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38430.6]
  assign _T_328 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38433.8]
  assign _T_336 = _T_328 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@38441.8]
  assign _T_338 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38443.8]
  assign _T_406 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38511.8]
  assign _T_407 = _T_406 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38512.8]
  assign _T_408 = _T_407 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38513.8]
  assign _T_409 = _T_408 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38514.8]
  assign _T_410 = _T_409 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38515.8]
  assign _T_411 = _T_410 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38516.8]
  assign _T_412 = _T_411 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38517.8]
  assign _T_413 = _T_412 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38518.8]
  assign _T_414 = _T_413 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38519.8]
  assign _T_415 = _T_414 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38520.8]
  assign _T_416 = _T_415 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38521.8]
  assign _T_417 = _T_416 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38522.8]
  assign _T_418 = _T_338 & _T_417; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@38523.8]
  assign _T_420 = _T_336 | _T_418; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@38525.8]
  assign _T_422 = _T_420 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38527.8]
  assign _T_423 = _T_422 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38528.8]
  assign _T_430 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38547.8]
  assign _T_432 = _T_430 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38549.8]
  assign _T_433 = _T_432 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38550.8]
  assign _T_434 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@38555.8]
  assign _T_436 = _T_434 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38557.8]
  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38558.8]
  assign _T_442 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38572.6]
  assign _T_515 = _T_408 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38646.8]
  assign _T_516 = _T_515 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38647.8]
  assign _T_517 = _T_516 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38648.8]
  assign _T_518 = _T_517 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38649.8]
  assign _T_519 = _T_518 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38650.8]
  assign _T_520 = _T_519 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38651.8]
  assign _T_521 = _T_520 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38652.8]
  assign _T_522 = _T_338 & _T_521; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@38653.8]
  assign _T_537 = _T_336 | _T_522; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@38668.8]
  assign _T_540 = _T_537 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38671.8]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38672.8]
  assign _T_556 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38708.6]
  assign _T_666 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@38835.8]
  assign _T_667 = io_in_a_bits_mask & _T_666; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@38836.8]
  assign _T_668 = _T_667 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@38837.8]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38839.8]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38840.8]
  assign _T_672 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38846.6]
  assign _T_674 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38849.8]
  assign _T_741 = _T_165 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38916.8]
  assign _T_742 = _T_741 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38917.8]
  assign _T_743 = _T_742 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38918.8]
  assign _T_744 = _T_743 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38919.8]
  assign _T_745 = _T_744 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38920.8]
  assign _T_746 = _T_745 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38921.8]
  assign _T_747 = _T_746 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@38922.8]
  assign _T_748 = _T_674 & _T_747; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@38923.8]
  assign _T_765 = _T_748 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38940.8]
  assign _T_766 = _T_765 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38941.8]
  assign _T_773 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@38960.8]
  assign _T_775 = _T_773 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38962.8]
  assign _T_776 = _T_775 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38963.8]
  assign _T_781 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@38977.6]
  assign _T_882 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@39091.8]
  assign _T_884 = _T_882 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39093.8]
  assign _T_885 = _T_884 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39094.8]
  assign _T_890 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39108.6]
  assign _T_983 = _T_336 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39202.8]
  assign _T_984 = _T_983 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39203.8]
  assign _T_999 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@39241.6]
  assign _T_1001 = _T_999 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39243.6]
  assign _T_1002 = _T_1001 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39244.6]
  assign _T_1004 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@39250.6]
  assign _T_1013 = io_in_d_bits_source | _T_1004; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@39255.6]
  assign _T_1015 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39257.6]
  assign _T_1017 = _T_1013 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39260.8]
  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39261.8]
  assign _T_1019 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39266.8]
  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39268.8]
  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39269.8]
  assign _T_1023 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39274.8]
  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39276.8]
  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39277.8]
  assign _T_1027 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@39282.8]
  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39284.8]
  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39285.8]
  assign _T_1031 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@39290.8]
  assign _T_1033 = _T_1031 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39292.8]
  assign _T_1034 = _T_1033 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39293.8]
  assign _T_1035 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39299.6]
  assign _T_1046 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@39323.8]
  assign _T_1048 = _T_1046 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39325.8]
  assign _T_1049 = _T_1048 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39326.8]
  assign _T_1050 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39331.8]
  assign _T_1052 = _T_1050 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39333.8]
  assign _T_1053 = _T_1052 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39334.8]
  assign _T_1063 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39357.6]
  assign _T_1083 = _T_1031 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@39398.8]
  assign _T_1085 = _T_1083 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39400.8]
  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39401.8]
  assign _T_1092 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39416.6]
  assign _T_1109 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39451.6]
  assign _T_1127 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39487.6]
  assign _T_1156 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39547.4]
  assign _T_1161 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@39552.4]
  assign _T_1162 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@39553.4]
  assign _T_1163 = _T_1162 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39554.4]
  assign _T_1167 = _T_1166 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39557.4]
  assign _T_1168 = $unsigned(_T_1167); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39558.4]
  assign _T_1169 = _T_1168[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39559.4]
  assign _T_1170 = _T_1166 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39560.4]
  assign _T_1188 = _T_1170 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39576.4]
  assign _T_1189 = io_in_a_valid & _T_1188; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39577.4]
  assign _T_1190 = io_in_a_bits_opcode == _T_1179; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39579.6]
  assign _T_1192 = _T_1190 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39581.6]
  assign _T_1193 = _T_1192 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39582.6]
  assign _T_1194 = io_in_a_bits_param == _T_1181; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39587.6]
  assign _T_1196 = _T_1194 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39589.6]
  assign _T_1197 = _T_1196 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39590.6]
  assign _T_1198 = io_in_a_bits_size == _T_1183; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39595.6]
  assign _T_1200 = _T_1198 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39597.6]
  assign _T_1201 = _T_1200 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39598.6]
  assign _T_1202 = io_in_a_bits_source == _T_1185; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39603.6]
  assign _T_1204 = _T_1202 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39605.6]
  assign _T_1205 = _T_1204 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39606.6]
  assign _T_1206 = io_in_a_bits_address == _T_1187; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39611.6]
  assign _T_1208 = _T_1206 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39613.6]
  assign _T_1209 = _T_1208 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39614.6]
  assign _T_1211 = _T_1156 & _T_1170; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@39621.4]
  assign _T_1212 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39629.4]
  assign _T_1214 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@39631.4]
  assign _T_1215 = _T_1214[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@39632.4]
  assign _T_1216 = ~ _T_1215; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@39633.4]
  assign _T_1217 = _T_1216[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@39634.4]
  assign _T_1218 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@39635.4]
  assign _T_1222 = _T_1221 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39638.4]
  assign _T_1223 = $unsigned(_T_1222); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39639.4]
  assign _T_1224 = _T_1223[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39640.4]
  assign _T_1225 = _T_1221 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39641.4]
  assign _T_1245 = _T_1225 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@39658.4]
  assign _T_1246 = io_in_d_valid & _T_1245; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39659.4]
  assign _T_1247 = io_in_d_bits_opcode == _T_1234; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39661.6]
  assign _T_1249 = _T_1247 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39663.6]
  assign _T_1250 = _T_1249 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39664.6]
  assign _T_1251 = io_in_d_bits_param == _T_1236; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39669.6]
  assign _T_1253 = _T_1251 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39671.6]
  assign _T_1254 = _T_1253 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39672.6]
  assign _T_1255 = io_in_d_bits_size == _T_1238; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39677.6]
  assign _T_1257 = _T_1255 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39679.6]
  assign _T_1258 = _T_1257 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39680.6]
  assign _T_1259 = io_in_d_bits_source == _T_1240; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39685.6]
  assign _T_1261 = _T_1259 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39687.6]
  assign _T_1262 = _T_1261 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39688.6]
  assign _T_1263 = io_in_d_bits_sink == _T_1242; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39693.6]
  assign _T_1265 = _T_1263 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39695.6]
  assign _T_1266 = _T_1265 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39696.6]
  assign _T_1267 = io_in_d_bits_denied == _T_1244; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39701.6]
  assign _T_1269 = _T_1267 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39703.6]
  assign _T_1270 = _T_1269 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39704.6]
  assign _T_1272 = _T_1212 & _T_1225; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@39711.4]
  assign _T_1286 = _T_1285 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39731.4]
  assign _T_1287 = $unsigned(_T_1286); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39732.4]
  assign _T_1288 = _T_1287[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39733.4]
  assign _T_1289 = _T_1285 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39734.4]
  assign _T_1307 = _T_1306 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39754.4]
  assign _T_1308 = $unsigned(_T_1307); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39755.4]
  assign _T_1309 = _T_1308[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39756.4]
  assign _T_1310 = _T_1306 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39757.4]
  assign _T_1321 = _T_1156 & _T_1289; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39772.4]
  assign _T_1323 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@39775.6]
  assign _T_1324 = _T_1274 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@39777.6]
  assign _T_1325 = _T_1324[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@39778.6]
  assign _T_1326 = _T_1325 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39779.6]
  assign _T_1328 = _T_1326 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39781.6]
  assign _T_1329 = _T_1328 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39782.6]
  assign _GEN_15 = _T_1321 ? _T_1323 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@39774.4]
  assign _T_1334 = _T_1212 & _T_1310; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39793.4]
  assign _T_1336 = _T_1015 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@39795.4]
  assign _T_1337 = _T_1334 & _T_1336; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@39796.4]
  assign _T_1338 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@39798.6]
  assign _T_1339 = _GEN_15 | _T_1274; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@39800.6]
  assign _T_1340 = _T_1339 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@39801.6]
  assign _T_1341 = _T_1340[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@39802.6]
  assign _T_1343 = _T_1341 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39804.6]
  assign _T_1344 = _T_1343 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39805.6]
  assign _GEN_16 = _T_1337 ? _T_1338 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@39797.4]
  assign _T_1345 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@39811.4]
  assign _T_1346 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@39812.4]
  assign _T_1347 = _T_1346 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@39813.4]
  assign _T_1348 = _T_1345 | _T_1347; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@39814.4]
  assign _T_1350 = _T_1348 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39816.4]
  assign _T_1351 = _T_1350 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39817.4]
  assign _T_1352 = _T_1274 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39822.4]
  assign _T_1353 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@39823.4]
  assign _T_1354 = _T_1352 & _T_1353; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@39824.4]
  assign _T_1357 = _T_1274 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@39829.4]
  assign _T_1358 = _T_1357 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39830.4]
  assign _T_1359 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@39831.4]
  assign _T_1360 = _T_1358 | _T_1359; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39832.4]
  assign _T_1361 = _T_1356 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@39833.4]
  assign _T_1362 = _T_1360 | _T_1361; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@39834.4]
  assign _T_1364 = _T_1362 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39836.4]
  assign _T_1365 = _T_1364 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39837.4]
  assign _T_1367 = _T_1356 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@39843.4]
  assign _T_1370 = _T_1156 | _T_1212; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39847.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38214.10]
  assign _GEN_35 = io_in_a_valid & _T_206; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38364.10]
  assign _GEN_53 = io_in_a_valid & _T_326; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38530.10]
  assign _GEN_65 = io_in_a_valid & _T_442; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38674.10]
  assign _GEN_75 = io_in_a_valid & _T_556; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38810.10]
  assign _GEN_85 = io_in_a_valid & _T_672; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38943.10]
  assign _GEN_95 = io_in_a_valid & _T_781; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39074.10]
  assign _GEN_105 = io_in_a_valid & _T_890; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39205.10]
  assign _GEN_115 = io_in_d_valid & _T_1015; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39263.10]
  assign _GEN_125 = io_in_d_valid & _T_1035; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39305.10]
  assign _GEN_137 = io_in_d_valid & _T_1063; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39363.10]
  assign _GEN_149 = io_in_d_valid & _T_1092; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39422.10]
  assign _GEN_155 = io_in_d_valid & _T_1109; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39457.10]
  assign _GEN_161 = io_in_d_valid & _T_1127; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39493.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_1166 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1179 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1181 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1183 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1185 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1187 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1221 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1234 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1236 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1238 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1240 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1242 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1244 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1274 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1285 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1306 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1356 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1166 <= 10'h0;
    end else begin
      if (_T_1156) begin
        if (_T_1170) begin
          if (_T_1163) begin
            _T_1166 <= _T_1161;
          end else begin
            _T_1166 <= 10'h0;
          end
        end else begin
          _T_1166 <= _T_1169;
        end
      end
    end
    if (_T_1211) begin
      _T_1179 <= io_in_a_bits_opcode;
    end
    if (_T_1211) begin
      _T_1181 <= io_in_a_bits_param;
    end
    if (_T_1211) begin
      _T_1183 <= io_in_a_bits_size;
    end
    if (_T_1211) begin
      _T_1185 <= io_in_a_bits_source;
    end
    if (_T_1211) begin
      _T_1187 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1221 <= 10'h0;
    end else begin
      if (_T_1212) begin
        if (_T_1225) begin
          if (_T_1218) begin
            _T_1221 <= _T_1217;
          end else begin
            _T_1221 <= 10'h0;
          end
        end else begin
          _T_1221 <= _T_1224;
        end
      end
    end
    if (_T_1272) begin
      _T_1234 <= io_in_d_bits_opcode;
    end
    if (_T_1272) begin
      _T_1236 <= io_in_d_bits_param;
    end
    if (_T_1272) begin
      _T_1238 <= io_in_d_bits_size;
    end
    if (_T_1272) begin
      _T_1240 <= io_in_d_bits_source;
    end
    if (_T_1272) begin
      _T_1242 <= io_in_d_bits_sink;
    end
    if (_T_1272) begin
      _T_1244 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1274 <= 2'h0;
    end else begin
      _T_1274 <= _T_1354;
    end
    if (reset) begin
      _T_1285 <= 10'h0;
    end else begin
      if (_T_1156) begin
        if (_T_1289) begin
          if (_T_1163) begin
            _T_1285 <= _T_1161;
          end else begin
            _T_1285 <= 10'h0;
          end
        end else begin
          _T_1285 <= _T_1288;
        end
      end
    end
    if (reset) begin
      _T_1306 <= 10'h0;
    end else begin
      if (_T_1212) begin
        if (_T_1310) begin
          if (_T_1218) begin
            _T_1306 <= _T_1217;
          end else begin
            _T_1306 <= 10'h0;
          end
        end else begin
          _T_1306 <= _T_1309;
        end
      end
    end
    if (reset) begin
      _T_1356 <= 32'h0;
    end else begin
      if (_T_1370) begin
        _T_1356 <= 32'h0;
      end else begin
        _T_1356 <= _T_1367;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at SystemBus.scala:51:9)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@38049.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@38050.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@38119.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@38120.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at SystemBus.scala:51:9)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38214.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38215.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SystemBus.scala:51:9)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38221.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38222.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38228.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_185) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38229.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SystemBus.scala:51:9)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38236.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38237.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SystemBus.scala:51:9)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38243.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_192) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38244.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38251.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_196) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38252.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SystemBus.scala:51:9)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38260.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_201) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38261.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SystemBus.scala:51:9)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38268.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_205) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38269.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at SystemBus.scala:51:9)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38364.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38365.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SystemBus.scala:51:9)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38371.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38372.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38378.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_185) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38379.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SystemBus.scala:51:9)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38386.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_189) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38387.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SystemBus.scala:51:9)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38393.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_192) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38394.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38401.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_196) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38402.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_316) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SystemBus.scala:51:9)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38409.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_316) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38410.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SystemBus.scala:51:9)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38418.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_201) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38419.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SystemBus.scala:51:9)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38426.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_205) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38427.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_423) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at SystemBus.scala:51:9)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38530.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_423) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38531.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38537.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_185) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38538.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at SystemBus.scala:51:9)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38544.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_192) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38545.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38552.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_433) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38553.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at SystemBus.scala:51:9)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38560.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_437) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38561.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at SystemBus.scala:51:9)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38568.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_205) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38569.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SystemBus.scala:51:9)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38674.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_541) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38675.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38681.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_185) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38682.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at SystemBus.scala:51:9)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38688.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_192) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38689.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38696.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_433) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38697.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at SystemBus.scala:51:9)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38704.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_437) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38705.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at SystemBus.scala:51:9)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38810.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_541) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38811.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38817.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_185) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38818.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SystemBus.scala:51:9)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38824.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_192) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38825.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38832.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_433) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38833.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SystemBus.scala:51:9)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38842.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_671) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38843.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_766) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at SystemBus.scala:51:9)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38943.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_766) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38944.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38950.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_185) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38951.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SystemBus.scala:51:9)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38957.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_192) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38958.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_776) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38965.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_776) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38966.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SystemBus.scala:51:9)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38973.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_437) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@38974.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_766) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at SystemBus.scala:51:9)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39074.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_766) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39075.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39081.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_185) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39082.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at SystemBus.scala:51:9)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39088.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_192) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39089.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_885) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39096.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_885) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39097.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at SystemBus.scala:51:9)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39104.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_437) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39105.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_984) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at SystemBus.scala:51:9)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39205.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_984) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39206.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39212.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_185) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39213.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at SystemBus.scala:51:9)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39219.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_192) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39220.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at SystemBus.scala:51:9)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39227.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_437) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39228.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at SystemBus.scala:51:9)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39235.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_205) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39236.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_1002) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SystemBus.scala:51:9)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39246.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_1002) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39247.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39263.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1018) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39264.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SystemBus.scala:51:9)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39271.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1022) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39272.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39279.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1026) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39280.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SystemBus.scala:51:9)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39287.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1030) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39288.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1034) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at SystemBus.scala:51:9)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39295.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1034) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39296.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39305.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1018) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39306.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39312.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_179) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39313.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at SystemBus.scala:51:9)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39320.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1022) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39321.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1049) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39328.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1049) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39329.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1053) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39336.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1053) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39337.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at SystemBus.scala:51:9)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39344.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1030) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39345.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at SystemBus.scala:51:9)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39353.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39354.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39363.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1018) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39364.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39370.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_179) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39371.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SystemBus.scala:51:9)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39378.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1022) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39379.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1049) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39386.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1049) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39387.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1053) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39394.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1053) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39395.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1086) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SystemBus.scala:51:9)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39403.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1086) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39404.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at SystemBus.scala:51:9)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39412.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39413.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39422.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1018) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39423.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39430.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1026) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39431.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at SystemBus.scala:51:9)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39438.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1030) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39439.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at SystemBus.scala:51:9)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39447.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39448.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39457.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1018) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39458.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39465.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1026) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39466.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1086) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SystemBus.scala:51:9)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39474.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1086) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39475.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at SystemBus.scala:51:9)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39483.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39484.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39493.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1018) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39494.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at SystemBus.scala:51:9)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39501.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1026) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39502.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at SystemBus.scala:51:9)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39509.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1030) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39510.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at SystemBus.scala:51:9)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39518.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39519.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at SystemBus.scala:51:9)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39528.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39529.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at SystemBus.scala:51:9)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39536.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39537.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at SystemBus.scala:51:9)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39544.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39545.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1193) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SystemBus.scala:51:9)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39584.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1193) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39585.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1197) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SystemBus.scala:51:9)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39592.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1197) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39593.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SystemBus.scala:51:9)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39600.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1201) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39601.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SystemBus.scala:51:9)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39608.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1205) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39609.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1209) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SystemBus.scala:51:9)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39616.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1209) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39617.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1250) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SystemBus.scala:51:9)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39666.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1250) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39667.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1254) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at SystemBus.scala:51:9)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39674.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1254) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39675.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1258) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SystemBus.scala:51:9)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39682.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1258) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39683.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1262) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SystemBus.scala:51:9)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39690.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1262) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39691.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1266) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at SystemBus.scala:51:9)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39698.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1266) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39699.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1270) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at SystemBus.scala:51:9)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39706.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1270) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@39707.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1321 & _T_1329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SystemBus.scala:51:9)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39784.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1321 & _T_1329) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39785.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1337 & _T_1344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SystemBus.scala:51:9)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39807.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1337 & _T_1344) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39808.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1351) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at SystemBus.scala:51:9)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39819.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1351) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@39820.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1365) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SystemBus.scala:51:9)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39839.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1365) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39840.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_8( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39852.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39853.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39854.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39855.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
  TLMonitor_22 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@39862.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39902.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39902.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39902.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39902.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39902.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39902.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39902.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39902.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39902.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39902.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39901.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39901.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39901.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39901.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39901.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39901.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39901.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39901.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39901.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39901.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39864.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39865.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@39898.4]
endmodule
module SimpleLazyModule_8( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39912.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39913.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39914.4]
  output        auto_buffer_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  input         auto_buffer_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  input  [2:0]  auto_buffer_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  input  [2:0]  auto_buffer_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  input  [3:0]  auto_buffer_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  input         auto_buffer_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  input  [31:0] auto_buffer_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  input  [3:0]  auto_buffer_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  input  [31:0] auto_buffer_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  input         auto_buffer_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  input         auto_buffer_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  output        auto_buffer_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  output [2:0]  auto_buffer_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  output [1:0]  auto_buffer_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  output [3:0]  auto_buffer_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  output        auto_buffer_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  output        auto_buffer_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  output        auto_buffer_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  output [31:0] auto_buffer_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  output        auto_buffer_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  input         auto_from_sbus_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  output        auto_from_sbus_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  output [2:0]  auto_from_sbus_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  output [2:0]  auto_from_sbus_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  output [3:0]  auto_from_sbus_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  output        auto_from_sbus_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  output [31:0] auto_from_sbus_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  output [3:0]  auto_from_sbus_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  output [31:0] auto_from_sbus_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  output        auto_from_sbus_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  output        auto_from_sbus_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  input         auto_from_sbus_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  input  [2:0]  auto_from_sbus_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  input  [1:0]  auto_from_sbus_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  input  [3:0]  auto_from_sbus_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  input         auto_from_sbus_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  input         auto_from_sbus_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  input         auto_from_sbus_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  input  [31:0] auto_from_sbus_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
  input         auto_from_sbus_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39915.4]
);
  wire  fixer_clock; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire  fixer_reset; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire  fixer_auto_in_a_ready; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire  fixer_auto_in_a_valid; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire [2:0] fixer_auto_in_a_bits_opcode; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire [2:0] fixer_auto_in_a_bits_param; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire [3:0] fixer_auto_in_a_bits_size; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire  fixer_auto_in_a_bits_source; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire [31:0] fixer_auto_in_a_bits_address; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire [3:0] fixer_auto_in_a_bits_mask; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire [31:0] fixer_auto_in_a_bits_data; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire  fixer_auto_in_a_bits_corrupt; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire  fixer_auto_in_d_ready; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire  fixer_auto_in_d_valid; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire [2:0] fixer_auto_in_d_bits_opcode; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire [1:0] fixer_auto_in_d_bits_param; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire [3:0] fixer_auto_in_d_bits_size; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire  fixer_auto_in_d_bits_source; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire  fixer_auto_in_d_bits_sink; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire  fixer_auto_in_d_bits_denied; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire [31:0] fixer_auto_in_d_bits_data; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire  fixer_auto_in_d_bits_corrupt; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire  fixer_auto_out_a_ready; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire  fixer_auto_out_a_valid; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire [2:0] fixer_auto_out_a_bits_opcode; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire [2:0] fixer_auto_out_a_bits_param; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire [3:0] fixer_auto_out_a_bits_size; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire  fixer_auto_out_a_bits_source; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire [31:0] fixer_auto_out_a_bits_address; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire [3:0] fixer_auto_out_a_bits_mask; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire [31:0] fixer_auto_out_a_bits_data; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire  fixer_auto_out_a_bits_corrupt; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire  fixer_auto_out_d_ready; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire  fixer_auto_out_d_valid; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire [2:0] fixer_auto_out_d_bits_opcode; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire [1:0] fixer_auto_out_d_bits_param; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire [3:0] fixer_auto_out_d_bits_size; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire  fixer_auto_out_d_bits_source; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire  fixer_auto_out_d_bits_sink; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire  fixer_auto_out_d_bits_denied; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire [31:0] fixer_auto_out_d_bits_data; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire  fixer_auto_out_d_bits_corrupt; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
  wire  widget_clock; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire  widget_reset; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire  widget_auto_in_a_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire  widget_auto_in_a_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire [2:0] widget_auto_in_a_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire [2:0] widget_auto_in_a_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire [3:0] widget_auto_in_a_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire  widget_auto_in_a_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire [31:0] widget_auto_in_a_bits_address; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire [3:0] widget_auto_in_a_bits_mask; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire [31:0] widget_auto_in_a_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire  widget_auto_in_a_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire  widget_auto_in_d_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire  widget_auto_in_d_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire [2:0] widget_auto_in_d_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire [1:0] widget_auto_in_d_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire [3:0] widget_auto_in_d_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire  widget_auto_in_d_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire  widget_auto_in_d_bits_sink; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire  widget_auto_in_d_bits_denied; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire [31:0] widget_auto_in_d_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire  widget_auto_in_d_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire  widget_auto_out_a_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire  widget_auto_out_a_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire [2:0] widget_auto_out_a_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire [2:0] widget_auto_out_a_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire [3:0] widget_auto_out_a_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire  widget_auto_out_a_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire [31:0] widget_auto_out_a_bits_address; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire [3:0] widget_auto_out_a_bits_mask; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire [31:0] widget_auto_out_a_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire  widget_auto_out_a_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire  widget_auto_out_d_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire  widget_auto_out_d_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire [2:0] widget_auto_out_d_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire [1:0] widget_auto_out_d_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire [3:0] widget_auto_out_d_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire  widget_auto_out_d_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire  widget_auto_out_d_bits_sink; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire  widget_auto_out_d_bits_denied; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire [31:0] widget_auto_out_d_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire  widget_auto_out_d_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire [3:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire [31:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire [1:0] buffer_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire [3:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire  buffer_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire  buffer_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire  buffer_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire [3:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire [31:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire [1:0] buffer_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire [3:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire  buffer_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire  buffer_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  wire  buffer_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
  TLFIFOFixer fixer ( // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@39920.4]
    .clock(fixer_clock),
    .reset(fixer_reset),
    .auto_in_a_ready(fixer_auto_in_a_ready),
    .auto_in_a_valid(fixer_auto_in_a_valid),
    .auto_in_a_bits_opcode(fixer_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(fixer_auto_in_a_bits_param),
    .auto_in_a_bits_size(fixer_auto_in_a_bits_size),
    .auto_in_a_bits_source(fixer_auto_in_a_bits_source),
    .auto_in_a_bits_address(fixer_auto_in_a_bits_address),
    .auto_in_a_bits_mask(fixer_auto_in_a_bits_mask),
    .auto_in_a_bits_data(fixer_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(fixer_auto_in_a_bits_corrupt),
    .auto_in_d_ready(fixer_auto_in_d_ready),
    .auto_in_d_valid(fixer_auto_in_d_valid),
    .auto_in_d_bits_opcode(fixer_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(fixer_auto_in_d_bits_param),
    .auto_in_d_bits_size(fixer_auto_in_d_bits_size),
    .auto_in_d_bits_source(fixer_auto_in_d_bits_source),
    .auto_in_d_bits_sink(fixer_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(fixer_auto_in_d_bits_denied),
    .auto_in_d_bits_data(fixer_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(fixer_auto_in_d_bits_corrupt),
    .auto_out_a_ready(fixer_auto_out_a_ready),
    .auto_out_a_valid(fixer_auto_out_a_valid),
    .auto_out_a_bits_opcode(fixer_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(fixer_auto_out_a_bits_param),
    .auto_out_a_bits_size(fixer_auto_out_a_bits_size),
    .auto_out_a_bits_source(fixer_auto_out_a_bits_source),
    .auto_out_a_bits_address(fixer_auto_out_a_bits_address),
    .auto_out_a_bits_mask(fixer_auto_out_a_bits_mask),
    .auto_out_a_bits_data(fixer_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(fixer_auto_out_a_bits_corrupt),
    .auto_out_d_ready(fixer_auto_out_d_ready),
    .auto_out_d_valid(fixer_auto_out_d_valid),
    .auto_out_d_bits_opcode(fixer_auto_out_d_bits_opcode),
    .auto_out_d_bits_param(fixer_auto_out_d_bits_param),
    .auto_out_d_bits_size(fixer_auto_out_d_bits_size),
    .auto_out_d_bits_source(fixer_auto_out_d_bits_source),
    .auto_out_d_bits_sink(fixer_auto_out_d_bits_sink),
    .auto_out_d_bits_denied(fixer_auto_out_d_bits_denied),
    .auto_out_d_bits_data(fixer_auto_out_d_bits_data),
    .auto_out_d_bits_corrupt(fixer_auto_out_d_bits_corrupt)
  );
  TLWidthWidget_2 widget ( // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39926.4]
    .clock(widget_clock),
    .reset(widget_reset),
    .auto_in_a_ready(widget_auto_in_a_ready),
    .auto_in_a_valid(widget_auto_in_a_valid),
    .auto_in_a_bits_opcode(widget_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(widget_auto_in_a_bits_param),
    .auto_in_a_bits_size(widget_auto_in_a_bits_size),
    .auto_in_a_bits_source(widget_auto_in_a_bits_source),
    .auto_in_a_bits_address(widget_auto_in_a_bits_address),
    .auto_in_a_bits_mask(widget_auto_in_a_bits_mask),
    .auto_in_a_bits_data(widget_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(widget_auto_in_a_bits_corrupt),
    .auto_in_d_ready(widget_auto_in_d_ready),
    .auto_in_d_valid(widget_auto_in_d_valid),
    .auto_in_d_bits_opcode(widget_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(widget_auto_in_d_bits_param),
    .auto_in_d_bits_size(widget_auto_in_d_bits_size),
    .auto_in_d_bits_source(widget_auto_in_d_bits_source),
    .auto_in_d_bits_sink(widget_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(widget_auto_in_d_bits_denied),
    .auto_in_d_bits_data(widget_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(widget_auto_in_d_bits_corrupt),
    .auto_out_a_ready(widget_auto_out_a_ready),
    .auto_out_a_valid(widget_auto_out_a_valid),
    .auto_out_a_bits_opcode(widget_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(widget_auto_out_a_bits_param),
    .auto_out_a_bits_size(widget_auto_out_a_bits_size),
    .auto_out_a_bits_source(widget_auto_out_a_bits_source),
    .auto_out_a_bits_address(widget_auto_out_a_bits_address),
    .auto_out_a_bits_mask(widget_auto_out_a_bits_mask),
    .auto_out_a_bits_data(widget_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(widget_auto_out_a_bits_corrupt),
    .auto_out_d_ready(widget_auto_out_d_ready),
    .auto_out_d_valid(widget_auto_out_d_valid),
    .auto_out_d_bits_opcode(widget_auto_out_d_bits_opcode),
    .auto_out_d_bits_param(widget_auto_out_d_bits_param),
    .auto_out_d_bits_size(widget_auto_out_d_bits_size),
    .auto_out_d_bits_source(widget_auto_out_d_bits_source),
    .auto_out_d_bits_sink(widget_auto_out_d_bits_sink),
    .auto_out_d_bits_denied(widget_auto_out_d_bits_denied),
    .auto_out_d_bits_data(widget_auto_out_d_bits_data),
    .auto_out_d_bits_corrupt(widget_auto_out_d_bits_corrupt)
  );
  TLBuffer_8 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@39932.4]
    .clock(buffer_clock),
    .reset(buffer_reset),
    .auto_in_a_ready(buffer_auto_in_a_ready),
    .auto_in_a_valid(buffer_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_auto_in_d_ready),
    .auto_in_d_valid(buffer_auto_in_d_valid),
    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(buffer_auto_in_d_bits_param),
    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
    .auto_in_d_bits_sink(buffer_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(buffer_auto_in_d_bits_denied),
    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(buffer_auto_in_d_bits_corrupt),
    .auto_out_a_ready(buffer_auto_out_a_ready),
    .auto_out_a_valid(buffer_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_auto_out_d_ready),
    .auto_out_d_valid(buffer_auto_out_d_valid),
    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
    .auto_out_d_bits_param(buffer_auto_out_d_bits_param),
    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
    .auto_out_d_bits_sink(buffer_auto_out_d_bits_sink),
    .auto_out_d_bits_denied(buffer_auto_out_d_bits_denied),
    .auto_out_d_bits_data(buffer_auto_out_d_bits_data),
    .auto_out_d_bits_corrupt(buffer_auto_out_d_bits_corrupt)
  );
  assign auto_buffer_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
  assign auto_buffer_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
  assign auto_buffer_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
  assign auto_buffer_in_d_bits_param = buffer_auto_in_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
  assign auto_buffer_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
  assign auto_buffer_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
  assign auto_buffer_in_d_bits_sink = buffer_auto_in_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
  assign auto_buffer_in_d_bits_denied = buffer_auto_in_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
  assign auto_buffer_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
  assign auto_buffer_in_d_bits_corrupt = buffer_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
  assign auto_from_sbus_out_a_valid = fixer_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39946.4]
  assign auto_from_sbus_out_a_bits_opcode = fixer_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39946.4]
  assign auto_from_sbus_out_a_bits_param = fixer_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39946.4]
  assign auto_from_sbus_out_a_bits_size = fixer_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39946.4]
  assign auto_from_sbus_out_a_bits_source = fixer_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39946.4]
  assign auto_from_sbus_out_a_bits_address = fixer_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39946.4]
  assign auto_from_sbus_out_a_bits_mask = fixer_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39946.4]
  assign auto_from_sbus_out_a_bits_data = fixer_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39946.4]
  assign auto_from_sbus_out_a_bits_corrupt = fixer_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39946.4]
  assign auto_from_sbus_out_d_ready = fixer_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39946.4]
  assign fixer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39924.4]
  assign fixer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39925.4]
  assign fixer_auto_in_a_valid = widget_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
  assign fixer_auto_in_a_bits_opcode = widget_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
  assign fixer_auto_in_a_bits_param = widget_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
  assign fixer_auto_in_a_bits_size = widget_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
  assign fixer_auto_in_a_bits_source = widget_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
  assign fixer_auto_in_a_bits_address = widget_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
  assign fixer_auto_in_a_bits_mask = widget_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
  assign fixer_auto_in_a_bits_data = widget_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
  assign fixer_auto_in_a_bits_corrupt = widget_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
  assign fixer_auto_in_d_ready = widget_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
  assign fixer_auto_out_a_ready = auto_from_sbus_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39943.4]
  assign fixer_auto_out_d_valid = auto_from_sbus_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39943.4]
  assign fixer_auto_out_d_bits_opcode = auto_from_sbus_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39943.4]
  assign fixer_auto_out_d_bits_param = auto_from_sbus_out_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39943.4]
  assign fixer_auto_out_d_bits_size = auto_from_sbus_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39943.4]
  assign fixer_auto_out_d_bits_source = auto_from_sbus_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39943.4]
  assign fixer_auto_out_d_bits_sink = auto_from_sbus_out_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39943.4]
  assign fixer_auto_out_d_bits_denied = auto_from_sbus_out_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39943.4]
  assign fixer_auto_out_d_bits_data = auto_from_sbus_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39943.4]
  assign fixer_auto_out_d_bits_corrupt = auto_from_sbus_out_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39943.4]
  assign widget_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39930.4]
  assign widget_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39931.4]
  assign widget_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
  assign widget_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
  assign widget_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
  assign widget_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
  assign widget_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
  assign widget_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
  assign widget_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
  assign widget_auto_in_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
  assign widget_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
  assign widget_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
  assign widget_auto_out_a_ready = fixer_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
  assign widget_auto_out_d_valid = fixer_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
  assign widget_auto_out_d_bits_opcode = fixer_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
  assign widget_auto_out_d_bits_param = fixer_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
  assign widget_auto_out_d_bits_size = fixer_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
  assign widget_auto_out_d_bits_source = fixer_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
  assign widget_auto_out_d_bits_sink = fixer_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
  assign widget_auto_out_d_bits_denied = fixer_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
  assign widget_auto_out_d_bits_data = fixer_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
  assign widget_auto_out_d_bits_corrupt = fixer_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39944.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39936.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39937.4]
  assign buffer_auto_in_a_valid = auto_buffer_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
  assign buffer_auto_in_a_bits_opcode = auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
  assign buffer_auto_in_a_bits_param = auto_buffer_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
  assign buffer_auto_in_a_bits_size = auto_buffer_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
  assign buffer_auto_in_a_bits_source = auto_buffer_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
  assign buffer_auto_in_a_bits_address = auto_buffer_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
  assign buffer_auto_in_a_bits_mask = auto_buffer_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
  assign buffer_auto_in_a_bits_data = auto_buffer_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
  assign buffer_auto_in_a_bits_corrupt = auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
  assign buffer_auto_in_d_ready = auto_buffer_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39947.4]
  assign buffer_auto_out_a_ready = widget_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
  assign buffer_auto_out_d_valid = widget_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
  assign buffer_auto_out_d_bits_opcode = widget_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
  assign buffer_auto_out_d_bits_param = widget_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
  assign buffer_auto_out_d_bits_size = widget_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
  assign buffer_auto_out_d_bits_source = widget_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
  assign buffer_auto_out_d_bits_sink = widget_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
  assign buffer_auto_out_d_bits_denied = widget_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
  assign buffer_auto_out_d_bits_data = widget_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
  assign buffer_auto_out_d_bits_corrupt = widget_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@39945.4]
endmodule
module TLMonitor_23( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39956.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39957.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39958.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@39959.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@41749.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@39975.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@39980.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@39982.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@39983.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@39984.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@39985.6]
  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@39985.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@39986.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39988.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39989.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@39991.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@39992.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@39993.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@39994.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@39995.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@39997.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39998.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40000.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40001.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@40002.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@40003.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@40004.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40005.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40006.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40007.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40008.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40009.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40010.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40011.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40012.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40013.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40014.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40015.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40016.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@40017.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@40018.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@40019.6]
  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40023.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40044.6]
  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40047.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40048.8]
  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40049.8]
  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40050.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40051.8]
  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40052.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40053.8]
  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40054.8]
  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40055.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40056.8]
  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40057.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40058.8]
  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40059.8]
  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40060.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40061.8]
  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40062.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40063.8]
  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40064.8]
  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40065.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40066.8]
  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40067.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40068.8]
  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40069.8]
  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40070.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40071.8]
  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40072.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40073.8]
  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40074.8]
  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40075.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40076.8]
  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40077.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40078.8]
  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40079.8]
  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40080.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40081.8]
  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40082.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40083.8]
  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40084.8]
  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40085.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40086.8]
  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40087.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40088.8]
  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40089.8]
  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40090.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40091.8]
  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40092.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40093.8]
  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40094.8]
  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40095.8]
  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40096.8]
  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40099.8]
  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40100.8]
  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40101.8]
  wire [31:0] _T_147; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40102.8]
  wire [32:0] _T_148; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40103.8]
  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40104.8]
  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40105.8]
  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40106.8]
  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40107.8]
  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40108.8]
  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40109.8]
  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40110.8]
  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40111.8]
  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40112.8]
  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40113.8]
  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40114.8]
  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40115.8]
  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40116.8]
  wire  _T_162; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40117.8]
  wire  _T_163; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40118.8]
  wire  _T_164; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40119.8]
  wire  _T_165; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40120.8]
  wire  _T_179; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40134.8]
  wire  _T_184; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40147.8]
  wire  _T_185; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40148.8]
  wire  _T_188; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40155.8]
  wire  _T_189; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40156.8]
  wire  _T_191; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40162.8]
  wire  _T_192; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40163.8]
  wire  _T_193; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40168.8]
  wire  _T_195; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40170.8]
  wire  _T_196; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40171.8]
  wire [3:0] _T_197; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@40176.8]
  wire  _T_198; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40177.8]
  wire  _T_200; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40179.8]
  wire  _T_201; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40180.8]
  wire  _T_202; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@40185.8]
  wire  _T_204; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40187.8]
  wire  _T_205; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40188.8]
  wire  _T_206; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40194.6]
  wire  _T_313; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40326.8]
  wire  _T_315; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40328.8]
  wire  _T_316; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40329.8]
  wire  _T_326; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40352.6]
  wire  _T_328; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40355.8]
  wire  _T_336; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@40363.8]
  wire  _T_338; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40365.8]
  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40433.8]
  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40434.8]
  wire  _T_408; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40435.8]
  wire  _T_409; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40436.8]
  wire  _T_410; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.8]
  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40438.8]
  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40439.8]
  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40440.8]
  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40441.8]
  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40442.8]
  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.8]
  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40444.8]
  wire  _T_418; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@40445.8]
  wire  _T_420; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@40447.8]
  wire  _T_422; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.8]
  wire  _T_423; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40450.8]
  wire  _T_430; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40469.8]
  wire  _T_432; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40471.8]
  wire  _T_433; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40472.8]
  wire  _T_434; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40477.8]
  wire  _T_436; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40479.8]
  wire  _T_437; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40480.8]
  wire  _T_442; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40494.6]
  wire  _T_515; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40568.8]
  wire  _T_516; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40569.8]
  wire  _T_517; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40570.8]
  wire  _T_518; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40571.8]
  wire  _T_519; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40572.8]
  wire  _T_520; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40573.8]
  wire  _T_521; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40574.8]
  wire  _T_522; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@40575.8]
  wire  _T_537; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@40590.8]
  wire  _T_540; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40593.8]
  wire  _T_541; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40594.8]
  wire  _T_556; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40630.6]
  wire [3:0] _T_666; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@40757.8]
  wire [3:0] _T_667; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40758.8]
  wire  _T_668; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@40759.8]
  wire  _T_670; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40761.8]
  wire  _T_671; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40762.8]
  wire  _T_672; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40768.6]
  wire  _T_674; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40771.8]
  wire  _T_741; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40838.8]
  wire  _T_742; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40839.8]
  wire  _T_743; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40840.8]
  wire  _T_744; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40841.8]
  wire  _T_745; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40842.8]
  wire  _T_746; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40843.8]
  wire  _T_747; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40844.8]
  wire  _T_748; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@40845.8]
  wire  _T_765; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40862.8]
  wire  _T_766; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40863.8]
  wire  _T_773; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@40882.8]
  wire  _T_775; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40884.8]
  wire  _T_776; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40885.8]
  wire  _T_781; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40899.6]
  wire  _T_882; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@41013.8]
  wire  _T_884; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41015.8]
  wire  _T_885; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41016.8]
  wire  _T_890; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41030.6]
  wire  _T_983; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41124.8]
  wire  _T_984; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41125.8]
  wire  _T_999; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@41163.6]
  wire  _T_1001; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41165.6]
  wire  _T_1002; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41166.6]
  wire  _T_1004; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@41172.6]
  wire  _T_1013; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@41177.6]
  wire  _T_1015; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41179.6]
  wire  _T_1017; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41182.8]
  wire  _T_1018; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41183.8]
  wire  _T_1019; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41188.8]
  wire  _T_1021; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41190.8]
  wire  _T_1022; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41191.8]
  wire  _T_1023; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41196.8]
  wire  _T_1025; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41198.8]
  wire  _T_1026; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41199.8]
  wire  _T_1027; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@41204.8]
  wire  _T_1029; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41206.8]
  wire  _T_1030; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41207.8]
  wire  _T_1031; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@41212.8]
  wire  _T_1033; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41214.8]
  wire  _T_1034; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41215.8]
  wire  _T_1035; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41221.6]
  wire  _T_1046; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@41245.8]
  wire  _T_1048; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41247.8]
  wire  _T_1049; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41248.8]
  wire  _T_1050; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41253.8]
  wire  _T_1052; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41255.8]
  wire  _T_1053; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41256.8]
  wire  _T_1063; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41279.6]
  wire  _T_1083; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@41320.8]
  wire  _T_1085; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41322.8]
  wire  _T_1086; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41323.8]
  wire  _T_1092; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41338.6]
  wire  _T_1109; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41373.6]
  wire  _T_1127; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41409.6]
  wire  _T_1156; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41469.4]
  wire [9:0] _T_1161; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@41474.4]
  wire  _T_1162; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@41475.4]
  wire  _T_1163; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41476.4]
  reg [9:0] _T_1166; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41478.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1167; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41479.4]
  wire [10:0] _T_1168; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41480.4]
  wire [9:0] _T_1169; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41481.4]
  wire  _T_1170; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41482.4]
  reg [2:0] _T_1179; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41493.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1181; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41494.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1183; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41495.4]
  reg [31:0] _RAND_3;
  reg  _T_1185; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41496.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_1187; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41497.4]
  reg [31:0] _RAND_5;
  wire  _T_1188; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41498.4]
  wire  _T_1189; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41499.4]
  wire  _T_1190; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41501.6]
  wire  _T_1192; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41503.6]
  wire  _T_1193; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41504.6]
  wire  _T_1194; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41509.6]
  wire  _T_1196; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41511.6]
  wire  _T_1197; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41512.6]
  wire  _T_1198; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41517.6]
  wire  _T_1200; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41519.6]
  wire  _T_1201; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41520.6]
  wire  _T_1202; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41525.6]
  wire  _T_1204; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41527.6]
  wire  _T_1205; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41528.6]
  wire  _T_1206; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41533.6]
  wire  _T_1208; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41535.6]
  wire  _T_1209; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41536.6]
  wire  _T_1211; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@41543.4]
  wire  _T_1212; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41551.4]
  wire [26:0] _T_1214; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@41553.4]
  wire [11:0] _T_1215; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@41554.4]
  wire [11:0] _T_1216; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@41555.4]
  wire [9:0] _T_1217; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@41556.4]
  wire  _T_1218; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@41557.4]
  reg [9:0] _T_1221; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41559.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_1222; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41560.4]
  wire [10:0] _T_1223; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41561.4]
  wire [9:0] _T_1224; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41562.4]
  wire  _T_1225; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41563.4]
  reg [2:0] _T_1234; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41574.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_1236; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41575.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_1238; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41576.4]
  reg [31:0] _RAND_9;
  reg  _T_1240; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41577.4]
  reg [31:0] _RAND_10;
  reg  _T_1242; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41578.4]
  reg [31:0] _RAND_11;
  reg  _T_1244; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41579.4]
  reg [31:0] _RAND_12;
  wire  _T_1245; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41580.4]
  wire  _T_1246; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41581.4]
  wire  _T_1247; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41583.6]
  wire  _T_1249; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41585.6]
  wire  _T_1250; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41586.6]
  wire  _T_1251; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41591.6]
  wire  _T_1253; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41593.6]
  wire  _T_1254; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41594.6]
  wire  _T_1255; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41599.6]
  wire  _T_1257; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41601.6]
  wire  _T_1258; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41602.6]
  wire  _T_1259; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41607.6]
  wire  _T_1261; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41609.6]
  wire  _T_1262; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41610.6]
  wire  _T_1263; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41615.6]
  wire  _T_1265; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41617.6]
  wire  _T_1266; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41618.6]
  wire  _T_1267; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41623.6]
  wire  _T_1269; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41625.6]
  wire  _T_1270; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41626.6]
  wire  _T_1272; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@41633.4]
  reg [1:0] _T_1274; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41642.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1285; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41652.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1286; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41653.4]
  wire [10:0] _T_1287; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41654.4]
  wire [9:0] _T_1288; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41655.4]
  wire  _T_1289; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41656.4]
  reg [9:0] _T_1306; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41675.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1307; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41676.4]
  wire [10:0] _T_1308; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41677.4]
  wire [9:0] _T_1309; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41678.4]
  wire  _T_1310; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41679.4]
  wire  _T_1321; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41694.4]
  wire [1:0] _T_1323; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@41697.6]
  wire [1:0] _T_1324; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@41699.6]
  wire  _T_1325; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@41700.6]
  wire  _T_1326; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41701.6]
  wire  _T_1328; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41703.6]
  wire  _T_1329; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41704.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@41696.4]
  wire  _T_1334; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41715.4]
  wire  _T_1336; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@41717.4]
  wire  _T_1337; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@41718.4]
  wire [1:0] _T_1338; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@41720.6]
  wire [1:0] _T_1339; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@41722.6]
  wire [1:0] _T_1340; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@41723.6]
  wire  _T_1341; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@41724.6]
  wire  _T_1343; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41726.6]
  wire  _T_1344; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41727.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@41719.4]
  wire  _T_1345; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@41733.4]
  wire  _T_1346; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@41734.4]
  wire  _T_1347; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@41735.4]
  wire  _T_1348; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@41736.4]
  wire  _T_1350; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41738.4]
  wire  _T_1351; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41739.4]
  wire [1:0] _T_1352; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41744.4]
  wire [1:0] _T_1353; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41745.4]
  wire [1:0] _T_1354; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@41746.4]
  reg [31:0] _T_1356; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41748.4]
  reg [31:0] _RAND_16;
  wire  _T_1357; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@41751.4]
  wire  _T_1358; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41752.4]
  wire  _T_1359; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@41753.4]
  wire  _T_1360; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41754.4]
  wire  _T_1361; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@41755.4]
  wire  _T_1362; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@41756.4]
  wire  _T_1364; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41758.4]
  wire  _T_1365; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41759.4]
  wire [31:0] _T_1367; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@41765.4]
  wire  _T_1370; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41769.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40136.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40286.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40452.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40596.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40732.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40865.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40996.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41127.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41185.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41227.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41285.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41344.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41379.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41415.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@41749.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@39975.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@39980.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@39982.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@39983.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@39984.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@39985.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@39985.6]
  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@39986.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@39988.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39989.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@39991.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@39992.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@39993.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@39994.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@39995.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@39997.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@39998.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40000.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40001.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@40002.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@40003.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@40004.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40005.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40006.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40007.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40008.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40009.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40010.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40011.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40012.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40013.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40014.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@40015.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@40016.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@40017.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@40018.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@40019.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40023.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40044.6]
  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40047.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40048.8]
  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40049.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40050.8]
  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40051.8]
  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40052.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40053.8]
  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40054.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40055.8]
  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40056.8]
  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40057.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40058.8]
  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40059.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40060.8]
  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40061.8]
  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40062.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40063.8]
  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40064.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40065.8]
  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40066.8]
  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40067.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40068.8]
  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40069.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40070.8]
  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40071.8]
  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40072.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40073.8]
  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40074.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40075.8]
  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40076.8]
  assign _T_122 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40077.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40078.8]
  assign _T_124 = $signed(_T_123) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40079.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40080.8]
  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40081.8]
  assign _T_127 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40082.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40083.8]
  assign _T_129 = $signed(_T_128) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40084.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40085.8]
  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40086.8]
  assign _T_132 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40087.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40088.8]
  assign _T_134 = $signed(_T_133) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40089.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40090.8]
  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40091.8]
  assign _T_137 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40092.8]
  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40093.8]
  assign _T_139 = $signed(_T_138) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40094.8]
  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40095.8]
  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40096.8]
  assign _T_144 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40099.8]
  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40100.8]
  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40101.8]
  assign _T_147 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40102.8]
  assign _T_148 = {1'b0,$signed(_T_147)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40103.8]
  assign _T_149 = $signed(_T_148) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40104.8]
  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40105.8]
  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40106.8]
  assign _T_152 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40107.8]
  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40108.8]
  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40109.8]
  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40110.8]
  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40111.8]
  assign _T_157 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@40112.8]
  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@40113.8]
  assign _T_159 = $signed(_T_158) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40114.8]
  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@40115.8]
  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@40116.8]
  assign _T_162 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40117.8]
  assign _T_163 = _T_162 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40118.8]
  assign _T_164 = _T_163 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40119.8]
  assign _T_165 = _T_164 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40120.8]
  assign _T_179 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40134.8]
  assign _T_184 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40147.8]
  assign _T_185 = _T_184 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40148.8]
  assign _T_188 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40155.8]
  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40156.8]
  assign _T_191 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40162.8]
  assign _T_192 = _T_191 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40163.8]
  assign _T_193 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40168.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40170.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40171.8]
  assign _T_197 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@40176.8]
  assign _T_198 = _T_197 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40177.8]
  assign _T_200 = _T_198 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40179.8]
  assign _T_201 = _T_200 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40180.8]
  assign _T_202 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@40185.8]
  assign _T_204 = _T_202 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40187.8]
  assign _T_205 = _T_204 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40188.8]
  assign _T_206 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40194.6]
  assign _T_313 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40326.8]
  assign _T_315 = _T_313 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40328.8]
  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40329.8]
  assign _T_326 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40352.6]
  assign _T_328 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40355.8]
  assign _T_336 = _T_328 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@40363.8]
  assign _T_338 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40365.8]
  assign _T_406 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40433.8]
  assign _T_407 = _T_406 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40434.8]
  assign _T_408 = _T_407 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40435.8]
  assign _T_409 = _T_408 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40436.8]
  assign _T_410 = _T_409 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40437.8]
  assign _T_411 = _T_410 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40438.8]
  assign _T_412 = _T_411 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40439.8]
  assign _T_413 = _T_412 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40440.8]
  assign _T_414 = _T_413 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40441.8]
  assign _T_415 = _T_414 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40442.8]
  assign _T_416 = _T_415 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40443.8]
  assign _T_417 = _T_416 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40444.8]
  assign _T_418 = _T_338 & _T_417; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@40445.8]
  assign _T_420 = _T_336 | _T_418; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@40447.8]
  assign _T_422 = _T_420 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40449.8]
  assign _T_423 = _T_422 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40450.8]
  assign _T_430 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40469.8]
  assign _T_432 = _T_430 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40471.8]
  assign _T_433 = _T_432 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40472.8]
  assign _T_434 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@40477.8]
  assign _T_436 = _T_434 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40479.8]
  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40480.8]
  assign _T_442 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40494.6]
  assign _T_515 = _T_408 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40568.8]
  assign _T_516 = _T_515 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40569.8]
  assign _T_517 = _T_516 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40570.8]
  assign _T_518 = _T_517 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40571.8]
  assign _T_519 = _T_518 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40572.8]
  assign _T_520 = _T_519 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40573.8]
  assign _T_521 = _T_520 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40574.8]
  assign _T_522 = _T_338 & _T_521; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@40575.8]
  assign _T_537 = _T_336 | _T_522; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@40590.8]
  assign _T_540 = _T_537 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40593.8]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40594.8]
  assign _T_556 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40630.6]
  assign _T_666 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@40757.8]
  assign _T_667 = io_in_a_bits_mask & _T_666; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@40758.8]
  assign _T_668 = _T_667 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@40759.8]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40761.8]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40762.8]
  assign _T_672 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40768.6]
  assign _T_674 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40771.8]
  assign _T_741 = _T_165 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40838.8]
  assign _T_742 = _T_741 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40839.8]
  assign _T_743 = _T_742 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40840.8]
  assign _T_744 = _T_743 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40841.8]
  assign _T_745 = _T_744 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40842.8]
  assign _T_746 = _T_745 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40843.8]
  assign _T_747 = _T_746 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@40844.8]
  assign _T_748 = _T_674 & _T_747; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@40845.8]
  assign _T_765 = _T_748 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40862.8]
  assign _T_766 = _T_765 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40863.8]
  assign _T_773 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@40882.8]
  assign _T_775 = _T_773 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40884.8]
  assign _T_776 = _T_775 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40885.8]
  assign _T_781 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@40899.6]
  assign _T_882 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@41013.8]
  assign _T_884 = _T_882 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41015.8]
  assign _T_885 = _T_884 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41016.8]
  assign _T_890 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41030.6]
  assign _T_983 = _T_336 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41124.8]
  assign _T_984 = _T_983 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41125.8]
  assign _T_999 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@41163.6]
  assign _T_1001 = _T_999 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41165.6]
  assign _T_1002 = _T_1001 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41166.6]
  assign _T_1004 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@41172.6]
  assign _T_1013 = io_in_d_bits_source | _T_1004; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@41177.6]
  assign _T_1015 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41179.6]
  assign _T_1017 = _T_1013 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41182.8]
  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41183.8]
  assign _T_1019 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41188.8]
  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41190.8]
  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41191.8]
  assign _T_1023 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41196.8]
  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41198.8]
  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41199.8]
  assign _T_1027 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@41204.8]
  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41206.8]
  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41207.8]
  assign _T_1031 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@41212.8]
  assign _T_1033 = _T_1031 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41214.8]
  assign _T_1034 = _T_1033 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41215.8]
  assign _T_1035 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41221.6]
  assign _T_1046 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@41245.8]
  assign _T_1048 = _T_1046 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41247.8]
  assign _T_1049 = _T_1048 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41248.8]
  assign _T_1050 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41253.8]
  assign _T_1052 = _T_1050 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41255.8]
  assign _T_1053 = _T_1052 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41256.8]
  assign _T_1063 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41279.6]
  assign _T_1083 = _T_1031 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@41320.8]
  assign _T_1085 = _T_1083 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41322.8]
  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41323.8]
  assign _T_1092 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41338.6]
  assign _T_1109 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41373.6]
  assign _T_1127 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41409.6]
  assign _T_1156 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41469.4]
  assign _T_1161 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@41474.4]
  assign _T_1162 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@41475.4]
  assign _T_1163 = _T_1162 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41476.4]
  assign _T_1167 = _T_1166 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41479.4]
  assign _T_1168 = $unsigned(_T_1167); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41480.4]
  assign _T_1169 = _T_1168[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41481.4]
  assign _T_1170 = _T_1166 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41482.4]
  assign _T_1188 = _T_1170 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41498.4]
  assign _T_1189 = io_in_a_valid & _T_1188; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41499.4]
  assign _T_1190 = io_in_a_bits_opcode == _T_1179; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41501.6]
  assign _T_1192 = _T_1190 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41503.6]
  assign _T_1193 = _T_1192 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41504.6]
  assign _T_1194 = io_in_a_bits_param == _T_1181; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41509.6]
  assign _T_1196 = _T_1194 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41511.6]
  assign _T_1197 = _T_1196 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41512.6]
  assign _T_1198 = io_in_a_bits_size == _T_1183; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41517.6]
  assign _T_1200 = _T_1198 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41519.6]
  assign _T_1201 = _T_1200 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41520.6]
  assign _T_1202 = io_in_a_bits_source == _T_1185; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41525.6]
  assign _T_1204 = _T_1202 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41527.6]
  assign _T_1205 = _T_1204 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41528.6]
  assign _T_1206 = io_in_a_bits_address == _T_1187; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41533.6]
  assign _T_1208 = _T_1206 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41535.6]
  assign _T_1209 = _T_1208 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41536.6]
  assign _T_1211 = _T_1156 & _T_1170; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@41543.4]
  assign _T_1212 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41551.4]
  assign _T_1214 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@41553.4]
  assign _T_1215 = _T_1214[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@41554.4]
  assign _T_1216 = ~ _T_1215; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@41555.4]
  assign _T_1217 = _T_1216[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@41556.4]
  assign _T_1218 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@41557.4]
  assign _T_1222 = _T_1221 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41560.4]
  assign _T_1223 = $unsigned(_T_1222); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41561.4]
  assign _T_1224 = _T_1223[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41562.4]
  assign _T_1225 = _T_1221 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41563.4]
  assign _T_1245 = _T_1225 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@41580.4]
  assign _T_1246 = io_in_d_valid & _T_1245; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41581.4]
  assign _T_1247 = io_in_d_bits_opcode == _T_1234; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41583.6]
  assign _T_1249 = _T_1247 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41585.6]
  assign _T_1250 = _T_1249 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41586.6]
  assign _T_1251 = io_in_d_bits_param == _T_1236; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41591.6]
  assign _T_1253 = _T_1251 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41593.6]
  assign _T_1254 = _T_1253 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41594.6]
  assign _T_1255 = io_in_d_bits_size == _T_1238; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41599.6]
  assign _T_1257 = _T_1255 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41601.6]
  assign _T_1258 = _T_1257 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41602.6]
  assign _T_1259 = io_in_d_bits_source == _T_1240; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41607.6]
  assign _T_1261 = _T_1259 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41609.6]
  assign _T_1262 = _T_1261 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41610.6]
  assign _T_1263 = io_in_d_bits_sink == _T_1242; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41615.6]
  assign _T_1265 = _T_1263 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41617.6]
  assign _T_1266 = _T_1265 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41618.6]
  assign _T_1267 = io_in_d_bits_denied == _T_1244; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41623.6]
  assign _T_1269 = _T_1267 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41625.6]
  assign _T_1270 = _T_1269 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41626.6]
  assign _T_1272 = _T_1212 & _T_1225; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@41633.4]
  assign _T_1286 = _T_1285 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41653.4]
  assign _T_1287 = $unsigned(_T_1286); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41654.4]
  assign _T_1288 = _T_1287[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41655.4]
  assign _T_1289 = _T_1285 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41656.4]
  assign _T_1307 = _T_1306 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41676.4]
  assign _T_1308 = $unsigned(_T_1307); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41677.4]
  assign _T_1309 = _T_1308[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@41678.4]
  assign _T_1310 = _T_1306 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41679.4]
  assign _T_1321 = _T_1156 & _T_1289; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41694.4]
  assign _T_1323 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@41697.6]
  assign _T_1324 = _T_1274 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@41699.6]
  assign _T_1325 = _T_1324[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@41700.6]
  assign _T_1326 = _T_1325 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41701.6]
  assign _T_1328 = _T_1326 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41703.6]
  assign _T_1329 = _T_1328 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41704.6]
  assign _GEN_15 = _T_1321 ? _T_1323 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@41696.4]
  assign _T_1334 = _T_1212 & _T_1310; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41715.4]
  assign _T_1336 = _T_1015 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@41717.4]
  assign _T_1337 = _T_1334 & _T_1336; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@41718.4]
  assign _T_1338 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@41720.6]
  assign _T_1339 = _GEN_15 | _T_1274; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@41722.6]
  assign _T_1340 = _T_1339 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@41723.6]
  assign _T_1341 = _T_1340[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@41724.6]
  assign _T_1343 = _T_1341 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41726.6]
  assign _T_1344 = _T_1343 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41727.6]
  assign _GEN_16 = _T_1337 ? _T_1338 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@41719.4]
  assign _T_1345 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@41733.4]
  assign _T_1346 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@41734.4]
  assign _T_1347 = _T_1346 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@41735.4]
  assign _T_1348 = _T_1345 | _T_1347; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@41736.4]
  assign _T_1350 = _T_1348 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41738.4]
  assign _T_1351 = _T_1350 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41739.4]
  assign _T_1352 = _T_1274 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41744.4]
  assign _T_1353 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41745.4]
  assign _T_1354 = _T_1352 & _T_1353; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@41746.4]
  assign _T_1357 = _T_1274 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@41751.4]
  assign _T_1358 = _T_1357 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41752.4]
  assign _T_1359 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@41753.4]
  assign _T_1360 = _T_1358 | _T_1359; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41754.4]
  assign _T_1361 = _T_1356 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@41755.4]
  assign _T_1362 = _T_1360 | _T_1361; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@41756.4]
  assign _T_1364 = _T_1362 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41758.4]
  assign _T_1365 = _T_1364 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41759.4]
  assign _T_1367 = _T_1356 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@41765.4]
  assign _T_1370 = _T_1156 | _T_1212; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41769.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40136.10]
  assign _GEN_35 = io_in_a_valid & _T_206; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40286.10]
  assign _GEN_53 = io_in_a_valid & _T_326; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40452.10]
  assign _GEN_65 = io_in_a_valid & _T_442; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40596.10]
  assign _GEN_75 = io_in_a_valid & _T_556; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40732.10]
  assign _GEN_85 = io_in_a_valid & _T_672; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40865.10]
  assign _GEN_95 = io_in_a_valid & _T_781; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40996.10]
  assign _GEN_105 = io_in_a_valid & _T_890; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41127.10]
  assign _GEN_115 = io_in_d_valid & _T_1015; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41185.10]
  assign _GEN_125 = io_in_d_valid & _T_1035; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41227.10]
  assign _GEN_137 = io_in_d_valid & _T_1063; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41285.10]
  assign _GEN_149 = io_in_d_valid & _T_1092; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41344.10]
  assign _GEN_155 = io_in_d_valid & _T_1109; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41379.10]
  assign _GEN_161 = io_in_d_valid & _T_1127; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41415.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_1166 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1179 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1181 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1183 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1185 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1187 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1221 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1234 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1236 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1238 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1240 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1242 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1244 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1274 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1285 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1306 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1356 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1166 <= 10'h0;
    end else begin
      if (_T_1156) begin
        if (_T_1170) begin
          if (_T_1163) begin
            _T_1166 <= _T_1161;
          end else begin
            _T_1166 <= 10'h0;
          end
        end else begin
          _T_1166 <= _T_1169;
        end
      end
    end
    if (_T_1211) begin
      _T_1179 <= io_in_a_bits_opcode;
    end
    if (_T_1211) begin
      _T_1181 <= io_in_a_bits_param;
    end
    if (_T_1211) begin
      _T_1183 <= io_in_a_bits_size;
    end
    if (_T_1211) begin
      _T_1185 <= io_in_a_bits_source;
    end
    if (_T_1211) begin
      _T_1187 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1221 <= 10'h0;
    end else begin
      if (_T_1212) begin
        if (_T_1225) begin
          if (_T_1218) begin
            _T_1221 <= _T_1217;
          end else begin
            _T_1221 <= 10'h0;
          end
        end else begin
          _T_1221 <= _T_1224;
        end
      end
    end
    if (_T_1272) begin
      _T_1234 <= io_in_d_bits_opcode;
    end
    if (_T_1272) begin
      _T_1236 <= io_in_d_bits_param;
    end
    if (_T_1272) begin
      _T_1238 <= io_in_d_bits_size;
    end
    if (_T_1272) begin
      _T_1240 <= io_in_d_bits_source;
    end
    if (_T_1272) begin
      _T_1242 <= io_in_d_bits_sink;
    end
    if (_T_1272) begin
      _T_1244 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1274 <= 2'h0;
    end else begin
      _T_1274 <= _T_1354;
    end
    if (reset) begin
      _T_1285 <= 10'h0;
    end else begin
      if (_T_1156) begin
        if (_T_1289) begin
          if (_T_1163) begin
            _T_1285 <= _T_1161;
          end else begin
            _T_1285 <= 10'h0;
          end
        end else begin
          _T_1285 <= _T_1288;
        end
      end
    end
    if (reset) begin
      _T_1306 <= 10'h0;
    end else begin
      if (_T_1212) begin
        if (_T_1310) begin
          if (_T_1218) begin
            _T_1306 <= _T_1217;
          end else begin
            _T_1306 <= 10'h0;
          end
        end else begin
          _T_1306 <= _T_1309;
        end
      end
    end
    if (reset) begin
      _T_1356 <= 32'h0;
    end else begin
      if (_T_1370) begin
        _T_1356 <= 32'h0;
      end else begin
        _T_1356 <= _T_1367;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at SystemBus.scala:68:28)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39971.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@39972.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@40041.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@40042.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at SystemBus.scala:68:28)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40136.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40137.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SystemBus.scala:68:28)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40143.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40144.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40150.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_185) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40151.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SystemBus.scala:68:28)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40158.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40159.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SystemBus.scala:68:28)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40165.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_192) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40166.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40173.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_196) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40174.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SystemBus.scala:68:28)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40182.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_201) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40183.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SystemBus.scala:68:28)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40190.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_205) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40191.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at SystemBus.scala:68:28)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40286.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40287.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SystemBus.scala:68:28)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40293.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40294.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40300.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_185) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40301.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SystemBus.scala:68:28)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40308.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_189) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40309.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SystemBus.scala:68:28)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40315.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_192) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40316.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40323.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_196) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40324.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_316) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SystemBus.scala:68:28)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40331.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_316) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40332.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SystemBus.scala:68:28)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40340.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_201) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40341.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SystemBus.scala:68:28)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40348.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_205) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40349.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_423) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at SystemBus.scala:68:28)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40452.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_423) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40453.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40459.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_185) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40460.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at SystemBus.scala:68:28)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40466.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_192) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40467.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40474.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_433) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40475.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at SystemBus.scala:68:28)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40482.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_437) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40483.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at SystemBus.scala:68:28)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40490.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_205) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40491.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SystemBus.scala:68:28)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40596.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_541) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40597.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40603.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_185) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40604.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at SystemBus.scala:68:28)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40610.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_192) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40611.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40618.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_433) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40619.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at SystemBus.scala:68:28)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40626.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_437) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40627.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at SystemBus.scala:68:28)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40732.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_541) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40733.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40739.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_185) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40740.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SystemBus.scala:68:28)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40746.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_192) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40747.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40754.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_433) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40755.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SystemBus.scala:68:28)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40764.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_671) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40765.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_766) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at SystemBus.scala:68:28)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40865.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_766) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40866.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40872.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_185) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40873.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SystemBus.scala:68:28)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40879.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_192) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40880.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_776) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40887.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_776) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40888.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SystemBus.scala:68:28)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40895.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_437) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40896.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_766) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at SystemBus.scala:68:28)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40996.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_766) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@40997.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41003.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_185) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41004.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at SystemBus.scala:68:28)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41010.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_192) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41011.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_885) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41018.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_885) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41019.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at SystemBus.scala:68:28)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41026.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_437) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41027.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_984) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at SystemBus.scala:68:28)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41127.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_984) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41128.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41134.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_185) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41135.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at SystemBus.scala:68:28)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41141.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_192) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41142.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at SystemBus.scala:68:28)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41149.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_437) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41150.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at SystemBus.scala:68:28)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41157.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_205) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41158.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_1002) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SystemBus.scala:68:28)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41168.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_1002) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41169.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41185.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1018) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41186.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SystemBus.scala:68:28)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41193.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1022) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41194.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41201.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1026) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41202.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SystemBus.scala:68:28)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41209.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1030) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41210.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1034) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at SystemBus.scala:68:28)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41217.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1034) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41218.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41227.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1018) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41228.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41234.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_179) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41235.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at SystemBus.scala:68:28)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41242.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1022) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41243.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1049) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41250.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1049) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41251.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1053) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41258.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1053) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41259.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at SystemBus.scala:68:28)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41266.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1030) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41267.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at SystemBus.scala:68:28)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41275.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41276.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41285.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1018) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41286.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41292.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_179) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41293.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SystemBus.scala:68:28)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41300.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1022) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41301.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1049) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41308.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1049) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41309.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1053) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41316.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1053) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41317.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1086) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SystemBus.scala:68:28)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41325.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1086) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41326.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at SystemBus.scala:68:28)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41334.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41335.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41344.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1018) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41345.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41352.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1026) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41353.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at SystemBus.scala:68:28)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41360.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1030) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41361.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at SystemBus.scala:68:28)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41369.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41370.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41379.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1018) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41380.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41387.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1026) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41388.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1086) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SystemBus.scala:68:28)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41396.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1086) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41397.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at SystemBus.scala:68:28)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41405.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41406.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41415.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1018) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41416.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at SystemBus.scala:68:28)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41423.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1026) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41424.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at SystemBus.scala:68:28)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41431.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1030) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41432.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at SystemBus.scala:68:28)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41440.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41441.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at SystemBus.scala:68:28)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41450.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41451.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at SystemBus.scala:68:28)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41458.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41459.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at SystemBus.scala:68:28)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41466.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41467.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1193) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SystemBus.scala:68:28)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41506.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1193) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41507.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1197) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SystemBus.scala:68:28)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41514.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1197) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41515.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SystemBus.scala:68:28)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41522.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1201) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41523.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SystemBus.scala:68:28)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41530.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1205) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41531.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1209) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SystemBus.scala:68:28)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41538.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1209) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41539.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1250) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SystemBus.scala:68:28)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41588.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1250) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41589.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1254) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at SystemBus.scala:68:28)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41596.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1254) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41597.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1258) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SystemBus.scala:68:28)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41604.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1258) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41605.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1262) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SystemBus.scala:68:28)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41612.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1262) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41613.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1266) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at SystemBus.scala:68:28)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41620.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1266) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41621.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1270) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at SystemBus.scala:68:28)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41628.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1270) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@41629.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1321 & _T_1329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SystemBus.scala:68:28)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41706.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1321 & _T_1329) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41707.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1337 & _T_1344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SystemBus.scala:68:28)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41729.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1337 & _T_1344) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41730.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1351) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at SystemBus.scala:68:28)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41741.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1351) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@41742.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1365) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SystemBus.scala:68:28)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41761.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1365) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41762.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLSplitter( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41774.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41775.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41776.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41777.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
  TLMonitor_23 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41784.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41824.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41824.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41824.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41824.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41824.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41824.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41824.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41824.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41824.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41824.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41823.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41823.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41823.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41823.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41823.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41823.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41823.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41823.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41823.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41823.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41786.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41787.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@41820.4]
endmodule
module TLMonitor_24( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41843.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41844.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41845.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@41846.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@43636.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@41862.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@41867.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@41869.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@41870.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@41871.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@41872.6]
  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@41872.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@41873.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41875.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41876.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@41878.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@41879.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@41880.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@41881.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@41882.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41884.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41885.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41887.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41888.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@41889.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@41890.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@41891.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41892.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41893.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41894.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41895.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41896.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41897.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41898.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41899.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41900.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41901.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41902.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41903.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@41904.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@41905.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@41906.6]
  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41910.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41931.6]
  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41934.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41935.8]
  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41936.8]
  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41937.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41938.8]
  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41939.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41940.8]
  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41941.8]
  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41942.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41943.8]
  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41944.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41945.8]
  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41946.8]
  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41947.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41948.8]
  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41949.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41950.8]
  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41951.8]
  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41952.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41953.8]
  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41954.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41955.8]
  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41956.8]
  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41957.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41958.8]
  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41959.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41960.8]
  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41961.8]
  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41962.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41963.8]
  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41964.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41965.8]
  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41966.8]
  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41967.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41968.8]
  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41969.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41970.8]
  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41971.8]
  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41972.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41973.8]
  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41974.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41975.8]
  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41976.8]
  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41977.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41978.8]
  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41979.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41980.8]
  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41981.8]
  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41982.8]
  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41983.8]
  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41986.8]
  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41987.8]
  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41988.8]
  wire [31:0] _T_147; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41989.8]
  wire [32:0] _T_148; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41990.8]
  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41991.8]
  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41992.8]
  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41993.8]
  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41994.8]
  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41995.8]
  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41996.8]
  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41997.8]
  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41998.8]
  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41999.8]
  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42000.8]
  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42001.8]
  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42002.8]
  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42003.8]
  wire  _T_162; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42004.8]
  wire  _T_163; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42005.8]
  wire  _T_164; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42006.8]
  wire  _T_165; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42007.8]
  wire  _T_179; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42021.8]
  wire  _T_184; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42034.8]
  wire  _T_185; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42035.8]
  wire  _T_188; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42042.8]
  wire  _T_189; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42043.8]
  wire  _T_191; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42049.8]
  wire  _T_192; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42050.8]
  wire  _T_193; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42055.8]
  wire  _T_195; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42057.8]
  wire  _T_196; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42058.8]
  wire [3:0] _T_197; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@42063.8]
  wire  _T_198; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42064.8]
  wire  _T_200; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42066.8]
  wire  _T_201; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42067.8]
  wire  _T_202; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@42072.8]
  wire  _T_204; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42074.8]
  wire  _T_205; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42075.8]
  wire  _T_206; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42081.6]
  wire  _T_313; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42213.8]
  wire  _T_315; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42215.8]
  wire  _T_316; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42216.8]
  wire  _T_326; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42239.6]
  wire  _T_328; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42242.8]
  wire  _T_336; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@42250.8]
  wire  _T_338; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42252.8]
  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42320.8]
  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42321.8]
  wire  _T_408; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42322.8]
  wire  _T_409; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42323.8]
  wire  _T_410; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42324.8]
  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42325.8]
  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42326.8]
  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42327.8]
  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42328.8]
  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42329.8]
  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42330.8]
  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42331.8]
  wire  _T_418; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@42332.8]
  wire  _T_420; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@42334.8]
  wire  _T_422; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42336.8]
  wire  _T_423; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42337.8]
  wire  _T_430; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42356.8]
  wire  _T_432; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42358.8]
  wire  _T_433; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42359.8]
  wire  _T_434; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42364.8]
  wire  _T_436; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42366.8]
  wire  _T_437; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42367.8]
  wire  _T_442; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42381.6]
  wire  _T_515; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42455.8]
  wire  _T_516; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42456.8]
  wire  _T_517; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42457.8]
  wire  _T_518; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42458.8]
  wire  _T_519; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42459.8]
  wire  _T_520; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42460.8]
  wire  _T_521; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42461.8]
  wire  _T_522; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@42462.8]
  wire  _T_537; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@42477.8]
  wire  _T_540; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42480.8]
  wire  _T_541; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42481.8]
  wire  _T_556; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42517.6]
  wire [3:0] _T_666; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@42644.8]
  wire [3:0] _T_667; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42645.8]
  wire  _T_668; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@42646.8]
  wire  _T_670; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42648.8]
  wire  _T_671; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42649.8]
  wire  _T_672; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42655.6]
  wire  _T_674; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42658.8]
  wire  _T_741; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42725.8]
  wire  _T_742; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42726.8]
  wire  _T_743; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42727.8]
  wire  _T_744; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42728.8]
  wire  _T_745; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42729.8]
  wire  _T_746; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42730.8]
  wire  _T_747; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42731.8]
  wire  _T_748; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@42732.8]
  wire  _T_765; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42749.8]
  wire  _T_766; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42750.8]
  wire  _T_773; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@42769.8]
  wire  _T_775; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42771.8]
  wire  _T_776; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42772.8]
  wire  _T_781; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42786.6]
  wire  _T_882; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@42900.8]
  wire  _T_884; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42902.8]
  wire  _T_885; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42903.8]
  wire  _T_890; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42917.6]
  wire  _T_983; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43011.8]
  wire  _T_984; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43012.8]
  wire  _T_999; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@43050.6]
  wire  _T_1001; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43052.6]
  wire  _T_1002; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43053.6]
  wire  _T_1004; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@43059.6]
  wire  _T_1013; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@43064.6]
  wire  _T_1015; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43066.6]
  wire  _T_1017; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43069.8]
  wire  _T_1018; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43070.8]
  wire  _T_1019; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43075.8]
  wire  _T_1021; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43077.8]
  wire  _T_1022; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43078.8]
  wire  _T_1023; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43083.8]
  wire  _T_1025; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43085.8]
  wire  _T_1026; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43086.8]
  wire  _T_1027; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@43091.8]
  wire  _T_1029; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43093.8]
  wire  _T_1030; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43094.8]
  wire  _T_1031; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@43099.8]
  wire  _T_1033; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43101.8]
  wire  _T_1034; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43102.8]
  wire  _T_1035; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43108.6]
  wire  _T_1046; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@43132.8]
  wire  _T_1048; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43134.8]
  wire  _T_1049; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43135.8]
  wire  _T_1050; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43140.8]
  wire  _T_1052; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43142.8]
  wire  _T_1053; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43143.8]
  wire  _T_1063; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43166.6]
  wire  _T_1083; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@43207.8]
  wire  _T_1085; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43209.8]
  wire  _T_1086; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43210.8]
  wire  _T_1092; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43225.6]
  wire  _T_1109; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43260.6]
  wire  _T_1127; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43296.6]
  wire  _T_1156; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43356.4]
  wire [9:0] _T_1161; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@43361.4]
  wire  _T_1162; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@43362.4]
  wire  _T_1163; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43363.4]
  reg [9:0] _T_1166; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43365.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1167; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43366.4]
  wire [10:0] _T_1168; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43367.4]
  wire [9:0] _T_1169; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43368.4]
  wire  _T_1170; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43369.4]
  reg [2:0] _T_1179; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43380.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1181; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43381.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1183; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43382.4]
  reg [31:0] _RAND_3;
  reg  _T_1185; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43383.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_1187; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43384.4]
  reg [31:0] _RAND_5;
  wire  _T_1188; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43385.4]
  wire  _T_1189; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43386.4]
  wire  _T_1190; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43388.6]
  wire  _T_1192; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43390.6]
  wire  _T_1193; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43391.6]
  wire  _T_1194; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43396.6]
  wire  _T_1196; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43398.6]
  wire  _T_1197; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43399.6]
  wire  _T_1198; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43404.6]
  wire  _T_1200; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43406.6]
  wire  _T_1201; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43407.6]
  wire  _T_1202; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43412.6]
  wire  _T_1204; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43414.6]
  wire  _T_1205; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43415.6]
  wire  _T_1206; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43420.6]
  wire  _T_1208; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43422.6]
  wire  _T_1209; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43423.6]
  wire  _T_1211; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@43430.4]
  wire  _T_1212; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43438.4]
  wire [26:0] _T_1214; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@43440.4]
  wire [11:0] _T_1215; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@43441.4]
  wire [11:0] _T_1216; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@43442.4]
  wire [9:0] _T_1217; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@43443.4]
  wire  _T_1218; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@43444.4]
  reg [9:0] _T_1221; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43446.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_1222; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43447.4]
  wire [10:0] _T_1223; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43448.4]
  wire [9:0] _T_1224; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43449.4]
  wire  _T_1225; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43450.4]
  reg [2:0] _T_1234; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43461.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_1236; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43462.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_1238; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43463.4]
  reg [31:0] _RAND_9;
  reg  _T_1240; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43464.4]
  reg [31:0] _RAND_10;
  reg  _T_1242; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43465.4]
  reg [31:0] _RAND_11;
  reg  _T_1244; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43466.4]
  reg [31:0] _RAND_12;
  wire  _T_1245; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43467.4]
  wire  _T_1246; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43468.4]
  wire  _T_1247; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43470.6]
  wire  _T_1249; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43472.6]
  wire  _T_1250; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43473.6]
  wire  _T_1251; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43478.6]
  wire  _T_1253; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43480.6]
  wire  _T_1254; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43481.6]
  wire  _T_1255; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43486.6]
  wire  _T_1257; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43488.6]
  wire  _T_1258; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43489.6]
  wire  _T_1259; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43494.6]
  wire  _T_1261; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43496.6]
  wire  _T_1262; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43497.6]
  wire  _T_1263; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43502.6]
  wire  _T_1265; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43504.6]
  wire  _T_1266; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43505.6]
  wire  _T_1267; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43510.6]
  wire  _T_1269; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43512.6]
  wire  _T_1270; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43513.6]
  wire  _T_1272; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@43520.4]
  reg [1:0] _T_1274; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43529.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1285; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43539.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1286; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43540.4]
  wire [10:0] _T_1287; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43541.4]
  wire [9:0] _T_1288; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43542.4]
  wire  _T_1289; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43543.4]
  reg [9:0] _T_1306; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43562.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1307; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43563.4]
  wire [10:0] _T_1308; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43564.4]
  wire [9:0] _T_1309; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43565.4]
  wire  _T_1310; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43566.4]
  wire  _T_1321; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43581.4]
  wire [1:0] _T_1323; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@43584.6]
  wire [1:0] _T_1324; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@43586.6]
  wire  _T_1325; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@43587.6]
  wire  _T_1326; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43588.6]
  wire  _T_1328; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43590.6]
  wire  _T_1329; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43591.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@43583.4]
  wire  _T_1334; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43602.4]
  wire  _T_1336; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@43604.4]
  wire  _T_1337; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@43605.4]
  wire [1:0] _T_1338; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@43607.6]
  wire [1:0] _T_1339; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@43609.6]
  wire [1:0] _T_1340; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@43610.6]
  wire  _T_1341; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@43611.6]
  wire  _T_1343; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43613.6]
  wire  _T_1344; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43614.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@43606.4]
  wire  _T_1345; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@43620.4]
  wire  _T_1346; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@43621.4]
  wire  _T_1347; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@43622.4]
  wire  _T_1348; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@43623.4]
  wire  _T_1350; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43625.4]
  wire  _T_1351; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43626.4]
  wire [1:0] _T_1352; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43631.4]
  wire [1:0] _T_1353; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43632.4]
  wire [1:0] _T_1354; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@43633.4]
  reg [31:0] _T_1356; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43635.4]
  reg [31:0] _RAND_16;
  wire  _T_1357; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@43638.4]
  wire  _T_1358; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43639.4]
  wire  _T_1359; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@43640.4]
  wire  _T_1360; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43641.4]
  wire  _T_1361; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@43642.4]
  wire  _T_1362; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@43643.4]
  wire  _T_1364; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43645.4]
  wire  _T_1365; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43646.4]
  wire [31:0] _T_1367; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@43652.4]
  wire  _T_1370; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43656.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42023.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42173.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42339.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42483.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42619.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42752.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42883.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43014.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43072.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43114.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43172.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43231.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43266.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43302.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@43636.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@41862.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@41867.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@41869.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@41870.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@41871.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@41872.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@41872.6]
  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@41873.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41875.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41876.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@41878.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@41879.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@41880.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@41881.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@41882.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41884.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41885.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41887.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41888.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@41889.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@41890.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@41891.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41892.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41893.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41894.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41895.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41896.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41897.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41898.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41899.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41900.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@41901.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@41902.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@41903.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@41904.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@41905.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@41906.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41910.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@41931.6]
  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41934.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41935.8]
  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41936.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41937.8]
  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41938.8]
  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41939.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41940.8]
  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41941.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41942.8]
  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41943.8]
  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41944.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41945.8]
  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41946.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41947.8]
  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41948.8]
  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41949.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41950.8]
  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41951.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41952.8]
  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41953.8]
  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41954.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41955.8]
  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41956.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41957.8]
  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41958.8]
  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41959.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41960.8]
  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41961.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41962.8]
  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41963.8]
  assign _T_122 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41964.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41965.8]
  assign _T_124 = $signed(_T_123) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41966.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41967.8]
  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41968.8]
  assign _T_127 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41969.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41970.8]
  assign _T_129 = $signed(_T_128) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41971.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41972.8]
  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41973.8]
  assign _T_132 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41974.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41975.8]
  assign _T_134 = $signed(_T_133) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41976.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41977.8]
  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41978.8]
  assign _T_137 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41979.8]
  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41980.8]
  assign _T_139 = $signed(_T_138) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41981.8]
  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41982.8]
  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41983.8]
  assign _T_144 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41986.8]
  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41987.8]
  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41988.8]
  assign _T_147 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41989.8]
  assign _T_148 = {1'b0,$signed(_T_147)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41990.8]
  assign _T_149 = $signed(_T_148) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41991.8]
  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41992.8]
  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41993.8]
  assign _T_152 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41994.8]
  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@41995.8]
  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41996.8]
  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@41997.8]
  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@41998.8]
  assign _T_157 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@41999.8]
  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@42000.8]
  assign _T_159 = $signed(_T_158) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42001.8]
  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@42002.8]
  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@42003.8]
  assign _T_162 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42004.8]
  assign _T_163 = _T_162 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42005.8]
  assign _T_164 = _T_163 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42006.8]
  assign _T_165 = _T_164 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42007.8]
  assign _T_179 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42021.8]
  assign _T_184 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42034.8]
  assign _T_185 = _T_184 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42035.8]
  assign _T_188 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42042.8]
  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42043.8]
  assign _T_191 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42049.8]
  assign _T_192 = _T_191 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42050.8]
  assign _T_193 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42055.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42057.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42058.8]
  assign _T_197 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@42063.8]
  assign _T_198 = _T_197 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42064.8]
  assign _T_200 = _T_198 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42066.8]
  assign _T_201 = _T_200 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42067.8]
  assign _T_202 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@42072.8]
  assign _T_204 = _T_202 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42074.8]
  assign _T_205 = _T_204 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42075.8]
  assign _T_206 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42081.6]
  assign _T_313 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42213.8]
  assign _T_315 = _T_313 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42215.8]
  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42216.8]
  assign _T_326 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42239.6]
  assign _T_328 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42242.8]
  assign _T_336 = _T_328 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@42250.8]
  assign _T_338 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42252.8]
  assign _T_406 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42320.8]
  assign _T_407 = _T_406 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42321.8]
  assign _T_408 = _T_407 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42322.8]
  assign _T_409 = _T_408 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42323.8]
  assign _T_410 = _T_409 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42324.8]
  assign _T_411 = _T_410 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42325.8]
  assign _T_412 = _T_411 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42326.8]
  assign _T_413 = _T_412 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42327.8]
  assign _T_414 = _T_413 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42328.8]
  assign _T_415 = _T_414 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42329.8]
  assign _T_416 = _T_415 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42330.8]
  assign _T_417 = _T_416 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42331.8]
  assign _T_418 = _T_338 & _T_417; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@42332.8]
  assign _T_420 = _T_336 | _T_418; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@42334.8]
  assign _T_422 = _T_420 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42336.8]
  assign _T_423 = _T_422 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42337.8]
  assign _T_430 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42356.8]
  assign _T_432 = _T_430 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42358.8]
  assign _T_433 = _T_432 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42359.8]
  assign _T_434 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@42364.8]
  assign _T_436 = _T_434 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42366.8]
  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42367.8]
  assign _T_442 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42381.6]
  assign _T_515 = _T_408 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42455.8]
  assign _T_516 = _T_515 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42456.8]
  assign _T_517 = _T_516 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42457.8]
  assign _T_518 = _T_517 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42458.8]
  assign _T_519 = _T_518 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42459.8]
  assign _T_520 = _T_519 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42460.8]
  assign _T_521 = _T_520 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42461.8]
  assign _T_522 = _T_338 & _T_521; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@42462.8]
  assign _T_537 = _T_336 | _T_522; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@42477.8]
  assign _T_540 = _T_537 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42480.8]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42481.8]
  assign _T_556 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42517.6]
  assign _T_666 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@42644.8]
  assign _T_667 = io_in_a_bits_mask & _T_666; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@42645.8]
  assign _T_668 = _T_667 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@42646.8]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42648.8]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42649.8]
  assign _T_672 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42655.6]
  assign _T_674 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42658.8]
  assign _T_741 = _T_165 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42725.8]
  assign _T_742 = _T_741 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42726.8]
  assign _T_743 = _T_742 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42727.8]
  assign _T_744 = _T_743 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42728.8]
  assign _T_745 = _T_744 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42729.8]
  assign _T_746 = _T_745 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42730.8]
  assign _T_747 = _T_746 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@42731.8]
  assign _T_748 = _T_674 & _T_747; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@42732.8]
  assign _T_765 = _T_748 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42749.8]
  assign _T_766 = _T_765 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42750.8]
  assign _T_773 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@42769.8]
  assign _T_775 = _T_773 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42771.8]
  assign _T_776 = _T_775 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42772.8]
  assign _T_781 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42786.6]
  assign _T_882 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@42900.8]
  assign _T_884 = _T_882 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42902.8]
  assign _T_885 = _T_884 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42903.8]
  assign _T_890 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@42917.6]
  assign _T_983 = _T_336 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43011.8]
  assign _T_984 = _T_983 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43012.8]
  assign _T_999 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@43050.6]
  assign _T_1001 = _T_999 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43052.6]
  assign _T_1002 = _T_1001 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43053.6]
  assign _T_1004 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@43059.6]
  assign _T_1013 = io_in_d_bits_source | _T_1004; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@43064.6]
  assign _T_1015 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43066.6]
  assign _T_1017 = _T_1013 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43069.8]
  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43070.8]
  assign _T_1019 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43075.8]
  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43077.8]
  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43078.8]
  assign _T_1023 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43083.8]
  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43085.8]
  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43086.8]
  assign _T_1027 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@43091.8]
  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43093.8]
  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43094.8]
  assign _T_1031 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@43099.8]
  assign _T_1033 = _T_1031 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43101.8]
  assign _T_1034 = _T_1033 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43102.8]
  assign _T_1035 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43108.6]
  assign _T_1046 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@43132.8]
  assign _T_1048 = _T_1046 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43134.8]
  assign _T_1049 = _T_1048 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43135.8]
  assign _T_1050 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43140.8]
  assign _T_1052 = _T_1050 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43142.8]
  assign _T_1053 = _T_1052 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43143.8]
  assign _T_1063 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43166.6]
  assign _T_1083 = _T_1031 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@43207.8]
  assign _T_1085 = _T_1083 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43209.8]
  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43210.8]
  assign _T_1092 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43225.6]
  assign _T_1109 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43260.6]
  assign _T_1127 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43296.6]
  assign _T_1156 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43356.4]
  assign _T_1161 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@43361.4]
  assign _T_1162 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@43362.4]
  assign _T_1163 = _T_1162 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43363.4]
  assign _T_1167 = _T_1166 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43366.4]
  assign _T_1168 = $unsigned(_T_1167); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43367.4]
  assign _T_1169 = _T_1168[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43368.4]
  assign _T_1170 = _T_1166 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43369.4]
  assign _T_1188 = _T_1170 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43385.4]
  assign _T_1189 = io_in_a_valid & _T_1188; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43386.4]
  assign _T_1190 = io_in_a_bits_opcode == _T_1179; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43388.6]
  assign _T_1192 = _T_1190 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43390.6]
  assign _T_1193 = _T_1192 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43391.6]
  assign _T_1194 = io_in_a_bits_param == _T_1181; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43396.6]
  assign _T_1196 = _T_1194 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43398.6]
  assign _T_1197 = _T_1196 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43399.6]
  assign _T_1198 = io_in_a_bits_size == _T_1183; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43404.6]
  assign _T_1200 = _T_1198 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43406.6]
  assign _T_1201 = _T_1200 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43407.6]
  assign _T_1202 = io_in_a_bits_source == _T_1185; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43412.6]
  assign _T_1204 = _T_1202 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43414.6]
  assign _T_1205 = _T_1204 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43415.6]
  assign _T_1206 = io_in_a_bits_address == _T_1187; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43420.6]
  assign _T_1208 = _T_1206 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43422.6]
  assign _T_1209 = _T_1208 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43423.6]
  assign _T_1211 = _T_1156 & _T_1170; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@43430.4]
  assign _T_1212 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43438.4]
  assign _T_1214 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@43440.4]
  assign _T_1215 = _T_1214[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@43441.4]
  assign _T_1216 = ~ _T_1215; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@43442.4]
  assign _T_1217 = _T_1216[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@43443.4]
  assign _T_1218 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@43444.4]
  assign _T_1222 = _T_1221 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43447.4]
  assign _T_1223 = $unsigned(_T_1222); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43448.4]
  assign _T_1224 = _T_1223[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43449.4]
  assign _T_1225 = _T_1221 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43450.4]
  assign _T_1245 = _T_1225 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@43467.4]
  assign _T_1246 = io_in_d_valid & _T_1245; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43468.4]
  assign _T_1247 = io_in_d_bits_opcode == _T_1234; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43470.6]
  assign _T_1249 = _T_1247 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43472.6]
  assign _T_1250 = _T_1249 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43473.6]
  assign _T_1251 = io_in_d_bits_param == _T_1236; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43478.6]
  assign _T_1253 = _T_1251 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43480.6]
  assign _T_1254 = _T_1253 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43481.6]
  assign _T_1255 = io_in_d_bits_size == _T_1238; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43486.6]
  assign _T_1257 = _T_1255 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43488.6]
  assign _T_1258 = _T_1257 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43489.6]
  assign _T_1259 = io_in_d_bits_source == _T_1240; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43494.6]
  assign _T_1261 = _T_1259 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43496.6]
  assign _T_1262 = _T_1261 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43497.6]
  assign _T_1263 = io_in_d_bits_sink == _T_1242; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43502.6]
  assign _T_1265 = _T_1263 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43504.6]
  assign _T_1266 = _T_1265 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43505.6]
  assign _T_1267 = io_in_d_bits_denied == _T_1244; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43510.6]
  assign _T_1269 = _T_1267 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43512.6]
  assign _T_1270 = _T_1269 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43513.6]
  assign _T_1272 = _T_1212 & _T_1225; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@43520.4]
  assign _T_1286 = _T_1285 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43540.4]
  assign _T_1287 = $unsigned(_T_1286); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43541.4]
  assign _T_1288 = _T_1287[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43542.4]
  assign _T_1289 = _T_1285 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43543.4]
  assign _T_1307 = _T_1306 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43563.4]
  assign _T_1308 = $unsigned(_T_1307); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43564.4]
  assign _T_1309 = _T_1308[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43565.4]
  assign _T_1310 = _T_1306 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43566.4]
  assign _T_1321 = _T_1156 & _T_1289; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43581.4]
  assign _T_1323 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@43584.6]
  assign _T_1324 = _T_1274 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@43586.6]
  assign _T_1325 = _T_1324[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@43587.6]
  assign _T_1326 = _T_1325 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43588.6]
  assign _T_1328 = _T_1326 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43590.6]
  assign _T_1329 = _T_1328 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43591.6]
  assign _GEN_15 = _T_1321 ? _T_1323 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@43583.4]
  assign _T_1334 = _T_1212 & _T_1310; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43602.4]
  assign _T_1336 = _T_1015 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@43604.4]
  assign _T_1337 = _T_1334 & _T_1336; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@43605.4]
  assign _T_1338 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@43607.6]
  assign _T_1339 = _GEN_15 | _T_1274; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@43609.6]
  assign _T_1340 = _T_1339 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@43610.6]
  assign _T_1341 = _T_1340[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@43611.6]
  assign _T_1343 = _T_1341 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43613.6]
  assign _T_1344 = _T_1343 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43614.6]
  assign _GEN_16 = _T_1337 ? _T_1338 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@43606.4]
  assign _T_1345 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@43620.4]
  assign _T_1346 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@43621.4]
  assign _T_1347 = _T_1346 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@43622.4]
  assign _T_1348 = _T_1345 | _T_1347; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@43623.4]
  assign _T_1350 = _T_1348 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43625.4]
  assign _T_1351 = _T_1350 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43626.4]
  assign _T_1352 = _T_1274 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43631.4]
  assign _T_1353 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43632.4]
  assign _T_1354 = _T_1352 & _T_1353; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@43633.4]
  assign _T_1357 = _T_1274 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@43638.4]
  assign _T_1358 = _T_1357 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43639.4]
  assign _T_1359 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@43640.4]
  assign _T_1360 = _T_1358 | _T_1359; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43641.4]
  assign _T_1361 = _T_1356 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@43642.4]
  assign _T_1362 = _T_1360 | _T_1361; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@43643.4]
  assign _T_1364 = _T_1362 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43645.4]
  assign _T_1365 = _T_1364 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43646.4]
  assign _T_1367 = _T_1356 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@43652.4]
  assign _T_1370 = _T_1156 | _T_1212; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43656.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42023.10]
  assign _GEN_35 = io_in_a_valid & _T_206; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42173.10]
  assign _GEN_53 = io_in_a_valid & _T_326; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42339.10]
  assign _GEN_65 = io_in_a_valid & _T_442; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42483.10]
  assign _GEN_75 = io_in_a_valid & _T_556; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42619.10]
  assign _GEN_85 = io_in_a_valid & _T_672; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42752.10]
  assign _GEN_95 = io_in_a_valid & _T_781; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42883.10]
  assign _GEN_105 = io_in_a_valid & _T_890; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43014.10]
  assign _GEN_115 = io_in_d_valid & _T_1015; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43072.10]
  assign _GEN_125 = io_in_d_valid & _T_1035; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43114.10]
  assign _GEN_137 = io_in_d_valid & _T_1063; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43172.10]
  assign _GEN_149 = io_in_d_valid & _T_1092; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43231.10]
  assign _GEN_155 = io_in_d_valid & _T_1109; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43266.10]
  assign _GEN_161 = io_in_d_valid & _T_1127; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43302.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_1166 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1179 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1181 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1183 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1185 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1187 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1221 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1234 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1236 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1238 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1240 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1242 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1244 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1274 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1285 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1306 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1356 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1166 <= 10'h0;
    end else begin
      if (_T_1156) begin
        if (_T_1170) begin
          if (_T_1163) begin
            _T_1166 <= _T_1161;
          end else begin
            _T_1166 <= 10'h0;
          end
        end else begin
          _T_1166 <= _T_1169;
        end
      end
    end
    if (_T_1211) begin
      _T_1179 <= io_in_a_bits_opcode;
    end
    if (_T_1211) begin
      _T_1181 <= io_in_a_bits_param;
    end
    if (_T_1211) begin
      _T_1183 <= io_in_a_bits_size;
    end
    if (_T_1211) begin
      _T_1185 <= io_in_a_bits_source;
    end
    if (_T_1211) begin
      _T_1187 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1221 <= 10'h0;
    end else begin
      if (_T_1212) begin
        if (_T_1225) begin
          if (_T_1218) begin
            _T_1221 <= _T_1217;
          end else begin
            _T_1221 <= 10'h0;
          end
        end else begin
          _T_1221 <= _T_1224;
        end
      end
    end
    if (_T_1272) begin
      _T_1234 <= io_in_d_bits_opcode;
    end
    if (_T_1272) begin
      _T_1236 <= io_in_d_bits_param;
    end
    if (_T_1272) begin
      _T_1238 <= io_in_d_bits_size;
    end
    if (_T_1272) begin
      _T_1240 <= io_in_d_bits_source;
    end
    if (_T_1272) begin
      _T_1242 <= io_in_d_bits_sink;
    end
    if (_T_1272) begin
      _T_1244 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1274 <= 2'h0;
    end else begin
      _T_1274 <= _T_1354;
    end
    if (reset) begin
      _T_1285 <= 10'h0;
    end else begin
      if (_T_1156) begin
        if (_T_1289) begin
          if (_T_1163) begin
            _T_1285 <= _T_1161;
          end else begin
            _T_1285 <= 10'h0;
          end
        end else begin
          _T_1285 <= _T_1288;
        end
      end
    end
    if (reset) begin
      _T_1306 <= 10'h0;
    end else begin
      if (_T_1212) begin
        if (_T_1310) begin
          if (_T_1218) begin
            _T_1306 <= _T_1217;
          end else begin
            _T_1306 <= 10'h0;
          end
        end else begin
          _T_1306 <= _T_1309;
        end
      end
    end
    if (reset) begin
      _T_1356 <= 32'h0;
    end else begin
      if (_T_1370) begin
        _T_1356 <= 32'h0;
      end else begin
        _T_1356 <= _T_1367;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at SystemBus.scala:68:49)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41858.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41859.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41928.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@41929.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at SystemBus.scala:68:49)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42023.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42024.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SystemBus.scala:68:49)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42030.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42031.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42037.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_185) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42038.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SystemBus.scala:68:49)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42045.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42046.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SystemBus.scala:68:49)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42052.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_192) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42053.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42060.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_196) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42061.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SystemBus.scala:68:49)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42069.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_201) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42070.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SystemBus.scala:68:49)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42077.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_205) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42078.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at SystemBus.scala:68:49)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42173.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42174.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SystemBus.scala:68:49)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42180.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42181.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42187.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_185) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42188.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SystemBus.scala:68:49)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42195.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_189) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42196.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SystemBus.scala:68:49)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42202.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_192) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42203.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42210.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_196) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42211.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_316) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SystemBus.scala:68:49)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42218.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_316) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42219.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SystemBus.scala:68:49)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42227.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_201) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42228.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SystemBus.scala:68:49)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42235.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_205) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42236.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_423) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at SystemBus.scala:68:49)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42339.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_423) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42340.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42346.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_185) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42347.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at SystemBus.scala:68:49)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42353.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_192) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42354.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42361.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_433) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42362.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at SystemBus.scala:68:49)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42369.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_437) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42370.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at SystemBus.scala:68:49)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42377.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_205) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42378.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SystemBus.scala:68:49)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42483.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_541) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42484.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42490.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_185) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42491.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at SystemBus.scala:68:49)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42497.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_192) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42498.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42505.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_433) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42506.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at SystemBus.scala:68:49)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42513.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_437) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42514.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at SystemBus.scala:68:49)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42619.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_541) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42620.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42626.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_185) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42627.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SystemBus.scala:68:49)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42633.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_192) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42634.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42641.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_433) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42642.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SystemBus.scala:68:49)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42651.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_671) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42652.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_766) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at SystemBus.scala:68:49)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42752.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_766) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42753.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42759.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_185) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42760.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SystemBus.scala:68:49)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42766.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_192) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42767.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_776) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42774.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_776) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42775.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SystemBus.scala:68:49)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42782.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_437) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42783.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_766) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at SystemBus.scala:68:49)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42883.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_766) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42884.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42890.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_185) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42891.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at SystemBus.scala:68:49)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42897.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_192) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42898.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_885) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42905.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_885) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42906.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at SystemBus.scala:68:49)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42913.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_437) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@42914.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_984) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at SystemBus.scala:68:49)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43014.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_984) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43015.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43021.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_185) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43022.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at SystemBus.scala:68:49)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43028.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_192) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43029.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at SystemBus.scala:68:49)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43036.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_437) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43037.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at SystemBus.scala:68:49)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43044.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_205) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43045.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_1002) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SystemBus.scala:68:49)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43055.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_1002) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43056.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43072.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1018) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43073.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SystemBus.scala:68:49)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43080.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1022) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43081.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43088.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1026) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43089.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SystemBus.scala:68:49)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43096.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1030) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43097.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1034) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at SystemBus.scala:68:49)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43104.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1034) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43105.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43114.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1018) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43115.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43121.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_179) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43122.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at SystemBus.scala:68:49)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43129.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1022) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43130.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1049) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43137.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1049) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43138.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1053) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43145.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1053) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43146.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at SystemBus.scala:68:49)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43153.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1030) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43154.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at SystemBus.scala:68:49)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43162.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43163.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43172.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1018) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43173.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43179.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_179) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43180.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SystemBus.scala:68:49)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43187.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1022) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43188.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1049) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43195.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1049) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43196.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1053) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43203.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1053) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43204.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1086) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SystemBus.scala:68:49)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43212.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1086) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43213.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at SystemBus.scala:68:49)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43221.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43222.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43231.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1018) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43232.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43239.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1026) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43240.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at SystemBus.scala:68:49)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43247.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1030) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43248.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at SystemBus.scala:68:49)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43256.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43257.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43266.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1018) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43267.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43274.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1026) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43275.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1086) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SystemBus.scala:68:49)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43283.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1086) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43284.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at SystemBus.scala:68:49)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43292.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43293.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43302.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1018) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43303.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at SystemBus.scala:68:49)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43310.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1026) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43311.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at SystemBus.scala:68:49)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43318.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1030) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43319.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at SystemBus.scala:68:49)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43327.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43328.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at SystemBus.scala:68:49)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43337.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43338.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at SystemBus.scala:68:49)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43345.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43346.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at SystemBus.scala:68:49)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43353.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43354.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1193) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SystemBus.scala:68:49)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43393.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1193) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43394.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1197) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SystemBus.scala:68:49)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43401.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1197) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43402.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SystemBus.scala:68:49)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43409.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1201) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43410.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SystemBus.scala:68:49)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43417.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1205) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43418.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1209) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SystemBus.scala:68:49)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43425.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1209) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43426.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1250) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SystemBus.scala:68:49)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43475.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1250) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43476.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1254) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at SystemBus.scala:68:49)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43483.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1254) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43484.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1258) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SystemBus.scala:68:49)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43491.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1258) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43492.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1262) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SystemBus.scala:68:49)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43499.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1262) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43500.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1266) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at SystemBus.scala:68:49)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43507.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1266) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43508.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1270) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at SystemBus.scala:68:49)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43515.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1270) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43516.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1321 & _T_1329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SystemBus.scala:68:49)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43593.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1321 & _T_1329) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43594.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1337 & _T_1344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SystemBus.scala:68:49)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43616.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1337 & _T_1344) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43617.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1351) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at SystemBus.scala:68:49)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43628.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1351) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@43629.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1365) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SystemBus.scala:68:49)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43648.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1365) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43649.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_9( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43661.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43662.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43663.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43664.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
  TLMonitor_24 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43671.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43711.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43711.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43711.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43711.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43711.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43711.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43711.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43711.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43711.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43711.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43710.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43710.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43710.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43710.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43710.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43710.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43710.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43710.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43710.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43710.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43673.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43674.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@43707.4]
endmodule
module TLMonitor_25( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43728.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43729.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43730.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@43731.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@45521.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@43747.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@43752.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@43754.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@43755.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@43756.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@43757.6]
  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@43757.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@43758.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43760.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43761.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@43763.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@43764.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@43765.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@43766.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@43767.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43769.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43770.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43772.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43773.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@43774.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@43775.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@43776.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43777.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43778.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43779.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43780.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43781.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43782.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43783.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43784.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43785.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43786.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43787.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43788.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@43789.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@43790.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@43791.6]
  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43795.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43816.6]
  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43819.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43820.8]
  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43821.8]
  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43822.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43823.8]
  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43824.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43825.8]
  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43826.8]
  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43827.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43828.8]
  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43829.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43830.8]
  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43831.8]
  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43832.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43833.8]
  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43834.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43835.8]
  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43836.8]
  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43837.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43838.8]
  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43839.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43840.8]
  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43841.8]
  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43842.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43843.8]
  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43844.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43845.8]
  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43846.8]
  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43847.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43848.8]
  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43849.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43850.8]
  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43851.8]
  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43852.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43853.8]
  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43854.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43855.8]
  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43856.8]
  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43857.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43858.8]
  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43859.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43860.8]
  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43861.8]
  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43862.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43863.8]
  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43864.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43865.8]
  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43866.8]
  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43867.8]
  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43868.8]
  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43871.8]
  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43872.8]
  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43873.8]
  wire [31:0] _T_147; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43874.8]
  wire [32:0] _T_148; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43875.8]
  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43876.8]
  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43877.8]
  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43878.8]
  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43879.8]
  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43880.8]
  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43881.8]
  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43882.8]
  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43883.8]
  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43884.8]
  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43885.8]
  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43886.8]
  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43887.8]
  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43888.8]
  wire  _T_162; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43889.8]
  wire  _T_163; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43890.8]
  wire  _T_164; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43891.8]
  wire  _T_165; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43892.8]
  wire  _T_179; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43906.8]
  wire  _T_184; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43919.8]
  wire  _T_185; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43920.8]
  wire  _T_188; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43927.8]
  wire  _T_189; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43928.8]
  wire  _T_191; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43934.8]
  wire  _T_192; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43935.8]
  wire  _T_193; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43940.8]
  wire  _T_195; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43942.8]
  wire  _T_196; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43943.8]
  wire [3:0] _T_197; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@43948.8]
  wire  _T_198; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43949.8]
  wire  _T_200; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43951.8]
  wire  _T_201; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43952.8]
  wire  _T_202; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@43957.8]
  wire  _T_204; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43959.8]
  wire  _T_205; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43960.8]
  wire  _T_206; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43966.6]
  wire  _T_313; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44098.8]
  wire  _T_315; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44100.8]
  wire  _T_316; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44101.8]
  wire  _T_326; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44124.6]
  wire  _T_328; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44127.8]
  wire  _T_336; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@44135.8]
  wire  _T_338; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44137.8]
  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44205.8]
  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44206.8]
  wire  _T_408; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44207.8]
  wire  _T_409; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44208.8]
  wire  _T_410; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44209.8]
  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44210.8]
  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44211.8]
  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44212.8]
  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44213.8]
  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44214.8]
  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44215.8]
  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44216.8]
  wire  _T_418; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@44217.8]
  wire  _T_420; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@44219.8]
  wire  _T_422; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44221.8]
  wire  _T_423; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44222.8]
  wire  _T_430; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44241.8]
  wire  _T_432; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44243.8]
  wire  _T_433; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44244.8]
  wire  _T_434; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44249.8]
  wire  _T_436; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44251.8]
  wire  _T_437; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44252.8]
  wire  _T_442; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44266.6]
  wire  _T_515; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44340.8]
  wire  _T_516; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44341.8]
  wire  _T_517; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44342.8]
  wire  _T_518; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44343.8]
  wire  _T_519; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44344.8]
  wire  _T_520; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44345.8]
  wire  _T_521; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44346.8]
  wire  _T_522; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@44347.8]
  wire  _T_537; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@44362.8]
  wire  _T_540; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44365.8]
  wire  _T_541; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44366.8]
  wire  _T_556; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44402.6]
  wire [3:0] _T_666; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@44529.8]
  wire [3:0] _T_667; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44530.8]
  wire  _T_668; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@44531.8]
  wire  _T_670; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44533.8]
  wire  _T_671; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44534.8]
  wire  _T_672; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44540.6]
  wire  _T_674; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44543.8]
  wire  _T_741; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44610.8]
  wire  _T_742; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44611.8]
  wire  _T_743; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44612.8]
  wire  _T_744; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44613.8]
  wire  _T_745; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44614.8]
  wire  _T_746; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44615.8]
  wire  _T_747; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44616.8]
  wire  _T_748; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@44617.8]
  wire  _T_765; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44634.8]
  wire  _T_766; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44635.8]
  wire  _T_773; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@44654.8]
  wire  _T_775; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44656.8]
  wire  _T_776; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44657.8]
  wire  _T_781; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44671.6]
  wire  _T_882; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@44785.8]
  wire  _T_884; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44787.8]
  wire  _T_885; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44788.8]
  wire  _T_890; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44802.6]
  wire  _T_983; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44896.8]
  wire  _T_984; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44897.8]
  wire  _T_999; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@44935.6]
  wire  _T_1001; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@44937.6]
  wire  _T_1002; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@44938.6]
  wire  _T_1004; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@44944.6]
  wire  _T_1013; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@44949.6]
  wire  _T_1015; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44951.6]
  wire  _T_1017; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44954.8]
  wire  _T_1018; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44955.8]
  wire  _T_1019; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44960.8]
  wire  _T_1021; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44962.8]
  wire  _T_1022; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44963.8]
  wire  _T_1023; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44968.8]
  wire  _T_1025; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44970.8]
  wire  _T_1026; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44971.8]
  wire  _T_1027; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@44976.8]
  wire  _T_1029; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44978.8]
  wire  _T_1030; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44979.8]
  wire  _T_1031; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@44984.8]
  wire  _T_1033; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44986.8]
  wire  _T_1034; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44987.8]
  wire  _T_1035; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44993.6]
  wire  _T_1046; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@45017.8]
  wire  _T_1048; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45019.8]
  wire  _T_1049; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45020.8]
  wire  _T_1050; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45025.8]
  wire  _T_1052; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45027.8]
  wire  _T_1053; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45028.8]
  wire  _T_1063; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45051.6]
  wire  _T_1083; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@45092.8]
  wire  _T_1085; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45094.8]
  wire  _T_1086; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45095.8]
  wire  _T_1092; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45110.6]
  wire  _T_1109; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45145.6]
  wire  _T_1127; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45181.6]
  wire  _T_1156; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45241.4]
  wire [9:0] _T_1161; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@45246.4]
  wire  _T_1162; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@45247.4]
  wire  _T_1163; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45248.4]
  reg [9:0] _T_1166; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45250.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1167; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45251.4]
  wire [10:0] _T_1168; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45252.4]
  wire [9:0] _T_1169; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45253.4]
  wire  _T_1170; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45254.4]
  reg [2:0] _T_1179; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45265.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1181; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45266.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1183; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45267.4]
  reg [31:0] _RAND_3;
  reg  _T_1185; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45268.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_1187; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45269.4]
  reg [31:0] _RAND_5;
  wire  _T_1188; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45270.4]
  wire  _T_1189; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45271.4]
  wire  _T_1190; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45273.6]
  wire  _T_1192; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45275.6]
  wire  _T_1193; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45276.6]
  wire  _T_1194; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45281.6]
  wire  _T_1196; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45283.6]
  wire  _T_1197; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45284.6]
  wire  _T_1198; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45289.6]
  wire  _T_1200; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45291.6]
  wire  _T_1201; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45292.6]
  wire  _T_1202; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45297.6]
  wire  _T_1204; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45299.6]
  wire  _T_1205; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45300.6]
  wire  _T_1206; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45305.6]
  wire  _T_1208; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45307.6]
  wire  _T_1209; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45308.6]
  wire  _T_1211; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@45315.4]
  wire  _T_1212; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45323.4]
  wire [26:0] _T_1214; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@45325.4]
  wire [11:0] _T_1215; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@45326.4]
  wire [11:0] _T_1216; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@45327.4]
  wire [9:0] _T_1217; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@45328.4]
  wire  _T_1218; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@45329.4]
  reg [9:0] _T_1221; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45331.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_1222; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45332.4]
  wire [10:0] _T_1223; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45333.4]
  wire [9:0] _T_1224; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45334.4]
  wire  _T_1225; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45335.4]
  reg [2:0] _T_1234; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45346.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_1236; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45347.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_1238; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45348.4]
  reg [31:0] _RAND_9;
  reg  _T_1240; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45349.4]
  reg [31:0] _RAND_10;
  reg  _T_1242; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45350.4]
  reg [31:0] _RAND_11;
  reg  _T_1244; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45351.4]
  reg [31:0] _RAND_12;
  wire  _T_1245; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45352.4]
  wire  _T_1246; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45353.4]
  wire  _T_1247; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45355.6]
  wire  _T_1249; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45357.6]
  wire  _T_1250; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45358.6]
  wire  _T_1251; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45363.6]
  wire  _T_1253; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45365.6]
  wire  _T_1254; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45366.6]
  wire  _T_1255; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45371.6]
  wire  _T_1257; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45373.6]
  wire  _T_1258; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45374.6]
  wire  _T_1259; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45379.6]
  wire  _T_1261; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45381.6]
  wire  _T_1262; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45382.6]
  wire  _T_1263; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45387.6]
  wire  _T_1265; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45389.6]
  wire  _T_1266; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45390.6]
  wire  _T_1267; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45395.6]
  wire  _T_1269; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45397.6]
  wire  _T_1270; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45398.6]
  wire  _T_1272; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@45405.4]
  reg [1:0] _T_1274; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45414.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1285; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45424.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1286; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45425.4]
  wire [10:0] _T_1287; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45426.4]
  wire [9:0] _T_1288; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45427.4]
  wire  _T_1289; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45428.4]
  reg [9:0] _T_1306; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45447.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1307; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45448.4]
  wire [10:0] _T_1308; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45449.4]
  wire [9:0] _T_1309; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45450.4]
  wire  _T_1310; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45451.4]
  wire  _T_1321; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45466.4]
  wire [1:0] _T_1323; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@45469.6]
  wire [1:0] _T_1324; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@45471.6]
  wire  _T_1325; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@45472.6]
  wire  _T_1326; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45473.6]
  wire  _T_1328; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45475.6]
  wire  _T_1329; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45476.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@45468.4]
  wire  _T_1334; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45487.4]
  wire  _T_1336; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@45489.4]
  wire  _T_1337; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@45490.4]
  wire [1:0] _T_1338; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@45492.6]
  wire [1:0] _T_1339; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@45494.6]
  wire [1:0] _T_1340; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45495.6]
  wire  _T_1341; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45496.6]
  wire  _T_1343; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45498.6]
  wire  _T_1344; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45499.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@45491.4]
  wire  _T_1345; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@45505.4]
  wire  _T_1346; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@45506.4]
  wire  _T_1347; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@45507.4]
  wire  _T_1348; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@45508.4]
  wire  _T_1350; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45510.4]
  wire  _T_1351; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45511.4]
  wire [1:0] _T_1352; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45516.4]
  wire [1:0] _T_1353; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45517.4]
  wire [1:0] _T_1354; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@45518.4]
  reg [31:0] _T_1356; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45520.4]
  reg [31:0] _RAND_16;
  wire  _T_1357; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@45523.4]
  wire  _T_1358; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45524.4]
  wire  _T_1359; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@45525.4]
  wire  _T_1360; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45526.4]
  wire  _T_1361; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@45527.4]
  wire  _T_1362; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@45528.4]
  wire  _T_1364; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45530.4]
  wire  _T_1365; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45531.4]
  wire [31:0] _T_1367; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@45537.4]
  wire  _T_1370; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45541.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43908.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44058.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44224.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44368.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44504.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44637.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44768.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44899.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44957.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44999.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45057.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45116.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45151.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45187.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@45521.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@43747.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@43752.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@43754.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@43755.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@43756.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@43757.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@43757.6]
  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@43758.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43760.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43761.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@43763.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@43764.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@43765.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@43766.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@43767.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43769.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43770.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43772.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43773.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@43774.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@43775.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@43776.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43777.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43778.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43779.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43780.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43781.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43782.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43783.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43784.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43785.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43786.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@43787.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@43788.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@43789.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@43790.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@43791.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43795.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43816.6]
  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43819.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43820.8]
  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43821.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43822.8]
  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43823.8]
  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43824.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43825.8]
  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43826.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43827.8]
  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43828.8]
  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43829.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43830.8]
  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43831.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43832.8]
  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43833.8]
  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43834.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43835.8]
  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43836.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43837.8]
  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43838.8]
  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43839.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43840.8]
  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43841.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43842.8]
  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43843.8]
  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43844.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43845.8]
  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43846.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43847.8]
  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43848.8]
  assign _T_122 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43849.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43850.8]
  assign _T_124 = $signed(_T_123) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43851.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43852.8]
  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43853.8]
  assign _T_127 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43854.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43855.8]
  assign _T_129 = $signed(_T_128) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43856.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43857.8]
  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43858.8]
  assign _T_132 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43859.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43860.8]
  assign _T_134 = $signed(_T_133) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43861.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43862.8]
  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43863.8]
  assign _T_137 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43864.8]
  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43865.8]
  assign _T_139 = $signed(_T_138) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43866.8]
  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43867.8]
  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43868.8]
  assign _T_144 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43871.8]
  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43872.8]
  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43873.8]
  assign _T_147 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43874.8]
  assign _T_148 = {1'b0,$signed(_T_147)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43875.8]
  assign _T_149 = $signed(_T_148) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43876.8]
  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43877.8]
  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43878.8]
  assign _T_152 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43879.8]
  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43880.8]
  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43881.8]
  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43882.8]
  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43883.8]
  assign _T_157 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@43884.8]
  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@43885.8]
  assign _T_159 = $signed(_T_158) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43886.8]
  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@43887.8]
  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@43888.8]
  assign _T_162 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43889.8]
  assign _T_163 = _T_162 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43890.8]
  assign _T_164 = _T_163 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43891.8]
  assign _T_165 = _T_164 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@43892.8]
  assign _T_179 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43906.8]
  assign _T_184 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43919.8]
  assign _T_185 = _T_184 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43920.8]
  assign _T_188 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43927.8]
  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43928.8]
  assign _T_191 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43934.8]
  assign _T_192 = _T_191 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43935.8]
  assign _T_193 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@43940.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43942.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43943.8]
  assign _T_197 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@43948.8]
  assign _T_198 = _T_197 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@43949.8]
  assign _T_200 = _T_198 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43951.8]
  assign _T_201 = _T_200 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43952.8]
  assign _T_202 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@43957.8]
  assign _T_204 = _T_202 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43959.8]
  assign _T_205 = _T_204 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43960.8]
  assign _T_206 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@43966.6]
  assign _T_313 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44098.8]
  assign _T_315 = _T_313 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44100.8]
  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44101.8]
  assign _T_326 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44124.6]
  assign _T_328 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44127.8]
  assign _T_336 = _T_328 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@44135.8]
  assign _T_338 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44137.8]
  assign _T_406 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44205.8]
  assign _T_407 = _T_406 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44206.8]
  assign _T_408 = _T_407 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44207.8]
  assign _T_409 = _T_408 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44208.8]
  assign _T_410 = _T_409 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44209.8]
  assign _T_411 = _T_410 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44210.8]
  assign _T_412 = _T_411 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44211.8]
  assign _T_413 = _T_412 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44212.8]
  assign _T_414 = _T_413 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44213.8]
  assign _T_415 = _T_414 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44214.8]
  assign _T_416 = _T_415 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44215.8]
  assign _T_417 = _T_416 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44216.8]
  assign _T_418 = _T_338 & _T_417; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@44217.8]
  assign _T_420 = _T_336 | _T_418; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@44219.8]
  assign _T_422 = _T_420 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44221.8]
  assign _T_423 = _T_422 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44222.8]
  assign _T_430 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44241.8]
  assign _T_432 = _T_430 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44243.8]
  assign _T_433 = _T_432 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44244.8]
  assign _T_434 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44249.8]
  assign _T_436 = _T_434 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44251.8]
  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44252.8]
  assign _T_442 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44266.6]
  assign _T_515 = _T_408 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44340.8]
  assign _T_516 = _T_515 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44341.8]
  assign _T_517 = _T_516 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44342.8]
  assign _T_518 = _T_517 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44343.8]
  assign _T_519 = _T_518 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44344.8]
  assign _T_520 = _T_519 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44345.8]
  assign _T_521 = _T_520 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44346.8]
  assign _T_522 = _T_338 & _T_521; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@44347.8]
  assign _T_537 = _T_336 | _T_522; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@44362.8]
  assign _T_540 = _T_537 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44365.8]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44366.8]
  assign _T_556 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44402.6]
  assign _T_666 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@44529.8]
  assign _T_667 = io_in_a_bits_mask & _T_666; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44530.8]
  assign _T_668 = _T_667 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@44531.8]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44533.8]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44534.8]
  assign _T_672 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44540.6]
  assign _T_674 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44543.8]
  assign _T_741 = _T_165 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44610.8]
  assign _T_742 = _T_741 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44611.8]
  assign _T_743 = _T_742 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44612.8]
  assign _T_744 = _T_743 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44613.8]
  assign _T_745 = _T_744 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44614.8]
  assign _T_746 = _T_745 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44615.8]
  assign _T_747 = _T_746 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@44616.8]
  assign _T_748 = _T_674 & _T_747; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@44617.8]
  assign _T_765 = _T_748 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44634.8]
  assign _T_766 = _T_765 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44635.8]
  assign _T_773 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@44654.8]
  assign _T_775 = _T_773 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44656.8]
  assign _T_776 = _T_775 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44657.8]
  assign _T_781 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44671.6]
  assign _T_882 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@44785.8]
  assign _T_884 = _T_882 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44787.8]
  assign _T_885 = _T_884 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44788.8]
  assign _T_890 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44802.6]
  assign _T_983 = _T_336 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44896.8]
  assign _T_984 = _T_983 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44897.8]
  assign _T_999 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@44935.6]
  assign _T_1001 = _T_999 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@44937.6]
  assign _T_1002 = _T_1001 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@44938.6]
  assign _T_1004 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@44944.6]
  assign _T_1013 = io_in_d_bits_source | _T_1004; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@44949.6]
  assign _T_1015 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44951.6]
  assign _T_1017 = _T_1013 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44954.8]
  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44955.8]
  assign _T_1019 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@44960.8]
  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44962.8]
  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44963.8]
  assign _T_1023 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@44968.8]
  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44970.8]
  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44971.8]
  assign _T_1027 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@44976.8]
  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44978.8]
  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44979.8]
  assign _T_1031 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@44984.8]
  assign _T_1033 = _T_1031 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44986.8]
  assign _T_1034 = _T_1033 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44987.8]
  assign _T_1035 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@44993.6]
  assign _T_1046 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@45017.8]
  assign _T_1048 = _T_1046 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45019.8]
  assign _T_1049 = _T_1048 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45020.8]
  assign _T_1050 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45025.8]
  assign _T_1052 = _T_1050 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45027.8]
  assign _T_1053 = _T_1052 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45028.8]
  assign _T_1063 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45051.6]
  assign _T_1083 = _T_1031 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@45092.8]
  assign _T_1085 = _T_1083 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45094.8]
  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45095.8]
  assign _T_1092 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45110.6]
  assign _T_1109 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45145.6]
  assign _T_1127 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45181.6]
  assign _T_1156 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45241.4]
  assign _T_1161 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@45246.4]
  assign _T_1162 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@45247.4]
  assign _T_1163 = _T_1162 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45248.4]
  assign _T_1167 = _T_1166 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45251.4]
  assign _T_1168 = $unsigned(_T_1167); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45252.4]
  assign _T_1169 = _T_1168[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45253.4]
  assign _T_1170 = _T_1166 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45254.4]
  assign _T_1188 = _T_1170 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45270.4]
  assign _T_1189 = io_in_a_valid & _T_1188; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45271.4]
  assign _T_1190 = io_in_a_bits_opcode == _T_1179; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45273.6]
  assign _T_1192 = _T_1190 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45275.6]
  assign _T_1193 = _T_1192 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45276.6]
  assign _T_1194 = io_in_a_bits_param == _T_1181; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45281.6]
  assign _T_1196 = _T_1194 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45283.6]
  assign _T_1197 = _T_1196 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45284.6]
  assign _T_1198 = io_in_a_bits_size == _T_1183; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45289.6]
  assign _T_1200 = _T_1198 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45291.6]
  assign _T_1201 = _T_1200 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45292.6]
  assign _T_1202 = io_in_a_bits_source == _T_1185; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45297.6]
  assign _T_1204 = _T_1202 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45299.6]
  assign _T_1205 = _T_1204 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45300.6]
  assign _T_1206 = io_in_a_bits_address == _T_1187; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45305.6]
  assign _T_1208 = _T_1206 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45307.6]
  assign _T_1209 = _T_1208 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45308.6]
  assign _T_1211 = _T_1156 & _T_1170; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@45315.4]
  assign _T_1212 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45323.4]
  assign _T_1214 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@45325.4]
  assign _T_1215 = _T_1214[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@45326.4]
  assign _T_1216 = ~ _T_1215; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@45327.4]
  assign _T_1217 = _T_1216[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@45328.4]
  assign _T_1218 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@45329.4]
  assign _T_1222 = _T_1221 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45332.4]
  assign _T_1223 = $unsigned(_T_1222); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45333.4]
  assign _T_1224 = _T_1223[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45334.4]
  assign _T_1225 = _T_1221 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45335.4]
  assign _T_1245 = _T_1225 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@45352.4]
  assign _T_1246 = io_in_d_valid & _T_1245; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45353.4]
  assign _T_1247 = io_in_d_bits_opcode == _T_1234; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45355.6]
  assign _T_1249 = _T_1247 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45357.6]
  assign _T_1250 = _T_1249 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45358.6]
  assign _T_1251 = io_in_d_bits_param == _T_1236; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45363.6]
  assign _T_1253 = _T_1251 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45365.6]
  assign _T_1254 = _T_1253 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45366.6]
  assign _T_1255 = io_in_d_bits_size == _T_1238; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45371.6]
  assign _T_1257 = _T_1255 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45373.6]
  assign _T_1258 = _T_1257 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45374.6]
  assign _T_1259 = io_in_d_bits_source == _T_1240; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45379.6]
  assign _T_1261 = _T_1259 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45381.6]
  assign _T_1262 = _T_1261 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45382.6]
  assign _T_1263 = io_in_d_bits_sink == _T_1242; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45387.6]
  assign _T_1265 = _T_1263 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45389.6]
  assign _T_1266 = _T_1265 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45390.6]
  assign _T_1267 = io_in_d_bits_denied == _T_1244; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45395.6]
  assign _T_1269 = _T_1267 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45397.6]
  assign _T_1270 = _T_1269 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45398.6]
  assign _T_1272 = _T_1212 & _T_1225; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@45405.4]
  assign _T_1286 = _T_1285 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45425.4]
  assign _T_1287 = $unsigned(_T_1286); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45426.4]
  assign _T_1288 = _T_1287[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45427.4]
  assign _T_1289 = _T_1285 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45428.4]
  assign _T_1307 = _T_1306 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45448.4]
  assign _T_1308 = $unsigned(_T_1307); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45449.4]
  assign _T_1309 = _T_1308[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45450.4]
  assign _T_1310 = _T_1306 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45451.4]
  assign _T_1321 = _T_1156 & _T_1289; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45466.4]
  assign _T_1323 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@45469.6]
  assign _T_1324 = _T_1274 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@45471.6]
  assign _T_1325 = _T_1324[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@45472.6]
  assign _T_1326 = _T_1325 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45473.6]
  assign _T_1328 = _T_1326 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45475.6]
  assign _T_1329 = _T_1328 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45476.6]
  assign _GEN_15 = _T_1321 ? _T_1323 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@45468.4]
  assign _T_1334 = _T_1212 & _T_1310; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45487.4]
  assign _T_1336 = _T_1015 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@45489.4]
  assign _T_1337 = _T_1334 & _T_1336; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@45490.4]
  assign _T_1338 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@45492.6]
  assign _T_1339 = _GEN_15 | _T_1274; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@45494.6]
  assign _T_1340 = _T_1339 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45495.6]
  assign _T_1341 = _T_1340[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45496.6]
  assign _T_1343 = _T_1341 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45498.6]
  assign _T_1344 = _T_1343 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45499.6]
  assign _GEN_16 = _T_1337 ? _T_1338 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@45491.4]
  assign _T_1345 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@45505.4]
  assign _T_1346 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@45506.4]
  assign _T_1347 = _T_1346 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@45507.4]
  assign _T_1348 = _T_1345 | _T_1347; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@45508.4]
  assign _T_1350 = _T_1348 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45510.4]
  assign _T_1351 = _T_1350 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45511.4]
  assign _T_1352 = _T_1274 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45516.4]
  assign _T_1353 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45517.4]
  assign _T_1354 = _T_1352 & _T_1353; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@45518.4]
  assign _T_1357 = _T_1274 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@45523.4]
  assign _T_1358 = _T_1357 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45524.4]
  assign _T_1359 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@45525.4]
  assign _T_1360 = _T_1358 | _T_1359; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45526.4]
  assign _T_1361 = _T_1356 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@45527.4]
  assign _T_1362 = _T_1360 | _T_1361; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@45528.4]
  assign _T_1364 = _T_1362 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45530.4]
  assign _T_1365 = _T_1364 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45531.4]
  assign _T_1367 = _T_1356 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@45537.4]
  assign _T_1370 = _T_1156 | _T_1212; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45541.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43908.10]
  assign _GEN_35 = io_in_a_valid & _T_206; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44058.10]
  assign _GEN_53 = io_in_a_valid & _T_326; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44224.10]
  assign _GEN_65 = io_in_a_valid & _T_442; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44368.10]
  assign _GEN_75 = io_in_a_valid & _T_556; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44504.10]
  assign _GEN_85 = io_in_a_valid & _T_672; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44637.10]
  assign _GEN_95 = io_in_a_valid & _T_781; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44768.10]
  assign _GEN_105 = io_in_a_valid & _T_890; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44899.10]
  assign _GEN_115 = io_in_d_valid & _T_1015; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44957.10]
  assign _GEN_125 = io_in_d_valid & _T_1035; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44999.10]
  assign _GEN_137 = io_in_d_valid & _T_1063; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45057.10]
  assign _GEN_149 = io_in_d_valid & _T_1092; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45116.10]
  assign _GEN_155 = io_in_d_valid & _T_1109; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45151.10]
  assign _GEN_161 = io_in_d_valid & _T_1127; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45187.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_1166 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1179 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1181 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1183 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1185 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1187 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1221 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1234 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1236 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1238 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1240 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1242 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1244 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1274 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1285 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1306 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1356 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1166 <= 10'h0;
    end else begin
      if (_T_1156) begin
        if (_T_1170) begin
          if (_T_1163) begin
            _T_1166 <= _T_1161;
          end else begin
            _T_1166 <= 10'h0;
          end
        end else begin
          _T_1166 <= _T_1169;
        end
      end
    end
    if (_T_1211) begin
      _T_1179 <= io_in_a_bits_opcode;
    end
    if (_T_1211) begin
      _T_1181 <= io_in_a_bits_param;
    end
    if (_T_1211) begin
      _T_1183 <= io_in_a_bits_size;
    end
    if (_T_1211) begin
      _T_1185 <= io_in_a_bits_source;
    end
    if (_T_1211) begin
      _T_1187 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1221 <= 10'h0;
    end else begin
      if (_T_1212) begin
        if (_T_1225) begin
          if (_T_1218) begin
            _T_1221 <= _T_1217;
          end else begin
            _T_1221 <= 10'h0;
          end
        end else begin
          _T_1221 <= _T_1224;
        end
      end
    end
    if (_T_1272) begin
      _T_1234 <= io_in_d_bits_opcode;
    end
    if (_T_1272) begin
      _T_1236 <= io_in_d_bits_param;
    end
    if (_T_1272) begin
      _T_1238 <= io_in_d_bits_size;
    end
    if (_T_1272) begin
      _T_1240 <= io_in_d_bits_source;
    end
    if (_T_1272) begin
      _T_1242 <= io_in_d_bits_sink;
    end
    if (_T_1272) begin
      _T_1244 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1274 <= 2'h0;
    end else begin
      _T_1274 <= _T_1354;
    end
    if (reset) begin
      _T_1285 <= 10'h0;
    end else begin
      if (_T_1156) begin
        if (_T_1289) begin
          if (_T_1163) begin
            _T_1285 <= _T_1161;
          end else begin
            _T_1285 <= 10'h0;
          end
        end else begin
          _T_1285 <= _T_1288;
        end
      end
    end
    if (reset) begin
      _T_1306 <= 10'h0;
    end else begin
      if (_T_1212) begin
        if (_T_1310) begin
          if (_T_1218) begin
            _T_1306 <= _T_1217;
          end else begin
            _T_1306 <= 10'h0;
          end
        end else begin
          _T_1306 <= _T_1309;
        end
      end
    end
    if (reset) begin
      _T_1356 <= 32'h0;
    end else begin
      if (_T_1370) begin
        _T_1356 <= 32'h0;
      end else begin
        _T_1356 <= _T_1367;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at SystemBus.scala:68:93)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43743.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43744.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43813.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@43814.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at SystemBus.scala:68:93)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43908.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43909.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SystemBus.scala:68:93)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43915.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43916.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43922.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_185) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43923.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SystemBus.scala:68:93)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43930.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43931.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SystemBus.scala:68:93)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43937.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_192) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43938.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43945.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_196) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43946.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SystemBus.scala:68:93)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43954.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_201) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43955.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SystemBus.scala:68:93)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43962.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_205) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@43963.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at SystemBus.scala:68:93)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44058.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44059.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SystemBus.scala:68:93)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44065.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44066.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44072.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_185) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44073.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SystemBus.scala:68:93)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44080.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_189) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44081.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SystemBus.scala:68:93)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44087.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_192) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44088.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44095.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_196) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44096.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_316) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SystemBus.scala:68:93)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44103.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_316) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44104.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SystemBus.scala:68:93)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44112.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_201) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44113.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SystemBus.scala:68:93)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44120.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_205) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44121.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_423) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at SystemBus.scala:68:93)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44224.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_423) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44225.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44231.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_185) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44232.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at SystemBus.scala:68:93)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44238.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_192) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44239.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44246.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_433) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44247.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at SystemBus.scala:68:93)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44254.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_437) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44255.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at SystemBus.scala:68:93)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44262.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_205) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44263.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SystemBus.scala:68:93)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44368.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_541) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44369.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44375.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_185) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44376.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at SystemBus.scala:68:93)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44382.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_192) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44383.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44390.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_433) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44391.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at SystemBus.scala:68:93)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44398.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_437) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44399.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at SystemBus.scala:68:93)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44504.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_541) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44505.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44511.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_185) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44512.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SystemBus.scala:68:93)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44518.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_192) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44519.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44526.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_433) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44527.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SystemBus.scala:68:93)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44536.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_671) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44537.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_766) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at SystemBus.scala:68:93)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44637.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_766) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44638.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44644.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_185) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44645.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SystemBus.scala:68:93)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44651.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_192) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44652.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_776) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44659.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_776) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44660.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SystemBus.scala:68:93)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44667.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_437) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44668.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_766) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at SystemBus.scala:68:93)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44768.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_766) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44769.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44775.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_185) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44776.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at SystemBus.scala:68:93)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44782.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_192) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44783.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_885) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44790.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_885) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44791.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at SystemBus.scala:68:93)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44798.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_437) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44799.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_984) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at SystemBus.scala:68:93)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44899.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_984) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44900.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44906.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_185) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44907.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at SystemBus.scala:68:93)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44913.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_192) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44914.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at SystemBus.scala:68:93)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44921.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_437) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44922.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at SystemBus.scala:68:93)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44929.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_205) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44930.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_1002) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SystemBus.scala:68:93)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@44940.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_1002) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@44941.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44957.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1018) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44958.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SystemBus.scala:68:93)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44965.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1022) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44966.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44973.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1026) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44974.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SystemBus.scala:68:93)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44981.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1030) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44982.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1034) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at SystemBus.scala:68:93)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44989.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1034) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44990.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@44999.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1018) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45000.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45006.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_179) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45007.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at SystemBus.scala:68:93)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45014.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1022) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45015.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1049) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45022.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1049) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45023.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1053) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45030.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1053) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45031.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at SystemBus.scala:68:93)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45038.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1030) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45039.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at SystemBus.scala:68:93)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45047.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45048.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45057.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1018) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45058.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45064.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_179) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45065.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SystemBus.scala:68:93)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45072.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1022) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45073.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1049) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45080.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1049) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45081.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1053) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45088.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1053) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45089.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1086) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SystemBus.scala:68:93)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45097.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1086) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45098.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at SystemBus.scala:68:93)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45106.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45107.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45116.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1018) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45117.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45124.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1026) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45125.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at SystemBus.scala:68:93)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45132.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1030) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45133.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at SystemBus.scala:68:93)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45141.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45142.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45151.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1018) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45152.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45159.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1026) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45160.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1086) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SystemBus.scala:68:93)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45168.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1086) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45169.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at SystemBus.scala:68:93)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45177.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45178.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45187.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1018) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45188.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at SystemBus.scala:68:93)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45195.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1026) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45196.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at SystemBus.scala:68:93)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45203.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1030) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45204.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at SystemBus.scala:68:93)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45212.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45213.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at SystemBus.scala:68:93)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45222.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45223.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at SystemBus.scala:68:93)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45230.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45231.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at SystemBus.scala:68:93)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45238.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45239.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1193) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SystemBus.scala:68:93)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45278.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1193) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45279.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1197) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SystemBus.scala:68:93)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45286.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1197) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45287.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SystemBus.scala:68:93)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45294.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1201) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45295.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SystemBus.scala:68:93)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45302.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1205) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45303.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1209) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SystemBus.scala:68:93)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45310.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1209) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45311.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1250) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SystemBus.scala:68:93)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45360.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1250) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45361.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1254) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at SystemBus.scala:68:93)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45368.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1254) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45369.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1258) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SystemBus.scala:68:93)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45376.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1258) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45377.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1262) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SystemBus.scala:68:93)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45384.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1262) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45385.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1266) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at SystemBus.scala:68:93)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45392.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1266) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45393.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1270) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at SystemBus.scala:68:93)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45400.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1270) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45401.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1321 & _T_1329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SystemBus.scala:68:93)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45478.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1321 & _T_1329) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45479.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1337 & _T_1344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SystemBus.scala:68:93)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45501.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1337 & _T_1344) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45502.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1351) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at SystemBus.scala:68:93)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45513.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1351) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@45514.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1365) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SystemBus.scala:68:93)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45533.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1365) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45534.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFIFOFixer_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45546.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45547.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45548.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45549.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
  TLMonitor_25 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45556.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45596.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45596.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45596.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45596.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45596.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45596.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45596.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45596.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45596.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45596.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45595.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45595.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45595.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45595.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45595.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45595.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45595.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45595.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45595.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45595.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45558.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45559.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@45592.4]
endmodule
module SimpleLazyModule_10( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45720.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45721.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45722.4]
  input         auto_buffer_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  output        auto_buffer_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  output [2:0]  auto_buffer_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  output [2:0]  auto_buffer_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  output [3:0]  auto_buffer_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  output        auto_buffer_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  output [31:0] auto_buffer_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  output [3:0]  auto_buffer_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  output [31:0] auto_buffer_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  output        auto_buffer_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  output        auto_buffer_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  input         auto_buffer_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  input  [2:0]  auto_buffer_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  input  [1:0]  auto_buffer_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  input  [3:0]  auto_buffer_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  input         auto_buffer_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  input         auto_buffer_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  input         auto_buffer_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  input  [31:0] auto_buffer_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  input         auto_buffer_out_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  output        auto_tl_master_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  input         auto_tl_master_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  input  [2:0]  auto_tl_master_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  input  [2:0]  auto_tl_master_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  input  [3:0]  auto_tl_master_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  input         auto_tl_master_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  input  [31:0] auto_tl_master_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  input  [3:0]  auto_tl_master_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  input  [31:0] auto_tl_master_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  input         auto_tl_master_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  input         auto_tl_master_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  output        auto_tl_master_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  output [2:0]  auto_tl_master_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  output [1:0]  auto_tl_master_xing_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  output [3:0]  auto_tl_master_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  output        auto_tl_master_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  output        auto_tl_master_xing_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  output        auto_tl_master_xing_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  output [31:0] auto_tl_master_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
  output        auto_tl_master_xing_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45723.4]
);
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire [3:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire [31:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire [1:0] buffer_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire [3:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire  buffer_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire  buffer_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire  buffer_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire [3:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire [31:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire [1:0] buffer_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire [3:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire  buffer_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire  buffer_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire  buffer_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
  wire  fixer_clock; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire  fixer_reset; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire  fixer_auto_in_a_ready; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire  fixer_auto_in_a_valid; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire [2:0] fixer_auto_in_a_bits_opcode; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire [2:0] fixer_auto_in_a_bits_param; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire [3:0] fixer_auto_in_a_bits_size; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire  fixer_auto_in_a_bits_source; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire [31:0] fixer_auto_in_a_bits_address; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire [3:0] fixer_auto_in_a_bits_mask; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire [31:0] fixer_auto_in_a_bits_data; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire  fixer_auto_in_a_bits_corrupt; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire  fixer_auto_in_d_ready; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire  fixer_auto_in_d_valid; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire [2:0] fixer_auto_in_d_bits_opcode; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire [1:0] fixer_auto_in_d_bits_param; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire [3:0] fixer_auto_in_d_bits_size; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire  fixer_auto_in_d_bits_source; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire  fixer_auto_in_d_bits_sink; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire  fixer_auto_in_d_bits_denied; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire [31:0] fixer_auto_in_d_bits_data; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire  fixer_auto_in_d_bits_corrupt; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire  fixer_auto_out_a_ready; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire  fixer_auto_out_a_valid; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire [2:0] fixer_auto_out_a_bits_opcode; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire [2:0] fixer_auto_out_a_bits_param; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire [3:0] fixer_auto_out_a_bits_size; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire  fixer_auto_out_a_bits_source; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire [31:0] fixer_auto_out_a_bits_address; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire [3:0] fixer_auto_out_a_bits_mask; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire [31:0] fixer_auto_out_a_bits_data; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire  fixer_auto_out_a_bits_corrupt; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire  fixer_auto_out_d_ready; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire  fixer_auto_out_d_valid; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire [2:0] fixer_auto_out_d_bits_opcode; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire [1:0] fixer_auto_out_d_bits_param; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire [3:0] fixer_auto_out_d_bits_size; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire  fixer_auto_out_d_bits_source; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire  fixer_auto_out_d_bits_sink; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire  fixer_auto_out_d_bits_denied; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire [31:0] fixer_auto_out_d_bits_data; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  wire  fixer_auto_out_d_bits_corrupt; // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
  TLBuffer_9 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45728.4]
    .clock(buffer_clock),
    .reset(buffer_reset),
    .auto_in_a_ready(buffer_auto_in_a_ready),
    .auto_in_a_valid(buffer_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_auto_in_d_ready),
    .auto_in_d_valid(buffer_auto_in_d_valid),
    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(buffer_auto_in_d_bits_param),
    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
    .auto_in_d_bits_sink(buffer_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(buffer_auto_in_d_bits_denied),
    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(buffer_auto_in_d_bits_corrupt),
    .auto_out_a_ready(buffer_auto_out_a_ready),
    .auto_out_a_valid(buffer_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_auto_out_d_ready),
    .auto_out_d_valid(buffer_auto_out_d_valid),
    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
    .auto_out_d_bits_param(buffer_auto_out_d_bits_param),
    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
    .auto_out_d_bits_sink(buffer_auto_out_d_bits_sink),
    .auto_out_d_bits_denied(buffer_auto_out_d_bits_denied),
    .auto_out_d_bits_data(buffer_auto_out_d_bits_data),
    .auto_out_d_bits_corrupt(buffer_auto_out_d_bits_corrupt)
  );
  TLFIFOFixer_1 fixer ( // @[FIFOFixer.scala 146:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45734.4]
    .clock(fixer_clock),
    .reset(fixer_reset),
    .auto_in_a_ready(fixer_auto_in_a_ready),
    .auto_in_a_valid(fixer_auto_in_a_valid),
    .auto_in_a_bits_opcode(fixer_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(fixer_auto_in_a_bits_param),
    .auto_in_a_bits_size(fixer_auto_in_a_bits_size),
    .auto_in_a_bits_source(fixer_auto_in_a_bits_source),
    .auto_in_a_bits_address(fixer_auto_in_a_bits_address),
    .auto_in_a_bits_mask(fixer_auto_in_a_bits_mask),
    .auto_in_a_bits_data(fixer_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(fixer_auto_in_a_bits_corrupt),
    .auto_in_d_ready(fixer_auto_in_d_ready),
    .auto_in_d_valid(fixer_auto_in_d_valid),
    .auto_in_d_bits_opcode(fixer_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(fixer_auto_in_d_bits_param),
    .auto_in_d_bits_size(fixer_auto_in_d_bits_size),
    .auto_in_d_bits_source(fixer_auto_in_d_bits_source),
    .auto_in_d_bits_sink(fixer_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(fixer_auto_in_d_bits_denied),
    .auto_in_d_bits_data(fixer_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(fixer_auto_in_d_bits_corrupt),
    .auto_out_a_ready(fixer_auto_out_a_ready),
    .auto_out_a_valid(fixer_auto_out_a_valid),
    .auto_out_a_bits_opcode(fixer_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(fixer_auto_out_a_bits_param),
    .auto_out_a_bits_size(fixer_auto_out_a_bits_size),
    .auto_out_a_bits_source(fixer_auto_out_a_bits_source),
    .auto_out_a_bits_address(fixer_auto_out_a_bits_address),
    .auto_out_a_bits_mask(fixer_auto_out_a_bits_mask),
    .auto_out_a_bits_data(fixer_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(fixer_auto_out_a_bits_corrupt),
    .auto_out_d_ready(fixer_auto_out_d_ready),
    .auto_out_d_valid(fixer_auto_out_d_valid),
    .auto_out_d_bits_opcode(fixer_auto_out_d_bits_opcode),
    .auto_out_d_bits_param(fixer_auto_out_d_bits_param),
    .auto_out_d_bits_size(fixer_auto_out_d_bits_size),
    .auto_out_d_bits_source(fixer_auto_out_d_bits_source),
    .auto_out_d_bits_sink(fixer_auto_out_d_bits_sink),
    .auto_out_d_bits_denied(fixer_auto_out_d_bits_denied),
    .auto_out_d_bits_data(fixer_auto_out_d_bits_data),
    .auto_out_d_bits_corrupt(fixer_auto_out_d_bits_corrupt)
  );
  assign auto_buffer_out_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
  assign auto_buffer_out_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
  assign auto_buffer_out_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
  assign auto_buffer_out_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
  assign auto_buffer_out_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
  assign auto_buffer_out_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
  assign auto_buffer_out_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
  assign auto_buffer_out_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
  assign auto_buffer_out_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
  assign auto_buffer_out_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
  assign auto_tl_master_xing_in_a_ready = fixer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45747.4]
  assign auto_tl_master_xing_in_d_valid = fixer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45747.4]
  assign auto_tl_master_xing_in_d_bits_opcode = fixer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45747.4]
  assign auto_tl_master_xing_in_d_bits_param = fixer_auto_in_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45747.4]
  assign auto_tl_master_xing_in_d_bits_size = fixer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45747.4]
  assign auto_tl_master_xing_in_d_bits_source = fixer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45747.4]
  assign auto_tl_master_xing_in_d_bits_sink = fixer_auto_in_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45747.4]
  assign auto_tl_master_xing_in_d_bits_denied = fixer_auto_in_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45747.4]
  assign auto_tl_master_xing_in_d_bits_data = fixer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45747.4]
  assign auto_tl_master_xing_in_d_bits_corrupt = fixer_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45747.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45732.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45733.4]
  assign buffer_auto_in_a_valid = fixer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
  assign buffer_auto_in_a_bits_opcode = fixer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
  assign buffer_auto_in_a_bits_param = fixer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
  assign buffer_auto_in_a_bits_size = fixer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
  assign buffer_auto_in_a_bits_source = fixer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
  assign buffer_auto_in_a_bits_address = fixer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
  assign buffer_auto_in_a_bits_mask = fixer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
  assign buffer_auto_in_a_bits_data = fixer_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
  assign buffer_auto_in_a_bits_corrupt = fixer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
  assign buffer_auto_in_d_ready = fixer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
  assign buffer_auto_out_a_ready = auto_buffer_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
  assign buffer_auto_out_d_valid = auto_buffer_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
  assign buffer_auto_out_d_bits_opcode = auto_buffer_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
  assign buffer_auto_out_d_bits_param = auto_buffer_out_d_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
  assign buffer_auto_out_d_bits_size = auto_buffer_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
  assign buffer_auto_out_d_bits_source = auto_buffer_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
  assign buffer_auto_out_d_bits_sink = auto_buffer_out_d_bits_sink; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
  assign buffer_auto_out_d_bits_denied = auto_buffer_out_d_bits_denied; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
  assign buffer_auto_out_d_bits_data = auto_buffer_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
  assign buffer_auto_out_d_bits_corrupt = auto_buffer_out_d_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45748.4]
  assign fixer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45738.4]
  assign fixer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45739.4]
  assign fixer_auto_in_a_valid = auto_tl_master_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45746.4]
  assign fixer_auto_in_a_bits_opcode = auto_tl_master_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45746.4]
  assign fixer_auto_in_a_bits_param = auto_tl_master_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45746.4]
  assign fixer_auto_in_a_bits_size = auto_tl_master_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45746.4]
  assign fixer_auto_in_a_bits_source = auto_tl_master_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45746.4]
  assign fixer_auto_in_a_bits_address = auto_tl_master_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45746.4]
  assign fixer_auto_in_a_bits_mask = auto_tl_master_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45746.4]
  assign fixer_auto_in_a_bits_data = auto_tl_master_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45746.4]
  assign fixer_auto_in_a_bits_corrupt = auto_tl_master_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45746.4]
  assign fixer_auto_in_d_ready = auto_tl_master_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45746.4]
  assign fixer_auto_out_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
  assign fixer_auto_out_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
  assign fixer_auto_out_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
  assign fixer_auto_out_d_bits_param = buffer_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
  assign fixer_auto_out_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
  assign fixer_auto_out_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
  assign fixer_auto_out_d_bits_sink = buffer_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
  assign fixer_auto_out_d_bits_denied = buffer_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
  assign fixer_auto_out_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
  assign fixer_auto_out_d_bits_corrupt = buffer_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45745.4]
endmodule
module SystemBus( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45750.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45751.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45752.4]
  output        auto_coupler_from_tile_named_tile_tl_master_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_coupler_from_tile_named_tile_tl_master_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [2:0]  auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [2:0]  auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [3:0]  auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [31:0] auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [3:0]  auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [31:0] auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_coupler_from_tile_named_tile_tl_master_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_coupler_from_tile_named_tile_tl_master_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [2:0]  auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [1:0]  auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [3:0]  auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [31:0] auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [2:0]  auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [2:0]  auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [1:0]  auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [5:0]  auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [28:0] auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [3:0]  auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [31:0] auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_slave_named_aon_asource_out_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_control_bus_coupler_to_slave_named_aon_asource_out_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [2:0]  auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [1:0]  auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [1:0]  auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [5:0]  auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [31:0] auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_control_bus_coupler_to_slave_named_aon_asource_out_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_slave_named_aon_asource_out_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [2:0]  auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [2:0]  auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [1:0]  auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [5:0]  auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [16:0] auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [3:0]  auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [1:0]  auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [5:0]  auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [31:0] auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [2:0]  auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [2:0]  auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [2:0]  auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [31:0] auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [3:0]  auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [31:0] auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [2:0]  auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [1:0]  auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [2:0]  auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [31:0] auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [2:0]  auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [2:0]  auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [1:0]  auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [5:0]  auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [11:0] auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [3:0]  auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [31:0] auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [2:0]  auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [1:0]  auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [5:0]  auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [31:0] auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [2:0]  auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [2:0]  auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [1:0]  auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [5:0]  auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [25:0] auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [3:0]  auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [31:0] auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [2:0]  auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [1:0]  auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [5:0]  auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [31:0] auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [2:0]  auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [2:0]  auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [1:0]  auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [5:0]  auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [27:0] auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [3:0]  auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [31:0] auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [2:0]  auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [1:0]  auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [5:0]  auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [31:0] auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [2:0]  auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [2:0]  auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [3:0]  auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [29:0] auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [3:0]  auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output [31:0] auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  output        auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [2:0]  auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [1:0]  auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [3:0]  auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input  [31:0] auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
  input         auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45753.4]
);
  wire  system_bus_xbar_clock; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire  system_bus_xbar_reset; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire  system_bus_xbar_auto_in_a_ready; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire  system_bus_xbar_auto_in_a_valid; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire [2:0] system_bus_xbar_auto_in_a_bits_opcode; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire [2:0] system_bus_xbar_auto_in_a_bits_param; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire [3:0] system_bus_xbar_auto_in_a_bits_size; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire  system_bus_xbar_auto_in_a_bits_source; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire [31:0] system_bus_xbar_auto_in_a_bits_address; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire [3:0] system_bus_xbar_auto_in_a_bits_mask; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire [31:0] system_bus_xbar_auto_in_a_bits_data; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire  system_bus_xbar_auto_in_a_bits_corrupt; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire  system_bus_xbar_auto_in_d_ready; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire  system_bus_xbar_auto_in_d_valid; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire [2:0] system_bus_xbar_auto_in_d_bits_opcode; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire [1:0] system_bus_xbar_auto_in_d_bits_param; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire [3:0] system_bus_xbar_auto_in_d_bits_size; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire  system_bus_xbar_auto_in_d_bits_source; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire  system_bus_xbar_auto_in_d_bits_sink; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire  system_bus_xbar_auto_in_d_bits_denied; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire [31:0] system_bus_xbar_auto_in_d_bits_data; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire  system_bus_xbar_auto_in_d_bits_corrupt; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire  system_bus_xbar_auto_out_a_ready; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire  system_bus_xbar_auto_out_a_valid; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire [2:0] system_bus_xbar_auto_out_a_bits_opcode; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire [2:0] system_bus_xbar_auto_out_a_bits_param; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire [3:0] system_bus_xbar_auto_out_a_bits_size; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire  system_bus_xbar_auto_out_a_bits_source; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire [31:0] system_bus_xbar_auto_out_a_bits_address; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire [3:0] system_bus_xbar_auto_out_a_bits_mask; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire [31:0] system_bus_xbar_auto_out_a_bits_data; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire  system_bus_xbar_auto_out_a_bits_corrupt; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire  system_bus_xbar_auto_out_d_ready; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire  system_bus_xbar_auto_out_d_valid; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire [2:0] system_bus_xbar_auto_out_d_bits_opcode; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire [1:0] system_bus_xbar_auto_out_d_bits_param; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire [3:0] system_bus_xbar_auto_out_d_bits_size; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire  system_bus_xbar_auto_out_d_bits_source; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire  system_bus_xbar_auto_out_d_bits_sink; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire  system_bus_xbar_auto_out_d_bits_denied; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire [31:0] system_bus_xbar_auto_out_d_bits_data; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire  system_bus_xbar_auto_out_d_bits_corrupt; // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
  wire  control_bus_clock; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_reset; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [2:0] control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [2:0] control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_param; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [1:0] control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [5:0] control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [28:0] control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_address; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [3:0] control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_mask; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [31:0] control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_a_ridx; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_a_widx; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_a_safe_ridx_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_a_safe_widx_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_a_safe_source_reset_n; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_a_safe_sink_reset_n; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [2:0] control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [1:0] control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_param; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [1:0] control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [5:0] control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_sink; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_denied; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [31:0] control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_d_ridx; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_d_widx; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_d_safe_ridx_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_d_safe_widx_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_d_safe_source_reset_n; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_aon_asource_out_d_safe_sink_reset_n; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [2:0] control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [2:0] control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_param; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [1:0] control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [5:0] control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [16:0] control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_address; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [3:0] control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_mask; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [1:0] control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [5:0] control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [31:0] control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [2:0] control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [2:0] control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_param; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [2:0] control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [31:0] control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_address; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [3:0] control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_mask; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [31:0] control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [2:0] control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [1:0] control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_param; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [2:0] control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_sink; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_denied; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [31:0] control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [2:0] control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [2:0] control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_param; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [1:0] control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [5:0] control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [11:0] control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_address; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [3:0] control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_mask; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [31:0] control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [2:0] control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [1:0] control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [5:0] control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [31:0] control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [2:0] control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [2:0] control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_param; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [1:0] control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [5:0] control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [25:0] control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_address; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [3:0] control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_mask; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [31:0] control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [2:0] control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [1:0] control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [5:0] control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [31:0] control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [2:0] control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [2:0] control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_param; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [1:0] control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [5:0] control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [27:0] control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_address; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [3:0] control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_mask; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [31:0] control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [2:0] control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [1:0] control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [5:0] control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [31:0] control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [2:0] control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [2:0] control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_param; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [3:0] control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [29:0] control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [3:0] control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_mask; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [31:0] control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [2:0] control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [1:0] control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_param; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [3:0] control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_sink; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_denied; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [31:0] control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_from_sbus_in_a_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_from_sbus_in_a_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [2:0] control_bus_auto_from_sbus_in_a_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [2:0] control_bus_auto_from_sbus_in_a_bits_param; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [3:0] control_bus_auto_from_sbus_in_a_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_from_sbus_in_a_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [31:0] control_bus_auto_from_sbus_in_a_bits_address; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [3:0] control_bus_auto_from_sbus_in_a_bits_mask; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [31:0] control_bus_auto_from_sbus_in_a_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_from_sbus_in_a_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_from_sbus_in_d_ready; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_from_sbus_in_d_valid; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [2:0] control_bus_auto_from_sbus_in_d_bits_opcode; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [1:0] control_bus_auto_from_sbus_in_d_bits_param; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [3:0] control_bus_auto_from_sbus_in_d_bits_size; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_from_sbus_in_d_bits_source; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_from_sbus_in_d_bits_sink; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_from_sbus_in_d_bits_denied; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire [31:0] control_bus_auto_from_sbus_in_d_bits_data; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  control_bus_auto_from_sbus_in_d_bits_corrupt; // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
  wire  coupler_to_bus_named_cbus_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire  coupler_to_bus_named_cbus_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire  coupler_to_bus_named_cbus_auto_buffer_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire  coupler_to_bus_named_cbus_auto_buffer_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire [2:0] coupler_to_bus_named_cbus_auto_buffer_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire [2:0] coupler_to_bus_named_cbus_auto_buffer_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire [3:0] coupler_to_bus_named_cbus_auto_buffer_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire  coupler_to_bus_named_cbus_auto_buffer_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire [31:0] coupler_to_bus_named_cbus_auto_buffer_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire [3:0] coupler_to_bus_named_cbus_auto_buffer_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire [31:0] coupler_to_bus_named_cbus_auto_buffer_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire  coupler_to_bus_named_cbus_auto_buffer_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire  coupler_to_bus_named_cbus_auto_buffer_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire  coupler_to_bus_named_cbus_auto_buffer_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire [2:0] coupler_to_bus_named_cbus_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire [1:0] coupler_to_bus_named_cbus_auto_buffer_in_d_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire [3:0] coupler_to_bus_named_cbus_auto_buffer_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire  coupler_to_bus_named_cbus_auto_buffer_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire  coupler_to_bus_named_cbus_auto_buffer_in_d_bits_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire  coupler_to_bus_named_cbus_auto_buffer_in_d_bits_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire [31:0] coupler_to_bus_named_cbus_auto_buffer_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire  coupler_to_bus_named_cbus_auto_buffer_in_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire [2:0] coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire [2:0] coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire [3:0] coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire [31:0] coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire [3:0] coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire [31:0] coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire [2:0] coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire [1:0] coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire [3:0] coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire [31:0] coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire  coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
  wire  master_splitter_clock; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire  master_splitter_reset; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire  master_splitter_auto_in_a_ready; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire  master_splitter_auto_in_a_valid; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire [2:0] master_splitter_auto_in_a_bits_opcode; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire [2:0] master_splitter_auto_in_a_bits_param; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire [3:0] master_splitter_auto_in_a_bits_size; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire  master_splitter_auto_in_a_bits_source; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire [31:0] master_splitter_auto_in_a_bits_address; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire [3:0] master_splitter_auto_in_a_bits_mask; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire [31:0] master_splitter_auto_in_a_bits_data; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire  master_splitter_auto_in_a_bits_corrupt; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire  master_splitter_auto_in_d_ready; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire  master_splitter_auto_in_d_valid; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire [2:0] master_splitter_auto_in_d_bits_opcode; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire [1:0] master_splitter_auto_in_d_bits_param; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire [3:0] master_splitter_auto_in_d_bits_size; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire  master_splitter_auto_in_d_bits_source; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire  master_splitter_auto_in_d_bits_sink; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire  master_splitter_auto_in_d_bits_denied; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire [31:0] master_splitter_auto_in_d_bits_data; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire  master_splitter_auto_in_d_bits_corrupt; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire  master_splitter_auto_out_a_ready; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire  master_splitter_auto_out_a_valid; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire [2:0] master_splitter_auto_out_a_bits_opcode; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire [2:0] master_splitter_auto_out_a_bits_param; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire [3:0] master_splitter_auto_out_a_bits_size; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire  master_splitter_auto_out_a_bits_source; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire [31:0] master_splitter_auto_out_a_bits_address; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire [3:0] master_splitter_auto_out_a_bits_mask; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire [31:0] master_splitter_auto_out_a_bits_data; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire  master_splitter_auto_out_a_bits_corrupt; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire  master_splitter_auto_out_d_ready; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire  master_splitter_auto_out_d_valid; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire [2:0] master_splitter_auto_out_d_bits_opcode; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire [1:0] master_splitter_auto_out_d_bits_param; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire [3:0] master_splitter_auto_out_d_bits_size; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire  master_splitter_auto_out_d_bits_source; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire  master_splitter_auto_out_d_bits_sink; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire  master_splitter_auto_out_d_bits_denied; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire [31:0] master_splitter_auto_out_d_bits_data; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire  master_splitter_auto_out_d_bits_corrupt; // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
  wire  coupler_from_tile_named_tile_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire  coupler_from_tile_named_tile_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire  coupler_from_tile_named_tile_auto_buffer_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire  coupler_from_tile_named_tile_auto_buffer_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire [2:0] coupler_from_tile_named_tile_auto_buffer_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire [2:0] coupler_from_tile_named_tile_auto_buffer_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire [3:0] coupler_from_tile_named_tile_auto_buffer_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire  coupler_from_tile_named_tile_auto_buffer_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire [31:0] coupler_from_tile_named_tile_auto_buffer_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire [3:0] coupler_from_tile_named_tile_auto_buffer_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire [31:0] coupler_from_tile_named_tile_auto_buffer_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire  coupler_from_tile_named_tile_auto_buffer_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire  coupler_from_tile_named_tile_auto_buffer_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire  coupler_from_tile_named_tile_auto_buffer_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire [2:0] coupler_from_tile_named_tile_auto_buffer_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire [1:0] coupler_from_tile_named_tile_auto_buffer_out_d_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire [3:0] coupler_from_tile_named_tile_auto_buffer_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire  coupler_from_tile_named_tile_auto_buffer_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire  coupler_from_tile_named_tile_auto_buffer_out_d_bits_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire  coupler_from_tile_named_tile_auto_buffer_out_d_bits_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire [31:0] coupler_from_tile_named_tile_auto_buffer_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire  coupler_from_tile_named_tile_auto_buffer_out_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire [2:0] coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire [2:0] coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire [3:0] coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire [31:0] coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire [3:0] coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire [31:0] coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire [2:0] coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire [1:0] coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire [3:0] coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_sink; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_denied; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire [31:0] coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  wire  coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
  TLXbar system_bus_xbar ( // @[BusWrapper.scala 160:32:shc.marmotcaravel.MarmotCaravelConfig.fir@45758.4]
    .clock(system_bus_xbar_clock),
    .reset(system_bus_xbar_reset),
    .auto_in_a_ready(system_bus_xbar_auto_in_a_ready),
    .auto_in_a_valid(system_bus_xbar_auto_in_a_valid),
    .auto_in_a_bits_opcode(system_bus_xbar_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(system_bus_xbar_auto_in_a_bits_param),
    .auto_in_a_bits_size(system_bus_xbar_auto_in_a_bits_size),
    .auto_in_a_bits_source(system_bus_xbar_auto_in_a_bits_source),
    .auto_in_a_bits_address(system_bus_xbar_auto_in_a_bits_address),
    .auto_in_a_bits_mask(system_bus_xbar_auto_in_a_bits_mask),
    .auto_in_a_bits_data(system_bus_xbar_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(system_bus_xbar_auto_in_a_bits_corrupt),
    .auto_in_d_ready(system_bus_xbar_auto_in_d_ready),
    .auto_in_d_valid(system_bus_xbar_auto_in_d_valid),
    .auto_in_d_bits_opcode(system_bus_xbar_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(system_bus_xbar_auto_in_d_bits_param),
    .auto_in_d_bits_size(system_bus_xbar_auto_in_d_bits_size),
    .auto_in_d_bits_source(system_bus_xbar_auto_in_d_bits_source),
    .auto_in_d_bits_sink(system_bus_xbar_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(system_bus_xbar_auto_in_d_bits_denied),
    .auto_in_d_bits_data(system_bus_xbar_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(system_bus_xbar_auto_in_d_bits_corrupt),
    .auto_out_a_ready(system_bus_xbar_auto_out_a_ready),
    .auto_out_a_valid(system_bus_xbar_auto_out_a_valid),
    .auto_out_a_bits_opcode(system_bus_xbar_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(system_bus_xbar_auto_out_a_bits_param),
    .auto_out_a_bits_size(system_bus_xbar_auto_out_a_bits_size),
    .auto_out_a_bits_source(system_bus_xbar_auto_out_a_bits_source),
    .auto_out_a_bits_address(system_bus_xbar_auto_out_a_bits_address),
    .auto_out_a_bits_mask(system_bus_xbar_auto_out_a_bits_mask),
    .auto_out_a_bits_data(system_bus_xbar_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(system_bus_xbar_auto_out_a_bits_corrupt),
    .auto_out_d_ready(system_bus_xbar_auto_out_d_ready),
    .auto_out_d_valid(system_bus_xbar_auto_out_d_valid),
    .auto_out_d_bits_opcode(system_bus_xbar_auto_out_d_bits_opcode),
    .auto_out_d_bits_param(system_bus_xbar_auto_out_d_bits_param),
    .auto_out_d_bits_size(system_bus_xbar_auto_out_d_bits_size),
    .auto_out_d_bits_source(system_bus_xbar_auto_out_d_bits_source),
    .auto_out_d_bits_sink(system_bus_xbar_auto_out_d_bits_sink),
    .auto_out_d_bits_denied(system_bus_xbar_auto_out_d_bits_denied),
    .auto_out_d_bits_data(system_bus_xbar_auto_out_d_bits_data),
    .auto_out_d_bits_corrupt(system_bus_xbar_auto_out_d_bits_corrupt)
  );
  PeripheryBus control_bus ( // @[SystemBus.scala 33:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45764.4]
    .clock(control_bus_clock),
    .reset(control_bus_reset),
    .auto_coupler_to_slave_named_aon_asource_out_a_mem_0_opcode(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_opcode),
    .auto_coupler_to_slave_named_aon_asource_out_a_mem_0_param(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_param),
    .auto_coupler_to_slave_named_aon_asource_out_a_mem_0_size(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_size),
    .auto_coupler_to_slave_named_aon_asource_out_a_mem_0_source(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_source),
    .auto_coupler_to_slave_named_aon_asource_out_a_mem_0_address(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_address),
    .auto_coupler_to_slave_named_aon_asource_out_a_mem_0_mask(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_mask),
    .auto_coupler_to_slave_named_aon_asource_out_a_mem_0_data(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_data),
    .auto_coupler_to_slave_named_aon_asource_out_a_mem_0_corrupt(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_corrupt),
    .auto_coupler_to_slave_named_aon_asource_out_a_ridx(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_ridx),
    .auto_coupler_to_slave_named_aon_asource_out_a_widx(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_widx),
    .auto_coupler_to_slave_named_aon_asource_out_a_safe_ridx_valid(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_safe_ridx_valid),
    .auto_coupler_to_slave_named_aon_asource_out_a_safe_widx_valid(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_safe_widx_valid),
    .auto_coupler_to_slave_named_aon_asource_out_a_safe_source_reset_n(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_safe_source_reset_n),
    .auto_coupler_to_slave_named_aon_asource_out_a_safe_sink_reset_n(control_bus_auto_coupler_to_slave_named_aon_asource_out_a_safe_sink_reset_n),
    .auto_coupler_to_slave_named_aon_asource_out_d_mem_0_opcode(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_opcode),
    .auto_coupler_to_slave_named_aon_asource_out_d_mem_0_param(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_param),
    .auto_coupler_to_slave_named_aon_asource_out_d_mem_0_size(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_size),
    .auto_coupler_to_slave_named_aon_asource_out_d_mem_0_source(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_source),
    .auto_coupler_to_slave_named_aon_asource_out_d_mem_0_sink(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_sink),
    .auto_coupler_to_slave_named_aon_asource_out_d_mem_0_denied(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_denied),
    .auto_coupler_to_slave_named_aon_asource_out_d_mem_0_data(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_data),
    .auto_coupler_to_slave_named_aon_asource_out_d_mem_0_corrupt(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_corrupt),
    .auto_coupler_to_slave_named_aon_asource_out_d_ridx(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_ridx),
    .auto_coupler_to_slave_named_aon_asource_out_d_widx(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_widx),
    .auto_coupler_to_slave_named_aon_asource_out_d_safe_ridx_valid(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_safe_ridx_valid),
    .auto_coupler_to_slave_named_aon_asource_out_d_safe_widx_valid(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_safe_widx_valid),
    .auto_coupler_to_slave_named_aon_asource_out_d_safe_source_reset_n(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_safe_source_reset_n),
    .auto_coupler_to_slave_named_aon_asource_out_d_safe_sink_reset_n(control_bus_auto_coupler_to_slave_named_aon_asource_out_d_safe_sink_reset_n),
    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready),
    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid),
    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_opcode(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_opcode),
    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_param(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_param),
    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_size(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_size),
    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_source(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_source),
    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_address(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_address),
    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_mask(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_mask),
    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt),
    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready),
    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid),
    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_size(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_size),
    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_source(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_source),
    .auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_data(control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_data),
    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_ready(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_ready),
    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_valid(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_valid),
    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_opcode(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_opcode),
    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_param(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_param),
    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_size(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_size),
    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_source(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_source),
    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_address(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_address),
    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_mask(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_mask),
    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_data(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_data),
    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_corrupt(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_corrupt),
    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_ready(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_ready),
    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_valid(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_valid),
    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_opcode(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_opcode),
    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_param(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_param),
    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_size(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_size),
    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_source(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_source),
    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_sink(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_sink),
    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_denied(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_denied),
    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_data(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_data),
    .auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_corrupt(control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_corrupt),
    .auto_coupler_to_slave_named_debug_fragmenter_out_a_ready(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_ready),
    .auto_coupler_to_slave_named_debug_fragmenter_out_a_valid(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_valid),
    .auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_opcode(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_opcode),
    .auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_param(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_param),
    .auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_size(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_size),
    .auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_source(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_source),
    .auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_address(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_address),
    .auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_mask(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_mask),
    .auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_data(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_data),
    .auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt),
    .auto_coupler_to_slave_named_debug_fragmenter_out_d_ready(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_ready),
    .auto_coupler_to_slave_named_debug_fragmenter_out_d_valid(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_valid),
    .auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_opcode(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_opcode),
    .auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_size(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_size),
    .auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_source(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_source),
    .auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_data(control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_data),
    .auto_coupler_to_slave_named_clint_fragmenter_out_a_ready(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_ready),
    .auto_coupler_to_slave_named_clint_fragmenter_out_a_valid(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_valid),
    .auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_opcode(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_opcode),
    .auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_param(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_param),
    .auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_size(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_size),
    .auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_source(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_source),
    .auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_address(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_address),
    .auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_mask(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_mask),
    .auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_data(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_data),
    .auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt),
    .auto_coupler_to_slave_named_clint_fragmenter_out_d_ready(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_ready),
    .auto_coupler_to_slave_named_clint_fragmenter_out_d_valid(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_valid),
    .auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_opcode(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_opcode),
    .auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_size(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_size),
    .auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_source(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_source),
    .auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_data(control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_data),
    .auto_coupler_to_slave_named_plic_fragmenter_out_a_ready(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_ready),
    .auto_coupler_to_slave_named_plic_fragmenter_out_a_valid(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_valid),
    .auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_opcode(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_opcode),
    .auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_param(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_param),
    .auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_size(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_size),
    .auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_source(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_source),
    .auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_address(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_address),
    .auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_mask(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_mask),
    .auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_data(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_data),
    .auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt),
    .auto_coupler_to_slave_named_plic_fragmenter_out_d_ready(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_ready),
    .auto_coupler_to_slave_named_plic_fragmenter_out_d_valid(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_valid),
    .auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_opcode(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_opcode),
    .auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_size(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_size),
    .auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_source(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_source),
    .auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_data(control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_data),
    .auto_coupler_to_bus_named_pbus_from_cbus_out_a_ready(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_ready),
    .auto_coupler_to_bus_named_pbus_from_cbus_out_a_valid(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_valid),
    .auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_opcode(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_opcode),
    .auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_param(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_param),
    .auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_size(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_size),
    .auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_source(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_source),
    .auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address),
    .auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_mask(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_mask),
    .auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_data(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_data),
    .auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_corrupt(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_corrupt),
    .auto_coupler_to_bus_named_pbus_from_cbus_out_d_ready(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_ready),
    .auto_coupler_to_bus_named_pbus_from_cbus_out_d_valid(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_valid),
    .auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_opcode(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_opcode),
    .auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_param(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_param),
    .auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_size(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_size),
    .auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_source(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_source),
    .auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_sink(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_sink),
    .auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_denied(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_denied),
    .auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_data(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_data),
    .auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_corrupt(control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_corrupt),
    .auto_from_sbus_in_a_ready(control_bus_auto_from_sbus_in_a_ready),
    .auto_from_sbus_in_a_valid(control_bus_auto_from_sbus_in_a_valid),
    .auto_from_sbus_in_a_bits_opcode(control_bus_auto_from_sbus_in_a_bits_opcode),
    .auto_from_sbus_in_a_bits_param(control_bus_auto_from_sbus_in_a_bits_param),
    .auto_from_sbus_in_a_bits_size(control_bus_auto_from_sbus_in_a_bits_size),
    .auto_from_sbus_in_a_bits_source(control_bus_auto_from_sbus_in_a_bits_source),
    .auto_from_sbus_in_a_bits_address(control_bus_auto_from_sbus_in_a_bits_address),
    .auto_from_sbus_in_a_bits_mask(control_bus_auto_from_sbus_in_a_bits_mask),
    .auto_from_sbus_in_a_bits_data(control_bus_auto_from_sbus_in_a_bits_data),
    .auto_from_sbus_in_a_bits_corrupt(control_bus_auto_from_sbus_in_a_bits_corrupt),
    .auto_from_sbus_in_d_ready(control_bus_auto_from_sbus_in_d_ready),
    .auto_from_sbus_in_d_valid(control_bus_auto_from_sbus_in_d_valid),
    .auto_from_sbus_in_d_bits_opcode(control_bus_auto_from_sbus_in_d_bits_opcode),
    .auto_from_sbus_in_d_bits_param(control_bus_auto_from_sbus_in_d_bits_param),
    .auto_from_sbus_in_d_bits_size(control_bus_auto_from_sbus_in_d_bits_size),
    .auto_from_sbus_in_d_bits_source(control_bus_auto_from_sbus_in_d_bits_source),
    .auto_from_sbus_in_d_bits_sink(control_bus_auto_from_sbus_in_d_bits_sink),
    .auto_from_sbus_in_d_bits_denied(control_bus_auto_from_sbus_in_d_bits_denied),
    .auto_from_sbus_in_d_bits_data(control_bus_auto_from_sbus_in_d_bits_data),
    .auto_from_sbus_in_d_bits_corrupt(control_bus_auto_from_sbus_in_d_bits_corrupt)
  );
  SimpleLazyModule_8 coupler_to_bus_named_cbus ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45770.4]
    .clock(coupler_to_bus_named_cbus_clock),
    .reset(coupler_to_bus_named_cbus_reset),
    .auto_buffer_in_a_ready(coupler_to_bus_named_cbus_auto_buffer_in_a_ready),
    .auto_buffer_in_a_valid(coupler_to_bus_named_cbus_auto_buffer_in_a_valid),
    .auto_buffer_in_a_bits_opcode(coupler_to_bus_named_cbus_auto_buffer_in_a_bits_opcode),
    .auto_buffer_in_a_bits_param(coupler_to_bus_named_cbus_auto_buffer_in_a_bits_param),
    .auto_buffer_in_a_bits_size(coupler_to_bus_named_cbus_auto_buffer_in_a_bits_size),
    .auto_buffer_in_a_bits_source(coupler_to_bus_named_cbus_auto_buffer_in_a_bits_source),
    .auto_buffer_in_a_bits_address(coupler_to_bus_named_cbus_auto_buffer_in_a_bits_address),
    .auto_buffer_in_a_bits_mask(coupler_to_bus_named_cbus_auto_buffer_in_a_bits_mask),
    .auto_buffer_in_a_bits_data(coupler_to_bus_named_cbus_auto_buffer_in_a_bits_data),
    .auto_buffer_in_a_bits_corrupt(coupler_to_bus_named_cbus_auto_buffer_in_a_bits_corrupt),
    .auto_buffer_in_d_ready(coupler_to_bus_named_cbus_auto_buffer_in_d_ready),
    .auto_buffer_in_d_valid(coupler_to_bus_named_cbus_auto_buffer_in_d_valid),
    .auto_buffer_in_d_bits_opcode(coupler_to_bus_named_cbus_auto_buffer_in_d_bits_opcode),
    .auto_buffer_in_d_bits_param(coupler_to_bus_named_cbus_auto_buffer_in_d_bits_param),
    .auto_buffer_in_d_bits_size(coupler_to_bus_named_cbus_auto_buffer_in_d_bits_size),
    .auto_buffer_in_d_bits_source(coupler_to_bus_named_cbus_auto_buffer_in_d_bits_source),
    .auto_buffer_in_d_bits_sink(coupler_to_bus_named_cbus_auto_buffer_in_d_bits_sink),
    .auto_buffer_in_d_bits_denied(coupler_to_bus_named_cbus_auto_buffer_in_d_bits_denied),
    .auto_buffer_in_d_bits_data(coupler_to_bus_named_cbus_auto_buffer_in_d_bits_data),
    .auto_buffer_in_d_bits_corrupt(coupler_to_bus_named_cbus_auto_buffer_in_d_bits_corrupt),
    .auto_from_sbus_out_a_ready(coupler_to_bus_named_cbus_auto_from_sbus_out_a_ready),
    .auto_from_sbus_out_a_valid(coupler_to_bus_named_cbus_auto_from_sbus_out_a_valid),
    .auto_from_sbus_out_a_bits_opcode(coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_opcode),
    .auto_from_sbus_out_a_bits_param(coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_param),
    .auto_from_sbus_out_a_bits_size(coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_size),
    .auto_from_sbus_out_a_bits_source(coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_source),
    .auto_from_sbus_out_a_bits_address(coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_address),
    .auto_from_sbus_out_a_bits_mask(coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_mask),
    .auto_from_sbus_out_a_bits_data(coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_data),
    .auto_from_sbus_out_a_bits_corrupt(coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_corrupt),
    .auto_from_sbus_out_d_ready(coupler_to_bus_named_cbus_auto_from_sbus_out_d_ready),
    .auto_from_sbus_out_d_valid(coupler_to_bus_named_cbus_auto_from_sbus_out_d_valid),
    .auto_from_sbus_out_d_bits_opcode(coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_opcode),
    .auto_from_sbus_out_d_bits_param(coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_param),
    .auto_from_sbus_out_d_bits_size(coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_size),
    .auto_from_sbus_out_d_bits_source(coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_source),
    .auto_from_sbus_out_d_bits_sink(coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_sink),
    .auto_from_sbus_out_d_bits_denied(coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_denied),
    .auto_from_sbus_out_d_bits_data(coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_data),
    .auto_from_sbus_out_d_bits_corrupt(coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_corrupt)
  );
  TLSplitter master_splitter ( // @[SystemBus.scala 36:43:shc.marmotcaravel.MarmotCaravelConfig.fir@45776.4]
    .clock(master_splitter_clock),
    .reset(master_splitter_reset),
    .auto_in_a_ready(master_splitter_auto_in_a_ready),
    .auto_in_a_valid(master_splitter_auto_in_a_valid),
    .auto_in_a_bits_opcode(master_splitter_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(master_splitter_auto_in_a_bits_param),
    .auto_in_a_bits_size(master_splitter_auto_in_a_bits_size),
    .auto_in_a_bits_source(master_splitter_auto_in_a_bits_source),
    .auto_in_a_bits_address(master_splitter_auto_in_a_bits_address),
    .auto_in_a_bits_mask(master_splitter_auto_in_a_bits_mask),
    .auto_in_a_bits_data(master_splitter_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(master_splitter_auto_in_a_bits_corrupt),
    .auto_in_d_ready(master_splitter_auto_in_d_ready),
    .auto_in_d_valid(master_splitter_auto_in_d_valid),
    .auto_in_d_bits_opcode(master_splitter_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(master_splitter_auto_in_d_bits_param),
    .auto_in_d_bits_size(master_splitter_auto_in_d_bits_size),
    .auto_in_d_bits_source(master_splitter_auto_in_d_bits_source),
    .auto_in_d_bits_sink(master_splitter_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(master_splitter_auto_in_d_bits_denied),
    .auto_in_d_bits_data(master_splitter_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(master_splitter_auto_in_d_bits_corrupt),
    .auto_out_a_ready(master_splitter_auto_out_a_ready),
    .auto_out_a_valid(master_splitter_auto_out_a_valid),
    .auto_out_a_bits_opcode(master_splitter_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(master_splitter_auto_out_a_bits_param),
    .auto_out_a_bits_size(master_splitter_auto_out_a_bits_size),
    .auto_out_a_bits_source(master_splitter_auto_out_a_bits_source),
    .auto_out_a_bits_address(master_splitter_auto_out_a_bits_address),
    .auto_out_a_bits_mask(master_splitter_auto_out_a_bits_mask),
    .auto_out_a_bits_data(master_splitter_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(master_splitter_auto_out_a_bits_corrupt),
    .auto_out_d_ready(master_splitter_auto_out_d_ready),
    .auto_out_d_valid(master_splitter_auto_out_d_valid),
    .auto_out_d_bits_opcode(master_splitter_auto_out_d_bits_opcode),
    .auto_out_d_bits_param(master_splitter_auto_out_d_bits_param),
    .auto_out_d_bits_size(master_splitter_auto_out_d_bits_size),
    .auto_out_d_bits_source(master_splitter_auto_out_d_bits_source),
    .auto_out_d_bits_sink(master_splitter_auto_out_d_bits_sink),
    .auto_out_d_bits_denied(master_splitter_auto_out_d_bits_denied),
    .auto_out_d_bits_data(master_splitter_auto_out_d_bits_data),
    .auto_out_d_bits_corrupt(master_splitter_auto_out_d_bits_corrupt)
  );
  SimpleLazyModule_10 coupler_from_tile_named_tile ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45788.4]
    .clock(coupler_from_tile_named_tile_clock),
    .reset(coupler_from_tile_named_tile_reset),
    .auto_buffer_out_a_ready(coupler_from_tile_named_tile_auto_buffer_out_a_ready),
    .auto_buffer_out_a_valid(coupler_from_tile_named_tile_auto_buffer_out_a_valid),
    .auto_buffer_out_a_bits_opcode(coupler_from_tile_named_tile_auto_buffer_out_a_bits_opcode),
    .auto_buffer_out_a_bits_param(coupler_from_tile_named_tile_auto_buffer_out_a_bits_param),
    .auto_buffer_out_a_bits_size(coupler_from_tile_named_tile_auto_buffer_out_a_bits_size),
    .auto_buffer_out_a_bits_source(coupler_from_tile_named_tile_auto_buffer_out_a_bits_source),
    .auto_buffer_out_a_bits_address(coupler_from_tile_named_tile_auto_buffer_out_a_bits_address),
    .auto_buffer_out_a_bits_mask(coupler_from_tile_named_tile_auto_buffer_out_a_bits_mask),
    .auto_buffer_out_a_bits_data(coupler_from_tile_named_tile_auto_buffer_out_a_bits_data),
    .auto_buffer_out_a_bits_corrupt(coupler_from_tile_named_tile_auto_buffer_out_a_bits_corrupt),
    .auto_buffer_out_d_ready(coupler_from_tile_named_tile_auto_buffer_out_d_ready),
    .auto_buffer_out_d_valid(coupler_from_tile_named_tile_auto_buffer_out_d_valid),
    .auto_buffer_out_d_bits_opcode(coupler_from_tile_named_tile_auto_buffer_out_d_bits_opcode),
    .auto_buffer_out_d_bits_param(coupler_from_tile_named_tile_auto_buffer_out_d_bits_param),
    .auto_buffer_out_d_bits_size(coupler_from_tile_named_tile_auto_buffer_out_d_bits_size),
    .auto_buffer_out_d_bits_source(coupler_from_tile_named_tile_auto_buffer_out_d_bits_source),
    .auto_buffer_out_d_bits_sink(coupler_from_tile_named_tile_auto_buffer_out_d_bits_sink),
    .auto_buffer_out_d_bits_denied(coupler_from_tile_named_tile_auto_buffer_out_d_bits_denied),
    .auto_buffer_out_d_bits_data(coupler_from_tile_named_tile_auto_buffer_out_d_bits_data),
    .auto_buffer_out_d_bits_corrupt(coupler_from_tile_named_tile_auto_buffer_out_d_bits_corrupt),
    .auto_tl_master_xing_in_a_ready(coupler_from_tile_named_tile_auto_tl_master_xing_in_a_ready),
    .auto_tl_master_xing_in_a_valid(coupler_from_tile_named_tile_auto_tl_master_xing_in_a_valid),
    .auto_tl_master_xing_in_a_bits_opcode(coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_opcode),
    .auto_tl_master_xing_in_a_bits_param(coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_param),
    .auto_tl_master_xing_in_a_bits_size(coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_size),
    .auto_tl_master_xing_in_a_bits_source(coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_source),
    .auto_tl_master_xing_in_a_bits_address(coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_address),
    .auto_tl_master_xing_in_a_bits_mask(coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_mask),
    .auto_tl_master_xing_in_a_bits_data(coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_data),
    .auto_tl_master_xing_in_a_bits_corrupt(coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_corrupt),
    .auto_tl_master_xing_in_d_ready(coupler_from_tile_named_tile_auto_tl_master_xing_in_d_ready),
    .auto_tl_master_xing_in_d_valid(coupler_from_tile_named_tile_auto_tl_master_xing_in_d_valid),
    .auto_tl_master_xing_in_d_bits_opcode(coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_opcode),
    .auto_tl_master_xing_in_d_bits_param(coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_param),
    .auto_tl_master_xing_in_d_bits_size(coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_size),
    .auto_tl_master_xing_in_d_bits_source(coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_source),
    .auto_tl_master_xing_in_d_bits_sink(coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_sink),
    .auto_tl_master_xing_in_d_bits_denied(coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_denied),
    .auto_tl_master_xing_in_d_bits_data(coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_data),
    .auto_tl_master_xing_in_d_bits_corrupt(coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_corrupt)
  );
  assign auto_coupler_from_tile_named_tile_tl_master_xing_in_a_ready = coupler_from_tile_named_tile_auto_tl_master_xing_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
  assign auto_coupler_from_tile_named_tile_tl_master_xing_in_d_valid = coupler_from_tile_named_tile_auto_tl_master_xing_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
  assign auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_opcode = coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
  assign auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_param = coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
  assign auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_size = coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
  assign auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_source = coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
  assign auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_sink = coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
  assign auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_denied = coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
  assign auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_data = coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
  assign auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_corrupt = coupler_from_tile_named_tile_auto_tl_master_xing_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_opcode = control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_param = control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_size = control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_source = control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_address = control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_mask = control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_data = control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_corrupt = control_bus_auto_coupler_to_slave_named_aon_asource_out_a_mem_0_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_a_widx = control_bus_auto_coupler_to_slave_named_aon_asource_out_a_widx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_widx_valid = control_bus_auto_coupler_to_slave_named_aon_asource_out_a_safe_widx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_source_reset_n = control_bus_auto_coupler_to_slave_named_aon_asource_out_a_safe_source_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_d_ridx = control_bus_auto_coupler_to_slave_named_aon_asource_out_d_ridx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_ridx_valid = control_bus_auto_coupler_to_slave_named_aon_asource_out_d_safe_ridx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_sink_reset_n = control_bus_auto_coupler_to_slave_named_aon_asource_out_d_safe_sink_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid = control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
  assign auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_opcode = control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
  assign auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_param = control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
  assign auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_size = control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
  assign auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_source = control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
  assign auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_address = control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
  assign auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_mask = control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
  assign auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt = control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
  assign auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready = control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
  assign auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_valid = control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
  assign auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_opcode = control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
  assign auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_param = control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
  assign auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_size = control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
  assign auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_source = control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
  assign auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_address = control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
  assign auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_mask = control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
  assign auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_data = control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
  assign auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_corrupt = control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
  assign auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_ready = control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
  assign auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_valid = control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
  assign auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_opcode = control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
  assign auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_param = control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
  assign auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_size = control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
  assign auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_source = control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
  assign auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_address = control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
  assign auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_mask = control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
  assign auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_data = control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
  assign auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt = control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
  assign auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_ready = control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
  assign auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_valid = control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
  assign auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_opcode = control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
  assign auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_param = control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
  assign auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_size = control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
  assign auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_source = control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
  assign auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_address = control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
  assign auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_mask = control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
  assign auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_data = control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
  assign auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt = control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
  assign auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_ready = control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
  assign auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_valid = control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
  assign auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_opcode = control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
  assign auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_param = control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
  assign auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_size = control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
  assign auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_source = control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
  assign auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_address = control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
  assign auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_mask = control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
  assign auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_data = control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
  assign auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt = control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
  assign auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_ready = control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
  assign auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_valid = control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
  assign auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_opcode = control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
  assign auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_param = control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
  assign auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_size = control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
  assign auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_source = control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
  assign auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address = control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
  assign auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_mask = control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
  assign auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_data = control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
  assign auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_corrupt = control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
  assign auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_ready = control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
  assign system_bus_xbar_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45762.4]
  assign system_bus_xbar_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45763.4]
  assign system_bus_xbar_auto_in_a_valid = master_splitter_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
  assign system_bus_xbar_auto_in_a_bits_opcode = master_splitter_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
  assign system_bus_xbar_auto_in_a_bits_param = master_splitter_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
  assign system_bus_xbar_auto_in_a_bits_size = master_splitter_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
  assign system_bus_xbar_auto_in_a_bits_source = master_splitter_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
  assign system_bus_xbar_auto_in_a_bits_address = master_splitter_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
  assign system_bus_xbar_auto_in_a_bits_mask = master_splitter_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
  assign system_bus_xbar_auto_in_a_bits_data = master_splitter_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
  assign system_bus_xbar_auto_in_a_bits_corrupt = master_splitter_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
  assign system_bus_xbar_auto_in_d_ready = master_splitter_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
  assign system_bus_xbar_auto_out_a_ready = coupler_to_bus_named_cbus_auto_buffer_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
  assign system_bus_xbar_auto_out_d_valid = coupler_to_bus_named_cbus_auto_buffer_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
  assign system_bus_xbar_auto_out_d_bits_opcode = coupler_to_bus_named_cbus_auto_buffer_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
  assign system_bus_xbar_auto_out_d_bits_param = coupler_to_bus_named_cbus_auto_buffer_in_d_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
  assign system_bus_xbar_auto_out_d_bits_size = coupler_to_bus_named_cbus_auto_buffer_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
  assign system_bus_xbar_auto_out_d_bits_source = coupler_to_bus_named_cbus_auto_buffer_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
  assign system_bus_xbar_auto_out_d_bits_sink = coupler_to_bus_named_cbus_auto_buffer_in_d_bits_sink; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
  assign system_bus_xbar_auto_out_d_bits_denied = coupler_to_bus_named_cbus_auto_buffer_in_d_bits_denied; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
  assign system_bus_xbar_auto_out_d_bits_data = coupler_to_bus_named_cbus_auto_buffer_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
  assign system_bus_xbar_auto_out_d_bits_corrupt = coupler_to_bus_named_cbus_auto_buffer_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
  assign control_bus_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45768.4]
  assign control_bus_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45769.4]
  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_a_ridx = auto_control_bus_coupler_to_slave_named_aon_asource_out_a_ridx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_a_safe_ridx_valid = auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_ridx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_a_safe_sink_reset_n = auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_sink_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_opcode = auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_param = auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_size = auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_source = auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_sink = auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_sink; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_denied = auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_denied; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_data = auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_d_mem_0_corrupt = auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_d_widx = auto_control_bus_coupler_to_slave_named_aon_asource_out_d_widx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_d_safe_widx_valid = auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_widx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign control_bus_auto_coupler_to_slave_named_aon_asource_out_d_safe_source_reset_n = auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_source_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45804.4]
  assign control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready = auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
  assign control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid = auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
  assign control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_size = auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
  assign control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_source = auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
  assign control_bus_auto_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_data = auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45803.4]
  assign control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_a_ready = auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
  assign control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_valid = auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
  assign control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_opcode = auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
  assign control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_param = auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
  assign control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_size = auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
  assign control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_source = auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
  assign control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_sink = auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_sink; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
  assign control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_denied = auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_denied; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
  assign control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_data = auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
  assign control_bus_auto_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_corrupt = auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45802.4]
  assign control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_a_ready = auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
  assign control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_valid = auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
  assign control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_opcode = auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
  assign control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_size = auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
  assign control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_source = auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
  assign control_bus_auto_coupler_to_slave_named_debug_fragmenter_out_d_bits_data = auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45801.4]
  assign control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_a_ready = auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
  assign control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_valid = auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
  assign control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_opcode = auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
  assign control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_size = auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
  assign control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_source = auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
  assign control_bus_auto_coupler_to_slave_named_clint_fragmenter_out_d_bits_data = auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45800.4]
  assign control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_a_ready = auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
  assign control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_valid = auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
  assign control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_opcode = auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
  assign control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_size = auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
  assign control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_source = auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
  assign control_bus_auto_coupler_to_slave_named_plic_fragmenter_out_d_bits_data = auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45799.4]
  assign control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_a_ready = auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
  assign control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_valid = auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
  assign control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_opcode = auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
  assign control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_param = auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
  assign control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_size = auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
  assign control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_source = auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
  assign control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_sink = auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_sink; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
  assign control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_denied = auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_denied; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
  assign control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_data = auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
  assign control_bus_auto_coupler_to_bus_named_pbus_from_cbus_out_d_bits_corrupt = auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45798.4]
  assign control_bus_auto_from_sbus_in_a_valid = coupler_to_bus_named_cbus_auto_from_sbus_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
  assign control_bus_auto_from_sbus_in_a_bits_opcode = coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
  assign control_bus_auto_from_sbus_in_a_bits_param = coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
  assign control_bus_auto_from_sbus_in_a_bits_size = coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
  assign control_bus_auto_from_sbus_in_a_bits_source = coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
  assign control_bus_auto_from_sbus_in_a_bits_address = coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
  assign control_bus_auto_from_sbus_in_a_bits_mask = coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
  assign control_bus_auto_from_sbus_in_a_bits_data = coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
  assign control_bus_auto_from_sbus_in_a_bits_corrupt = coupler_to_bus_named_cbus_auto_from_sbus_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
  assign control_bus_auto_from_sbus_in_d_ready = coupler_to_bus_named_cbus_auto_from_sbus_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
  assign coupler_to_bus_named_cbus_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45774.4]
  assign coupler_to_bus_named_cbus_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45775.4]
  assign coupler_to_bus_named_cbus_auto_buffer_in_a_valid = system_bus_xbar_auto_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
  assign coupler_to_bus_named_cbus_auto_buffer_in_a_bits_opcode = system_bus_xbar_auto_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
  assign coupler_to_bus_named_cbus_auto_buffer_in_a_bits_param = system_bus_xbar_auto_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
  assign coupler_to_bus_named_cbus_auto_buffer_in_a_bits_size = system_bus_xbar_auto_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
  assign coupler_to_bus_named_cbus_auto_buffer_in_a_bits_source = system_bus_xbar_auto_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
  assign coupler_to_bus_named_cbus_auto_buffer_in_a_bits_address = system_bus_xbar_auto_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
  assign coupler_to_bus_named_cbus_auto_buffer_in_a_bits_mask = system_bus_xbar_auto_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
  assign coupler_to_bus_named_cbus_auto_buffer_in_a_bits_data = system_bus_xbar_auto_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
  assign coupler_to_bus_named_cbus_auto_buffer_in_a_bits_corrupt = system_bus_xbar_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
  assign coupler_to_bus_named_cbus_auto_buffer_in_d_ready = system_bus_xbar_auto_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@45794.4]
  assign coupler_to_bus_named_cbus_auto_from_sbus_out_a_ready = control_bus_auto_from_sbus_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
  assign coupler_to_bus_named_cbus_auto_from_sbus_out_d_valid = control_bus_auto_from_sbus_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
  assign coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_opcode = control_bus_auto_from_sbus_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
  assign coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_param = control_bus_auto_from_sbus_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
  assign coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_size = control_bus_auto_from_sbus_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
  assign coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_source = control_bus_auto_from_sbus_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
  assign coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_sink = control_bus_auto_from_sbus_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
  assign coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_denied = control_bus_auto_from_sbus_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
  assign coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_data = control_bus_auto_from_sbus_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
  assign coupler_to_bus_named_cbus_auto_from_sbus_out_d_bits_corrupt = control_bus_auto_from_sbus_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45795.4]
  assign master_splitter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45780.4]
  assign master_splitter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45781.4]
  assign master_splitter_auto_in_a_valid = coupler_from_tile_named_tile_auto_buffer_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
  assign master_splitter_auto_in_a_bits_opcode = coupler_from_tile_named_tile_auto_buffer_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
  assign master_splitter_auto_in_a_bits_param = coupler_from_tile_named_tile_auto_buffer_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
  assign master_splitter_auto_in_a_bits_size = coupler_from_tile_named_tile_auto_buffer_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
  assign master_splitter_auto_in_a_bits_source = coupler_from_tile_named_tile_auto_buffer_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
  assign master_splitter_auto_in_a_bits_address = coupler_from_tile_named_tile_auto_buffer_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
  assign master_splitter_auto_in_a_bits_mask = coupler_from_tile_named_tile_auto_buffer_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
  assign master_splitter_auto_in_a_bits_data = coupler_from_tile_named_tile_auto_buffer_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
  assign master_splitter_auto_in_a_bits_corrupt = coupler_from_tile_named_tile_auto_buffer_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
  assign master_splitter_auto_in_d_ready = coupler_from_tile_named_tile_auto_buffer_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
  assign master_splitter_auto_out_a_ready = system_bus_xbar_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
  assign master_splitter_auto_out_d_valid = system_bus_xbar_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
  assign master_splitter_auto_out_d_bits_opcode = system_bus_xbar_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
  assign master_splitter_auto_out_d_bits_param = system_bus_xbar_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
  assign master_splitter_auto_out_d_bits_size = system_bus_xbar_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
  assign master_splitter_auto_out_d_bits_source = system_bus_xbar_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
  assign master_splitter_auto_out_d_bits_sink = system_bus_xbar_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
  assign master_splitter_auto_out_d_bits_denied = system_bus_xbar_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
  assign master_splitter_auto_out_d_bits_data = system_bus_xbar_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
  assign master_splitter_auto_out_d_bits_corrupt = system_bus_xbar_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45796.4]
  assign coupler_from_tile_named_tile_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45792.4]
  assign coupler_from_tile_named_tile_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45793.4]
  assign coupler_from_tile_named_tile_auto_buffer_out_a_ready = master_splitter_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
  assign coupler_from_tile_named_tile_auto_buffer_out_d_valid = master_splitter_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
  assign coupler_from_tile_named_tile_auto_buffer_out_d_bits_opcode = master_splitter_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
  assign coupler_from_tile_named_tile_auto_buffer_out_d_bits_param = master_splitter_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
  assign coupler_from_tile_named_tile_auto_buffer_out_d_bits_size = master_splitter_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
  assign coupler_from_tile_named_tile_auto_buffer_out_d_bits_source = master_splitter_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
  assign coupler_from_tile_named_tile_auto_buffer_out_d_bits_sink = master_splitter_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
  assign coupler_from_tile_named_tile_auto_buffer_out_d_bits_denied = master_splitter_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
  assign coupler_from_tile_named_tile_auto_buffer_out_d_bits_data = master_splitter_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
  assign coupler_from_tile_named_tile_auto_buffer_out_d_bits_corrupt = master_splitter_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45797.4]
  assign coupler_from_tile_named_tile_auto_tl_master_xing_in_a_valid = auto_coupler_from_tile_named_tile_tl_master_xing_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
  assign coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_opcode = auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
  assign coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_param = auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
  assign coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_size = auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
  assign coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_source = auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
  assign coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_address = auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
  assign coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_mask = auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
  assign coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_data = auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
  assign coupler_from_tile_named_tile_auto_tl_master_xing_in_a_bits_corrupt = auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
  assign coupler_from_tile_named_tile_auto_tl_master_xing_in_d_ready = auto_coupler_from_tile_named_tile_tl_master_xing_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45805.4]
endmodule
module TLMonitor_26( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45814.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45815.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45816.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
  input  [29:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@45817.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@47319.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@45833.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@45838.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@45840.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@45841.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@45842.6]
  wire [29:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@45843.6]
  wire [29:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@45843.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@45844.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45846.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45847.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@45849.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@45850.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@45851.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@45852.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@45853.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45855.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45856.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45858.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45859.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@45860.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@45861.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@45862.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45863.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45864.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45865.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45866.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45867.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45868.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45869.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45870.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45871.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45872.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45873.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45874.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@45875.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@45876.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@45877.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45902.6]
  wire [29:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45905.8]
  wire [30:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45906.8]
  wire [30:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45907.8]
  wire [30:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45908.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45909.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45910.8]
  wire [30:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45911.8]
  wire [30:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45912.8]
  wire [30:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45913.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45914.8]
  wire [29:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45915.8]
  wire [30:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45916.8]
  wire [30:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45917.8]
  wire [30:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45918.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45919.8]
  wire [29:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45920.8]
  wire [30:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45921.8]
  wire [30:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45922.8]
  wire [30:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45923.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45924.8]
  wire [29:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45925.8]
  wire [30:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45926.8]
  wire [30:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45927.8]
  wire [30:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45928.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45929.8]
  wire [29:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45930.8]
  wire [30:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45931.8]
  wire [30:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45932.8]
  wire [30:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45933.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45934.8]
  wire [29:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45935.8]
  wire [30:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45936.8]
  wire [30:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45937.8]
  wire [30:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45938.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45939.8]
  wire [29:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45940.8]
  wire [30:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45941.8]
  wire [30:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45942.8]
  wire [30:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45943.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45944.8]
  wire  _T_132; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45945.8]
  wire  _T_133; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45946.8]
  wire  _T_134; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45947.8]
  wire  _T_135; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45948.8]
  wire  _T_143; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45956.8]
  wire  _T_148; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45969.8]
  wire  _T_149; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45970.8]
  wire  _T_152; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45977.8]
  wire  _T_153; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45978.8]
  wire  _T_155; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45984.8]
  wire  _T_156; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45985.8]
  wire  _T_157; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45990.8]
  wire  _T_159; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45992.8]
  wire  _T_160; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45993.8]
  wire [3:0] _T_161; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@45998.8]
  wire  _T_162; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45999.8]
  wire  _T_164; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46001.8]
  wire  _T_165; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46002.8]
  wire  _T_166; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@46007.8]
  wire  _T_168; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46009.8]
  wire  _T_169; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46010.8]
  wire  _T_170; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46016.6]
  wire  _T_241; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46112.8]
  wire  _T_243; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46114.8]
  wire  _T_244; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46115.8]
  wire  _T_254; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46138.6]
  wire  _T_256; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46141.8]
  wire  _T_264; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@46149.8]
  wire  _T_266; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46151.8]
  wire  _T_304; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46189.8]
  wire  _T_305; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46190.8]
  wire  _T_306; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46191.8]
  wire  _T_307; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46192.8]
  wire  _T_308; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46193.8]
  wire  _T_309; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46194.8]
  wire  _T_310; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@46195.8]
  wire  _T_312; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@46197.8]
  wire  _T_314; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46199.8]
  wire  _T_315; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46200.8]
  wire  _T_322; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46219.8]
  wire  _T_324; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46221.8]
  wire  _T_325; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46222.8]
  wire  _T_326; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46227.8]
  wire  _T_328; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46229.8]
  wire  _T_329; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46230.8]
  wire  _T_334; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46244.6]
  wire  _T_382; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46293.8]
  wire  _T_383; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46294.8]
  wire  _T_384; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@46295.8]
  wire  _T_393; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@46304.8]
  wire  _T_396; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46307.8]
  wire  _T_397; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46308.8]
  wire  _T_412; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46344.6]
  wire [3:0] _T_486; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@46435.8]
  wire [3:0] _T_487; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46436.8]
  wire  _T_488; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.8]
  wire  _T_490; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46439.8]
  wire  _T_491; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46440.8]
  wire  _T_492; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46446.6]
  wire  _T_494; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.8]
  wire  _T_536; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46491.8]
  wire  _T_537; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46492.8]
  wire  _T_538; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@46493.8]
  wire  _T_549; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46504.8]
  wire  _T_550; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46505.8]
  wire  _T_557; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@46524.8]
  wire  _T_559; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46526.8]
  wire  _T_560; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46527.8]
  wire  _T_565; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46541.6]
  wire  _T_630; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@46619.8]
  wire  _T_632; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46621.8]
  wire  _T_633; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46622.8]
  wire  _T_638; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46636.6]
  wire  _T_695; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46694.8]
  wire  _T_696; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46695.8]
  wire  _T_711; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@46733.6]
  wire  _T_713; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@46735.6]
  wire  _T_714; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@46736.6]
  wire  _T_716; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@46742.6]
  wire  _T_725; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@46747.6]
  wire  _T_727; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46749.6]
  wire  _T_729; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46752.8]
  wire  _T_730; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46753.8]
  wire  _T_731; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46758.8]
  wire  _T_733; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46760.8]
  wire  _T_734; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46761.8]
  wire  _T_735; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46766.8]
  wire  _T_737; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46768.8]
  wire  _T_738; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46769.8]
  wire  _T_739; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@46774.8]
  wire  _T_741; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46776.8]
  wire  _T_742; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46777.8]
  wire  _T_743; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@46782.8]
  wire  _T_745; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46784.8]
  wire  _T_746; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46785.8]
  wire  _T_747; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46791.6]
  wire  _T_758; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@46815.8]
  wire  _T_760; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46817.8]
  wire  _T_761; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46818.8]
  wire  _T_762; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46823.8]
  wire  _T_764; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46825.8]
  wire  _T_765; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46826.8]
  wire  _T_775; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46849.6]
  wire  _T_795; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@46890.8]
  wire  _T_797; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46892.8]
  wire  _T_798; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46893.8]
  wire  _T_804; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46908.6]
  wire  _T_821; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46943.6]
  wire  _T_839; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46979.6]
  wire  _T_868; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47039.4]
  wire [9:0] _T_873; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@47044.4]
  wire  _T_874; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@47045.4]
  wire  _T_875; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47046.4]
  reg [9:0] _T_878; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47048.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_879; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47049.4]
  wire [10:0] _T_880; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47050.4]
  wire [9:0] _T_881; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47051.4]
  wire  _T_882; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47052.4]
  reg [2:0] _T_891; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47063.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_893; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47064.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_895; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47065.4]
  reg [31:0] _RAND_3;
  reg  _T_897; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47066.4]
  reg [31:0] _RAND_4;
  reg [29:0] _T_899; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47067.4]
  reg [31:0] _RAND_5;
  wire  _T_900; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47068.4]
  wire  _T_901; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47069.4]
  wire  _T_902; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47071.6]
  wire  _T_904; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47073.6]
  wire  _T_905; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47074.6]
  wire  _T_906; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47079.6]
  wire  _T_908; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47081.6]
  wire  _T_909; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47082.6]
  wire  _T_910; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47087.6]
  wire  _T_912; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47089.6]
  wire  _T_913; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47090.6]
  wire  _T_914; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47095.6]
  wire  _T_916; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47097.6]
  wire  _T_917; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47098.6]
  wire  _T_918; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47103.6]
  wire  _T_920; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47105.6]
  wire  _T_921; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47106.6]
  wire  _T_923; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@47113.4]
  wire  _T_924; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47121.4]
  wire [26:0] _T_926; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@47123.4]
  wire [11:0] _T_927; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@47124.4]
  wire [11:0] _T_928; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@47125.4]
  wire [9:0] _T_929; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@47126.4]
  wire  _T_930; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@47127.4]
  reg [9:0] _T_933; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47129.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_934; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47130.4]
  wire [10:0] _T_935; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47131.4]
  wire [9:0] _T_936; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47132.4]
  wire  _T_937; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47133.4]
  reg [2:0] _T_946; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47144.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_948; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47145.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_950; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47146.4]
  reg [31:0] _RAND_9;
  reg  _T_952; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47147.4]
  reg [31:0] _RAND_10;
  reg  _T_954; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47148.4]
  reg [31:0] _RAND_11;
  reg  _T_956; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47149.4]
  reg [31:0] _RAND_12;
  wire  _T_957; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47150.4]
  wire  _T_958; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47151.4]
  wire  _T_959; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47153.6]
  wire  _T_961; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47155.6]
  wire  _T_962; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47156.6]
  wire  _T_963; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47161.6]
  wire  _T_965; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47163.6]
  wire  _T_966; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47164.6]
  wire  _T_967; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47169.6]
  wire  _T_969; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47171.6]
  wire  _T_970; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47172.6]
  wire  _T_971; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47177.6]
  wire  _T_973; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47179.6]
  wire  _T_974; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47180.6]
  wire  _T_975; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47185.6]
  wire  _T_977; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47187.6]
  wire  _T_978; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47188.6]
  wire  _T_979; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47193.6]
  wire  _T_981; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47195.6]
  wire  _T_982; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47196.6]
  wire  _T_984; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@47203.4]
  reg [1:0] _T_986; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47212.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_997; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47222.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_998; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47223.4]
  wire [10:0] _T_999; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47224.4]
  wire [9:0] _T_1000; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47225.4]
  wire  _T_1001; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47226.4]
  reg [9:0] _T_1018; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47245.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1019; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47246.4]
  wire [10:0] _T_1020; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47247.4]
  wire [9:0] _T_1021; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47248.4]
  wire  _T_1022; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47249.4]
  wire  _T_1033; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47264.4]
  wire [1:0] _T_1035; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@47267.6]
  wire [1:0] _T_1036; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@47269.6]
  wire  _T_1037; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@47270.6]
  wire  _T_1038; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47271.6]
  wire  _T_1040; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47273.6]
  wire  _T_1041; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47274.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@47266.4]
  wire  _T_1046; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47285.4]
  wire  _T_1048; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@47287.4]
  wire  _T_1049; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@47288.4]
  wire [1:0] _T_1050; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@47290.6]
  wire [1:0] _T_1051; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@47292.6]
  wire [1:0] _T_1052; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@47293.6]
  wire  _T_1053; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@47294.6]
  wire  _T_1055; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47296.6]
  wire  _T_1056; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47297.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@47289.4]
  wire  _T_1057; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@47303.4]
  wire  _T_1058; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@47304.4]
  wire  _T_1059; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@47305.4]
  wire  _T_1060; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@47306.4]
  wire  _T_1062; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47308.4]
  wire  _T_1063; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47309.4]
  wire [1:0] _T_1064; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47314.4]
  wire [1:0] _T_1065; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47315.4]
  wire [1:0] _T_1066; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@47316.4]
  reg [31:0] _T_1068; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47318.4]
  reg [31:0] _RAND_16;
  wire  _T_1069; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@47321.4]
  wire  _T_1070; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47322.4]
  wire  _T_1071; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@47323.4]
  wire  _T_1072; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47324.4]
  wire  _T_1073; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@47325.4]
  wire  _T_1074; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@47326.4]
  wire  _T_1076; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47328.4]
  wire  _T_1077; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47329.4]
  wire [31:0] _T_1079; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@47335.4]
  wire  _T_1082; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47339.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45958.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46072.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46202.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46310.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46410.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46507.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46602.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46697.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46755.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46797.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46855.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46914.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46949.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46985.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@47319.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@45833.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@45838.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@45840.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@45841.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@45842.6]
  assign _GEN_18 = {{18'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@45843.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@45843.6]
  assign _T_36 = _T_35 == 30'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@45844.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45846.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45847.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@45849.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@45850.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@45851.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@45852.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@45853.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45855.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45856.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45858.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45859.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@45860.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@45861.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@45862.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45863.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45864.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45865.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45866.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45867.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45868.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45869.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45870.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45871.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45872.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@45873.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@45874.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@45875.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@45876.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@45877.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@45902.6]
  assign _T_92 = io_in_a_bits_address ^ 30'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45905.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45906.8]
  assign _T_94 = $signed(_T_93) & $signed(-31'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45907.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45908.8]
  assign _T_96 = $signed(_T_95) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45909.8]
  assign _T_97 = io_in_a_bits_address ^ 30'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45910.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45911.8]
  assign _T_99 = $signed(_T_98) & $signed(-31'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45912.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45913.8]
  assign _T_101 = $signed(_T_100) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45914.8]
  assign _T_102 = io_in_a_bits_address ^ 30'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45915.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45916.8]
  assign _T_104 = $signed(_T_103) & $signed(-31'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45917.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45918.8]
  assign _T_106 = $signed(_T_105) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45919.8]
  assign _T_107 = io_in_a_bits_address ^ 30'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45920.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45921.8]
  assign _T_109 = $signed(_T_108) & $signed(-31'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45922.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45923.8]
  assign _T_111 = $signed(_T_110) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45924.8]
  assign _T_112 = io_in_a_bits_address ^ 30'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45925.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45926.8]
  assign _T_114 = $signed(_T_113) & $signed(-31'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45927.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45928.8]
  assign _T_116 = $signed(_T_115) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45929.8]
  assign _T_117 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45930.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45931.8]
  assign _T_119 = $signed(_T_118) & $signed(-31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45932.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45933.8]
  assign _T_121 = $signed(_T_120) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45934.8]
  assign _T_122 = io_in_a_bits_address ^ 30'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45935.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45936.8]
  assign _T_124 = $signed(_T_123) & $signed(-31'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45937.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45938.8]
  assign _T_126 = $signed(_T_125) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45939.8]
  assign _T_127 = io_in_a_bits_address ^ 30'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@45940.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@45941.8]
  assign _T_129 = $signed(_T_128) & $signed(-31'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45942.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@45943.8]
  assign _T_131 = $signed(_T_130) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@45944.8]
  assign _T_132 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45945.8]
  assign _T_133 = _T_132 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45946.8]
  assign _T_134 = _T_133 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45947.8]
  assign _T_135 = _T_134 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@45948.8]
  assign _T_143 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45956.8]
  assign _T_148 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45969.8]
  assign _T_149 = _T_148 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45970.8]
  assign _T_152 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45977.8]
  assign _T_153 = _T_152 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45978.8]
  assign _T_155 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45984.8]
  assign _T_156 = _T_155 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45985.8]
  assign _T_157 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@45990.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45992.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45993.8]
  assign _T_161 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@45998.8]
  assign _T_162 = _T_161 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@45999.8]
  assign _T_164 = _T_162 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46001.8]
  assign _T_165 = _T_164 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46002.8]
  assign _T_166 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@46007.8]
  assign _T_168 = _T_166 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46009.8]
  assign _T_169 = _T_168 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46010.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46016.6]
  assign _T_241 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46112.8]
  assign _T_243 = _T_241 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46114.8]
  assign _T_244 = _T_243 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46115.8]
  assign _T_254 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46138.6]
  assign _T_256 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46141.8]
  assign _T_264 = _T_256 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@46149.8]
  assign _T_266 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46151.8]
  assign _T_304 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46189.8]
  assign _T_305 = _T_304 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46190.8]
  assign _T_306 = _T_305 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46191.8]
  assign _T_307 = _T_306 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46192.8]
  assign _T_308 = _T_307 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46193.8]
  assign _T_309 = _T_308 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46194.8]
  assign _T_310 = _T_266 & _T_309; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@46195.8]
  assign _T_312 = _T_264 | _T_310; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@46197.8]
  assign _T_314 = _T_312 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46199.8]
  assign _T_315 = _T_314 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46200.8]
  assign _T_322 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46219.8]
  assign _T_324 = _T_322 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46221.8]
  assign _T_325 = _T_324 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46222.8]
  assign _T_326 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46227.8]
  assign _T_328 = _T_326 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46229.8]
  assign _T_329 = _T_328 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46230.8]
  assign _T_334 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46244.6]
  assign _T_382 = _T_306 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46293.8]
  assign _T_383 = _T_382 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46294.8]
  assign _T_384 = _T_266 & _T_383; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@46295.8]
  assign _T_393 = _T_264 | _T_384; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@46304.8]
  assign _T_396 = _T_393 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46307.8]
  assign _T_397 = _T_396 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46308.8]
  assign _T_412 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46344.6]
  assign _T_486 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@46435.8]
  assign _T_487 = io_in_a_bits_mask & _T_486; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46436.8]
  assign _T_488 = _T_487 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@46437.8]
  assign _T_490 = _T_488 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46439.8]
  assign _T_491 = _T_490 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46440.8]
  assign _T_492 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46446.6]
  assign _T_494 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46449.8]
  assign _T_536 = _T_135 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46491.8]
  assign _T_537 = _T_536 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@46492.8]
  assign _T_538 = _T_494 & _T_537; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@46493.8]
  assign _T_549 = _T_538 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46504.8]
  assign _T_550 = _T_549 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46505.8]
  assign _T_557 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@46524.8]
  assign _T_559 = _T_557 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46526.8]
  assign _T_560 = _T_559 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46527.8]
  assign _T_565 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46541.6]
  assign _T_630 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@46619.8]
  assign _T_632 = _T_630 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46621.8]
  assign _T_633 = _T_632 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46622.8]
  assign _T_638 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46636.6]
  assign _T_695 = _T_264 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46694.8]
  assign _T_696 = _T_695 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46695.8]
  assign _T_711 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@46733.6]
  assign _T_713 = _T_711 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@46735.6]
  assign _T_714 = _T_713 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@46736.6]
  assign _T_716 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@46742.6]
  assign _T_725 = io_in_d_bits_source | _T_716; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@46747.6]
  assign _T_727 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46749.6]
  assign _T_729 = _T_725 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46752.8]
  assign _T_730 = _T_729 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46753.8]
  assign _T_731 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@46758.8]
  assign _T_733 = _T_731 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46760.8]
  assign _T_734 = _T_733 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46761.8]
  assign _T_735 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46766.8]
  assign _T_737 = _T_735 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46768.8]
  assign _T_738 = _T_737 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46769.8]
  assign _T_739 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@46774.8]
  assign _T_741 = _T_739 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46776.8]
  assign _T_742 = _T_741 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46777.8]
  assign _T_743 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@46782.8]
  assign _T_745 = _T_743 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46784.8]
  assign _T_746 = _T_745 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46785.8]
  assign _T_747 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46791.6]
  assign _T_758 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@46815.8]
  assign _T_760 = _T_758 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46817.8]
  assign _T_761 = _T_760 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46818.8]
  assign _T_762 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@46823.8]
  assign _T_764 = _T_762 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46825.8]
  assign _T_765 = _T_764 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46826.8]
  assign _T_775 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46849.6]
  assign _T_795 = _T_743 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@46890.8]
  assign _T_797 = _T_795 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46892.8]
  assign _T_798 = _T_797 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46893.8]
  assign _T_804 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46908.6]
  assign _T_821 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46943.6]
  assign _T_839 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@46979.6]
  assign _T_868 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47039.4]
  assign _T_873 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@47044.4]
  assign _T_874 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@47045.4]
  assign _T_875 = _T_874 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47046.4]
  assign _T_879 = _T_878 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47049.4]
  assign _T_880 = $unsigned(_T_879); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47050.4]
  assign _T_881 = _T_880[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47051.4]
  assign _T_882 = _T_878 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47052.4]
  assign _T_900 = _T_882 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47068.4]
  assign _T_901 = io_in_a_valid & _T_900; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47069.4]
  assign _T_902 = io_in_a_bits_opcode == _T_891; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47071.6]
  assign _T_904 = _T_902 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47073.6]
  assign _T_905 = _T_904 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47074.6]
  assign _T_906 = io_in_a_bits_param == _T_893; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47079.6]
  assign _T_908 = _T_906 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47081.6]
  assign _T_909 = _T_908 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47082.6]
  assign _T_910 = io_in_a_bits_size == _T_895; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47087.6]
  assign _T_912 = _T_910 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47089.6]
  assign _T_913 = _T_912 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47090.6]
  assign _T_914 = io_in_a_bits_source == _T_897; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47095.6]
  assign _T_916 = _T_914 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47097.6]
  assign _T_917 = _T_916 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47098.6]
  assign _T_918 = io_in_a_bits_address == _T_899; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47103.6]
  assign _T_920 = _T_918 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47105.6]
  assign _T_921 = _T_920 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47106.6]
  assign _T_923 = _T_868 & _T_882; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@47113.4]
  assign _T_924 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47121.4]
  assign _T_926 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@47123.4]
  assign _T_927 = _T_926[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@47124.4]
  assign _T_928 = ~ _T_927; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@47125.4]
  assign _T_929 = _T_928[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@47126.4]
  assign _T_930 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@47127.4]
  assign _T_934 = _T_933 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47130.4]
  assign _T_935 = $unsigned(_T_934); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47131.4]
  assign _T_936 = _T_935[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47132.4]
  assign _T_937 = _T_933 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47133.4]
  assign _T_957 = _T_937 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@47150.4]
  assign _T_958 = io_in_d_valid & _T_957; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47151.4]
  assign _T_959 = io_in_d_bits_opcode == _T_946; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47153.6]
  assign _T_961 = _T_959 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47155.6]
  assign _T_962 = _T_961 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47156.6]
  assign _T_963 = io_in_d_bits_param == _T_948; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47161.6]
  assign _T_965 = _T_963 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47163.6]
  assign _T_966 = _T_965 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47164.6]
  assign _T_967 = io_in_d_bits_size == _T_950; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47169.6]
  assign _T_969 = _T_967 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47171.6]
  assign _T_970 = _T_969 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47172.6]
  assign _T_971 = io_in_d_bits_source == _T_952; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47177.6]
  assign _T_973 = _T_971 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47179.6]
  assign _T_974 = _T_973 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47180.6]
  assign _T_975 = io_in_d_bits_sink == _T_954; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47185.6]
  assign _T_977 = _T_975 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47187.6]
  assign _T_978 = _T_977 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47188.6]
  assign _T_979 = io_in_d_bits_denied == _T_956; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47193.6]
  assign _T_981 = _T_979 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47195.6]
  assign _T_982 = _T_981 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47196.6]
  assign _T_984 = _T_924 & _T_937; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@47203.4]
  assign _T_998 = _T_997 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47223.4]
  assign _T_999 = $unsigned(_T_998); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47224.4]
  assign _T_1000 = _T_999[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47225.4]
  assign _T_1001 = _T_997 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47226.4]
  assign _T_1019 = _T_1018 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47246.4]
  assign _T_1020 = $unsigned(_T_1019); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47247.4]
  assign _T_1021 = _T_1020[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47248.4]
  assign _T_1022 = _T_1018 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47249.4]
  assign _T_1033 = _T_868 & _T_1001; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47264.4]
  assign _T_1035 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@47267.6]
  assign _T_1036 = _T_986 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@47269.6]
  assign _T_1037 = _T_1036[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@47270.6]
  assign _T_1038 = _T_1037 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47271.6]
  assign _T_1040 = _T_1038 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47273.6]
  assign _T_1041 = _T_1040 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47274.6]
  assign _GEN_15 = _T_1033 ? _T_1035 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@47266.4]
  assign _T_1046 = _T_924 & _T_1022; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47285.4]
  assign _T_1048 = _T_727 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@47287.4]
  assign _T_1049 = _T_1046 & _T_1048; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@47288.4]
  assign _T_1050 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@47290.6]
  assign _T_1051 = _GEN_15 | _T_986; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@47292.6]
  assign _T_1052 = _T_1051 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@47293.6]
  assign _T_1053 = _T_1052[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@47294.6]
  assign _T_1055 = _T_1053 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47296.6]
  assign _T_1056 = _T_1055 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47297.6]
  assign _GEN_16 = _T_1049 ? _T_1050 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@47289.4]
  assign _T_1057 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@47303.4]
  assign _T_1058 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@47304.4]
  assign _T_1059 = _T_1058 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@47305.4]
  assign _T_1060 = _T_1057 | _T_1059; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@47306.4]
  assign _T_1062 = _T_1060 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47308.4]
  assign _T_1063 = _T_1062 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47309.4]
  assign _T_1064 = _T_986 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47314.4]
  assign _T_1065 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47315.4]
  assign _T_1066 = _T_1064 & _T_1065; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@47316.4]
  assign _T_1069 = _T_986 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@47321.4]
  assign _T_1070 = _T_1069 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47322.4]
  assign _T_1071 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@47323.4]
  assign _T_1072 = _T_1070 | _T_1071; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47324.4]
  assign _T_1073 = _T_1068 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@47325.4]
  assign _T_1074 = _T_1072 | _T_1073; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@47326.4]
  assign _T_1076 = _T_1074 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47328.4]
  assign _T_1077 = _T_1076 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47329.4]
  assign _T_1079 = _T_1068 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@47335.4]
  assign _T_1082 = _T_868 | _T_924; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47339.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45958.10]
  assign _GEN_35 = io_in_a_valid & _T_170; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46072.10]
  assign _GEN_53 = io_in_a_valid & _T_254; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46202.10]
  assign _GEN_65 = io_in_a_valid & _T_334; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46310.10]
  assign _GEN_75 = io_in_a_valid & _T_412; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46410.10]
  assign _GEN_85 = io_in_a_valid & _T_492; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46507.10]
  assign _GEN_95 = io_in_a_valid & _T_565; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46602.10]
  assign _GEN_105 = io_in_a_valid & _T_638; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46697.10]
  assign _GEN_115 = io_in_d_valid & _T_727; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46755.10]
  assign _GEN_125 = io_in_d_valid & _T_747; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46797.10]
  assign _GEN_137 = io_in_d_valid & _T_775; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46855.10]
  assign _GEN_149 = io_in_d_valid & _T_804; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46914.10]
  assign _GEN_155 = io_in_d_valid & _T_821; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46949.10]
  assign _GEN_161 = io_in_d_valid & _T_839; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46985.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_878 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_891 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_893 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_895 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_897 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_899 = _RAND_5[29:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_933 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_946 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_948 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_950 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_952 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_954 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_956 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_986 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_997 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1018 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1068 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_878 <= 10'h0;
    end else begin
      if (_T_868) begin
        if (_T_882) begin
          if (_T_875) begin
            _T_878 <= _T_873;
          end else begin
            _T_878 <= 10'h0;
          end
        end else begin
          _T_878 <= _T_881;
        end
      end
    end
    if (_T_923) begin
      _T_891 <= io_in_a_bits_opcode;
    end
    if (_T_923) begin
      _T_893 <= io_in_a_bits_param;
    end
    if (_T_923) begin
      _T_895 <= io_in_a_bits_size;
    end
    if (_T_923) begin
      _T_897 <= io_in_a_bits_source;
    end
    if (_T_923) begin
      _T_899 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_933 <= 10'h0;
    end else begin
      if (_T_924) begin
        if (_T_937) begin
          if (_T_930) begin
            _T_933 <= _T_929;
          end else begin
            _T_933 <= 10'h0;
          end
        end else begin
          _T_933 <= _T_936;
        end
      end
    end
    if (_T_984) begin
      _T_946 <= io_in_d_bits_opcode;
    end
    if (_T_984) begin
      _T_948 <= io_in_d_bits_param;
    end
    if (_T_984) begin
      _T_950 <= io_in_d_bits_size;
    end
    if (_T_984) begin
      _T_952 <= io_in_d_bits_source;
    end
    if (_T_984) begin
      _T_954 <= io_in_d_bits_sink;
    end
    if (_T_984) begin
      _T_956 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_986 <= 2'h0;
    end else begin
      _T_986 <= _T_1066;
    end
    if (reset) begin
      _T_997 <= 10'h0;
    end else begin
      if (_T_868) begin
        if (_T_1001) begin
          if (_T_875) begin
            _T_997 <= _T_873;
          end else begin
            _T_997 <= 10'h0;
          end
        end else begin
          _T_997 <= _T_1000;
        end
      end
    end
    if (reset) begin
      _T_1018 <= 10'h0;
    end else begin
      if (_T_924) begin
        if (_T_1022) begin
          if (_T_930) begin
            _T_1018 <= _T_929;
          end else begin
            _T_1018 <= 10'h0;
          end
        end else begin
          _T_1018 <= _T_1021;
        end
      end
    end
    if (reset) begin
      _T_1068 <= 32'h0;
    end else begin
      if (_T_1082) begin
        _T_1068 <= 32'h0;
      end else begin
        _T_1068 <= _T_1079;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45829.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45830.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45899.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@45900.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45958.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_143) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45959.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45965.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_143) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45966.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45972.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_149) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45973.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_153) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45980.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_153) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45981.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45987.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_156) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45988.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45995.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_160) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@45996.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_165) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46004.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_165) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46005.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_169) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46012.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_169) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46013.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46072.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_143) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46073.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46079.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_143) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46080.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46086.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_149) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46087.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_153) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46094.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_153) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46095.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46101.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_156) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46102.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46109.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46110.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_244) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46117.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_244) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46118.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_165) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46126.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_165) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46127.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_169) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46134.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_169) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46135.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_315) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46202.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_315) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46203.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46209.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_149) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46210.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46216.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_156) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46217.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_325) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46224.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_325) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46225.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46232.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_329) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46233.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_169) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46240.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_169) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46241.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_397) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46310.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_397) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46311.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46317.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_149) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46318.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46324.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_156) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46325.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_325) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46332.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_325) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46333.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46340.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_329) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46341.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_397) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46410.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_397) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46411.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46417.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_149) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46418.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46424.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_156) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46425.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_325) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46432.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_325) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46433.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_491) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46442.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_491) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46443.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_550) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46507.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_550) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46508.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46514.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_149) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46515.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46521.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_156) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46522.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_560) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46529.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_560) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46530.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46537.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_329) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46538.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_550) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46602.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_550) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46603.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46609.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_149) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46610.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46616.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_156) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46617.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_633) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46624.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_633) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46625.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46632.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_329) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46633.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_696) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46697.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_696) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46698.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46704.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_149) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46705.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46711.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_156) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46712.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46719.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_329) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46720.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_169) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46727.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_169) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46728.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_714) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@46738.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_714) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@46739.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46755.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_730) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46756.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_734) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46763.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_734) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46764.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_738) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46771.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_738) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46772.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_742) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46779.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_742) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46780.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_746) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46787.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_746) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46788.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46797.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_730) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46798.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46804.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_143) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46805.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_734) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46812.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_734) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46813.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_761) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46820.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_761) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46821.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_765) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46828.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_765) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46829.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_742) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46836.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_742) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46837.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46845.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46846.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46855.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_730) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46856.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46862.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_143) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46863.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_734) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46870.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_734) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46871.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_761) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46878.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_761) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46879.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_765) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46886.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_765) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46887.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_798) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46895.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_798) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46896.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46904.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46905.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46914.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_730) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46915.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_738) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46922.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_738) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46923.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_742) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46930.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_742) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46931.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46939.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46940.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46949.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_730) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46950.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_738) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46957.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_738) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46958.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_798) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46966.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_798) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46967.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46975.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46976.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46985.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_730) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46986.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_738) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46993.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_738) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@46994.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_742) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47001.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_742) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47002.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47010.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47011.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47020.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47021.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47028.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47029.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47036.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47037.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_905) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47076.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_905) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47077.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_909) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47084.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_909) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47085.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_913) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47092.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_913) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47093.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_917) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47100.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_917) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47101.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_921) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47108.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_921) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47109.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_962) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47158.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_962) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47159.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_966) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47166.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_966) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47167.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_970) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47174.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_970) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47175.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_974) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47182.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_974) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47183.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_978) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47190.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_978) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47191.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_982) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47198.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_982) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47199.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1033 & _T_1041) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47276.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1033 & _T_1041) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47277.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1049 & _T_1056) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47299.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1049 & _T_1056) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47300.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1063) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47311.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1063) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@47312.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1077) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47331.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1077) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47332.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLXbar_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47344.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47345.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47346.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  input  [29:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  output [29:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47347.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
  wire [29:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
  TLMonitor_26 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47354.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47394.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47394.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47394.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47394.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47394.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47394.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47394.4]
  assign auto_in_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47394.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47394.4]
  assign auto_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47394.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47393.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47393.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47393.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47393.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47393.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47393.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47393.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47393.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47393.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47393.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47356.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47357.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@47390.4]
endmodule
module TLMonitor_27( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47527.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47528.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47529.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
  input  [29:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@47530.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@49021.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@47546.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@47551.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@47553.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@47554.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@47555.6]
  wire [29:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@47556.6]
  wire [29:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@47556.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@47557.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47559.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47560.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@47562.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@47563.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@47564.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@47565.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@47566.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47568.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47569.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47571.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47572.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@47573.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@47574.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@47575.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47576.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47577.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47578.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47579.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47580.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47581.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47582.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47583.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47584.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47585.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47586.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47587.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@47588.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@47589.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@47590.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47615.6]
  wire [29:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47618.8]
  wire [30:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47619.8]
  wire [30:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47620.8]
  wire [30:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47621.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47622.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47623.8]
  wire [30:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47624.8]
  wire [30:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47625.8]
  wire [30:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47626.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47627.8]
  wire [29:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47628.8]
  wire [30:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47629.8]
  wire [30:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47630.8]
  wire [30:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47631.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47632.8]
  wire [29:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47633.8]
  wire [30:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47634.8]
  wire [30:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47635.8]
  wire [30:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47636.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47637.8]
  wire [29:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47638.8]
  wire [30:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47639.8]
  wire [30:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47640.8]
  wire [30:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47641.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47642.8]
  wire [29:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47643.8]
  wire [30:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47644.8]
  wire [30:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47645.8]
  wire [30:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47646.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47647.8]
  wire [29:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47648.8]
  wire [30:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47649.8]
  wire [30:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47650.8]
  wire [30:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47651.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47652.8]
  wire [29:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47653.8]
  wire [30:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47654.8]
  wire [30:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47655.8]
  wire [30:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47656.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47657.8]
  wire  _T_143; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47669.8]
  wire  _T_148; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47682.8]
  wire  _T_149; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47683.8]
  wire  _T_152; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47690.8]
  wire  _T_153; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47691.8]
  wire  _T_155; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47697.8]
  wire  _T_156; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47698.8]
  wire  _T_157; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47703.8]
  wire  _T_159; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47705.8]
  wire  _T_160; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47706.8]
  wire [3:0] _T_161; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@47711.8]
  wire  _T_162; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47712.8]
  wire  _T_164; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47714.8]
  wire  _T_165; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47715.8]
  wire  _T_166; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@47720.8]
  wire  _T_168; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47722.8]
  wire  _T_169; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47723.8]
  wire  _T_170; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47729.6]
  wire  _T_241; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47825.8]
  wire  _T_243; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47827.8]
  wire  _T_244; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47828.8]
  wire  _T_254; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47851.6]
  wire  _T_256; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47854.8]
  wire  _T_264; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@47862.8]
  wire  _T_266; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47864.8]
  wire  _T_304; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47902.8]
  wire  _T_305; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47903.8]
  wire  _T_306; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47904.8]
  wire  _T_307; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47905.8]
  wire  _T_308; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47906.8]
  wire  _T_309; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47907.8]
  wire  _T_310; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@47908.8]
  wire  _T_312; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@47910.8]
  wire  _T_314; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47912.8]
  wire  _T_315; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47913.8]
  wire  _T_322; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47932.8]
  wire  _T_324; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47934.8]
  wire  _T_325; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47935.8]
  wire  _T_326; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47940.8]
  wire  _T_328; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47942.8]
  wire  _T_329; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47943.8]
  wire  _T_334; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47957.6]
  wire  _T_382; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48006.8]
  wire  _T_383; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48007.8]
  wire  _T_384; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@48008.8]
  wire  _T_393; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@48017.8]
  wire  _T_396; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48020.8]
  wire  _T_397; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48021.8]
  wire  _T_412; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48057.6]
  wire [3:0] _T_486; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@48148.8]
  wire [3:0] _T_487; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48149.8]
  wire  _T_488; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@48150.8]
  wire  _T_490; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48152.8]
  wire  _T_491; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48153.8]
  wire  _T_492; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48159.6]
  wire  _T_494; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48162.8]
  wire  _T_502; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@48170.8]
  wire  _T_549; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48217.8]
  wire  _T_550; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48218.8]
  wire  _T_557; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@48237.8]
  wire  _T_559; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48239.8]
  wire  _T_560; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48240.8]
  wire  _T_565; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48254.6]
  wire  _T_630; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@48332.8]
  wire  _T_632; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48334.8]
  wire  _T_633; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48335.8]
  wire  _T_638; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48349.6]
  wire  _T_695; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48407.8]
  wire  _T_696; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48408.8]
  wire  _T_711; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@48446.6]
  wire  _T_713; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@48448.6]
  wire  _T_714; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@48449.6]
  wire  _T_716; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@48455.6]
  wire  _T_725; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@48460.6]
  wire  _T_727; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48462.6]
  wire  _T_729; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48465.8]
  wire  _T_730; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48466.8]
  wire  _T_731; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48471.8]
  wire  _T_733; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48473.8]
  wire  _T_734; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48474.8]
  wire  _T_735; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48479.8]
  wire  _T_737; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48481.8]
  wire  _T_738; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48482.8]
  wire  _T_739; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@48487.8]
  wire  _T_741; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48489.8]
  wire  _T_742; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48490.8]
  wire  _T_743; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@48495.8]
  wire  _T_745; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48497.8]
  wire  _T_746; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48498.8]
  wire  _T_747; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48504.6]
  wire  _T_758; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@48528.8]
  wire  _T_760; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48530.8]
  wire  _T_761; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48531.8]
  wire  _T_762; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48536.8]
  wire  _T_764; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48538.8]
  wire  _T_765; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48539.8]
  wire  _T_775; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48562.6]
  wire  _T_795; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@48603.8]
  wire  _T_797; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48605.8]
  wire  _T_798; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48606.8]
  wire  _T_804; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48621.6]
  wire  _T_821; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48656.6]
  wire  _T_839; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48692.6]
  wire  _T_868; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48752.4]
  wire [9:0] _T_873; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@48757.4]
  wire  _T_874; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@48758.4]
  wire  _T_875; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48759.4]
  reg [9:0] _T_878; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48761.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_879; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48762.4]
  wire [10:0] _T_880; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48763.4]
  wire [9:0] _T_881; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48764.4]
  wire  _T_882; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48765.4]
  reg [2:0] _T_891; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48776.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_893; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48777.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_895; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48778.4]
  reg [31:0] _RAND_3;
  reg  _T_897; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48779.4]
  reg [31:0] _RAND_4;
  reg [29:0] _T_899; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48780.4]
  reg [31:0] _RAND_5;
  wire  _T_900; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48781.4]
  wire  _T_901; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@48782.4]
  wire  _T_902; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48784.6]
  wire  _T_904; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48786.6]
  wire  _T_905; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48787.6]
  wire  _T_906; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48792.6]
  wire  _T_908; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48794.6]
  wire  _T_909; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48795.6]
  wire  _T_910; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48800.6]
  wire  _T_912; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48802.6]
  wire  _T_913; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48803.6]
  wire  _T_914; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48808.6]
  wire  _T_916; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48810.6]
  wire  _T_917; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48811.6]
  wire  _T_918; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48816.6]
  wire  _T_920; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48818.6]
  wire  _T_921; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48819.6]
  wire  _T_923; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@48826.4]
  wire  _T_924; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48834.4]
  wire [26:0] _T_926; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@48836.4]
  wire [11:0] _T_927; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@48837.4]
  wire [11:0] _T_928; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@48838.4]
  wire [9:0] _T_929; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@48839.4]
  wire  _T_930; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@48840.4]
  reg [9:0] _T_933; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48842.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_934; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48843.4]
  wire [10:0] _T_935; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48844.4]
  wire [9:0] _T_936; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48845.4]
  wire  _T_937; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48846.4]
  reg [2:0] _T_946; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48857.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_948; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48858.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_950; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48859.4]
  reg [31:0] _RAND_9;
  reg  _T_952; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48860.4]
  reg [31:0] _RAND_10;
  reg  _T_954; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48861.4]
  reg [31:0] _RAND_11;
  reg  _T_956; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48862.4]
  reg [31:0] _RAND_12;
  wire  _T_957; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48863.4]
  wire  _T_958; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@48864.4]
  wire  _T_959; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48866.6]
  wire  _T_961; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48868.6]
  wire  _T_962; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48869.6]
  wire  _T_963; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48874.6]
  wire  _T_965; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48876.6]
  wire  _T_966; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48877.6]
  wire  _T_967; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48882.6]
  wire  _T_969; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48884.6]
  wire  _T_970; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48885.6]
  wire  _T_971; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48890.6]
  wire  _T_973; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48892.6]
  wire  _T_974; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48893.6]
  wire  _T_975; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48898.6]
  wire  _T_977; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48900.6]
  wire  _T_978; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48901.6]
  wire  _T_979; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48906.6]
  wire  _T_981; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48908.6]
  wire  _T_982; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48909.6]
  wire  _T_984; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@48916.4]
  reg [1:0] _T_986; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48925.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_997; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48935.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_998; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48936.4]
  wire [10:0] _T_999; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48937.4]
  wire [9:0] _T_1000; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48938.4]
  wire  _T_1001; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48939.4]
  reg [9:0] _T_1018; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48958.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1019; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48959.4]
  wire [10:0] _T_1020; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48960.4]
  wire [9:0] _T_1021; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48961.4]
  wire  _T_1022; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48962.4]
  wire  _T_1033; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48977.4]
  wire [1:0] _T_1035; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@48980.6]
  wire [1:0] _T_1036; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@48982.6]
  wire  _T_1037; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@48983.6]
  wire  _T_1038; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48984.6]
  wire  _T_1040; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@48986.6]
  wire  _T_1041; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@48987.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@48979.4]
  wire  _T_1046; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48998.4]
  wire  _T_1048; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@49000.4]
  wire  _T_1049; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49001.4]
  wire [1:0] _T_1050; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@49003.6]
  wire [1:0] _T_1051; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@49005.6]
  wire [1:0] _T_1052; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@49006.6]
  wire  _T_1053; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@49007.6]
  wire  _T_1055; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49009.6]
  wire  _T_1056; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49010.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@49002.4]
  wire [1:0] _T_1057; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49016.4]
  wire [1:0] _T_1058; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@49017.4]
  wire [1:0] _T_1059; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49018.4]
  reg [31:0] _T_1061; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49020.4]
  reg [31:0] _RAND_16;
  wire  _T_1062; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@49023.4]
  wire  _T_1063; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49024.4]
  wire  _T_1064; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49025.4]
  wire  _T_1065; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49026.4]
  wire  _T_1066; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@49027.4]
  wire  _T_1067; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@49028.4]
  wire  _T_1069; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@49030.4]
  wire  _T_1070; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@49031.4]
  wire [31:0] _T_1072; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@49037.4]
  wire  _T_1075; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49041.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47671.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47785.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47915.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48023.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48123.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48220.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48315.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48410.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48468.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48510.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48568.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48627.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48662.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48698.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@49021.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@47546.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@47551.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@47553.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@47554.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@47555.6]
  assign _GEN_18 = {{18'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@47556.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@47556.6]
  assign _T_36 = _T_35 == 30'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@47557.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47559.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47560.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@47562.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@47563.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@47564.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@47565.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@47566.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47568.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47569.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47571.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47572.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@47573.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@47574.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@47575.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47576.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47577.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47578.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47579.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47580.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47581.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47582.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47583.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47584.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47585.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@47586.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@47587.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@47588.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@47589.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@47590.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47615.6]
  assign _T_92 = io_in_a_bits_address ^ 30'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47618.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47619.8]
  assign _T_94 = $signed(_T_93) & $signed(-31'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47620.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47621.8]
  assign _T_96 = $signed(_T_95) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47622.8]
  assign _T_97 = io_in_a_bits_address ^ 30'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47623.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47624.8]
  assign _T_99 = $signed(_T_98) & $signed(-31'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47625.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47626.8]
  assign _T_101 = $signed(_T_100) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47627.8]
  assign _T_102 = io_in_a_bits_address ^ 30'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47628.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47629.8]
  assign _T_104 = $signed(_T_103) & $signed(-31'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47630.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47631.8]
  assign _T_106 = $signed(_T_105) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47632.8]
  assign _T_107 = io_in_a_bits_address ^ 30'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47633.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47634.8]
  assign _T_109 = $signed(_T_108) & $signed(-31'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47635.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47636.8]
  assign _T_111 = $signed(_T_110) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47637.8]
  assign _T_112 = io_in_a_bits_address ^ 30'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47638.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47639.8]
  assign _T_114 = $signed(_T_113) & $signed(-31'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47640.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47641.8]
  assign _T_116 = $signed(_T_115) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47642.8]
  assign _T_117 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47643.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47644.8]
  assign _T_119 = $signed(_T_118) & $signed(-31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47645.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47646.8]
  assign _T_121 = $signed(_T_120) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47647.8]
  assign _T_122 = io_in_a_bits_address ^ 30'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47648.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47649.8]
  assign _T_124 = $signed(_T_123) & $signed(-31'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47650.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47651.8]
  assign _T_126 = $signed(_T_125) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47652.8]
  assign _T_127 = io_in_a_bits_address ^ 30'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@47653.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@47654.8]
  assign _T_129 = $signed(_T_128) & $signed(-31'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47655.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@47656.8]
  assign _T_131 = $signed(_T_130) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@47657.8]
  assign _T_143 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47669.8]
  assign _T_148 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47682.8]
  assign _T_149 = _T_148 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47683.8]
  assign _T_152 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47690.8]
  assign _T_153 = _T_152 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47691.8]
  assign _T_155 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47697.8]
  assign _T_156 = _T_155 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47698.8]
  assign _T_157 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47703.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47705.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47706.8]
  assign _T_161 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@47711.8]
  assign _T_162 = _T_161 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47712.8]
  assign _T_164 = _T_162 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47714.8]
  assign _T_165 = _T_164 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47715.8]
  assign _T_166 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@47720.8]
  assign _T_168 = _T_166 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47722.8]
  assign _T_169 = _T_168 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47723.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47729.6]
  assign _T_241 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47825.8]
  assign _T_243 = _T_241 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47827.8]
  assign _T_244 = _T_243 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47828.8]
  assign _T_254 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47851.6]
  assign _T_256 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47854.8]
  assign _T_264 = _T_256 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@47862.8]
  assign _T_266 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47864.8]
  assign _T_304 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47902.8]
  assign _T_305 = _T_304 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47903.8]
  assign _T_306 = _T_305 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47904.8]
  assign _T_307 = _T_306 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47905.8]
  assign _T_308 = _T_307 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47906.8]
  assign _T_309 = _T_308 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@47907.8]
  assign _T_310 = _T_266 & _T_309; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@47908.8]
  assign _T_312 = _T_264 | _T_310; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@47910.8]
  assign _T_314 = _T_312 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47912.8]
  assign _T_315 = _T_314 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47913.8]
  assign _T_322 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@47932.8]
  assign _T_324 = _T_322 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47934.8]
  assign _T_325 = _T_324 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47935.8]
  assign _T_326 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@47940.8]
  assign _T_328 = _T_326 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47942.8]
  assign _T_329 = _T_328 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47943.8]
  assign _T_334 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@47957.6]
  assign _T_382 = _T_306 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48006.8]
  assign _T_383 = _T_382 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48007.8]
  assign _T_384 = _T_266 & _T_383; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@48008.8]
  assign _T_393 = _T_264 | _T_384; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@48017.8]
  assign _T_396 = _T_393 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48020.8]
  assign _T_397 = _T_396 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48021.8]
  assign _T_412 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48057.6]
  assign _T_486 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@48148.8]
  assign _T_487 = io_in_a_bits_mask & _T_486; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48149.8]
  assign _T_488 = _T_487 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@48150.8]
  assign _T_490 = _T_488 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48152.8]
  assign _T_491 = _T_490 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48153.8]
  assign _T_492 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48159.6]
  assign _T_494 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@48162.8]
  assign _T_502 = _T_494 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@48170.8]
  assign _T_549 = _T_502 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48217.8]
  assign _T_550 = _T_549 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48218.8]
  assign _T_557 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@48237.8]
  assign _T_559 = _T_557 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48239.8]
  assign _T_560 = _T_559 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48240.8]
  assign _T_565 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48254.6]
  assign _T_630 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@48332.8]
  assign _T_632 = _T_630 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48334.8]
  assign _T_633 = _T_632 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48335.8]
  assign _T_638 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48349.6]
  assign _T_695 = _T_264 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48407.8]
  assign _T_696 = _T_695 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48408.8]
  assign _T_711 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@48446.6]
  assign _T_713 = _T_711 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@48448.6]
  assign _T_714 = _T_713 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@48449.6]
  assign _T_716 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@48455.6]
  assign _T_725 = io_in_d_bits_source | _T_716; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@48460.6]
  assign _T_727 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48462.6]
  assign _T_729 = _T_725 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48465.8]
  assign _T_730 = _T_729 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48466.8]
  assign _T_731 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48471.8]
  assign _T_733 = _T_731 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48473.8]
  assign _T_734 = _T_733 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48474.8]
  assign _T_735 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48479.8]
  assign _T_737 = _T_735 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48481.8]
  assign _T_738 = _T_737 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48482.8]
  assign _T_739 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@48487.8]
  assign _T_741 = _T_739 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48489.8]
  assign _T_742 = _T_741 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48490.8]
  assign _T_743 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@48495.8]
  assign _T_745 = _T_743 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48497.8]
  assign _T_746 = _T_745 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48498.8]
  assign _T_747 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48504.6]
  assign _T_758 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@48528.8]
  assign _T_760 = _T_758 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48530.8]
  assign _T_761 = _T_760 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48531.8]
  assign _T_762 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48536.8]
  assign _T_764 = _T_762 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48538.8]
  assign _T_765 = _T_764 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48539.8]
  assign _T_775 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48562.6]
  assign _T_795 = _T_743 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@48603.8]
  assign _T_797 = _T_795 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48605.8]
  assign _T_798 = _T_797 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48606.8]
  assign _T_804 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48621.6]
  assign _T_821 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48656.6]
  assign _T_839 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48692.6]
  assign _T_868 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48752.4]
  assign _T_873 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@48757.4]
  assign _T_874 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@48758.4]
  assign _T_875 = _T_874 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48759.4]
  assign _T_879 = _T_878 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48762.4]
  assign _T_880 = $unsigned(_T_879); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48763.4]
  assign _T_881 = _T_880[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48764.4]
  assign _T_882 = _T_878 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48765.4]
  assign _T_900 = _T_882 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48781.4]
  assign _T_901 = io_in_a_valid & _T_900; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@48782.4]
  assign _T_902 = io_in_a_bits_opcode == _T_891; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48784.6]
  assign _T_904 = _T_902 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48786.6]
  assign _T_905 = _T_904 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48787.6]
  assign _T_906 = io_in_a_bits_param == _T_893; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48792.6]
  assign _T_908 = _T_906 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48794.6]
  assign _T_909 = _T_908 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48795.6]
  assign _T_910 = io_in_a_bits_size == _T_895; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48800.6]
  assign _T_912 = _T_910 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48802.6]
  assign _T_913 = _T_912 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48803.6]
  assign _T_914 = io_in_a_bits_source == _T_897; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48808.6]
  assign _T_916 = _T_914 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48810.6]
  assign _T_917 = _T_916 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48811.6]
  assign _T_918 = io_in_a_bits_address == _T_899; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48816.6]
  assign _T_920 = _T_918 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48818.6]
  assign _T_921 = _T_920 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48819.6]
  assign _T_923 = _T_868 & _T_882; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@48826.4]
  assign _T_924 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48834.4]
  assign _T_926 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@48836.4]
  assign _T_927 = _T_926[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@48837.4]
  assign _T_928 = ~ _T_927; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@48838.4]
  assign _T_929 = _T_928[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@48839.4]
  assign _T_930 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@48840.4]
  assign _T_934 = _T_933 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48843.4]
  assign _T_935 = $unsigned(_T_934); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48844.4]
  assign _T_936 = _T_935[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48845.4]
  assign _T_937 = _T_933 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48846.4]
  assign _T_957 = _T_937 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@48863.4]
  assign _T_958 = io_in_d_valid & _T_957; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@48864.4]
  assign _T_959 = io_in_d_bits_opcode == _T_946; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48866.6]
  assign _T_961 = _T_959 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48868.6]
  assign _T_962 = _T_961 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48869.6]
  assign _T_963 = io_in_d_bits_param == _T_948; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48874.6]
  assign _T_965 = _T_963 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48876.6]
  assign _T_966 = _T_965 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48877.6]
  assign _T_967 = io_in_d_bits_size == _T_950; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48882.6]
  assign _T_969 = _T_967 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48884.6]
  assign _T_970 = _T_969 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48885.6]
  assign _T_971 = io_in_d_bits_source == _T_952; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48890.6]
  assign _T_973 = _T_971 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48892.6]
  assign _T_974 = _T_973 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48893.6]
  assign _T_975 = io_in_d_bits_sink == _T_954; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48898.6]
  assign _T_977 = _T_975 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48900.6]
  assign _T_978 = _T_977 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48901.6]
  assign _T_979 = io_in_d_bits_denied == _T_956; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@48906.6]
  assign _T_981 = _T_979 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48908.6]
  assign _T_982 = _T_981 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48909.6]
  assign _T_984 = _T_924 & _T_937; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@48916.4]
  assign _T_998 = _T_997 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48936.4]
  assign _T_999 = $unsigned(_T_998); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48937.4]
  assign _T_1000 = _T_999[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48938.4]
  assign _T_1001 = _T_997 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48939.4]
  assign _T_1019 = _T_1018 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48959.4]
  assign _T_1020 = $unsigned(_T_1019); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48960.4]
  assign _T_1021 = _T_1020[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@48961.4]
  assign _T_1022 = _T_1018 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@48962.4]
  assign _T_1033 = _T_868 & _T_1001; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48977.4]
  assign _T_1035 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@48980.6]
  assign _T_1036 = _T_986 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@48982.6]
  assign _T_1037 = _T_1036[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@48983.6]
  assign _T_1038 = _T_1037 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48984.6]
  assign _T_1040 = _T_1038 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@48986.6]
  assign _T_1041 = _T_1040 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@48987.6]
  assign _GEN_15 = _T_1033 ? _T_1035 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@48979.4]
  assign _T_1046 = _T_924 & _T_1022; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@48998.4]
  assign _T_1048 = _T_727 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@49000.4]
  assign _T_1049 = _T_1046 & _T_1048; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49001.4]
  assign _T_1050 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@49003.6]
  assign _T_1051 = _GEN_15 | _T_986; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@49005.6]
  assign _T_1052 = _T_1051 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@49006.6]
  assign _T_1053 = _T_1052[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@49007.6]
  assign _T_1055 = _T_1053 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49009.6]
  assign _T_1056 = _T_1055 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49010.6]
  assign _GEN_16 = _T_1049 ? _T_1050 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@49002.4]
  assign _T_1057 = _T_986 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49016.4]
  assign _T_1058 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@49017.4]
  assign _T_1059 = _T_1057 & _T_1058; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49018.4]
  assign _T_1062 = _T_986 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@49023.4]
  assign _T_1063 = _T_1062 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49024.4]
  assign _T_1064 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49025.4]
  assign _T_1065 = _T_1063 | _T_1064; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49026.4]
  assign _T_1066 = _T_1061 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@49027.4]
  assign _T_1067 = _T_1065 | _T_1066; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@49028.4]
  assign _T_1069 = _T_1067 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@49030.4]
  assign _T_1070 = _T_1069 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@49031.4]
  assign _T_1072 = _T_1061 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@49037.4]
  assign _T_1075 = _T_868 | _T_924; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@49041.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47671.10]
  assign _GEN_35 = io_in_a_valid & _T_170; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47785.10]
  assign _GEN_53 = io_in_a_valid & _T_254; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47915.10]
  assign _GEN_65 = io_in_a_valid & _T_334; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48023.10]
  assign _GEN_75 = io_in_a_valid & _T_412; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48123.10]
  assign _GEN_85 = io_in_a_valid & _T_492; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48220.10]
  assign _GEN_95 = io_in_a_valid & _T_565; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48315.10]
  assign _GEN_105 = io_in_a_valid & _T_638; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48410.10]
  assign _GEN_115 = io_in_d_valid & _T_727; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48468.10]
  assign _GEN_125 = io_in_d_valid & _T_747; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48510.10]
  assign _GEN_137 = io_in_d_valid & _T_775; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48568.10]
  assign _GEN_149 = io_in_d_valid & _T_804; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48627.10]
  assign _GEN_155 = io_in_d_valid & _T_821; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48662.10]
  assign _GEN_161 = io_in_d_valid & _T_839; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48698.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_878 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_891 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_893 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_895 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_897 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_899 = _RAND_5[29:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_933 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_946 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_948 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_950 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_952 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_954 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_956 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_986 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_997 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1018 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1061 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_878 <= 10'h0;
    end else begin
      if (_T_868) begin
        if (_T_882) begin
          if (_T_875) begin
            _T_878 <= _T_873;
          end else begin
            _T_878 <= 10'h0;
          end
        end else begin
          _T_878 <= _T_881;
        end
      end
    end
    if (_T_923) begin
      _T_891 <= io_in_a_bits_opcode;
    end
    if (_T_923) begin
      _T_893 <= io_in_a_bits_param;
    end
    if (_T_923) begin
      _T_895 <= io_in_a_bits_size;
    end
    if (_T_923) begin
      _T_897 <= io_in_a_bits_source;
    end
    if (_T_923) begin
      _T_899 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_933 <= 10'h0;
    end else begin
      if (_T_924) begin
        if (_T_937) begin
          if (_T_930) begin
            _T_933 <= _T_929;
          end else begin
            _T_933 <= 10'h0;
          end
        end else begin
          _T_933 <= _T_936;
        end
      end
    end
    if (_T_984) begin
      _T_946 <= io_in_d_bits_opcode;
    end
    if (_T_984) begin
      _T_948 <= io_in_d_bits_param;
    end
    if (_T_984) begin
      _T_950 <= io_in_d_bits_size;
    end
    if (_T_984) begin
      _T_952 <= io_in_d_bits_source;
    end
    if (_T_984) begin
      _T_954 <= io_in_d_bits_sink;
    end
    if (_T_984) begin
      _T_956 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_986 <= 2'h0;
    end else begin
      _T_986 <= _T_1059;
    end
    if (reset) begin
      _T_997 <= 10'h0;
    end else begin
      if (_T_868) begin
        if (_T_1001) begin
          if (_T_875) begin
            _T_997 <= _T_873;
          end else begin
            _T_997 <= 10'h0;
          end
        end else begin
          _T_997 <= _T_1000;
        end
      end
    end
    if (reset) begin
      _T_1018 <= 10'h0;
    end else begin
      if (_T_924) begin
        if (_T_1022) begin
          if (_T_930) begin
            _T_1018 <= _T_929;
          end else begin
            _T_1018 <= 10'h0;
          end
        end else begin
          _T_1018 <= _T_1021;
        end
      end
    end
    if (reset) begin
      _T_1061 <= 32'h0;
    end else begin
      if (_T_1075) begin
        _T_1061 <= 32'h0;
      end else begin
        _T_1061 <= _T_1072;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47542.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47543.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47612.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@47613.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47671.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_143) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47672.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47678.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_143) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47679.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47685.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_149) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47686.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_153) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47693.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_153) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47694.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47700.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_156) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47701.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47708.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_160) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47709.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_165) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47717.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_165) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47718.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_169) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47725.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_169) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47726.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47785.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_143) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47786.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47792.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_143) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47793.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47799.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_149) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47800.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_153) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47807.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_153) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47808.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47814.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_156) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47815.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47822.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47823.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_244) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47830.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_244) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47831.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_165) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47839.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_165) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47840.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_169) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47847.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_169) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47848.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_315) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47915.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_315) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47916.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47922.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_149) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47923.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47929.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_156) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47930.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_325) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47937.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_325) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47938.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47945.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_329) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47946.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_169) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47953.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_169) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@47954.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_397) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48023.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_397) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48024.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48030.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_149) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48031.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48037.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_156) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48038.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_325) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48045.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_325) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48046.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48053.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_329) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48054.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_397) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48123.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_397) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48124.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48130.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_149) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48131.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48137.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_156) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48138.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_325) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48145.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_325) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48146.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_491) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48155.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_491) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48156.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_550) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48220.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_550) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48221.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48227.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_149) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48228.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48234.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_156) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48235.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_560) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48242.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_560) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48243.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48250.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_329) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48251.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_550) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48315.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_550) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48316.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48322.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_149) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48323.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48329.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_156) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48330.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_633) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48337.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_633) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48338.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48345.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_329) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48346.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_696) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48410.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_696) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48411.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48417.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_149) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48418.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48424.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_156) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48425.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48432.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_329) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48433.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_169) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48440.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_169) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48441.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_714) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@48451.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_714) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@48452.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48468.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_730) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48469.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_734) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48476.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_734) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48477.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_738) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48484.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_738) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48485.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_742) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48492.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_742) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48493.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_746) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48500.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_746) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48501.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48510.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_730) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48511.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48517.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_143) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48518.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_734) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48525.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_734) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48526.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_761) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48533.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_761) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48534.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_765) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48541.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_765) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48542.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_742) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48549.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_742) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48550.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48558.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48559.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48568.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_730) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48569.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48575.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_143) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48576.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_734) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48583.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_734) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48584.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_761) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48591.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_761) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48592.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_765) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48599.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_765) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48600.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_798) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48608.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_798) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48609.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48617.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48618.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48627.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_730) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48628.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_738) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48635.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_738) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48636.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_742) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48643.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_742) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48644.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48652.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48653.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48662.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_730) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48663.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_738) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48670.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_738) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48671.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_798) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48679.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_798) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48680.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48688.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48689.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48698.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_730) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48699.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_738) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48706.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_738) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48707.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_742) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48714.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_742) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48715.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48723.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48724.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48733.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48734.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48741.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48742.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48749.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48750.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_905) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48789.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_905) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48790.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_909) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48797.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_909) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48798.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_913) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48805.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_913) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48806.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_917) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48813.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_917) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48814.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_921) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48821.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_921) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48822.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_962) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48871.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_962) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48872.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_966) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48879.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_966) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48880.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_970) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48887.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_970) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48888.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_974) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48895.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_974) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48896.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_978) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48903.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_978) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48904.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_982) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48911.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_982) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@48912.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1033 & _T_1041) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@48989.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1033 & _T_1041) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@48990.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1049 & _T_1056) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49012.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1049 & _T_1056) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@49013.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1070) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:39:17)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@49033.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1070) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@49034.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLXbar_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49046.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49047.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49048.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [29:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_12_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_12_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_12_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_12_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_12_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_12_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [28:0] auto_out_12_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [3:0]  auto_out_12_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [31:0] auto_out_12_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_12_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_12_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_12_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [2:0]  auto_out_12_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [2:0]  auto_out_12_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_12_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [31:0] auto_out_12_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_11_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_11_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_11_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_11_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_11_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_11_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [28:0] auto_out_11_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [3:0]  auto_out_11_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [31:0] auto_out_11_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_11_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_11_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_11_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [2:0]  auto_out_11_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [2:0]  auto_out_11_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_11_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [31:0] auto_out_11_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_10_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_10_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_10_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_10_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_10_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_10_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [28:0] auto_out_10_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [3:0]  auto_out_10_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [31:0] auto_out_10_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_10_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_10_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_10_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [2:0]  auto_out_10_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [2:0]  auto_out_10_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_10_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [31:0] auto_out_10_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_9_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_9_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_9_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_9_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_9_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_9_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [28:0] auto_out_9_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [3:0]  auto_out_9_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [31:0] auto_out_9_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_9_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_9_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_9_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [2:0]  auto_out_9_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [2:0]  auto_out_9_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_9_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [31:0] auto_out_9_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_8_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_8_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_8_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_8_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_8_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_8_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [28:0] auto_out_8_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [3:0]  auto_out_8_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [31:0] auto_out_8_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_8_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_8_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_8_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [2:0]  auto_out_8_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [2:0]  auto_out_8_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_8_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [31:0] auto_out_8_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_7_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_7_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_7_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_7_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_7_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_7_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [29:0] auto_out_7_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [3:0]  auto_out_7_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_7_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_7_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_7_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [2:0]  auto_out_7_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_7_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [31:0] auto_out_7_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_7_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_6_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_6_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_6_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_6_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_6_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_6_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [28:0] auto_out_6_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [3:0]  auto_out_6_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [31:0] auto_out_6_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_6_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_6_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_6_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [2:0]  auto_out_6_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [2:0]  auto_out_6_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_6_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [31:0] auto_out_6_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_5_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_5_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_5_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_5_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_5_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_5_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [28:0] auto_out_5_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [3:0]  auto_out_5_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [31:0] auto_out_5_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_5_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_5_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_5_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [2:0]  auto_out_5_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [2:0]  auto_out_5_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_5_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [31:0] auto_out_5_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_4_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_4_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_4_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_4_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_4_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_4_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [28:0] auto_out_4_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [3:0]  auto_out_4_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [31:0] auto_out_4_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_4_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_4_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_4_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [2:0]  auto_out_4_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [2:0]  auto_out_4_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_4_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [31:0] auto_out_4_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_3_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_3_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_3_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_3_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_3_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_3_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [28:0] auto_out_3_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [3:0]  auto_out_3_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [31:0] auto_out_3_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_3_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_3_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_3_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [2:0]  auto_out_3_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [2:0]  auto_out_3_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_3_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [31:0] auto_out_3_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_2_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_2_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_2_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_2_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_2_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_2_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [28:0] auto_out_2_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [3:0]  auto_out_2_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [31:0] auto_out_2_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_2_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_2_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_2_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [2:0]  auto_out_2_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [2:0]  auto_out_2_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_2_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [31:0] auto_out_2_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_1_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_1_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_1_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_1_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_1_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_1_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [28:0] auto_out_1_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [3:0]  auto_out_1_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [31:0] auto_out_1_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_1_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_1_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_1_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [2:0]  auto_out_1_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [2:0]  auto_out_1_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_1_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [31:0] auto_out_1_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_0_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_0_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_0_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [2:0]  auto_out_0_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [3:0]  auto_out_0_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_0_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [13:0] auto_out_0_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output [3:0]  auto_out_0_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_0_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  output        auto_out_0_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_0_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [2:0]  auto_out_0_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input  [3:0]  auto_out_0_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_0_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
  input         auto_out_0_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49049.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
  wire [29:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
  reg [9:0] _T_3833; // @[Arbiter.scala 53:30:shc.marmotcaravel.MarmotCaravelConfig.fir@50321.4]
  reg [31:0] _RAND_0;
  wire  _T_3834; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@50322.4]
  wire [1:0] _T_3844; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50332.4]
  wire [1:0] _T_3843; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50331.4]
  wire [3:0] _T_3845; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50333.4]
  wire [1:0] _T_3841; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50329.4]
  wire [2:0] _T_3842; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50330.4]
  wire [6:0] _T_3846; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50334.4]
  wire [1:0] _T_3838; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50326.4]
  wire [2:0] _T_3839; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50327.4]
  wire [1:0] _T_3836; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50324.4]
  wire [2:0] _T_3837; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50325.4]
  wire [5:0] _T_3840; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50328.4]
  wire [12:0] _T_3847; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50335.4]
  reg [12:0] _T_3855; // @[Arbiter.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@50346.4]
  reg [31:0] _RAND_1;
  wire [12:0] _T_3856; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@50347.4]
  wire [12:0] _T_3857; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@50348.4]
  wire [25:0] _T_3858; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50349.4]
  wire [24:0] _T_3859; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50350.4]
  wire [25:0] _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50351.4]
  wire [25:0] _T_3860; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50351.4]
  wire [23:0] _T_3861; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50352.4]
  wire [25:0] _GEN_2; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50353.4]
  wire [25:0] _T_3862; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50353.4]
  wire [21:0] _T_3863; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50354.4]
  wire [25:0] _GEN_3; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50355.4]
  wire [25:0] _T_3864; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50355.4]
  wire [17:0] _T_3865; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50356.4]
  wire [25:0] _GEN_4; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50357.4]
  wire [25:0] _T_3866; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50357.4]
  wire [24:0] _T_3868; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50359.4]
  wire [25:0] _GEN_5; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@50360.4]
  wire [25:0] _T_3869; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@50360.4]
  wire [25:0] _GEN_6; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50361.4]
  wire [25:0] _T_3870; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50361.4]
  wire [12:0] _T_3871; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50362.4]
  wire [12:0] _T_3872; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50363.4]
  wire [12:0] _T_3873; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@50364.4]
  wire [12:0] _T_3874; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@50365.4]
  wire  _T_3892; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50386.4]
  wire  _T_3924; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50414.4]
  reg  _T_4131_0; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
  reg [31:0] _RAND_2;
  wire  _T_4175_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  wire [4:0] _T_4294; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50667.4]
  wire [4:0] _T_4293; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50666.4]
  wire [9:0] _T_4295; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50668.4]
  wire [32:0] _T_4290; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50663.4]
  wire [34:0] _T_4292; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50665.4]
  wire [44:0] _T_4296; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50669.4]
  wire [44:0] _T_4297; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50670.4]
  wire  _T_3893; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50387.4]
  wire  _T_3925; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50415.4]
  reg  _T_4131_1; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
  reg [31:0] _RAND_3;
  wire  _T_4175_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  wire [4:0] _T_4302; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50675.4]
  wire [3:0] out_1_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49164.4]
  wire [4:0] _T_4301; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50674.4]
  wire [9:0] _T_4303; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50676.4]
  wire [32:0] _T_4298; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50671.4]
  wire [34:0] _T_4300; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50673.4]
  wire [44:0] _T_4304; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50677.4]
  wire [44:0] _T_4305; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50678.4]
  wire [44:0] _T_4394; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50767.4]
  wire  _T_3894; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50388.4]
  wire  _T_3926; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50416.4]
  reg  _T_4131_2; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
  reg [31:0] _RAND_4;
  wire  _T_4175_2; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  wire [4:0] _T_4310; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50683.4]
  wire [3:0] out_2_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49174.4]
  wire [4:0] _T_4309; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50682.4]
  wire [9:0] _T_4311; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50684.4]
  wire [32:0] _T_4306; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50679.4]
  wire [34:0] _T_4308; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50681.4]
  wire [44:0] _T_4312; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50685.4]
  wire [44:0] _T_4313; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50686.4]
  wire [44:0] _T_4395; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50768.4]
  wire  _T_3895; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50389.4]
  wire  _T_3927; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50417.4]
  reg  _T_4131_3; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
  reg [31:0] _RAND_5;
  wire  _T_4175_3; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  wire [4:0] _T_4318; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50691.4]
  wire [3:0] out_3_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49184.4]
  wire [4:0] _T_4317; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50690.4]
  wire [9:0] _T_4319; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50692.4]
  wire [32:0] _T_4314; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50687.4]
  wire [34:0] _T_4316; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50689.4]
  wire [44:0] _T_4320; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50693.4]
  wire [44:0] _T_4321; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50694.4]
  wire [44:0] _T_4396; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50769.4]
  wire  _T_3896; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50390.4]
  wire  _T_3928; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50418.4]
  reg  _T_4131_4; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
  reg [31:0] _RAND_6;
  wire  _T_4175_4; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  wire [4:0] _T_4326; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50699.4]
  wire [3:0] out_4_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49194.4]
  wire [4:0] _T_4325; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50698.4]
  wire [9:0] _T_4327; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50700.4]
  wire [32:0] _T_4322; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50695.4]
  wire [34:0] _T_4324; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50697.4]
  wire [44:0] _T_4328; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50701.4]
  wire [44:0] _T_4329; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50702.4]
  wire [44:0] _T_4397; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50770.4]
  wire  _T_3897; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50391.4]
  wire  _T_3929; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50419.4]
  reg  _T_4131_5; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
  reg [31:0] _RAND_7;
  wire  _T_4175_5; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  wire [4:0] _T_4334; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50707.4]
  wire [3:0] out_5_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49204.4]
  wire [4:0] _T_4333; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50706.4]
  wire [9:0] _T_4335; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50708.4]
  wire [32:0] _T_4330; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50703.4]
  wire [34:0] _T_4332; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50705.4]
  wire [44:0] _T_4336; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50709.4]
  wire [44:0] _T_4337; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50710.4]
  wire [44:0] _T_4398; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50771.4]
  wire  _T_3898; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50392.4]
  wire  _T_3930; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50420.4]
  reg  _T_4131_6; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
  reg [31:0] _RAND_8;
  wire  _T_4175_6; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  wire [4:0] _T_4342; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50715.4]
  wire [3:0] out_6_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49214.4]
  wire [4:0] _T_4341; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50714.4]
  wire [9:0] _T_4343; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50716.4]
  wire [32:0] _T_4338; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50711.4]
  wire [34:0] _T_4340; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50713.4]
  wire [44:0] _T_4344; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50717.4]
  wire [44:0] _T_4345; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50718.4]
  wire [44:0] _T_4399; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50772.4]
  wire  _T_3899; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50393.4]
  wire  _T_3931; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50421.4]
  reg  _T_4131_7; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
  reg [31:0] _RAND_9;
  wire  _T_4175_7; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  wire [3:0] out_7_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49224.4]
  wire [4:0] _T_4349; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50722.4]
  wire [9:0] _T_4351; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50724.4]
  wire [32:0] _T_4346; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50719.4]
  wire [34:0] _T_4348; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50721.4]
  wire [44:0] _T_4352; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50725.4]
  wire [44:0] _T_4353; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50726.4]
  wire [44:0] _T_4400; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50773.4]
  wire  _T_3900; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50394.4]
  wire  _T_3932; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50422.4]
  reg  _T_4131_8; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
  reg [31:0] _RAND_10;
  wire  _T_4175_8; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  wire [4:0] _T_4358; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50731.4]
  wire [3:0] out_8_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49234.4]
  wire [4:0] _T_4357; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50730.4]
  wire [9:0] _T_4359; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50732.4]
  wire [32:0] _T_4354; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50727.4]
  wire [34:0] _T_4356; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50729.4]
  wire [44:0] _T_4360; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50733.4]
  wire [44:0] _T_4361; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50734.4]
  wire [44:0] _T_4401; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50774.4]
  wire  _T_3901; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50395.4]
  wire  _T_3933; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50423.4]
  reg  _T_4131_9; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
  reg [31:0] _RAND_11;
  wire  _T_4175_9; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  wire [4:0] _T_4366; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50739.4]
  wire [3:0] out_9_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49244.4]
  wire [4:0] _T_4365; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50738.4]
  wire [9:0] _T_4367; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50740.4]
  wire [32:0] _T_4362; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50735.4]
  wire [34:0] _T_4364; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50737.4]
  wire [44:0] _T_4368; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50741.4]
  wire [44:0] _T_4369; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50742.4]
  wire [44:0] _T_4402; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50775.4]
  wire  _T_3902; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50396.4]
  wire  _T_3934; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50424.4]
  reg  _T_4131_10; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
  reg [31:0] _RAND_12;
  wire  _T_4175_10; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  wire [4:0] _T_4374; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50747.4]
  wire [3:0] out_10_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49254.4]
  wire [4:0] _T_4373; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50746.4]
  wire [9:0] _T_4375; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50748.4]
  wire [32:0] _T_4370; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50743.4]
  wire [34:0] _T_4372; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50745.4]
  wire [44:0] _T_4376; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50749.4]
  wire [44:0] _T_4377; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50750.4]
  wire [44:0] _T_4403; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50776.4]
  wire  _T_3903; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50397.4]
  wire  _T_3935; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50425.4]
  reg  _T_4131_11; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
  reg [31:0] _RAND_13;
  wire  _T_4175_11; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  wire [4:0] _T_4382; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50755.4]
  wire [3:0] out_11_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49264.4]
  wire [4:0] _T_4381; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50754.4]
  wire [9:0] _T_4383; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50756.4]
  wire [32:0] _T_4378; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50751.4]
  wire [34:0] _T_4380; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50753.4]
  wire [44:0] _T_4384; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50757.4]
  wire [44:0] _T_4385; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50758.4]
  wire [44:0] _T_4404; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50777.4]
  wire  _T_3904; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50398.4]
  wire  _T_3936; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50426.4]
  reg  _T_4131_12; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50592.4]
  reg [31:0] _RAND_14;
  wire  _T_4175_12; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  wire [4:0] _T_4390; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50763.4]
  wire [3:0] out_12_d_bits_size; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49274.4]
  wire [4:0] _T_4389; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50762.4]
  wire [9:0] _T_4391; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50764.4]
  wire [32:0] _T_4386; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50759.4]
  wire [34:0] _T_4388; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50761.4]
  wire [44:0] _T_4392; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50765.4]
  wire [44:0] _T_4393; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50766.4]
  wire [44:0] _T_4405; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50778.4]
  wire [29:0] _T_2350; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49279.4]
  wire [30:0] _T_2351; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49280.4]
  wire [30:0] _T_2352; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49281.4]
  wire [30:0] _T_2353; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49282.4]
  wire  requestAIO_0_0; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49283.4]
  wire [29:0] _T_2355; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49285.4]
  wire [30:0] _T_2356; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49286.4]
  wire [30:0] _T_2357; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49287.4]
  wire [30:0] _T_2358; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49288.4]
  wire  requestAIO_0_1; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49289.4]
  wire [29:0] _T_2360; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49291.4]
  wire [30:0] _T_2361; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49292.4]
  wire [30:0] _T_2362; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49293.4]
  wire [30:0] _T_2363; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49294.4]
  wire  requestAIO_0_2; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49295.4]
  wire [29:0] _T_2365; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49297.4]
  wire [30:0] _T_2366; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49298.4]
  wire [30:0] _T_2367; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49299.4]
  wire [30:0] _T_2368; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49300.4]
  wire  requestAIO_0_3; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49301.4]
  wire [29:0] _T_2370; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49303.4]
  wire [30:0] _T_2371; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49304.4]
  wire [30:0] _T_2372; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49305.4]
  wire [30:0] _T_2373; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49306.4]
  wire  requestAIO_0_4; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49307.4]
  wire [29:0] _T_2375; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49309.4]
  wire [30:0] _T_2376; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49310.4]
  wire [30:0] _T_2377; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49311.4]
  wire [30:0] _T_2378; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49312.4]
  wire  requestAIO_0_5; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49313.4]
  wire [29:0] _T_2380; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49315.4]
  wire [30:0] _T_2381; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49316.4]
  wire [30:0] _T_2382; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49317.4]
  wire [30:0] _T_2383; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49318.4]
  wire  requestAIO_0_6; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49319.4]
  wire [29:0] _T_2385; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49321.4]
  wire [30:0] _T_2386; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49322.4]
  wire [30:0] _T_2387; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49323.4]
  wire [30:0] _T_2388; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49324.4]
  wire  requestAIO_0_7; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49325.4]
  wire [29:0] _T_2390; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49327.4]
  wire [30:0] _T_2391; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49328.4]
  wire [30:0] _T_2392; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49329.4]
  wire [30:0] _T_2393; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49330.4]
  wire  requestAIO_0_8; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49331.4]
  wire [29:0] _T_2395; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49333.4]
  wire [30:0] _T_2396; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49334.4]
  wire [30:0] _T_2397; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49335.4]
  wire [30:0] _T_2398; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49336.4]
  wire  requestAIO_0_9; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49337.4]
  wire [29:0] _T_2400; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49339.4]
  wire [30:0] _T_2401; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49340.4]
  wire [30:0] _T_2402; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49341.4]
  wire [30:0] _T_2403; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49342.4]
  wire  requestAIO_0_10; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49343.4]
  wire [29:0] _T_2405; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49345.4]
  wire [30:0] _T_2406; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49346.4]
  wire [30:0] _T_2407; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49347.4]
  wire [30:0] _T_2408; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49348.4]
  wire  requestAIO_0_11; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49349.4]
  wire [29:0] _T_2410; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49351.4]
  wire [30:0] _T_2411; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49352.4]
  wire [30:0] _T_2412; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49353.4]
  wire [30:0] _T_2413; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49354.4]
  wire  requestAIO_0_12; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49355.4]
  wire [26:0] _T_2767; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49763.4]
  wire [11:0] _T_2768; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49764.4]
  wire [11:0] _T_2769; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49765.4]
  wire [9:0] _T_2770; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49766.4]
  wire  _T_2771; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49767.4]
  wire [9:0] beatsDO_0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49768.4]
  wire [20:0] _T_2773; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49770.4]
  wire [5:0] _T_2774; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49771.4]
  wire [5:0] _T_2775; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49772.4]
  wire [3:0] _T_2776; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49773.4]
  wire  _T_2777; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49774.4]
  wire [3:0] beatsDO_1; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49775.4]
  wire [20:0] _T_2779; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49777.4]
  wire [5:0] _T_2780; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49778.4]
  wire [5:0] _T_2781; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49779.4]
  wire [3:0] _T_2782; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49780.4]
  wire  _T_2783; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49781.4]
  wire [3:0] beatsDO_2; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49782.4]
  wire [20:0] _T_2785; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49784.4]
  wire [5:0] _T_2786; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49785.4]
  wire [5:0] _T_2787; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49786.4]
  wire [3:0] _T_2788; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49787.4]
  wire  _T_2789; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49788.4]
  wire [3:0] beatsDO_3; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49789.4]
  wire [20:0] _T_2791; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49791.4]
  wire [5:0] _T_2792; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49792.4]
  wire [5:0] _T_2793; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49793.4]
  wire [3:0] _T_2794; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49794.4]
  wire  _T_2795; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49795.4]
  wire [3:0] beatsDO_4; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49796.4]
  wire [20:0] _T_2797; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49798.4]
  wire [5:0] _T_2798; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49799.4]
  wire [5:0] _T_2799; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49800.4]
  wire [3:0] _T_2800; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49801.4]
  wire  _T_2801; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49802.4]
  wire [3:0] beatsDO_5; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49803.4]
  wire [20:0] _T_2803; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49805.4]
  wire [5:0] _T_2804; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  wire [5:0] _T_2805; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49807.4]
  wire [3:0] _T_2806; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49808.4]
  wire  _T_2807; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49809.4]
  wire [3:0] beatsDO_6; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49810.4]
  wire [20:0] _T_2809; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49812.4]
  wire [5:0] _T_2810; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49813.4]
  wire [5:0] _T_2811; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49814.4]
  wire [3:0] beatsDO_7; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49815.4]
  wire [20:0] _T_2815; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49819.4]
  wire [5:0] _T_2816; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49820.4]
  wire [5:0] _T_2817; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49821.4]
  wire [3:0] _T_2818; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49822.4]
  wire  _T_2819; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49823.4]
  wire [3:0] beatsDO_8; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49824.4]
  wire [20:0] _T_2821; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49826.4]
  wire [5:0] _T_2822; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49827.4]
  wire [5:0] _T_2823; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49828.4]
  wire [3:0] _T_2824; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49829.4]
  wire  _T_2825; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49830.4]
  wire [3:0] beatsDO_9; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49831.4]
  wire [20:0] _T_2827; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49833.4]
  wire [5:0] _T_2828; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49834.4]
  wire [5:0] _T_2829; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49835.4]
  wire [3:0] _T_2830; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49836.4]
  wire  _T_2831; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49837.4]
  wire [3:0] beatsDO_10; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49838.4]
  wire [20:0] _T_2833; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49840.4]
  wire [5:0] _T_2834; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49841.4]
  wire [5:0] _T_2835; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49842.4]
  wire [3:0] _T_2836; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49843.4]
  wire  _T_2837; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49844.4]
  wire [3:0] beatsDO_11; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49845.4]
  wire [20:0] _T_2839; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49847.4]
  wire [5:0] _T_2840; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49848.4]
  wire [5:0] _T_2841; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49849.4]
  wire [3:0] _T_2842; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49850.4]
  wire  _T_2843; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49851.4]
  wire [3:0] beatsDO_12; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49852.4]
  wire  _T_2973; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4]
  wire  _T_2974; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49908.4]
  wire  _T_2975; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49909.4]
  wire  _T_2976; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49910.4]
  wire  _T_2977; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49911.4]
  wire  _T_2978; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49912.4]
  wire  _T_2979; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49913.4]
  wire  _T_2980; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49914.4]
  wire  _T_2981; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49915.4]
  wire  _T_2982; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49916.4]
  wire  _T_2983; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49917.4]
  wire  _T_2984; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49918.4]
  wire  _T_2985; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49919.4]
  wire  _T_2986; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49920.4]
  wire  _T_2987; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49921.4]
  wire  _T_2988; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49922.4]
  wire  _T_2989; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49923.4]
  wire  _T_2990; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49924.4]
  wire  _T_2991; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49925.4]
  wire  _T_2992; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49926.4]
  wire  _T_2993; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49927.4]
  wire  _T_2994; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49928.4]
  wire  _T_2995; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49929.4]
  wire  _T_2996; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49930.4]
  wire  _T_3835; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50323.4]
  wire  _T_3849; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@50337.4]
  wire  _T_3851; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@50339.4]
  wire  _T_3852; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@50340.4]
  wire  _T_3875; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@50366.4]
  wire  _T_3876; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@50367.4]
  wire [12:0] _T_3877; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50369.6]
  wire [13:0] _GEN_7; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50370.6]
  wire [13:0] _T_3878; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50370.6]
  wire [12:0] _T_3879; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@50371.6]
  wire [12:0] _T_3880; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50372.6]
  wire [14:0] _GEN_8; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50373.6]
  wire [14:0] _T_3881; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50373.6]
  wire [12:0] _T_3882; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@50374.6]
  wire [12:0] _T_3883; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50375.6]
  wire [16:0] _GEN_9; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50376.6]
  wire [16:0] _T_3884; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50376.6]
  wire [12:0] _T_3885; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@50377.6]
  wire [12:0] _T_3886; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50378.6]
  wire [20:0] _GEN_10; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50379.6]
  wire [20:0] _T_3887; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50379.6]
  wire [12:0] _T_3888; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@50380.6]
  wire [12:0] _T_3889; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50381.6]
  wire  _T_3957; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50443.4]
  wire  _T_3958; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50444.4]
  wire  _T_3959; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50445.4]
  wire  _T_3960; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50446.4]
  wire  _T_3961; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50447.4]
  wire  _T_3962; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50448.4]
  wire  _T_3963; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50449.4]
  wire  _T_3964; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50450.4]
  wire  _T_3965; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50451.4]
  wire  _T_3966; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50452.4]
  wire  _T_3967; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50453.4]
  wire  _T_3968; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50454.4]
  wire  _T_3970; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50456.4]
  wire  _T_3973; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50459.4]
  wire  _T_3974; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50460.4]
  wire  _T_3975; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50461.4]
  wire  _T_3976; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50462.4]
  wire  _T_3977; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50463.4]
  wire  _T_3978; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50464.4]
  wire  _T_3979; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50465.4]
  wire  _T_3980; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50466.4]
  wire  _T_3981; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50467.4]
  wire  _T_3982; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50468.4]
  wire  _T_3983; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50469.4]
  wire  _T_3984; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50470.4]
  wire  _T_3985; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50471.4]
  wire  _T_3986; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50472.4]
  wire  _T_3987; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50473.4]
  wire  _T_3988; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50474.4]
  wire  _T_3989; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50475.4]
  wire  _T_3990; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50476.4]
  wire  _T_3991; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50477.4]
  wire  _T_3992; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50478.4]
  wire  _T_3993; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50479.4]
  wire  _T_3994; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50480.4]
  wire  _T_3995; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50481.4]
  wire  _T_3996; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50482.4]
  wire  _T_3997; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50483.4]
  wire  _T_3998; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50484.4]
  wire  _T_3999; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50485.4]
  wire  _T_4000; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50486.4]
  wire  _T_4001; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50487.4]
  wire  _T_4002; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50488.4]
  wire  _T_4003; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50489.4]
  wire  _T_4004; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50490.4]
  wire  _T_4005; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50491.4]
  wire  _T_4006; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50492.4]
  wire  _T_4007; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50493.4]
  wire  _T_4009; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50495.4]
  wire  _T_4010; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50496.4]
  wire  _T_4011; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50497.4]
  wire  _T_4012; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50498.4]
  wire  _T_4013; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50499.4]
  wire  _T_4014; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50500.4]
  wire  _T_4015; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50501.4]
  wire  _T_4016; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50502.4]
  wire  _T_4017; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50503.4]
  wire  _T_4018; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50504.4]
  wire  _T_4019; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50505.4]
  wire  _T_4021; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@50507.4]
  wire  _T_4022; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@50508.4]
  wire  _T_4023; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50513.4]
  wire  _T_4024; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50514.4]
  wire  _T_4025; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50515.4]
  wire  _T_4026; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50516.4]
  wire  _T_4027; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50517.4]
  wire  _T_4028; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50518.4]
  wire  _T_4029; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50519.4]
  wire  _T_4030; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50520.4]
  wire  _T_4031; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50521.4]
  wire  _T_4032; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50522.4]
  wire  _T_4033; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50523.4]
  wire  _T_4034; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50524.4]
  wire  _T_4035; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@50525.4]
  wire  _T_4048; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50538.4]
  wire  _T_4050; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50540.4]
  wire  _T_4051; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50541.4]
  wire [9:0] _T_4052; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50546.4]
  wire [3:0] _T_4053; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50547.4]
  wire [3:0] _T_4054; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50548.4]
  wire [3:0] _T_4055; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50549.4]
  wire [3:0] _T_4056; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50550.4]
  wire [3:0] _T_4057; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50551.4]
  wire [3:0] _T_4058; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50552.4]
  wire [3:0] _T_4059; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50553.4]
  wire [3:0] _T_4060; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50554.4]
  wire [3:0] _T_4061; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50555.4]
  wire [3:0] _T_4062; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50556.4]
  wire [3:0] _T_4063; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50557.4]
  wire [3:0] _T_4064; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50558.4]
  wire [9:0] _GEN_11; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50559.4]
  wire [9:0] _T_4065; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50559.4]
  wire [9:0] _GEN_12; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50560.4]
  wire [9:0] _T_4066; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50560.4]
  wire [9:0] _GEN_13; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50561.4]
  wire [9:0] _T_4067; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50561.4]
  wire [9:0] _GEN_14; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50562.4]
  wire [9:0] _T_4068; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50562.4]
  wire [9:0] _GEN_15; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50563.4]
  wire [9:0] _T_4069; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50563.4]
  wire [9:0] _GEN_16; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50564.4]
  wire [9:0] _T_4070; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50564.4]
  wire [9:0] _GEN_17; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50565.4]
  wire [9:0] _T_4071; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50565.4]
  wire [9:0] _GEN_18; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50566.4]
  wire [9:0] _T_4072; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50566.4]
  wire [9:0] _GEN_19; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50567.4]
  wire [9:0] _T_4073; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50567.4]
  wire [9:0] _GEN_20; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50568.4]
  wire [9:0] _T_4074; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50568.4]
  wire [9:0] _GEN_21; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50569.4]
  wire [9:0] _T_4075; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50569.4]
  wire [9:0] _GEN_22; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50570.4]
  wire [9:0] _T_4076; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50570.4]
  wire  _T_4261; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50634.4]
  wire  _T_4262; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50635.4]
  wire  _T_4274; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50647.4]
  wire  _T_4263; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50636.4]
  wire  _T_4275; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50648.4]
  wire  _T_4264; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50637.4]
  wire  _T_4276; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50649.4]
  wire  _T_4265; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50638.4]
  wire  _T_4277; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50650.4]
  wire  _T_4266; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50639.4]
  wire  _T_4278; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50651.4]
  wire  _T_4267; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50640.4]
  wire  _T_4279; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50652.4]
  wire  _T_4268; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50641.4]
  wire  _T_4280; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50653.4]
  wire  _T_4269; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50642.4]
  wire  _T_4281; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50654.4]
  wire  _T_4270; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50643.4]
  wire  _T_4282; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50655.4]
  wire  _T_4271; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50644.4]
  wire  _T_4283; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50656.4]
  wire  _T_4272; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50645.4]
  wire  _T_4284; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50657.4]
  wire  _T_4273; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50646.4]
  wire  _T_4285; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50658.4]
  wire  in_0_d_valid; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50661.4]
  wire  _T_4077; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@50571.4]
  wire [9:0] _GEN_23; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50572.4]
  wire [10:0] _T_4078; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50572.4]
  wire [10:0] _T_4079; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50573.4]
  wire [9:0] _T_4080; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50574.4]
  wire  _T_4205_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  wire  _T_4205_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  wire  _T_4205_2; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  wire  _T_4205_3; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  wire  _T_4205_4; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  wire  _T_4205_5; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  wire  _T_4205_6; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  wire  _T_4205_7; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  wire  _T_4205_8; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  wire  _T_4205_9; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  wire  _T_4205_10; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  wire  _T_4205_11; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  wire  _T_4205_12; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  TLMonitor_27 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@49056.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
  );
  assign _T_3834 = _T_3833 == 10'h0; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@50322.4]
  assign _T_3844 = {auto_out_12_d_valid,auto_out_11_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50332.4]
  assign _T_3843 = {auto_out_10_d_valid,auto_out_9_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50331.4]
  assign _T_3845 = {_T_3844,_T_3843}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50333.4]
  assign _T_3841 = {auto_out_8_d_valid,auto_out_7_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50329.4]
  assign _T_3842 = {_T_3841,auto_out_6_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50330.4]
  assign _T_3846 = {_T_3845,_T_3842}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50334.4]
  assign _T_3838 = {auto_out_5_d_valid,auto_out_4_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50326.4]
  assign _T_3839 = {_T_3838,auto_out_3_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50327.4]
  assign _T_3836 = {auto_out_2_d_valid,auto_out_1_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50324.4]
  assign _T_3837 = {_T_3836,auto_out_0_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50325.4]
  assign _T_3840 = {_T_3839,_T_3837}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50328.4]
  assign _T_3847 = {_T_3846,_T_3840}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50335.4]
  assign _T_3856 = ~ _T_3855; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@50347.4]
  assign _T_3857 = _T_3847 & _T_3856; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@50348.4]
  assign _T_3858 = {_T_3857,_T_3847}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50349.4]
  assign _T_3859 = _T_3858[25:1]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50350.4]
  assign _GEN_1 = {{1'd0}, _T_3859}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50351.4]
  assign _T_3860 = _T_3858 | _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50351.4]
  assign _T_3861 = _T_3860[25:2]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50352.4]
  assign _GEN_2 = {{2'd0}, _T_3861}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50353.4]
  assign _T_3862 = _T_3860 | _GEN_2; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50353.4]
  assign _T_3863 = _T_3862[25:4]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50354.4]
  assign _GEN_3 = {{4'd0}, _T_3863}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50355.4]
  assign _T_3864 = _T_3862 | _GEN_3; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50355.4]
  assign _T_3865 = _T_3864[25:8]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50356.4]
  assign _GEN_4 = {{8'd0}, _T_3865}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50357.4]
  assign _T_3866 = _T_3864 | _GEN_4; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50357.4]
  assign _T_3868 = _T_3866[25:1]; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50359.4]
  assign _GEN_5 = {{13'd0}, _T_3855}; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@50360.4]
  assign _T_3869 = _GEN_5 << 13; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@50360.4]
  assign _GEN_6 = {{1'd0}, _T_3868}; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50361.4]
  assign _T_3870 = _GEN_6 | _T_3869; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50361.4]
  assign _T_3871 = _T_3870[25:13]; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50362.4]
  assign _T_3872 = _T_3870[12:0]; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50363.4]
  assign _T_3873 = _T_3871 & _T_3872; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@50364.4]
  assign _T_3874 = ~ _T_3873; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@50365.4]
  assign _T_3892 = _T_3874[0]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50386.4]
  assign _T_3924 = _T_3892 & auto_out_0_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50414.4]
  assign _T_4175_0 = _T_3834 ? _T_3924 : _T_4131_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  assign _T_4294 = {auto_out_0_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50667.4]
  assign _T_4293 = {auto_out_0_d_bits_size,auto_out_0_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50666.4]
  assign _T_4295 = {_T_4294,_T_4293}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50668.4]
  assign _T_4290 = {32'h0,auto_out_0_d_bits_corrupt}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50663.4]
  assign _T_4292 = {2'h1,_T_4290}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50665.4]
  assign _T_4296 = {_T_4295,_T_4292}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50669.4]
  assign _T_4297 = _T_4175_0 ? _T_4296 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50670.4]
  assign _T_3893 = _T_3874[1]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50387.4]
  assign _T_3925 = _T_3893 & auto_out_1_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50415.4]
  assign _T_4175_1 = _T_3834 ? _T_3925 : _T_4131_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  assign _T_4302 = {auto_out_1_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50675.4]
  assign out_1_d_bits_size = {{1'd0}, auto_out_1_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49164.4]
  assign _T_4301 = {out_1_d_bits_size,auto_out_1_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50674.4]
  assign _T_4303 = {_T_4302,_T_4301}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50676.4]
  assign _T_4298 = {auto_out_1_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50671.4]
  assign _T_4300 = {2'h0,_T_4298}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50673.4]
  assign _T_4304 = {_T_4303,_T_4300}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50677.4]
  assign _T_4305 = _T_4175_1 ? _T_4304 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50678.4]
  assign _T_4394 = _T_4297 | _T_4305; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50767.4]
  assign _T_3894 = _T_3874[2]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50388.4]
  assign _T_3926 = _T_3894 & auto_out_2_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50416.4]
  assign _T_4175_2 = _T_3834 ? _T_3926 : _T_4131_2; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  assign _T_4310 = {auto_out_2_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50683.4]
  assign out_2_d_bits_size = {{1'd0}, auto_out_2_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49174.4]
  assign _T_4309 = {out_2_d_bits_size,auto_out_2_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50682.4]
  assign _T_4311 = {_T_4310,_T_4309}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50684.4]
  assign _T_4306 = {auto_out_2_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50679.4]
  assign _T_4308 = {2'h0,_T_4306}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50681.4]
  assign _T_4312 = {_T_4311,_T_4308}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50685.4]
  assign _T_4313 = _T_4175_2 ? _T_4312 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50686.4]
  assign _T_4395 = _T_4394 | _T_4313; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50768.4]
  assign _T_3895 = _T_3874[3]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50389.4]
  assign _T_3927 = _T_3895 & auto_out_3_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50417.4]
  assign _T_4175_3 = _T_3834 ? _T_3927 : _T_4131_3; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  assign _T_4318 = {auto_out_3_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50691.4]
  assign out_3_d_bits_size = {{1'd0}, auto_out_3_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49184.4]
  assign _T_4317 = {out_3_d_bits_size,auto_out_3_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50690.4]
  assign _T_4319 = {_T_4318,_T_4317}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50692.4]
  assign _T_4314 = {auto_out_3_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50687.4]
  assign _T_4316 = {2'h0,_T_4314}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50689.4]
  assign _T_4320 = {_T_4319,_T_4316}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50693.4]
  assign _T_4321 = _T_4175_3 ? _T_4320 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50694.4]
  assign _T_4396 = _T_4395 | _T_4321; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50769.4]
  assign _T_3896 = _T_3874[4]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50390.4]
  assign _T_3928 = _T_3896 & auto_out_4_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50418.4]
  assign _T_4175_4 = _T_3834 ? _T_3928 : _T_4131_4; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  assign _T_4326 = {auto_out_4_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50699.4]
  assign out_4_d_bits_size = {{1'd0}, auto_out_4_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49194.4]
  assign _T_4325 = {out_4_d_bits_size,auto_out_4_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50698.4]
  assign _T_4327 = {_T_4326,_T_4325}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50700.4]
  assign _T_4322 = {auto_out_4_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50695.4]
  assign _T_4324 = {2'h0,_T_4322}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50697.4]
  assign _T_4328 = {_T_4327,_T_4324}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50701.4]
  assign _T_4329 = _T_4175_4 ? _T_4328 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50702.4]
  assign _T_4397 = _T_4396 | _T_4329; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50770.4]
  assign _T_3897 = _T_3874[5]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50391.4]
  assign _T_3929 = _T_3897 & auto_out_5_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50419.4]
  assign _T_4175_5 = _T_3834 ? _T_3929 : _T_4131_5; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  assign _T_4334 = {auto_out_5_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50707.4]
  assign out_5_d_bits_size = {{1'd0}, auto_out_5_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49204.4]
  assign _T_4333 = {out_5_d_bits_size,auto_out_5_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50706.4]
  assign _T_4335 = {_T_4334,_T_4333}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50708.4]
  assign _T_4330 = {auto_out_5_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50703.4]
  assign _T_4332 = {2'h0,_T_4330}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50705.4]
  assign _T_4336 = {_T_4335,_T_4332}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50709.4]
  assign _T_4337 = _T_4175_5 ? _T_4336 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50710.4]
  assign _T_4398 = _T_4397 | _T_4337; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50771.4]
  assign _T_3898 = _T_3874[6]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50392.4]
  assign _T_3930 = _T_3898 & auto_out_6_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50420.4]
  assign _T_4175_6 = _T_3834 ? _T_3930 : _T_4131_6; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  assign _T_4342 = {auto_out_6_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50715.4]
  assign out_6_d_bits_size = {{1'd0}, auto_out_6_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49214.4]
  assign _T_4341 = {out_6_d_bits_size,auto_out_6_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50714.4]
  assign _T_4343 = {_T_4342,_T_4341}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50716.4]
  assign _T_4338 = {auto_out_6_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50711.4]
  assign _T_4340 = {2'h0,_T_4338}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50713.4]
  assign _T_4344 = {_T_4343,_T_4340}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50717.4]
  assign _T_4345 = _T_4175_6 ? _T_4344 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50718.4]
  assign _T_4399 = _T_4398 | _T_4345; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50772.4]
  assign _T_3899 = _T_3874[7]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50393.4]
  assign _T_3931 = _T_3899 & auto_out_7_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50421.4]
  assign _T_4175_7 = _T_3834 ? _T_3931 : _T_4131_7; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  assign out_7_d_bits_size = {{1'd0}, auto_out_7_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49224.4]
  assign _T_4349 = {out_7_d_bits_size,auto_out_7_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50722.4]
  assign _T_4351 = {5'h4,_T_4349}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50724.4]
  assign _T_4346 = {auto_out_7_d_bits_data,auto_out_7_d_bits_corrupt}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50719.4]
  assign _T_4348 = {2'h0,_T_4346}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50721.4]
  assign _T_4352 = {_T_4351,_T_4348}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50725.4]
  assign _T_4353 = _T_4175_7 ? _T_4352 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50726.4]
  assign _T_4400 = _T_4399 | _T_4353; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50773.4]
  assign _T_3900 = _T_3874[8]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50394.4]
  assign _T_3932 = _T_3900 & auto_out_8_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50422.4]
  assign _T_4175_8 = _T_3834 ? _T_3932 : _T_4131_8; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  assign _T_4358 = {auto_out_8_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50731.4]
  assign out_8_d_bits_size = {{1'd0}, auto_out_8_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49234.4]
  assign _T_4357 = {out_8_d_bits_size,auto_out_8_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50730.4]
  assign _T_4359 = {_T_4358,_T_4357}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50732.4]
  assign _T_4354 = {auto_out_8_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50727.4]
  assign _T_4356 = {2'h0,_T_4354}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50729.4]
  assign _T_4360 = {_T_4359,_T_4356}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50733.4]
  assign _T_4361 = _T_4175_8 ? _T_4360 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50734.4]
  assign _T_4401 = _T_4400 | _T_4361; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50774.4]
  assign _T_3901 = _T_3874[9]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50395.4]
  assign _T_3933 = _T_3901 & auto_out_9_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50423.4]
  assign _T_4175_9 = _T_3834 ? _T_3933 : _T_4131_9; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  assign _T_4366 = {auto_out_9_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50739.4]
  assign out_9_d_bits_size = {{1'd0}, auto_out_9_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49244.4]
  assign _T_4365 = {out_9_d_bits_size,auto_out_9_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50738.4]
  assign _T_4367 = {_T_4366,_T_4365}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50740.4]
  assign _T_4362 = {auto_out_9_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50735.4]
  assign _T_4364 = {2'h0,_T_4362}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50737.4]
  assign _T_4368 = {_T_4367,_T_4364}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50741.4]
  assign _T_4369 = _T_4175_9 ? _T_4368 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50742.4]
  assign _T_4402 = _T_4401 | _T_4369; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50775.4]
  assign _T_3902 = _T_3874[10]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50396.4]
  assign _T_3934 = _T_3902 & auto_out_10_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50424.4]
  assign _T_4175_10 = _T_3834 ? _T_3934 : _T_4131_10; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  assign _T_4374 = {auto_out_10_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50747.4]
  assign out_10_d_bits_size = {{1'd0}, auto_out_10_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49254.4]
  assign _T_4373 = {out_10_d_bits_size,auto_out_10_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50746.4]
  assign _T_4375 = {_T_4374,_T_4373}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50748.4]
  assign _T_4370 = {auto_out_10_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50743.4]
  assign _T_4372 = {2'h0,_T_4370}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50745.4]
  assign _T_4376 = {_T_4375,_T_4372}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50749.4]
  assign _T_4377 = _T_4175_10 ? _T_4376 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50750.4]
  assign _T_4403 = _T_4402 | _T_4377; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50776.4]
  assign _T_3903 = _T_3874[11]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50397.4]
  assign _T_3935 = _T_3903 & auto_out_11_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50425.4]
  assign _T_4175_11 = _T_3834 ? _T_3935 : _T_4131_11; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  assign _T_4382 = {auto_out_11_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50755.4]
  assign out_11_d_bits_size = {{1'd0}, auto_out_11_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49264.4]
  assign _T_4381 = {out_11_d_bits_size,auto_out_11_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50754.4]
  assign _T_4383 = {_T_4382,_T_4381}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50756.4]
  assign _T_4378 = {auto_out_11_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50751.4]
  assign _T_4380 = {2'h0,_T_4378}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50753.4]
  assign _T_4384 = {_T_4383,_T_4380}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50757.4]
  assign _T_4385 = _T_4175_11 ? _T_4384 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50758.4]
  assign _T_4404 = _T_4403 | _T_4385; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50777.4]
  assign _T_3904 = _T_3874[12]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50398.4]
  assign _T_3936 = _T_3904 & auto_out_12_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@50426.4]
  assign _T_4175_12 = _T_3834 ? _T_3936 : _T_4131_12; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50593.4]
  assign _T_4390 = {auto_out_12_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50763.4]
  assign out_12_d_bits_size = {{1'd0}, auto_out_12_d_bits_size}; // @[Xbar.scala 154:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49147.4 Xbar.scala 180:18:shc.marmotcaravel.MarmotCaravelConfig.fir@49274.4]
  assign _T_4389 = {out_12_d_bits_size,auto_out_12_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50762.4]
  assign _T_4391 = {_T_4390,_T_4389}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50764.4]
  assign _T_4386 = {auto_out_12_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50759.4]
  assign _T_4388 = {2'h0,_T_4386}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50761.4]
  assign _T_4392 = {_T_4391,_T_4388}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50765.4]
  assign _T_4393 = _T_4175_12 ? _T_4392 : 45'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50766.4]
  assign _T_4405 = _T_4404 | _T_4393; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50778.4]
  assign _T_2350 = auto_in_a_bits_address ^ 30'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49279.4]
  assign _T_2351 = {1'b0,$signed(_T_2350)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49280.4]
  assign _T_2352 = $signed(_T_2351) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49281.4]
  assign _T_2353 = $signed(_T_2352); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49282.4]
  assign requestAIO_0_0 = $signed(_T_2353) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49283.4]
  assign _T_2355 = auto_in_a_bits_address ^ 30'h13000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49285.4]
  assign _T_2356 = {1'b0,$signed(_T_2355)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49286.4]
  assign _T_2357 = $signed(_T_2356) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49287.4]
  assign _T_2358 = $signed(_T_2357); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49288.4]
  assign requestAIO_0_1 = $signed(_T_2358) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49289.4]
  assign _T_2360 = auto_in_a_bits_address ^ 30'h23000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49291.4]
  assign _T_2361 = {1'b0,$signed(_T_2360)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49292.4]
  assign _T_2362 = $signed(_T_2361) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49293.4]
  assign _T_2363 = $signed(_T_2362); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49294.4]
  assign requestAIO_0_2 = $signed(_T_2363) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49295.4]
  assign _T_2365 = auto_in_a_bits_address ^ 30'h33000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49297.4]
  assign _T_2366 = {1'b0,$signed(_T_2365)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49298.4]
  assign _T_2367 = $signed(_T_2366) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49299.4]
  assign _T_2368 = $signed(_T_2367); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49300.4]
  assign requestAIO_0_3 = $signed(_T_2368) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49301.4]
  assign _T_2370 = auto_in_a_bits_address ^ 30'h43000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49303.4]
  assign _T_2371 = {1'b0,$signed(_T_2370)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49304.4]
  assign _T_2372 = $signed(_T_2371) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49305.4]
  assign _T_2373 = $signed(_T_2372); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49306.4]
  assign requestAIO_0_4 = $signed(_T_2373) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49307.4]
  assign _T_2375 = auto_in_a_bits_address ^ 30'h53000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49309.4]
  assign _T_2376 = {1'b0,$signed(_T_2375)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49310.4]
  assign _T_2377 = $signed(_T_2376) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49311.4]
  assign _T_2378 = $signed(_T_2377); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49312.4]
  assign requestAIO_0_5 = $signed(_T_2378) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49313.4]
  assign _T_2380 = auto_in_a_bits_address ^ 30'h14000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49315.4]
  assign _T_2381 = {1'b0,$signed(_T_2380)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49316.4]
  assign _T_2382 = $signed(_T_2381) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49317.4]
  assign _T_2383 = $signed(_T_2382); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49318.4]
  assign requestAIO_0_6 = $signed(_T_2383) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49319.4]
  assign _T_2385 = auto_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49321.4]
  assign _T_2386 = {1'b0,$signed(_T_2385)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49322.4]
  assign _T_2387 = $signed(_T_2386) & $signed(31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49323.4]
  assign _T_2388 = $signed(_T_2387); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49324.4]
  assign requestAIO_0_7 = $signed(_T_2388) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49325.4]
  assign _T_2390 = auto_in_a_bits_address ^ 30'h24000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49327.4]
  assign _T_2391 = {1'b0,$signed(_T_2390)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49328.4]
  assign _T_2392 = $signed(_T_2391) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49329.4]
  assign _T_2393 = $signed(_T_2392); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49330.4]
  assign requestAIO_0_8 = $signed(_T_2393) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49331.4]
  assign _T_2395 = auto_in_a_bits_address ^ 30'h34000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49333.4]
  assign _T_2396 = {1'b0,$signed(_T_2395)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49334.4]
  assign _T_2397 = $signed(_T_2396) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49335.4]
  assign _T_2398 = $signed(_T_2397); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49336.4]
  assign requestAIO_0_9 = $signed(_T_2398) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49337.4]
  assign _T_2400 = auto_in_a_bits_address ^ 30'h12000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49339.4]
  assign _T_2401 = {1'b0,$signed(_T_2400)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49340.4]
  assign _T_2402 = $signed(_T_2401) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49341.4]
  assign _T_2403 = $signed(_T_2402); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49342.4]
  assign requestAIO_0_10 = $signed(_T_2403) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49343.4]
  assign _T_2405 = auto_in_a_bits_address ^ 30'h16000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49345.4]
  assign _T_2406 = {1'b0,$signed(_T_2405)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49346.4]
  assign _T_2407 = $signed(_T_2406) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49347.4]
  assign _T_2408 = $signed(_T_2407); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49348.4]
  assign requestAIO_0_11 = $signed(_T_2408) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49349.4]
  assign _T_2410 = auto_in_a_bits_address ^ 30'h26000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49351.4]
  assign _T_2411 = {1'b0,$signed(_T_2410)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49352.4]
  assign _T_2412 = $signed(_T_2411) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49353.4]
  assign _T_2413 = $signed(_T_2412); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@49354.4]
  assign requestAIO_0_12 = $signed(_T_2413) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@49355.4]
  assign _T_2767 = 27'hfff << auto_out_0_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49763.4]
  assign _T_2768 = _T_2767[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49764.4]
  assign _T_2769 = ~ _T_2768; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49765.4]
  assign _T_2770 = _T_2769[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49766.4]
  assign _T_2771 = auto_out_0_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49767.4]
  assign beatsDO_0 = _T_2771 ? _T_2770 : 10'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49768.4]
  assign _T_2773 = 21'h3f << out_1_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49770.4]
  assign _T_2774 = _T_2773[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49771.4]
  assign _T_2775 = ~ _T_2774; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49772.4]
  assign _T_2776 = _T_2775[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49773.4]
  assign _T_2777 = auto_out_1_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49774.4]
  assign beatsDO_1 = _T_2777 ? _T_2776 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49775.4]
  assign _T_2779 = 21'h3f << out_2_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49777.4]
  assign _T_2780 = _T_2779[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49778.4]
  assign _T_2781 = ~ _T_2780; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49779.4]
  assign _T_2782 = _T_2781[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49780.4]
  assign _T_2783 = auto_out_2_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49781.4]
  assign beatsDO_2 = _T_2783 ? _T_2782 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49782.4]
  assign _T_2785 = 21'h3f << out_3_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49784.4]
  assign _T_2786 = _T_2785[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49785.4]
  assign _T_2787 = ~ _T_2786; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49786.4]
  assign _T_2788 = _T_2787[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49787.4]
  assign _T_2789 = auto_out_3_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49788.4]
  assign beatsDO_3 = _T_2789 ? _T_2788 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49789.4]
  assign _T_2791 = 21'h3f << out_4_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49791.4]
  assign _T_2792 = _T_2791[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49792.4]
  assign _T_2793 = ~ _T_2792; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49793.4]
  assign _T_2794 = _T_2793[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49794.4]
  assign _T_2795 = auto_out_4_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49795.4]
  assign beatsDO_4 = _T_2795 ? _T_2794 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49796.4]
  assign _T_2797 = 21'h3f << out_5_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49798.4]
  assign _T_2798 = _T_2797[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49799.4]
  assign _T_2799 = ~ _T_2798; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49800.4]
  assign _T_2800 = _T_2799[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49801.4]
  assign _T_2801 = auto_out_5_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49802.4]
  assign beatsDO_5 = _T_2801 ? _T_2800 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49803.4]
  assign _T_2803 = 21'h3f << out_6_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49805.4]
  assign _T_2804 = _T_2803[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49806.4]
  assign _T_2805 = ~ _T_2804; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49807.4]
  assign _T_2806 = _T_2805[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49808.4]
  assign _T_2807 = auto_out_6_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49809.4]
  assign beatsDO_6 = _T_2807 ? _T_2806 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49810.4]
  assign _T_2809 = 21'h3f << out_7_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49812.4]
  assign _T_2810 = _T_2809[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49813.4]
  assign _T_2811 = ~ _T_2810; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49814.4]
  assign beatsDO_7 = _T_2811[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49815.4]
  assign _T_2815 = 21'h3f << out_8_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49819.4]
  assign _T_2816 = _T_2815[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49820.4]
  assign _T_2817 = ~ _T_2816; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49821.4]
  assign _T_2818 = _T_2817[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49822.4]
  assign _T_2819 = auto_out_8_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49823.4]
  assign beatsDO_8 = _T_2819 ? _T_2818 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49824.4]
  assign _T_2821 = 21'h3f << out_9_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49826.4]
  assign _T_2822 = _T_2821[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49827.4]
  assign _T_2823 = ~ _T_2822; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49828.4]
  assign _T_2824 = _T_2823[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49829.4]
  assign _T_2825 = auto_out_9_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49830.4]
  assign beatsDO_9 = _T_2825 ? _T_2824 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49831.4]
  assign _T_2827 = 21'h3f << out_10_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49833.4]
  assign _T_2828 = _T_2827[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49834.4]
  assign _T_2829 = ~ _T_2828; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49835.4]
  assign _T_2830 = _T_2829[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49836.4]
  assign _T_2831 = auto_out_10_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49837.4]
  assign beatsDO_10 = _T_2831 ? _T_2830 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49838.4]
  assign _T_2833 = 21'h3f << out_11_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49840.4]
  assign _T_2834 = _T_2833[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49841.4]
  assign _T_2835 = ~ _T_2834; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49842.4]
  assign _T_2836 = _T_2835[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49843.4]
  assign _T_2837 = auto_out_11_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49844.4]
  assign beatsDO_11 = _T_2837 ? _T_2836 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49845.4]
  assign _T_2839 = 21'h3f << out_12_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@49847.4]
  assign _T_2840 = _T_2839[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@49848.4]
  assign _T_2841 = ~ _T_2840; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@49849.4]
  assign _T_2842 = _T_2841[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@49850.4]
  assign _T_2843 = auto_out_12_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@49851.4]
  assign beatsDO_12 = _T_2843 ? _T_2842 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@49852.4]
  assign _T_2973 = requestAIO_0_0 ? auto_out_0_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49907.4]
  assign _T_2974 = requestAIO_0_1 ? auto_out_1_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49908.4]
  assign _T_2975 = requestAIO_0_2 ? auto_out_2_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49909.4]
  assign _T_2976 = requestAIO_0_3 ? auto_out_3_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49910.4]
  assign _T_2977 = requestAIO_0_4 ? auto_out_4_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49911.4]
  assign _T_2978 = requestAIO_0_5 ? auto_out_5_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49912.4]
  assign _T_2979 = requestAIO_0_6 ? auto_out_6_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49913.4]
  assign _T_2980 = requestAIO_0_7 ? auto_out_7_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49914.4]
  assign _T_2981 = requestAIO_0_8 ? auto_out_8_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49915.4]
  assign _T_2982 = requestAIO_0_9 ? auto_out_9_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49916.4]
  assign _T_2983 = requestAIO_0_10 ? auto_out_10_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49917.4]
  assign _T_2984 = requestAIO_0_11 ? auto_out_11_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49918.4]
  assign _T_2985 = requestAIO_0_12 ? auto_out_12_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49919.4]
  assign _T_2986 = _T_2973 | _T_2974; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49920.4]
  assign _T_2987 = _T_2986 | _T_2975; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49921.4]
  assign _T_2988 = _T_2987 | _T_2976; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49922.4]
  assign _T_2989 = _T_2988 | _T_2977; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49923.4]
  assign _T_2990 = _T_2989 | _T_2978; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49924.4]
  assign _T_2991 = _T_2990 | _T_2979; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49925.4]
  assign _T_2992 = _T_2991 | _T_2980; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49926.4]
  assign _T_2993 = _T_2992 | _T_2981; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49927.4]
  assign _T_2994 = _T_2993 | _T_2982; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49928.4]
  assign _T_2995 = _T_2994 | _T_2983; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49929.4]
  assign _T_2996 = _T_2995 | _T_2984; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@49930.4]
  assign _T_3835 = _T_3834 & auto_in_d_ready; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50323.4]
  assign _T_3849 = _T_3847 == _T_3847; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@50337.4]
  assign _T_3851 = _T_3849 | reset; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@50339.4]
  assign _T_3852 = _T_3851 == 1'h0; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@50340.4]
  assign _T_3875 = _T_3847 != 13'h0; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@50366.4]
  assign _T_3876 = _T_3835 & _T_3875; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@50367.4]
  assign _T_3877 = _T_3874 & _T_3847; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50369.6]
  assign _GEN_7 = {{1'd0}, _T_3877}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50370.6]
  assign _T_3878 = _GEN_7 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50370.6]
  assign _T_3879 = _T_3878[12:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@50371.6]
  assign _T_3880 = _T_3877 | _T_3879; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50372.6]
  assign _GEN_8 = {{2'd0}, _T_3880}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50373.6]
  assign _T_3881 = _GEN_8 << 2; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50373.6]
  assign _T_3882 = _T_3881[12:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@50374.6]
  assign _T_3883 = _T_3880 | _T_3882; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50375.6]
  assign _GEN_9 = {{4'd0}, _T_3883}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50376.6]
  assign _T_3884 = _GEN_9 << 4; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50376.6]
  assign _T_3885 = _T_3884[12:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@50377.6]
  assign _T_3886 = _T_3883 | _T_3885; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50378.6]
  assign _GEN_10 = {{8'd0}, _T_3886}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50379.6]
  assign _T_3887 = _GEN_10 << 8; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@50379.6]
  assign _T_3888 = _T_3887[12:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@50380.6]
  assign _T_3889 = _T_3886 | _T_3888; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@50381.6]
  assign _T_3957 = _T_3924 | _T_3925; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50443.4]
  assign _T_3958 = _T_3957 | _T_3926; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50444.4]
  assign _T_3959 = _T_3958 | _T_3927; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50445.4]
  assign _T_3960 = _T_3959 | _T_3928; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50446.4]
  assign _T_3961 = _T_3960 | _T_3929; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50447.4]
  assign _T_3962 = _T_3961 | _T_3930; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50448.4]
  assign _T_3963 = _T_3962 | _T_3931; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50449.4]
  assign _T_3964 = _T_3963 | _T_3932; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50450.4]
  assign _T_3965 = _T_3964 | _T_3933; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50451.4]
  assign _T_3966 = _T_3965 | _T_3934; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50452.4]
  assign _T_3967 = _T_3966 | _T_3935; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50453.4]
  assign _T_3968 = _T_3967 | _T_3936; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50454.4]
  assign _T_3970 = _T_3924 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50456.4]
  assign _T_3973 = _T_3925 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50459.4]
  assign _T_3974 = _T_3970 | _T_3973; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50460.4]
  assign _T_3975 = _T_3957 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50461.4]
  assign _T_3976 = _T_3926 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50462.4]
  assign _T_3977 = _T_3975 | _T_3976; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50463.4]
  assign _T_3978 = _T_3958 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50464.4]
  assign _T_3979 = _T_3927 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50465.4]
  assign _T_3980 = _T_3978 | _T_3979; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50466.4]
  assign _T_3981 = _T_3959 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50467.4]
  assign _T_3982 = _T_3928 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50468.4]
  assign _T_3983 = _T_3981 | _T_3982; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50469.4]
  assign _T_3984 = _T_3960 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50470.4]
  assign _T_3985 = _T_3929 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50471.4]
  assign _T_3986 = _T_3984 | _T_3985; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50472.4]
  assign _T_3987 = _T_3961 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50473.4]
  assign _T_3988 = _T_3930 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50474.4]
  assign _T_3989 = _T_3987 | _T_3988; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50475.4]
  assign _T_3990 = _T_3962 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50476.4]
  assign _T_3991 = _T_3931 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50477.4]
  assign _T_3992 = _T_3990 | _T_3991; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50478.4]
  assign _T_3993 = _T_3963 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50479.4]
  assign _T_3994 = _T_3932 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50480.4]
  assign _T_3995 = _T_3993 | _T_3994; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50481.4]
  assign _T_3996 = _T_3964 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50482.4]
  assign _T_3997 = _T_3933 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50483.4]
  assign _T_3998 = _T_3996 | _T_3997; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50484.4]
  assign _T_3999 = _T_3965 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50485.4]
  assign _T_4000 = _T_3934 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50486.4]
  assign _T_4001 = _T_3999 | _T_4000; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50487.4]
  assign _T_4002 = _T_3966 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50488.4]
  assign _T_4003 = _T_3935 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50489.4]
  assign _T_4004 = _T_4002 | _T_4003; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50490.4]
  assign _T_4005 = _T_3967 == 1'h0; // @[Arbiter.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@50491.4]
  assign _T_4006 = _T_3936 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@50492.4]
  assign _T_4007 = _T_4005 | _T_4006; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@50493.4]
  assign _T_4009 = _T_3974 & _T_3977; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50495.4]
  assign _T_4010 = _T_4009 & _T_3980; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50496.4]
  assign _T_4011 = _T_4010 & _T_3983; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50497.4]
  assign _T_4012 = _T_4011 & _T_3986; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50498.4]
  assign _T_4013 = _T_4012 & _T_3989; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50499.4]
  assign _T_4014 = _T_4013 & _T_3992; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50500.4]
  assign _T_4015 = _T_4014 & _T_3995; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50501.4]
  assign _T_4016 = _T_4015 & _T_3998; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50502.4]
  assign _T_4017 = _T_4016 & _T_4001; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50503.4]
  assign _T_4018 = _T_4017 & _T_4004; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50504.4]
  assign _T_4019 = _T_4018 & _T_4007; // @[Arbiter.scala 68:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50505.4]
  assign _T_4021 = _T_4019 | reset; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@50507.4]
  assign _T_4022 = _T_4021 == 1'h0; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@50508.4]
  assign _T_4023 = auto_out_0_d_valid | auto_out_1_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50513.4]
  assign _T_4024 = _T_4023 | auto_out_2_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50514.4]
  assign _T_4025 = _T_4024 | auto_out_3_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50515.4]
  assign _T_4026 = _T_4025 | auto_out_4_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50516.4]
  assign _T_4027 = _T_4026 | auto_out_5_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50517.4]
  assign _T_4028 = _T_4027 | auto_out_6_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50518.4]
  assign _T_4029 = _T_4028 | auto_out_7_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50519.4]
  assign _T_4030 = _T_4029 | auto_out_8_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50520.4]
  assign _T_4031 = _T_4030 | auto_out_9_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50521.4]
  assign _T_4032 = _T_4031 | auto_out_10_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50522.4]
  assign _T_4033 = _T_4032 | auto_out_11_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50523.4]
  assign _T_4034 = _T_4033 | auto_out_12_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50524.4]
  assign _T_4035 = _T_4034 == 1'h0; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@50525.4]
  assign _T_4048 = _T_4035 | _T_3968; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@50538.4]
  assign _T_4050 = _T_4048 | reset; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50540.4]
  assign _T_4051 = _T_4050 == 1'h0; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50541.4]
  assign _T_4052 = _T_3924 ? beatsDO_0 : 10'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50546.4]
  assign _T_4053 = _T_3925 ? beatsDO_1 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50547.4]
  assign _T_4054 = _T_3926 ? beatsDO_2 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50548.4]
  assign _T_4055 = _T_3927 ? beatsDO_3 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50549.4]
  assign _T_4056 = _T_3928 ? beatsDO_4 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50550.4]
  assign _T_4057 = _T_3929 ? beatsDO_5 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50551.4]
  assign _T_4058 = _T_3930 ? beatsDO_6 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50552.4]
  assign _T_4059 = _T_3931 ? beatsDO_7 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50553.4]
  assign _T_4060 = _T_3932 ? beatsDO_8 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50554.4]
  assign _T_4061 = _T_3933 ? beatsDO_9 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50555.4]
  assign _T_4062 = _T_3934 ? beatsDO_10 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50556.4]
  assign _T_4063 = _T_3935 ? beatsDO_11 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50557.4]
  assign _T_4064 = _T_3936 ? beatsDO_12 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@50558.4]
  assign _GEN_11 = {{6'd0}, _T_4053}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50559.4]
  assign _T_4065 = _T_4052 | _GEN_11; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50559.4]
  assign _GEN_12 = {{6'd0}, _T_4054}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50560.4]
  assign _T_4066 = _T_4065 | _GEN_12; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50560.4]
  assign _GEN_13 = {{6'd0}, _T_4055}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50561.4]
  assign _T_4067 = _T_4066 | _GEN_13; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50561.4]
  assign _GEN_14 = {{6'd0}, _T_4056}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50562.4]
  assign _T_4068 = _T_4067 | _GEN_14; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50562.4]
  assign _GEN_15 = {{6'd0}, _T_4057}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50563.4]
  assign _T_4069 = _T_4068 | _GEN_15; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50563.4]
  assign _GEN_16 = {{6'd0}, _T_4058}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50564.4]
  assign _T_4070 = _T_4069 | _GEN_16; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50564.4]
  assign _GEN_17 = {{6'd0}, _T_4059}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50565.4]
  assign _T_4071 = _T_4070 | _GEN_17; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50565.4]
  assign _GEN_18 = {{6'd0}, _T_4060}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50566.4]
  assign _T_4072 = _T_4071 | _GEN_18; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50566.4]
  assign _GEN_19 = {{6'd0}, _T_4061}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50567.4]
  assign _T_4073 = _T_4072 | _GEN_19; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50567.4]
  assign _GEN_20 = {{6'd0}, _T_4062}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50568.4]
  assign _T_4074 = _T_4073 | _GEN_20; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50568.4]
  assign _GEN_21 = {{6'd0}, _T_4063}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50569.4]
  assign _T_4075 = _T_4074 | _GEN_21; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50569.4]
  assign _GEN_22 = {{6'd0}, _T_4064}; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50570.4]
  assign _T_4076 = _T_4075 | _GEN_22; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@50570.4]
  assign _T_4261 = _T_4131_0 ? auto_out_0_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50634.4]
  assign _T_4262 = _T_4131_1 ? auto_out_1_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50635.4]
  assign _T_4274 = _T_4261 | _T_4262; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50647.4]
  assign _T_4263 = _T_4131_2 ? auto_out_2_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50636.4]
  assign _T_4275 = _T_4274 | _T_4263; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50648.4]
  assign _T_4264 = _T_4131_3 ? auto_out_3_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50637.4]
  assign _T_4276 = _T_4275 | _T_4264; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50649.4]
  assign _T_4265 = _T_4131_4 ? auto_out_4_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50638.4]
  assign _T_4277 = _T_4276 | _T_4265; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50650.4]
  assign _T_4266 = _T_4131_5 ? auto_out_5_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50639.4]
  assign _T_4278 = _T_4277 | _T_4266; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50651.4]
  assign _T_4267 = _T_4131_6 ? auto_out_6_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50640.4]
  assign _T_4279 = _T_4278 | _T_4267; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50652.4]
  assign _T_4268 = _T_4131_7 ? auto_out_7_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50641.4]
  assign _T_4280 = _T_4279 | _T_4268; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50653.4]
  assign _T_4269 = _T_4131_8 ? auto_out_8_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50642.4]
  assign _T_4281 = _T_4280 | _T_4269; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50654.4]
  assign _T_4270 = _T_4131_9 ? auto_out_9_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50643.4]
  assign _T_4282 = _T_4281 | _T_4270; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50655.4]
  assign _T_4271 = _T_4131_10 ? auto_out_10_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50644.4]
  assign _T_4283 = _T_4282 | _T_4271; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50656.4]
  assign _T_4272 = _T_4131_11 ? auto_out_11_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50645.4]
  assign _T_4284 = _T_4283 | _T_4272; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50657.4]
  assign _T_4273 = _T_4131_12 ? auto_out_12_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50646.4]
  assign _T_4285 = _T_4284 | _T_4273; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@50658.4]
  assign in_0_d_valid = _T_3834 ? _T_4034 : _T_4285; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50661.4]
  assign _T_4077 = auto_in_d_ready & in_0_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@50571.4]
  assign _GEN_23 = {{9'd0}, _T_4077}; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50572.4]
  assign _T_4078 = _T_3833 - _GEN_23; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50572.4]
  assign _T_4079 = $unsigned(_T_4078); // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50573.4]
  assign _T_4080 = _T_4079[9:0]; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50574.4]
  assign _T_4205_0 = _T_3834 ? _T_3892 : _T_4131_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  assign _T_4205_1 = _T_3834 ? _T_3893 : _T_4131_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  assign _T_4205_2 = _T_3834 ? _T_3894 : _T_4131_2; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  assign _T_4205_3 = _T_3834 ? _T_3895 : _T_4131_3; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  assign _T_4205_4 = _T_3834 ? _T_3896 : _T_4131_4; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  assign _T_4205_5 = _T_3834 ? _T_3897 : _T_4131_5; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  assign _T_4205_6 = _T_3834 ? _T_3898 : _T_4131_6; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  assign _T_4205_7 = _T_3834 ? _T_3899 : _T_4131_7; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  assign _T_4205_8 = _T_3834 ? _T_3900 : _T_4131_8; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  assign _T_4205_9 = _T_3834 ? _T_3901 : _T_4131_9; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  assign _T_4205_10 = _T_3834 ? _T_3902 : _T_4131_10; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  assign _T_4205_11 = _T_3834 ? _T_3903 : _T_4131_11; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  assign _T_4205_12 = _T_3834 ? _T_3904 : _T_4131_12; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50595.4]
  assign auto_in_a_ready = _T_2996 | _T_2985; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49132.4]
  assign auto_in_d_valid = _T_3834 ? _T_4034 : _T_4285; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49132.4]
  assign auto_in_d_bits_opcode = _T_4405[44:42]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49132.4]
  assign auto_in_d_bits_param = _T_4405[41:40]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49132.4]
  assign auto_in_d_bits_size = _T_4405[39:36]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49132.4]
  assign auto_in_d_bits_source = _T_4405[35]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49132.4]
  assign auto_in_d_bits_sink = _T_4405[34]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49132.4]
  assign auto_in_d_bits_denied = _T_4405[33]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49132.4]
  assign auto_in_d_bits_data = _T_4405[32:1]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49132.4]
  assign auto_in_d_bits_corrupt = _T_4405[0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@49132.4]
  assign auto_out_12_a_valid = auto_in_a_valid & requestAIO_0_12; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49131.4]
  assign auto_out_12_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49131.4]
  assign auto_out_12_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49131.4]
  assign auto_out_12_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49131.4]
  assign auto_out_12_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49131.4]
  assign auto_out_12_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49131.4]
  assign auto_out_12_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49131.4]
  assign auto_out_12_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49131.4]
  assign auto_out_12_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49131.4]
  assign auto_out_12_d_ready = auto_in_d_ready & _T_4205_12; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49131.4]
  assign auto_out_11_a_valid = auto_in_a_valid & requestAIO_0_11; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49130.4]
  assign auto_out_11_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49130.4]
  assign auto_out_11_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49130.4]
  assign auto_out_11_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49130.4]
  assign auto_out_11_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49130.4]
  assign auto_out_11_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49130.4]
  assign auto_out_11_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49130.4]
  assign auto_out_11_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49130.4]
  assign auto_out_11_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49130.4]
  assign auto_out_11_d_ready = auto_in_d_ready & _T_4205_11; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49130.4]
  assign auto_out_10_a_valid = auto_in_a_valid & requestAIO_0_10; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49129.4]
  assign auto_out_10_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49129.4]
  assign auto_out_10_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49129.4]
  assign auto_out_10_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49129.4]
  assign auto_out_10_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49129.4]
  assign auto_out_10_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49129.4]
  assign auto_out_10_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49129.4]
  assign auto_out_10_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49129.4]
  assign auto_out_10_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49129.4]
  assign auto_out_10_d_ready = auto_in_d_ready & _T_4205_10; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49129.4]
  assign auto_out_9_a_valid = auto_in_a_valid & requestAIO_0_9; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49128.4]
  assign auto_out_9_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49128.4]
  assign auto_out_9_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49128.4]
  assign auto_out_9_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49128.4]
  assign auto_out_9_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49128.4]
  assign auto_out_9_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49128.4]
  assign auto_out_9_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49128.4]
  assign auto_out_9_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49128.4]
  assign auto_out_9_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49128.4]
  assign auto_out_9_d_ready = auto_in_d_ready & _T_4205_9; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49128.4]
  assign auto_out_8_a_valid = auto_in_a_valid & requestAIO_0_8; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49127.4]
  assign auto_out_8_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49127.4]
  assign auto_out_8_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49127.4]
  assign auto_out_8_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49127.4]
  assign auto_out_8_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49127.4]
  assign auto_out_8_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49127.4]
  assign auto_out_8_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49127.4]
  assign auto_out_8_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49127.4]
  assign auto_out_8_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49127.4]
  assign auto_out_8_d_ready = auto_in_d_ready & _T_4205_8; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49127.4]
  assign auto_out_7_a_valid = auto_in_a_valid & requestAIO_0_7; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49126.4]
  assign auto_out_7_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49126.4]
  assign auto_out_7_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49126.4]
  assign auto_out_7_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49126.4]
  assign auto_out_7_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49126.4]
  assign auto_out_7_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49126.4]
  assign auto_out_7_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49126.4]
  assign auto_out_7_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49126.4]
  assign auto_out_7_d_ready = auto_in_d_ready & _T_4205_7; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49126.4]
  assign auto_out_6_a_valid = auto_in_a_valid & requestAIO_0_6; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49125.4]
  assign auto_out_6_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49125.4]
  assign auto_out_6_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49125.4]
  assign auto_out_6_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49125.4]
  assign auto_out_6_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49125.4]
  assign auto_out_6_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49125.4]
  assign auto_out_6_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49125.4]
  assign auto_out_6_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49125.4]
  assign auto_out_6_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49125.4]
  assign auto_out_6_d_ready = auto_in_d_ready & _T_4205_6; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49125.4]
  assign auto_out_5_a_valid = auto_in_a_valid & requestAIO_0_5; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49124.4]
  assign auto_out_5_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49124.4]
  assign auto_out_5_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49124.4]
  assign auto_out_5_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49124.4]
  assign auto_out_5_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49124.4]
  assign auto_out_5_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49124.4]
  assign auto_out_5_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49124.4]
  assign auto_out_5_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49124.4]
  assign auto_out_5_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49124.4]
  assign auto_out_5_d_ready = auto_in_d_ready & _T_4205_5; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49124.4]
  assign auto_out_4_a_valid = auto_in_a_valid & requestAIO_0_4; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49123.4]
  assign auto_out_4_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49123.4]
  assign auto_out_4_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49123.4]
  assign auto_out_4_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49123.4]
  assign auto_out_4_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49123.4]
  assign auto_out_4_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49123.4]
  assign auto_out_4_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49123.4]
  assign auto_out_4_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49123.4]
  assign auto_out_4_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49123.4]
  assign auto_out_4_d_ready = auto_in_d_ready & _T_4205_4; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49123.4]
  assign auto_out_3_a_valid = auto_in_a_valid & requestAIO_0_3; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49122.4]
  assign auto_out_3_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49122.4]
  assign auto_out_3_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49122.4]
  assign auto_out_3_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49122.4]
  assign auto_out_3_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49122.4]
  assign auto_out_3_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49122.4]
  assign auto_out_3_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49122.4]
  assign auto_out_3_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49122.4]
  assign auto_out_3_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49122.4]
  assign auto_out_3_d_ready = auto_in_d_ready & _T_4205_3; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49122.4]
  assign auto_out_2_a_valid = auto_in_a_valid & requestAIO_0_2; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49121.4]
  assign auto_out_2_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49121.4]
  assign auto_out_2_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49121.4]
  assign auto_out_2_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49121.4]
  assign auto_out_2_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49121.4]
  assign auto_out_2_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49121.4]
  assign auto_out_2_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49121.4]
  assign auto_out_2_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49121.4]
  assign auto_out_2_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49121.4]
  assign auto_out_2_d_ready = auto_in_d_ready & _T_4205_2; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49121.4]
  assign auto_out_1_a_valid = auto_in_a_valid & requestAIO_0_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49120.4]
  assign auto_out_1_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49120.4]
  assign auto_out_1_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49120.4]
  assign auto_out_1_a_bits_size = auto_in_a_bits_size[2:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49120.4]
  assign auto_out_1_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49120.4]
  assign auto_out_1_a_bits_address = auto_in_a_bits_address[28:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49120.4]
  assign auto_out_1_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49120.4]
  assign auto_out_1_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49120.4]
  assign auto_out_1_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49120.4]
  assign auto_out_1_d_ready = auto_in_d_ready & _T_4205_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49120.4]
  assign auto_out_0_a_valid = auto_in_a_valid & requestAIO_0_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49119.4]
  assign auto_out_0_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49119.4]
  assign auto_out_0_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49119.4]
  assign auto_out_0_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49119.4]
  assign auto_out_0_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49119.4]
  assign auto_out_0_a_bits_address = auto_in_a_bits_address[13:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49119.4]
  assign auto_out_0_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49119.4]
  assign auto_out_0_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49119.4]
  assign auto_out_0_d_ready = auto_in_d_ready & _T_4205_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@49119.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49058.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@49059.4]
  assign TLMonitor_io_in_a_ready = _T_2996 | _T_2985; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
  assign TLMonitor_io_in_d_valid = _T_3834 ? _T_4034 : _T_4285; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
  assign TLMonitor_io_in_d_bits_opcode = _T_4405[44:42]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
  assign TLMonitor_io_in_d_bits_param = _T_4405[41:40]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
  assign TLMonitor_io_in_d_bits_size = _T_4405[39:36]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
  assign TLMonitor_io_in_d_bits_source = _T_4405[35]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
  assign TLMonitor_io_in_d_bits_sink = _T_4405[34]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
  assign TLMonitor_io_in_d_bits_denied = _T_4405[33]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
  assign TLMonitor_io_in_d_bits_corrupt = _T_4405[0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@49092.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_3833 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_3855 = _RAND_1[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_4131_0 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_4131_1 = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_4131_2 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_4131_3 = _RAND_5[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_4131_4 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_4131_5 = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_4131_6 = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_4131_7 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_4131_8 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_4131_9 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_4131_10 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_4131_11 = _RAND_13[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_4131_12 = _RAND_14[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_3833 <= 10'h0;
    end else begin
      if (_T_3835) begin
        _T_3833 <= _T_4076;
      end else begin
        _T_3833 <= _T_4080;
      end
    end
    if (reset) begin
      _T_3855 <= 13'h1fff;
    end else begin
      if (_T_3876) begin
        _T_3855 <= _T_3889;
      end
    end
    if (reset) begin
      _T_4131_0 <= 1'h0;
    end else begin
      if (_T_3834) begin
        _T_4131_0 <= _T_3924;
      end
    end
    if (reset) begin
      _T_4131_1 <= 1'h0;
    end else begin
      if (_T_3834) begin
        _T_4131_1 <= _T_3925;
      end
    end
    if (reset) begin
      _T_4131_2 <= 1'h0;
    end else begin
      if (_T_3834) begin
        _T_4131_2 <= _T_3926;
      end
    end
    if (reset) begin
      _T_4131_3 <= 1'h0;
    end else begin
      if (_T_3834) begin
        _T_4131_3 <= _T_3927;
      end
    end
    if (reset) begin
      _T_4131_4 <= 1'h0;
    end else begin
      if (_T_3834) begin
        _T_4131_4 <= _T_3928;
      end
    end
    if (reset) begin
      _T_4131_5 <= 1'h0;
    end else begin
      if (_T_3834) begin
        _T_4131_5 <= _T_3929;
      end
    end
    if (reset) begin
      _T_4131_6 <= 1'h0;
    end else begin
      if (_T_3834) begin
        _T_4131_6 <= _T_3930;
      end
    end
    if (reset) begin
      _T_4131_7 <= 1'h0;
    end else begin
      if (_T_3834) begin
        _T_4131_7 <= _T_3931;
      end
    end
    if (reset) begin
      _T_4131_8 <= 1'h0;
    end else begin
      if (_T_3834) begin
        _T_4131_8 <= _T_3932;
      end
    end
    if (reset) begin
      _T_4131_9 <= 1'h0;
    end else begin
      if (_T_3834) begin
        _T_4131_9 <= _T_3933;
      end
    end
    if (reset) begin
      _T_4131_10 <= 1'h0;
    end else begin
      if (_T_3834) begin
        _T_4131_10 <= _T_3934;
      end
    end
    if (reset) begin
      _T_4131_11 <= 1'h0;
    end else begin
      if (_T_3834) begin
        _T_4131_11 <= _T_3935;
      end
    end
    if (reset) begin
      _T_4131_12 <= 1'h0;
    end else begin
      if (_T_3834) begin
        _T_4131_12 <= _T_3936;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_3852) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:19 assert (valid === valids)\n"); // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@50342.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_3852) begin
          $fatal; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@50343.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_4022) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:68 assert((prefixOR zip winner) map { case (p,w) => !p || !w } reduce {_ && _})\n"); // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@50510.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_4022) begin
          $fatal; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@50511.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_4051) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:70 assert (!valids.reduce(_||_) || winner.reduce(_||_))\n"); // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50543.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_4051) begin
          $fatal; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50544.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_28( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50807.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50808.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50809.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
  input  [29:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@50810.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@52312.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@50826.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50831.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50833.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50834.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50835.6]
  wire [29:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@50836.6]
  wire [29:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@50836.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50837.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50839.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@50840.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@50842.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@50843.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50844.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50845.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@50846.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@50848.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50849.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@50851.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50852.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50853.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50854.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@50855.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@50856.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@50857.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50858.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@50859.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@50860.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50861.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@50862.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@50863.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50864.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@50865.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@50866.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50867.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50868.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50869.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50870.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50895.6]
  wire [29:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50898.8]
  wire [30:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50899.8]
  wire [30:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50900.8]
  wire [30:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50901.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50902.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50903.8]
  wire [30:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50904.8]
  wire [30:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50905.8]
  wire [30:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50906.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50907.8]
  wire [29:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50908.8]
  wire [30:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50909.8]
  wire [30:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50910.8]
  wire [30:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50911.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50912.8]
  wire [29:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50913.8]
  wire [30:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50914.8]
  wire [30:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50915.8]
  wire [30:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50916.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50917.8]
  wire [29:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50918.8]
  wire [30:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50919.8]
  wire [30:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50920.8]
  wire [30:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50921.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50922.8]
  wire [29:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50923.8]
  wire [30:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50924.8]
  wire [30:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50925.8]
  wire [30:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50926.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50927.8]
  wire [29:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50928.8]
  wire [30:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50929.8]
  wire [30:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50930.8]
  wire [30:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50931.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50932.8]
  wire [29:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50933.8]
  wire [30:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50934.8]
  wire [30:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50935.8]
  wire [30:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50936.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50937.8]
  wire  _T_143; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50949.8]
  wire  _T_148; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50962.8]
  wire  _T_149; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50963.8]
  wire  _T_152; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50970.8]
  wire  _T_153; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50971.8]
  wire  _T_155; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50977.8]
  wire  _T_156; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50978.8]
  wire  _T_157; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@50983.8]
  wire  _T_159; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50985.8]
  wire  _T_160; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50986.8]
  wire [3:0] _T_161; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@50991.8]
  wire  _T_162; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@50992.8]
  wire  _T_164; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50994.8]
  wire  _T_165; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50995.8]
  wire  _T_166; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@51000.8]
  wire  _T_168; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51002.8]
  wire  _T_169; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51003.8]
  wire  _T_170; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51009.6]
  wire  _T_241; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51105.8]
  wire  _T_243; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51107.8]
  wire  _T_244; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51108.8]
  wire  _T_254; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51131.6]
  wire  _T_256; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51134.8]
  wire  _T_264; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51142.8]
  wire  _T_266; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51144.8]
  wire  _T_304; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51182.8]
  wire  _T_305; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51183.8]
  wire  _T_306; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51184.8]
  wire  _T_307; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51185.8]
  wire  _T_308; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51186.8]
  wire  _T_309; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51187.8]
  wire  _T_310; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51188.8]
  wire  _T_312; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@51190.8]
  wire  _T_314; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51192.8]
  wire  _T_315; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51193.8]
  wire  _T_322; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51212.8]
  wire  _T_324; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51214.8]
  wire  _T_325; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51215.8]
  wire  _T_326; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@51220.8]
  wire  _T_328; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51222.8]
  wire  _T_329; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51223.8]
  wire  _T_334; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51237.6]
  wire  _T_382; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51286.8]
  wire  _T_383; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51287.8]
  wire  _T_384; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51288.8]
  wire  _T_393; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@51297.8]
  wire  _T_396; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51300.8]
  wire  _T_397; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51301.8]
  wire  _T_412; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51337.6]
  wire [3:0] _T_486; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@51428.8]
  wire [3:0] _T_487; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51429.8]
  wire  _T_488; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@51430.8]
  wire  _T_490; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51432.8]
  wire  _T_491; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51433.8]
  wire  _T_492; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51439.6]
  wire  _T_494; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51442.8]
  wire  _T_502; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51450.8]
  wire  _T_549; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51497.8]
  wire  _T_550; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51498.8]
  wire  _T_557; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@51517.8]
  wire  _T_559; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51519.8]
  wire  _T_560; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51520.8]
  wire  _T_565; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51534.6]
  wire  _T_630; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@51612.8]
  wire  _T_632; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51614.8]
  wire  _T_633; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51615.8]
  wire  _T_638; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51629.6]
  wire  _T_695; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51687.8]
  wire  _T_696; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51688.8]
  wire  _T_711; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51726.6]
  wire  _T_713; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@51728.6]
  wire  _T_714; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@51729.6]
  wire  _T_716; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@51735.6]
  wire  _T_725; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@51740.6]
  wire  _T_727; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51742.6]
  wire  _T_729; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51745.8]
  wire  _T_730; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51746.8]
  wire  _T_731; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@51751.8]
  wire  _T_733; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51753.8]
  wire  _T_734; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51754.8]
  wire  _T_735; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51759.8]
  wire  _T_737; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51761.8]
  wire  _T_738; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51762.8]
  wire  _T_739; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@51767.8]
  wire  _T_741; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51769.8]
  wire  _T_742; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51770.8]
  wire  _T_743; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@51775.8]
  wire  _T_745; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51777.8]
  wire  _T_746; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51778.8]
  wire  _T_747; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51784.6]
  wire  _T_758; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@51808.8]
  wire  _T_760; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51810.8]
  wire  _T_761; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51811.8]
  wire  _T_762; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51816.8]
  wire  _T_764; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51818.8]
  wire  _T_765; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51819.8]
  wire  _T_775; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51842.6]
  wire  _T_795; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@51883.8]
  wire  _T_797; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51885.8]
  wire  _T_798; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51886.8]
  wire  _T_804; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51901.6]
  wire  _T_821; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51936.6]
  wire  _T_839; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51972.6]
  wire  _T_868; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52032.4]
  wire [9:0] _T_873; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@52037.4]
  wire  _T_874; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@52038.4]
  wire  _T_875; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52039.4]
  reg [9:0] _T_878; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52041.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_879; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52042.4]
  wire [10:0] _T_880; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52043.4]
  wire [9:0] _T_881; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52044.4]
  wire  _T_882; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52045.4]
  reg [2:0] _T_891; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52056.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_893; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52057.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_895; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52058.4]
  reg [31:0] _RAND_3;
  reg  _T_897; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52059.4]
  reg [31:0] _RAND_4;
  reg [29:0] _T_899; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52060.4]
  reg [31:0] _RAND_5;
  wire  _T_900; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52061.4]
  wire  _T_901; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52062.4]
  wire  _T_902; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52064.6]
  wire  _T_904; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52066.6]
  wire  _T_905; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52067.6]
  wire  _T_906; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52072.6]
  wire  _T_908; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52074.6]
  wire  _T_909; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52075.6]
  wire  _T_910; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52080.6]
  wire  _T_912; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52082.6]
  wire  _T_913; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52083.6]
  wire  _T_914; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52088.6]
  wire  _T_916; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52090.6]
  wire  _T_917; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52091.6]
  wire  _T_918; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52096.6]
  wire  _T_920; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52098.6]
  wire  _T_921; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52099.6]
  wire  _T_923; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@52106.4]
  wire  _T_924; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52114.4]
  wire [26:0] _T_926; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@52116.4]
  wire [11:0] _T_927; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@52117.4]
  wire [11:0] _T_928; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@52118.4]
  wire [9:0] _T_929; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@52119.4]
  wire  _T_930; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@52120.4]
  reg [9:0] _T_933; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52122.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_934; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52123.4]
  wire [10:0] _T_935; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52124.4]
  wire [9:0] _T_936; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52125.4]
  wire  _T_937; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52126.4]
  reg [2:0] _T_946; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52137.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_948; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52138.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_950; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52139.4]
  reg [31:0] _RAND_9;
  reg  _T_952; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52140.4]
  reg [31:0] _RAND_10;
  reg  _T_954; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52141.4]
  reg [31:0] _RAND_11;
  reg  _T_956; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52142.4]
  reg [31:0] _RAND_12;
  wire  _T_957; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52143.4]
  wire  _T_958; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52144.4]
  wire  _T_959; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52146.6]
  wire  _T_961; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52148.6]
  wire  _T_962; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52149.6]
  wire  _T_963; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52154.6]
  wire  _T_965; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52156.6]
  wire  _T_966; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52157.6]
  wire  _T_967; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52162.6]
  wire  _T_969; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52164.6]
  wire  _T_970; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52165.6]
  wire  _T_971; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52170.6]
  wire  _T_973; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52172.6]
  wire  _T_974; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52173.6]
  wire  _T_975; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52178.6]
  wire  _T_977; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52180.6]
  wire  _T_978; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52181.6]
  wire  _T_979; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52186.6]
  wire  _T_981; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52188.6]
  wire  _T_982; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52189.6]
  wire  _T_984; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@52196.4]
  reg [1:0] _T_986; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52205.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_997; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52215.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_998; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52216.4]
  wire [10:0] _T_999; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52217.4]
  wire [9:0] _T_1000; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52218.4]
  wire  _T_1001; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52219.4]
  reg [9:0] _T_1018; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52238.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1019; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52239.4]
  wire [10:0] _T_1020; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52240.4]
  wire [9:0] _T_1021; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52241.4]
  wire  _T_1022; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52242.4]
  wire  _T_1033; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52257.4]
  wire [1:0] _T_1035; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@52260.6]
  wire [1:0] _T_1036; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@52262.6]
  wire  _T_1037; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@52263.6]
  wire  _T_1038; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52264.6]
  wire  _T_1040; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52266.6]
  wire  _T_1041; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52267.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@52259.4]
  wire  _T_1046; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52278.4]
  wire  _T_1048; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@52280.4]
  wire  _T_1049; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@52281.4]
  wire [1:0] _T_1050; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@52283.6]
  wire [1:0] _T_1051; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52285.6]
  wire [1:0] _T_1052; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@52286.6]
  wire  _T_1053; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@52287.6]
  wire  _T_1055; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52289.6]
  wire  _T_1056; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52290.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@52282.4]
  wire  _T_1057; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@52296.4]
  wire  _T_1058; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@52297.4]
  wire  _T_1059; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@52298.4]
  wire  _T_1060; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@52299.4]
  wire  _T_1062; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52301.4]
  wire  _T_1063; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52302.4]
  wire [1:0] _T_1064; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52307.4]
  wire [1:0] _T_1065; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52308.4]
  wire [1:0] _T_1066; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@52309.4]
  reg [31:0] _T_1068; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52311.4]
  reg [31:0] _RAND_16;
  wire  _T_1069; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@52314.4]
  wire  _T_1070; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52315.4]
  wire  _T_1071; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@52316.4]
  wire  _T_1072; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52317.4]
  wire  _T_1073; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@52318.4]
  wire  _T_1074; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@52319.4]
  wire  _T_1076; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52321.4]
  wire  _T_1077; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52322.4]
  wire [31:0] _T_1079; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@52328.4]
  wire  _T_1082; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52332.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50951.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51065.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51195.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51303.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51403.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51500.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51595.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51690.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51748.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51790.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51848.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51907.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51942.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51978.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@52312.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@50826.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50831.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@50833.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@50834.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@50835.6]
  assign _GEN_18 = {{18'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@50836.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@50836.6]
  assign _T_36 = _T_35 == 30'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@50837.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50839.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@50840.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@50842.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@50843.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50844.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50845.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@50846.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@50848.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50849.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@50851.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50852.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50853.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@50854.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@50855.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@50856.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@50857.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50858.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@50859.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@50860.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50861.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@50862.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@50863.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50864.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@50865.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@50866.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@50867.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50868.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50869.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@50870.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@50895.6]
  assign _T_92 = io_in_a_bits_address ^ 30'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50898.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50899.8]
  assign _T_94 = $signed(_T_93) & $signed(-31'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50900.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50901.8]
  assign _T_96 = $signed(_T_95) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50902.8]
  assign _T_97 = io_in_a_bits_address ^ 30'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50903.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50904.8]
  assign _T_99 = $signed(_T_98) & $signed(-31'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50905.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50906.8]
  assign _T_101 = $signed(_T_100) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50907.8]
  assign _T_102 = io_in_a_bits_address ^ 30'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50908.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50909.8]
  assign _T_104 = $signed(_T_103) & $signed(-31'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50910.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50911.8]
  assign _T_106 = $signed(_T_105) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50912.8]
  assign _T_107 = io_in_a_bits_address ^ 30'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50913.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50914.8]
  assign _T_109 = $signed(_T_108) & $signed(-31'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50915.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50916.8]
  assign _T_111 = $signed(_T_110) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50917.8]
  assign _T_112 = io_in_a_bits_address ^ 30'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50918.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50919.8]
  assign _T_114 = $signed(_T_113) & $signed(-31'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50920.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50921.8]
  assign _T_116 = $signed(_T_115) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50922.8]
  assign _T_117 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50923.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50924.8]
  assign _T_119 = $signed(_T_118) & $signed(-31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50925.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50926.8]
  assign _T_121 = $signed(_T_120) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50927.8]
  assign _T_122 = io_in_a_bits_address ^ 30'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50928.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50929.8]
  assign _T_124 = $signed(_T_123) & $signed(-31'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50930.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50931.8]
  assign _T_126 = $signed(_T_125) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50932.8]
  assign _T_127 = io_in_a_bits_address ^ 30'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@50933.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@50934.8]
  assign _T_129 = $signed(_T_128) & $signed(-31'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50935.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@50936.8]
  assign _T_131 = $signed(_T_130) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@50937.8]
  assign _T_143 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50949.8]
  assign _T_148 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50962.8]
  assign _T_149 = _T_148 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50963.8]
  assign _T_152 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50970.8]
  assign _T_153 = _T_152 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50971.8]
  assign _T_155 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50977.8]
  assign _T_156 = _T_155 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50978.8]
  assign _T_157 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@50983.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50985.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50986.8]
  assign _T_161 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@50991.8]
  assign _T_162 = _T_161 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@50992.8]
  assign _T_164 = _T_162 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50994.8]
  assign _T_165 = _T_164 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50995.8]
  assign _T_166 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@51000.8]
  assign _T_168 = _T_166 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51002.8]
  assign _T_169 = _T_168 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51003.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51009.6]
  assign _T_241 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51105.8]
  assign _T_243 = _T_241 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51107.8]
  assign _T_244 = _T_243 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51108.8]
  assign _T_254 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51131.6]
  assign _T_256 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51134.8]
  assign _T_264 = _T_256 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51142.8]
  assign _T_266 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51144.8]
  assign _T_304 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51182.8]
  assign _T_305 = _T_304 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51183.8]
  assign _T_306 = _T_305 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51184.8]
  assign _T_307 = _T_306 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51185.8]
  assign _T_308 = _T_307 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51186.8]
  assign _T_309 = _T_308 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51187.8]
  assign _T_310 = _T_266 & _T_309; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51188.8]
  assign _T_312 = _T_264 | _T_310; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@51190.8]
  assign _T_314 = _T_312 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51192.8]
  assign _T_315 = _T_314 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51193.8]
  assign _T_322 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51212.8]
  assign _T_324 = _T_322 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51214.8]
  assign _T_325 = _T_324 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51215.8]
  assign _T_326 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@51220.8]
  assign _T_328 = _T_326 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51222.8]
  assign _T_329 = _T_328 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51223.8]
  assign _T_334 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51237.6]
  assign _T_382 = _T_306 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51286.8]
  assign _T_383 = _T_382 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51287.8]
  assign _T_384 = _T_266 & _T_383; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51288.8]
  assign _T_393 = _T_264 | _T_384; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@51297.8]
  assign _T_396 = _T_393 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51300.8]
  assign _T_397 = _T_396 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51301.8]
  assign _T_412 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51337.6]
  assign _T_486 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@51428.8]
  assign _T_487 = io_in_a_bits_mask & _T_486; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51429.8]
  assign _T_488 = _T_487 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@51430.8]
  assign _T_490 = _T_488 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51432.8]
  assign _T_491 = _T_490 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51433.8]
  assign _T_492 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51439.6]
  assign _T_494 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@51442.8]
  assign _T_502 = _T_494 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@51450.8]
  assign _T_549 = _T_502 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51497.8]
  assign _T_550 = _T_549 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51498.8]
  assign _T_557 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@51517.8]
  assign _T_559 = _T_557 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51519.8]
  assign _T_560 = _T_559 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51520.8]
  assign _T_565 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51534.6]
  assign _T_630 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@51612.8]
  assign _T_632 = _T_630 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51614.8]
  assign _T_633 = _T_632 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51615.8]
  assign _T_638 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51629.6]
  assign _T_695 = _T_264 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51687.8]
  assign _T_696 = _T_695 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51688.8]
  assign _T_711 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@51726.6]
  assign _T_713 = _T_711 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@51728.6]
  assign _T_714 = _T_713 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@51729.6]
  assign _T_716 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@51735.6]
  assign _T_725 = io_in_d_bits_source | _T_716; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@51740.6]
  assign _T_727 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51742.6]
  assign _T_729 = _T_725 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51745.8]
  assign _T_730 = _T_729 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51746.8]
  assign _T_731 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@51751.8]
  assign _T_733 = _T_731 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51753.8]
  assign _T_734 = _T_733 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51754.8]
  assign _T_735 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51759.8]
  assign _T_737 = _T_735 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51761.8]
  assign _T_738 = _T_737 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51762.8]
  assign _T_739 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@51767.8]
  assign _T_741 = _T_739 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51769.8]
  assign _T_742 = _T_741 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51770.8]
  assign _T_743 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@51775.8]
  assign _T_745 = _T_743 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51777.8]
  assign _T_746 = _T_745 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51778.8]
  assign _T_747 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51784.6]
  assign _T_758 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@51808.8]
  assign _T_760 = _T_758 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51810.8]
  assign _T_761 = _T_760 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51811.8]
  assign _T_762 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@51816.8]
  assign _T_764 = _T_762 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51818.8]
  assign _T_765 = _T_764 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51819.8]
  assign _T_775 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51842.6]
  assign _T_795 = _T_743 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@51883.8]
  assign _T_797 = _T_795 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51885.8]
  assign _T_798 = _T_797 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51886.8]
  assign _T_804 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51901.6]
  assign _T_821 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51936.6]
  assign _T_839 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@51972.6]
  assign _T_868 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52032.4]
  assign _T_873 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@52037.4]
  assign _T_874 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@52038.4]
  assign _T_875 = _T_874 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52039.4]
  assign _T_879 = _T_878 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52042.4]
  assign _T_880 = $unsigned(_T_879); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52043.4]
  assign _T_881 = _T_880[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52044.4]
  assign _T_882 = _T_878 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52045.4]
  assign _T_900 = _T_882 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52061.4]
  assign _T_901 = io_in_a_valid & _T_900; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52062.4]
  assign _T_902 = io_in_a_bits_opcode == _T_891; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52064.6]
  assign _T_904 = _T_902 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52066.6]
  assign _T_905 = _T_904 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52067.6]
  assign _T_906 = io_in_a_bits_param == _T_893; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52072.6]
  assign _T_908 = _T_906 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52074.6]
  assign _T_909 = _T_908 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52075.6]
  assign _T_910 = io_in_a_bits_size == _T_895; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52080.6]
  assign _T_912 = _T_910 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52082.6]
  assign _T_913 = _T_912 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52083.6]
  assign _T_914 = io_in_a_bits_source == _T_897; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52088.6]
  assign _T_916 = _T_914 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52090.6]
  assign _T_917 = _T_916 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52091.6]
  assign _T_918 = io_in_a_bits_address == _T_899; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52096.6]
  assign _T_920 = _T_918 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52098.6]
  assign _T_921 = _T_920 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52099.6]
  assign _T_923 = _T_868 & _T_882; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@52106.4]
  assign _T_924 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52114.4]
  assign _T_926 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@52116.4]
  assign _T_927 = _T_926[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@52117.4]
  assign _T_928 = ~ _T_927; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@52118.4]
  assign _T_929 = _T_928[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@52119.4]
  assign _T_930 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@52120.4]
  assign _T_934 = _T_933 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52123.4]
  assign _T_935 = $unsigned(_T_934); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52124.4]
  assign _T_936 = _T_935[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52125.4]
  assign _T_937 = _T_933 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52126.4]
  assign _T_957 = _T_937 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52143.4]
  assign _T_958 = io_in_d_valid & _T_957; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52144.4]
  assign _T_959 = io_in_d_bits_opcode == _T_946; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52146.6]
  assign _T_961 = _T_959 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52148.6]
  assign _T_962 = _T_961 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52149.6]
  assign _T_963 = io_in_d_bits_param == _T_948; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52154.6]
  assign _T_965 = _T_963 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52156.6]
  assign _T_966 = _T_965 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52157.6]
  assign _T_967 = io_in_d_bits_size == _T_950; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52162.6]
  assign _T_969 = _T_967 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52164.6]
  assign _T_970 = _T_969 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52165.6]
  assign _T_971 = io_in_d_bits_source == _T_952; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52170.6]
  assign _T_973 = _T_971 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52172.6]
  assign _T_974 = _T_973 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52173.6]
  assign _T_975 = io_in_d_bits_sink == _T_954; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52178.6]
  assign _T_977 = _T_975 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52180.6]
  assign _T_978 = _T_977 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52181.6]
  assign _T_979 = io_in_d_bits_denied == _T_956; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52186.6]
  assign _T_981 = _T_979 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52188.6]
  assign _T_982 = _T_981 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52189.6]
  assign _T_984 = _T_924 & _T_937; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@52196.4]
  assign _T_998 = _T_997 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52216.4]
  assign _T_999 = $unsigned(_T_998); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52217.4]
  assign _T_1000 = _T_999[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52218.4]
  assign _T_1001 = _T_997 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52219.4]
  assign _T_1019 = _T_1018 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52239.4]
  assign _T_1020 = $unsigned(_T_1019); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52240.4]
  assign _T_1021 = _T_1020[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52241.4]
  assign _T_1022 = _T_1018 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52242.4]
  assign _T_1033 = _T_868 & _T_1001; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52257.4]
  assign _T_1035 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@52260.6]
  assign _T_1036 = _T_986 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@52262.6]
  assign _T_1037 = _T_1036[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@52263.6]
  assign _T_1038 = _T_1037 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52264.6]
  assign _T_1040 = _T_1038 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52266.6]
  assign _T_1041 = _T_1040 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52267.6]
  assign _GEN_15 = _T_1033 ? _T_1035 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@52259.4]
  assign _T_1046 = _T_924 & _T_1022; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52278.4]
  assign _T_1048 = _T_727 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@52280.4]
  assign _T_1049 = _T_1046 & _T_1048; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@52281.4]
  assign _T_1050 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@52283.6]
  assign _T_1051 = _GEN_15 | _T_986; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52285.6]
  assign _T_1052 = _T_1051 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@52286.6]
  assign _T_1053 = _T_1052[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@52287.6]
  assign _T_1055 = _T_1053 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52289.6]
  assign _T_1056 = _T_1055 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52290.6]
  assign _GEN_16 = _T_1049 ? _T_1050 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@52282.4]
  assign _T_1057 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@52296.4]
  assign _T_1058 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@52297.4]
  assign _T_1059 = _T_1058 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@52298.4]
  assign _T_1060 = _T_1057 | _T_1059; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@52299.4]
  assign _T_1062 = _T_1060 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52301.4]
  assign _T_1063 = _T_1062 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52302.4]
  assign _T_1064 = _T_986 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52307.4]
  assign _T_1065 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52308.4]
  assign _T_1066 = _T_1064 & _T_1065; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@52309.4]
  assign _T_1069 = _T_986 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@52314.4]
  assign _T_1070 = _T_1069 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52315.4]
  assign _T_1071 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@52316.4]
  assign _T_1072 = _T_1070 | _T_1071; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52317.4]
  assign _T_1073 = _T_1068 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@52318.4]
  assign _T_1074 = _T_1072 | _T_1073; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@52319.4]
  assign _T_1076 = _T_1074 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52321.4]
  assign _T_1077 = _T_1076 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52322.4]
  assign _T_1079 = _T_1068 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@52328.4]
  assign _T_1082 = _T_868 | _T_924; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52332.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50951.10]
  assign _GEN_35 = io_in_a_valid & _T_170; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51065.10]
  assign _GEN_53 = io_in_a_valid & _T_254; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51195.10]
  assign _GEN_65 = io_in_a_valid & _T_334; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51303.10]
  assign _GEN_75 = io_in_a_valid & _T_412; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51403.10]
  assign _GEN_85 = io_in_a_valid & _T_492; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51500.10]
  assign _GEN_95 = io_in_a_valid & _T_565; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51595.10]
  assign _GEN_105 = io_in_a_valid & _T_638; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51690.10]
  assign _GEN_115 = io_in_d_valid & _T_727; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51748.10]
  assign _GEN_125 = io_in_d_valid & _T_747; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51790.10]
  assign _GEN_137 = io_in_d_valid & _T_775; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51848.10]
  assign _GEN_149 = io_in_d_valid & _T_804; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51907.10]
  assign _GEN_155 = io_in_d_valid & _T_821; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51942.10]
  assign _GEN_161 = io_in_d_valid & _T_839; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51978.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_878 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_891 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_893 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_895 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_897 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_899 = _RAND_5[29:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_933 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_946 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_948 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_950 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_952 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_954 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_956 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_986 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_997 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1018 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1068 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_878 <= 10'h0;
    end else begin
      if (_T_868) begin
        if (_T_882) begin
          if (_T_875) begin
            _T_878 <= _T_873;
          end else begin
            _T_878 <= 10'h0;
          end
        end else begin
          _T_878 <= _T_881;
        end
      end
    end
    if (_T_923) begin
      _T_891 <= io_in_a_bits_opcode;
    end
    if (_T_923) begin
      _T_893 <= io_in_a_bits_param;
    end
    if (_T_923) begin
      _T_895 <= io_in_a_bits_size;
    end
    if (_T_923) begin
      _T_897 <= io_in_a_bits_source;
    end
    if (_T_923) begin
      _T_899 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_933 <= 10'h0;
    end else begin
      if (_T_924) begin
        if (_T_937) begin
          if (_T_930) begin
            _T_933 <= _T_929;
          end else begin
            _T_933 <= 10'h0;
          end
        end else begin
          _T_933 <= _T_936;
        end
      end
    end
    if (_T_984) begin
      _T_946 <= io_in_d_bits_opcode;
    end
    if (_T_984) begin
      _T_948 <= io_in_d_bits_param;
    end
    if (_T_984) begin
      _T_950 <= io_in_d_bits_size;
    end
    if (_T_984) begin
      _T_952 <= io_in_d_bits_source;
    end
    if (_T_984) begin
      _T_954 <= io_in_d_bits_sink;
    end
    if (_T_984) begin
      _T_956 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_986 <= 2'h0;
    end else begin
      _T_986 <= _T_1066;
    end
    if (reset) begin
      _T_997 <= 10'h0;
    end else begin
      if (_T_868) begin
        if (_T_1001) begin
          if (_T_875) begin
            _T_997 <= _T_873;
          end else begin
            _T_997 <= 10'h0;
          end
        end else begin
          _T_997 <= _T_1000;
        end
      end
    end
    if (reset) begin
      _T_1018 <= 10'h0;
    end else begin
      if (_T_924) begin
        if (_T_1022) begin
          if (_T_930) begin
            _T_1018 <= _T_929;
          end else begin
            _T_1018 <= 10'h0;
          end
        end else begin
          _T_1018 <= _T_1021;
        end
      end
    end
    if (reset) begin
      _T_1068 <= 32'h0;
    end else begin
      if (_T_1082) begin
        _T_1068 <= 32'h0;
      end else begin
        _T_1068 <= _T_1079;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@50822.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@50823.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@50892.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@50893.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50951.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_143) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50952.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50958.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_143) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50959.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50965.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_149) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50966.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_153) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50973.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_153) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50974.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50980.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_156) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50981.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50988.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_160) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50989.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_165) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50997.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_165) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@50998.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_169) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51005.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_169) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51006.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51065.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_143) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51066.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51072.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_143) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51073.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51079.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_149) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51080.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_153) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51087.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_153) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51088.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51094.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_156) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51095.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51102.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51103.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_244) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51110.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_244) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51111.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_165) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51119.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_165) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51120.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_169) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51127.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_169) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51128.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_315) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51195.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_315) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51196.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51202.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_149) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51203.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51209.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_156) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51210.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_325) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51217.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_325) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51218.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51225.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_329) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51226.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_169) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51233.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_169) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51234.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_397) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51303.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_397) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51304.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51310.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_149) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51311.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51317.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_156) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51318.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_325) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51325.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_325) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51326.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51333.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_329) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51334.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_397) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51403.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_397) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51404.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51410.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_149) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51411.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51417.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_156) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51418.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_325) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51425.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_325) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51426.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_491) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51435.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_491) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51436.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_550) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51500.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_550) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51501.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51507.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_149) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51508.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51514.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_156) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51515.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_560) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51522.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_560) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51523.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51530.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_329) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51531.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_550) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51595.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_550) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51596.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51602.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_149) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51603.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51609.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_156) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51610.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_633) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51617.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_633) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51618.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51625.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_329) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51626.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_696) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51690.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_696) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51691.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51697.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_149) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51698.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51704.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_156) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51705.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51712.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_329) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51713.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_169) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51720.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_169) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51721.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_714) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@51731.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_714) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@51732.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51748.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_730) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51749.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_734) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51756.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_734) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51757.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_738) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51764.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_738) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51765.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_742) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51772.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_742) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51773.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_746) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51780.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_746) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51781.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51790.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_730) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51791.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51797.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_143) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51798.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_734) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51805.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_734) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51806.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_761) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51813.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_761) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51814.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_765) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51821.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_765) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51822.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_742) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51829.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_742) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51830.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51838.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51839.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51848.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_730) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51849.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51855.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_143) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51856.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_734) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51863.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_734) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51864.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_761) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51871.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_761) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51872.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_765) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51879.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_765) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51880.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_798) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51888.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_798) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51889.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51897.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51898.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51907.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_730) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51908.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_738) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51915.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_738) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51916.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_742) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51923.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_742) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51924.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51932.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51933.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51942.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_730) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51943.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_738) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51950.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_738) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51951.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_798) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51959.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_798) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51960.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51968.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51969.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51978.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_730) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51979.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_738) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51986.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_738) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51987.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_742) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51994.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_742) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@51995.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52003.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52004.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52013.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52014.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52021.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52022.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52029.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52030.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_905) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52069.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_905) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52070.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_909) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52077.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_909) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52078.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_913) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52085.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_913) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52086.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_917) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52093.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_917) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52094.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_921) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52101.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_921) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52102.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_962) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52151.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_962) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52152.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_966) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52159.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_966) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52160.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_970) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52167.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_970) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52168.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_974) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52175.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_974) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52176.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_978) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52183.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_978) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52184.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_982) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52191.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_982) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52192.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1033 & _T_1041) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52269.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1033 & _T_1041) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52270.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1049 & _T_1056) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52292.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1049 & _T_1056) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52293.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1063) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52304.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1063) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52305.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1077) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:36:25)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52324.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1077) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52325.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Queue_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52337.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52338.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52339.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
  input  [3:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
  input  [29:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
  output [3:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
  output [29:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52340.4]
);
  reg [2:0] _T_35_opcode [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  reg [31:0] _RAND_0;
  wire [2:0] _T_35_opcode__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_opcode__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire [2:0] _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_opcode__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_opcode__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_opcode__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  reg [2:0] _T_35_param [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  reg [31:0] _RAND_1;
  wire [2:0] _T_35_param__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_param__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire [2:0] _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_param__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_param__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_param__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  reg [3:0] _T_35_size [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_35_size__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_size__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire [3:0] _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_size__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_size__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_size__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  reg  _T_35_source [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  reg [31:0] _RAND_3;
  wire  _T_35_source__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_source__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_source__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_source__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_source__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  reg [29:0] _T_35_address [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  reg [31:0] _RAND_4;
  wire [29:0] _T_35_address__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_address__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire [29:0] _T_35_address__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_address__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_address__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_address__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  reg [3:0] _T_35_mask [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  reg [31:0] _RAND_5;
  wire [3:0] _T_35_mask__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_mask__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire [3:0] _T_35_mask__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_mask__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_mask__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_mask__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  reg [31:0] _T_35_data [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  reg [31:0] _RAND_6;
  wire [31:0] _T_35_data__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_data__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire [31:0] _T_35_data__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_data__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_data__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_data__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  reg  _T_35_corrupt [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  reg [31:0] _RAND_7;
  wire  _T_35_corrupt__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_corrupt__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_corrupt__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_corrupt__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  wire  _T_35_corrupt__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  reg  value; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@52343.4]
  reg [31:0] _RAND_8;
  reg  value_1; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@52344.4]
  reg [31:0] _RAND_9;
  reg  _T_39; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@52345.4]
  reg [31:0] _RAND_10;
  wire  _T_40; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@52346.4]
  wire  _T_41; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@52347.4]
  wire  _T_42; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@52348.4]
  wire  _T_43; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@52349.4]
  wire  _T_44; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@52350.4]
  wire  _T_47; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@52353.4]
  wire  _T_52; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52368.6]
  wire  _T_54; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52374.6]
  wire  _T_55; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@52377.4]
  assign _T_35_opcode__T_58_addr = value_1;
  assign _T_35_opcode__T_58_data = _T_35_opcode[_T_35_opcode__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  assign _T_35_opcode__T_50_data = io_enq_bits_opcode;
  assign _T_35_opcode__T_50_addr = value;
  assign _T_35_opcode__T_50_mask = 1'h1;
  assign _T_35_opcode__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_param__T_58_addr = value_1;
  assign _T_35_param__T_58_data = _T_35_param[_T_35_param__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  assign _T_35_param__T_50_data = io_enq_bits_param;
  assign _T_35_param__T_50_addr = value;
  assign _T_35_param__T_50_mask = 1'h1;
  assign _T_35_param__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_size__T_58_addr = value_1;
  assign _T_35_size__T_58_data = _T_35_size[_T_35_size__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  assign _T_35_size__T_50_data = io_enq_bits_size;
  assign _T_35_size__T_50_addr = value;
  assign _T_35_size__T_50_mask = 1'h1;
  assign _T_35_size__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_source__T_58_addr = value_1;
  assign _T_35_source__T_58_data = _T_35_source[_T_35_source__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  assign _T_35_source__T_50_data = io_enq_bits_source;
  assign _T_35_source__T_50_addr = value;
  assign _T_35_source__T_50_mask = 1'h1;
  assign _T_35_source__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_address__T_58_addr = value_1;
  assign _T_35_address__T_58_data = _T_35_address[_T_35_address__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  assign _T_35_address__T_50_data = io_enq_bits_address;
  assign _T_35_address__T_50_addr = value;
  assign _T_35_address__T_50_mask = 1'h1;
  assign _T_35_address__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_mask__T_58_addr = value_1;
  assign _T_35_mask__T_58_data = _T_35_mask[_T_35_mask__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  assign _T_35_mask__T_50_data = io_enq_bits_mask;
  assign _T_35_mask__T_50_addr = value;
  assign _T_35_mask__T_50_mask = 1'h1;
  assign _T_35_mask__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_data__T_58_addr = value_1;
  assign _T_35_data__T_58_data = _T_35_data[_T_35_data__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  assign _T_35_data__T_50_data = io_enq_bits_data;
  assign _T_35_data__T_50_addr = value;
  assign _T_35_data__T_50_mask = 1'h1;
  assign _T_35_data__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_corrupt__T_58_addr = value_1;
  assign _T_35_corrupt__T_58_data = _T_35_corrupt[_T_35_corrupt__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
  assign _T_35_corrupt__T_50_data = io_enq_bits_corrupt;
  assign _T_35_corrupt__T_50_addr = value;
  assign _T_35_corrupt__T_50_mask = 1'h1;
  assign _T_35_corrupt__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_40 = value == value_1; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@52346.4]
  assign _T_41 = _T_39 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@52347.4]
  assign _T_42 = _T_40 & _T_41; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@52348.4]
  assign _T_43 = _T_40 & _T_39; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@52349.4]
  assign _T_44 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@52350.4]
  assign _T_47 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@52353.4]
  assign _T_52 = value + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52368.6]
  assign _T_54 = value_1 + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52374.6]
  assign _T_55 = _T_44 != _T_47; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@52377.4]
  assign io_enq_ready = _T_43 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@52384.4]
  assign io_deq_valid = _T_42 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@52382.4]
  assign io_deq_bits_opcode = _T_35_opcode__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52393.4]
  assign io_deq_bits_param = _T_35_param__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52392.4]
  assign io_deq_bits_size = _T_35_size__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52391.4]
  assign io_deq_bits_source = _T_35_source__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52390.4]
  assign io_deq_bits_address = _T_35_address__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52389.4]
  assign io_deq_bits_mask = _T_35_mask__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52388.4]
  assign io_deq_bits_data = _T_35_data__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52387.4]
  assign io_deq_bits_corrupt = _T_35_corrupt__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52386.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  _RAND_0 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_opcode[initvar] = _RAND_0[2:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_1 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_param[initvar] = _RAND_1[2:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_2 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_size[initvar] = _RAND_2[3:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_3 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_source[initvar] = _RAND_3[0:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_4 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_address[initvar] = _RAND_4[29:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_5 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_mask[initvar] = _RAND_5[3:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_6 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_data[initvar] = _RAND_6[31:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_7 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_corrupt[initvar] = _RAND_7[0:0];
  `endif // RANDOMIZE_MEM_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  value = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  value_1 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_39 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if(_T_35_opcode__T_50_en & _T_35_opcode__T_50_mask) begin
      _T_35_opcode[_T_35_opcode__T_50_addr] <= _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
    end
    if(_T_35_param__T_50_en & _T_35_param__T_50_mask) begin
      _T_35_param[_T_35_param__T_50_addr] <= _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
    end
    if(_T_35_size__T_50_en & _T_35_size__T_50_mask) begin
      _T_35_size[_T_35_size__T_50_addr] <= _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
    end
    if(_T_35_source__T_50_en & _T_35_source__T_50_mask) begin
      _T_35_source[_T_35_source__T_50_addr] <= _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
    end
    if(_T_35_address__T_50_en & _T_35_address__T_50_mask) begin
      _T_35_address[_T_35_address__T_50_addr] <= _T_35_address__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
    end
    if(_T_35_mask__T_50_en & _T_35_mask__T_50_mask) begin
      _T_35_mask[_T_35_mask__T_50_addr] <= _T_35_mask__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
    end
    if(_T_35_data__T_50_en & _T_35_data__T_50_mask) begin
      _T_35_data[_T_35_data__T_50_addr] <= _T_35_data__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
    end
    if(_T_35_corrupt__T_50_en & _T_35_corrupt__T_50_mask) begin
      _T_35_corrupt[_T_35_corrupt__T_50_addr] <= _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52342.4]
    end
    if (reset) begin
      value <= 1'h0;
    end else begin
      if (_T_44) begin
        value <= _T_52;
      end
    end
    if (reset) begin
      value_1 <= 1'h0;
    end else begin
      if (_T_47) begin
        value_1 <= _T_54;
      end
    end
    if (reset) begin
      _T_39 <= 1'h0;
    end else begin
      if (_T_55) begin
        _T_39 <= _T_44;
      end
    end
  end
endmodule
module TLBuffer_10( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52465.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52466.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52467.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  input  [29:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  output [29:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52468.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
  wire [29:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
  wire  Queue_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
  wire  Queue_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
  wire  Queue_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
  wire  Queue_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
  wire [2:0] Queue_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
  wire [2:0] Queue_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
  wire [3:0] Queue_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
  wire  Queue_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
  wire [29:0] Queue_io_enq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
  wire [3:0] Queue_io_enq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
  wire [31:0] Queue_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
  wire  Queue_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
  wire  Queue_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
  wire  Queue_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
  wire [2:0] Queue_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
  wire [2:0] Queue_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
  wire [3:0] Queue_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
  wire  Queue_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
  wire [29:0] Queue_io_deq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
  wire [3:0] Queue_io_deq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
  wire [31:0] Queue_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
  wire  Queue_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
  wire  Queue_1_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
  wire  Queue_1_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
  wire  Queue_1_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
  wire  Queue_1_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
  wire [2:0] Queue_1_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
  wire [1:0] Queue_1_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
  wire [3:0] Queue_1_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
  wire  Queue_1_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
  wire  Queue_1_io_enq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
  wire  Queue_1_io_enq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
  wire [31:0] Queue_1_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
  wire  Queue_1_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
  wire  Queue_1_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
  wire  Queue_1_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
  wire [2:0] Queue_1_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
  wire [1:0] Queue_1_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
  wire [3:0] Queue_1_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
  wire  Queue_1_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
  wire  Queue_1_io_deq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
  wire  Queue_1_io_deq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
  wire [31:0] Queue_1_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
  wire  Queue_1_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
  TLMonitor_28 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52475.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
  );
  Queue_2 Queue ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52516.4]
    .clock(Queue_clock),
    .reset(Queue_reset),
    .io_enq_ready(Queue_io_enq_ready),
    .io_enq_valid(Queue_io_enq_valid),
    .io_enq_bits_opcode(Queue_io_enq_bits_opcode),
    .io_enq_bits_param(Queue_io_enq_bits_param),
    .io_enq_bits_size(Queue_io_enq_bits_size),
    .io_enq_bits_source(Queue_io_enq_bits_source),
    .io_enq_bits_address(Queue_io_enq_bits_address),
    .io_enq_bits_mask(Queue_io_enq_bits_mask),
    .io_enq_bits_data(Queue_io_enq_bits_data),
    .io_enq_bits_corrupt(Queue_io_enq_bits_corrupt),
    .io_deq_ready(Queue_io_deq_ready),
    .io_deq_valid(Queue_io_deq_valid),
    .io_deq_bits_opcode(Queue_io_deq_bits_opcode),
    .io_deq_bits_param(Queue_io_deq_bits_param),
    .io_deq_bits_size(Queue_io_deq_bits_size),
    .io_deq_bits_source(Queue_io_deq_bits_source),
    .io_deq_bits_address(Queue_io_deq_bits_address),
    .io_deq_bits_mask(Queue_io_deq_bits_mask),
    .io_deq_bits_data(Queue_io_deq_bits_data),
    .io_deq_bits_corrupt(Queue_io_deq_bits_corrupt)
  );
  Queue_1 Queue_1 ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52530.4]
    .clock(Queue_1_clock),
    .reset(Queue_1_reset),
    .io_enq_ready(Queue_1_io_enq_ready),
    .io_enq_valid(Queue_1_io_enq_valid),
    .io_enq_bits_opcode(Queue_1_io_enq_bits_opcode),
    .io_enq_bits_param(Queue_1_io_enq_bits_param),
    .io_enq_bits_size(Queue_1_io_enq_bits_size),
    .io_enq_bits_source(Queue_1_io_enq_bits_source),
    .io_enq_bits_sink(Queue_1_io_enq_bits_sink),
    .io_enq_bits_denied(Queue_1_io_enq_bits_denied),
    .io_enq_bits_data(Queue_1_io_enq_bits_data),
    .io_enq_bits_corrupt(Queue_1_io_enq_bits_corrupt),
    .io_deq_ready(Queue_1_io_deq_ready),
    .io_deq_valid(Queue_1_io_deq_valid),
    .io_deq_bits_opcode(Queue_1_io_deq_bits_opcode),
    .io_deq_bits_param(Queue_1_io_deq_bits_param),
    .io_deq_bits_size(Queue_1_io_deq_bits_size),
    .io_deq_bits_source(Queue_1_io_deq_bits_source),
    .io_deq_bits_sink(Queue_1_io_deq_bits_sink),
    .io_deq_bits_denied(Queue_1_io_deq_bits_denied),
    .io_deq_bits_data(Queue_1_io_deq_bits_data),
    .io_deq_bits_corrupt(Queue_1_io_deq_bits_corrupt)
  );
  assign auto_in_a_ready = Queue_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52515.4]
  assign auto_in_d_valid = Queue_1_io_deq_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52515.4]
  assign auto_in_d_bits_opcode = Queue_1_io_deq_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52515.4]
  assign auto_in_d_bits_param = Queue_1_io_deq_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52515.4]
  assign auto_in_d_bits_size = Queue_1_io_deq_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52515.4]
  assign auto_in_d_bits_source = Queue_1_io_deq_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52515.4]
  assign auto_in_d_bits_sink = Queue_1_io_deq_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52515.4]
  assign auto_in_d_bits_denied = Queue_1_io_deq_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52515.4]
  assign auto_in_d_bits_data = Queue_1_io_deq_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52515.4]
  assign auto_in_d_bits_corrupt = Queue_1_io_deq_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52515.4]
  assign auto_out_a_valid = Queue_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52514.4]
  assign auto_out_a_bits_opcode = Queue_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52514.4]
  assign auto_out_a_bits_param = Queue_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52514.4]
  assign auto_out_a_bits_size = Queue_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52514.4]
  assign auto_out_a_bits_source = Queue_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52514.4]
  assign auto_out_a_bits_address = Queue_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52514.4]
  assign auto_out_a_bits_mask = Queue_io_deq_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52514.4]
  assign auto_out_a_bits_data = Queue_io_deq_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52514.4]
  assign auto_out_a_bits_corrupt = Queue_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52514.4]
  assign auto_out_d_ready = Queue_1_io_enq_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52514.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52477.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52478.4]
  assign TLMonitor_io_in_a_ready = Queue_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
  assign TLMonitor_io_in_d_valid = Queue_1_io_deq_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
  assign TLMonitor_io_in_d_bits_opcode = Queue_1_io_deq_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
  assign TLMonitor_io_in_d_bits_param = Queue_1_io_deq_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
  assign TLMonitor_io_in_d_bits_size = Queue_1_io_deq_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
  assign TLMonitor_io_in_d_bits_source = Queue_1_io_deq_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
  assign TLMonitor_io_in_d_bits_sink = Queue_1_io_deq_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
  assign TLMonitor_io_in_d_bits_denied = Queue_1_io_deq_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
  assign TLMonitor_io_in_d_bits_corrupt = Queue_1_io_deq_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@52511.4]
  assign Queue_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52517.4]
  assign Queue_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52518.4]
  assign Queue_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52519.4]
  assign Queue_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52527.4]
  assign Queue_io_enq_bits_param = auto_in_a_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52526.4]
  assign Queue_io_enq_bits_size = auto_in_a_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52525.4]
  assign Queue_io_enq_bits_source = auto_in_a_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52524.4]
  assign Queue_io_enq_bits_address = auto_in_a_bits_address; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52523.4]
  assign Queue_io_enq_bits_mask = auto_in_a_bits_mask; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52522.4]
  assign Queue_io_enq_bits_data = auto_in_a_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52521.4]
  assign Queue_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52520.4]
  assign Queue_io_deq_ready = auto_out_a_ready; // @[Buffer.scala 38:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52529.4]
  assign Queue_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52531.4]
  assign Queue_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52532.4]
  assign Queue_1_io_enq_valid = auto_out_d_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@52533.4]
  assign Queue_1_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52541.4]
  assign Queue_1_io_enq_bits_param = auto_out_d_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52540.4]
  assign Queue_1_io_enq_bits_size = auto_out_d_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52539.4]
  assign Queue_1_io_enq_bits_source = auto_out_d_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52538.4]
  assign Queue_1_io_enq_bits_sink = auto_out_d_bits_sink; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52537.4]
  assign Queue_1_io_enq_bits_denied = auto_out_d_bits_denied; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52536.4]
  assign Queue_1_io_enq_bits_data = auto_out_d_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52535.4]
  assign Queue_1_io_enq_bits_corrupt = auto_out_d_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52534.4]
  assign Queue_1_io_deq_ready = auto_in_d_ready; // @[Buffer.scala 39:13:shc.marmotcaravel.MarmotCaravelConfig.fir@52543.4]
endmodule
module TLMonitor_29( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52558.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52559.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52560.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
  input  [29:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@52561.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@54063.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@52577.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@52582.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@52584.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@52585.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@52586.6]
  wire [29:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@52587.6]
  wire [29:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@52587.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52588.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52590.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52591.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@52593.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52594.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@52595.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@52596.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@52597.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52599.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52600.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52602.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52603.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@52604.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@52605.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@52606.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52607.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52608.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52609.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52610.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52611.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52612.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52613.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52614.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52615.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52616.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52617.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52618.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@52619.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@52620.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@52621.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52646.6]
  wire [29:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52649.8]
  wire [30:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52650.8]
  wire [30:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52651.8]
  wire [30:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52652.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52653.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52654.8]
  wire [30:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52655.8]
  wire [30:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52656.8]
  wire [30:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52657.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52658.8]
  wire [29:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52659.8]
  wire [30:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52660.8]
  wire [30:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52661.8]
  wire [30:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52662.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52663.8]
  wire [29:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52664.8]
  wire [30:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52665.8]
  wire [30:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52666.8]
  wire [30:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52667.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52668.8]
  wire [29:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52669.8]
  wire [30:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52670.8]
  wire [30:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52671.8]
  wire [30:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52672.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52673.8]
  wire [29:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52674.8]
  wire [30:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52675.8]
  wire [30:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52676.8]
  wire [30:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52677.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52678.8]
  wire [29:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52679.8]
  wire [30:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52680.8]
  wire [30:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52681.8]
  wire [30:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52682.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52683.8]
  wire [29:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52684.8]
  wire [30:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52685.8]
  wire [30:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52686.8]
  wire [30:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52687.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52688.8]
  wire  _T_132; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52689.8]
  wire  _T_133; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52690.8]
  wire  _T_134; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52691.8]
  wire  _T_135; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52692.8]
  wire  _T_143; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52700.8]
  wire  _T_148; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52713.8]
  wire  _T_149; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52714.8]
  wire  _T_152; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52721.8]
  wire  _T_153; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52722.8]
  wire  _T_155; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52728.8]
  wire  _T_156; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52729.8]
  wire  _T_157; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52734.8]
  wire  _T_159; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52736.8]
  wire  _T_160; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52737.8]
  wire [3:0] _T_161; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52742.8]
  wire  _T_162; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52743.8]
  wire  _T_164; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52745.8]
  wire  _T_165; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52746.8]
  wire  _T_166; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52751.8]
  wire  _T_168; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52753.8]
  wire  _T_169; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52754.8]
  wire  _T_170; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52760.6]
  wire  _T_241; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52856.8]
  wire  _T_243; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52858.8]
  wire  _T_244; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52859.8]
  wire  _T_254; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52882.6]
  wire  _T_256; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52885.8]
  wire  _T_264; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@52893.8]
  wire  _T_266; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52895.8]
  wire  _T_304; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52933.8]
  wire  _T_305; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52934.8]
  wire  _T_306; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52935.8]
  wire  _T_307; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52936.8]
  wire  _T_308; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52937.8]
  wire  _T_309; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52938.8]
  wire  _T_310; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@52939.8]
  wire  _T_312; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@52941.8]
  wire  _T_314; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52943.8]
  wire  _T_315; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52944.8]
  wire  _T_322; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52963.8]
  wire  _T_324; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52965.8]
  wire  _T_325; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52966.8]
  wire  _T_326; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52971.8]
  wire  _T_328; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52973.8]
  wire  _T_329; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52974.8]
  wire  _T_334; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52988.6]
  wire  _T_382; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53037.8]
  wire  _T_383; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53038.8]
  wire  _T_384; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@53039.8]
  wire  _T_393; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@53048.8]
  wire  _T_396; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53051.8]
  wire  _T_397; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53052.8]
  wire  _T_412; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53088.6]
  wire [3:0] _T_486; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@53179.8]
  wire [3:0] _T_487; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53180.8]
  wire  _T_488; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@53181.8]
  wire  _T_490; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53183.8]
  wire  _T_491; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53184.8]
  wire  _T_492; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53190.6]
  wire  _T_494; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53193.8]
  wire  _T_536; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53235.8]
  wire  _T_537; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53236.8]
  wire  _T_538; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@53237.8]
  wire  _T_549; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53248.8]
  wire  _T_550; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53249.8]
  wire  _T_557; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@53268.8]
  wire  _T_559; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53270.8]
  wire  _T_560; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53271.8]
  wire  _T_565; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53285.6]
  wire  _T_630; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@53363.8]
  wire  _T_632; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53365.8]
  wire  _T_633; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53366.8]
  wire  _T_638; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53380.6]
  wire  _T_695; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53438.8]
  wire  _T_696; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53439.8]
  wire  _T_711; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53477.6]
  wire  _T_713; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@53479.6]
  wire  _T_714; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@53480.6]
  wire  _T_716; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@53486.6]
  wire  _T_725; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@53491.6]
  wire  _T_727; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53493.6]
  wire  _T_729; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53496.8]
  wire  _T_730; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53497.8]
  wire  _T_731; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53502.8]
  wire  _T_733; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53504.8]
  wire  _T_734; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53505.8]
  wire  _T_735; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53510.8]
  wire  _T_737; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53512.8]
  wire  _T_738; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53513.8]
  wire  _T_739; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@53518.8]
  wire  _T_741; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53520.8]
  wire  _T_742; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53521.8]
  wire  _T_743; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@53526.8]
  wire  _T_745; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53528.8]
  wire  _T_746; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53529.8]
  wire  _T_747; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53535.6]
  wire  _T_758; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@53559.8]
  wire  _T_760; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53561.8]
  wire  _T_761; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53562.8]
  wire  _T_762; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53567.8]
  wire  _T_764; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53569.8]
  wire  _T_765; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53570.8]
  wire  _T_775; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53593.6]
  wire  _T_795; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@53634.8]
  wire  _T_797; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53636.8]
  wire  _T_798; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53637.8]
  wire  _T_804; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53652.6]
  wire  _T_821; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53687.6]
  wire  _T_839; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53723.6]
  wire  _T_868; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53783.4]
  wire [9:0] _T_873; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@53788.4]
  wire  _T_874; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@53789.4]
  wire  _T_875; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53790.4]
  reg [9:0] _T_878; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53792.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_879; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53793.4]
  wire [10:0] _T_880; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53794.4]
  wire [9:0] _T_881; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53795.4]
  wire  _T_882; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53796.4]
  reg [2:0] _T_891; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53807.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_893; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53808.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_895; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53809.4]
  reg [31:0] _RAND_3;
  reg  _T_897; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53810.4]
  reg [31:0] _RAND_4;
  reg [29:0] _T_899; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53811.4]
  reg [31:0] _RAND_5;
  wire  _T_900; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53812.4]
  wire  _T_901; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53813.4]
  wire  _T_902; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53815.6]
  wire  _T_904; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53817.6]
  wire  _T_905; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53818.6]
  wire  _T_906; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53823.6]
  wire  _T_908; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53825.6]
  wire  _T_909; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53826.6]
  wire  _T_910; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53831.6]
  wire  _T_912; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53833.6]
  wire  _T_913; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53834.6]
  wire  _T_914; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53839.6]
  wire  _T_916; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53841.6]
  wire  _T_917; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53842.6]
  wire  _T_918; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53847.6]
  wire  _T_920; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53849.6]
  wire  _T_921; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53850.6]
  wire  _T_923; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@53857.4]
  wire  _T_924; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53865.4]
  wire [26:0] _T_926; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@53867.4]
  wire [11:0] _T_927; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@53868.4]
  wire [11:0] _T_928; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@53869.4]
  wire [9:0] _T_929; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@53870.4]
  wire  _T_930; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@53871.4]
  reg [9:0] _T_933; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53873.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_934; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53874.4]
  wire [10:0] _T_935; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53875.4]
  wire [9:0] _T_936; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53876.4]
  wire  _T_937; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53877.4]
  reg [2:0] _T_946; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53888.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_948; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53889.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_950; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53890.4]
  reg [31:0] _RAND_9;
  reg  _T_952; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53891.4]
  reg [31:0] _RAND_10;
  reg  _T_954; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53892.4]
  reg [31:0] _RAND_11;
  reg  _T_956; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53893.4]
  reg [31:0] _RAND_12;
  wire  _T_957; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53894.4]
  wire  _T_958; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53895.4]
  wire  _T_959; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53897.6]
  wire  _T_961; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53899.6]
  wire  _T_962; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53900.6]
  wire  _T_963; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53905.6]
  wire  _T_965; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53907.6]
  wire  _T_966; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53908.6]
  wire  _T_967; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53913.6]
  wire  _T_969; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53915.6]
  wire  _T_970; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53916.6]
  wire  _T_971; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53921.6]
  wire  _T_973; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53923.6]
  wire  _T_974; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53924.6]
  wire  _T_975; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53929.6]
  wire  _T_977; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53931.6]
  wire  _T_978; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53932.6]
  wire  _T_979; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53937.6]
  wire  _T_981; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53939.6]
  wire  _T_982; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53940.6]
  wire  _T_984; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@53947.4]
  reg [1:0] _T_986; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53956.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_997; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53966.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_998; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53967.4]
  wire [10:0] _T_999; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53968.4]
  wire [9:0] _T_1000; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53969.4]
  wire  _T_1001; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53970.4]
  reg [9:0] _T_1018; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53989.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1019; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53990.4]
  wire [10:0] _T_1020; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53991.4]
  wire [9:0] _T_1021; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53992.4]
  wire  _T_1022; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53993.4]
  wire  _T_1033; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54008.4]
  wire [1:0] _T_1035; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@54011.6]
  wire [1:0] _T_1036; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@54013.6]
  wire  _T_1037; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@54014.6]
  wire  _T_1038; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54015.6]
  wire  _T_1040; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54017.6]
  wire  _T_1041; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54018.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54010.4]
  wire  _T_1046; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54029.4]
  wire  _T_1048; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@54031.4]
  wire  _T_1049; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54032.4]
  wire [1:0] _T_1050; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@54034.6]
  wire [1:0] _T_1051; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@54036.6]
  wire [1:0] _T_1052; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@54037.6]
  wire  _T_1053; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@54038.6]
  wire  _T_1055; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54040.6]
  wire  _T_1056; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54041.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@54033.4]
  wire  _T_1057; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@54047.4]
  wire  _T_1058; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@54048.4]
  wire  _T_1059; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@54049.4]
  wire  _T_1060; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@54050.4]
  wire  _T_1062; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54052.4]
  wire  _T_1063; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54053.4]
  wire [1:0] _T_1064; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54058.4]
  wire [1:0] _T_1065; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54059.4]
  wire [1:0] _T_1066; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@54060.4]
  reg [31:0] _T_1068; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54062.4]
  reg [31:0] _RAND_16;
  wire  _T_1069; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@54065.4]
  wire  _T_1070; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54066.4]
  wire  _T_1071; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@54067.4]
  wire  _T_1072; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54068.4]
  wire  _T_1073; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@54069.4]
  wire  _T_1074; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54070.4]
  wire  _T_1076; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54072.4]
  wire  _T_1077; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54073.4]
  wire [31:0] _T_1079; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54079.4]
  wire  _T_1082; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54083.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52702.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52816.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52946.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53054.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53154.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53251.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53346.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53499.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53541.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53599.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53658.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53693.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53729.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@54063.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@52577.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@52582.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@52584.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@52585.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@52586.6]
  assign _GEN_18 = {{18'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@52587.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@52587.6]
  assign _T_36 = _T_35 == 30'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@52588.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52590.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52591.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@52593.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@52594.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@52595.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@52596.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@52597.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52599.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52600.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52602.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52603.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@52604.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@52605.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@52606.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52607.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52608.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52609.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52610.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52611.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52612.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52613.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52614.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52615.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52616.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@52617.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@52618.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@52619.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@52620.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@52621.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52646.6]
  assign _T_92 = io_in_a_bits_address ^ 30'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52649.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52650.8]
  assign _T_94 = $signed(_T_93) & $signed(-31'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52651.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52652.8]
  assign _T_96 = $signed(_T_95) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52653.8]
  assign _T_97 = io_in_a_bits_address ^ 30'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52654.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52655.8]
  assign _T_99 = $signed(_T_98) & $signed(-31'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52656.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52657.8]
  assign _T_101 = $signed(_T_100) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52658.8]
  assign _T_102 = io_in_a_bits_address ^ 30'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52659.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52660.8]
  assign _T_104 = $signed(_T_103) & $signed(-31'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52661.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52662.8]
  assign _T_106 = $signed(_T_105) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52663.8]
  assign _T_107 = io_in_a_bits_address ^ 30'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52664.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52665.8]
  assign _T_109 = $signed(_T_108) & $signed(-31'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52666.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52667.8]
  assign _T_111 = $signed(_T_110) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52668.8]
  assign _T_112 = io_in_a_bits_address ^ 30'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52669.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52670.8]
  assign _T_114 = $signed(_T_113) & $signed(-31'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52671.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52672.8]
  assign _T_116 = $signed(_T_115) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52673.8]
  assign _T_117 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52674.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52675.8]
  assign _T_119 = $signed(_T_118) & $signed(-31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52676.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52677.8]
  assign _T_121 = $signed(_T_120) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52678.8]
  assign _T_122 = io_in_a_bits_address ^ 30'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52679.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52680.8]
  assign _T_124 = $signed(_T_123) & $signed(-31'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52681.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52682.8]
  assign _T_126 = $signed(_T_125) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52683.8]
  assign _T_127 = io_in_a_bits_address ^ 30'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@52684.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@52685.8]
  assign _T_129 = $signed(_T_128) & $signed(-31'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52686.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@52687.8]
  assign _T_131 = $signed(_T_130) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@52688.8]
  assign _T_132 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52689.8]
  assign _T_133 = _T_132 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52690.8]
  assign _T_134 = _T_133 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52691.8]
  assign _T_135 = _T_134 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52692.8]
  assign _T_143 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52700.8]
  assign _T_148 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52713.8]
  assign _T_149 = _T_148 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52714.8]
  assign _T_152 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52721.8]
  assign _T_153 = _T_152 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52722.8]
  assign _T_155 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52728.8]
  assign _T_156 = _T_155 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52729.8]
  assign _T_157 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52734.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52736.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52737.8]
  assign _T_161 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52742.8]
  assign _T_162 = _T_161 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52743.8]
  assign _T_164 = _T_162 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52745.8]
  assign _T_165 = _T_164 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52746.8]
  assign _T_166 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@52751.8]
  assign _T_168 = _T_166 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52753.8]
  assign _T_169 = _T_168 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52754.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52760.6]
  assign _T_241 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52856.8]
  assign _T_243 = _T_241 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52858.8]
  assign _T_244 = _T_243 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52859.8]
  assign _T_254 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52882.6]
  assign _T_256 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52885.8]
  assign _T_264 = _T_256 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@52893.8]
  assign _T_266 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52895.8]
  assign _T_304 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52933.8]
  assign _T_305 = _T_304 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52934.8]
  assign _T_306 = _T_305 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52935.8]
  assign _T_307 = _T_306 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52936.8]
  assign _T_308 = _T_307 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52937.8]
  assign _T_309 = _T_308 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@52938.8]
  assign _T_310 = _T_266 & _T_309; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@52939.8]
  assign _T_312 = _T_264 | _T_310; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@52941.8]
  assign _T_314 = _T_312 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52943.8]
  assign _T_315 = _T_314 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52944.8]
  assign _T_322 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@52963.8]
  assign _T_324 = _T_322 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52965.8]
  assign _T_325 = _T_324 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52966.8]
  assign _T_326 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@52971.8]
  assign _T_328 = _T_326 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52973.8]
  assign _T_329 = _T_328 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52974.8]
  assign _T_334 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@52988.6]
  assign _T_382 = _T_306 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53037.8]
  assign _T_383 = _T_382 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53038.8]
  assign _T_384 = _T_266 & _T_383; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@53039.8]
  assign _T_393 = _T_264 | _T_384; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@53048.8]
  assign _T_396 = _T_393 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53051.8]
  assign _T_397 = _T_396 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53052.8]
  assign _T_412 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53088.6]
  assign _T_486 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@53179.8]
  assign _T_487 = io_in_a_bits_mask & _T_486; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53180.8]
  assign _T_488 = _T_487 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@53181.8]
  assign _T_490 = _T_488 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53183.8]
  assign _T_491 = _T_490 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53184.8]
  assign _T_492 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53190.6]
  assign _T_494 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53193.8]
  assign _T_536 = _T_135 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53235.8]
  assign _T_537 = _T_536 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@53236.8]
  assign _T_538 = _T_494 & _T_537; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@53237.8]
  assign _T_549 = _T_538 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53248.8]
  assign _T_550 = _T_549 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53249.8]
  assign _T_557 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@53268.8]
  assign _T_559 = _T_557 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53270.8]
  assign _T_560 = _T_559 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53271.8]
  assign _T_565 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53285.6]
  assign _T_630 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@53363.8]
  assign _T_632 = _T_630 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53365.8]
  assign _T_633 = _T_632 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53366.8]
  assign _T_638 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53380.6]
  assign _T_695 = _T_264 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53438.8]
  assign _T_696 = _T_695 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53439.8]
  assign _T_711 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@53477.6]
  assign _T_713 = _T_711 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@53479.6]
  assign _T_714 = _T_713 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@53480.6]
  assign _T_716 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@53486.6]
  assign _T_725 = io_in_d_bits_source | _T_716; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@53491.6]
  assign _T_727 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53493.6]
  assign _T_729 = _T_725 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53496.8]
  assign _T_730 = _T_729 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53497.8]
  assign _T_731 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@53502.8]
  assign _T_733 = _T_731 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53504.8]
  assign _T_734 = _T_733 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53505.8]
  assign _T_735 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53510.8]
  assign _T_737 = _T_735 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53512.8]
  assign _T_738 = _T_737 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53513.8]
  assign _T_739 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@53518.8]
  assign _T_741 = _T_739 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53520.8]
  assign _T_742 = _T_741 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53521.8]
  assign _T_743 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@53526.8]
  assign _T_745 = _T_743 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53528.8]
  assign _T_746 = _T_745 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53529.8]
  assign _T_747 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53535.6]
  assign _T_758 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@53559.8]
  assign _T_760 = _T_758 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53561.8]
  assign _T_761 = _T_760 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53562.8]
  assign _T_762 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53567.8]
  assign _T_764 = _T_762 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53569.8]
  assign _T_765 = _T_764 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53570.8]
  assign _T_775 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53593.6]
  assign _T_795 = _T_743 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@53634.8]
  assign _T_797 = _T_795 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53636.8]
  assign _T_798 = _T_797 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53637.8]
  assign _T_804 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53652.6]
  assign _T_821 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53687.6]
  assign _T_839 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53723.6]
  assign _T_868 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53783.4]
  assign _T_873 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@53788.4]
  assign _T_874 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@53789.4]
  assign _T_875 = _T_874 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53790.4]
  assign _T_879 = _T_878 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53793.4]
  assign _T_880 = $unsigned(_T_879); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53794.4]
  assign _T_881 = _T_880[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53795.4]
  assign _T_882 = _T_878 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53796.4]
  assign _T_900 = _T_882 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53812.4]
  assign _T_901 = io_in_a_valid & _T_900; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53813.4]
  assign _T_902 = io_in_a_bits_opcode == _T_891; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53815.6]
  assign _T_904 = _T_902 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53817.6]
  assign _T_905 = _T_904 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53818.6]
  assign _T_906 = io_in_a_bits_param == _T_893; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53823.6]
  assign _T_908 = _T_906 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53825.6]
  assign _T_909 = _T_908 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53826.6]
  assign _T_910 = io_in_a_bits_size == _T_895; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53831.6]
  assign _T_912 = _T_910 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53833.6]
  assign _T_913 = _T_912 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53834.6]
  assign _T_914 = io_in_a_bits_source == _T_897; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53839.6]
  assign _T_916 = _T_914 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53841.6]
  assign _T_917 = _T_916 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53842.6]
  assign _T_918 = io_in_a_bits_address == _T_899; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53847.6]
  assign _T_920 = _T_918 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53849.6]
  assign _T_921 = _T_920 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53850.6]
  assign _T_923 = _T_868 & _T_882; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@53857.4]
  assign _T_924 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53865.4]
  assign _T_926 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@53867.4]
  assign _T_927 = _T_926[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@53868.4]
  assign _T_928 = ~ _T_927; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@53869.4]
  assign _T_929 = _T_928[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@53870.4]
  assign _T_930 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@53871.4]
  assign _T_934 = _T_933 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53874.4]
  assign _T_935 = $unsigned(_T_934); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53875.4]
  assign _T_936 = _T_935[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53876.4]
  assign _T_937 = _T_933 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53877.4]
  assign _T_957 = _T_937 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@53894.4]
  assign _T_958 = io_in_d_valid & _T_957; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@53895.4]
  assign _T_959 = io_in_d_bits_opcode == _T_946; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53897.6]
  assign _T_961 = _T_959 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53899.6]
  assign _T_962 = _T_961 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53900.6]
  assign _T_963 = io_in_d_bits_param == _T_948; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53905.6]
  assign _T_965 = _T_963 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53907.6]
  assign _T_966 = _T_965 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53908.6]
  assign _T_967 = io_in_d_bits_size == _T_950; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53913.6]
  assign _T_969 = _T_967 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53915.6]
  assign _T_970 = _T_969 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53916.6]
  assign _T_971 = io_in_d_bits_source == _T_952; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53921.6]
  assign _T_973 = _T_971 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53923.6]
  assign _T_974 = _T_973 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53924.6]
  assign _T_975 = io_in_d_bits_sink == _T_954; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53929.6]
  assign _T_977 = _T_975 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53931.6]
  assign _T_978 = _T_977 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53932.6]
  assign _T_979 = io_in_d_bits_denied == _T_956; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@53937.6]
  assign _T_981 = _T_979 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53939.6]
  assign _T_982 = _T_981 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53940.6]
  assign _T_984 = _T_924 & _T_937; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@53947.4]
  assign _T_998 = _T_997 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53967.4]
  assign _T_999 = $unsigned(_T_998); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53968.4]
  assign _T_1000 = _T_999[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53969.4]
  assign _T_1001 = _T_997 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53970.4]
  assign _T_1019 = _T_1018 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53990.4]
  assign _T_1020 = $unsigned(_T_1019); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53991.4]
  assign _T_1021 = _T_1020[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@53992.4]
  assign _T_1022 = _T_1018 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@53993.4]
  assign _T_1033 = _T_868 & _T_1001; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54008.4]
  assign _T_1035 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@54011.6]
  assign _T_1036 = _T_986 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@54013.6]
  assign _T_1037 = _T_1036[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@54014.6]
  assign _T_1038 = _T_1037 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54015.6]
  assign _T_1040 = _T_1038 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54017.6]
  assign _T_1041 = _T_1040 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54018.6]
  assign _GEN_15 = _T_1033 ? _T_1035 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54010.4]
  assign _T_1046 = _T_924 & _T_1022; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54029.4]
  assign _T_1048 = _T_727 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@54031.4]
  assign _T_1049 = _T_1046 & _T_1048; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54032.4]
  assign _T_1050 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@54034.6]
  assign _T_1051 = _GEN_15 | _T_986; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@54036.6]
  assign _T_1052 = _T_1051 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@54037.6]
  assign _T_1053 = _T_1052[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@54038.6]
  assign _T_1055 = _T_1053 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54040.6]
  assign _T_1056 = _T_1055 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54041.6]
  assign _GEN_16 = _T_1049 ? _T_1050 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@54033.4]
  assign _T_1057 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@54047.4]
  assign _T_1058 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@54048.4]
  assign _T_1059 = _T_1058 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@54049.4]
  assign _T_1060 = _T_1057 | _T_1059; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@54050.4]
  assign _T_1062 = _T_1060 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54052.4]
  assign _T_1063 = _T_1062 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54053.4]
  assign _T_1064 = _T_986 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54058.4]
  assign _T_1065 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54059.4]
  assign _T_1066 = _T_1064 & _T_1065; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@54060.4]
  assign _T_1069 = _T_986 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@54065.4]
  assign _T_1070 = _T_1069 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54066.4]
  assign _T_1071 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@54067.4]
  assign _T_1072 = _T_1070 | _T_1071; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54068.4]
  assign _T_1073 = _T_1068 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@54069.4]
  assign _T_1074 = _T_1072 | _T_1073; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54070.4]
  assign _T_1076 = _T_1074 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54072.4]
  assign _T_1077 = _T_1076 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54073.4]
  assign _T_1079 = _T_1068 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54079.4]
  assign _T_1082 = _T_868 | _T_924; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54083.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52702.10]
  assign _GEN_35 = io_in_a_valid & _T_170; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52816.10]
  assign _GEN_53 = io_in_a_valid & _T_254; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52946.10]
  assign _GEN_65 = io_in_a_valid & _T_334; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53054.10]
  assign _GEN_75 = io_in_a_valid & _T_412; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53154.10]
  assign _GEN_85 = io_in_a_valid & _T_492; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53251.10]
  assign _GEN_95 = io_in_a_valid & _T_565; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53346.10]
  assign _GEN_105 = io_in_a_valid & _T_638; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.10]
  assign _GEN_115 = io_in_d_valid & _T_727; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53499.10]
  assign _GEN_125 = io_in_d_valid & _T_747; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53541.10]
  assign _GEN_137 = io_in_d_valid & _T_775; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53599.10]
  assign _GEN_149 = io_in_d_valid & _T_804; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53658.10]
  assign _GEN_155 = io_in_d_valid & _T_821; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53693.10]
  assign _GEN_161 = io_in_d_valid & _T_839; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53729.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_878 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_891 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_893 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_895 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_897 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_899 = _RAND_5[29:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_933 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_946 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_948 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_950 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_952 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_954 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_956 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_986 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_997 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1018 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1068 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_878 <= 10'h0;
    end else begin
      if (_T_868) begin
        if (_T_882) begin
          if (_T_875) begin
            _T_878 <= _T_873;
          end else begin
            _T_878 <= 10'h0;
          end
        end else begin
          _T_878 <= _T_881;
        end
      end
    end
    if (_T_923) begin
      _T_891 <= io_in_a_bits_opcode;
    end
    if (_T_923) begin
      _T_893 <= io_in_a_bits_param;
    end
    if (_T_923) begin
      _T_895 <= io_in_a_bits_size;
    end
    if (_T_923) begin
      _T_897 <= io_in_a_bits_source;
    end
    if (_T_923) begin
      _T_899 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_933 <= 10'h0;
    end else begin
      if (_T_924) begin
        if (_T_937) begin
          if (_T_930) begin
            _T_933 <= _T_929;
          end else begin
            _T_933 <= 10'h0;
          end
        end else begin
          _T_933 <= _T_936;
        end
      end
    end
    if (_T_984) begin
      _T_946 <= io_in_d_bits_opcode;
    end
    if (_T_984) begin
      _T_948 <= io_in_d_bits_param;
    end
    if (_T_984) begin
      _T_950 <= io_in_d_bits_size;
    end
    if (_T_984) begin
      _T_952 <= io_in_d_bits_source;
    end
    if (_T_984) begin
      _T_954 <= io_in_d_bits_sink;
    end
    if (_T_984) begin
      _T_956 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_986 <= 2'h0;
    end else begin
      _T_986 <= _T_1066;
    end
    if (reset) begin
      _T_997 <= 10'h0;
    end else begin
      if (_T_868) begin
        if (_T_1001) begin
          if (_T_875) begin
            _T_997 <= _T_873;
          end else begin
            _T_997 <= 10'h0;
          end
        end else begin
          _T_997 <= _T_1000;
        end
      end
    end
    if (reset) begin
      _T_1018 <= 10'h0;
    end else begin
      if (_T_924) begin
        if (_T_1022) begin
          if (_T_930) begin
            _T_1018 <= _T_929;
          end else begin
            _T_1018 <= 10'h0;
          end
        end else begin
          _T_1018 <= _T_1021;
        end
      end
    end
    if (reset) begin
      _T_1068 <= 32'h0;
    end else begin
      if (_T_1082) begin
        _T_1068 <= 32'h0;
      end else begin
        _T_1068 <= _T_1079;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52573.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52574.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52643.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@52644.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52702.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_143) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52703.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52709.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_143) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52710.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52716.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_149) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52717.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_153) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52724.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_153) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52725.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52731.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_156) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52732.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52739.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_160) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52740.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_165) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52748.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_165) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52749.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_169) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52756.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_169) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52757.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52816.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_143) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52817.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52823.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_143) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52824.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52830.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_149) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52831.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_153) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52838.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_153) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52839.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52845.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_156) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52846.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52853.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52854.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_244) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52861.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_244) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52862.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_165) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52870.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_165) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52871.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_169) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52878.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_169) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52879.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_315) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52946.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_315) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52947.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52953.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_149) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52954.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52960.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_156) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52961.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_325) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52968.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_325) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52969.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52976.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_329) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52977.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_169) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52984.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_169) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@52985.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_397) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53054.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_397) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53055.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53061.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_149) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53062.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53068.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_156) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53069.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_325) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53076.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_325) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53077.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53084.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_329) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53085.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_397) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53154.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_397) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53155.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53161.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_149) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53162.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53168.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_156) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53169.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_325) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53176.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_325) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53177.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_491) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53186.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_491) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53187.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_550) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53251.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_550) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53252.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53258.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_149) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53259.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53265.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_156) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53266.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_560) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53273.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_560) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53274.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53281.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_329) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53282.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_550) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53346.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_550) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53347.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53353.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_149) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53354.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53360.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_156) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53361.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_633) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53368.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_633) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53369.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53376.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_329) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53377.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_696) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53441.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_696) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53442.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53448.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_149) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53449.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53455.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_156) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53456.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53463.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_329) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53464.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_169) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53471.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_169) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53472.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_714) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@53482.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_714) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@53483.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53499.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_730) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53500.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_734) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53507.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_734) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53508.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_738) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53515.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_738) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53516.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_742) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53523.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_742) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53524.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_746) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53531.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_746) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53532.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53541.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_730) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53542.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53548.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_143) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53549.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_734) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53556.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_734) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53557.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_761) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53564.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_761) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53565.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_765) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53572.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_765) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53573.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_742) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53580.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_742) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53581.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53589.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53590.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53599.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_730) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53600.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53606.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_143) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53607.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_734) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53614.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_734) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53615.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_761) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53622.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_761) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53623.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_765) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53630.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_765) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53631.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_798) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53639.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_798) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53640.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53648.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53649.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53658.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_730) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53659.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_738) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53666.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_738) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53667.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_742) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53674.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_742) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53675.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53683.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53684.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53693.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_730) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53694.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_738) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53701.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_738) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53702.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_798) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53710.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_798) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53711.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53719.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53720.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53729.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_730) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53730.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_738) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53737.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_738) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53738.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_742) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53745.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_742) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53746.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53754.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53755.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53764.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53765.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53772.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53773.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53780.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53781.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_905) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53820.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_905) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53821.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_909) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53828.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_909) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53829.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_913) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53836.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_913) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53837.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_917) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53844.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_917) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53845.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_921) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53852.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_921) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53853.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_962) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53902.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_962) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53903.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_966) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53910.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_966) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53911.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_970) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53918.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_970) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53919.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_974) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53926.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_974) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53927.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_978) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53934.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_978) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53935.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_982) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53942.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_982) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@53943.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1033 & _T_1041) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54020.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1033 & _T_1041) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54021.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1049 & _T_1056) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54043.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1049 & _T_1056) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54044.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1063) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 2 (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54055.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1063) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54056.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1077) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:39:29)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54075.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1077) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54076.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLAtomicAutomata_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54088.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54089.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54090.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  input  [29:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  output [29:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54091.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
  wire [29:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
  reg [1:0] _T_258_0_state; // @[AtomicAutomata.scala 74:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54145.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_269_0_bits_opcode; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54146.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_269_0_bits_param; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54146.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_269_0_bits_size; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54146.4]
  reg [31:0] _RAND_3;
  reg  _T_269_0_bits_source; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54146.4]
  reg [31:0] _RAND_4;
  reg [29:0] _T_269_0_bits_address; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54146.4]
  reg [31:0] _RAND_5;
  reg [3:0] _T_269_0_bits_mask; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54146.4]
  reg [31:0] _RAND_6;
  reg [31:0] _T_269_0_bits_data; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54146.4]
  reg [31:0] _RAND_7;
  reg  _T_269_0_bits_corrupt; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54146.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_269_0_fifoId; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54146.4]
  reg [31:0] _RAND_9;
  reg [3:0] _T_269_0_lut; // @[AtomicAutomata.scala 75:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54146.4]
  reg [31:0] _RAND_10;
  reg [31:0] _T_276_0_data; // @[AtomicAutomata.scala 76:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54147.4]
  reg [31:0] _RAND_11;
  reg  _T_276_0_denied; // @[AtomicAutomata.scala 76:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54147.4]
  reg [31:0] _RAND_12;
  reg  _T_276_0_corrupt; // @[AtomicAutomata.scala 76:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54147.4]
  reg [31:0] _RAND_13;
  wire  _T_280; // @[AtomicAutomata.scala 78:44:shc.marmotcaravel.MarmotCaravelConfig.fir@54148.4]
  wire  _T_281; // @[AtomicAutomata.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@54149.4]
  wire  _T_282; // @[AtomicAutomata.scala 80:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54150.4]
  wire  _T_284; // @[AtomicAutomata.scala 80:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54152.4]
  wire  _T_285; // @[AtomicAutomata.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54153.4]
  wire  _T_287; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54155.4]
  wire [29:0] _T_290; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54158.4]
  wire [30:0] _T_291; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54159.4]
  wire [30:0] _T_292; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54160.4]
  wire [30:0] _T_293; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54161.4]
  wire  _T_294; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54162.4]
  wire  _T_295; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@54163.4]
  wire  _T_338; // @[AtomicAutomata.scala 88:47:shc.marmotcaravel.MarmotCaravelConfig.fir@54206.4]
  wire  _T_339; // @[AtomicAutomata.scala 89:47:shc.marmotcaravel.MarmotCaravelConfig.fir@54207.4]
  wire  _T_340; // @[AtomicAutomata.scala 90:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54208.4]
  wire  _T_341; // @[AtomicAutomata.scala 90:32:shc.marmotcaravel.MarmotCaravelConfig.fir@54209.4]
  wire [29:0] _T_356; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54224.4]
  wire [30:0] _T_357; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54225.4]
  wire [30:0] _T_358; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54226.4]
  wire [30:0] _T_359; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54227.4]
  wire  _T_360; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54228.4]
  wire [29:0] _T_361; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54229.4]
  wire [30:0] _T_362; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54230.4]
  wire [30:0] _T_363; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54231.4]
  wire [30:0] _T_364; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54232.4]
  wire  _T_365; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54233.4]
  wire [29:0] _T_366; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54234.4]
  wire [30:0] _T_367; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54235.4]
  wire [30:0] _T_368; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54236.4]
  wire [30:0] _T_369; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54237.4]
  wire  _T_370; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54238.4]
  wire [29:0] _T_371; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54239.4]
  wire [30:0] _T_372; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54240.4]
  wire [30:0] _T_373; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54241.4]
  wire [30:0] _T_374; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54242.4]
  wire  _T_375; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54243.4]
  wire [29:0] _T_376; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54244.4]
  wire [30:0] _T_377; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54245.4]
  wire [30:0] _T_378; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54246.4]
  wire [30:0] _T_379; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54247.4]
  wire  _T_380; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54248.4]
  wire [29:0] _T_381; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54249.4]
  wire [30:0] _T_382; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54250.4]
  wire [30:0] _T_383; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54251.4]
  wire [30:0] _T_384; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54252.4]
  wire  _T_385; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54253.4]
  wire [29:0] _T_386; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54254.4]
  wire [30:0] _T_387; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54255.4]
  wire [30:0] _T_388; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54256.4]
  wire [30:0] _T_389; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54257.4]
  wire  _T_390; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54258.4]
  wire [29:0] _T_391; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54259.4]
  wire [30:0] _T_392; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54260.4]
  wire [30:0] _T_393; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54261.4]
  wire [30:0] _T_394; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54262.4]
  wire  _T_395; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54263.4]
  wire [29:0] _T_396; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54264.4]
  wire [30:0] _T_397; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54265.4]
  wire [30:0] _T_398; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54266.4]
  wire [30:0] _T_399; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54267.4]
  wire  _T_400; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54268.4]
  wire [29:0] _T_401; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54269.4]
  wire [30:0] _T_402; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54270.4]
  wire [30:0] _T_403; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54271.4]
  wire [30:0] _T_404; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54272.4]
  wire  _T_405; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54273.4]
  wire [2:0] _T_407; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54274.4]
  wire [3:0] _T_408; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54275.4]
  wire [2:0] _T_410; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54277.4]
  wire [1:0] _T_411; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54278.4]
  wire [3:0] _T_412; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54279.4]
  wire [3:0] _T_414; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54281.4]
  wire [2:0] _T_415; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54282.4]
  wire [2:0] _T_416; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54283.4]
  wire [1:0] _T_417; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54284.4]
  wire [3:0] _GEN_39; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54285.4]
  wire [3:0] _T_418; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54285.4]
  wire [3:0] _GEN_40; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54287.4]
  wire [3:0] _T_420; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54287.4]
  wire [3:0] _GEN_41; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54288.4]
  wire [3:0] _T_421; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54288.4]
  wire [3:0] _T_422; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54289.4]
  wire [3:0] _GEN_42; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54290.4]
  wire [3:0] _T_423; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54290.4]
  wire [3:0] _T_424; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54291.4]
  wire [3:0] _GEN_43; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54292.4]
  wire [3:0] _T_425; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54292.4]
  wire [3:0] _GEN_44; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54293.4]
  wire [3:0] _T_426; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54293.4]
  wire [3:0] _GEN_45; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54294.4]
  wire [3:0] _T_427; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54294.4]
  wire  _T_430; // @[AtomicAutomata.scala 103:60:shc.marmotcaravel.MarmotCaravelConfig.fir@54297.4]
  wire  _T_431; // @[AtomicAutomata.scala 103:96:shc.marmotcaravel.MarmotCaravelConfig.fir@54298.4]
  wire  _T_435; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54302.4]
  wire  _T_436; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54303.4]
  wire [1:0] _T_437; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54304.4]
  wire  _T_438; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54305.4]
  wire  _T_439; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54306.4]
  wire [1:0] _T_440; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54307.4]
  wire  _T_441; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54308.4]
  wire  _T_442; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54309.4]
  wire [1:0] _T_443; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54310.4]
  wire  _T_444; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54311.4]
  wire  _T_445; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54312.4]
  wire [1:0] _T_446; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54313.4]
  wire  _T_447; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54314.4]
  wire  _T_448; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54315.4]
  wire [1:0] _T_449; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54316.4]
  wire  _T_450; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54317.4]
  wire  _T_451; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54318.4]
  wire [1:0] _T_452; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54319.4]
  wire  _T_453; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54320.4]
  wire  _T_454; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54321.4]
  wire [1:0] _T_455; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54322.4]
  wire  _T_456; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54323.4]
  wire  _T_457; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54324.4]
  wire [1:0] _T_458; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54325.4]
  wire  _T_459; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54326.4]
  wire  _T_460; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54327.4]
  wire [1:0] _T_461; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54328.4]
  wire  _T_462; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54329.4]
  wire  _T_463; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54330.4]
  wire [1:0] _T_464; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54331.4]
  wire  _T_465; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54332.4]
  wire  _T_466; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54333.4]
  wire [1:0] _T_467; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54334.4]
  wire  _T_468; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54335.4]
  wire  _T_469; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54336.4]
  wire [1:0] _T_470; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54337.4]
  wire  _T_471; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54338.4]
  wire  _T_472; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54339.4]
  wire [1:0] _T_473; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54340.4]
  wire  _T_474; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54341.4]
  wire  _T_475; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54342.4]
  wire [1:0] _T_476; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54343.4]
  wire  _T_477; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54344.4]
  wire  _T_478; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54345.4]
  wire [1:0] _T_479; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54346.4]
  wire  _T_480; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54347.4]
  wire  _T_481; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54348.4]
  wire [1:0] _T_482; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54349.4]
  wire  _T_483; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54350.4]
  wire  _T_484; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54351.4]
  wire [1:0] _T_485; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54352.4]
  wire  _T_486; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54353.4]
  wire  _T_487; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54354.4]
  wire [1:0] _T_488; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54355.4]
  wire  _T_489; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54356.4]
  wire  _T_490; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54357.4]
  wire [1:0] _T_491; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54358.4]
  wire  _T_492; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54359.4]
  wire  _T_493; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54360.4]
  wire [1:0] _T_494; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54361.4]
  wire  _T_495; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54362.4]
  wire  _T_496; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54363.4]
  wire [1:0] _T_497; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54364.4]
  wire  _T_498; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54365.4]
  wire  _T_499; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54366.4]
  wire [1:0] _T_500; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54367.4]
  wire  _T_501; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54368.4]
  wire  _T_502; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54369.4]
  wire [1:0] _T_503; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54370.4]
  wire  _T_504; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54371.4]
  wire  _T_505; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54372.4]
  wire [1:0] _T_506; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54373.4]
  wire  _T_507; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54374.4]
  wire  _T_508; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54375.4]
  wire [1:0] _T_509; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54376.4]
  wire  _T_510; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54377.4]
  wire  _T_511; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54378.4]
  wire [1:0] _T_512; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54379.4]
  wire  _T_513; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54380.4]
  wire  _T_514; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54381.4]
  wire [1:0] _T_515; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54382.4]
  wire  _T_516; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54383.4]
  wire  _T_517; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54384.4]
  wire [1:0] _T_518; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54385.4]
  wire  _T_519; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54386.4]
  wire  _T_520; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54387.4]
  wire [1:0] _T_521; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54388.4]
  wire  _T_522; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54389.4]
  wire  _T_523; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54390.4]
  wire [1:0] _T_524; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54391.4]
  wire  _T_525; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54392.4]
  wire  _T_526; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54393.4]
  wire [1:0] _T_527; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54394.4]
  wire  _T_528; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54395.4]
  wire  _T_529; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54396.4]
  wire [1:0] _T_530; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54397.4]
  wire [3:0] _T_531; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54398.4]
  wire  _T_532; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54399.4]
  wire [3:0] _T_533; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54400.4]
  wire  _T_534; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54401.4]
  wire [3:0] _T_535; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54402.4]
  wire  _T_536; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54403.4]
  wire [3:0] _T_537; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54404.4]
  wire  _T_538; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54405.4]
  wire [3:0] _T_539; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54406.4]
  wire  _T_540; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54407.4]
  wire [3:0] _T_541; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54408.4]
  wire  _T_542; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54409.4]
  wire [3:0] _T_543; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54410.4]
  wire  _T_544; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54411.4]
  wire [3:0] _T_545; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54412.4]
  wire  _T_546; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54413.4]
  wire [3:0] _T_547; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54414.4]
  wire  _T_548; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54415.4]
  wire [3:0] _T_549; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54416.4]
  wire  _T_550; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54417.4]
  wire [3:0] _T_551; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54418.4]
  wire  _T_552; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54419.4]
  wire [3:0] _T_553; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54420.4]
  wire  _T_554; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54421.4]
  wire [3:0] _T_555; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54422.4]
  wire  _T_556; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54423.4]
  wire [3:0] _T_557; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54424.4]
  wire  _T_558; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54425.4]
  wire [3:0] _T_559; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54426.4]
  wire  _T_560; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54427.4]
  wire [3:0] _T_561; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54428.4]
  wire  _T_562; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54429.4]
  wire [3:0] _T_563; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54430.4]
  wire  _T_564; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54431.4]
  wire [3:0] _T_565; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54432.4]
  wire  _T_566; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54433.4]
  wire [3:0] _T_567; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54434.4]
  wire  _T_568; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54435.4]
  wire [3:0] _T_569; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54436.4]
  wire  _T_570; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54437.4]
  wire [3:0] _T_571; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54438.4]
  wire  _T_572; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54439.4]
  wire [3:0] _T_573; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54440.4]
  wire  _T_574; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54441.4]
  wire [3:0] _T_575; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54442.4]
  wire  _T_576; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54443.4]
  wire [3:0] _T_577; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54444.4]
  wire  _T_578; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54445.4]
  wire [3:0] _T_579; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54446.4]
  wire  _T_580; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54447.4]
  wire [3:0] _T_581; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54448.4]
  wire  _T_582; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54449.4]
  wire [3:0] _T_583; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54450.4]
  wire  _T_584; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54451.4]
  wire [3:0] _T_585; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54452.4]
  wire  _T_586; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54453.4]
  wire [3:0] _T_587; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54454.4]
  wire  _T_588; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54455.4]
  wire [3:0] _T_589; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54456.4]
  wire  _T_590; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54457.4]
  wire [3:0] _T_591; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54458.4]
  wire  _T_592; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54459.4]
  wire [3:0] _T_593; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54460.4]
  wire  _T_594; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54461.4]
  wire [1:0] _T_595; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54462.4]
  wire [1:0] _T_596; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54463.4]
  wire [3:0] _T_597; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54464.4]
  wire [1:0] _T_598; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54465.4]
  wire [1:0] _T_599; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54466.4]
  wire [3:0] _T_600; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54467.4]
  wire [7:0] _T_601; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54468.4]
  wire [1:0] _T_602; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54469.4]
  wire [1:0] _T_603; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54470.4]
  wire [3:0] _T_604; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54471.4]
  wire [1:0] _T_605; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54472.4]
  wire [1:0] _T_606; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54473.4]
  wire [3:0] _T_607; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54474.4]
  wire [7:0] _T_608; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54475.4]
  wire [15:0] _T_609; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54476.4]
  wire [1:0] _T_610; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54477.4]
  wire [1:0] _T_611; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54478.4]
  wire [3:0] _T_612; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54479.4]
  wire [1:0] _T_613; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54480.4]
  wire [1:0] _T_614; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54481.4]
  wire [3:0] _T_615; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54482.4]
  wire [7:0] _T_616; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54483.4]
  wire [1:0] _T_617; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54484.4]
  wire [1:0] _T_618; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54485.4]
  wire [3:0] _T_619; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54486.4]
  wire [1:0] _T_620; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54487.4]
  wire [1:0] _T_621; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54488.4]
  wire [3:0] _T_622; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54489.4]
  wire [7:0] _T_623; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54490.4]
  wire [15:0] _T_624; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54491.4]
  wire [31:0] _T_625; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54492.4]
  wire  _T_626; // @[AtomicAutomata.scala 115:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54493.4]
  wire  _T_627; // @[AtomicAutomata.scala 116:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54494.4]
  wire  _T_628; // @[AtomicAutomata.scala 117:39:shc.marmotcaravel.MarmotCaravelConfig.fir@54495.4]
  wire [3:0] _T_629; // @[AtomicAutomata.scala 119:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54496.4]
  wire [2:0] _T_630; // @[AtomicAutomata.scala 119:39:shc.marmotcaravel.MarmotCaravelConfig.fir@54497.4]
  wire [3:0] _GEN_46; // @[AtomicAutomata.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54498.4]
  wire [3:0] _T_631; // @[AtomicAutomata.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54498.4]
  wire [3:0] _T_632; // @[AtomicAutomata.scala 119:23:shc.marmotcaravel.MarmotCaravelConfig.fir@54499.4]
  wire [1:0] _T_637; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54504.4]
  wire [1:0] _T_638; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54505.4]
  wire [3:0] _T_639; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54506.4]
  wire [1:0] _T_644; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54511.4]
  wire [1:0] _T_645; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54512.4]
  wire [3:0] _T_646; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54513.4]
  wire [3:0] _T_647; // @[AtomicAutomata.scala 123:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54514.4]
  wire [4:0] _GEN_47; // @[AtomicAutomata.scala 123:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54515.4]
  wire [4:0] _T_648; // @[AtomicAutomata.scala 123:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54515.4]
  wire [3:0] _T_649; // @[AtomicAutomata.scala 123:54:shc.marmotcaravel.MarmotCaravelConfig.fir@54516.4]
  wire [3:0] _T_650; // @[AtomicAutomata.scala 124:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54517.4]
  wire [4:0] _GEN_48; // @[AtomicAutomata.scala 124:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54518.4]
  wire [4:0] _T_651; // @[AtomicAutomata.scala 124:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54518.4]
  wire [3:0] _T_652; // @[AtomicAutomata.scala 124:54:shc.marmotcaravel.MarmotCaravelConfig.fir@54519.4]
  wire [4:0] _GEN_49; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54520.4]
  wire [4:0] _T_653; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54520.4]
  wire [3:0] _T_654; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54521.4]
  wire [3:0] _T_655; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@54522.4]
  wire [5:0] _GEN_50; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54523.4]
  wire [5:0] _T_656; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54523.4]
  wire [3:0] _T_657; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54524.4]
  wire [3:0] _T_658; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@54525.4]
  wire  _T_660; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54527.4]
  wire  _T_661; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54528.4]
  wire  _T_662; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54529.4]
  wire  _T_663; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54530.4]
  wire [7:0] _T_665; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54532.4]
  wire [7:0] _T_667; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54534.4]
  wire [7:0] _T_669; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54536.4]
  wire [7:0] _T_671; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54538.4]
  wire [15:0] _T_672; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54539.4]
  wire [15:0] _T_673; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54540.4]
  wire [31:0] _T_674; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54541.4]
  wire [4:0] _GEN_51; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54542.4]
  wire [4:0] _T_675; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54542.4]
  wire [3:0] _T_676; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54543.4]
  wire [3:0] _T_677; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@54544.4]
  wire [5:0] _GEN_52; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54545.4]
  wire [5:0] _T_678; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54545.4]
  wire [3:0] _T_679; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54546.4]
  wire [3:0] _T_680; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@54547.4]
  wire  _T_682; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54549.4]
  wire  _T_683; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54550.4]
  wire  _T_684; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54551.4]
  wire  _T_685; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54552.4]
  wire [7:0] _T_687; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54554.4]
  wire [7:0] _T_689; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54556.4]
  wire [7:0] _T_691; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54558.4]
  wire [7:0] _T_693; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54560.4]
  wire [15:0] _T_694; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54561.4]
  wire [15:0] _T_695; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54562.4]
  wire [31:0] _T_696; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54563.4]
  wire  _T_697; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54564.4]
  wire  _T_698; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54565.4]
  wire  _T_699; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54566.4]
  wire  _T_700; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54567.4]
  wire [7:0] _T_702; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54569.4]
  wire [7:0] _T_704; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54571.4]
  wire [7:0] _T_706; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54573.4]
  wire [7:0] _T_708; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54575.4]
  wire [15:0] _T_709; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54576.4]
  wire [15:0] _T_710; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54577.4]
  wire [31:0] _T_711; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54578.4]
  wire [31:0] _T_712; // @[AtomicAutomata.scala 129:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54579.4]
  wire [31:0] _T_713; // @[AtomicAutomata.scala 129:41:shc.marmotcaravel.MarmotCaravelConfig.fir@54580.4]
  wire [31:0] _T_714; // @[AtomicAutomata.scala 130:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54581.4]
  wire [31:0] _T_715; // @[AtomicAutomata.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@54582.4]
  wire [31:0] _T_716; // @[AtomicAutomata.scala 131:43:shc.marmotcaravel.MarmotCaravelConfig.fir@54583.4]
  wire [31:0] _T_717; // @[AtomicAutomata.scala 131:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54584.4]
  wire [31:0] _T_719; // @[AtomicAutomata.scala 132:33:shc.marmotcaravel.MarmotCaravelConfig.fir@54586.4]
  wire  _T_720; // @[AtomicAutomata.scala 134:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54587.4]
  wire  _T_721; // @[AtomicAutomata.scala 134:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54588.4]
  wire  _T_723; // @[AtomicAutomata.scala 135:50:shc.marmotcaravel.MarmotCaravelConfig.fir@54590.4]
  wire  _T_724; // @[AtomicAutomata.scala 135:39:shc.marmotcaravel.MarmotCaravelConfig.fir@54591.4]
  wire  _T_725; // @[AtomicAutomata.scala 135:65:shc.marmotcaravel.MarmotCaravelConfig.fir@54592.4]
  wire  _T_726; // @[AtomicAutomata.scala 135:55:shc.marmotcaravel.MarmotCaravelConfig.fir@54593.4]
  wire  _T_727; // @[AtomicAutomata.scala 135:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54594.4]
  wire  _T_728; // @[AtomicAutomata.scala 136:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54595.4]
  wire [31:0] _T_729; // @[AtomicAutomata.scala 137:50:shc.marmotcaravel.MarmotCaravelConfig.fir@54596.4]
  wire [31:0] _T_730; // @[AtomicAutomata.scala 137:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54597.4]
  wire  _T_731; // @[AtomicAutomata.scala 143:34:shc.marmotcaravel.MarmotCaravelConfig.fir@54598.4]
  wire [31:0] _T_732; // @[AtomicAutomata.scala 143:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54599.4]
  wire  _T_736; // @[AtomicAutomata.scala 147:23:shc.marmotcaravel.MarmotCaravelConfig.fir@54602.4]
  wire  _T_737; // @[AtomicAutomata.scala 147:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54603.4]
  wire  _T_738; // @[AtomicAutomata.scala 147:35:shc.marmotcaravel.MarmotCaravelConfig.fir@54604.4]
  reg [9:0] _T_820; // @[Arbiter.scala 53:30:shc.marmotcaravel.MarmotCaravelConfig.fir@54701.4]
  reg [31:0] _RAND_14;
  wire  _T_821; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54702.4]
  wire  _T_740; // @[AtomicAutomata.scala 149:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54607.4]
  wire [1:0] _T_823; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54704.4]
  wire [2:0] _GEN_53; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54705.4]
  wire [2:0] _T_824; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54705.4]
  wire [1:0] _T_825; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54706.4]
  wire [1:0] _T_826; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@54707.4]
  wire [2:0] _GEN_54; // @[Arbiter.scala 15:78:shc.marmotcaravel.MarmotCaravelConfig.fir@54709.4]
  wire [2:0] _T_828; // @[Arbiter.scala 15:78:shc.marmotcaravel.MarmotCaravelConfig.fir@54709.4]
  wire [1:0] _T_829; // @[Arbiter.scala 15:83:shc.marmotcaravel.MarmotCaravelConfig.fir@54710.4]
  wire [1:0] _T_830; // @[Arbiter.scala 15:61:shc.marmotcaravel.MarmotCaravelConfig.fir@54711.4]
  wire  _T_832; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54713.4]
  reg  _T_894_1; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54764.4]
  reg [31:0] _RAND_15;
  wire  _T_913_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54767.4]
  wire  _T_922; // @[Arbiter.scala 84:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54770.4]
  wire  _T_741; // @[AtomicAutomata.scala 151:15:shc.marmotcaravel.MarmotCaravelConfig.fir@54610.4]
  wire [2:0] _GEN_0; // @[AtomicAutomata.scala 151:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54611.4]
  wire [2:0] _GEN_1; // @[AtomicAutomata.scala 151:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54611.4]
  wire  _T_745; // @[AtomicAutomata.scala 164:45:shc.marmotcaravel.MarmotCaravelConfig.fir@54618.4]
  wire  _T_779; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54657.4]
  wire [1:0] _T_780; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54658.4]
  wire [1:0] _T_782; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@54660.4]
  wire  _T_783; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@54661.4]
  wire  _T_784; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54662.4]
  wire  _T_785; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54663.4]
  wire  _T_786; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@54664.4]
  wire  _T_788; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54666.4]
  wire  _T_789; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54667.4]
  wire  _T_791; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54669.4]
  wire  _T_792; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54670.4]
  wire  _T_793; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54671.4]
  wire  _T_794; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54672.4]
  wire  _T_795; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@54673.4]
  wire  _T_796; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54674.4]
  wire  _T_797; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54675.4]
  wire  _T_798; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54676.4]
  wire  _T_799; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54677.4]
  wire  _T_800; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54678.4]
  wire  _T_801; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54679.4]
  wire  _T_802; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54680.4]
  wire  _T_803; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54681.4]
  wire  _T_804; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54682.4]
  wire  _T_805; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54683.4]
  wire  _T_806; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54684.4]
  wire  _T_807; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54685.4]
  wire [1:0] _T_808; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54686.4]
  wire [1:0] _T_809; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54687.4]
  wire [3:0] _T_810; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54688.4]
  wire [26:0] _T_812; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@54694.4]
  wire [11:0] _T_813; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@54695.4]
  wire [11:0] _T_814; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54696.4]
  wire [9:0] _T_815; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@54697.4]
  wire  _T_816; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@54698.4]
  wire  _T_817; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54699.4]
  wire  _T_822; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54703.4]
  wire  _T_831; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54712.4]
  wire  _T_841; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@54718.4]
  wire  _T_842; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@54719.4]
  wire  _T_852; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54725.4]
  wire  _T_854; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@54727.4]
  wire  _T_857; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@54730.4]
  wire  _T_858; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@54731.4]
  wire  _T_861; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54734.4]
  wire  _T_862; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54735.4]
  wire  _T_863; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54740.4]
  wire  _T_864; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@54741.4]
  wire  _T_866; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@54743.4]
  wire  _T_868; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54745.4]
  wire  _T_869; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54746.4]
  reg  _T_894_0; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54764.4]
  reg [31:0] _RAND_16;
  wire  _T_925; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54773.4]
  wire  _T_926; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54774.4]
  wire  _T_927; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54775.4]
  wire  _T_930; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54778.4]
  wire  _T_873; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@54754.4]
  wire [9:0] _GEN_55; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54755.4]
  wire [10:0] _T_874; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54755.4]
  wire [10:0] _T_875; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54756.4]
  wire [9:0] _T_876; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54757.4]
  wire  _T_905_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54765.4]
  wire  _T_905_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54765.4]
  wire  _T_913_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54767.4]
  wire  _T_921; // @[Arbiter.scala 84:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54768.4]
  wire [32:0] _T_932; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54780.4]
  wire [33:0] _T_933; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54781.4]
  wire [66:0] _T_934; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54782.4]
  wire [4:0] _T_935; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54783.4]
  wire [10:0] _T_937; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54785.4]
  wire [77:0] _T_938; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54786.4]
  wire [77:0] _T_939; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54787.4]
  wire [32:0] _T_940; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54788.4]
  wire [33:0] _T_941; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54789.4]
  wire [66:0] _T_942; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54790.4]
  wire [4:0] _T_943; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54791.4]
  wire [5:0] _T_944; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54792.4]
  wire [10:0] _T_945; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54793.4]
  wire [77:0] _T_946; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54794.4]
  wire [77:0] _T_947; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54795.4]
  wire [77:0] _T_948; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54796.4]
  wire  _T_961; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@54817.4]
  wire  _T_963; // @[AtomicAutomata.scala 170:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54819.4]
  wire [1:0] _T_964; // @[AtomicAutomata.scala 175:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54824.8]
  wire [2:0] _GEN_56; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54825.8]
  wire  _T_965; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54825.8]
  wire  _T_967; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54827.8]
  wire  _T_969; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54829.8]
  wire  _T_971; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54831.8]
  wire  _T_973; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@54839.4]
  reg [9:0] _T_983; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54853.4]
  reg [31:0] _RAND_17;
  wire  _T_987; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54857.4]
  wire  _T_999; // @[AtomicAutomata.scala 209:40:shc.marmotcaravel.MarmotCaravelConfig.fir@54872.4]
  wire  _T_1005; // @[AtomicAutomata.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@54888.4]
  wire  _T_995; // @[AtomicAutomata.scala 200:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54868.4]
  wire  _T_996; // @[AtomicAutomata.scala 201:83:shc.marmotcaravel.MarmotCaravelConfig.fir@54869.4]
  wire  _T_1006; // @[AtomicAutomata.scala 228:40:shc.marmotcaravel.MarmotCaravelConfig.fir@54889.4]
  wire  _T_1011; // @[AtomicAutomata.scala 232:35:shc.marmotcaravel.MarmotCaravelConfig.fir@54895.4]
  wire  _T_974; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@54845.4]
  wire [26:0] _T_976; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@54847.4]
  wire [11:0] _T_977; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@54848.4]
  wire [11:0] _T_978; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54849.4]
  wire [9:0] _T_979; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@54850.4]
  wire  _T_980; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@54851.4]
  wire [10:0] _T_984; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54854.4]
  wire [10:0] _T_985; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54855.4]
  wire [9:0] _T_986; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54856.4]
  wire  _T_1000; // @[AtomicAutomata.scala 210:40:shc.marmotcaravel.MarmotCaravelConfig.fir@54873.4]
  wire  _T_1002; // @[AtomicAutomata.scala 212:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54875.4]
  wire  _T_1003; // @[AtomicAutomata.scala 214:22:shc.marmotcaravel.MarmotCaravelConfig.fir@54877.6]
  wire  _T_1007; // @[AtomicAutomata.scala 229:33:shc.marmotcaravel.MarmotCaravelConfig.fir@54890.4]
  wire  _T_1008; // @[AtomicAutomata.scala 229:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54891.4]
  wire  _T_1009; // @[AtomicAutomata.scala 231:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54892.4]
  wire  _T_1012; // @[AtomicAutomata.scala 238:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54901.6]
  wire  _T_1013; // @[AtomicAutomata.scala 239:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54903.6]
  TLMonitor_29 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54098.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
  );
  assign _T_280 = _T_258_0_state == 2'h0; // @[AtomicAutomata.scala 78:44:shc.marmotcaravel.MarmotCaravelConfig.fir@54148.4]
  assign _T_281 = _T_258_0_state == 2'h2; // @[AtomicAutomata.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@54149.4]
  assign _T_282 = _T_258_0_state == 2'h3; // @[AtomicAutomata.scala 80:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54150.4]
  assign _T_284 = _T_282 | _T_281; // @[AtomicAutomata.scala 80:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54152.4]
  assign _T_285 = _T_258_0_state != 2'h0; // @[AtomicAutomata.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54153.4]
  assign _T_287 = auto_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54155.4]
  assign _T_290 = auto_in_a_bits_address ^ 30'h1000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54158.4]
  assign _T_291 = {1'b0,$signed(_T_290)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54159.4]
  assign _T_292 = $signed(_T_291) & $signed(31'sh30021000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54160.4]
  assign _T_293 = $signed(_T_292); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54161.4]
  assign _T_294 = $signed(_T_293) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54162.4]
  assign _T_295 = _T_287 & _T_294; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@54163.4]
  assign _T_338 = auto_in_a_bits_opcode == 3'h3; // @[AtomicAutomata.scala 88:47:shc.marmotcaravel.MarmotCaravelConfig.fir@54206.4]
  assign _T_339 = auto_in_a_bits_opcode == 3'h2; // @[AtomicAutomata.scala 89:47:shc.marmotcaravel.MarmotCaravelConfig.fir@54207.4]
  assign _T_340 = _T_339 ? _T_295 : 1'h1; // @[AtomicAutomata.scala 90:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54208.4]
  assign _T_341 = _T_338 ? _T_295 : _T_340; // @[AtomicAutomata.scala 90:32:shc.marmotcaravel.MarmotCaravelConfig.fir@54209.4]
  assign _T_356 = auto_in_a_bits_address ^ 30'h14000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54224.4]
  assign _T_357 = {1'b0,$signed(_T_356)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54225.4]
  assign _T_358 = $signed(_T_357) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54226.4]
  assign _T_359 = $signed(_T_358); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54227.4]
  assign _T_360 = $signed(_T_359) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54228.4]
  assign _T_361 = auto_in_a_bits_address ^ 30'h26000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54229.4]
  assign _T_362 = {1'b0,$signed(_T_361)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54230.4]
  assign _T_363 = $signed(_T_362) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54231.4]
  assign _T_364 = $signed(_T_363); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54232.4]
  assign _T_365 = $signed(_T_364) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54233.4]
  assign _T_366 = auto_in_a_bits_address ^ 30'h23000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54234.4]
  assign _T_367 = {1'b0,$signed(_T_366)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54235.4]
  assign _T_368 = $signed(_T_367) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54236.4]
  assign _T_369 = $signed(_T_368); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54237.4]
  assign _T_370 = $signed(_T_369) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54238.4]
  assign _T_371 = auto_in_a_bits_address ^ 30'h24000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54239.4]
  assign _T_372 = {1'b0,$signed(_T_371)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54240.4]
  assign _T_373 = $signed(_T_372) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54241.4]
  assign _T_374 = $signed(_T_373); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54242.4]
  assign _T_375 = $signed(_T_374) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54243.4]
  assign _T_376 = auto_in_a_bits_address ^ 30'h16000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54244.4]
  assign _T_377 = {1'b0,$signed(_T_376)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54245.4]
  assign _T_378 = $signed(_T_377) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54246.4]
  assign _T_379 = $signed(_T_378); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54247.4]
  assign _T_380 = $signed(_T_379) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54248.4]
  assign _T_381 = auto_in_a_bits_address ^ 30'h33000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54249.4]
  assign _T_382 = {1'b0,$signed(_T_381)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54250.4]
  assign _T_383 = $signed(_T_382) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54251.4]
  assign _T_384 = $signed(_T_383); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54252.4]
  assign _T_385 = $signed(_T_384) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54253.4]
  assign _T_386 = auto_in_a_bits_address ^ 30'h34000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54254.4]
  assign _T_387 = {1'b0,$signed(_T_386)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54255.4]
  assign _T_388 = $signed(_T_387) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54256.4]
  assign _T_389 = $signed(_T_388); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54257.4]
  assign _T_390 = $signed(_T_389) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54258.4]
  assign _T_391 = auto_in_a_bits_address ^ 30'h43000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54259.4]
  assign _T_392 = {1'b0,$signed(_T_391)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54260.4]
  assign _T_393 = $signed(_T_392) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54261.4]
  assign _T_394 = $signed(_T_393); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54262.4]
  assign _T_395 = $signed(_T_394) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54263.4]
  assign _T_396 = auto_in_a_bits_address ^ 30'h12000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54264.4]
  assign _T_397 = {1'b0,$signed(_T_396)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54265.4]
  assign _T_398 = $signed(_T_397) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54266.4]
  assign _T_399 = $signed(_T_398); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54267.4]
  assign _T_400 = $signed(_T_399) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54268.4]
  assign _T_401 = auto_in_a_bits_address ^ 30'h53000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54269.4]
  assign _T_402 = {1'b0,$signed(_T_401)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54270.4]
  assign _T_403 = $signed(_T_402) & $signed(31'sh20077000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54271.4]
  assign _T_404 = $signed(_T_403); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54272.4]
  assign _T_405 = $signed(_T_404) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@54273.4]
  assign _T_407 = _T_375 ? 3'h6 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54274.4]
  assign _T_408 = _T_400 ? 4'h8 : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54275.4]
  assign _T_410 = _T_390 ? 3'h7 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54277.4]
  assign _T_411 = _T_385 ? 2'h2 : 2'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54278.4]
  assign _T_412 = _T_365 ? 4'ha : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54279.4]
  assign _T_414 = _T_380 ? 4'h9 : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54281.4]
  assign _T_415 = _T_405 ? 3'h4 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54282.4]
  assign _T_416 = _T_360 ? 3'h5 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54283.4]
  assign _T_417 = _T_395 ? 2'h3 : 2'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54284.4]
  assign _GEN_39 = {{1'd0}, _T_407}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54285.4]
  assign _T_418 = _GEN_39 | _T_408; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54285.4]
  assign _GEN_40 = {{1'd0}, _T_410}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54287.4]
  assign _T_420 = _T_418 | _GEN_40; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54287.4]
  assign _GEN_41 = {{2'd0}, _T_411}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54288.4]
  assign _T_421 = _T_420 | _GEN_41; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54288.4]
  assign _T_422 = _T_421 | _T_412; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54289.4]
  assign _GEN_42 = {{3'd0}, _T_370}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54290.4]
  assign _T_423 = _T_422 | _GEN_42; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54290.4]
  assign _T_424 = _T_423 | _T_414; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54291.4]
  assign _GEN_43 = {{1'd0}, _T_415}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54292.4]
  assign _T_425 = _T_424 | _GEN_43; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54292.4]
  assign _GEN_44 = {{1'd0}, _T_416}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54293.4]
  assign _T_426 = _T_425 | _GEN_44; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54293.4]
  assign _GEN_45 = {{2'd0}, _T_417}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54294.4]
  assign _T_427 = _T_426 | _GEN_45; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54294.4]
  assign _T_430 = _T_269_0_fifoId == _T_427; // @[AtomicAutomata.scala 103:60:shc.marmotcaravel.MarmotCaravelConfig.fir@54297.4]
  assign _T_431 = _T_284 & _T_430; // @[AtomicAutomata.scala 103:96:shc.marmotcaravel.MarmotCaravelConfig.fir@54298.4]
  assign _T_435 = _T_269_0_bits_data[0]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54302.4]
  assign _T_436 = _T_276_0_data[0]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54303.4]
  assign _T_437 = {_T_435,_T_436}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54304.4]
  assign _T_438 = _T_269_0_bits_data[1]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54305.4]
  assign _T_439 = _T_276_0_data[1]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54306.4]
  assign _T_440 = {_T_438,_T_439}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54307.4]
  assign _T_441 = _T_269_0_bits_data[2]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54308.4]
  assign _T_442 = _T_276_0_data[2]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54309.4]
  assign _T_443 = {_T_441,_T_442}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54310.4]
  assign _T_444 = _T_269_0_bits_data[3]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54311.4]
  assign _T_445 = _T_276_0_data[3]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54312.4]
  assign _T_446 = {_T_444,_T_445}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54313.4]
  assign _T_447 = _T_269_0_bits_data[4]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54314.4]
  assign _T_448 = _T_276_0_data[4]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54315.4]
  assign _T_449 = {_T_447,_T_448}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54316.4]
  assign _T_450 = _T_269_0_bits_data[5]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54317.4]
  assign _T_451 = _T_276_0_data[5]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54318.4]
  assign _T_452 = {_T_450,_T_451}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54319.4]
  assign _T_453 = _T_269_0_bits_data[6]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54320.4]
  assign _T_454 = _T_276_0_data[6]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54321.4]
  assign _T_455 = {_T_453,_T_454}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54322.4]
  assign _T_456 = _T_269_0_bits_data[7]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54323.4]
  assign _T_457 = _T_276_0_data[7]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54324.4]
  assign _T_458 = {_T_456,_T_457}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54325.4]
  assign _T_459 = _T_269_0_bits_data[8]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54326.4]
  assign _T_460 = _T_276_0_data[8]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54327.4]
  assign _T_461 = {_T_459,_T_460}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54328.4]
  assign _T_462 = _T_269_0_bits_data[9]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54329.4]
  assign _T_463 = _T_276_0_data[9]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54330.4]
  assign _T_464 = {_T_462,_T_463}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54331.4]
  assign _T_465 = _T_269_0_bits_data[10]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54332.4]
  assign _T_466 = _T_276_0_data[10]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54333.4]
  assign _T_467 = {_T_465,_T_466}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54334.4]
  assign _T_468 = _T_269_0_bits_data[11]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54335.4]
  assign _T_469 = _T_276_0_data[11]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54336.4]
  assign _T_470 = {_T_468,_T_469}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54337.4]
  assign _T_471 = _T_269_0_bits_data[12]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54338.4]
  assign _T_472 = _T_276_0_data[12]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54339.4]
  assign _T_473 = {_T_471,_T_472}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54340.4]
  assign _T_474 = _T_269_0_bits_data[13]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54341.4]
  assign _T_475 = _T_276_0_data[13]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54342.4]
  assign _T_476 = {_T_474,_T_475}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54343.4]
  assign _T_477 = _T_269_0_bits_data[14]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54344.4]
  assign _T_478 = _T_276_0_data[14]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54345.4]
  assign _T_479 = {_T_477,_T_478}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54346.4]
  assign _T_480 = _T_269_0_bits_data[15]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54347.4]
  assign _T_481 = _T_276_0_data[15]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54348.4]
  assign _T_482 = {_T_480,_T_481}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54349.4]
  assign _T_483 = _T_269_0_bits_data[16]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54350.4]
  assign _T_484 = _T_276_0_data[16]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54351.4]
  assign _T_485 = {_T_483,_T_484}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54352.4]
  assign _T_486 = _T_269_0_bits_data[17]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54353.4]
  assign _T_487 = _T_276_0_data[17]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54354.4]
  assign _T_488 = {_T_486,_T_487}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54355.4]
  assign _T_489 = _T_269_0_bits_data[18]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54356.4]
  assign _T_490 = _T_276_0_data[18]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54357.4]
  assign _T_491 = {_T_489,_T_490}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54358.4]
  assign _T_492 = _T_269_0_bits_data[19]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54359.4]
  assign _T_493 = _T_276_0_data[19]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54360.4]
  assign _T_494 = {_T_492,_T_493}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54361.4]
  assign _T_495 = _T_269_0_bits_data[20]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54362.4]
  assign _T_496 = _T_276_0_data[20]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54363.4]
  assign _T_497 = {_T_495,_T_496}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54364.4]
  assign _T_498 = _T_269_0_bits_data[21]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54365.4]
  assign _T_499 = _T_276_0_data[21]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54366.4]
  assign _T_500 = {_T_498,_T_499}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54367.4]
  assign _T_501 = _T_269_0_bits_data[22]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54368.4]
  assign _T_502 = _T_276_0_data[22]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54369.4]
  assign _T_503 = {_T_501,_T_502}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54370.4]
  assign _T_504 = _T_269_0_bits_data[23]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54371.4]
  assign _T_505 = _T_276_0_data[23]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54372.4]
  assign _T_506 = {_T_504,_T_505}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54373.4]
  assign _T_507 = _T_269_0_bits_data[24]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54374.4]
  assign _T_508 = _T_276_0_data[24]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54375.4]
  assign _T_509 = {_T_507,_T_508}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54376.4]
  assign _T_510 = _T_269_0_bits_data[25]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54377.4]
  assign _T_511 = _T_276_0_data[25]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54378.4]
  assign _T_512 = {_T_510,_T_511}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54379.4]
  assign _T_513 = _T_269_0_bits_data[26]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54380.4]
  assign _T_514 = _T_276_0_data[26]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54381.4]
  assign _T_515 = {_T_513,_T_514}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54382.4]
  assign _T_516 = _T_269_0_bits_data[27]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54383.4]
  assign _T_517 = _T_276_0_data[27]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54384.4]
  assign _T_518 = {_T_516,_T_517}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54385.4]
  assign _T_519 = _T_269_0_bits_data[28]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54386.4]
  assign _T_520 = _T_276_0_data[28]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54387.4]
  assign _T_521 = {_T_519,_T_520}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54388.4]
  assign _T_522 = _T_269_0_bits_data[29]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54389.4]
  assign _T_523 = _T_276_0_data[29]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54390.4]
  assign _T_524 = {_T_522,_T_523}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54391.4]
  assign _T_525 = _T_269_0_bits_data[30]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54392.4]
  assign _T_526 = _T_276_0_data[30]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54393.4]
  assign _T_527 = {_T_525,_T_526}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54394.4]
  assign _T_528 = _T_269_0_bits_data[31]; // @[AtomicAutomata.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@54395.4]
  assign _T_529 = _T_276_0_data[31]; // @[AtomicAutomata.scala 111:73:shc.marmotcaravel.MarmotCaravelConfig.fir@54396.4]
  assign _T_530 = {_T_528,_T_529}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54397.4]
  assign _T_531 = _T_269_0_lut >> _T_437; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54398.4]
  assign _T_532 = _T_531[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54399.4]
  assign _T_533 = _T_269_0_lut >> _T_440; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54400.4]
  assign _T_534 = _T_533[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54401.4]
  assign _T_535 = _T_269_0_lut >> _T_443; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54402.4]
  assign _T_536 = _T_535[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54403.4]
  assign _T_537 = _T_269_0_lut >> _T_446; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54404.4]
  assign _T_538 = _T_537[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54405.4]
  assign _T_539 = _T_269_0_lut >> _T_449; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54406.4]
  assign _T_540 = _T_539[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54407.4]
  assign _T_541 = _T_269_0_lut >> _T_452; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54408.4]
  assign _T_542 = _T_541[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54409.4]
  assign _T_543 = _T_269_0_lut >> _T_455; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54410.4]
  assign _T_544 = _T_543[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54411.4]
  assign _T_545 = _T_269_0_lut >> _T_458; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54412.4]
  assign _T_546 = _T_545[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54413.4]
  assign _T_547 = _T_269_0_lut >> _T_461; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54414.4]
  assign _T_548 = _T_547[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54415.4]
  assign _T_549 = _T_269_0_lut >> _T_464; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54416.4]
  assign _T_550 = _T_549[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54417.4]
  assign _T_551 = _T_269_0_lut >> _T_467; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54418.4]
  assign _T_552 = _T_551[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54419.4]
  assign _T_553 = _T_269_0_lut >> _T_470; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54420.4]
  assign _T_554 = _T_553[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54421.4]
  assign _T_555 = _T_269_0_lut >> _T_473; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54422.4]
  assign _T_556 = _T_555[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54423.4]
  assign _T_557 = _T_269_0_lut >> _T_476; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54424.4]
  assign _T_558 = _T_557[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54425.4]
  assign _T_559 = _T_269_0_lut >> _T_479; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54426.4]
  assign _T_560 = _T_559[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54427.4]
  assign _T_561 = _T_269_0_lut >> _T_482; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54428.4]
  assign _T_562 = _T_561[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54429.4]
  assign _T_563 = _T_269_0_lut >> _T_485; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54430.4]
  assign _T_564 = _T_563[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54431.4]
  assign _T_565 = _T_269_0_lut >> _T_488; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54432.4]
  assign _T_566 = _T_565[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54433.4]
  assign _T_567 = _T_269_0_lut >> _T_491; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54434.4]
  assign _T_568 = _T_567[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54435.4]
  assign _T_569 = _T_269_0_lut >> _T_494; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54436.4]
  assign _T_570 = _T_569[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54437.4]
  assign _T_571 = _T_269_0_lut >> _T_497; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54438.4]
  assign _T_572 = _T_571[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54439.4]
  assign _T_573 = _T_269_0_lut >> _T_500; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54440.4]
  assign _T_574 = _T_573[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54441.4]
  assign _T_575 = _T_269_0_lut >> _T_503; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54442.4]
  assign _T_576 = _T_575[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54443.4]
  assign _T_577 = _T_269_0_lut >> _T_506; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54444.4]
  assign _T_578 = _T_577[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54445.4]
  assign _T_579 = _T_269_0_lut >> _T_509; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54446.4]
  assign _T_580 = _T_579[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54447.4]
  assign _T_581 = _T_269_0_lut >> _T_512; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54448.4]
  assign _T_582 = _T_581[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54449.4]
  assign _T_583 = _T_269_0_lut >> _T_515; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54450.4]
  assign _T_584 = _T_583[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54451.4]
  assign _T_585 = _T_269_0_lut >> _T_518; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54452.4]
  assign _T_586 = _T_585[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54453.4]
  assign _T_587 = _T_269_0_lut >> _T_521; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54454.4]
  assign _T_588 = _T_587[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54455.4]
  assign _T_589 = _T_269_0_lut >> _T_524; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54456.4]
  assign _T_590 = _T_589[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54457.4]
  assign _T_591 = _T_269_0_lut >> _T_527; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54458.4]
  assign _T_592 = _T_591[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54459.4]
  assign _T_593 = _T_269_0_lut >> _T_530; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54460.4]
  assign _T_594 = _T_593[0]; // @[AtomicAutomata.scala 112:57:shc.marmotcaravel.MarmotCaravelConfig.fir@54461.4]
  assign _T_595 = {_T_534,_T_532}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54462.4]
  assign _T_596 = {_T_538,_T_536}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54463.4]
  assign _T_597 = {_T_596,_T_595}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54464.4]
  assign _T_598 = {_T_542,_T_540}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54465.4]
  assign _T_599 = {_T_546,_T_544}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54466.4]
  assign _T_600 = {_T_599,_T_598}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54467.4]
  assign _T_601 = {_T_600,_T_597}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54468.4]
  assign _T_602 = {_T_550,_T_548}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54469.4]
  assign _T_603 = {_T_554,_T_552}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54470.4]
  assign _T_604 = {_T_603,_T_602}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54471.4]
  assign _T_605 = {_T_558,_T_556}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54472.4]
  assign _T_606 = {_T_562,_T_560}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54473.4]
  assign _T_607 = {_T_606,_T_605}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54474.4]
  assign _T_608 = {_T_607,_T_604}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54475.4]
  assign _T_609 = {_T_608,_T_601}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54476.4]
  assign _T_610 = {_T_566,_T_564}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54477.4]
  assign _T_611 = {_T_570,_T_568}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54478.4]
  assign _T_612 = {_T_611,_T_610}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54479.4]
  assign _T_613 = {_T_574,_T_572}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54480.4]
  assign _T_614 = {_T_578,_T_576}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54481.4]
  assign _T_615 = {_T_614,_T_613}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54482.4]
  assign _T_616 = {_T_615,_T_612}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54483.4]
  assign _T_617 = {_T_582,_T_580}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54484.4]
  assign _T_618 = {_T_586,_T_584}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54485.4]
  assign _T_619 = {_T_618,_T_617}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54486.4]
  assign _T_620 = {_T_590,_T_588}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54487.4]
  assign _T_621 = {_T_594,_T_592}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54488.4]
  assign _T_622 = {_T_621,_T_620}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54489.4]
  assign _T_623 = {_T_622,_T_619}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54490.4]
  assign _T_624 = {_T_623,_T_616}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54491.4]
  assign _T_625 = {_T_624,_T_609}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54492.4]
  assign _T_626 = _T_269_0_bits_param[1]; // @[AtomicAutomata.scala 115:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54493.4]
  assign _T_627 = _T_269_0_bits_param[0]; // @[AtomicAutomata.scala 116:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54494.4]
  assign _T_628 = _T_269_0_bits_param[2]; // @[AtomicAutomata.scala 117:39:shc.marmotcaravel.MarmotCaravelConfig.fir@54495.4]
  assign _T_629 = ~ _T_269_0_bits_mask; // @[AtomicAutomata.scala 119:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54496.4]
  assign _T_630 = _T_269_0_bits_mask[3:1]; // @[AtomicAutomata.scala 119:39:shc.marmotcaravel.MarmotCaravelConfig.fir@54497.4]
  assign _GEN_46 = {{1'd0}, _T_630}; // @[AtomicAutomata.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54498.4]
  assign _T_631 = _T_629 | _GEN_46; // @[AtomicAutomata.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54498.4]
  assign _T_632 = ~ _T_631; // @[AtomicAutomata.scala 119:23:shc.marmotcaravel.MarmotCaravelConfig.fir@54499.4]
  assign _T_637 = {_T_480,_T_456}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54504.4]
  assign _T_638 = {_T_528,_T_504}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54505.4]
  assign _T_639 = {_T_638,_T_637}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54506.4]
  assign _T_644 = {_T_481,_T_457}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54511.4]
  assign _T_645 = {_T_529,_T_505}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54512.4]
  assign _T_646 = {_T_645,_T_644}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54513.4]
  assign _T_647 = _T_639 & _T_632; // @[AtomicAutomata.scala 123:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54514.4]
  assign _GEN_47 = {{1'd0}, _T_647}; // @[AtomicAutomata.scala 123:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54515.4]
  assign _T_648 = _GEN_47 << 1; // @[AtomicAutomata.scala 123:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54515.4]
  assign _T_649 = _T_648[3:0]; // @[AtomicAutomata.scala 123:54:shc.marmotcaravel.MarmotCaravelConfig.fir@54516.4]
  assign _T_650 = _T_646 & _T_632; // @[AtomicAutomata.scala 124:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54517.4]
  assign _GEN_48 = {{1'd0}, _T_650}; // @[AtomicAutomata.scala 124:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54518.4]
  assign _T_651 = _GEN_48 << 1; // @[AtomicAutomata.scala 124:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54518.4]
  assign _T_652 = _T_651[3:0]; // @[AtomicAutomata.scala 124:54:shc.marmotcaravel.MarmotCaravelConfig.fir@54519.4]
  assign _GEN_49 = {{1'd0}, _T_649}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54520.4]
  assign _T_653 = _GEN_49 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54520.4]
  assign _T_654 = _T_653[3:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54521.4]
  assign _T_655 = _T_649 | _T_654; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@54522.4]
  assign _GEN_50 = {{2'd0}, _T_655}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54523.4]
  assign _T_656 = _GEN_50 << 2; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54523.4]
  assign _T_657 = _T_656[3:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54524.4]
  assign _T_658 = _T_655 | _T_657; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@54525.4]
  assign _T_660 = _T_658[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54527.4]
  assign _T_661 = _T_658[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54528.4]
  assign _T_662 = _T_658[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54529.4]
  assign _T_663 = _T_658[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54530.4]
  assign _T_665 = _T_660 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54532.4]
  assign _T_667 = _T_661 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54534.4]
  assign _T_669 = _T_662 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54536.4]
  assign _T_671 = _T_663 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54538.4]
  assign _T_672 = {_T_667,_T_665}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54539.4]
  assign _T_673 = {_T_671,_T_669}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54540.4]
  assign _T_674 = {_T_673,_T_672}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54541.4]
  assign _GEN_51 = {{1'd0}, _T_652}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54542.4]
  assign _T_675 = _GEN_51 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54542.4]
  assign _T_676 = _T_675[3:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54543.4]
  assign _T_677 = _T_652 | _T_676; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@54544.4]
  assign _GEN_52 = {{2'd0}, _T_677}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54545.4]
  assign _T_678 = _GEN_52 << 2; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54545.4]
  assign _T_679 = _T_678[3:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54546.4]
  assign _T_680 = _T_677 | _T_679; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@54547.4]
  assign _T_682 = _T_680[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54549.4]
  assign _T_683 = _T_680[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54550.4]
  assign _T_684 = _T_680[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54551.4]
  assign _T_685 = _T_680[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54552.4]
  assign _T_687 = _T_682 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54554.4]
  assign _T_689 = _T_683 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54556.4]
  assign _T_691 = _T_684 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54558.4]
  assign _T_693 = _T_685 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54560.4]
  assign _T_694 = {_T_689,_T_687}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54561.4]
  assign _T_695 = {_T_693,_T_691}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54562.4]
  assign _T_696 = {_T_695,_T_694}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54563.4]
  assign _T_697 = _T_269_0_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54564.4]
  assign _T_698 = _T_269_0_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54565.4]
  assign _T_699 = _T_269_0_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54566.4]
  assign _T_700 = _T_269_0_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@54567.4]
  assign _T_702 = _T_697 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54569.4]
  assign _T_704 = _T_698 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54571.4]
  assign _T_706 = _T_699 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54573.4]
  assign _T_708 = _T_700 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54575.4]
  assign _T_709 = {_T_704,_T_702}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54576.4]
  assign _T_710 = {_T_708,_T_706}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54577.4]
  assign _T_711 = {_T_710,_T_709}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54578.4]
  assign _T_712 = _T_269_0_bits_data & _T_711; // @[AtomicAutomata.scala 129:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54579.4]
  assign _T_713 = _T_712 | _T_674; // @[AtomicAutomata.scala 129:41:shc.marmotcaravel.MarmotCaravelConfig.fir@54580.4]
  assign _T_714 = _T_276_0_data & _T_711; // @[AtomicAutomata.scala 130:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54581.4]
  assign _T_715 = _T_714 | _T_696; // @[AtomicAutomata.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@54582.4]
  assign _T_716 = ~ _T_715; // @[AtomicAutomata.scala 131:43:shc.marmotcaravel.MarmotCaravelConfig.fir@54583.4]
  assign _T_717 = _T_628 ? _T_715 : _T_716; // @[AtomicAutomata.scala 131:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54584.4]
  assign _T_719 = _T_713 + _T_717; // @[AtomicAutomata.scala 132:33:shc.marmotcaravel.MarmotCaravelConfig.fir@54586.4]
  assign _T_720 = _T_713[31]; // @[AtomicAutomata.scala 134:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54587.4]
  assign _T_721 = _T_626 == _T_720; // @[AtomicAutomata.scala 134:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54588.4]
  assign _T_723 = _T_715[31]; // @[AtomicAutomata.scala 135:50:shc.marmotcaravel.MarmotCaravelConfig.fir@54590.4]
  assign _T_724 = _T_720 == _T_723; // @[AtomicAutomata.scala 135:39:shc.marmotcaravel.MarmotCaravelConfig.fir@54591.4]
  assign _T_725 = _T_719[31]; // @[AtomicAutomata.scala 135:65:shc.marmotcaravel.MarmotCaravelConfig.fir@54592.4]
  assign _T_726 = _T_725 == 1'h0; // @[AtomicAutomata.scala 135:55:shc.marmotcaravel.MarmotCaravelConfig.fir@54593.4]
  assign _T_727 = _T_724 ? _T_726 : _T_721; // @[AtomicAutomata.scala 135:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54594.4]
  assign _T_728 = _T_627 == _T_727; // @[AtomicAutomata.scala 136:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54595.4]
  assign _T_729 = _T_728 ? _T_269_0_bits_data : _T_276_0_data; // @[AtomicAutomata.scala 137:50:shc.marmotcaravel.MarmotCaravelConfig.fir@54596.4]
  assign _T_730 = _T_628 ? _T_719 : _T_729; // @[AtomicAutomata.scala 137:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54597.4]
  assign _T_731 = _T_269_0_bits_opcode[0]; // @[AtomicAutomata.scala 143:34:shc.marmotcaravel.MarmotCaravelConfig.fir@54598.4]
  assign _T_732 = _T_731 ? _T_625 : _T_730; // @[AtomicAutomata.scala 143:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54599.4]
  assign _T_736 = _T_431 == 1'h0; // @[AtomicAutomata.scala 147:23:shc.marmotcaravel.MarmotCaravelConfig.fir@54602.4]
  assign _T_737 = _T_341 | _T_280; // @[AtomicAutomata.scala 147:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54603.4]
  assign _T_738 = _T_736 & _T_737; // @[AtomicAutomata.scala 147:35:shc.marmotcaravel.MarmotCaravelConfig.fir@54604.4]
  assign _T_821 = _T_820 == 10'h0; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54702.4]
  assign _T_740 = auto_in_a_valid & _T_738; // @[AtomicAutomata.scala 149:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54607.4]
  assign _T_823 = {_T_740,_T_281}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54704.4]
  assign _GEN_53 = {{1'd0}, _T_823}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54705.4]
  assign _T_824 = _GEN_53 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@54705.4]
  assign _T_825 = _T_824[1:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54706.4]
  assign _T_826 = _T_823 | _T_825; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@54707.4]
  assign _GEN_54 = {{1'd0}, _T_826}; // @[Arbiter.scala 15:78:shc.marmotcaravel.MarmotCaravelConfig.fir@54709.4]
  assign _T_828 = _GEN_54 << 1; // @[Arbiter.scala 15:78:shc.marmotcaravel.MarmotCaravelConfig.fir@54709.4]
  assign _T_829 = _T_828[1:0]; // @[Arbiter.scala 15:83:shc.marmotcaravel.MarmotCaravelConfig.fir@54710.4]
  assign _T_830 = ~ _T_829; // @[Arbiter.scala 15:61:shc.marmotcaravel.MarmotCaravelConfig.fir@54711.4]
  assign _T_832 = _T_830[1]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54713.4]
  assign _T_913_1 = _T_821 ? _T_832 : _T_894_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54767.4]
  assign _T_922 = auto_out_a_ready & _T_913_1; // @[Arbiter.scala 84:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54770.4]
  assign _T_741 = _T_341 == 1'h0; // @[AtomicAutomata.scala 151:15:shc.marmotcaravel.MarmotCaravelConfig.fir@54610.4]
  assign _GEN_0 = _T_741 ? 3'h4 : auto_in_a_bits_opcode; // @[AtomicAutomata.scala 151:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54611.4]
  assign _GEN_1 = _T_741 ? 3'h0 : auto_in_a_bits_param; // @[AtomicAutomata.scala 151:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54611.4]
  assign _T_745 = _T_269_0_bits_corrupt | _T_276_0_corrupt; // @[AtomicAutomata.scala 164:45:shc.marmotcaravel.MarmotCaravelConfig.fir@54618.4]
  assign _T_779 = _T_269_0_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54657.4]
  assign _T_780 = 2'h1 << _T_779; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54658.4]
  assign _T_782 = _T_780 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@54660.4]
  assign _T_783 = _T_269_0_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@54661.4]
  assign _T_784 = _T_782[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54662.4]
  assign _T_785 = _T_269_0_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54663.4]
  assign _T_786 = _T_785 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@54664.4]
  assign _T_788 = _T_784 & _T_786; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54666.4]
  assign _T_789 = _T_783 | _T_788; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54667.4]
  assign _T_791 = _T_784 & _T_785; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54669.4]
  assign _T_792 = _T_783 | _T_791; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54670.4]
  assign _T_793 = _T_782[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54671.4]
  assign _T_794 = _T_269_0_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54672.4]
  assign _T_795 = _T_794 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@54673.4]
  assign _T_796 = _T_786 & _T_795; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54674.4]
  assign _T_797 = _T_793 & _T_796; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54675.4]
  assign _T_798 = _T_789 | _T_797; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54676.4]
  assign _T_799 = _T_786 & _T_794; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54677.4]
  assign _T_800 = _T_793 & _T_799; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54678.4]
  assign _T_801 = _T_789 | _T_800; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54679.4]
  assign _T_802 = _T_785 & _T_795; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54680.4]
  assign _T_803 = _T_793 & _T_802; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54681.4]
  assign _T_804 = _T_792 | _T_803; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54682.4]
  assign _T_805 = _T_785 & _T_794; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54683.4]
  assign _T_806 = _T_793 & _T_805; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54684.4]
  assign _T_807 = _T_792 | _T_806; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54685.4]
  assign _T_808 = {_T_801,_T_798}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54686.4]
  assign _T_809 = {_T_807,_T_804}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54687.4]
  assign _T_810 = {_T_809,_T_808}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54688.4]
  assign _T_812 = 27'hfff << auto_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@54694.4]
  assign _T_813 = _T_812[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@54695.4]
  assign _T_814 = ~ _T_813; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54696.4]
  assign _T_815 = _T_814[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@54697.4]
  assign _T_816 = auto_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@54698.4]
  assign _T_817 = _T_816 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54699.4]
  assign _T_822 = _T_821 & auto_out_a_ready; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54703.4]
  assign _T_831 = _T_830[0]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54712.4]
  assign _T_841 = _T_831 & _T_281; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@54718.4]
  assign _T_842 = _T_832 & _T_740; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@54719.4]
  assign _T_852 = _T_841 | _T_842; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54725.4]
  assign _T_854 = _T_841 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@54727.4]
  assign _T_857 = _T_842 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@54730.4]
  assign _T_858 = _T_854 | _T_857; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@54731.4]
  assign _T_861 = _T_858 | reset; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54734.4]
  assign _T_862 = _T_861 == 1'h0; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54735.4]
  assign _T_863 = _T_281 | _T_740; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54740.4]
  assign _T_864 = _T_863 == 1'h0; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@54741.4]
  assign _T_866 = _T_864 | _T_852; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@54743.4]
  assign _T_868 = _T_866 | reset; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54745.4]
  assign _T_869 = _T_868 == 1'h0; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54746.4]
  assign _T_925 = _T_894_0 ? _T_281 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54773.4]
  assign _T_926 = _T_894_1 ? _T_740 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54774.4]
  assign _T_927 = _T_925 | _T_926; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54775.4]
  assign _T_930 = _T_821 ? _T_863 : _T_927; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54778.4]
  assign _T_873 = auto_out_a_ready & _T_930; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@54754.4]
  assign _GEN_55 = {{9'd0}, _T_873}; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54755.4]
  assign _T_874 = _T_820 - _GEN_55; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54755.4]
  assign _T_875 = $unsigned(_T_874); // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54756.4]
  assign _T_876 = _T_875[9:0]; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54757.4]
  assign _T_905_0 = _T_821 ? _T_841 : _T_894_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54765.4]
  assign _T_905_1 = _T_821 ? _T_842 : _T_894_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54765.4]
  assign _T_913_0 = _T_821 ? _T_831 : _T_894_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54767.4]
  assign _T_921 = auto_out_a_ready & _T_913_0; // @[Arbiter.scala 84:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54768.4]
  assign _T_932 = {_T_732,_T_745}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54780.4]
  assign _T_933 = {_T_269_0_bits_address,_T_810}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54781.4]
  assign _T_934 = {_T_933,_T_932}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54782.4]
  assign _T_935 = {_T_269_0_bits_size,_T_269_0_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54783.4]
  assign _T_937 = {6'h0,_T_935}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54785.4]
  assign _T_938 = {_T_937,_T_934}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54786.4]
  assign _T_939 = _T_905_0 ? _T_938 : 78'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54787.4]
  assign _T_940 = {auto_in_a_bits_data,auto_in_a_bits_corrupt}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54788.4]
  assign _T_941 = {auto_in_a_bits_address,auto_in_a_bits_mask}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54789.4]
  assign _T_942 = {_T_941,_T_940}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54790.4]
  assign _T_943 = {auto_in_a_bits_size,auto_in_a_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54791.4]
  assign _T_944 = {_GEN_0,_GEN_1}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54792.4]
  assign _T_945 = {_T_944,_T_943}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54793.4]
  assign _T_946 = {_T_945,_T_942}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54794.4]
  assign _T_947 = _T_905_1 ? _T_946 : 78'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54795.4]
  assign _T_948 = _T_939 | _T_947; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@54796.4]
  assign _T_961 = _T_922 & _T_740; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@54817.4]
  assign _T_963 = _T_961 & _T_741; // @[AtomicAutomata.scala 170:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54819.4]
  assign _T_964 = auto_in_a_bits_param[1:0]; // @[AtomicAutomata.scala 175:52:shc.marmotcaravel.MarmotCaravelConfig.fir@54824.8]
  assign _GEN_56 = {{1'd0}, _T_964}; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54825.8]
  assign _T_965 = 3'h3 == _GEN_56; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54825.8]
  assign _T_967 = 3'h0 == _GEN_56; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54827.8]
  assign _T_969 = 3'h1 == _GEN_56; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54829.8]
  assign _T_971 = 3'h2 == _GEN_56; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54831.8]
  assign _T_973 = _T_921 & _T_281; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@54839.4]
  assign _T_987 = _T_983 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@54857.4]
  assign _T_999 = auto_out_d_bits_opcode == 3'h1; // @[AtomicAutomata.scala 209:40:shc.marmotcaravel.MarmotCaravelConfig.fir@54872.4]
  assign _T_1005 = _T_987 & _T_999; // @[AtomicAutomata.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@54888.4]
  assign _T_995 = _T_269_0_bits_source == auto_out_d_bits_source; // @[AtomicAutomata.scala 200:53:shc.marmotcaravel.MarmotCaravelConfig.fir@54868.4]
  assign _T_996 = _T_995 & _T_285; // @[AtomicAutomata.scala 201:83:shc.marmotcaravel.MarmotCaravelConfig.fir@54869.4]
  assign _T_1006 = _T_1005 & _T_996; // @[AtomicAutomata.scala 228:40:shc.marmotcaravel.MarmotCaravelConfig.fir@54889.4]
  assign _T_1011 = auto_in_d_ready | _T_1006; // @[AtomicAutomata.scala 232:35:shc.marmotcaravel.MarmotCaravelConfig.fir@54895.4]
  assign _T_974 = _T_1011 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@54845.4]
  assign _T_976 = 27'hfff << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@54847.4]
  assign _T_977 = _T_976[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@54848.4]
  assign _T_978 = ~ _T_977; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54849.4]
  assign _T_979 = _T_978[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@54850.4]
  assign _T_980 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@54851.4]
  assign _T_984 = _T_983 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54854.4]
  assign _T_985 = $unsigned(_T_984); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54855.4]
  assign _T_986 = _T_985[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54856.4]
  assign _T_1000 = auto_out_d_bits_opcode == 3'h0; // @[AtomicAutomata.scala 210:40:shc.marmotcaravel.MarmotCaravelConfig.fir@54873.4]
  assign _T_1002 = _T_974 & _T_987; // @[AtomicAutomata.scala 212:28:shc.marmotcaravel.MarmotCaravelConfig.fir@54875.4]
  assign _T_1003 = _T_996 & _T_999; // @[AtomicAutomata.scala 214:22:shc.marmotcaravel.MarmotCaravelConfig.fir@54877.6]
  assign _T_1007 = _T_987 & _T_1000; // @[AtomicAutomata.scala 229:33:shc.marmotcaravel.MarmotCaravelConfig.fir@54890.4]
  assign _T_1008 = _T_1007 & _T_996; // @[AtomicAutomata.scala 229:42:shc.marmotcaravel.MarmotCaravelConfig.fir@54891.4]
  assign _T_1009 = _T_1006 == 1'h0; // @[AtomicAutomata.scala 231:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54892.4]
  assign _T_1012 = _T_276_0_corrupt | auto_out_d_bits_denied; // @[AtomicAutomata.scala 238:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54901.6]
  assign _T_1013 = _T_276_0_denied | auto_out_d_bits_denied; // @[AtomicAutomata.scala 239:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54903.6]
  assign auto_in_a_ready = _T_922 & _T_738; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54138.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_1009; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54138.4]
  assign auto_in_d_bits_opcode = _T_1008 ? 3'h1 : auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54138.4]
  assign auto_in_d_bits_param = auto_out_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54138.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54138.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54138.4]
  assign auto_in_d_bits_sink = auto_out_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54138.4]
  assign auto_in_d_bits_denied = _T_1008 ? _T_1013 : auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54138.4]
  assign auto_in_d_bits_data = _T_1008 ? _T_276_0_data : auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54138.4]
  assign auto_in_d_bits_corrupt = _T_1008 ? _T_1012 : auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@54138.4]
  assign auto_out_a_valid = _T_821 ? _T_863 : _T_927; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54137.4]
  assign auto_out_a_bits_opcode = _T_948[77:75]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54137.4]
  assign auto_out_a_bits_param = _T_948[74:72]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54137.4]
  assign auto_out_a_bits_size = _T_948[71:68]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54137.4]
  assign auto_out_a_bits_source = _T_948[67]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54137.4]
  assign auto_out_a_bits_address = _T_948[66:37]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54137.4]
  assign auto_out_a_bits_mask = _T_948[36:33]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54137.4]
  assign auto_out_a_bits_data = _T_948[32:1]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54137.4]
  assign auto_out_a_bits_corrupt = _T_948[0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54137.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_1006; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54137.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54100.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54101.4]
  assign TLMonitor_io_in_a_ready = _T_922 & _T_738; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_1009; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
  assign TLMonitor_io_in_d_bits_opcode = _T_1008 ? 3'h1 : auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
  assign TLMonitor_io_in_d_bits_denied = _T_1008 ? _T_1013 : auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
  assign TLMonitor_io_in_d_bits_corrupt = _T_1008 ? _T_1012 : auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@54134.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_258_0_state = _RAND_0[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_269_0_bits_opcode = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_269_0_bits_param = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_269_0_bits_size = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_269_0_bits_source = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_269_0_bits_address = _RAND_5[29:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_269_0_bits_mask = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_269_0_bits_data = _RAND_7[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_269_0_bits_corrupt = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_269_0_fifoId = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_269_0_lut = _RAND_10[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_276_0_data = _RAND_11[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_276_0_denied = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_276_0_corrupt = _RAND_13[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_820 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_894_1 = _RAND_15[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_894_0 = _RAND_16[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_17 = {1{`RANDOM}};
  _T_983 = _RAND_17[9:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_258_0_state <= 2'h0;
    end else begin
      if (_T_1002) begin
        if (_T_996) begin
          if (_T_999) begin
            _T_258_0_state <= 2'h2;
          end else begin
            _T_258_0_state <= 2'h0;
          end
        end else begin
          if (_T_973) begin
            if (_T_281) begin
              _T_258_0_state <= 2'h1;
            end else begin
              if (_T_963) begin
                if (_T_280) begin
                  _T_258_0_state <= 2'h3;
                end
              end
            end
          end else begin
            if (_T_963) begin
              if (_T_280) begin
                _T_258_0_state <= 2'h3;
              end
            end
          end
        end
      end else begin
        if (_T_973) begin
          if (_T_281) begin
            _T_258_0_state <= 2'h1;
          end else begin
            if (_T_963) begin
              if (_T_280) begin
                _T_258_0_state <= 2'h3;
              end
            end
          end
        end else begin
          if (_T_963) begin
            if (_T_280) begin
              _T_258_0_state <= 2'h3;
            end
          end
        end
      end
    end
    if (_T_963) begin
      if (_T_280) begin
        _T_269_0_bits_opcode <= auto_in_a_bits_opcode;
      end
    end
    if (_T_963) begin
      if (_T_280) begin
        _T_269_0_bits_param <= auto_in_a_bits_param;
      end
    end
    if (_T_963) begin
      if (_T_280) begin
        _T_269_0_bits_size <= auto_in_a_bits_size;
      end
    end
    if (_T_963) begin
      if (_T_280) begin
        _T_269_0_bits_source <= auto_in_a_bits_source;
      end
    end
    if (_T_963) begin
      if (_T_280) begin
        _T_269_0_bits_address <= auto_in_a_bits_address;
      end
    end
    if (_T_963) begin
      if (_T_280) begin
        _T_269_0_bits_mask <= auto_in_a_bits_mask;
      end
    end
    if (_T_963) begin
      if (_T_280) begin
        _T_269_0_bits_data <= auto_in_a_bits_data;
      end
    end
    if (_T_963) begin
      if (_T_280) begin
        _T_269_0_bits_corrupt <= auto_in_a_bits_corrupt;
      end
    end
    if (_T_963) begin
      if (_T_280) begin
        _T_269_0_fifoId <= _T_427;
      end
    end
    if (_T_963) begin
      if (_T_280) begin
        if (_T_971) begin
          _T_269_0_lut <= 4'h8;
        end else begin
          if (_T_969) begin
            _T_269_0_lut <= 4'he;
          end else begin
            if (_T_967) begin
              _T_269_0_lut <= 4'h6;
            end else begin
              if (_T_965) begin
                _T_269_0_lut <= 4'hc;
              end else begin
                _T_269_0_lut <= 4'h0;
              end
            end
          end
        end
      end
    end
    if (_T_1002) begin
      if (_T_1003) begin
        _T_276_0_data <= auto_out_d_bits_data;
      end
    end
    if (_T_1002) begin
      if (_T_1003) begin
        _T_276_0_denied <= auto_out_d_bits_denied;
      end
    end
    if (_T_1002) begin
      if (_T_1003) begin
        _T_276_0_corrupt <= auto_out_d_bits_corrupt;
      end
    end
    if (reset) begin
      _T_820 <= 10'h0;
    end else begin
      if (_T_822) begin
        if (_T_842) begin
          if (_T_817) begin
            _T_820 <= _T_815;
          end else begin
            _T_820 <= 10'h0;
          end
        end else begin
          _T_820 <= 10'h0;
        end
      end else begin
        _T_820 <= _T_876;
      end
    end
    if (reset) begin
      _T_894_1 <= 1'h0;
    end else begin
      if (_T_821) begin
        _T_894_1 <= _T_842;
      end
    end
    if (reset) begin
      _T_894_0 <= 1'h0;
    end else begin
      if (_T_821) begin
        _T_894_0 <= _T_841;
      end
    end
    if (reset) begin
      _T_983 <= 10'h0;
    end else begin
      if (_T_974) begin
        if (_T_987) begin
          if (_T_980) begin
            _T_983 <= _T_979;
          end else begin
            _T_983 <= 10'h0;
          end
        end else begin
          _T_983 <= _T_986;
        end
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_862) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:68 assert((prefixOR zip winner) map { case (p,w) => !p || !w } reduce {_ && _})\n"); // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54737.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_862) begin
          $fatal; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@54738.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_869) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:70 assert (!valids.reduce(_||_) || winner.reduce(_||_))\n"); // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54748.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_869) begin
          $fatal; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@54749.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_30( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54920.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54921.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54922.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
  input  [13:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@54923.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@56064.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@54939.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54944.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@54946.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@54947.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54948.6]
  wire [13:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@54949.6]
  wire [13:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@54949.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54950.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54952.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54953.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@54955.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@54956.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54957.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54958.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@54959.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54961.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54962.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54964.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54965.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54966.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54967.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@54968.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54969.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54970.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54971.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54972.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54973.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54974.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54975.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54976.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54977.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54978.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54979.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54980.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54981.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54982.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54983.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55008.6]
  wire [13:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55011.8]
  wire [14:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55012.8]
  wire [14:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55013.8]
  wire [14:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55014.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55015.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55020.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55033.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55034.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55041.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55042.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55048.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55049.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55054.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55056.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55057.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@55062.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55063.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55065.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55066.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@55071.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55073.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55074.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55080.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55134.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55136.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55137.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55160.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@55163.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@55171.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55174.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55175.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55194.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55196.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55197.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55202.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55204.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55205.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55219.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55270.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@55312.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55313.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@55314.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55316.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55317.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55323.6]
  wire  _T_265; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@55326.8]
  wire  _T_273; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@55334.8]
  wire  _T_276; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55337.8]
  wire  _T_277; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55338.8]
  wire  _T_284; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@55357.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55359.8]
  wire  _T_287; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55360.8]
  wire  _T_292; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55374.6]
  wire  _T_313; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@55408.8]
  wire  _T_315; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55410.8]
  wire  _T_316; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55411.8]
  wire  _T_321; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55425.6]
  wire  _T_350; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@55478.6]
  wire  _T_352; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55480.6]
  wire  _T_353; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55481.6]
  wire  _T_355; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@55487.6]
  wire  _T_364; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@55492.6]
  wire  _T_366; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55494.6]
  wire  _T_368; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55497.8]
  wire  _T_369; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55498.8]
  wire  _T_370; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55503.8]
  wire  _T_372; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55505.8]
  wire  _T_373; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55506.8]
  wire  _T_378; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@55519.8]
  wire  _T_380; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55521.8]
  wire  _T_381; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55522.8]
  wire  _T_386; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55536.6]
  wire  _T_414; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55594.6]
  wire  _T_436; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55637.8]
  wire  _T_437; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55638.8]
  wire  _T_443; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55653.6]
  wire  _T_460; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55688.6]
  wire  _T_478; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55724.6]
  wire  _T_507; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55784.4]
  wire [9:0] _T_512; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@55789.4]
  wire  _T_513; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@55790.4]
  wire  _T_514; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55791.4]
  reg [9:0] _T_517; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55793.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_518; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55794.4]
  wire [10:0] _T_519; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55795.4]
  wire [9:0] _T_520; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55796.4]
  wire  _T_521; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55797.4]
  reg [2:0] _T_530; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55808.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_532; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55809.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_534; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55810.4]
  reg [31:0] _RAND_3;
  reg  _T_536; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55811.4]
  reg [31:0] _RAND_4;
  reg [13:0] _T_538; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55812.4]
  reg [31:0] _RAND_5;
  wire  _T_539; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55813.4]
  wire  _T_540; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55814.4]
  wire  _T_541; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55816.6]
  wire  _T_543; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55818.6]
  wire  _T_544; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55819.6]
  wire  _T_545; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55824.6]
  wire  _T_547; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55826.6]
  wire  _T_548; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55827.6]
  wire  _T_549; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55832.6]
  wire  _T_551; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55834.6]
  wire  _T_552; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55835.6]
  wire  _T_553; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55840.6]
  wire  _T_555; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55842.6]
  wire  _T_556; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55843.6]
  wire  _T_557; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55848.6]
  wire  _T_559; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55850.6]
  wire  _T_560; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55851.6]
  wire  _T_562; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@55858.4]
  wire  _T_563; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55866.4]
  wire [26:0] _T_565; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@55868.4]
  wire [11:0] _T_566; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@55869.4]
  wire [11:0] _T_567; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@55870.4]
  wire [9:0] _T_568; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@55871.4]
  wire  _T_569; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@55872.4]
  reg [9:0] _T_572; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55874.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_573; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55875.4]
  wire [10:0] _T_574; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55876.4]
  wire [9:0] _T_575; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55877.4]
  wire  _T_576; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55878.4]
  reg [2:0] _T_585; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55889.4]
  reg [31:0] _RAND_7;
  reg [3:0] _T_589; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55891.4]
  reg [31:0] _RAND_8;
  reg  _T_591; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55892.4]
  reg [31:0] _RAND_9;
  wire  _T_596; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55895.4]
  wire  _T_597; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55896.4]
  wire  _T_598; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55898.6]
  wire  _T_600; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55900.6]
  wire  _T_601; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55901.6]
  wire  _T_606; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55914.6]
  wire  _T_608; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55916.6]
  wire  _T_609; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55917.6]
  wire  _T_610; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55922.6]
  wire  _T_612; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55924.6]
  wire  _T_613; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55925.6]
  wire  _T_623; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@55948.4]
  reg [1:0] _T_625; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55957.4]
  reg [31:0] _RAND_10;
  reg [9:0] _T_636; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55967.4]
  reg [31:0] _RAND_11;
  wire [10:0] _T_637; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55968.4]
  wire [10:0] _T_638; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55969.4]
  wire [9:0] _T_639; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55970.4]
  wire  _T_640; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55971.4]
  reg [9:0] _T_657; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55990.4]
  reg [31:0] _RAND_12;
  wire [10:0] _T_658; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55991.4]
  wire [10:0] _T_659; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55992.4]
  wire [9:0] _T_660; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55993.4]
  wire  _T_661; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55994.4]
  wire  _T_672; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56009.4]
  wire [1:0] _T_674; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@56012.6]
  wire [1:0] _T_675; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@56014.6]
  wire  _T_676; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@56015.6]
  wire  _T_677; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56016.6]
  wire  _T_679; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56018.6]
  wire  _T_680; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56019.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@56011.4]
  wire  _T_685; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56030.4]
  wire  _T_687; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@56032.4]
  wire  _T_688; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@56033.4]
  wire [1:0] _T_689; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@56035.6]
  wire [1:0] _T_690; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56037.6]
  wire [1:0] _T_691; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@56038.6]
  wire  _T_692; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@56039.6]
  wire  _T_694; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56041.6]
  wire  _T_695; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56042.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@56034.4]
  wire  _T_696; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@56048.4]
  wire  _T_697; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@56049.4]
  wire  _T_698; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@56050.4]
  wire  _T_699; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@56051.4]
  wire  _T_701; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56053.4]
  wire  _T_702; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56054.4]
  wire [1:0] _T_703; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56059.4]
  wire [1:0] _T_704; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56060.4]
  wire [1:0] _T_705; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@56061.4]
  reg [31:0] _T_707; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56063.4]
  reg [31:0] _RAND_13;
  wire  _T_708; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@56066.4]
  wire  _T_709; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56067.4]
  wire  _T_710; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@56068.4]
  wire  _T_711; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56069.4]
  wire  _T_712; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@56070.4]
  wire  _T_713; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@56071.4]
  wire  _T_715; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56073.4]
  wire  _T_716; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56074.4]
  wire [31:0] _T_718; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@56080.4]
  wire  _T_721; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56084.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55022.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55094.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55177.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55236.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55287.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55340.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55391.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55442.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55500.10]
  wire  _GEN_123; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55542.10]
  wire  _GEN_131; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55600.10]
  wire  _GEN_139; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55659.10]
  wire  _GEN_143; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55694.10]
  wire  _GEN_147; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55730.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@56064.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@54939.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54944.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@54946.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@54947.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@54948.6]
  assign _GEN_18 = {{2'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@54949.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@54949.6]
  assign _T_36 = _T_35 == 14'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@54950.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@54952.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54953.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@54955.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@54956.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54957.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54958.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@54959.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54961.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54962.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54964.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54965.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54966.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@54967.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@54968.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54969.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54970.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54971.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54972.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54973.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54974.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54975.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54976.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54977.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@54978.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@54979.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@54980.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54981.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54982.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@54983.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55008.6]
  assign _T_92 = io_in_a_bits_address ^ 14'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@55011.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@55012.8]
  assign _T_94 = $signed(_T_93) & $signed(-15'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55013.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@55014.8]
  assign _T_96 = $signed(_T_95) == $signed(15'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@55015.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55020.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55033.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55034.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55041.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55042.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55048.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55049.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55054.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55056.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55057.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@55062.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55063.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55065.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55066.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@55071.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55073.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55074.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55080.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55134.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55136.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55137.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55160.6]
  assign _T_172 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@55163.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@55171.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55174.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55175.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55194.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55196.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55197.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55202.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55204.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55205.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55219.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55270.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@55312.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55313.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@55314.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55316.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55317.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55323.6]
  assign _T_265 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@55326.8]
  assign _T_273 = _T_265 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@55334.8]
  assign _T_276 = _T_273 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55337.8]
  assign _T_277 = _T_276 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55338.8]
  assign _T_284 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@55357.8]
  assign _T_286 = _T_284 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55359.8]
  assign _T_287 = _T_286 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55360.8]
  assign _T_292 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55374.6]
  assign _T_313 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@55408.8]
  assign _T_315 = _T_313 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55410.8]
  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55411.8]
  assign _T_321 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55425.6]
  assign _T_350 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@55478.6]
  assign _T_352 = _T_350 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55480.6]
  assign _T_353 = _T_352 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55481.6]
  assign _T_355 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@55487.6]
  assign _T_364 = io_in_d_bits_source | _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@55492.6]
  assign _T_366 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55494.6]
  assign _T_368 = _T_364 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55497.8]
  assign _T_369 = _T_368 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55498.8]
  assign _T_370 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@55503.8]
  assign _T_372 = _T_370 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55505.8]
  assign _T_373 = _T_372 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55506.8]
  assign _T_378 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@55519.8]
  assign _T_380 = _T_378 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55521.8]
  assign _T_381 = _T_380 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55522.8]
  assign _T_386 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55536.6]
  assign _T_414 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55594.6]
  assign _T_436 = io_in_d_bits_corrupt | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55637.8]
  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55638.8]
  assign _T_443 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55653.6]
  assign _T_460 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55688.6]
  assign _T_478 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55724.6]
  assign _T_507 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55784.4]
  assign _T_512 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@55789.4]
  assign _T_513 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@55790.4]
  assign _T_514 = _T_513 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55791.4]
  assign _T_518 = _T_517 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55794.4]
  assign _T_519 = $unsigned(_T_518); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55795.4]
  assign _T_520 = _T_519[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55796.4]
  assign _T_521 = _T_517 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55797.4]
  assign _T_539 = _T_521 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55813.4]
  assign _T_540 = io_in_a_valid & _T_539; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55814.4]
  assign _T_541 = io_in_a_bits_opcode == _T_530; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55816.6]
  assign _T_543 = _T_541 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55818.6]
  assign _T_544 = _T_543 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55819.6]
  assign _T_545 = io_in_a_bits_param == _T_532; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55824.6]
  assign _T_547 = _T_545 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55826.6]
  assign _T_548 = _T_547 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55827.6]
  assign _T_549 = io_in_a_bits_size == _T_534; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55832.6]
  assign _T_551 = _T_549 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55834.6]
  assign _T_552 = _T_551 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55835.6]
  assign _T_553 = io_in_a_bits_source == _T_536; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55840.6]
  assign _T_555 = _T_553 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55842.6]
  assign _T_556 = _T_555 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55843.6]
  assign _T_557 = io_in_a_bits_address == _T_538; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55848.6]
  assign _T_559 = _T_557 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55850.6]
  assign _T_560 = _T_559 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55851.6]
  assign _T_562 = _T_507 & _T_521; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@55858.4]
  assign _T_563 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55866.4]
  assign _T_565 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@55868.4]
  assign _T_566 = _T_565[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@55869.4]
  assign _T_567 = ~ _T_566; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@55870.4]
  assign _T_568 = _T_567[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@55871.4]
  assign _T_569 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@55872.4]
  assign _T_573 = _T_572 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55875.4]
  assign _T_574 = $unsigned(_T_573); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55876.4]
  assign _T_575 = _T_574[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55877.4]
  assign _T_576 = _T_572 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55878.4]
  assign _T_596 = _T_576 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@55895.4]
  assign _T_597 = io_in_d_valid & _T_596; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@55896.4]
  assign _T_598 = io_in_d_bits_opcode == _T_585; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55898.6]
  assign _T_600 = _T_598 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55900.6]
  assign _T_601 = _T_600 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55901.6]
  assign _T_606 = io_in_d_bits_size == _T_589; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55914.6]
  assign _T_608 = _T_606 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55916.6]
  assign _T_609 = _T_608 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55917.6]
  assign _T_610 = io_in_d_bits_source == _T_591; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@55922.6]
  assign _T_612 = _T_610 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55924.6]
  assign _T_613 = _T_612 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55925.6]
  assign _T_623 = _T_563 & _T_576; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@55948.4]
  assign _T_637 = _T_636 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55968.4]
  assign _T_638 = $unsigned(_T_637); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55969.4]
  assign _T_639 = _T_638[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55970.4]
  assign _T_640 = _T_636 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55971.4]
  assign _T_658 = _T_657 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55991.4]
  assign _T_659 = $unsigned(_T_658); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55992.4]
  assign _T_660 = _T_659[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@55993.4]
  assign _T_661 = _T_657 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@55994.4]
  assign _T_672 = _T_507 & _T_640; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56009.4]
  assign _T_674 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@56012.6]
  assign _T_675 = _T_625 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@56014.6]
  assign _T_676 = _T_675[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@56015.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56016.6]
  assign _T_679 = _T_677 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56018.6]
  assign _T_680 = _T_679 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56019.6]
  assign _GEN_15 = _T_672 ? _T_674 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@56011.4]
  assign _T_685 = _T_563 & _T_661; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56030.4]
  assign _T_687 = _T_366 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@56032.4]
  assign _T_688 = _T_685 & _T_687; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@56033.4]
  assign _T_689 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@56035.6]
  assign _T_690 = _GEN_15 | _T_625; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56037.6]
  assign _T_691 = _T_690 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@56038.6]
  assign _T_692 = _T_691[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@56039.6]
  assign _T_694 = _T_692 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56041.6]
  assign _T_695 = _T_694 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56042.6]
  assign _GEN_16 = _T_688 ? _T_689 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@56034.4]
  assign _T_696 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@56048.4]
  assign _T_697 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@56049.4]
  assign _T_698 = _T_697 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@56050.4]
  assign _T_699 = _T_696 | _T_698; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@56051.4]
  assign _T_701 = _T_699 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56053.4]
  assign _T_702 = _T_701 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56054.4]
  assign _T_703 = _T_625 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56059.4]
  assign _T_704 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56060.4]
  assign _T_705 = _T_703 & _T_704; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@56061.4]
  assign _T_708 = _T_625 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@56066.4]
  assign _T_709 = _T_708 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56067.4]
  assign _T_710 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@56068.4]
  assign _T_711 = _T_709 | _T_710; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56069.4]
  assign _T_712 = _T_707 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@56070.4]
  assign _T_713 = _T_711 | _T_712; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@56071.4]
  assign _T_715 = _T_713 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56073.4]
  assign _T_716 = _T_715 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56074.4]
  assign _T_718 = _T_707 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@56080.4]
  assign _T_721 = _T_507 | _T_563; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56084.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55022.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55094.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55177.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55236.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55287.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55340.10]
  assign _GEN_95 = io_in_a_valid & _T_292; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55391.10]
  assign _GEN_105 = io_in_a_valid & _T_321; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55442.10]
  assign _GEN_115 = io_in_d_valid & _T_366; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55500.10]
  assign _GEN_123 = io_in_d_valid & _T_386; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55542.10]
  assign _GEN_131 = io_in_d_valid & _T_414; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55600.10]
  assign _GEN_139 = io_in_d_valid & _T_443; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55659.10]
  assign _GEN_143 = io_in_d_valid & _T_460; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55694.10]
  assign _GEN_147 = io_in_d_valid & _T_478; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55730.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_517 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_530 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_532 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_534 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_536 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_538 = _RAND_5[13:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_572 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_585 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_589 = _RAND_8[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_591 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_625 = _RAND_10[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_636 = _RAND_11[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_657 = _RAND_12[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_707 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_517 <= 10'h0;
    end else begin
      if (_T_507) begin
        if (_T_521) begin
          if (_T_514) begin
            _T_517 <= _T_512;
          end else begin
            _T_517 <= 10'h0;
          end
        end else begin
          _T_517 <= _T_520;
        end
      end
    end
    if (_T_562) begin
      _T_530 <= io_in_a_bits_opcode;
    end
    if (_T_562) begin
      _T_532 <= io_in_a_bits_param;
    end
    if (_T_562) begin
      _T_534 <= io_in_a_bits_size;
    end
    if (_T_562) begin
      _T_536 <= io_in_a_bits_source;
    end
    if (_T_562) begin
      _T_538 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_572 <= 10'h0;
    end else begin
      if (_T_563) begin
        if (_T_576) begin
          if (_T_569) begin
            _T_572 <= _T_568;
          end else begin
            _T_572 <= 10'h0;
          end
        end else begin
          _T_572 <= _T_575;
        end
      end
    end
    if (_T_623) begin
      _T_585 <= io_in_d_bits_opcode;
    end
    if (_T_623) begin
      _T_589 <= io_in_d_bits_size;
    end
    if (_T_623) begin
      _T_591 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_625 <= 2'h0;
    end else begin
      _T_625 <= _T_705;
    end
    if (reset) begin
      _T_636 <= 10'h0;
    end else begin
      if (_T_507) begin
        if (_T_640) begin
          if (_T_514) begin
            _T_636 <= _T_512;
          end else begin
            _T_636 <= 10'h0;
          end
        end else begin
          _T_636 <= _T_639;
        end
      end
    end
    if (reset) begin
      _T_657 <= 10'h0;
    end else begin
      if (_T_563) begin
        if (_T_661) begin
          if (_T_569) begin
            _T_657 <= _T_568;
          end else begin
            _T_657 <= 10'h0;
          end
        end else begin
          _T_657 <= _T_660;
        end
      end
    end
    if (reset) begin
      _T_707 <= 32'h0;
    end else begin
      if (_T_721) begin
        _T_707 <= 32'h0;
      end else begin
        _T_707 <= _T_718;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54935.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@54936.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55005.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55006.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55022.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55023.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55029.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55030.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55036.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55037.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55044.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55045.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55051.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55052.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55059.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55060.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55068.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55069.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55076.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55077.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55094.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55095.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55101.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55102.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55108.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55109.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55116.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55117.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55123.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55124.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55131.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55132.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55139.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55140.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55148.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55149.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55156.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55157.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55177.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55178.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55184.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55185.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55191.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55192.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55199.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55200.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55207.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55208.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55215.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55216.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55236.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55237.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55243.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55244.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55250.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55251.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55258.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55259.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55266.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55267.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55287.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55288.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55294.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55295.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55301.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55302.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55309.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55310.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55319.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55320.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_277) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55340.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_277) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55341.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55347.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55348.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55354.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55355.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_287) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55362.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_287) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55363.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55370.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55371.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_277) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55391.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_277) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55392.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55398.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55399.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55405.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55406.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_316) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55413.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_316) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55414.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55421.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55422.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55442.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_184) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55443.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55449.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55450.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55456.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55457.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55464.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55465.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55472.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55473.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_353) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55483.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_353) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@55484.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_369) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55500.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_369) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55501.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_373) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55508.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_373) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55509.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55516.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55517.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_381) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55524.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_381) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55525.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55532.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_101) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55533.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_123 & _T_369) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55542.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_123 & _T_369) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55543.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_123 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55549.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_123 & _T_101) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55550.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_123 & _T_373) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55557.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_123 & _T_373) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55558.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55565.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55566.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55573.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55574.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_123 & _T_381) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55581.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_123 & _T_381) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55582.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55590.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55591.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_131 & _T_369) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55600.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_131 & _T_369) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55601.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_131 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55607.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_131 & _T_101) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55608.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_131 & _T_373) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55615.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_131 & _T_373) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55616.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55623.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55624.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55631.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55632.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_131 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55640.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_131 & _T_437) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55641.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55649.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55650.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_139 & _T_369) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55659.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_139 & _T_369) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55660.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55667.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55668.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_139 & _T_381) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55675.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_139 & _T_381) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55676.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55684.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55685.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_143 & _T_369) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55694.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_143 & _T_369) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55695.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55702.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55703.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_143 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55711.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_143 & _T_437) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55712.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55720.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55721.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_147 & _T_369) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55730.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_147 & _T_369) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55731.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55738.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55739.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_147 & _T_381) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55746.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_147 & _T_381) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55747.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55755.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55756.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55765.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55766.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55773.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55774.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55781.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55782.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_540 & _T_544) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55821.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_540 & _T_544) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55822.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_540 & _T_548) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55829.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_540 & _T_548) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55830.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_540 & _T_552) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55837.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_540 & _T_552) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55838.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_540 & _T_556) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55845.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_540 & _T_556) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55846.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_540 & _T_560) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55853.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_540 & _T_560) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55854.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_597 & _T_601) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55903.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_597 & _T_601) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55904.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55911.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55912.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_597 & _T_609) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55919.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_597 & _T_609) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55920.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_597 & _T_613) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55927.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_597 & _T_613) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55928.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55935.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55936.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55943.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@55944.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_672 & _T_680) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56021.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_672 & _T_680) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56022.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_688 & _T_695) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56044.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_688 & _T_695) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56045.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_702) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56056.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_702) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56057.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_716) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at PeripheryBus.scala:46:16)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56076.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_716) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56077.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Queue_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56089.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56090.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56091.4]
  output       io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56092.4]
  input        io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56092.4]
  input  [2:0] io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56092.4]
  input  [3:0] io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56092.4]
  input        io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56092.4]
  input        io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56092.4]
  output       io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56092.4]
  output [2:0] io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56092.4]
  output [3:0] io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56092.4]
  output       io_deq_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56092.4]
);
  reg [2:0] _T_35_opcode [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
  reg [31:0] _RAND_0;
  wire [2:0] _T_35_opcode__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
  wire  _T_35_opcode__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
  wire [2:0] _T_35_opcode__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
  wire  _T_35_opcode__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
  wire  _T_35_opcode__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
  wire  _T_35_opcode__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
  reg [3:0] _T_35_size [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
  reg [31:0] _RAND_1;
  wire [3:0] _T_35_size__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
  wire  _T_35_size__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
  wire [3:0] _T_35_size__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
  wire  _T_35_size__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
  wire  _T_35_size__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
  wire  _T_35_size__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
  reg  _T_35_source [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
  reg [31:0] _RAND_2;
  wire  _T_35_source__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
  wire  _T_35_source__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
  wire  _T_35_source__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
  wire  _T_35_source__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
  wire  _T_35_source__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
  wire  _T_35_source__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
  reg  _T_37; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@56095.4]
  reg [31:0] _RAND_3;
  wire  _T_39; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@56097.4]
  wire  _T_42; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56100.4]
  wire  _T_45; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56103.4]
  wire  _T_49; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@56119.4]
  assign _T_35_opcode__T_52_addr = 1'h0;
  assign _T_35_opcode__T_52_data = _T_35_opcode[_T_35_opcode__T_52_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
  assign _T_35_opcode__T_48_data = io_enq_bits_opcode;
  assign _T_35_opcode__T_48_addr = 1'h0;
  assign _T_35_opcode__T_48_mask = 1'h1;
  assign _T_35_opcode__T_48_en = io_enq_ready & io_enq_valid;
  assign _T_35_size__T_52_addr = 1'h0;
  assign _T_35_size__T_52_data = _T_35_size[_T_35_size__T_52_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
  assign _T_35_size__T_48_data = io_enq_bits_size;
  assign _T_35_size__T_48_addr = 1'h0;
  assign _T_35_size__T_48_mask = 1'h1;
  assign _T_35_size__T_48_en = io_enq_ready & io_enq_valid;
  assign _T_35_source__T_52_addr = 1'h0;
  assign _T_35_source__T_52_data = _T_35_source[_T_35_source__T_52_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
  assign _T_35_source__T_48_data = io_enq_bits_source;
  assign _T_35_source__T_48_addr = 1'h0;
  assign _T_35_source__T_48_mask = 1'h1;
  assign _T_35_source__T_48_en = io_enq_ready & io_enq_valid;
  assign _T_39 = _T_37 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@56097.4]
  assign _T_42 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56100.4]
  assign _T_45 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56103.4]
  assign _T_49 = _T_42 != _T_45; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@56119.4]
  assign io_enq_ready = _T_37 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@56126.4]
  assign io_deq_valid = _T_39 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@56124.4]
  assign io_deq_bits_opcode = _T_35_opcode__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@56135.4]
  assign io_deq_bits_size = _T_35_size__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@56133.4]
  assign io_deq_bits_source = _T_35_source__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@56132.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  _RAND_0 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    _T_35_opcode[initvar] = _RAND_0[2:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_1 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    _T_35_size[initvar] = _RAND_1[3:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_2 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    _T_35_source[initvar] = _RAND_2[0:0];
  `endif // RANDOMIZE_MEM_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_37 = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if(_T_35_opcode__T_48_en & _T_35_opcode__T_48_mask) begin
      _T_35_opcode[_T_35_opcode__T_48_addr] <= _T_35_opcode__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
    end
    if(_T_35_size__T_48_en & _T_35_size__T_48_mask) begin
      _T_35_size[_T_35_size__T_48_addr] <= _T_35_size__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
    end
    if(_T_35_source__T_48_en & _T_35_source__T_48_mask) begin
      _T_35_source[_T_35_source__T_48_addr] <= _T_35_source__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56094.4]
    end
    if (reset) begin
      _T_37 <= 1'h0;
    end else begin
      if (_T_49) begin
        _T_37 <= _T_42;
      end
    end
  end
endmodule
module TLError( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56143.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56144.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56145.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
  input  [13:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
  output        auto_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56146.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
  wire [13:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
  wire  a_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56191.4]
  wire  a_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56191.4]
  wire  a_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56191.4]
  wire  a_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56191.4]
  wire [2:0] a_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56191.4]
  wire [3:0] a_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56191.4]
  wire  a_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56191.4]
  wire  a_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56191.4]
  wire  a_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56191.4]
  wire [2:0] a_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56191.4]
  wire [3:0] a_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56191.4]
  wire  a_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56191.4]
  wire  _T_159; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56207.4]
  wire [26:0] _T_161; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@56209.4]
  wire [11:0] _T_162; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@56210.4]
  wire [11:0] _T_163; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@56211.4]
  wire [9:0] _T_164; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@56212.4]
  wire  _T_165; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56213.4]
  wire  _T_166; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56214.4]
  wire [9:0] _T_167; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56215.4]
  reg [9:0] _T_169; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56216.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_170; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56217.4]
  wire [10:0] _T_171; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56218.4]
  wire [9:0] _T_172; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56219.4]
  wire  _T_173; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56220.4]
  wire  _T_174; // @[Edges.scala 232:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56221.4]
  wire  _T_175; // @[Edges.scala 232:47:shc.marmotcaravel.MarmotCaravelConfig.fir@56222.4]
  wire  a_last; // @[Edges.scala 232:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56223.4]
  wire  da_valid; // @[Error.scala 30:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56267.4]
  wire  _T_180; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56231.4]
  wire [3:0] da_bits_size; // @[Error.scala 22:18:shc.marmotcaravel.MarmotCaravelConfig.fir@56204.4 Error.scala 34:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56282.4]
  wire [26:0] _T_182; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@56233.4]
  wire [11:0] _T_183; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@56234.4]
  wire [11:0] _T_184; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@56235.4]
  wire [9:0] _T_185; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@56236.4]
  wire [2:0] _GEN_4; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56280.4]
  wire [2:0] _GEN_5; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56280.4]
  wire [2:0] _GEN_6; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56280.4]
  wire [2:0] _GEN_7; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56280.4]
  wire [2:0] _GEN_8; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56280.4]
  wire [2:0] da_bits_opcode; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56280.4]
  wire  _T_186; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@56237.4]
  wire [9:0] _T_187; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56238.4]
  reg [9:0] _T_189; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56239.4]
  reg [31:0] _RAND_1;
  wire [10:0] _T_190; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56240.4]
  wire [10:0] _T_191; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56241.4]
  wire [9:0] _T_192; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56242.4]
  wire  da_first; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56243.4]
  wire  _T_193; // @[Edges.scala 232:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56244.4]
  wire  _T_194; // @[Edges.scala 232:47:shc.marmotcaravel.MarmotCaravelConfig.fir@56245.4]
  wire  da_last; // @[Edges.scala 232:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56246.4]
  wire  _T_203; // @[Error.scala 29:26:shc.marmotcaravel.MarmotCaravelConfig.fir@56262.4]
  wire  _T_205; // @[Error.scala 29:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56264.4]
  TLMonitor_30 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56153.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
  );
  Queue_4 a ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56191.4]
    .clock(a_clock),
    .reset(a_reset),
    .io_enq_ready(a_io_enq_ready),
    .io_enq_valid(a_io_enq_valid),
    .io_enq_bits_opcode(a_io_enq_bits_opcode),
    .io_enq_bits_size(a_io_enq_bits_size),
    .io_enq_bits_source(a_io_enq_bits_source),
    .io_deq_ready(a_io_deq_ready),
    .io_deq_valid(a_io_deq_valid),
    .io_deq_bits_opcode(a_io_deq_bits_opcode),
    .io_deq_bits_size(a_io_deq_bits_size),
    .io_deq_bits_source(a_io_deq_bits_source)
  );
  assign _T_159 = a_io_deq_ready & a_io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56207.4]
  assign _T_161 = 27'hfff << a_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@56209.4]
  assign _T_162 = _T_161[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@56210.4]
  assign _T_163 = ~ _T_162; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@56211.4]
  assign _T_164 = _T_163[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@56212.4]
  assign _T_165 = a_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56213.4]
  assign _T_166 = _T_165 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56214.4]
  assign _T_167 = _T_166 ? _T_164 : 10'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56215.4]
  assign _T_170 = _T_169 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56217.4]
  assign _T_171 = $unsigned(_T_170); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56218.4]
  assign _T_172 = _T_171[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56219.4]
  assign _T_173 = _T_169 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56220.4]
  assign _T_174 = _T_169 == 10'h1; // @[Edges.scala 232:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56221.4]
  assign _T_175 = _T_167 == 10'h0; // @[Edges.scala 232:47:shc.marmotcaravel.MarmotCaravelConfig.fir@56222.4]
  assign a_last = _T_174 | _T_175; // @[Edges.scala 232:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56223.4]
  assign da_valid = a_io_deq_valid & a_last; // @[Error.scala 30:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56267.4]
  assign _T_180 = auto_in_d_ready & da_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56231.4]
  assign da_bits_size = a_io_deq_bits_size; // @[Error.scala 22:18:shc.marmotcaravel.MarmotCaravelConfig.fir@56204.4 Error.scala 34:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56282.4]
  assign _T_182 = 27'hfff << da_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@56233.4]
  assign _T_183 = _T_182[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@56234.4]
  assign _T_184 = ~ _T_183; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@56235.4]
  assign _T_185 = _T_184[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@56236.4]
  assign _GEN_4 = 3'h2 == a_io_deq_bits_opcode ? 3'h1 : 3'h0; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56280.4]
  assign _GEN_5 = 3'h3 == a_io_deq_bits_opcode ? 3'h1 : _GEN_4; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56280.4]
  assign _GEN_6 = 3'h4 == a_io_deq_bits_opcode ? 3'h1 : _GEN_5; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56280.4]
  assign _GEN_7 = 3'h5 == a_io_deq_bits_opcode ? 3'h2 : _GEN_6; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56280.4]
  assign _GEN_8 = 3'h6 == a_io_deq_bits_opcode ? 3'h4 : _GEN_7; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56280.4]
  assign da_bits_opcode = 3'h7 == a_io_deq_bits_opcode ? 3'h4 : _GEN_8; // @[Error.scala 32:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56280.4]
  assign _T_186 = da_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@56237.4]
  assign _T_187 = _T_186 ? _T_185 : 10'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56238.4]
  assign _T_190 = _T_189 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56240.4]
  assign _T_191 = $unsigned(_T_190); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56241.4]
  assign _T_192 = _T_191[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56242.4]
  assign da_first = _T_189 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56243.4]
  assign _T_193 = _T_189 == 10'h1; // @[Edges.scala 232:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56244.4]
  assign _T_194 = _T_187 == 10'h0; // @[Edges.scala 232:47:shc.marmotcaravel.MarmotCaravelConfig.fir@56245.4]
  assign da_last = _T_193 | _T_194; // @[Edges.scala 232:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56246.4]
  assign _T_203 = auto_in_d_ready & da_last; // @[Error.scala 29:26:shc.marmotcaravel.MarmotCaravelConfig.fir@56262.4]
  assign _T_205 = a_last == 1'h0; // @[Error.scala 29:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56264.4]
  assign auto_in_a_ready = a_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56190.4]
  assign auto_in_d_valid = a_io_deq_valid & a_last; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56190.4]
  assign auto_in_d_bits_opcode = 3'h7 == a_io_deq_bits_opcode ? 3'h4 : _GEN_8; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56190.4]
  assign auto_in_d_bits_size = a_io_deq_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56190.4]
  assign auto_in_d_bits_source = a_io_deq_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56190.4]
  assign auto_in_d_bits_corrupt = da_bits_opcode[0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56190.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56155.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56156.4]
  assign TLMonitor_io_in_a_ready = a_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
  assign TLMonitor_io_in_d_valid = a_io_deq_valid & a_last; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
  assign TLMonitor_io_in_d_bits_opcode = 3'h7 == a_io_deq_bits_opcode ? 3'h4 : _GEN_8; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
  assign TLMonitor_io_in_d_bits_size = a_io_deq_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
  assign TLMonitor_io_in_d_bits_source = a_io_deq_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
  assign TLMonitor_io_in_d_bits_corrupt = da_bits_opcode[0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@56189.4]
  assign a_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56192.4]
  assign a_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56193.4]
  assign a_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@56194.4]
  assign a_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56202.4]
  assign a_io_enq_bits_size = auto_in_a_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56200.4]
  assign a_io_enq_bits_source = auto_in_a_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56199.4]
  assign a_io_deq_ready = _T_203 | _T_205; // @[Error.scala 29:13:shc.marmotcaravel.MarmotCaravelConfig.fir@56266.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_169 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_189 = _RAND_1[9:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_169 <= 10'h0;
    end else begin
      if (_T_159) begin
        if (_T_173) begin
          if (_T_166) begin
            _T_169 <= _T_164;
          end else begin
            _T_169 <= 10'h0;
          end
        end else begin
          _T_169 <= _T_172;
        end
      end
    end
    if (reset) begin
      _T_189 <= 10'h0;
    end else begin
      if (_T_180) begin
        if (da_first) begin
          if (_T_186) begin
            _T_189 <= _T_185;
          end else begin
            _T_189 <= 10'h0;
          end
        end else begin
          _T_189 <= _T_192;
        end
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Error.scala:28 assert (idle || da_first) // we only send Grant, never GrantData => simplified flow control below\n"); // @[Error.scala 28:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56259.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Error.scala 28:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56260.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SimpleLazyModule_11( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56293.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56294.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56295.4]
  output        auto_error_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
  input         auto_error_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
  input  [2:0]  auto_error_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
  input  [2:0]  auto_error_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
  input  [3:0]  auto_error_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
  input         auto_error_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
  input  [13:0] auto_error_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
  input  [3:0]  auto_error_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
  input         auto_error_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
  input         auto_error_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
  output        auto_error_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
  output [2:0]  auto_error_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
  output [3:0]  auto_error_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
  output        auto_error_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
  output        auto_error_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56296.4]
);
  wire  error_clock; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
  wire  error_reset; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
  wire  error_auto_in_a_ready; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
  wire  error_auto_in_a_valid; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
  wire [2:0] error_auto_in_a_bits_opcode; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
  wire [2:0] error_auto_in_a_bits_param; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
  wire [3:0] error_auto_in_a_bits_size; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
  wire  error_auto_in_a_bits_source; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
  wire [13:0] error_auto_in_a_bits_address; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
  wire [3:0] error_auto_in_a_bits_mask; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
  wire  error_auto_in_a_bits_corrupt; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
  wire  error_auto_in_d_ready; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
  wire  error_auto_in_d_valid; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
  wire [2:0] error_auto_in_d_bits_opcode; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
  wire [3:0] error_auto_in_d_bits_size; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
  wire  error_auto_in_d_bits_source; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
  wire  error_auto_in_d_bits_corrupt; // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
  TLError error ( // @[PeripheryBus.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56301.4]
    .clock(error_clock),
    .reset(error_reset),
    .auto_in_a_ready(error_auto_in_a_ready),
    .auto_in_a_valid(error_auto_in_a_valid),
    .auto_in_a_bits_opcode(error_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(error_auto_in_a_bits_param),
    .auto_in_a_bits_size(error_auto_in_a_bits_size),
    .auto_in_a_bits_source(error_auto_in_a_bits_source),
    .auto_in_a_bits_address(error_auto_in_a_bits_address),
    .auto_in_a_bits_mask(error_auto_in_a_bits_mask),
    .auto_in_a_bits_corrupt(error_auto_in_a_bits_corrupt),
    .auto_in_d_ready(error_auto_in_d_ready),
    .auto_in_d_valid(error_auto_in_d_valid),
    .auto_in_d_bits_opcode(error_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(error_auto_in_d_bits_size),
    .auto_in_d_bits_source(error_auto_in_d_bits_source),
    .auto_in_d_bits_corrupt(error_auto_in_d_bits_corrupt)
  );
  assign auto_error_in_a_ready = error_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
  assign auto_error_in_d_valid = error_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
  assign auto_error_in_d_bits_opcode = error_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
  assign auto_error_in_d_bits_size = error_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
  assign auto_error_in_d_bits_source = error_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
  assign auto_error_in_d_bits_corrupt = error_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
  assign error_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56305.4]
  assign error_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56306.4]
  assign error_auto_in_a_valid = auto_error_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
  assign error_auto_in_a_bits_opcode = auto_error_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
  assign error_auto_in_a_bits_param = auto_error_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
  assign error_auto_in_a_bits_size = auto_error_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
  assign error_auto_in_a_bits_source = auto_error_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
  assign error_auto_in_a_bits_address = auto_error_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
  assign error_auto_in_a_bits_mask = auto_error_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
  assign error_auto_in_a_bits_corrupt = auto_error_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
  assign error_auto_in_d_ready = auto_error_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56307.4]
endmodule
module TLMonitor_31( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56325.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56326.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56327.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
  input  [29:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@56328.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@57830.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@56344.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@56349.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@56351.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@56352.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@56353.6]
  wire [29:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@56354.6]
  wire [29:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@56354.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56355.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56357.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56358.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@56360.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56361.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@56362.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@56363.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@56364.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56366.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56367.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56369.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56370.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@56371.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@56372.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@56373.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56374.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56375.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56376.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56377.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56378.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56379.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56380.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56381.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56382.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56383.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56384.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56385.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@56386.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@56387.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@56388.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56413.6]
  wire [29:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56416.8]
  wire [30:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56417.8]
  wire [30:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56418.8]
  wire [30:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56419.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56420.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56421.8]
  wire [30:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56422.8]
  wire [30:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56423.8]
  wire [30:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56424.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56425.8]
  wire [29:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56426.8]
  wire [30:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56427.8]
  wire [30:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56428.8]
  wire [30:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56429.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56430.8]
  wire [29:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56431.8]
  wire [30:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56432.8]
  wire [30:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56433.8]
  wire [30:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56434.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56435.8]
  wire [29:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56436.8]
  wire [30:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56437.8]
  wire [30:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56438.8]
  wire [30:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56439.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56440.8]
  wire [29:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56441.8]
  wire [30:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56442.8]
  wire [30:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56443.8]
  wire [30:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56444.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56445.8]
  wire [29:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56446.8]
  wire [30:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56447.8]
  wire [30:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56448.8]
  wire [30:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56449.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56450.8]
  wire [29:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56451.8]
  wire [30:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56452.8]
  wire [30:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56453.8]
  wire [30:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56454.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56455.8]
  wire  _T_132; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56456.8]
  wire  _T_133; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56457.8]
  wire  _T_134; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56458.8]
  wire  _T_135; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56459.8]
  wire  _T_143; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56467.8]
  wire  _T_148; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56480.8]
  wire  _T_149; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56481.8]
  wire  _T_152; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56488.8]
  wire  _T_153; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56489.8]
  wire  _T_155; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56495.8]
  wire  _T_156; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56496.8]
  wire  _T_157; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56501.8]
  wire  _T_159; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56503.8]
  wire  _T_160; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56504.8]
  wire [3:0] _T_161; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@56509.8]
  wire  _T_162; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56510.8]
  wire  _T_164; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56512.8]
  wire  _T_165; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56513.8]
  wire  _T_166; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@56518.8]
  wire  _T_168; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56520.8]
  wire  _T_169; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56521.8]
  wire  _T_170; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56527.6]
  wire  _T_241; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56623.8]
  wire  _T_243; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56625.8]
  wire  _T_244; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56626.8]
  wire  _T_254; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56649.6]
  wire  _T_256; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56652.8]
  wire  _T_264; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@56660.8]
  wire  _T_266; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56662.8]
  wire  _T_304; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56700.8]
  wire  _T_305; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56701.8]
  wire  _T_306; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56702.8]
  wire  _T_307; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56703.8]
  wire  _T_308; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56704.8]
  wire  _T_309; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56705.8]
  wire  _T_310; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@56706.8]
  wire  _T_312; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@56708.8]
  wire  _T_314; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56710.8]
  wire  _T_315; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56711.8]
  wire  _T_322; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56730.8]
  wire  _T_324; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56732.8]
  wire  _T_325; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56733.8]
  wire  _T_326; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56738.8]
  wire  _T_328; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56740.8]
  wire  _T_329; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56741.8]
  wire  _T_334; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56755.6]
  wire  _T_382; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56804.8]
  wire  _T_383; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56805.8]
  wire  _T_384; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@56806.8]
  wire  _T_393; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@56815.8]
  wire  _T_396; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56818.8]
  wire  _T_397; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56819.8]
  wire  _T_412; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56855.6]
  wire [3:0] _T_486; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@56946.8]
  wire [3:0] _T_487; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56947.8]
  wire  _T_488; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56948.8]
  wire  _T_490; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56950.8]
  wire  _T_491; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56951.8]
  wire  _T_492; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56957.6]
  wire  _T_494; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56960.8]
  wire  _T_536; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57002.8]
  wire  _T_537; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57003.8]
  wire  _T_538; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@57004.8]
  wire  _T_549; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57015.8]
  wire  _T_550; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57016.8]
  wire  _T_557; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@57035.8]
  wire  _T_559; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57037.8]
  wire  _T_560; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57038.8]
  wire  _T_565; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57052.6]
  wire  _T_630; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@57130.8]
  wire  _T_632; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57132.8]
  wire  _T_633; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57133.8]
  wire  _T_638; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57147.6]
  wire  _T_695; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57205.8]
  wire  _T_696; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57206.8]
  wire  _T_711; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@57244.6]
  wire  _T_713; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57246.6]
  wire  _T_714; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57247.6]
  wire  _T_716; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@57253.6]
  wire  _T_725; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@57258.6]
  wire  _T_727; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57260.6]
  wire  _T_729; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57263.8]
  wire  _T_730; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57264.8]
  wire  _T_731; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57269.8]
  wire  _T_733; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57271.8]
  wire  _T_734; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57272.8]
  wire  _T_735; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57277.8]
  wire  _T_737; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57279.8]
  wire  _T_738; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57280.8]
  wire  _T_739; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@57285.8]
  wire  _T_741; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57287.8]
  wire  _T_742; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57288.8]
  wire  _T_743; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@57293.8]
  wire  _T_745; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57295.8]
  wire  _T_746; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57296.8]
  wire  _T_747; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57302.6]
  wire  _T_758; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@57326.8]
  wire  _T_760; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57328.8]
  wire  _T_761; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57329.8]
  wire  _T_762; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57334.8]
  wire  _T_764; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57336.8]
  wire  _T_765; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57337.8]
  wire  _T_775; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57360.6]
  wire  _T_795; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@57401.8]
  wire  _T_797; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57403.8]
  wire  _T_798; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57404.8]
  wire  _T_804; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57419.6]
  wire  _T_821; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57454.6]
  wire  _T_839; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57490.6]
  wire  _T_868; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57550.4]
  wire [9:0] _T_873; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@57555.4]
  wire  _T_874; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@57556.4]
  wire  _T_875; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57557.4]
  reg [9:0] _T_878; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57559.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_879; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57560.4]
  wire [10:0] _T_880; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57561.4]
  wire [9:0] _T_881; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57562.4]
  wire  _T_882; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57563.4]
  reg [2:0] _T_891; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57574.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_893; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57575.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_895; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57576.4]
  reg [31:0] _RAND_3;
  reg  _T_897; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57577.4]
  reg [31:0] _RAND_4;
  reg [29:0] _T_899; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57578.4]
  reg [31:0] _RAND_5;
  wire  _T_900; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57579.4]
  wire  _T_901; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@57580.4]
  wire  _T_902; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57582.6]
  wire  _T_904; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57584.6]
  wire  _T_905; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57585.6]
  wire  _T_906; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57590.6]
  wire  _T_908; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57592.6]
  wire  _T_909; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57593.6]
  wire  _T_910; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57598.6]
  wire  _T_912; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57600.6]
  wire  _T_913; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57601.6]
  wire  _T_914; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57606.6]
  wire  _T_916; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57608.6]
  wire  _T_917; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57609.6]
  wire  _T_918; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57614.6]
  wire  _T_920; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57616.6]
  wire  _T_921; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57617.6]
  wire  _T_923; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@57624.4]
  wire  _T_924; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57632.4]
  wire [26:0] _T_926; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@57634.4]
  wire [11:0] _T_927; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@57635.4]
  wire [11:0] _T_928; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@57636.4]
  wire [9:0] _T_929; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@57637.4]
  wire  _T_930; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@57638.4]
  reg [9:0] _T_933; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57640.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_934; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57641.4]
  wire [10:0] _T_935; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57642.4]
  wire [9:0] _T_936; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57643.4]
  wire  _T_937; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57644.4]
  reg [2:0] _T_946; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57655.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_948; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57656.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_950; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57657.4]
  reg [31:0] _RAND_9;
  reg  _T_952; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57658.4]
  reg [31:0] _RAND_10;
  reg  _T_954; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57659.4]
  reg [31:0] _RAND_11;
  reg  _T_956; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57660.4]
  reg [31:0] _RAND_12;
  wire  _T_957; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57661.4]
  wire  _T_958; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@57662.4]
  wire  _T_959; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57664.6]
  wire  _T_961; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57666.6]
  wire  _T_962; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57667.6]
  wire  _T_963; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57672.6]
  wire  _T_965; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57674.6]
  wire  _T_966; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57675.6]
  wire  _T_967; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57680.6]
  wire  _T_969; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57682.6]
  wire  _T_970; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57683.6]
  wire  _T_971; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57688.6]
  wire  _T_973; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57690.6]
  wire  _T_974; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57691.6]
  wire  _T_975; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57696.6]
  wire  _T_977; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57698.6]
  wire  _T_978; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57699.6]
  wire  _T_979; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57704.6]
  wire  _T_981; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57706.6]
  wire  _T_982; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57707.6]
  wire  _T_984; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@57714.4]
  reg [1:0] _T_986; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57723.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_997; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57733.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_998; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57734.4]
  wire [10:0] _T_999; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57735.4]
  wire [9:0] _T_1000; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57736.4]
  wire  _T_1001; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57737.4]
  reg [9:0] _T_1018; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57756.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1019; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57757.4]
  wire [10:0] _T_1020; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57758.4]
  wire [9:0] _T_1021; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57759.4]
  wire  _T_1022; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57760.4]
  wire  _T_1033; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57775.4]
  wire [1:0] _T_1035; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@57778.6]
  wire [1:0] _T_1036; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@57780.6]
  wire  _T_1037; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@57781.6]
  wire  _T_1038; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57782.6]
  wire  _T_1040; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57784.6]
  wire  _T_1041; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57785.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@57777.4]
  wire  _T_1046; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57796.4]
  wire  _T_1048; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@57798.4]
  wire  _T_1049; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@57799.4]
  wire [1:0] _T_1050; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@57801.6]
  wire [1:0] _T_1051; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57803.6]
  wire [1:0] _T_1052; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@57804.6]
  wire  _T_1053; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@57805.6]
  wire  _T_1055; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57807.6]
  wire  _T_1056; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57808.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@57800.4]
  wire  _T_1057; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@57814.4]
  wire  _T_1058; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@57815.4]
  wire  _T_1059; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@57816.4]
  wire  _T_1060; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@57817.4]
  wire  _T_1062; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57819.4]
  wire  _T_1063; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57820.4]
  wire [1:0] _T_1064; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57825.4]
  wire [1:0] _T_1065; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@57826.4]
  wire [1:0] _T_1066; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@57827.4]
  reg [31:0] _T_1068; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57829.4]
  reg [31:0] _RAND_16;
  wire  _T_1069; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@57832.4]
  wire  _T_1070; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57833.4]
  wire  _T_1071; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@57834.4]
  wire  _T_1072; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57835.4]
  wire  _T_1073; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@57836.4]
  wire  _T_1074; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@57837.4]
  wire  _T_1076; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57839.4]
  wire  _T_1077; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57840.4]
  wire [31:0] _T_1079; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@57846.4]
  wire  _T_1082; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57850.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56469.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56583.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56713.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56821.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56921.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57018.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57113.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57208.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57266.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57308.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57366.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57425.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57460.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57496.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@57830.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@56344.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@56349.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@56351.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@56352.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@56353.6]
  assign _GEN_18 = {{18'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@56354.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@56354.6]
  assign _T_36 = _T_35 == 30'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@56355.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56357.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56358.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@56360.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@56361.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@56362.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@56363.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@56364.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56366.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56367.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56369.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56370.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@56371.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@56372.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@56373.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56374.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56375.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56376.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56377.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56378.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56379.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56380.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56381.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56382.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56383.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@56384.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@56385.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@56386.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@56387.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@56388.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56413.6]
  assign _T_92 = io_in_a_bits_address ^ 30'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56416.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56417.8]
  assign _T_94 = $signed(_T_93) & $signed(-31'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56418.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56419.8]
  assign _T_96 = $signed(_T_95) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56420.8]
  assign _T_97 = io_in_a_bits_address ^ 30'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56421.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56422.8]
  assign _T_99 = $signed(_T_98) & $signed(-31'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56423.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56424.8]
  assign _T_101 = $signed(_T_100) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56425.8]
  assign _T_102 = io_in_a_bits_address ^ 30'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56426.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56427.8]
  assign _T_104 = $signed(_T_103) & $signed(-31'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56428.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56429.8]
  assign _T_106 = $signed(_T_105) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56430.8]
  assign _T_107 = io_in_a_bits_address ^ 30'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56431.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56432.8]
  assign _T_109 = $signed(_T_108) & $signed(-31'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56433.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56434.8]
  assign _T_111 = $signed(_T_110) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56435.8]
  assign _T_112 = io_in_a_bits_address ^ 30'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56436.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56437.8]
  assign _T_114 = $signed(_T_113) & $signed(-31'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56438.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56439.8]
  assign _T_116 = $signed(_T_115) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56440.8]
  assign _T_117 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56441.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56442.8]
  assign _T_119 = $signed(_T_118) & $signed(-31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56443.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56444.8]
  assign _T_121 = $signed(_T_120) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56445.8]
  assign _T_122 = io_in_a_bits_address ^ 30'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56446.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56447.8]
  assign _T_124 = $signed(_T_123) & $signed(-31'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56448.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56449.8]
  assign _T_126 = $signed(_T_125) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56450.8]
  assign _T_127 = io_in_a_bits_address ^ 30'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@56451.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@56452.8]
  assign _T_129 = $signed(_T_128) & $signed(-31'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56453.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@56454.8]
  assign _T_131 = $signed(_T_130) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@56455.8]
  assign _T_132 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56456.8]
  assign _T_133 = _T_132 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56457.8]
  assign _T_134 = _T_133 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56458.8]
  assign _T_135 = _T_134 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56459.8]
  assign _T_143 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56467.8]
  assign _T_148 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56480.8]
  assign _T_149 = _T_148 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56481.8]
  assign _T_152 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56488.8]
  assign _T_153 = _T_152 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56489.8]
  assign _T_155 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56495.8]
  assign _T_156 = _T_155 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56496.8]
  assign _T_157 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56501.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56503.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56504.8]
  assign _T_161 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@56509.8]
  assign _T_162 = _T_161 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56510.8]
  assign _T_164 = _T_162 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56512.8]
  assign _T_165 = _T_164 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56513.8]
  assign _T_166 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@56518.8]
  assign _T_168 = _T_166 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56520.8]
  assign _T_169 = _T_168 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56521.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56527.6]
  assign _T_241 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56623.8]
  assign _T_243 = _T_241 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56625.8]
  assign _T_244 = _T_243 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56626.8]
  assign _T_254 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56649.6]
  assign _T_256 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56652.8]
  assign _T_264 = _T_256 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@56660.8]
  assign _T_266 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56662.8]
  assign _T_304 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56700.8]
  assign _T_305 = _T_304 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56701.8]
  assign _T_306 = _T_305 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56702.8]
  assign _T_307 = _T_306 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56703.8]
  assign _T_308 = _T_307 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56704.8]
  assign _T_309 = _T_308 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56705.8]
  assign _T_310 = _T_266 & _T_309; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@56706.8]
  assign _T_312 = _T_264 | _T_310; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@56708.8]
  assign _T_314 = _T_312 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56710.8]
  assign _T_315 = _T_314 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56711.8]
  assign _T_322 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56730.8]
  assign _T_324 = _T_322 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56732.8]
  assign _T_325 = _T_324 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56733.8]
  assign _T_326 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@56738.8]
  assign _T_328 = _T_326 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56740.8]
  assign _T_329 = _T_328 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56741.8]
  assign _T_334 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56755.6]
  assign _T_382 = _T_306 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56804.8]
  assign _T_383 = _T_382 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56805.8]
  assign _T_384 = _T_266 & _T_383; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@56806.8]
  assign _T_393 = _T_264 | _T_384; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@56815.8]
  assign _T_396 = _T_393 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56818.8]
  assign _T_397 = _T_396 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56819.8]
  assign _T_412 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56855.6]
  assign _T_486 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@56946.8]
  assign _T_487 = io_in_a_bits_mask & _T_486; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@56947.8]
  assign _T_488 = _T_487 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@56948.8]
  assign _T_490 = _T_488 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56950.8]
  assign _T_491 = _T_490 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56951.8]
  assign _T_492 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@56957.6]
  assign _T_494 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@56960.8]
  assign _T_536 = _T_135 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57002.8]
  assign _T_537 = _T_536 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@57003.8]
  assign _T_538 = _T_494 & _T_537; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@57004.8]
  assign _T_549 = _T_538 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57015.8]
  assign _T_550 = _T_549 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57016.8]
  assign _T_557 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@57035.8]
  assign _T_559 = _T_557 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57037.8]
  assign _T_560 = _T_559 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57038.8]
  assign _T_565 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57052.6]
  assign _T_630 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@57130.8]
  assign _T_632 = _T_630 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57132.8]
  assign _T_633 = _T_632 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57133.8]
  assign _T_638 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57147.6]
  assign _T_695 = _T_264 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57205.8]
  assign _T_696 = _T_695 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57206.8]
  assign _T_711 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@57244.6]
  assign _T_713 = _T_711 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57246.6]
  assign _T_714 = _T_713 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57247.6]
  assign _T_716 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@57253.6]
  assign _T_725 = io_in_d_bits_source | _T_716; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@57258.6]
  assign _T_727 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57260.6]
  assign _T_729 = _T_725 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57263.8]
  assign _T_730 = _T_729 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57264.8]
  assign _T_731 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57269.8]
  assign _T_733 = _T_731 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57271.8]
  assign _T_734 = _T_733 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57272.8]
  assign _T_735 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57277.8]
  assign _T_737 = _T_735 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57279.8]
  assign _T_738 = _T_737 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57280.8]
  assign _T_739 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@57285.8]
  assign _T_741 = _T_739 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57287.8]
  assign _T_742 = _T_741 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57288.8]
  assign _T_743 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@57293.8]
  assign _T_745 = _T_743 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57295.8]
  assign _T_746 = _T_745 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57296.8]
  assign _T_747 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57302.6]
  assign _T_758 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@57326.8]
  assign _T_760 = _T_758 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57328.8]
  assign _T_761 = _T_760 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57329.8]
  assign _T_762 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57334.8]
  assign _T_764 = _T_762 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57336.8]
  assign _T_765 = _T_764 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57337.8]
  assign _T_775 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57360.6]
  assign _T_795 = _T_743 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@57401.8]
  assign _T_797 = _T_795 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57403.8]
  assign _T_798 = _T_797 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57404.8]
  assign _T_804 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57419.6]
  assign _T_821 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57454.6]
  assign _T_839 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57490.6]
  assign _T_868 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57550.4]
  assign _T_873 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@57555.4]
  assign _T_874 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@57556.4]
  assign _T_875 = _T_874 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57557.4]
  assign _T_879 = _T_878 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57560.4]
  assign _T_880 = $unsigned(_T_879); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57561.4]
  assign _T_881 = _T_880[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57562.4]
  assign _T_882 = _T_878 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57563.4]
  assign _T_900 = _T_882 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57579.4]
  assign _T_901 = io_in_a_valid & _T_900; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@57580.4]
  assign _T_902 = io_in_a_bits_opcode == _T_891; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57582.6]
  assign _T_904 = _T_902 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57584.6]
  assign _T_905 = _T_904 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57585.6]
  assign _T_906 = io_in_a_bits_param == _T_893; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57590.6]
  assign _T_908 = _T_906 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57592.6]
  assign _T_909 = _T_908 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57593.6]
  assign _T_910 = io_in_a_bits_size == _T_895; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57598.6]
  assign _T_912 = _T_910 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57600.6]
  assign _T_913 = _T_912 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57601.6]
  assign _T_914 = io_in_a_bits_source == _T_897; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57606.6]
  assign _T_916 = _T_914 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57608.6]
  assign _T_917 = _T_916 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57609.6]
  assign _T_918 = io_in_a_bits_address == _T_899; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57614.6]
  assign _T_920 = _T_918 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57616.6]
  assign _T_921 = _T_920 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57617.6]
  assign _T_923 = _T_868 & _T_882; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@57624.4]
  assign _T_924 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57632.4]
  assign _T_926 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@57634.4]
  assign _T_927 = _T_926[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@57635.4]
  assign _T_928 = ~ _T_927; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@57636.4]
  assign _T_929 = _T_928[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@57637.4]
  assign _T_930 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@57638.4]
  assign _T_934 = _T_933 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57641.4]
  assign _T_935 = $unsigned(_T_934); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57642.4]
  assign _T_936 = _T_935[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57643.4]
  assign _T_937 = _T_933 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57644.4]
  assign _T_957 = _T_937 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@57661.4]
  assign _T_958 = io_in_d_valid & _T_957; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@57662.4]
  assign _T_959 = io_in_d_bits_opcode == _T_946; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57664.6]
  assign _T_961 = _T_959 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57666.6]
  assign _T_962 = _T_961 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57667.6]
  assign _T_963 = io_in_d_bits_param == _T_948; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57672.6]
  assign _T_965 = _T_963 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57674.6]
  assign _T_966 = _T_965 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57675.6]
  assign _T_967 = io_in_d_bits_size == _T_950; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57680.6]
  assign _T_969 = _T_967 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57682.6]
  assign _T_970 = _T_969 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57683.6]
  assign _T_971 = io_in_d_bits_source == _T_952; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57688.6]
  assign _T_973 = _T_971 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57690.6]
  assign _T_974 = _T_973 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57691.6]
  assign _T_975 = io_in_d_bits_sink == _T_954; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57696.6]
  assign _T_977 = _T_975 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57698.6]
  assign _T_978 = _T_977 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57699.6]
  assign _T_979 = io_in_d_bits_denied == _T_956; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@57704.6]
  assign _T_981 = _T_979 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57706.6]
  assign _T_982 = _T_981 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57707.6]
  assign _T_984 = _T_924 & _T_937; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@57714.4]
  assign _T_998 = _T_997 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57734.4]
  assign _T_999 = $unsigned(_T_998); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57735.4]
  assign _T_1000 = _T_999[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57736.4]
  assign _T_1001 = _T_997 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57737.4]
  assign _T_1019 = _T_1018 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57757.4]
  assign _T_1020 = $unsigned(_T_1019); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57758.4]
  assign _T_1021 = _T_1020[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@57759.4]
  assign _T_1022 = _T_1018 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57760.4]
  assign _T_1033 = _T_868 & _T_1001; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57775.4]
  assign _T_1035 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@57778.6]
  assign _T_1036 = _T_986 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@57780.6]
  assign _T_1037 = _T_1036[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@57781.6]
  assign _T_1038 = _T_1037 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57782.6]
  assign _T_1040 = _T_1038 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57784.6]
  assign _T_1041 = _T_1040 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57785.6]
  assign _GEN_15 = _T_1033 ? _T_1035 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@57777.4]
  assign _T_1046 = _T_924 & _T_1022; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57796.4]
  assign _T_1048 = _T_727 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@57798.4]
  assign _T_1049 = _T_1046 & _T_1048; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@57799.4]
  assign _T_1050 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@57801.6]
  assign _T_1051 = _GEN_15 | _T_986; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@57803.6]
  assign _T_1052 = _T_1051 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@57804.6]
  assign _T_1053 = _T_1052[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@57805.6]
  assign _T_1055 = _T_1053 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57807.6]
  assign _T_1056 = _T_1055 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57808.6]
  assign _GEN_16 = _T_1049 ? _T_1050 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@57800.4]
  assign _T_1057 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@57814.4]
  assign _T_1058 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@57815.4]
  assign _T_1059 = _T_1058 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@57816.4]
  assign _T_1060 = _T_1057 | _T_1059; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@57817.4]
  assign _T_1062 = _T_1060 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57819.4]
  assign _T_1063 = _T_1062 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57820.4]
  assign _T_1064 = _T_986 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57825.4]
  assign _T_1065 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@57826.4]
  assign _T_1066 = _T_1064 & _T_1065; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@57827.4]
  assign _T_1069 = _T_986 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@57832.4]
  assign _T_1070 = _T_1069 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57833.4]
  assign _T_1071 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@57834.4]
  assign _T_1072 = _T_1070 | _T_1071; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57835.4]
  assign _T_1073 = _T_1068 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@57836.4]
  assign _T_1074 = _T_1072 | _T_1073; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@57837.4]
  assign _T_1076 = _T_1074 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57839.4]
  assign _T_1077 = _T_1076 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57840.4]
  assign _T_1079 = _T_1068 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@57846.4]
  assign _T_1082 = _T_868 | _T_924; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@57850.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56469.10]
  assign _GEN_35 = io_in_a_valid & _T_170; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56583.10]
  assign _GEN_53 = io_in_a_valid & _T_254; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56713.10]
  assign _GEN_65 = io_in_a_valid & _T_334; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56821.10]
  assign _GEN_75 = io_in_a_valid & _T_412; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56921.10]
  assign _GEN_85 = io_in_a_valid & _T_492; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57018.10]
  assign _GEN_95 = io_in_a_valid & _T_565; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57113.10]
  assign _GEN_105 = io_in_a_valid & _T_638; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57208.10]
  assign _GEN_115 = io_in_d_valid & _T_727; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57266.10]
  assign _GEN_125 = io_in_d_valid & _T_747; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57308.10]
  assign _GEN_137 = io_in_d_valid & _T_775; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57366.10]
  assign _GEN_149 = io_in_d_valid & _T_804; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57425.10]
  assign _GEN_155 = io_in_d_valid & _T_821; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57460.10]
  assign _GEN_161 = io_in_d_valid & _T_839; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57496.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_878 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_891 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_893 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_895 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_897 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_899 = _RAND_5[29:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_933 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_946 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_948 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_950 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_952 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_954 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_956 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_986 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_997 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1018 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1068 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_878 <= 10'h0;
    end else begin
      if (_T_868) begin
        if (_T_882) begin
          if (_T_875) begin
            _T_878 <= _T_873;
          end else begin
            _T_878 <= 10'h0;
          end
        end else begin
          _T_878 <= _T_881;
        end
      end
    end
    if (_T_923) begin
      _T_891 <= io_in_a_bits_opcode;
    end
    if (_T_923) begin
      _T_893 <= io_in_a_bits_param;
    end
    if (_T_923) begin
      _T_895 <= io_in_a_bits_size;
    end
    if (_T_923) begin
      _T_897 <= io_in_a_bits_source;
    end
    if (_T_923) begin
      _T_899 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_933 <= 10'h0;
    end else begin
      if (_T_924) begin
        if (_T_937) begin
          if (_T_930) begin
            _T_933 <= _T_929;
          end else begin
            _T_933 <= 10'h0;
          end
        end else begin
          _T_933 <= _T_936;
        end
      end
    end
    if (_T_984) begin
      _T_946 <= io_in_d_bits_opcode;
    end
    if (_T_984) begin
      _T_948 <= io_in_d_bits_param;
    end
    if (_T_984) begin
      _T_950 <= io_in_d_bits_size;
    end
    if (_T_984) begin
      _T_952 <= io_in_d_bits_source;
    end
    if (_T_984) begin
      _T_954 <= io_in_d_bits_sink;
    end
    if (_T_984) begin
      _T_956 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_986 <= 2'h0;
    end else begin
      _T_986 <= _T_1066;
    end
    if (reset) begin
      _T_997 <= 10'h0;
    end else begin
      if (_T_868) begin
        if (_T_1001) begin
          if (_T_875) begin
            _T_997 <= _T_873;
          end else begin
            _T_997 <= 10'h0;
          end
        end else begin
          _T_997 <= _T_1000;
        end
      end
    end
    if (reset) begin
      _T_1018 <= 10'h0;
    end else begin
      if (_T_924) begin
        if (_T_1022) begin
          if (_T_930) begin
            _T_1018 <= _T_929;
          end else begin
            _T_1018 <= 10'h0;
          end
        end else begin
          _T_1018 <= _T_1021;
        end
      end
    end
    if (reset) begin
      _T_1068 <= 32'h0;
    end else begin
      if (_T_1082) begin
        _T_1068 <= 32'h0;
      end else begin
        _T_1068 <= _T_1079;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56340.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56341.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56410.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@56411.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56469.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_143) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56470.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56476.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_143) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56477.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56483.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_149) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56484.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_153) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56491.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_153) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56492.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56498.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_156) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56499.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56506.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_160) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56507.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_165) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56515.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_165) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56516.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_169) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56523.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_169) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56524.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56583.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_143) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56584.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56590.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_143) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56591.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56597.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_149) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56598.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_153) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56605.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_153) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56606.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56612.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_156) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56613.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56620.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56621.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_244) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56628.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_244) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56629.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_165) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56637.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_165) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56638.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_169) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56645.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_169) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56646.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_315) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56713.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_315) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56714.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56720.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_149) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56721.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56727.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_156) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56728.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_325) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56735.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_325) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56736.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56743.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_329) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56744.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_169) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56751.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_169) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56752.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_397) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56821.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_397) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56822.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56828.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_149) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56829.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56835.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_156) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56836.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_325) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56843.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_325) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56844.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56851.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_329) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56852.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_397) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56921.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_397) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56922.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56928.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_149) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56929.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56935.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_156) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56936.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_325) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56943.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_325) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56944.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_491) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56953.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_491) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@56954.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_550) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57018.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_550) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57019.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57025.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_149) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57026.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57032.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_156) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57033.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_560) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57040.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_560) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57041.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57048.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_329) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57049.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_550) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57113.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_550) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57114.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57120.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_149) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57121.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57127.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_156) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57128.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_633) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57135.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_633) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57136.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57143.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_329) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57144.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_696) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57208.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_696) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57209.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_149) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57215.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_149) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57216.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_156) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57222.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_156) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57223.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57230.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_329) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57231.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_169) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57238.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_169) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57239.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_714) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57249.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_714) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57250.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57266.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_730) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57267.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_734) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57274.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_734) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57275.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_738) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57282.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_738) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57283.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_742) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57290.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_742) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57291.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_746) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57298.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_746) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57299.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57308.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_730) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57309.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57315.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_143) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57316.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_734) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57323.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_734) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57324.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_761) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57331.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_761) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57332.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_765) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57339.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_765) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57340.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_742) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57347.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_742) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57348.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57356.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57357.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57366.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_730) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57367.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_143) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57373.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_143) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57374.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_734) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57381.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_734) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57382.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_761) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57389.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_761) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57390.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_765) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57397.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_765) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57398.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_798) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57406.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_798) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57407.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57415.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57416.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57425.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_730) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57426.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_738) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57433.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_738) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57434.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_742) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57441.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_742) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57442.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57450.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57451.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57460.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_730) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57461.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_738) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57468.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_738) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57469.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_798) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57477.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_798) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57478.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57486.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57487.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_730) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57496.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_730) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57497.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_738) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57504.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_738) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57505.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_742) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57512.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_742) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57513.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57521.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57522.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57531.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57532.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57539.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57540.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57547.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57548.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_905) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57587.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_905) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57588.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_909) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57595.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_909) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57596.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_913) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57603.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_913) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57604.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_917) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57611.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_917) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57612.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_901 & _T_921) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57619.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_901 & _T_921) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57620.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_962) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57669.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_962) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57670.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_966) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57677.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_966) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57678.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_970) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57685.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_970) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57686.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_974) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57693.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_974) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57694.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_978) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57701.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_978) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57702.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_958 & _T_982) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57709.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_958 & _T_982) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@57710.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1033 & _T_1041) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57787.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1033 & _T_1041) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57788.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1049 & _T_1056) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57810.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1049 & _T_1056) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57811.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1063) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 4 (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57822.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1063) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@57823.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1077) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57842.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1077) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@57843.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_11( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57983.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57984.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57985.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  input  [29:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  output [29:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57986.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
  wire [29:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
  wire  Queue_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
  wire  Queue_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
  wire  Queue_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
  wire  Queue_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
  wire [2:0] Queue_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
  wire [2:0] Queue_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
  wire [3:0] Queue_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
  wire  Queue_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
  wire [29:0] Queue_io_enq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
  wire [3:0] Queue_io_enq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
  wire [31:0] Queue_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
  wire  Queue_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
  wire  Queue_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
  wire  Queue_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
  wire [2:0] Queue_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
  wire [2:0] Queue_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
  wire [3:0] Queue_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
  wire  Queue_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
  wire [29:0] Queue_io_deq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
  wire [3:0] Queue_io_deq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
  wire [31:0] Queue_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
  wire  Queue_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
  wire  Queue_1_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
  wire  Queue_1_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
  wire  Queue_1_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
  wire  Queue_1_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
  wire [2:0] Queue_1_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
  wire [1:0] Queue_1_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
  wire [3:0] Queue_1_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
  wire  Queue_1_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
  wire  Queue_1_io_enq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
  wire  Queue_1_io_enq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
  wire [31:0] Queue_1_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
  wire  Queue_1_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
  wire  Queue_1_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
  wire  Queue_1_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
  wire [2:0] Queue_1_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
  wire [1:0] Queue_1_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
  wire [3:0] Queue_1_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
  wire  Queue_1_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
  wire  Queue_1_io_deq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
  wire  Queue_1_io_deq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
  wire [31:0] Queue_1_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
  wire  Queue_1_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
  TLMonitor_31 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@57993.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
  );
  Queue_2 Queue ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58034.4]
    .clock(Queue_clock),
    .reset(Queue_reset),
    .io_enq_ready(Queue_io_enq_ready),
    .io_enq_valid(Queue_io_enq_valid),
    .io_enq_bits_opcode(Queue_io_enq_bits_opcode),
    .io_enq_bits_param(Queue_io_enq_bits_param),
    .io_enq_bits_size(Queue_io_enq_bits_size),
    .io_enq_bits_source(Queue_io_enq_bits_source),
    .io_enq_bits_address(Queue_io_enq_bits_address),
    .io_enq_bits_mask(Queue_io_enq_bits_mask),
    .io_enq_bits_data(Queue_io_enq_bits_data),
    .io_enq_bits_corrupt(Queue_io_enq_bits_corrupt),
    .io_deq_ready(Queue_io_deq_ready),
    .io_deq_valid(Queue_io_deq_valid),
    .io_deq_bits_opcode(Queue_io_deq_bits_opcode),
    .io_deq_bits_param(Queue_io_deq_bits_param),
    .io_deq_bits_size(Queue_io_deq_bits_size),
    .io_deq_bits_source(Queue_io_deq_bits_source),
    .io_deq_bits_address(Queue_io_deq_bits_address),
    .io_deq_bits_mask(Queue_io_deq_bits_mask),
    .io_deq_bits_data(Queue_io_deq_bits_data),
    .io_deq_bits_corrupt(Queue_io_deq_bits_corrupt)
  );
  Queue_1 Queue_1 ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58048.4]
    .clock(Queue_1_clock),
    .reset(Queue_1_reset),
    .io_enq_ready(Queue_1_io_enq_ready),
    .io_enq_valid(Queue_1_io_enq_valid),
    .io_enq_bits_opcode(Queue_1_io_enq_bits_opcode),
    .io_enq_bits_param(Queue_1_io_enq_bits_param),
    .io_enq_bits_size(Queue_1_io_enq_bits_size),
    .io_enq_bits_source(Queue_1_io_enq_bits_source),
    .io_enq_bits_sink(Queue_1_io_enq_bits_sink),
    .io_enq_bits_denied(Queue_1_io_enq_bits_denied),
    .io_enq_bits_data(Queue_1_io_enq_bits_data),
    .io_enq_bits_corrupt(Queue_1_io_enq_bits_corrupt),
    .io_deq_ready(Queue_1_io_deq_ready),
    .io_deq_valid(Queue_1_io_deq_valid),
    .io_deq_bits_opcode(Queue_1_io_deq_bits_opcode),
    .io_deq_bits_param(Queue_1_io_deq_bits_param),
    .io_deq_bits_size(Queue_1_io_deq_bits_size),
    .io_deq_bits_source(Queue_1_io_deq_bits_source),
    .io_deq_bits_sink(Queue_1_io_deq_bits_sink),
    .io_deq_bits_denied(Queue_1_io_deq_bits_denied),
    .io_deq_bits_data(Queue_1_io_deq_bits_data),
    .io_deq_bits_corrupt(Queue_1_io_deq_bits_corrupt)
  );
  assign auto_in_a_ready = Queue_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@58033.4]
  assign auto_in_d_valid = Queue_1_io_deq_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@58033.4]
  assign auto_in_d_bits_opcode = Queue_1_io_deq_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@58033.4]
  assign auto_in_d_bits_param = Queue_1_io_deq_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@58033.4]
  assign auto_in_d_bits_size = Queue_1_io_deq_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@58033.4]
  assign auto_in_d_bits_source = Queue_1_io_deq_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@58033.4]
  assign auto_in_d_bits_sink = Queue_1_io_deq_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@58033.4]
  assign auto_in_d_bits_denied = Queue_1_io_deq_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@58033.4]
  assign auto_in_d_bits_data = Queue_1_io_deq_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@58033.4]
  assign auto_in_d_bits_corrupt = Queue_1_io_deq_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@58033.4]
  assign auto_out_a_valid = Queue_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58032.4]
  assign auto_out_a_bits_opcode = Queue_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58032.4]
  assign auto_out_a_bits_param = Queue_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58032.4]
  assign auto_out_a_bits_size = Queue_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58032.4]
  assign auto_out_a_bits_source = Queue_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58032.4]
  assign auto_out_a_bits_address = Queue_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58032.4]
  assign auto_out_a_bits_mask = Queue_io_deq_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58032.4]
  assign auto_out_a_bits_data = Queue_io_deq_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58032.4]
  assign auto_out_a_bits_corrupt = Queue_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58032.4]
  assign auto_out_d_ready = Queue_1_io_enq_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58032.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57995.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@57996.4]
  assign TLMonitor_io_in_a_ready = Queue_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
  assign TLMonitor_io_in_d_valid = Queue_1_io_deq_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
  assign TLMonitor_io_in_d_bits_opcode = Queue_1_io_deq_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
  assign TLMonitor_io_in_d_bits_param = Queue_1_io_deq_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
  assign TLMonitor_io_in_d_bits_size = Queue_1_io_deq_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
  assign TLMonitor_io_in_d_bits_source = Queue_1_io_deq_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
  assign TLMonitor_io_in_d_bits_sink = Queue_1_io_deq_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
  assign TLMonitor_io_in_d_bits_denied = Queue_1_io_deq_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
  assign TLMonitor_io_in_d_bits_corrupt = Queue_1_io_deq_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58029.4]
  assign Queue_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58035.4]
  assign Queue_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58036.4]
  assign Queue_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58037.4]
  assign Queue_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58045.4]
  assign Queue_io_enq_bits_param = auto_in_a_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58044.4]
  assign Queue_io_enq_bits_size = auto_in_a_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58043.4]
  assign Queue_io_enq_bits_source = auto_in_a_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58042.4]
  assign Queue_io_enq_bits_address = auto_in_a_bits_address; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58041.4]
  assign Queue_io_enq_bits_mask = auto_in_a_bits_mask; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58040.4]
  assign Queue_io_enq_bits_data = auto_in_a_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58039.4]
  assign Queue_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58038.4]
  assign Queue_io_deq_ready = auto_out_a_ready; // @[Buffer.scala 38:13:shc.marmotcaravel.MarmotCaravelConfig.fir@58047.4]
  assign Queue_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58049.4]
  assign Queue_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58050.4]
  assign Queue_1_io_enq_valid = auto_out_d_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58051.4]
  assign Queue_1_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58059.4]
  assign Queue_1_io_enq_bits_param = auto_out_d_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58058.4]
  assign Queue_1_io_enq_bits_size = auto_out_d_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58057.4]
  assign Queue_1_io_enq_bits_source = auto_out_d_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58056.4]
  assign Queue_1_io_enq_bits_sink = auto_out_d_bits_sink; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58055.4]
  assign Queue_1_io_enq_bits_denied = auto_out_d_bits_denied; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58054.4]
  assign Queue_1_io_enq_bits_data = auto_out_d_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58053.4]
  assign Queue_1_io_enq_bits_corrupt = auto_out_d_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58052.4]
  assign Queue_1_io_deq_ready = auto_in_d_ready; // @[Buffer.scala 39:13:shc.marmotcaravel.MarmotCaravelConfig.fir@58061.4]
endmodule
module TLMonitor_32( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58076.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58077.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58078.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@58079.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@59200.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@58095.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@58100.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@58102.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@58103.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@58104.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@58105.6]
  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@58105.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@58106.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58108.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58109.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@58111.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58112.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@58113.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@58114.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@58115.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@58117.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58118.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@58120.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58121.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@58122.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@58123.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@58124.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58125.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@58126.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58127.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58128.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@58129.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58130.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58131.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@58132.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58133.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58134.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@58135.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58136.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@58137.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@58138.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@58139.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58164.6]
  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@58167.8]
  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58168.8]
  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@58169.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@58170.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@58171.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58176.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58189.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58190.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58197.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58198.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58204.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58205.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58210.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58212.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58213.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@58218.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58219.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58221.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58222.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@58227.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58229.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58230.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58236.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58290.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58292.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58293.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58316.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@58319.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@58327.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58330.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58331.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58350.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58352.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58353.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58358.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58360.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58361.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58375.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58426.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@58468.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58469.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@58470.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58472.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58473.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58479.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@58510.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58512.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58513.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58527.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@58558.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58560.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58561.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58575.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@58625.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58627.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58628.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@58634.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@58639.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58641.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58644.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58645.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58650.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58652.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58653.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58683.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58741.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58800.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58835.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58871.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58931.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@58936.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@58937.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58938.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58940.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58941.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58942.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58943.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58944.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58955.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58956.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58957.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58958.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58959.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58960.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58961.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58963.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58965.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58966.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58971.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58973.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58974.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58979.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58981.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58982.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58987.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58989.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58990.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58995.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58997.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58998.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@59005.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@59013.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59015.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@59016.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59017.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@59018.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@59019.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59021.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59022.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59023.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59024.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59025.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@59036.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@59038.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@59039.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@59042.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59043.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59045.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59047.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59048.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59061.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59063.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59064.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59069.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59071.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59072.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@59095.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59104.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59114.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59115.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59116.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59117.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59118.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59137.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59138.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59139.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59140.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59141.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59156.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@59159.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59161.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59162.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59163.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59165.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59166.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@59158.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59177.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@59179.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@59180.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@59182.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59184.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59185.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59186.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59188.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59189.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@59181.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59195.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59196.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@59197.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59199.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59202.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59203.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@59204.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59205.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@59206.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@59207.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59209.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59210.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59216.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59220.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58178.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58250.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58333.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58392.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58443.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58493.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58541.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58589.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58647.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58689.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58747.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58806.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58841.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58877.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@59200.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@58095.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@58100.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@58102.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@58103.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@58104.6]
  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@58105.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@58105.6]
  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@58106.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58108.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58109.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@58111.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@58112.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@58113.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@58114.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@58115.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@58117.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58118.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@58120.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58121.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@58122.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@58123.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@58124.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58125.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@58126.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58127.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58128.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@58129.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58130.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58131.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@58132.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58133.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58134.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@58135.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58136.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@58137.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@58138.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@58139.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58164.6]
  assign _T_92 = io_in_a_bits_address ^ 29'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@58167.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@58168.8]
  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@58169.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@58170.8]
  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@58171.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58176.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58189.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58190.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58197.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58198.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58204.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58205.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58210.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58212.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58213.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@58218.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58219.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58221.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58222.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@58227.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58229.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58230.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58236.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58290.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58292.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58293.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58316.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@58319.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@58327.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58330.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58331.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58350.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58352.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58353.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58358.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58360.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58361.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58375.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58426.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@58468.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58469.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@58470.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58472.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58473.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58479.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@58510.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58512.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58513.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58527.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@58558.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58560.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58561.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58575.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@58625.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58627.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58628.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@58634.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@58639.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58641.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58644.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58645.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@58650.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58652.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58653.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58683.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58741.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58800.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58835.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58871.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58931.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@58936.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@58937.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58938.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58941.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58942.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@58943.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@58944.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@58960.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@58961.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58963.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58965.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58966.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58971.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58973.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58974.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58979.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58981.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58982.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58987.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58989.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58990.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@58995.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58997.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58998.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@59005.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@59013.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59015.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@59016.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59017.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@59018.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@59019.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59022.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59023.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59024.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59025.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@59042.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59043.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59045.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59047.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59048.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59061.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59063.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59064.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59069.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59071.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59072.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@59095.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59115.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59116.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59117.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59118.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59138.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59139.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59140.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59141.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59156.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@59159.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59161.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59162.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59163.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59165.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59166.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@59158.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59177.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@59179.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@59180.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@59182.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59184.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59185.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59186.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59188.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59189.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@59181.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59195.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59196.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@59197.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59202.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59203.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@59204.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59205.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@59206.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@59207.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59209.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59210.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59216.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59220.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58178.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58250.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58333.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58392.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58443.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58493.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58541.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58589.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58647.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58689.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58747.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58806.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58841.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58877.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_508 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_521 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_523 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_525 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_527 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_529 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_563 = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_576 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_580 = _RAND_8[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_582 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_616 = _RAND_10[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_627 = _RAND_11[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_648 = _RAND_12[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_691 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_508 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_512) begin
          if (_T_505) begin
            _T_508 <= _T_503;
          end else begin
            _T_508 <= 4'h0;
          end
        end else begin
          _T_508 <= _T_511;
        end
      end
    end
    if (_T_553) begin
      _T_521 <= io_in_a_bits_opcode;
    end
    if (_T_553) begin
      _T_523 <= io_in_a_bits_param;
    end
    if (_T_553) begin
      _T_525 <= io_in_a_bits_size;
    end
    if (_T_553) begin
      _T_527 <= io_in_a_bits_source;
    end
    if (_T_553) begin
      _T_529 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_563 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_567) begin
          if (_T_560) begin
            _T_563 <= _T_559;
          end else begin
            _T_563 <= 4'h0;
          end
        end else begin
          _T_563 <= _T_566;
        end
      end
    end
    if (_T_614) begin
      _T_576 <= io_in_d_bits_opcode;
    end
    if (_T_614) begin
      _T_580 <= io_in_d_bits_size;
    end
    if (_T_614) begin
      _T_582 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_616 <= 2'h0;
    end else begin
      _T_616 <= _T_689;
    end
    if (reset) begin
      _T_627 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_631) begin
          if (_T_505) begin
            _T_627 <= _T_503;
          end else begin
            _T_627 <= 4'h0;
          end
        end else begin
          _T_627 <= _T_630;
        end
      end
    end
    if (reset) begin
      _T_648 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_652) begin
          if (_T_560) begin
            _T_648 <= _T_559;
          end else begin
            _T_648 <= 4'h0;
          end
        end else begin
          _T_648 <= _T_651;
        end
      end
    end
    if (reset) begin
      _T_691 <= 32'h0;
    end else begin
      if (_T_705) begin
        _T_691 <= 32'h0;
      end else begin
        _T_691 <= _T_702;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at UART.scala:157:94)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58091.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58092.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58161.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58162.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58178.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58179.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at UART.scala:157:94)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58185.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58186.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58192.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58193.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58200.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58201.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58207.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58208.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at UART.scala:157:94)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58215.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58216.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58224.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58225.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58232.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58233.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58250.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58251.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at UART.scala:157:94)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58257.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58258.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58264.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58265.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58272.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58273.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58279.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58280.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at UART.scala:157:94)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58287.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58288.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at UART.scala:157:94)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58295.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58296.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58304.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58305.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58312.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58313.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58333.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58334.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58340.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58341.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58347.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58348.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58355.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58356.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58363.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58364.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58371.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58372.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58392.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58393.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58399.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58400.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58406.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58407.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58414.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58415.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58422.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58423.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58443.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58444.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58450.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58451.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58457.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58458.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58465.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58466.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58475.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58476.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58493.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58494.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58500.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58501.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58507.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58508.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at UART.scala:157:94)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58515.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58516.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58523.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58524.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58541.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58542.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58548.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58549.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58555.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58556.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at UART.scala:157:94)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58563.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58564.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58571.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58572.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58589.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58590.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58596.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58597.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58603.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58604.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58611.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58612.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58619.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58620.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at UART.scala:157:94)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58630.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@58631.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58647.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58648.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58655.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58656.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58663.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58664.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58671.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58672.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58679.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58680.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58689.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58690.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at UART.scala:157:94)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58696.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58697.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58704.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58705.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at UART.scala:157:94)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58712.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58713.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at UART.scala:157:94)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58720.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58721.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58728.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58729.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at UART.scala:157:94)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58737.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58738.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58747.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58748.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at UART.scala:157:94)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58754.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58755.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58762.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58763.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at UART.scala:157:94)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58770.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58771.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at UART.scala:157:94)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58778.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58779.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58787.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58788.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at UART.scala:157:94)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58796.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58797.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58806.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58807.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58814.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58815.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58822.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58823.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58831.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58832.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58841.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58842.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58849.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58850.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58858.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58859.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at UART.scala:157:94)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58867.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58868.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58877.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58878.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58885.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58886.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58893.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58894.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58902.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58903.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58912.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58913.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58920.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58921.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58928.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58929.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58968.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58969.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58976.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58977.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58984.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58985.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58992.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@58993.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59000.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59001.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59050.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59051.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59058.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59059.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59066.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59067.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59074.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59075.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59082.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59083.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59090.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59091.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at UART.scala:157:94)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59168.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59169.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at UART.scala:157:94)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59191.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59192.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_700) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at UART.scala:157:94)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59212.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_700) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59213.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFragmenter_5( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59256.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59257.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59258.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59259.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59307.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@59308.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59309.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@59310.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59311.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59312.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59314.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59315.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59317.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@59318.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59319.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@59320.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59336.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@59337.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@59338.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@59338.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@59339.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@59339.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@59340.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@59340.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@59341.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59342.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@59343.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@59344.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@59345.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@59346.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59347.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59348.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59348.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@59349.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@59350.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59351.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59352.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@59353.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59354.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59355.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@59369.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59371.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59372.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@59373.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@59356.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@59358.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@59358.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@59359.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@59360.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@59365.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@59375.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59408.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@59409.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59411.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@59412.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59413.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59415.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@59416.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59417.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@59418.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59419.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59421.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59422.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59423.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59424.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59425.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59426.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59427.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59428.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@59431.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@59438.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59439.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59443.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@59303.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59452.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@59444.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59448.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@59449.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@59453.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@59453.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@59454.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@59455.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@59456.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@59456.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@59457.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59458.4]
  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@59459.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59461.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@59465.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@59467.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59469.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59470.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@59477.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@59478.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59480.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59481.4]
  TLMonitor_32 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59266.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  Repeater_4 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59383.4]
    .clock(Repeater_clock),
    .reset(Repeater_reset),
    .io_repeat(Repeater_io_repeat),
    .io_full(Repeater_io_full),
    .io_enq_ready(Repeater_io_enq_ready),
    .io_enq_valid(Repeater_io_enq_valid),
    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
    .io_enq_bits_param(Repeater_io_enq_bits_param),
    .io_enq_bits_size(Repeater_io_enq_bits_size),
    .io_enq_bits_source(Repeater_io_enq_bits_source),
    .io_enq_bits_address(Repeater_io_enq_bits_address),
    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
    .io_deq_ready(Repeater_io_deq_ready),
    .io_deq_valid(Repeater_io_deq_valid),
    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
    .io_deq_bits_param(Repeater_io_deq_bits_param),
    .io_deq_bits_size(Repeater_io_deq_bits_size),
    .io_deq_bits_source(Repeater_io_deq_bits_source),
    .io_deq_bits_address(Repeater_io_deq_bits_address),
    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
  );
  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@59310.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59311.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59312.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59314.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59315.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59317.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@59318.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59319.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@59320.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59336.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@59337.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@59338.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@59338.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@59339.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@59339.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@59340.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@59340.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@59341.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59342.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@59343.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@59344.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@59345.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@59346.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59347.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59348.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59348.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@59349.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@59350.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59351.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59352.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@59353.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59354.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59355.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@59369.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59371.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59372.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@59373.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@59356.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@59358.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@59358.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@59359.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@59360.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@59365.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@59375.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59408.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@59409.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59411.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@59412.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59413.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59415.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@59416.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59417.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@59418.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59419.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59422.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59423.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59424.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59425.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59426.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59427.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59428.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@59431.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59439.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59443.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@59303.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59452.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@59444.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59448.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@59449.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@59453.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@59453.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@59454.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@59455.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@59456.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@59456.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@59457.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59458.4]
  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@59459.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59461.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@59465.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@59467.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59469.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59470.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@59477.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@59478.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59480.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59481.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59306.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59306.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59306.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59306.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59306.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59306.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59305.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59305.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59305.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59305.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59305.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59305.4]
  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59305.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59305.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59305.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59305.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59268.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59269.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@59302.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59385.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59386.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59451.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59387.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59387.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59387.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59387.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59387.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59387.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59387.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@59387.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@59452.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_244 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_246 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_248 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_344 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_362 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_244 <= 4'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_244 <= _T_249;
        end else begin
          _T_244 <= _T_294;
        end
      end
    end
    if (_T_291) begin
      if (_T_250) begin
        _T_246 <= _T_290;
      end
    end
    if (reset) begin
      _T_248 <= 1'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_248 <= _T_296;
        end
      end
    end
    if (reset) begin
      _T_344 <= 4'h0;
    end else begin
      if (_T_365) begin
        _T_344 <= _T_354;
      end
    end
    if (_T_345) begin
      _T_362 <= _T_248;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59331.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59332.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_383) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59472.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_383) begin
          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59473.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_389) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59483.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_389) begin
          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59484.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SimpleLazyModule_13( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59495.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59496.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59497.4]
  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59498.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
  TLFragmenter_5 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@59503.4]
    .clock(fragmenter_clock),
    .reset(fragmenter_reset),
    .auto_in_a_ready(fragmenter_auto_in_a_ready),
    .auto_in_a_valid(fragmenter_auto_in_a_valid),
    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
    .auto_in_d_ready(fragmenter_auto_in_d_ready),
    .auto_in_d_valid(fragmenter_auto_in_d_valid),
    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
    .auto_out_a_ready(fragmenter_auto_out_a_ready),
    .auto_out_a_valid(fragmenter_auto_out_a_valid),
    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
    .auto_out_d_ready(fragmenter_auto_out_d_ready),
    .auto_out_d_valid(fragmenter_auto_out_d_valid),
    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
  );
  assign auto_fragmenter_in_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59515.4]
  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59515.4]
  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59515.4]
  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59515.4]
  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59515.4]
  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59515.4]
  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59515.4]
  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59515.4]
  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59515.4]
  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59515.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59507.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59508.4]
  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59516.4]
  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59514.4]
  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59514.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59514.4]
  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59514.4]
  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59514.4]
  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59514.4]
endmodule
module TLMonitor_33( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59525.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59526.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59527.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@59528.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@60649.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@59544.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59549.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59551.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@59552.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59553.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@59554.6]
  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@59554.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@59555.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59557.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59558.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@59560.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59561.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59562.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59563.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@59564.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59566.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59567.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59569.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59570.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59571.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59572.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@59573.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59574.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59575.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59576.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59577.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59578.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59579.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59580.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59581.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59582.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59583.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59584.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59585.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59586.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59587.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59588.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59613.6]
  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59616.8]
  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59617.8]
  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@59618.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@59619.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@59620.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59625.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59638.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59639.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59646.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59647.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59653.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59654.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59659.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59661.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59662.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@59667.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59668.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59670.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59671.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@59676.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59678.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59679.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59685.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59739.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59741.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59742.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59765.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@59768.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@59776.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59779.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59780.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59799.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59801.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59802.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59807.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59809.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59810.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59824.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59875.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@59917.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59918.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@59919.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59921.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59922.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59928.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@59959.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59961.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59962.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59976.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@60007.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60009.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60010.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60024.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@60074.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60076.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60077.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@60083.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60088.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60090.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60093.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60094.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60099.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60101.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60102.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60132.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60190.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60249.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60284.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60320.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60380.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@60385.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60386.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60387.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60389.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60390.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60391.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60392.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60393.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60404.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60405.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60406.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60407.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60408.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60409.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60410.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60412.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60414.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60415.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60420.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60422.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60423.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60428.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60430.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60431.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60436.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60438.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60439.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60444.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60446.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60447.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@60454.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60462.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60464.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@60465.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60466.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@60467.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@60468.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60470.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60471.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60472.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60473.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60474.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60485.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60487.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60488.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60491.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60492.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60494.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60496.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60497.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60510.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60512.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60513.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60518.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60520.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60521.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60553.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60563.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60564.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60565.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60566.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60567.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60586.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60587.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60588.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60589.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60590.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60605.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@60608.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60610.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60611.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60612.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60614.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60615.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@60607.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60626.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@60628.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@60629.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@60631.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@60633.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60634.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60635.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60637.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60638.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@60630.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60644.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@60645.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@60646.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60648.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60651.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60652.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@60653.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60654.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@60655.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@60656.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60658.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60659.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@60665.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60669.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59627.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59699.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59782.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59841.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59892.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59942.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59990.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60038.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60096.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60138.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60196.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60255.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60290.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60326.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@60649.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@59544.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59549.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@59551.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@59552.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@59553.6]
  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@59554.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@59554.6]
  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@59555.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59557.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59558.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@59560.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@59561.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59562.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59563.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@59564.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59566.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59567.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59569.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59570.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59571.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@59572.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@59573.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59574.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59575.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59576.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59577.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59578.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59579.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59580.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59581.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59582.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59583.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@59584.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@59585.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59586.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59587.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@59588.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59613.6]
  assign _T_92 = io_in_a_bits_address ^ 29'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@59616.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@59617.8]
  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@59618.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@59619.8]
  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@59620.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59625.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59638.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59639.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59646.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59647.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59653.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59654.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59659.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59661.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59662.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@59667.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59668.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59670.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59671.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@59676.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59678.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59679.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59685.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59739.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59741.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59742.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59765.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@59768.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@59776.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59779.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59780.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59799.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59801.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59802.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@59807.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59809.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59810.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59824.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59875.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@59917.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@59918.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@59919.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59921.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59922.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59928.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@59959.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59961.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59962.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@59976.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@60007.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60009.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60010.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60024.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@60074.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60076.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60077.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@60083.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60088.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60090.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60093.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60094.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60099.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60101.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60102.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60132.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60190.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60249.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60284.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60320.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60380.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@60385.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60386.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60387.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60390.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60391.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60392.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60393.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60409.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60410.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60412.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60414.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60415.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60420.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60422.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60423.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60428.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60430.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60431.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60436.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60438.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60439.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60444.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60446.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60447.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@60454.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60462.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60464.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@60465.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60466.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@60467.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@60468.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60471.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60472.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60473.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60474.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60491.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60492.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60494.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60496.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60497.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60510.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60512.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60513.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60518.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60520.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60521.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@60544.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60564.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60565.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60566.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60567.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60587.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60588.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60589.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60590.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60605.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@60608.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60610.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60611.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60612.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60614.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60615.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@60607.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60626.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@60628.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@60629.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@60631.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@60633.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60634.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60635.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60637.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60638.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@60630.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60644.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@60645.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@60646.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60651.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60652.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@60653.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60654.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@60655.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@60656.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60658.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60659.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@60665.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60669.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59627.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59699.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59782.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59841.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59892.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59942.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59990.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60038.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60096.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60138.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60196.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60255.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60290.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60326.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_508 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_521 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_523 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_525 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_527 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_529 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_563 = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_576 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_580 = _RAND_8[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_582 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_616 = _RAND_10[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_627 = _RAND_11[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_648 = _RAND_12[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_691 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_508 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_512) begin
          if (_T_505) begin
            _T_508 <= _T_503;
          end else begin
            _T_508 <= 4'h0;
          end
        end else begin
          _T_508 <= _T_511;
        end
      end
    end
    if (_T_553) begin
      _T_521 <= io_in_a_bits_opcode;
    end
    if (_T_553) begin
      _T_523 <= io_in_a_bits_param;
    end
    if (_T_553) begin
      _T_525 <= io_in_a_bits_size;
    end
    if (_T_553) begin
      _T_527 <= io_in_a_bits_source;
    end
    if (_T_553) begin
      _T_529 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_563 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_567) begin
          if (_T_560) begin
            _T_563 <= _T_559;
          end else begin
            _T_563 <= 4'h0;
          end
        end else begin
          _T_563 <= _T_566;
        end
      end
    end
    if (_T_614) begin
      _T_576 <= io_in_d_bits_opcode;
    end
    if (_T_614) begin
      _T_580 <= io_in_d_bits_size;
    end
    if (_T_614) begin
      _T_582 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_616 <= 2'h0;
    end else begin
      _T_616 <= _T_689;
    end
    if (reset) begin
      _T_627 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_631) begin
          if (_T_505) begin
            _T_627 <= _T_503;
          end else begin
            _T_627 <= 4'h0;
          end
        end else begin
          _T_627 <= _T_630;
        end
      end
    end
    if (reset) begin
      _T_648 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_652) begin
          if (_T_560) begin
            _T_648 <= _T_559;
          end else begin
            _T_648 <= 4'h0;
          end
        end else begin
          _T_648 <= _T_651;
        end
      end
    end
    if (reset) begin
      _T_691 <= 32'h0;
    end else begin
      if (_T_705) begin
        _T_691 <= 32'h0;
      end else begin
        _T_691 <= _T_702;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at UART.scala:157:94)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59540.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59541.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59610.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@59611.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59627.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59628.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at UART.scala:157:94)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59634.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59635.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59641.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59642.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59649.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59650.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59656.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59657.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at UART.scala:157:94)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59664.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59665.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59673.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59674.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59681.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59682.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59699.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59700.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at UART.scala:157:94)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59706.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59707.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59713.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59714.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59721.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59722.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59728.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59729.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at UART.scala:157:94)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59736.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59737.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at UART.scala:157:94)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59744.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59745.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59753.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59754.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59761.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59762.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59782.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59783.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59789.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59790.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59796.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59797.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59804.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59805.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59812.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59813.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59820.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59821.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59841.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59842.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59848.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59849.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59855.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59856.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59863.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59864.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59871.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59872.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59892.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59893.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59899.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59900.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59906.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59907.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59914.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59915.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59924.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59925.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59942.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59943.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59949.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59950.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59956.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59957.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at UART.scala:157:94)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59964.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59965.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59972.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59973.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59990.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59991.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59997.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@59998.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60004.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60005.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at UART.scala:157:94)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60012.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60013.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60020.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60021.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60038.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60039.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60045.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60046.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60052.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60053.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60060.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60061.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60068.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60069.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at UART.scala:157:94)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60079.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60080.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60096.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60097.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60104.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60105.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60112.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60113.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60120.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60121.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60128.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60129.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60138.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60139.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at UART.scala:157:94)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60145.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60146.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60153.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60154.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at UART.scala:157:94)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60161.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60162.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at UART.scala:157:94)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60169.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60170.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60177.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60178.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at UART.scala:157:94)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60186.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60187.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60196.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60197.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at UART.scala:157:94)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60203.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60204.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60211.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60212.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at UART.scala:157:94)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60219.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60220.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at UART.scala:157:94)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60227.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60228.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60236.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60237.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at UART.scala:157:94)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60245.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60246.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60255.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60256.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60263.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60264.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60271.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60272.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60280.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60281.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60290.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60291.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60298.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60299.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60307.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60308.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at UART.scala:157:94)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60316.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60317.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60326.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60327.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60334.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60335.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60342.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60343.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60351.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60352.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60361.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60362.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60369.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60370.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60377.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60378.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60417.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60418.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60425.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60426.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60433.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60434.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60441.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60442.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60449.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60450.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60499.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60500.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60507.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60508.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60515.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60516.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60523.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60524.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60531.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60532.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60539.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60540.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at UART.scala:157:94)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60617.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60618.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at UART.scala:157:94)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60640.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60641.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_700) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at UART.scala:157:94)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60661.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_700) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60662.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFragmenter_6( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60705.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60706.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60707.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60708.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60756.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60757.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60758.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@60759.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60760.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60761.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60763.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60764.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60766.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@60767.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60768.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@60769.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60785.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@60786.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@60787.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@60787.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@60788.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@60788.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@60789.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@60789.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@60790.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60791.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60792.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@60793.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60794.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60795.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60796.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60797.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60797.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60798.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60799.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60800.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60801.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@60802.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60803.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60804.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60818.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60820.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60821.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@60822.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60805.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60807.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60807.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60808.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60809.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@60814.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60824.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60857.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60858.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60860.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@60861.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60862.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60864.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@60865.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60866.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60867.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60868.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60870.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60871.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60872.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60873.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60874.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60875.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60876.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@60877.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@60880.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@60887.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60888.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@60892.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@60752.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60901.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60893.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60897.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@60898.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@60902.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@60902.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@60903.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@60904.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@60905.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@60905.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@60906.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60907.4]
  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@60908.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60910.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@60914.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@60916.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60918.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60919.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@60926.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@60927.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60929.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60930.4]
  TLMonitor_33 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@60715.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  Repeater_4 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60832.4]
    .clock(Repeater_clock),
    .reset(Repeater_reset),
    .io_repeat(Repeater_io_repeat),
    .io_full(Repeater_io_full),
    .io_enq_ready(Repeater_io_enq_ready),
    .io_enq_valid(Repeater_io_enq_valid),
    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
    .io_enq_bits_param(Repeater_io_enq_bits_param),
    .io_enq_bits_size(Repeater_io_enq_bits_size),
    .io_enq_bits_source(Repeater_io_enq_bits_source),
    .io_enq_bits_address(Repeater_io_enq_bits_address),
    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
    .io_deq_ready(Repeater_io_deq_ready),
    .io_deq_valid(Repeater_io_deq_valid),
    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
    .io_deq_bits_param(Repeater_io_deq_bits_param),
    .io_deq_bits_size(Repeater_io_deq_bits_size),
    .io_deq_bits_source(Repeater_io_deq_bits_source),
    .io_deq_bits_address(Repeater_io_deq_bits_address),
    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
  );
  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@60759.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60760.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60761.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60763.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60764.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60766.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@60767.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60768.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@60769.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60785.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@60786.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@60787.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@60787.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@60788.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@60788.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@60789.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@60789.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@60790.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60791.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60792.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@60793.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60794.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60795.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60796.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60797.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60797.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60798.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60799.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60800.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60801.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@60802.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60803.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60804.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@60818.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60820.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60821.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@60822.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60805.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60807.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60807.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60808.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@60809.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@60814.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60824.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60857.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@60858.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60860.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@60861.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60862.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60864.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@60865.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60866.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60867.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60868.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@60871.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60872.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60873.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60874.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@60875.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@60876.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@60877.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@60880.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60888.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@60892.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@60752.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60901.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@60893.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@60897.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@60898.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@60902.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@60902.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@60903.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@60904.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@60905.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@60905.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@60906.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60907.4]
  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@60908.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@60910.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@60914.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@60916.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60918.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60919.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@60926.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@60927.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60929.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60930.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60755.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60755.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60755.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60755.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60755.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60755.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60754.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60754.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60754.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60754.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60754.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60754.4]
  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60754.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60754.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60754.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60754.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60717.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60718.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@60751.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60834.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60835.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@60900.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60836.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60836.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60836.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60836.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60836.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60836.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60836.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@60836.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@60901.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_244 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_246 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_248 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_344 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_362 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_244 <= 4'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_244 <= _T_249;
        end else begin
          _T_244 <= _T_294;
        end
      end
    end
    if (_T_291) begin
      if (_T_250) begin
        _T_246 <= _T_290;
      end
    end
    if (reset) begin
      _T_248 <= 1'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_248 <= _T_296;
        end
      end
    end
    if (reset) begin
      _T_344 <= 4'h0;
    end else begin
      if (_T_365) begin
        _T_344 <= _T_354;
      end
    end
    if (_T_345) begin
      _T_362 <= _T_248;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60780.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60781.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_383) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60921.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_383) begin
          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60922.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_389) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60932.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_389) begin
          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@60933.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SimpleLazyModule_14( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60944.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60945.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60946.4]
  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60947.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
  TLFragmenter_6 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@60952.4]
    .clock(fragmenter_clock),
    .reset(fragmenter_reset),
    .auto_in_a_ready(fragmenter_auto_in_a_ready),
    .auto_in_a_valid(fragmenter_auto_in_a_valid),
    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
    .auto_in_d_ready(fragmenter_auto_in_d_ready),
    .auto_in_d_valid(fragmenter_auto_in_d_valid),
    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
    .auto_out_a_ready(fragmenter_auto_out_a_ready),
    .auto_out_a_valid(fragmenter_auto_out_a_valid),
    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
    .auto_out_d_ready(fragmenter_auto_out_d_ready),
    .auto_out_d_valid(fragmenter_auto_out_d_valid),
    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
  );
  assign auto_fragmenter_in_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60964.4]
  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60964.4]
  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60964.4]
  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60964.4]
  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60964.4]
  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60964.4]
  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60964.4]
  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60964.4]
  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60964.4]
  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@60964.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60956.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60957.4]
  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60965.4]
  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60963.4]
  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60963.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60963.4]
  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60963.4]
  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60963.4]
  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@60963.4]
endmodule
module TLMonitor_34( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60974.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60975.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60976.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@60977.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@62098.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@60993.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60998.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@61000.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@61001.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@61002.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@61003.6]
  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@61003.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@61004.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@61006.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61007.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@61009.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@61010.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@61011.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@61012.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@61013.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@61015.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61016.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@61018.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61019.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@61020.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@61021.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@61022.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61023.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@61024.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61025.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61026.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@61027.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61028.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61029.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@61030.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61031.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61032.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@61033.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61034.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@61035.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@61036.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@61037.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61062.6]
  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@61065.8]
  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@61066.8]
  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@61067.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@61068.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@61069.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61074.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61087.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61088.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61095.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61096.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61102.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61103.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61108.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61110.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61111.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@61116.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61117.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61119.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61120.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@61125.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61127.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61128.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61134.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61188.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61190.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61191.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61214.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@61217.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@61225.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61228.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61229.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61248.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61250.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61251.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61256.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61258.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61259.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61273.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61324.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@61366.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61367.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@61368.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61370.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61371.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61377.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@61408.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61410.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61411.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61425.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@61456.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61458.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61459.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61473.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@61523.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61525.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61526.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@61532.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@61537.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61539.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61542.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61543.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61548.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61550.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61551.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61581.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61639.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61698.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61733.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61769.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61829.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@61834.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@61835.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61836.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61838.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61839.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61840.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61841.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61842.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61853.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61854.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61855.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61856.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61857.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61858.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61859.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61861.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61863.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61864.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61869.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61871.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61872.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61877.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61879.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61880.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61885.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61887.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61888.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61893.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61895.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61896.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@61903.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61911.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@61913.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@61914.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@61915.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@61916.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@61917.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61919.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61920.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61921.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61922.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61923.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61934.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61936.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61937.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61940.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61941.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61943.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61945.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61946.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61959.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61961.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61962.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61967.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61969.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61970.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62002.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62012.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62013.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62014.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62015.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62016.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62035.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62036.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62037.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62038.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62039.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62054.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@62057.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62059.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62060.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62061.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62063.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62064.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@62056.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62075.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@62077.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@62078.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@62080.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@62082.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62083.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62084.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62086.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62087.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@62079.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62093.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62094.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@62095.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62097.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62100.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62101.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@62102.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62103.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@62104.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@62105.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62107.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62108.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62114.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62118.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61076.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61148.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61231.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61290.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61341.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61391.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61439.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61487.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61545.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61587.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61645.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61704.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61739.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61775.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@62098.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@60993.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@60998.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@61000.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@61001.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@61002.6]
  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@61003.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@61003.6]
  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@61004.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@61006.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61007.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@61009.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@61010.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@61011.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@61012.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@61013.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@61015.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61016.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@61018.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61019.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@61020.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@61021.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@61022.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61023.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@61024.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61025.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61026.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@61027.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61028.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61029.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@61030.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61031.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61032.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@61033.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61034.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@61035.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@61036.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@61037.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61062.6]
  assign _T_92 = io_in_a_bits_address ^ 29'h10033000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@61065.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@61066.8]
  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@61067.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@61068.8]
  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@61069.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61074.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61087.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61088.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61095.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61096.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61102.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61103.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61108.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61110.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61111.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@61116.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61117.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61119.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61120.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@61125.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61127.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61128.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61134.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61188.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61190.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61191.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61214.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@61217.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@61225.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61228.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61229.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61248.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61250.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61251.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61256.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61258.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61259.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61273.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61324.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@61366.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61367.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@61368.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61370.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61371.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61377.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@61408.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61410.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61411.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61425.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@61456.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61458.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61459.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61473.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@61523.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61525.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61526.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@61532.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@61537.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61539.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61542.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61543.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@61548.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61550.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61551.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61581.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61639.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61698.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61733.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61769.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61829.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@61834.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@61835.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61836.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61839.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61840.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61841.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61842.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61858.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61859.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61861.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61863.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61864.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61869.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61871.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61872.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61877.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61879.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61880.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61885.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61887.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61888.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61893.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61895.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61896.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@61903.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61911.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@61913.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@61914.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@61915.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@61916.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@61917.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61920.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61921.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@61922.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@61923.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@61940.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@61941.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61943.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61945.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61946.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61959.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61961.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61962.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@61967.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61969.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61970.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@61993.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62013.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62014.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62015.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62016.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62036.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62037.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62038.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62039.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62054.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@62057.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62059.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62060.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62061.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62063.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62064.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@62056.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62075.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@62077.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@62078.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@62080.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@62082.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62083.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62084.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62086.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62087.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@62079.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62093.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62094.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@62095.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62100.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62101.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@62102.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62103.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@62104.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@62105.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62107.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62108.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62114.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62118.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61076.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61148.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61231.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61290.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61341.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61391.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61439.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61487.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61545.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61587.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61645.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61704.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61739.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61775.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_508 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_521 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_523 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_525 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_527 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_529 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_563 = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_576 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_580 = _RAND_8[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_582 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_616 = _RAND_10[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_627 = _RAND_11[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_648 = _RAND_12[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_691 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_508 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_512) begin
          if (_T_505) begin
            _T_508 <= _T_503;
          end else begin
            _T_508 <= 4'h0;
          end
        end else begin
          _T_508 <= _T_511;
        end
      end
    end
    if (_T_553) begin
      _T_521 <= io_in_a_bits_opcode;
    end
    if (_T_553) begin
      _T_523 <= io_in_a_bits_param;
    end
    if (_T_553) begin
      _T_525 <= io_in_a_bits_size;
    end
    if (_T_553) begin
      _T_527 <= io_in_a_bits_source;
    end
    if (_T_553) begin
      _T_529 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_563 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_567) begin
          if (_T_560) begin
            _T_563 <= _T_559;
          end else begin
            _T_563 <= 4'h0;
          end
        end else begin
          _T_563 <= _T_566;
        end
      end
    end
    if (_T_614) begin
      _T_576 <= io_in_d_bits_opcode;
    end
    if (_T_614) begin
      _T_580 <= io_in_d_bits_size;
    end
    if (_T_614) begin
      _T_582 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_616 <= 2'h0;
    end else begin
      _T_616 <= _T_689;
    end
    if (reset) begin
      _T_627 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_631) begin
          if (_T_505) begin
            _T_627 <= _T_503;
          end else begin
            _T_627 <= 4'h0;
          end
        end else begin
          _T_627 <= _T_630;
        end
      end
    end
    if (reset) begin
      _T_648 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_652) begin
          if (_T_560) begin
            _T_648 <= _T_559;
          end else begin
            _T_648 <= 4'h0;
          end
        end else begin
          _T_648 <= _T_651;
        end
      end
    end
    if (reset) begin
      _T_691 <= 32'h0;
    end else begin
      if (_T_705) begin
        _T_691 <= 32'h0;
      end else begin
        _T_691 <= _T_702;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at UART.scala:157:94)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60989.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@60990.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61059.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61060.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61076.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61077.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at UART.scala:157:94)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61083.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61084.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61090.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61091.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61098.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61099.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61105.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61106.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at UART.scala:157:94)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61113.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61114.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61122.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61123.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61130.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61131.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61148.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61149.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at UART.scala:157:94)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61155.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61156.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61162.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61163.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61170.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61171.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61177.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61178.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at UART.scala:157:94)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61185.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61186.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at UART.scala:157:94)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61193.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61194.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61202.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61203.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61210.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61211.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61231.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61232.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61238.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61239.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61245.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61246.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61253.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61254.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61261.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61262.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61269.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61270.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61290.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61291.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61297.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61298.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61304.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61305.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61312.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61313.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61320.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61321.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61341.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61342.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61348.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61349.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61355.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61356.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61363.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61364.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61373.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61374.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61391.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61392.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61398.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61399.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61405.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61406.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at UART.scala:157:94)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61413.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61414.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61421.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61422.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61439.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61440.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61446.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61447.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61453.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61454.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at UART.scala:157:94)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61461.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61462.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61469.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61470.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61487.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61488.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61494.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61495.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61501.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61502.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61509.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61510.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61517.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61518.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at UART.scala:157:94)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61528.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@61529.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61545.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61546.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61553.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61554.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61561.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61562.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61569.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61570.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61577.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61578.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61587.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61588.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at UART.scala:157:94)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61594.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61595.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61602.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61603.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at UART.scala:157:94)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61610.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61611.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at UART.scala:157:94)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61618.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61619.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61626.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61627.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at UART.scala:157:94)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61635.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61636.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61645.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61646.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at UART.scala:157:94)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61652.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61653.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61660.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61661.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at UART.scala:157:94)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61668.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61669.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at UART.scala:157:94)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61676.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61677.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61685.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61686.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at UART.scala:157:94)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61694.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61695.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61704.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61705.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61712.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61713.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61720.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61721.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61729.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61730.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61739.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61740.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61747.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61748.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61756.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61757.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at UART.scala:157:94)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61765.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61766.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61775.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61776.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61783.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61784.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61791.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61792.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61800.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61801.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61810.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61811.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61818.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61819.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61826.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61827.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61866.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61867.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61874.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61875.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61882.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61883.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61890.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61891.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61898.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61899.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61948.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61949.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61956.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61957.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61964.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61965.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61972.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61973.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61980.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61981.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61988.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@61989.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at UART.scala:157:94)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62066.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62067.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at UART.scala:157:94)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62089.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62090.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_700) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at UART.scala:157:94)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62110.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_700) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62111.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFragmenter_7( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62154.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62155.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62156.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62157.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62205.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@62206.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62207.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@62208.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62209.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62210.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62212.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62213.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62215.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@62216.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62217.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@62218.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62234.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@62235.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@62236.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@62236.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@62237.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@62237.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@62238.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@62238.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@62239.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62240.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@62241.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@62242.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@62243.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@62244.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62245.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62246.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62246.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@62247.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@62248.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62249.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62250.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@62251.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62252.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62253.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@62267.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62269.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62270.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@62271.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@62254.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@62256.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@62256.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@62257.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@62258.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@62263.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@62273.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62306.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@62307.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62309.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@62310.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62311.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62313.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@62314.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62315.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@62316.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62317.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62319.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62320.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62321.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62322.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62323.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62324.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62325.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62326.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@62329.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@62336.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62337.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@62341.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@62201.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62350.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@62342.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62346.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@62347.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@62351.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@62351.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@62352.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@62353.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@62354.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@62354.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@62355.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62356.4]
  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@62357.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62359.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@62363.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@62365.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62367.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62368.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@62375.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@62376.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62378.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62379.4]
  TLMonitor_34 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62164.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  Repeater_4 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62281.4]
    .clock(Repeater_clock),
    .reset(Repeater_reset),
    .io_repeat(Repeater_io_repeat),
    .io_full(Repeater_io_full),
    .io_enq_ready(Repeater_io_enq_ready),
    .io_enq_valid(Repeater_io_enq_valid),
    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
    .io_enq_bits_param(Repeater_io_enq_bits_param),
    .io_enq_bits_size(Repeater_io_enq_bits_size),
    .io_enq_bits_source(Repeater_io_enq_bits_source),
    .io_enq_bits_address(Repeater_io_enq_bits_address),
    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
    .io_deq_ready(Repeater_io_deq_ready),
    .io_deq_valid(Repeater_io_deq_valid),
    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
    .io_deq_bits_param(Repeater_io_deq_bits_param),
    .io_deq_bits_size(Repeater_io_deq_bits_size),
    .io_deq_bits_source(Repeater_io_deq_bits_source),
    .io_deq_bits_address(Repeater_io_deq_bits_address),
    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
  );
  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@62208.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62209.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62210.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62212.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62213.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62215.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@62216.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62217.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@62218.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62234.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@62235.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@62236.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@62236.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@62237.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@62237.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@62238.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@62238.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@62239.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62240.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@62241.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@62242.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@62243.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@62244.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62245.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62246.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62246.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@62247.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@62248.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62249.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62250.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@62251.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62252.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62253.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@62267.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62269.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62270.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@62271.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@62254.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@62256.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@62256.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@62257.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@62258.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@62263.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@62273.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62306.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@62307.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62309.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@62310.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62311.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62313.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@62314.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62315.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@62316.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62317.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62320.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62321.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62322.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62323.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62324.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62325.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62326.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@62329.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62337.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@62341.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@62201.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62350.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@62342.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62346.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@62347.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@62351.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@62351.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@62352.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@62353.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@62354.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@62354.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@62355.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62356.4]
  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@62357.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62359.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@62363.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@62365.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62367.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62368.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@62375.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@62376.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62378.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62379.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62204.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62204.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62204.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62204.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62204.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62204.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62203.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62203.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62203.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62203.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62203.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62203.4]
  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62203.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62203.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62203.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62203.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62166.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62167.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@62200.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62283.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62284.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62349.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62285.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62285.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62285.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62285.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62285.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62285.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62285.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@62285.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@62350.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_244 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_246 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_248 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_344 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_362 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_244 <= 4'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_244 <= _T_249;
        end else begin
          _T_244 <= _T_294;
        end
      end
    end
    if (_T_291) begin
      if (_T_250) begin
        _T_246 <= _T_290;
      end
    end
    if (reset) begin
      _T_248 <= 1'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_248 <= _T_296;
        end
      end
    end
    if (reset) begin
      _T_344 <= 4'h0;
    end else begin
      if (_T_365) begin
        _T_344 <= _T_354;
      end
    end
    if (_T_345) begin
      _T_362 <= _T_248;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62229.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62230.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_383) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62370.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_383) begin
          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62371.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_389) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62381.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_389) begin
          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62382.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SimpleLazyModule_15( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62393.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62394.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62395.4]
  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62396.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
  TLFragmenter_7 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@62401.4]
    .clock(fragmenter_clock),
    .reset(fragmenter_reset),
    .auto_in_a_ready(fragmenter_auto_in_a_ready),
    .auto_in_a_valid(fragmenter_auto_in_a_valid),
    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
    .auto_in_d_ready(fragmenter_auto_in_d_ready),
    .auto_in_d_valid(fragmenter_auto_in_d_valid),
    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
    .auto_out_a_ready(fragmenter_auto_out_a_ready),
    .auto_out_a_valid(fragmenter_auto_out_a_valid),
    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
    .auto_out_d_ready(fragmenter_auto_out_d_ready),
    .auto_out_d_valid(fragmenter_auto_out_d_valid),
    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
  );
  assign auto_fragmenter_in_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62413.4]
  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62413.4]
  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62413.4]
  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62413.4]
  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62413.4]
  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62413.4]
  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62413.4]
  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62413.4]
  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62413.4]
  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62413.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62405.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62406.4]
  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62414.4]
  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62412.4]
  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62412.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62412.4]
  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62412.4]
  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62412.4]
  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62412.4]
endmodule
module TLMonitor_35( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62423.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62424.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62425.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@62426.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@63547.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@62442.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62447.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62449.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@62450.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62451.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@62452.6]
  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@62452.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@62453.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62455.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62456.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@62458.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@62459.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62460.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62461.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@62462.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62464.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62465.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62467.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62468.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62469.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62470.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@62471.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62472.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62473.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62474.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62475.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62476.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62477.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62478.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62479.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62480.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62481.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62482.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62483.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62484.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62485.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62486.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62511.6]
  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62514.8]
  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62515.8]
  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@62516.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@62517.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@62518.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62523.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62536.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62537.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62544.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62545.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62551.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62552.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62557.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62559.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62560.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@62565.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62566.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62568.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62569.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@62574.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62576.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62577.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62583.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62637.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62639.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62640.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62663.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@62666.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@62674.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62677.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62678.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62697.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62699.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62700.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62705.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62707.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62708.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62722.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62773.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@62815.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62816.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@62817.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62819.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62820.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62826.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@62857.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62859.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62860.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62874.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@62905.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62907.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62908.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62922.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@62972.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62974.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62975.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@62981.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62986.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62988.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62991.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62992.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62997.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62999.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63000.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63030.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63088.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63147.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63182.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63218.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63278.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@63283.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63284.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63285.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63287.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63288.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63289.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63290.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63291.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63302.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63303.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63304.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63305.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63306.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63307.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63308.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63310.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63312.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63313.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63318.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63320.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63321.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63326.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63328.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63329.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63334.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63336.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63337.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63342.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63344.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63345.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@63352.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63360.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63362.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63363.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63364.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@63365.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@63366.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63368.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63369.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63370.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63371.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63372.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63383.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63385.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63386.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63389.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63390.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63392.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63394.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63395.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63408.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63410.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63411.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63416.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63418.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63419.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63451.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63461.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63462.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63463.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63464.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63465.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63484.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63485.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63486.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63487.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63488.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63503.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@63506.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63508.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63509.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63510.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63512.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63513.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@63505.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63524.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@63526.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@63527.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@63529.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@63531.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63532.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63533.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63535.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63536.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@63528.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63542.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63543.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@63544.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63546.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63549.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63550.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@63551.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63552.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@63553.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@63554.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63556.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63557.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63563.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63567.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62525.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62597.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62680.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62739.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62790.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62840.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62888.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62936.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62994.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63036.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63094.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63153.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63188.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63224.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@63547.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@62442.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62447.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@62449.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@62450.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62451.6]
  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@62452.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@62452.6]
  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@62453.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62455.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62456.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@62458.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@62459.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62460.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62461.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@62462.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62464.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62465.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62467.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62468.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62469.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@62470.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@62471.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62472.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62473.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62474.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62475.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62476.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62477.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62478.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62479.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62480.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62481.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@62482.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@62483.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62484.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62485.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@62486.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62511.6]
  assign _T_92 = io_in_a_bits_address ^ 29'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@62514.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@62515.8]
  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@62516.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@62517.8]
  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@62518.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62523.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62536.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62537.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62544.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62545.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62551.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62552.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62557.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62559.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62560.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@62565.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62566.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62568.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62569.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@62574.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62576.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62577.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62583.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62637.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62639.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62640.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62663.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@62666.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@62674.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62677.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62678.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62697.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62699.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62700.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62705.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62707.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62708.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62722.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62773.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@62815.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@62816.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@62817.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62819.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62820.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62826.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@62857.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62859.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62860.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62874.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@62905.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62907.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62908.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62922.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@62972.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62974.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62975.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@62981.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@62986.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@62988.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62991.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62992.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@62997.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62999.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63000.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63030.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63088.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63147.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63182.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63218.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63278.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@63283.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63284.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63285.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63288.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63289.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63290.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63291.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63307.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63308.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63310.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63312.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63313.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63318.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63320.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63321.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63326.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63328.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63329.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63334.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63336.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63337.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63342.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63344.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63345.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@63352.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63360.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63362.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63363.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63364.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@63365.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@63366.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63369.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63370.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63371.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63372.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63389.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63390.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63392.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63394.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63395.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63408.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63410.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63411.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63416.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63418.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63419.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@63442.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63462.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63463.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63464.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63465.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63485.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63486.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63487.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63488.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63503.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@63506.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63508.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63509.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63510.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63512.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63513.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@63505.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63524.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@63526.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@63527.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@63529.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@63531.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63532.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63533.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63535.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63536.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@63528.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63542.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63543.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@63544.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63549.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63550.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@63551.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63552.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@63553.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@63554.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63556.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63557.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63563.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63567.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62525.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62597.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62680.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62739.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62790.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62840.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62888.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62936.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62994.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63036.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63094.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63153.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63188.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63224.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_508 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_521 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_523 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_525 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_527 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_529 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_563 = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_576 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_580 = _RAND_8[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_582 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_616 = _RAND_10[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_627 = _RAND_11[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_648 = _RAND_12[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_691 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_508 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_512) begin
          if (_T_505) begin
            _T_508 <= _T_503;
          end else begin
            _T_508 <= 4'h0;
          end
        end else begin
          _T_508 <= _T_511;
        end
      end
    end
    if (_T_553) begin
      _T_521 <= io_in_a_bits_opcode;
    end
    if (_T_553) begin
      _T_523 <= io_in_a_bits_param;
    end
    if (_T_553) begin
      _T_525 <= io_in_a_bits_size;
    end
    if (_T_553) begin
      _T_527 <= io_in_a_bits_source;
    end
    if (_T_553) begin
      _T_529 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_563 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_567) begin
          if (_T_560) begin
            _T_563 <= _T_559;
          end else begin
            _T_563 <= 4'h0;
          end
        end else begin
          _T_563 <= _T_566;
        end
      end
    end
    if (_T_614) begin
      _T_576 <= io_in_d_bits_opcode;
    end
    if (_T_614) begin
      _T_580 <= io_in_d_bits_size;
    end
    if (_T_614) begin
      _T_582 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_616 <= 2'h0;
    end else begin
      _T_616 <= _T_689;
    end
    if (reset) begin
      _T_627 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_631) begin
          if (_T_505) begin
            _T_627 <= _T_503;
          end else begin
            _T_627 <= 4'h0;
          end
        end else begin
          _T_627 <= _T_630;
        end
      end
    end
    if (reset) begin
      _T_648 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_652) begin
          if (_T_560) begin
            _T_648 <= _T_559;
          end else begin
            _T_648 <= 4'h0;
          end
        end else begin
          _T_648 <= _T_651;
        end
      end
    end
    if (reset) begin
      _T_691 <= 32'h0;
    end else begin
      if (_T_705) begin
        _T_691 <= 32'h0;
      end else begin
        _T_691 <= _T_702;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at UART.scala:157:94)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62438.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62439.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62508.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62509.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62525.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62526.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at UART.scala:157:94)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62532.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62533.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62539.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62540.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62547.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62548.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62554.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62555.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at UART.scala:157:94)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62562.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62563.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62571.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62572.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62579.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62580.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62597.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62598.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at UART.scala:157:94)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62604.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62605.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62611.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62612.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62619.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62620.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62626.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62627.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at UART.scala:157:94)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62634.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62635.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at UART.scala:157:94)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62642.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62643.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62651.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62652.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62659.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62660.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62680.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62681.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62687.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62688.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62694.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62695.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62702.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62703.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62710.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62711.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62718.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62719.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62739.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62740.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62746.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62747.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62753.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62754.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62761.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62762.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62769.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62770.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62790.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62791.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62797.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62798.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62804.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62805.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62812.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62813.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62822.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62823.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62840.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62841.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62847.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62848.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62854.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62855.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at UART.scala:157:94)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62862.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62863.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62870.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62871.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62888.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62889.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62895.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62896.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62902.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62903.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at UART.scala:157:94)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62910.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62911.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62918.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62919.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62936.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62937.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62943.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62944.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62950.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62951.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62958.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62959.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62966.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62967.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at UART.scala:157:94)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62977.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@62978.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62994.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@62995.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63002.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63003.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63010.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63011.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63018.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63019.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63026.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63027.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63036.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63037.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at UART.scala:157:94)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63043.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63044.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63051.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63052.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at UART.scala:157:94)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63059.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63060.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at UART.scala:157:94)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63067.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63068.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63075.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63076.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at UART.scala:157:94)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63084.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63085.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63094.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63095.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at UART.scala:157:94)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63101.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63102.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63109.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63110.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at UART.scala:157:94)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63117.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63118.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at UART.scala:157:94)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63125.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63126.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63134.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63135.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at UART.scala:157:94)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63143.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63144.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63153.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63154.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63161.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63162.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63169.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63170.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63178.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63179.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63188.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63189.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63196.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63197.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63205.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63206.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at UART.scala:157:94)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63214.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63215.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63224.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63225.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63232.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63233.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63240.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63241.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63249.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63250.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63259.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63260.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63267.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63268.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63275.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63276.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63315.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63316.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63323.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63324.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63331.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63332.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63339.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63340.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63347.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63348.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63397.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63398.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63405.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63406.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63413.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63414.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63421.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63422.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63429.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63430.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63437.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63438.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at UART.scala:157:94)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63515.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63516.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at UART.scala:157:94)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63538.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63539.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_700) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at UART.scala:157:94)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63559.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_700) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63560.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFragmenter_8( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63603.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63604.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63605.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63606.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63654.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63655.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63656.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@63657.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63658.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63659.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63661.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63662.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63664.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63665.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63666.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@63667.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63683.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@63684.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@63685.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@63685.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@63686.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@63686.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@63687.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@63687.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@63688.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63689.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63690.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@63691.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63692.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63693.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63694.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63695.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63695.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63696.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63697.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63698.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63699.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@63700.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63701.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63702.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63716.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63718.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63719.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@63720.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63703.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63705.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63705.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63706.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63707.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@63712.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63722.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63755.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63756.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63758.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63759.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63760.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63762.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63763.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63764.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63765.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63766.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63768.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63769.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63770.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63771.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63772.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63773.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63774.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63775.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@63778.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@63785.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63786.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@63790.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@63650.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63799.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63791.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63795.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@63796.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@63800.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@63800.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@63801.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@63802.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@63803.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@63803.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@63804.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63805.4]
  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@63806.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63808.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@63812.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@63814.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63816.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63817.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@63824.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@63825.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63827.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63828.4]
  TLMonitor_35 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63613.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  Repeater_4 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63730.4]
    .clock(Repeater_clock),
    .reset(Repeater_reset),
    .io_repeat(Repeater_io_repeat),
    .io_full(Repeater_io_full),
    .io_enq_ready(Repeater_io_enq_ready),
    .io_enq_valid(Repeater_io_enq_valid),
    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
    .io_enq_bits_param(Repeater_io_enq_bits_param),
    .io_enq_bits_size(Repeater_io_enq_bits_size),
    .io_enq_bits_source(Repeater_io_enq_bits_source),
    .io_enq_bits_address(Repeater_io_enq_bits_address),
    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
    .io_deq_ready(Repeater_io_deq_ready),
    .io_deq_valid(Repeater_io_deq_valid),
    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
    .io_deq_bits_param(Repeater_io_deq_bits_param),
    .io_deq_bits_size(Repeater_io_deq_bits_size),
    .io_deq_bits_source(Repeater_io_deq_bits_source),
    .io_deq_bits_address(Repeater_io_deq_bits_address),
    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
  );
  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@63657.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63658.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63659.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63661.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63662.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63664.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63665.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63666.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@63667.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63683.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@63684.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@63685.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@63685.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@63686.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@63686.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@63687.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@63687.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@63688.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63689.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63690.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@63691.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63692.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63693.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63694.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63695.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63695.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63696.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63697.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63698.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63699.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@63700.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63701.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63702.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@63716.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63718.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63719.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@63720.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63703.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63705.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63705.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63706.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@63707.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@63712.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63722.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63755.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@63756.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63758.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63759.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63760.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63762.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63763.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63764.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63765.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63766.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63769.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63770.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63771.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63772.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63773.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@63774.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63775.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@63778.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63786.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@63790.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@63650.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63799.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@63791.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63795.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@63796.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@63800.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@63800.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@63801.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@63802.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@63803.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@63803.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@63804.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63805.4]
  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@63806.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63808.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@63812.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@63814.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63816.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63817.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@63824.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@63825.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63827.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63828.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63653.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63653.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63653.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63653.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63653.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63653.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63652.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63652.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63652.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63652.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63652.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63652.4]
  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63652.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63652.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63652.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63652.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63615.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63616.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@63649.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63732.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63733.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63798.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63734.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63734.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63734.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63734.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63734.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63734.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63734.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@63734.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@63799.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_244 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_246 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_248 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_344 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_362 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_244 <= 4'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_244 <= _T_249;
        end else begin
          _T_244 <= _T_294;
        end
      end
    end
    if (_T_291) begin
      if (_T_250) begin
        _T_246 <= _T_290;
      end
    end
    if (reset) begin
      _T_248 <= 1'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_248 <= _T_296;
        end
      end
    end
    if (reset) begin
      _T_344 <= 4'h0;
    end else begin
      if (_T_365) begin
        _T_344 <= _T_354;
      end
    end
    if (_T_345) begin
      _T_362 <= _T_248;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63678.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63679.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_383) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63819.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_383) begin
          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63820.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_389) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63830.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_389) begin
          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63831.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SimpleLazyModule_16( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63842.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63843.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63844.4]
  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63845.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
  TLFragmenter_8 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@63850.4]
    .clock(fragmenter_clock),
    .reset(fragmenter_reset),
    .auto_in_a_ready(fragmenter_auto_in_a_ready),
    .auto_in_a_valid(fragmenter_auto_in_a_valid),
    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
    .auto_in_d_ready(fragmenter_auto_in_d_ready),
    .auto_in_d_valid(fragmenter_auto_in_d_valid),
    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
    .auto_out_a_ready(fragmenter_auto_out_a_ready),
    .auto_out_a_valid(fragmenter_auto_out_a_valid),
    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
    .auto_out_d_ready(fragmenter_auto_out_d_ready),
    .auto_out_d_valid(fragmenter_auto_out_d_valid),
    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
  );
  assign auto_fragmenter_in_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63862.4]
  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63862.4]
  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63862.4]
  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63862.4]
  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63862.4]
  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63862.4]
  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63862.4]
  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63862.4]
  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63862.4]
  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63862.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63854.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63855.4]
  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63863.4]
  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63861.4]
  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63861.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63861.4]
  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63861.4]
  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63861.4]
  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63861.4]
endmodule
module TLMonitor_36( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63872.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63873.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63874.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@63875.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@64996.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@63891.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63896.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63898.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63899.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63900.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@63901.6]
  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@63901.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@63902.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63904.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63905.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@63907.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@63908.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63909.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63910.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@63911.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63913.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63914.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63916.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63917.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63918.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63919.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@63920.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63921.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63922.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63923.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63924.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63925.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63926.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63927.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63928.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63929.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63930.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63931.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63932.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63933.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63934.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63935.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63960.6]
  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63963.8]
  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63964.8]
  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@63965.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@63966.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@63967.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63972.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63985.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63986.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63993.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63994.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64000.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64001.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64006.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64008.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64009.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@64014.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64015.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64017.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64018.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@64023.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64025.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64026.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64032.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64086.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64088.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64089.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64112.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@64115.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@64123.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64126.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64127.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64146.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64148.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64149.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64154.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64156.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64157.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64171.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64222.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@64264.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64265.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@64266.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64268.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64269.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64275.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@64306.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64308.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64309.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64323.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@64354.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64356.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64357.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64371.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@64421.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@64423.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@64424.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@64430.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@64435.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64437.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64440.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64441.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64446.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64448.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64449.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64479.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64537.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64596.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64631.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64667.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64727.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@64732.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@64733.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64734.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64736.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64737.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64738.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64739.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64740.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64751.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64752.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64753.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64754.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64755.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64756.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64757.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64759.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64761.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64762.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64767.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64769.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64770.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64775.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64777.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64778.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64783.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64785.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64786.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64791.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64793.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64794.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@64801.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64809.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@64811.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@64812.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@64813.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@64814.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@64815.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64817.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64818.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64819.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64820.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64821.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64832.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64834.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64835.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64838.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64839.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64841.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64843.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64844.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64857.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64859.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64860.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64865.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64867.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64868.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64900.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64910.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64911.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64912.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64913.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64914.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64933.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64934.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64935.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64936.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64937.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64952.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@64955.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@64957.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@64958.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64959.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64961.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64962.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@64954.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64973.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@64975.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@64976.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@64978.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@64980.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64981.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64982.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64984.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64985.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@64977.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64991.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@64992.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@64993.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64995.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@64998.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64999.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@65000.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65001.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@65002.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@65003.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65005.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65006.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@65012.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65016.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63974.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64046.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64129.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64188.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64239.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64289.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64337.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64385.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64443.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64485.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64543.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64602.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64637.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64673.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@64996.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@63891.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63896.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@63898.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@63899.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@63900.6]
  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@63901.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@63901.6]
  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@63902.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63904.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63905.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@63907.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@63908.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63909.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63910.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@63911.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63913.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63914.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63916.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63917.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63918.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@63919.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@63920.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63921.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63922.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63923.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63924.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63925.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63926.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63927.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63928.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63929.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@63930.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@63931.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@63932.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63933.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63934.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@63935.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@63960.6]
  assign _T_92 = io_in_a_bits_address ^ 29'h10053000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@63963.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@63964.8]
  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@63965.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@63966.8]
  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@63967.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63972.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63985.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63986.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63993.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63994.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64000.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64001.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64006.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64008.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64009.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@64014.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64015.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64017.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64018.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@64023.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64025.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64026.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64032.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64086.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64088.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64089.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64112.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@64115.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@64123.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64126.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64127.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64146.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64148.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64149.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64154.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64156.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64157.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64171.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64222.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@64264.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64265.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@64266.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64268.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64269.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64275.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@64306.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64308.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64309.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64323.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@64354.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64356.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64357.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64371.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@64421.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@64423.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@64424.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@64430.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@64435.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64437.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64440.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64441.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64446.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64448.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64449.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64479.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64537.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64596.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64631.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64667.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64727.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@64732.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@64733.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64734.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64737.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64738.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64739.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64740.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64756.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64757.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64759.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64761.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64762.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64767.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64769.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64770.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64775.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64777.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64778.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64783.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64785.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64786.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64791.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64793.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64794.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@64801.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64809.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@64811.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@64812.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@64813.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@64814.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@64815.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64818.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64819.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64820.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64821.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@64838.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@64839.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64841.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64843.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64844.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64857.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64859.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64860.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@64865.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64867.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64868.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@64891.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64911.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64912.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64913.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64914.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64934.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64935.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@64936.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@64937.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64952.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@64955.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@64957.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@64958.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64959.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64961.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64962.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@64954.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64973.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@64975.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@64976.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@64978.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@64980.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64981.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@64982.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64984.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64985.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@64977.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@64991.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@64992.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@64993.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@64998.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64999.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@65000.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65001.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@65002.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@65003.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65005.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65006.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@65012.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65016.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63974.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64046.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64129.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64188.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64239.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64289.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64337.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64385.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64443.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64485.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64543.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64602.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64637.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64673.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_508 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_521 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_523 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_525 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_527 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_529 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_563 = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_576 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_580 = _RAND_8[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_582 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_616 = _RAND_10[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_627 = _RAND_11[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_648 = _RAND_12[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_691 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_508 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_512) begin
          if (_T_505) begin
            _T_508 <= _T_503;
          end else begin
            _T_508 <= 4'h0;
          end
        end else begin
          _T_508 <= _T_511;
        end
      end
    end
    if (_T_553) begin
      _T_521 <= io_in_a_bits_opcode;
    end
    if (_T_553) begin
      _T_523 <= io_in_a_bits_param;
    end
    if (_T_553) begin
      _T_525 <= io_in_a_bits_size;
    end
    if (_T_553) begin
      _T_527 <= io_in_a_bits_source;
    end
    if (_T_553) begin
      _T_529 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_563 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_567) begin
          if (_T_560) begin
            _T_563 <= _T_559;
          end else begin
            _T_563 <= 4'h0;
          end
        end else begin
          _T_563 <= _T_566;
        end
      end
    end
    if (_T_614) begin
      _T_576 <= io_in_d_bits_opcode;
    end
    if (_T_614) begin
      _T_580 <= io_in_d_bits_size;
    end
    if (_T_614) begin
      _T_582 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_616 <= 2'h0;
    end else begin
      _T_616 <= _T_689;
    end
    if (reset) begin
      _T_627 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_631) begin
          if (_T_505) begin
            _T_627 <= _T_503;
          end else begin
            _T_627 <= 4'h0;
          end
        end else begin
          _T_627 <= _T_630;
        end
      end
    end
    if (reset) begin
      _T_648 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_652) begin
          if (_T_560) begin
            _T_648 <= _T_559;
          end else begin
            _T_648 <= 4'h0;
          end
        end else begin
          _T_648 <= _T_651;
        end
      end
    end
    if (reset) begin
      _T_691 <= 32'h0;
    end else begin
      if (_T_705) begin
        _T_691 <= 32'h0;
      end else begin
        _T_691 <= _T_702;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at UART.scala:157:94)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63887.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63888.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63957.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@63958.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63974.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63975.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at UART.scala:157:94)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63981.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63982.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63988.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63989.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63996.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@63997.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64003.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64004.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at UART.scala:157:94)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64011.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64012.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64020.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64021.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64028.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64029.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64046.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64047.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at UART.scala:157:94)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64053.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64054.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64060.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64061.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64068.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64069.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64075.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64076.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at UART.scala:157:94)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64083.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64084.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at UART.scala:157:94)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64091.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64092.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64100.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64101.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64108.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64109.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64129.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64130.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64136.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64137.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64143.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64144.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64151.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64152.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64159.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64160.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64167.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64168.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64188.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64189.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64195.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64196.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64202.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64203.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64210.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64211.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64218.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64219.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64239.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64240.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64246.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64247.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64253.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64254.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64261.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64262.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64271.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64272.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64289.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64290.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64296.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64297.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64303.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64304.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at UART.scala:157:94)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64311.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64312.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64319.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64320.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64337.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64338.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64344.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64345.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64351.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64352.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at UART.scala:157:94)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64359.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64360.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64367.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64368.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at UART.scala:157:94)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64385.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64386.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64392.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64393.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at UART.scala:157:94)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64399.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64400.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at UART.scala:157:94)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64407.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64408.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64415.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64416.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at UART.scala:157:94)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@64426.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@64427.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64443.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64444.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64451.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64452.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64459.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64460.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64467.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64468.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64475.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64476.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64485.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64486.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at UART.scala:157:94)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64492.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64493.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64500.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64501.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at UART.scala:157:94)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64508.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64509.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at UART.scala:157:94)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64516.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64517.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64524.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64525.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at UART.scala:157:94)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64533.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64534.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64543.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64544.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at UART.scala:157:94)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64550.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64551.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at UART.scala:157:94)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64558.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64559.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at UART.scala:157:94)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64566.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64567.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at UART.scala:157:94)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64574.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64575.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64583.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64584.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at UART.scala:157:94)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64592.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64593.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64602.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64603.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64610.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64611.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64618.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64619.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64627.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64628.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64637.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64638.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64645.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64646.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64654.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64655.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at UART.scala:157:94)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64663.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64664.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at UART.scala:157:94)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64673.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64674.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at UART.scala:157:94)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64681.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64682.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at UART.scala:157:94)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64689.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64690.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at UART.scala:157:94)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64698.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64699.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64708.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64709.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64716.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64717.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at UART.scala:157:94)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64724.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64725.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64764.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64765.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64772.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64773.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64780.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64781.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64788.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64789.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64796.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64797.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64846.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64847.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64854.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64855.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64862.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64863.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64870.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64871.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64878.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64879.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at UART.scala:157:94)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64886.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@64887.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at UART.scala:157:94)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64964.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64965.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at UART.scala:157:94)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64987.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@64988.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_700) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at UART.scala:157:94)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65008.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_700) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65009.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFragmenter_9( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65052.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65053.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65054.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65055.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65103.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@65104.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65105.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@65106.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65107.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65108.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65110.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65111.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65113.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@65114.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65115.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@65116.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65132.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@65133.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@65134.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@65134.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@65135.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@65135.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@65136.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@65136.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@65137.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65138.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@65139.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@65140.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@65141.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@65142.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65143.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65144.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65144.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@65145.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@65146.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65147.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65148.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@65149.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65150.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65151.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@65165.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65167.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65168.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@65169.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@65152.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@65154.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@65154.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@65155.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@65156.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@65161.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@65171.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65204.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@65205.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65207.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@65208.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65209.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65211.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@65212.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65213.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@65214.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65215.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65217.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65218.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65219.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65220.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65221.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65222.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65223.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@65224.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@65227.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@65234.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65235.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@65239.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@65099.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@65248.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@65240.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65244.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@65245.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@65249.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@65249.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@65250.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@65251.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@65252.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@65252.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@65253.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65254.4]
  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@65255.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65257.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@65261.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@65263.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65265.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65266.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@65273.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@65274.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65276.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65277.4]
  TLMonitor_36 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65062.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  Repeater_4 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65179.4]
    .clock(Repeater_clock),
    .reset(Repeater_reset),
    .io_repeat(Repeater_io_repeat),
    .io_full(Repeater_io_full),
    .io_enq_ready(Repeater_io_enq_ready),
    .io_enq_valid(Repeater_io_enq_valid),
    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
    .io_enq_bits_param(Repeater_io_enq_bits_param),
    .io_enq_bits_size(Repeater_io_enq_bits_size),
    .io_enq_bits_source(Repeater_io_enq_bits_source),
    .io_enq_bits_address(Repeater_io_enq_bits_address),
    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
    .io_deq_ready(Repeater_io_deq_ready),
    .io_deq_valid(Repeater_io_deq_valid),
    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
    .io_deq_bits_param(Repeater_io_deq_bits_param),
    .io_deq_bits_size(Repeater_io_deq_bits_size),
    .io_deq_bits_source(Repeater_io_deq_bits_source),
    .io_deq_bits_address(Repeater_io_deq_bits_address),
    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
  );
  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@65106.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65107.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65108.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65110.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65111.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65113.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@65114.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65115.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@65116.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65132.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@65133.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@65134.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@65134.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@65135.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@65135.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@65136.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@65136.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@65137.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65138.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@65139.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@65140.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@65141.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@65142.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65143.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65144.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65144.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@65145.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@65146.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65147.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65148.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@65149.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65150.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65151.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@65165.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65167.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65168.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@65169.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@65152.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@65154.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@65154.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@65155.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@65156.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@65161.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@65171.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65204.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@65205.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65207.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@65208.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65209.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65211.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@65212.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65213.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@65214.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65215.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65218.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65219.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65220.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65221.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65222.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65223.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@65224.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@65227.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65235.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@65239.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@65099.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@65248.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@65240.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65244.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@65245.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@65249.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@65249.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@65250.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@65251.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@65252.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@65252.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@65253.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65254.4]
  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@65255.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65257.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@65261.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@65263.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65265.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65266.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@65273.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@65274.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65276.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65277.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65102.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65102.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65102.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65102.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65102.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65102.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65101.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65101.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65101.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65101.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65101.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65101.4]
  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65101.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65101.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65101.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65101.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65064.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65065.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@65098.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65181.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65182.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@65247.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@65183.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@65183.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@65183.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@65183.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@65183.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@65183.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@65183.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@65183.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@65248.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_244 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_246 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_248 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_344 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_362 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_244 <= 4'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_244 <= _T_249;
        end else begin
          _T_244 <= _T_294;
        end
      end
    end
    if (_T_291) begin
      if (_T_250) begin
        _T_246 <= _T_290;
      end
    end
    if (reset) begin
      _T_248 <= 1'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_248 <= _T_296;
        end
      end
    end
    if (reset) begin
      _T_344 <= 4'h0;
    end else begin
      if (_T_365) begin
        _T_344 <= _T_354;
      end
    end
    if (_T_345) begin
      _T_362 <= _T_248;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65127.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65128.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_383) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65268.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_383) begin
          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65269.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_389) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65279.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_389) begin
          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65280.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SimpleLazyModule_17( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65291.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65292.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65293.4]
  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65294.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
  TLFragmenter_9 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@65299.4]
    .clock(fragmenter_clock),
    .reset(fragmenter_reset),
    .auto_in_a_ready(fragmenter_auto_in_a_ready),
    .auto_in_a_valid(fragmenter_auto_in_a_valid),
    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
    .auto_in_d_ready(fragmenter_auto_in_d_ready),
    .auto_in_d_valid(fragmenter_auto_in_d_valid),
    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
    .auto_out_a_ready(fragmenter_auto_out_a_ready),
    .auto_out_a_valid(fragmenter_auto_out_a_valid),
    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
    .auto_out_d_ready(fragmenter_auto_out_d_ready),
    .auto_out_d_valid(fragmenter_auto_out_d_valid),
    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
  );
  assign auto_fragmenter_in_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65311.4]
  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65311.4]
  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65311.4]
  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65311.4]
  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65311.4]
  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65311.4]
  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65311.4]
  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65311.4]
  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65311.4]
  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65311.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65303.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65304.4]
  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65312.4]
  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65310.4]
  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65310.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65310.4]
  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65310.4]
  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65310.4]
  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65310.4]
endmodule
module TLMonitor_37( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65321.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65322.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65323.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@65324.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@66445.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@65340.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65345.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65347.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@65348.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65349.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@65350.6]
  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@65350.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@65351.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65353.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65354.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@65356.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@65357.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@65358.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@65359.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@65360.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@65362.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65363.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@65365.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65366.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@65367.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@65368.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@65369.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65370.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@65371.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65372.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65373.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@65374.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65375.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65376.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@65377.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65378.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65379.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@65380.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65381.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65382.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65383.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65384.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65409.6]
  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65412.8]
  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65413.8]
  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@65414.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@65415.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@65416.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65421.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65434.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65435.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65442.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65443.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65449.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65450.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65455.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65457.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65458.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@65463.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65464.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65466.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65467.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@65472.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65474.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65475.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65481.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65535.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65537.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65538.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65561.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@65564.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@65572.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65575.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65576.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65595.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65597.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65598.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65603.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65605.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65606.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65620.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65671.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@65713.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65714.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@65715.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65717.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65718.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65724.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@65755.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65757.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65758.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65772.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@65803.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65805.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65806.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65820.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@65870.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65872.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65873.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@65879.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65884.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65886.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65889.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65890.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65895.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65897.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65898.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65928.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65986.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66045.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66080.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66116.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66176.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@66181.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66182.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66183.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66185.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66186.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66187.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66188.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66189.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66200.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66201.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66202.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66203.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66204.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66205.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66206.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66208.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66210.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66211.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66216.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66218.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66219.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66224.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66226.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66227.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66232.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66234.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66235.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66240.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66242.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66243.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@66250.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66258.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66260.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66261.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66262.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@66263.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@66264.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66266.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66267.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66268.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66269.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66270.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66281.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66283.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66284.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66287.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66288.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66290.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66292.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66293.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66306.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66308.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66309.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66314.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66316.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66317.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66349.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66359.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66360.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66361.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66362.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66363.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66382.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66383.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66384.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66385.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66386.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66401.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@66404.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66406.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66407.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66408.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66410.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66411.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@66403.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66422.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@66424.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@66425.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@66427.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@66429.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66430.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66431.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66433.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66434.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@66426.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66440.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@66441.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@66442.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66444.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66447.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66448.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@66449.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66450.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@66451.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@66452.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66454.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66455.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@66461.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66465.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65423.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65495.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65578.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65637.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65688.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65738.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65786.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65834.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65892.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65934.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65992.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66051.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66086.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66122.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@66445.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@65340.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65345.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@65347.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@65348.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65349.6]
  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@65350.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@65350.6]
  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@65351.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65353.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65354.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@65356.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@65357.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@65358.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@65359.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@65360.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@65362.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65363.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@65365.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65366.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@65367.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@65368.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@65369.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65370.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@65371.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65372.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65373.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@65374.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65375.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65376.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@65377.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65378.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65379.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@65380.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@65381.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65382.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65383.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@65384.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65409.6]
  assign _T_92 = io_in_a_bits_address ^ 29'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@65412.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@65413.8]
  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@65414.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@65415.8]
  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@65416.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65421.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65434.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65435.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65442.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65443.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65449.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65450.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65455.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65457.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65458.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@65463.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65464.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65466.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65467.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@65472.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65474.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65475.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65481.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65535.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65537.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65538.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65561.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@65564.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@65572.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65575.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65576.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65595.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65597.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65598.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65603.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65605.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65606.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65620.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65671.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@65713.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@65714.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@65715.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65717.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65718.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65724.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@65755.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65757.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65758.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65772.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@65803.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65805.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65806.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65820.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@65870.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65872.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65873.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@65879.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@65884.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65886.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65889.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65890.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@65895.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65897.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65898.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65928.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@65986.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66045.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66080.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66116.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66176.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@66181.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66182.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66183.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66186.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66187.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66188.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66189.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66205.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66206.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66208.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66210.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66211.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66216.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66218.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66219.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66224.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66226.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66227.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66232.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66234.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66235.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66240.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66242.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66243.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@66250.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66258.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66260.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66261.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66262.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@66263.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@66264.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66267.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66268.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66269.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66270.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66287.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66288.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66290.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66292.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66293.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66306.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66308.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66309.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66314.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66316.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66317.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@66340.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66360.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66361.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66362.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66363.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66383.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66384.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66385.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66386.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66401.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@66404.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66406.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66407.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66408.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66410.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66411.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@66403.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66422.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@66424.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@66425.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@66427.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@66429.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66430.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66431.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66433.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66434.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@66426.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66440.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@66441.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@66442.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66447.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66448.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@66449.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66450.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@66451.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@66452.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66454.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66455.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@66461.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66465.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65423.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65495.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65578.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65637.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65688.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65738.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65786.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65834.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65892.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65934.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65992.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66051.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66086.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66122.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_508 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_521 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_523 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_525 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_527 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_529 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_563 = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_576 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_580 = _RAND_8[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_582 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_616 = _RAND_10[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_627 = _RAND_11[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_648 = _RAND_12[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_691 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_508 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_512) begin
          if (_T_505) begin
            _T_508 <= _T_503;
          end else begin
            _T_508 <= 4'h0;
          end
        end else begin
          _T_508 <= _T_511;
        end
      end
    end
    if (_T_553) begin
      _T_521 <= io_in_a_bits_opcode;
    end
    if (_T_553) begin
      _T_523 <= io_in_a_bits_param;
    end
    if (_T_553) begin
      _T_525 <= io_in_a_bits_size;
    end
    if (_T_553) begin
      _T_527 <= io_in_a_bits_source;
    end
    if (_T_553) begin
      _T_529 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_563 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_567) begin
          if (_T_560) begin
            _T_563 <= _T_559;
          end else begin
            _T_563 <= 4'h0;
          end
        end else begin
          _T_563 <= _T_566;
        end
      end
    end
    if (_T_614) begin
      _T_576 <= io_in_d_bits_opcode;
    end
    if (_T_614) begin
      _T_580 <= io_in_d_bits_size;
    end
    if (_T_614) begin
      _T_582 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_616 <= 2'h0;
    end else begin
      _T_616 <= _T_689;
    end
    if (reset) begin
      _T_627 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_631) begin
          if (_T_505) begin
            _T_627 <= _T_503;
          end else begin
            _T_627 <= 4'h0;
          end
        end else begin
          _T_627 <= _T_630;
        end
      end
    end
    if (reset) begin
      _T_648 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_652) begin
          if (_T_560) begin
            _T_648 <= _T_559;
          end else begin
            _T_648 <= 4'h0;
          end
        end else begin
          _T_648 <= _T_651;
        end
      end
    end
    if (reset) begin
      _T_691 <= 32'h0;
    end else begin
      if (_T_705) begin
        _T_691 <= 32'h0;
      end else begin
        _T_691 <= _T_702;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at SPI.scala:71:94)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65336.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65337.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65406.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65407.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at SPI.scala:71:94)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65423.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65424.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SPI.scala:71:94)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65430.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65431.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65437.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65438.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SPI.scala:71:94)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65445.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65446.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SPI.scala:71:94)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65452.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65453.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SPI.scala:71:94)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65460.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65461.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SPI.scala:71:94)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65469.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65470.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SPI.scala:71:94)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65477.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65478.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at SPI.scala:71:94)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65495.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65496.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SPI.scala:71:94)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65502.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65503.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65509.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65510.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SPI.scala:71:94)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65517.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65518.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SPI.scala:71:94)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65524.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65525.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SPI.scala:71:94)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65532.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65533.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SPI.scala:71:94)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65540.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65541.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SPI.scala:71:94)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65549.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65550.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SPI.scala:71:94)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65557.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65558.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at SPI.scala:71:94)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65578.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65579.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65585.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65586.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at SPI.scala:71:94)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65592.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65593.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at SPI.scala:71:94)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65600.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65601.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at SPI.scala:71:94)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65608.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65609.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at SPI.scala:71:94)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65616.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65617.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SPI.scala:71:94)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65637.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65638.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65644.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65645.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at SPI.scala:71:94)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65651.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65652.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at SPI.scala:71:94)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65659.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65660.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at SPI.scala:71:94)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65667.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65668.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at SPI.scala:71:94)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65688.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65689.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65695.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65696.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SPI.scala:71:94)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65702.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65703.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at SPI.scala:71:94)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65710.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65711.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SPI.scala:71:94)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65720.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65721.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at SPI.scala:71:94)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65738.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65739.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65745.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65746.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SPI.scala:71:94)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65752.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65753.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SPI.scala:71:94)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65760.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65761.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SPI.scala:71:94)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65768.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65769.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at SPI.scala:71:94)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65786.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65787.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65793.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65794.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at SPI.scala:71:94)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65800.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65801.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SPI.scala:71:94)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65808.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65809.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at SPI.scala:71:94)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65816.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65817.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at SPI.scala:71:94)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65834.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65835.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65841.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65842.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at SPI.scala:71:94)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65848.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65849.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at SPI.scala:71:94)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65856.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65857.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at SPI.scala:71:94)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65864.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65865.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SPI.scala:71:94)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65875.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@65876.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65892.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65893.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SPI.scala:71:94)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65900.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65901.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SPI.scala:71:94)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65908.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65909.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SPI.scala:71:94)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65916.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65917.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at SPI.scala:71:94)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65924.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65925.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65934.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65935.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SPI.scala:71:94)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65941.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65942.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at SPI.scala:71:94)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65949.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65950.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at SPI.scala:71:94)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65957.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65958.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at SPI.scala:71:94)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65965.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65966.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at SPI.scala:71:94)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65973.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65974.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at SPI.scala:71:94)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65982.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65983.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65992.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65993.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SPI.scala:71:94)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@65999.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66000.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SPI.scala:71:94)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66007.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66008.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SPI.scala:71:94)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66015.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66016.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at SPI.scala:71:94)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66023.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66024.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SPI.scala:71:94)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66032.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66033.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at SPI.scala:71:94)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66041.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66042.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66051.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66052.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at SPI.scala:71:94)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66059.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66060.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at SPI.scala:71:94)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66067.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66068.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at SPI.scala:71:94)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66076.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66077.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66086.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66087.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SPI.scala:71:94)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66094.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66095.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SPI.scala:71:94)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66103.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66104.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at SPI.scala:71:94)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66112.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66113.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66122.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66123.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at SPI.scala:71:94)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66130.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66131.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at SPI.scala:71:94)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66138.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66139.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at SPI.scala:71:94)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66147.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66148.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at SPI.scala:71:94)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66157.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66158.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at SPI.scala:71:94)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66165.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66166.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at SPI.scala:71:94)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66173.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66174.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SPI.scala:71:94)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66213.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66214.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SPI.scala:71:94)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66221.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66222.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SPI.scala:71:94)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66229.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66230.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SPI.scala:71:94)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66237.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66238.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SPI.scala:71:94)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66245.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66246.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SPI.scala:71:94)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66295.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66296.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at SPI.scala:71:94)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66303.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66304.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SPI.scala:71:94)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66311.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66312.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SPI.scala:71:94)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66319.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66320.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at SPI.scala:71:94)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66327.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66328.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at SPI.scala:71:94)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66335.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66336.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SPI.scala:71:94)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66413.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66414.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:71:94)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66436.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66437.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_700) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SPI.scala:71:94)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66457.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_700) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66458.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFragmenter_10( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66501.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66502.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66503.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66504.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66552.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66553.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66554.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@66555.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66556.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66557.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66559.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66560.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66562.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66563.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66564.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@66565.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66581.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@66582.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@66583.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@66583.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@66584.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@66584.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@66585.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@66585.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@66586.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66587.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66588.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@66589.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66590.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66591.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66592.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66593.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66593.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66594.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66595.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66596.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66597.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@66598.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66599.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66600.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66614.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66616.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66617.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@66618.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66601.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66603.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66603.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66604.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66605.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@66610.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66620.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66653.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66654.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66656.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66657.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66658.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66660.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66661.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66662.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66663.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66664.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66666.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66667.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66668.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66669.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66670.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66671.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66672.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@66673.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@66676.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@66683.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66684.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@66688.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@66548.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66697.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66689.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66693.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@66694.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@66698.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@66698.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@66699.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@66700.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@66701.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@66701.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@66702.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66703.4]
  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@66704.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66706.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@66710.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@66712.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66714.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66715.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@66722.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@66723.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66725.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66726.4]
  TLMonitor_37 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66511.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  Repeater_4 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66628.4]
    .clock(Repeater_clock),
    .reset(Repeater_reset),
    .io_repeat(Repeater_io_repeat),
    .io_full(Repeater_io_full),
    .io_enq_ready(Repeater_io_enq_ready),
    .io_enq_valid(Repeater_io_enq_valid),
    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
    .io_enq_bits_param(Repeater_io_enq_bits_param),
    .io_enq_bits_size(Repeater_io_enq_bits_size),
    .io_enq_bits_source(Repeater_io_enq_bits_source),
    .io_enq_bits_address(Repeater_io_enq_bits_address),
    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
    .io_deq_ready(Repeater_io_deq_ready),
    .io_deq_valid(Repeater_io_deq_valid),
    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
    .io_deq_bits_param(Repeater_io_deq_bits_param),
    .io_deq_bits_size(Repeater_io_deq_bits_size),
    .io_deq_bits_source(Repeater_io_deq_bits_source),
    .io_deq_bits_address(Repeater_io_deq_bits_address),
    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
  );
  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@66555.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66556.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66557.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66559.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66560.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66562.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66563.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66564.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@66565.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66581.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@66582.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@66583.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@66583.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@66584.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@66584.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@66585.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@66585.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@66586.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66587.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66588.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@66589.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66590.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66591.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66592.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66593.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66593.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66594.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66595.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66596.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66597.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@66598.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66599.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66600.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@66614.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66616.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66617.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@66618.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66601.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66603.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66603.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66604.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@66605.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@66610.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66620.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66653.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@66654.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66656.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66657.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66658.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66660.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66661.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66662.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66663.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66664.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66667.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66668.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66669.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66670.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66671.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66672.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@66673.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@66676.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66684.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@66688.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@66548.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66697.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@66689.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@66693.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@66694.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@66698.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@66698.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@66699.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@66700.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@66701.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@66701.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@66702.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66703.4]
  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@66704.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@66706.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@66710.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@66712.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66714.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66715.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@66722.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@66723.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66725.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66726.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66551.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66551.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66551.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66551.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66551.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66551.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66550.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66550.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66550.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66550.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66550.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66550.4]
  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66550.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66550.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66550.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66550.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66513.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66514.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@66547.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66630.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66631.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@66696.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66632.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66632.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66632.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66632.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66632.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66632.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66632.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@66632.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@66697.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_244 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_246 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_248 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_344 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_362 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_244 <= 4'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_244 <= _T_249;
        end else begin
          _T_244 <= _T_294;
        end
      end
    end
    if (_T_291) begin
      if (_T_250) begin
        _T_246 <= _T_290;
      end
    end
    if (reset) begin
      _T_248 <= 1'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_248 <= _T_296;
        end
      end
    end
    if (reset) begin
      _T_344 <= 4'h0;
    end else begin
      if (_T_365) begin
        _T_344 <= _T_354;
      end
    end
    if (_T_345) begin
      _T_362 <= _T_248;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66576.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66577.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_383) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66717.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_383) begin
          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66718.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_389) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66728.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_389) begin
          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66729.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SimpleLazyModule_18( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66740.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66741.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66742.4]
  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66743.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
  TLFragmenter_10 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@66748.4]
    .clock(fragmenter_clock),
    .reset(fragmenter_reset),
    .auto_in_a_ready(fragmenter_auto_in_a_ready),
    .auto_in_a_valid(fragmenter_auto_in_a_valid),
    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
    .auto_in_d_ready(fragmenter_auto_in_d_ready),
    .auto_in_d_valid(fragmenter_auto_in_d_valid),
    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
    .auto_out_a_ready(fragmenter_auto_out_a_ready),
    .auto_out_a_valid(fragmenter_auto_out_a_valid),
    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
    .auto_out_d_ready(fragmenter_auto_out_d_ready),
    .auto_out_d_valid(fragmenter_auto_out_d_valid),
    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
  );
  assign auto_fragmenter_in_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66760.4]
  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66760.4]
  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66760.4]
  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66760.4]
  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66760.4]
  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66760.4]
  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66760.4]
  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66760.4]
  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66760.4]
  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66760.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66752.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66753.4]
  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66761.4]
  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66759.4]
  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66759.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66759.4]
  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66759.4]
  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66759.4]
  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66759.4]
endmodule
module TLMonitor_38( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66770.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66771.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66772.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66773.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66773.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66773.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66773.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66773.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66773.4]
  input  [29:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66773.4]
  input         io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66773.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66773.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66773.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66773.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66773.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@66773.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@67857.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@66789.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66794.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66796.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66797.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66798.6]
  wire [29:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@66799.6]
  wire [29:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@66799.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@66800.6]
  wire  _T_59; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66827.6]
  wire [29:0] _T_61; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66830.8]
  wire [30:0] _T_62; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66831.8]
  wire [30:0] _T_63; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@66832.8]
  wire [30:0] _T_64; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@66833.8]
  wire  _T_65; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@66834.8]
  wire  _T_70; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66839.8]
  wire  _T_75; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66852.8]
  wire  _T_76; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66853.8]
  wire  _T_82; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66867.8]
  wire  _T_83; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66868.8]
  wire  _T_84; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66873.8]
  wire  _T_86; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66875.8]
  wire  _T_87; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66876.8]
  wire  _T_88; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@66881.8]
  wire  _T_89; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66882.8]
  wire  _T_91; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66884.8]
  wire  _T_92; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66885.8]
  wire  _T_93; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@66890.8]
  wire  _T_95; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66892.8]
  wire  _T_96; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66893.8]
  wire  _T_97; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66899.6]
  wire  _T_126; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66953.8]
  wire  _T_128; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66955.8]
  wire  _T_129; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66956.8]
  wire  _T_139; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66979.6]
  wire  _T_141; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@66982.8]
  wire  _T_149; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@66990.8]
  wire  _T_152; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66993.8]
  wire  _T_153; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66994.8]
  wire  _T_160; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67013.8]
  wire  _T_162; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67015.8]
  wire  _T_163; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67016.8]
  wire  _T_166; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67023.8]
  wire  _T_167; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67024.8]
  wire  _T_172; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67038.6]
  wire  _T_198; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67086.6]
  wire  _T_226; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67136.6]
  wire  _T_244; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@67167.8]
  wire  _T_246; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67169.8]
  wire  _T_247; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67170.8]
  wire  _T_252; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67184.6]
  wire  _T_270; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@67215.8]
  wire  _T_272; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67217.8]
  wire  _T_273; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67218.8]
  wire  _T_278; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67232.6]
  wire  _T_309; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@67291.6]
  wire  _T_318; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@67296.6]
  wire  _T_322; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67301.8]
  wire  _T_323; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67302.8]
  wire  _T_461; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67588.4]
  reg [5:0] _T_471; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67597.4]
  reg [31:0] _RAND_0;
  wire [6:0] _T_472; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67598.4]
  wire [6:0] _T_473; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67599.4]
  wire [5:0] _T_474; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67600.4]
  wire  _T_475; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67601.4]
  reg [2:0] _T_484; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67612.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_486; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67613.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_488; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67614.4]
  reg [31:0] _RAND_3;
  reg  _T_490; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67615.4]
  reg [31:0] _RAND_4;
  reg [29:0] _T_492; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67616.4]
  reg [31:0] _RAND_5;
  wire  _T_493; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67617.4]
  wire  _T_494; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67618.4]
  wire  _T_495; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67620.6]
  wire  _T_497; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67622.6]
  wire  _T_498; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67623.6]
  wire  _T_499; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67628.6]
  wire  _T_501; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67630.6]
  wire  _T_502; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67631.6]
  wire  _T_503; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67636.6]
  wire  _T_505; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67638.6]
  wire  _T_506; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67639.6]
  wire  _T_507; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67644.6]
  wire  _T_509; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67646.6]
  wire  _T_510; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67647.6]
  wire  _T_511; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67652.6]
  wire  _T_513; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67654.6]
  wire  _T_514; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67655.6]
  wire  _T_516; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@67662.4]
  wire  _T_517; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67670.4]
  wire [12:0] _T_519; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@67672.4]
  wire [5:0] _T_520; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@67673.4]
  wire [5:0] _T_521; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@67674.4]
  reg [5:0] _T_526; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67678.4]
  reg [31:0] _RAND_6;
  wire [6:0] _T_527; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67679.4]
  wire [6:0] _T_528; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67680.4]
  wire [5:0] _T_529; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67681.4]
  wire  _T_530; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67682.4]
  reg [2:0] _T_543; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67695.4]
  reg [31:0] _RAND_7;
  reg  _T_545; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67696.4]
  reg [31:0] _RAND_8;
  wire  _T_550; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67699.4]
  wire  _T_551; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67700.4]
  wire  _T_560; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67718.6]
  wire  _T_562; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67720.6]
  wire  _T_563; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67721.6]
  wire  _T_564; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67726.6]
  wire  _T_566; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67728.6]
  wire  _T_567; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67729.6]
  wire  _T_577; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@67752.4]
  reg [1:0] _T_579; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67761.4]
  reg [31:0] _RAND_9;
  reg [5:0] _T_590; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67771.4]
  reg [31:0] _RAND_10;
  wire [6:0] _T_591; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67772.4]
  wire [6:0] _T_592; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67773.4]
  wire [5:0] _T_593; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67774.4]
  wire  _T_594; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67775.4]
  reg [5:0] _T_611; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67794.4]
  reg [31:0] _RAND_11;
  wire [6:0] _T_612; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67795.4]
  wire [6:0] _T_613; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67796.4]
  wire [5:0] _T_614; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67797.4]
  wire  _T_615; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67798.4]
  wire  _T_626; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67813.4]
  wire [1:0] _T_628; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67816.6]
  wire [1:0] _T_629; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67818.6]
  wire  _T_630; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67819.6]
  wire  _T_631; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67820.6]
  wire  _T_633; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67822.6]
  wire  _T_634; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67823.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@67815.4]
  wire  _T_639; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67834.4]
  wire [1:0] _T_643; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67839.6]
  wire [1:0] _T_644; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@67841.6]
  wire [1:0] _T_645; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67842.6]
  wire  _T_646; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67843.6]
  wire  _T_648; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67845.6]
  wire  _T_649; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67846.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@67838.4]
  wire [1:0] _T_650; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67852.4]
  wire [1:0] _T_651; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@67853.4]
  wire [1:0] _T_652; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@67854.4]
  reg [31:0] _T_654; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67856.4]
  reg [31:0] _RAND_12;
  wire  _T_655; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67859.4]
  wire  _T_656; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67860.4]
  wire  _T_657; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@67861.4]
  wire  _T_658; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67862.4]
  wire  _T_659; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@67863.4]
  wire  _T_660; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@67864.4]
  wire  _T_662; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@67866.4]
  wire  _T_663; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@67867.4]
  wire [31:0] _T_665; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@67873.4]
  wire  _T_668; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67877.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66841.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66913.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66996.10]
  wire  _GEN_61; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67052.10]
  wire  _GEN_71; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67100.10]
  wire  _GEN_79; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67150.10]
  wire  _GEN_89; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67198.10]
  wire  _GEN_99; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67246.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@67857.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@66789.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66794.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@66796.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@66797.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@66798.6]
  assign _GEN_18 = {{24'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@66799.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@66799.6]
  assign _T_36 = _T_35 == 30'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@66800.6]
  assign _T_59 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66827.6]
  assign _T_61 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@66830.8]
  assign _T_62 = {1'b0,$signed(_T_61)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@66831.8]
  assign _T_63 = $signed(_T_62) & $signed(-31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@66832.8]
  assign _T_64 = $signed(_T_63); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@66833.8]
  assign _T_65 = $signed(_T_64) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@66834.8]
  assign _T_70 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66839.8]
  assign _T_75 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66852.8]
  assign _T_76 = _T_75 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66853.8]
  assign _T_82 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66867.8]
  assign _T_83 = _T_82 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66868.8]
  assign _T_84 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@66873.8]
  assign _T_86 = _T_84 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66875.8]
  assign _T_87 = _T_86 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66876.8]
  assign _T_88 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@66881.8]
  assign _T_89 = _T_88 == 1'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66882.8]
  assign _T_91 = _T_89 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66884.8]
  assign _T_92 = _T_91 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66885.8]
  assign _T_93 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@66890.8]
  assign _T_95 = _T_93 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66892.8]
  assign _T_96 = _T_95 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66893.8]
  assign _T_97 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66899.6]
  assign _T_126 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@66953.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66955.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66956.8]
  assign _T_139 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@66979.6]
  assign _T_141 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@66982.8]
  assign _T_149 = _T_141 & _T_65; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@66990.8]
  assign _T_152 = _T_149 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66993.8]
  assign _T_153 = _T_152 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66994.8]
  assign _T_160 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67013.8]
  assign _T_162 = _T_160 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67015.8]
  assign _T_163 = _T_162 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67016.8]
  assign _T_166 = io_in_a_bits_mask | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67023.8]
  assign _T_167 = _T_166 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67024.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67038.6]
  assign _T_198 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67086.6]
  assign _T_226 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67136.6]
  assign _T_244 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@67167.8]
  assign _T_246 = _T_244 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67169.8]
  assign _T_247 = _T_246 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67170.8]
  assign _T_252 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67184.6]
  assign _T_270 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@67215.8]
  assign _T_272 = _T_270 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67217.8]
  assign _T_273 = _T_272 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67218.8]
  assign _T_278 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67232.6]
  assign _T_309 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@67291.6]
  assign _T_318 = io_in_d_bits_source | _T_309; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@67296.6]
  assign _T_322 = _T_318 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67301.8]
  assign _T_323 = _T_322 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67302.8]
  assign _T_461 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67588.4]
  assign _T_472 = _T_471 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67598.4]
  assign _T_473 = $unsigned(_T_472); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67599.4]
  assign _T_474 = _T_473[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67600.4]
  assign _T_475 = _T_471 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67601.4]
  assign _T_493 = _T_475 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67617.4]
  assign _T_494 = io_in_a_valid & _T_493; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67618.4]
  assign _T_495 = io_in_a_bits_opcode == _T_484; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67620.6]
  assign _T_497 = _T_495 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67622.6]
  assign _T_498 = _T_497 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67623.6]
  assign _T_499 = io_in_a_bits_param == _T_486; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67628.6]
  assign _T_501 = _T_499 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67630.6]
  assign _T_502 = _T_501 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67631.6]
  assign _T_503 = io_in_a_bits_size == _T_488; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67636.6]
  assign _T_505 = _T_503 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67638.6]
  assign _T_506 = _T_505 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67639.6]
  assign _T_507 = io_in_a_bits_source == _T_490; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67644.6]
  assign _T_509 = _T_507 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67646.6]
  assign _T_510 = _T_509 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67647.6]
  assign _T_511 = io_in_a_bits_address == _T_492; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67652.6]
  assign _T_513 = _T_511 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67654.6]
  assign _T_514 = _T_513 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67655.6]
  assign _T_516 = _T_461 & _T_475; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@67662.4]
  assign _T_517 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67670.4]
  assign _T_519 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@67672.4]
  assign _T_520 = _T_519[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@67673.4]
  assign _T_521 = ~ _T_520; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@67674.4]
  assign _T_527 = _T_526 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67679.4]
  assign _T_528 = $unsigned(_T_527); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67680.4]
  assign _T_529 = _T_528[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67681.4]
  assign _T_530 = _T_526 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67682.4]
  assign _T_550 = _T_530 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67699.4]
  assign _T_551 = io_in_d_valid & _T_550; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67700.4]
  assign _T_560 = io_in_d_bits_size == _T_543; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67718.6]
  assign _T_562 = _T_560 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67720.6]
  assign _T_563 = _T_562 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67721.6]
  assign _T_564 = io_in_d_bits_source == _T_545; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@67726.6]
  assign _T_566 = _T_564 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67728.6]
  assign _T_567 = _T_566 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67729.6]
  assign _T_577 = _T_517 & _T_530; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@67752.4]
  assign _T_591 = _T_590 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67772.4]
  assign _T_592 = $unsigned(_T_591); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67773.4]
  assign _T_593 = _T_592[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67774.4]
  assign _T_594 = _T_590 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67775.4]
  assign _T_612 = _T_611 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67795.4]
  assign _T_613 = $unsigned(_T_612); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67796.4]
  assign _T_614 = _T_613[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67797.4]
  assign _T_615 = _T_611 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67798.4]
  assign _T_626 = _T_461 & _T_594; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67813.4]
  assign _T_628 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67816.6]
  assign _T_629 = _T_579 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67818.6]
  assign _T_630 = _T_629[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67819.6]
  assign _T_631 = _T_630 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67820.6]
  assign _T_633 = _T_631 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67822.6]
  assign _T_634 = _T_633 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67823.6]
  assign _GEN_15 = _T_626 ? _T_628 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@67815.4]
  assign _T_639 = _T_517 & _T_615; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67834.4]
  assign _T_643 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67839.6]
  assign _T_644 = _GEN_15 | _T_579; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@67841.6]
  assign _T_645 = _T_644 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67842.6]
  assign _T_646 = _T_645[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@67843.6]
  assign _T_648 = _T_646 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67845.6]
  assign _T_649 = _T_648 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67846.6]
  assign _GEN_16 = _T_639 ? _T_643 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@67838.4]
  assign _T_650 = _T_579 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67852.4]
  assign _T_651 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@67853.4]
  assign _T_652 = _T_650 & _T_651; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@67854.4]
  assign _T_655 = _T_579 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67859.4]
  assign _T_656 = _T_655 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67860.4]
  assign _T_657 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@67861.4]
  assign _T_658 = _T_656 | _T_657; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67862.4]
  assign _T_659 = _T_654 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@67863.4]
  assign _T_660 = _T_658 | _T_659; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@67864.4]
  assign _T_662 = _T_660 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@67866.4]
  assign _T_663 = _T_662 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@67867.4]
  assign _T_665 = _T_654 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@67873.4]
  assign _T_668 = _T_461 | _T_517; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67877.4]
  assign _GEN_19 = io_in_a_valid & _T_59; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66841.10]
  assign _GEN_33 = io_in_a_valid & _T_97; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66913.10]
  assign _GEN_49 = io_in_a_valid & _T_139; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66996.10]
  assign _GEN_61 = io_in_a_valid & _T_172; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67052.10]
  assign _GEN_71 = io_in_a_valid & _T_198; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67100.10]
  assign _GEN_79 = io_in_a_valid & _T_226; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67150.10]
  assign _GEN_89 = io_in_a_valid & _T_252; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67198.10]
  assign _GEN_99 = io_in_a_valid & _T_278; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67246.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_471 = _RAND_0[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_484 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_486 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_488 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_490 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_492 = _RAND_5[29:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_526 = _RAND_6[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_543 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_545 = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_579 = _RAND_9[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_590 = _RAND_10[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_611 = _RAND_11[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_654 = _RAND_12[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_471 <= 6'h0;
    end else begin
      if (_T_461) begin
        if (_T_475) begin
          _T_471 <= 6'h0;
        end else begin
          _T_471 <= _T_474;
        end
      end
    end
    if (_T_516) begin
      _T_484 <= io_in_a_bits_opcode;
    end
    if (_T_516) begin
      _T_486 <= io_in_a_bits_param;
    end
    if (_T_516) begin
      _T_488 <= io_in_a_bits_size;
    end
    if (_T_516) begin
      _T_490 <= io_in_a_bits_source;
    end
    if (_T_516) begin
      _T_492 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_526 <= 6'h0;
    end else begin
      if (_T_517) begin
        if (_T_530) begin
          _T_526 <= _T_521;
        end else begin
          _T_526 <= _T_529;
        end
      end
    end
    if (_T_577) begin
      _T_543 <= io_in_d_bits_size;
    end
    if (_T_577) begin
      _T_545 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_579 <= 2'h0;
    end else begin
      _T_579 <= _T_652;
    end
    if (reset) begin
      _T_590 <= 6'h0;
    end else begin
      if (_T_461) begin
        if (_T_594) begin
          _T_590 <= 6'h0;
        end else begin
          _T_590 <= _T_593;
        end
      end
    end
    if (reset) begin
      _T_611 <= 6'h0;
    end else begin
      if (_T_517) begin
        if (_T_615) begin
          _T_611 <= _T_521;
        end else begin
          _T_611 <= _T_614;
        end
      end
    end
    if (reset) begin
      _T_654 <= 32'h0;
    end else begin
      if (_T_668) begin
        _T_654 <= 32'h0;
      end else begin
        _T_654 <= _T_665;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at SPI.scala:77:9)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66785.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66786.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66824.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@66825.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_70) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at SPI.scala:77:9)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66841.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_70) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66842.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_70) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SPI.scala:77:9)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66848.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_70) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66849.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_76) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66855.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_76) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66856.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SPI.scala:77:9)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66863.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66864.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_83) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SPI.scala:77:9)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66870.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_83) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66871.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_87) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SPI.scala:77:9)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66878.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_87) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66879.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_92) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SPI.scala:77:9)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66887.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_92) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66888.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_96) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SPI.scala:77:9)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66895.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_96) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66896.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_70) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at SPI.scala:77:9)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66913.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_70) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66914.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_70) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SPI.scala:77:9)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66920.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_70) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66921.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_76) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66927.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_76) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66928.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SPI.scala:77:9)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66935.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66936.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_83) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SPI.scala:77:9)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66942.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_83) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66943.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_87) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SPI.scala:77:9)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66950.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_87) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66951.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SPI.scala:77:9)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66958.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66959.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_92) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SPI.scala:77:9)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66967.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_92) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66968.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_96) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SPI.scala:77:9)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66975.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_96) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66976.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_153) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at SPI.scala:77:9)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66996.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_153) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@66997.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_76) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67003.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_76) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67004.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_83) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at SPI.scala:77:9)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67010.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_83) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67011.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_163) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at SPI.scala:77:9)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67018.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_163) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67019.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_167) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at SPI.scala:77:9)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67026.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_167) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67027.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_96) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at SPI.scala:77:9)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67034.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_96) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67035.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_61 & _T_70) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SPI.scala:77:9)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67052.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_61 & _T_70) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67053.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_61 & _T_76) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67059.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_61 & _T_76) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67060.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_61 & _T_83) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at SPI.scala:77:9)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67066.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_61 & _T_83) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67067.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_61 & _T_163) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at SPI.scala:77:9)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67074.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_61 & _T_163) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67075.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_61 & _T_167) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at SPI.scala:77:9)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67082.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_61 & _T_167) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67083.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_71 & _T_70) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at SPI.scala:77:9)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67100.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_71 & _T_70) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67101.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_71 & _T_76) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67107.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_71 & _T_76) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67108.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_71 & _T_83) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SPI.scala:77:9)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67114.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_71 & _T_83) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67115.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_71 & _T_163) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at SPI.scala:77:9)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67122.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_71 & _T_163) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67123.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SPI.scala:77:9)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67132.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67133.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_79 & _T_70) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at SPI.scala:77:9)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67150.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_79 & _T_70) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67151.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_79 & _T_76) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67157.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_79 & _T_76) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67158.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_79 & _T_83) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SPI.scala:77:9)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67164.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_79 & _T_83) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67165.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_79 & _T_247) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SPI.scala:77:9)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67172.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_79 & _T_247) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67173.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_79 & _T_167) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SPI.scala:77:9)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67180.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_79 & _T_167) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67181.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_89 & _T_70) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at SPI.scala:77:9)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67198.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_89 & _T_70) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67199.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_89 & _T_76) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67205.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_89 & _T_76) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67206.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_89 & _T_83) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at SPI.scala:77:9)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67212.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_89 & _T_83) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67213.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_89 & _T_273) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SPI.scala:77:9)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67220.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_89 & _T_273) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67221.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_89 & _T_167) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at SPI.scala:77:9)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67228.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_89 & _T_167) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67229.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_70) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at SPI.scala:77:9)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67246.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_70) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67247.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_76) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67253.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_76) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67254.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_83) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at SPI.scala:77:9)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67260.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_83) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67261.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_167) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at SPI.scala:77:9)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67268.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_167) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67269.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_96) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at SPI.scala:77:9)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67276.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_96) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67277.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SPI.scala:77:9)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@67287.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@67288.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67304.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67305.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SPI.scala:77:9)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67312.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67313.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SPI.scala:77:9)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67320.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67321.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SPI.scala:77:9)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67328.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67329.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at SPI.scala:77:9)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67336.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67337.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67346.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67347.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SPI.scala:77:9)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67353.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67354.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at SPI.scala:77:9)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67361.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67362.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at SPI.scala:77:9)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67369.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67370.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at SPI.scala:77:9)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67377.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67378.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at SPI.scala:77:9)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67385.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67386.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at SPI.scala:77:9)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67394.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67395.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67404.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67405.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SPI.scala:77:9)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67411.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67412.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SPI.scala:77:9)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67419.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67420.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SPI.scala:77:9)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67427.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67428.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at SPI.scala:77:9)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67435.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67436.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SPI.scala:77:9)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67444.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67445.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at SPI.scala:77:9)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67453.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67454.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67463.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67464.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at SPI.scala:77:9)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67471.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67472.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at SPI.scala:77:9)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67479.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67480.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at SPI.scala:77:9)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67488.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67489.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_323) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67498.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_323) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67499.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SPI.scala:77:9)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67506.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67507.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SPI.scala:77:9)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67515.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67516.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at SPI.scala:77:9)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67524.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67525.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67534.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67535.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at SPI.scala:77:9)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67542.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67543.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at SPI.scala:77:9)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67550.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67551.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at SPI.scala:77:9)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67559.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67560.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at SPI.scala:77:9)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67569.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67570.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at SPI.scala:77:9)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67577.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67578.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at SPI.scala:77:9)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67585.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67586.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_494 & _T_498) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SPI.scala:77:9)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67625.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_494 & _T_498) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67626.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_494 & _T_502) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SPI.scala:77:9)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67633.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_494 & _T_502) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67634.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_494 & _T_506) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SPI.scala:77:9)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67641.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_494 & _T_506) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67642.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_494 & _T_510) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SPI.scala:77:9)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67649.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_494 & _T_510) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67650.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_494 & _T_514) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SPI.scala:77:9)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67657.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_494 & _T_514) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67658.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SPI.scala:77:9)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67707.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67708.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at SPI.scala:77:9)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67715.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67716.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_551 & _T_563) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SPI.scala:77:9)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67723.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_551 & _T_563) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67724.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_551 & _T_567) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SPI.scala:77:9)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67731.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_551 & _T_567) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67732.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at SPI.scala:77:9)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67739.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67740.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at SPI.scala:77:9)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67747.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67748.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_626 & _T_634) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SPI.scala:77:9)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67825.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_626 & _T_634) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67826.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_639 & _T_649) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:77:9)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67848.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_639 & _T_649) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@67849.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_663) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SPI.scala:77:9)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@67869.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_663) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@67870.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Repeater_11( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67882.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67883.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67884.4]
  input         io_repeat, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
  output        io_full, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
  input  [29:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
  input         io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
  output [29:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
  output        io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67885.4]
);
  reg  full; // @[Repeater.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@67890.4]
  reg [31:0] _RAND_0;
  reg [2:0] saved_opcode; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67891.4]
  reg [31:0] _RAND_1;
  reg [2:0] saved_param; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67891.4]
  reg [31:0] _RAND_2;
  reg [2:0] saved_size; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67891.4]
  reg [31:0] _RAND_3;
  reg  saved_source; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67891.4]
  reg [31:0] _RAND_4;
  reg [29:0] saved_address; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67891.4]
  reg [31:0] _RAND_5;
  reg  saved_mask; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67891.4]
  reg [31:0] _RAND_6;
  reg  saved_corrupt; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67891.4]
  reg [31:0] _RAND_7;
  wire  _T_18; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67894.4]
  wire  _T_21; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@67900.4]
  wire  _T_22; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67901.4]
  wire  _T_23; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@67906.4]
  wire  _T_24; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@67907.4]
  wire  _T_25; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67908.4]
  assign _T_18 = full == 1'h0; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67894.4]
  assign _T_21 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@67900.4]
  assign _T_22 = _T_21 & io_repeat; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67901.4]
  assign _T_23 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@67906.4]
  assign _T_24 = io_repeat == 1'h0; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@67907.4]
  assign _T_25 = _T_23 & _T_24; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@67908.4]
  assign io_full = full; // @[Repeater.scala 25:11:shc.marmotcaravel.MarmotCaravelConfig.fir@67899.4]
  assign io_enq_ready = io_deq_ready & _T_18; // @[Repeater.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@67896.4]
  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@67893.4]
  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@67898.4]
  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@67898.4]
  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@67898.4]
  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@67898.4]
  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@67898.4]
  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@67898.4]
  assign io_deq_bits_corrupt = full ? saved_corrupt : io_enq_bits_corrupt; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@67898.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  full = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  saved_opcode = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  saved_param = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  saved_size = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  saved_source = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  saved_address = _RAND_5[29:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  saved_mask = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  saved_corrupt = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      full <= 1'h0;
    end else begin
      if (_T_25) begin
        full <= 1'h0;
      end else begin
        if (_T_22) begin
          full <= 1'h1;
        end
      end
    end
    if (_T_22) begin
      saved_opcode <= io_enq_bits_opcode;
    end
    if (_T_22) begin
      saved_param <= io_enq_bits_param;
    end
    if (_T_22) begin
      saved_size <= io_enq_bits_size;
    end
    if (_T_22) begin
      saved_source <= io_enq_bits_source;
    end
    if (_T_22) begin
      saved_address <= io_enq_bits_address;
    end
    if (_T_22) begin
      saved_mask <= io_enq_bits_mask;
    end
    if (_T_22) begin
      saved_corrupt <= io_enq_bits_corrupt;
    end
  end
endmodule
module TLFragmenter_11( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67913.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67914.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67915.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
  input  [29:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
  input         auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
  output [7:0]  auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
  output        auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
  output [7:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
  output [29:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
  output        auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
  input         auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
  input  [7:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
  input  [7:0]  auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67916.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
  wire [29:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
  wire  TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
  wire [29:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
  wire  Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
  wire [29:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
  wire  Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
  reg [5:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67964.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@67965.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67966.4]
  reg [31:0] _RAND_2;
  wire [5:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@67967.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67968.4]
  wire [1:0] _T_253; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@67971.4]
  wire  _T_254; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@67972.4]
  wire  _T_255; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@67973.4]
  wire  _T_259; // @[Fragmenter.scala 180:15:shc.marmotcaravel.MarmotCaravelConfig.fir@67977.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 180:48:shc.marmotcaravel.MarmotCaravelConfig.fir@67978.4]
  wire [5:0] _T_260; // @[Fragmenter.scala 180:48:shc.marmotcaravel.MarmotCaravelConfig.fir@67978.4]
  wire  _T_261; // @[Fragmenter.scala 180:63:shc.marmotcaravel.MarmotCaravelConfig.fir@67979.4]
  wire  _T_262; // @[Fragmenter.scala 180:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67980.4]
  wire  _T_264; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67982.4]
  wire  _T_265; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67983.4]
  wire [5:0] _T_267; // @[Fragmenter.scala 181:43:shc.marmotcaravel.MarmotCaravelConfig.fir@67989.4]
  wire [6:0] _GEN_10; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67994.4]
  wire [6:0] _T_272; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67994.4]
  wire [6:0] _T_273; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@67995.4]
  wire [6:0] _T_274; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@67996.4]
  wire [6:0] _T_275; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@67997.4]
  wire [6:0] _T_276; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@67998.4]
  wire [2:0] _T_277; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67999.4]
  wire [3:0] _T_278; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@68000.4]
  wire  _T_279; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68001.4]
  wire [3:0] _GEN_11; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68002.4]
  wire [3:0] _T_280; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68002.4]
  wire [1:0] _T_281; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@68003.4]
  wire [1:0] _T_282; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@68004.4]
  wire  _T_283; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68005.4]
  wire [1:0] _T_284; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68006.4]
  wire  _T_285; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@68007.4]
  wire [1:0] _T_286; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@68008.4]
  wire [2:0] _T_287; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@68009.4]
  wire  _T_288; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@68010.4]
  wire [6:0] _T_289; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@68012.6]
  wire [6:0] _T_290; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@68013.6]
  wire [5:0] _T_291; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@68014.6]
  wire  _T_293; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@68019.8]
  wire  _T_327; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@68062.4]
  wire [2:0] _T_328; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@68063.4]
  wire [12:0] _T_330; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@68065.4]
  wire [5:0] _T_331; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@68066.4]
  wire [5:0] _T_332; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@68067.4]
  wire [7:0] _T_334; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@68069.4]
  wire  _T_335; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@68070.4]
  wire  _T_336; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@68071.4]
  reg [5:0] _T_341; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68075.4]
  reg [31:0] _RAND_3;
  wire  _T_342; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68076.4]
  wire [6:0] _T_344; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@68078.4]
  wire [6:0] _T_345; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@68079.4]
  wire [5:0] _T_346; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@68080.4]
  wire [5:0] _T_347; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68081.4]
  wire [5:0] _T_348; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@68082.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 271:39:shc.marmotcaravel.MarmotCaravelConfig.fir@68084.4]
  wire [5:0] _T_350; // @[Fragmenter.scala 271:39:shc.marmotcaravel.MarmotCaravelConfig.fir@68084.4]
  wire [5:0] _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@68085.4]
  reg  _T_359; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@68092.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@68093.4]
  wire  _T_361; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@68097.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@67960.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@68106.4]
  wire  _T_362; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@68098.4]
  wire [5:0] _T_367; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@68108.4]
  wire [5:0] _T_368; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@68109.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@68110.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@68112.4]
  wire [29:0] _GEN_15; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@68113.4]
  wire [1:0] _T_373; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@68115.4]
  wire  _T_375; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@68119.4]
  wire  _T_382; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@68131.4]
  wire  _T_383; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@68132.4]
  wire  _T_385; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68134.4]
  wire  _T_386; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68135.4]
  TLMonitor_38 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@67923.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  Repeater_11 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68037.4]
    .clock(Repeater_clock),
    .reset(Repeater_reset),
    .io_repeat(Repeater_io_repeat),
    .io_full(Repeater_io_full),
    .io_enq_ready(Repeater_io_enq_ready),
    .io_enq_valid(Repeater_io_enq_valid),
    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
    .io_enq_bits_param(Repeater_io_enq_bits_param),
    .io_enq_bits_size(Repeater_io_enq_bits_size),
    .io_enq_bits_source(Repeater_io_enq_bits_source),
    .io_enq_bits_address(Repeater_io_enq_bits_address),
    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
    .io_deq_ready(Repeater_io_deq_ready),
    .io_deq_valid(Repeater_io_deq_valid),
    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
    .io_deq_bits_param(Repeater_io_deq_bits_param),
    .io_deq_bits_size(Repeater_io_deq_bits_size),
    .io_deq_bits_source(Repeater_io_deq_bits_source),
    .io_deq_bits_address(Repeater_io_deq_bits_address),
    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
  );
  assign _T_249 = auto_out_d_bits_source[5:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@67967.4]
  assign _T_250 = _T_244 == 6'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@67968.4]
  assign _T_253 = 2'h1 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@67971.4]
  assign _T_254 = _T_253[0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@67972.4]
  assign _T_255 = ~ _T_254; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@67973.4]
  assign _T_259 = auto_out_d_valid == 1'h0; // @[Fragmenter.scala 180:15:shc.marmotcaravel.MarmotCaravelConfig.fir@67977.4]
  assign _GEN_7 = {{5'd0}, _T_255}; // @[Fragmenter.scala 180:48:shc.marmotcaravel.MarmotCaravelConfig.fir@67978.4]
  assign _T_260 = _T_249 & _GEN_7; // @[Fragmenter.scala 180:48:shc.marmotcaravel.MarmotCaravelConfig.fir@67978.4]
  assign _T_261 = _T_260 == 6'h0; // @[Fragmenter.scala 180:63:shc.marmotcaravel.MarmotCaravelConfig.fir@67979.4]
  assign _T_262 = _T_259 | _T_261; // @[Fragmenter.scala 180:28:shc.marmotcaravel.MarmotCaravelConfig.fir@67980.4]
  assign _T_264 = _T_262 | reset; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67982.4]
  assign _T_265 = _T_264 == 1'h0; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67983.4]
  assign _T_267 = _T_249 | _GEN_7; // @[Fragmenter.scala 181:43:shc.marmotcaravel.MarmotCaravelConfig.fir@67989.4]
  assign _GEN_10 = {{1'd0}, _T_267}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67994.4]
  assign _T_272 = _GEN_10 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@67994.4]
  assign _T_273 = _T_272 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@67995.4]
  assign _T_274 = {1'h0,_T_267}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@67996.4]
  assign _T_275 = ~ _T_274; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@67997.4]
  assign _T_276 = _T_273 & _T_275; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@67998.4]
  assign _T_277 = _T_276[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@67999.4]
  assign _T_278 = _T_276[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@68000.4]
  assign _T_279 = _T_277 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68001.4]
  assign _GEN_11 = {{1'd0}, _T_277}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68002.4]
  assign _T_280 = _GEN_11 | _T_278; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68002.4]
  assign _T_281 = _T_280[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@68003.4]
  assign _T_282 = _T_280[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@68004.4]
  assign _T_283 = _T_281 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68005.4]
  assign _T_284 = _T_281 | _T_282; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68006.4]
  assign _T_285 = _T_284[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@68007.4]
  assign _T_286 = {_T_283,_T_285}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@68008.4]
  assign _T_287 = {_T_279,_T_286}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@68009.4]
  assign _T_288 = auto_in_d_ready & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@68010.4]
  assign _T_289 = _T_244 - 6'h1; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@68012.6]
  assign _T_290 = $unsigned(_T_289); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@68013.6]
  assign _T_291 = _T_290[5:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@68014.6]
  assign _T_293 = auto_out_d_bits_source[6]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@68019.8]
  assign _T_327 = Repeater_io_deq_bits_size > 3'h0; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@68062.4]
  assign _T_328 = _T_327 ? 3'h0 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@68063.4]
  assign _T_330 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@68065.4]
  assign _T_331 = _T_330[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@68066.4]
  assign _T_332 = ~ _T_331; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@68067.4]
  assign _T_334 = 8'h1 << _T_328; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@68069.4]
  assign _T_335 = _T_334[0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@68070.4]
  assign _T_336 = ~ _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@68071.4]
  assign _T_342 = _T_341 == 6'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68076.4]
  assign _T_344 = _T_341 - 6'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@68078.4]
  assign _T_345 = $unsigned(_T_344); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@68079.4]
  assign _T_346 = _T_345[5:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@68080.4]
  assign _T_347 = _T_342 ? _T_332 : _T_346; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68081.4]
  assign _T_348 = ~ _T_347; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@68082.4]
  assign _GEN_12 = {{5'd0}, _T_336}; // @[Fragmenter.scala 271:39:shc.marmotcaravel.MarmotCaravelConfig.fir@68084.4]
  assign _T_350 = _T_348 | _GEN_12; // @[Fragmenter.scala 271:39:shc.marmotcaravel.MarmotCaravelConfig.fir@68084.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@68085.4]
  assign _GEN_5 = _T_342 ? _T_248 : _T_359; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@68093.4]
  assign _T_361 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@68097.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@67960.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@68106.4]
  assign _T_362 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@68098.4]
  assign _T_367 = ~ _T_332; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@68108.4]
  assign _T_368 = _T_347 | _T_367; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@68109.4]
  assign _T_369 = _T_368 | _GEN_12; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@68110.4]
  assign _T_371 = ~ _T_369; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@68112.4]
  assign _GEN_15 = {{24'd0}, _T_371}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@68113.4]
  assign _T_373 = {Repeater_io_deq_bits_source,_T_361}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@68115.4]
  assign _T_375 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@68119.4]
  assign _T_382 = Repeater_io_deq_bits_mask; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@68131.4]
  assign _T_383 = _T_375 | _T_382; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@68132.4]
  assign _T_385 = _T_383 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68134.4]
  assign _T_386 = _T_385 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68135.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67963.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67963.4]
  assign auto_in_d_bits_size = _T_250 ? _T_287 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67963.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[7:7]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67963.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@67963.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67962.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67962.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67962.4]
  assign auto_out_a_bits_size = _T_328[0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67962.4]
  assign auto_out_a_bits_source = {_T_373,_T_351}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67962.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_15; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67962.4]
  assign auto_out_a_bits_mask = Repeater_io_full ? 1'h1 : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67962.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67962.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@67962.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67925.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@67926.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_287 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[7:7]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@67959.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68039.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68040.4]
  assign Repeater_io_repeat = _T_351 != 6'h0; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@68105.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@68041.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@68041.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@68041.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@68041.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@68041.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@68041.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@68041.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@68041.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@68106.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_244 = _RAND_0[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_246 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_248 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_341 = _RAND_3[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_359 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_244 <= 6'h0;
    end else begin
      if (_T_288) begin
        if (_T_250) begin
          _T_244 <= _T_267;
        end else begin
          _T_244 <= _T_291;
        end
      end
    end
    if (_T_288) begin
      if (_T_250) begin
        _T_246 <= _T_287;
      end
    end
    if (reset) begin
      _T_248 <= 1'h0;
    end else begin
      if (_T_288) begin
        if (_T_250) begin
          _T_248 <= _T_293;
        end
      end
    end
    if (reset) begin
      _T_341 <= 6'h0;
    end else begin
      if (_T_362) begin
        _T_341 <= _T_351;
      end
    end
    if (_T_342) begin
      _T_359 <= _T_248;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_265) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67985.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_265) begin
          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@67986.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68126.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68127.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_386) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68137.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_386) begin
          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68138.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_39( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68156.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68157.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68158.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68159.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68159.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68159.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68159.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68159.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68159.4]
  input  [29:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68159.4]
  input         io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68159.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68159.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68159.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68159.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68159.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@68159.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@69254.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@68175.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@68180.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@68182.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@68183.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@68184.6]
  wire [29:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@68185.6]
  wire [29:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@68185.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@68186.6]
  wire  _T_59; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68213.6]
  wire [29:0] _T_61; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@68216.8]
  wire [30:0] _T_62; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@68217.8]
  wire [30:0] _T_63; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@68218.8]
  wire [30:0] _T_64; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@68219.8]
  wire  _T_65; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@68220.8]
  wire  _T_70; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68225.8]
  wire  _T_75; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68238.8]
  wire  _T_76; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68239.8]
  wire  _T_82; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68253.8]
  wire  _T_83; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68254.8]
  wire  _T_84; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68259.8]
  wire  _T_86; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68261.8]
  wire  _T_87; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68262.8]
  wire  _T_88; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@68267.8]
  wire  _T_89; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68268.8]
  wire  _T_91; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68270.8]
  wire  _T_92; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68271.8]
  wire  _T_93; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@68276.8]
  wire  _T_95; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68278.8]
  wire  _T_96; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68279.8]
  wire  _T_97; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68285.6]
  wire  _T_126; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68339.8]
  wire  _T_128; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68341.8]
  wire  _T_129; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68342.8]
  wire  _T_139; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68365.6]
  wire  _T_141; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@68368.8]
  wire  _T_149; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@68376.8]
  wire  _T_152; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68379.8]
  wire  _T_153; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68380.8]
  wire  _T_160; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68399.8]
  wire  _T_162; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68401.8]
  wire  _T_163; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68402.8]
  wire  _T_166; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68409.8]
  wire  _T_167; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68410.8]
  wire  _T_172; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68424.6]
  wire  _T_198; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68472.6]
  wire  _T_226; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68522.6]
  wire  _T_244; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@68553.8]
  wire  _T_246; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68555.8]
  wire  _T_247; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68556.8]
  wire  _T_252; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68570.6]
  wire  _T_270; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@68601.8]
  wire  _T_272; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68603.8]
  wire  _T_273; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68604.8]
  wire  _T_278; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68618.6]
  wire  _T_309; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@68677.6]
  wire  _T_318; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@68682.6]
  wire  _T_322; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68687.8]
  wire  _T_323; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68688.8]
  wire  _T_461; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@68974.4]
  reg [5:0] _T_471; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68983.4]
  reg [31:0] _RAND_0;
  wire [6:0] _T_472; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68984.4]
  wire [6:0] _T_473; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68985.4]
  wire [5:0] _T_474; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68986.4]
  wire  _T_475; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68987.4]
  reg [2:0] _T_484; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@68998.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_486; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@68999.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_488; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69000.4]
  reg [31:0] _RAND_3;
  reg  _T_490; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69001.4]
  reg [31:0] _RAND_4;
  reg [29:0] _T_492; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69002.4]
  reg [31:0] _RAND_5;
  wire  _T_493; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69003.4]
  wire  _T_494; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69004.4]
  wire  _T_495; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69006.6]
  wire  _T_497; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69008.6]
  wire  _T_498; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69009.6]
  wire  _T_499; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69014.6]
  wire  _T_501; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69016.6]
  wire  _T_502; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69017.6]
  wire  _T_503; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69022.6]
  wire  _T_505; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69024.6]
  wire  _T_506; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69025.6]
  wire  _T_507; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69030.6]
  wire  _T_509; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69032.6]
  wire  _T_510; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69033.6]
  wire  _T_511; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69038.6]
  wire  _T_513; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69040.6]
  wire  _T_514; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69041.6]
  wire  _T_516; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@69048.4]
  wire  _T_517; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69056.4]
  wire [12:0] _T_519; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@69058.4]
  wire [5:0] _T_520; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@69059.4]
  wire [5:0] _T_521; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69060.4]
  reg [5:0] _T_526; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69064.4]
  reg [31:0] _RAND_6;
  wire [6:0] _T_527; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69065.4]
  wire [6:0] _T_528; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69066.4]
  wire [5:0] _T_529; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69067.4]
  wire  _T_530; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69068.4]
  reg [2:0] _T_543; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69081.4]
  reg [31:0] _RAND_7;
  reg  _T_545; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69082.4]
  reg [31:0] _RAND_8;
  wire  _T_550; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69085.4]
  wire  _T_551; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69086.4]
  wire  _T_560; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69104.6]
  wire  _T_562; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69106.6]
  wire  _T_563; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69107.6]
  wire  _T_564; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69112.6]
  wire  _T_566; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69114.6]
  wire  _T_567; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69115.6]
  wire  _T_577; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@69138.4]
  reg [1:0] _T_579; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69147.4]
  reg [31:0] _RAND_9;
  reg [5:0] _T_590; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69157.4]
  reg [31:0] _RAND_10;
  wire [6:0] _T_591; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69158.4]
  wire [6:0] _T_592; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69159.4]
  wire [5:0] _T_593; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69160.4]
  wire  _T_594; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69161.4]
  reg [5:0] _T_611; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69180.4]
  reg [31:0] _RAND_11;
  wire [6:0] _T_612; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69181.4]
  wire [6:0] _T_613; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69182.4]
  wire [5:0] _T_614; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69183.4]
  wire  _T_615; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69184.4]
  wire  _T_626; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69199.4]
  wire [1:0] _T_628; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@69202.6]
  wire [1:0] _T_629; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@69204.6]
  wire  _T_630; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@69205.6]
  wire  _T_631; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69206.6]
  wire  _T_633; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69208.6]
  wire  _T_634; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69209.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@69201.4]
  wire  _T_639; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69220.4]
  wire [1:0] _T_643; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@69225.6]
  wire [1:0] _T_644; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69227.6]
  wire [1:0] _T_645; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@69228.6]
  wire  _T_646; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@69229.6]
  wire  _T_648; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69231.6]
  wire  _T_649; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69232.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@69224.4]
  wire  _T_650; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@69238.4]
  wire  _T_651; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@69239.4]
  wire  _T_652; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@69240.4]
  wire  _T_653; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@69241.4]
  wire  _T_655; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69243.4]
  wire  _T_656; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69244.4]
  wire [1:0] _T_657; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69249.4]
  wire [1:0] _T_658; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69250.4]
  wire [1:0] _T_659; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@69251.4]
  reg [31:0] _T_661; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69253.4]
  reg [31:0] _RAND_12;
  wire  _T_662; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@69256.4]
  wire  _T_663; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69257.4]
  wire  _T_664; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@69258.4]
  wire  _T_665; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69259.4]
  wire  _T_666; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@69260.4]
  wire  _T_667; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@69261.4]
  wire  _T_669; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69263.4]
  wire  _T_670; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69264.4]
  wire [31:0] _T_672; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@69270.4]
  wire  _T_675; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69274.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68227.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68299.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68382.10]
  wire  _GEN_61; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68438.10]
  wire  _GEN_71; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68486.10]
  wire  _GEN_79; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68536.10]
  wire  _GEN_89; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68584.10]
  wire  _GEN_99; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68632.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@69254.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@68175.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@68180.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@68182.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@68183.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@68184.6]
  assign _GEN_18 = {{24'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@68185.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@68185.6]
  assign _T_36 = _T_35 == 30'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@68186.6]
  assign _T_59 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68213.6]
  assign _T_61 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@68216.8]
  assign _T_62 = {1'b0,$signed(_T_61)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@68217.8]
  assign _T_63 = $signed(_T_62) & $signed(-31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@68218.8]
  assign _T_64 = $signed(_T_63); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@68219.8]
  assign _T_65 = $signed(_T_64) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@68220.8]
  assign _T_70 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68225.8]
  assign _T_75 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68238.8]
  assign _T_76 = _T_75 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68239.8]
  assign _T_82 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68253.8]
  assign _T_83 = _T_82 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68254.8]
  assign _T_84 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@68259.8]
  assign _T_86 = _T_84 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68261.8]
  assign _T_87 = _T_86 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68262.8]
  assign _T_88 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@68267.8]
  assign _T_89 = _T_88 == 1'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68268.8]
  assign _T_91 = _T_89 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68270.8]
  assign _T_92 = _T_91 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68271.8]
  assign _T_93 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@68276.8]
  assign _T_95 = _T_93 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68278.8]
  assign _T_96 = _T_95 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68279.8]
  assign _T_97 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68285.6]
  assign _T_126 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68339.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68341.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68342.8]
  assign _T_139 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68365.6]
  assign _T_141 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@68368.8]
  assign _T_149 = _T_141 & _T_65; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@68376.8]
  assign _T_152 = _T_149 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68379.8]
  assign _T_153 = _T_152 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68380.8]
  assign _T_160 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68399.8]
  assign _T_162 = _T_160 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68401.8]
  assign _T_163 = _T_162 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68402.8]
  assign _T_166 = io_in_a_bits_mask | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68409.8]
  assign _T_167 = _T_166 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68410.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68424.6]
  assign _T_198 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68472.6]
  assign _T_226 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68522.6]
  assign _T_244 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@68553.8]
  assign _T_246 = _T_244 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68555.8]
  assign _T_247 = _T_246 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68556.8]
  assign _T_252 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68570.6]
  assign _T_270 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@68601.8]
  assign _T_272 = _T_270 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68603.8]
  assign _T_273 = _T_272 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68604.8]
  assign _T_278 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68618.6]
  assign _T_309 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@68677.6]
  assign _T_318 = io_in_d_bits_source | _T_309; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@68682.6]
  assign _T_322 = _T_318 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68687.8]
  assign _T_323 = _T_322 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68688.8]
  assign _T_461 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@68974.4]
  assign _T_472 = _T_471 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68984.4]
  assign _T_473 = $unsigned(_T_472); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68985.4]
  assign _T_474 = _T_473[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@68986.4]
  assign _T_475 = _T_471 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@68987.4]
  assign _T_493 = _T_475 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69003.4]
  assign _T_494 = io_in_a_valid & _T_493; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69004.4]
  assign _T_495 = io_in_a_bits_opcode == _T_484; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69006.6]
  assign _T_497 = _T_495 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69008.6]
  assign _T_498 = _T_497 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69009.6]
  assign _T_499 = io_in_a_bits_param == _T_486; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69014.6]
  assign _T_501 = _T_499 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69016.6]
  assign _T_502 = _T_501 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69017.6]
  assign _T_503 = io_in_a_bits_size == _T_488; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69022.6]
  assign _T_505 = _T_503 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69024.6]
  assign _T_506 = _T_505 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69025.6]
  assign _T_507 = io_in_a_bits_source == _T_490; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69030.6]
  assign _T_509 = _T_507 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69032.6]
  assign _T_510 = _T_509 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69033.6]
  assign _T_511 = io_in_a_bits_address == _T_492; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69038.6]
  assign _T_513 = _T_511 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69040.6]
  assign _T_514 = _T_513 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69041.6]
  assign _T_516 = _T_461 & _T_475; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@69048.4]
  assign _T_517 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69056.4]
  assign _T_519 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@69058.4]
  assign _T_520 = _T_519[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@69059.4]
  assign _T_521 = ~ _T_520; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69060.4]
  assign _T_527 = _T_526 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69065.4]
  assign _T_528 = $unsigned(_T_527); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69066.4]
  assign _T_529 = _T_528[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69067.4]
  assign _T_530 = _T_526 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69068.4]
  assign _T_550 = _T_530 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69085.4]
  assign _T_551 = io_in_d_valid & _T_550; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69086.4]
  assign _T_560 = io_in_d_bits_size == _T_543; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69104.6]
  assign _T_562 = _T_560 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69106.6]
  assign _T_563 = _T_562 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69107.6]
  assign _T_564 = io_in_d_bits_source == _T_545; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69112.6]
  assign _T_566 = _T_564 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69114.6]
  assign _T_567 = _T_566 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69115.6]
  assign _T_577 = _T_517 & _T_530; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@69138.4]
  assign _T_591 = _T_590 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69158.4]
  assign _T_592 = $unsigned(_T_591); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69159.4]
  assign _T_593 = _T_592[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69160.4]
  assign _T_594 = _T_590 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69161.4]
  assign _T_612 = _T_611 - 6'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69181.4]
  assign _T_613 = $unsigned(_T_612); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69182.4]
  assign _T_614 = _T_613[5:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69183.4]
  assign _T_615 = _T_611 == 6'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69184.4]
  assign _T_626 = _T_461 & _T_594; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69199.4]
  assign _T_628 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@69202.6]
  assign _T_629 = _T_579 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@69204.6]
  assign _T_630 = _T_629[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@69205.6]
  assign _T_631 = _T_630 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69206.6]
  assign _T_633 = _T_631 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69208.6]
  assign _T_634 = _T_633 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69209.6]
  assign _GEN_15 = _T_626 ? _T_628 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@69201.4]
  assign _T_639 = _T_517 & _T_615; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69220.4]
  assign _T_643 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@69225.6]
  assign _T_644 = _GEN_15 | _T_579; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69227.6]
  assign _T_645 = _T_644 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@69228.6]
  assign _T_646 = _T_645[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@69229.6]
  assign _T_648 = _T_646 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69231.6]
  assign _T_649 = _T_648 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69232.6]
  assign _GEN_16 = _T_639 ? _T_643 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@69224.4]
  assign _T_650 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@69238.4]
  assign _T_651 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@69239.4]
  assign _T_652 = _T_651 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@69240.4]
  assign _T_653 = _T_650 | _T_652; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@69241.4]
  assign _T_655 = _T_653 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69243.4]
  assign _T_656 = _T_655 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69244.4]
  assign _T_657 = _T_579 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69249.4]
  assign _T_658 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69250.4]
  assign _T_659 = _T_657 & _T_658; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@69251.4]
  assign _T_662 = _T_579 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@69256.4]
  assign _T_663 = _T_662 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69257.4]
  assign _T_664 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@69258.4]
  assign _T_665 = _T_663 | _T_664; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69259.4]
  assign _T_666 = _T_661 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@69260.4]
  assign _T_667 = _T_665 | _T_666; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@69261.4]
  assign _T_669 = _T_667 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69263.4]
  assign _T_670 = _T_669 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69264.4]
  assign _T_672 = _T_661 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@69270.4]
  assign _T_675 = _T_461 | _T_517; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69274.4]
  assign _GEN_19 = io_in_a_valid & _T_59; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68227.10]
  assign _GEN_33 = io_in_a_valid & _T_97; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68299.10]
  assign _GEN_49 = io_in_a_valid & _T_139; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68382.10]
  assign _GEN_61 = io_in_a_valid & _T_172; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68438.10]
  assign _GEN_71 = io_in_a_valid & _T_198; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68486.10]
  assign _GEN_79 = io_in_a_valid & _T_226; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68536.10]
  assign _GEN_89 = io_in_a_valid & _T_252; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68584.10]
  assign _GEN_99 = io_in_a_valid & _T_278; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68632.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_471 = _RAND_0[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_484 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_486 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_488 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_490 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_492 = _RAND_5[29:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_526 = _RAND_6[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_543 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_545 = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_579 = _RAND_9[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_590 = _RAND_10[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_611 = _RAND_11[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_661 = _RAND_12[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_471 <= 6'h0;
    end else begin
      if (_T_461) begin
        if (_T_475) begin
          _T_471 <= 6'h0;
        end else begin
          _T_471 <= _T_474;
        end
      end
    end
    if (_T_516) begin
      _T_484 <= io_in_a_bits_opcode;
    end
    if (_T_516) begin
      _T_486 <= io_in_a_bits_param;
    end
    if (_T_516) begin
      _T_488 <= io_in_a_bits_size;
    end
    if (_T_516) begin
      _T_490 <= io_in_a_bits_source;
    end
    if (_T_516) begin
      _T_492 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_526 <= 6'h0;
    end else begin
      if (_T_517) begin
        if (_T_530) begin
          _T_526 <= _T_521;
        end else begin
          _T_526 <= _T_529;
        end
      end
    end
    if (_T_577) begin
      _T_543 <= io_in_d_bits_size;
    end
    if (_T_577) begin
      _T_545 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_579 <= 2'h0;
    end else begin
      _T_579 <= _T_659;
    end
    if (reset) begin
      _T_590 <= 6'h0;
    end else begin
      if (_T_461) begin
        if (_T_594) begin
          _T_590 <= 6'h0;
        end else begin
          _T_590 <= _T_593;
        end
      end
    end
    if (reset) begin
      _T_611 <= 6'h0;
    end else begin
      if (_T_517) begin
        if (_T_615) begin
          _T_611 <= _T_521;
        end else begin
          _T_611 <= _T_614;
        end
      end
    end
    if (reset) begin
      _T_661 <= 32'h0;
    end else begin
      if (_T_675) begin
        _T_661 <= 32'h0;
      end else begin
        _T_661 <= _T_672;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at SPI.scala:78:9)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@68171.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@68172.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@68210.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@68211.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_70) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at SPI.scala:78:9)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68227.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_70) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68228.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_70) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SPI.scala:78:9)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68234.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_70) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68235.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_76) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68241.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_76) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68242.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SPI.scala:78:9)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68249.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68250.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_83) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SPI.scala:78:9)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68256.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_83) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68257.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_87) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SPI.scala:78:9)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68264.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_87) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68265.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_92) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SPI.scala:78:9)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68273.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_92) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68274.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_96) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SPI.scala:78:9)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68281.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_96) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68282.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_70) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at SPI.scala:78:9)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68299.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_70) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68300.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_70) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SPI.scala:78:9)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68306.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_70) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68307.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_76) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68313.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_76) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68314.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SPI.scala:78:9)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68321.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68322.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_83) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SPI.scala:78:9)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68328.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_83) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68329.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_87) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SPI.scala:78:9)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68336.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_87) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68337.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SPI.scala:78:9)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68344.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68345.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_92) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SPI.scala:78:9)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68353.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_92) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68354.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_96) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SPI.scala:78:9)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68361.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_96) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68362.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_153) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at SPI.scala:78:9)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68382.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_153) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68383.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_76) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68389.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_76) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68390.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_83) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at SPI.scala:78:9)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68396.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_83) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68397.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_163) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at SPI.scala:78:9)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68404.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_163) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68405.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_167) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at SPI.scala:78:9)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68412.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_167) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68413.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_96) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at SPI.scala:78:9)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68420.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_96) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68421.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_61 & _T_70) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SPI.scala:78:9)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68438.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_61 & _T_70) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68439.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_61 & _T_76) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68445.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_61 & _T_76) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68446.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_61 & _T_83) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at SPI.scala:78:9)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68452.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_61 & _T_83) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68453.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_61 & _T_163) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at SPI.scala:78:9)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68460.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_61 & _T_163) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68461.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_61 & _T_167) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at SPI.scala:78:9)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68468.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_61 & _T_167) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68469.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_71 & _T_70) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at SPI.scala:78:9)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68486.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_71 & _T_70) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68487.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_71 & _T_76) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68493.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_71 & _T_76) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68494.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_71 & _T_83) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SPI.scala:78:9)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68500.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_71 & _T_83) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68501.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_71 & _T_163) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at SPI.scala:78:9)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68508.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_71 & _T_163) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68509.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SPI.scala:78:9)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68518.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68519.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_79 & _T_70) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at SPI.scala:78:9)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68536.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_79 & _T_70) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68537.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_79 & _T_76) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68543.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_79 & _T_76) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68544.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_79 & _T_83) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SPI.scala:78:9)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68550.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_79 & _T_83) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68551.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_79 & _T_247) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SPI.scala:78:9)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68558.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_79 & _T_247) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68559.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_79 & _T_167) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SPI.scala:78:9)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68566.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_79 & _T_167) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68567.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_89 & _T_70) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at SPI.scala:78:9)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68584.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_89 & _T_70) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68585.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_89 & _T_76) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68591.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_89 & _T_76) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68592.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_89 & _T_83) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at SPI.scala:78:9)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68598.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_89 & _T_83) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68599.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_89 & _T_273) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SPI.scala:78:9)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68606.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_89 & _T_273) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68607.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_89 & _T_167) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at SPI.scala:78:9)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68614.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_89 & _T_167) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68615.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_70) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at SPI.scala:78:9)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68632.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_70) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68633.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_76) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68639.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_76) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68640.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_83) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at SPI.scala:78:9)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68646.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_83) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68647.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_167) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at SPI.scala:78:9)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68654.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_167) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68655.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_96) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at SPI.scala:78:9)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68662.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_96) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68663.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SPI.scala:78:9)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@68673.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@68674.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68690.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68691.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SPI.scala:78:9)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68698.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68699.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SPI.scala:78:9)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68706.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68707.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SPI.scala:78:9)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68714.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68715.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at SPI.scala:78:9)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68722.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68723.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68732.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68733.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SPI.scala:78:9)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68739.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68740.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at SPI.scala:78:9)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68747.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68748.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at SPI.scala:78:9)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68755.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68756.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at SPI.scala:78:9)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68763.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68764.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at SPI.scala:78:9)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68771.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68772.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at SPI.scala:78:9)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68780.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68781.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68790.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68791.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SPI.scala:78:9)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68797.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68798.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SPI.scala:78:9)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68805.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68806.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SPI.scala:78:9)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68813.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68814.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at SPI.scala:78:9)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68821.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68822.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SPI.scala:78:9)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68830.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68831.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at SPI.scala:78:9)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68839.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68840.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68849.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68850.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at SPI.scala:78:9)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68857.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68858.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at SPI.scala:78:9)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68865.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68866.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at SPI.scala:78:9)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68874.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68875.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_323) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68884.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_323) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68885.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SPI.scala:78:9)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68892.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68893.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SPI.scala:78:9)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68901.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68902.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at SPI.scala:78:9)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68910.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68911.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68920.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68921.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at SPI.scala:78:9)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68928.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68929.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at SPI.scala:78:9)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68936.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68937.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at SPI.scala:78:9)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68945.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68946.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at SPI.scala:78:9)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68955.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68956.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at SPI.scala:78:9)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68963.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68964.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at SPI.scala:78:9)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68971.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@68972.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_494 & _T_498) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69011.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_494 & _T_498) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69012.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_494 & _T_502) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69019.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_494 & _T_502) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69020.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_494 & _T_506) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69027.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_494 & _T_506) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69028.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_494 & _T_510) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69035.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_494 & _T_510) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69036.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_494 & _T_514) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69043.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_494 & _T_514) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69044.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69093.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69094.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69101.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69102.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_551 & _T_563) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69109.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_551 & _T_563) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69110.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_551 & _T_567) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69117.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_551 & _T_567) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69118.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69125.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69126.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at SPI.scala:78:9)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69133.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69134.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_626 & _T_634) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SPI.scala:78:9)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69211.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_626 & _T_634) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69212.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_639 & _T_649) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:78:9)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69234.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_639 & _T_649) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69235.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_656) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at SPI.scala:78:9)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69246.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_656) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69247.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_670) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SPI.scala:78:9)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69266.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_670) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69267.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Queue_7( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69279.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69280.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69281.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
  input  [29:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
  input         io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
  output [29:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
  output        io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69282.4]
);
  reg [2:0] _T_35_opcode [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  reg [31:0] _RAND_0;
  wire [2:0] _T_35_opcode__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire [2:0] _T_35_opcode__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire [2:0] _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire [2:0] _T_35_opcode__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire  _T_35_opcode__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire  _T_35_opcode__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  reg [2:0] _T_35_param [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  reg [31:0] _RAND_1;
  wire [2:0] _T_35_param__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire [2:0] _T_35_param__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire [2:0] _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire [2:0] _T_35_param__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire  _T_35_param__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire  _T_35_param__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  reg [2:0] _T_35_size [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  reg [31:0] _RAND_2;
  wire [2:0] _T_35_size__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire [2:0] _T_35_size__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire [2:0] _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire [2:0] _T_35_size__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire  _T_35_size__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire  _T_35_size__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  reg  _T_35_source [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  reg [31:0] _RAND_3;
  wire  _T_35_source__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire [2:0] _T_35_source__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire  _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire [2:0] _T_35_source__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire  _T_35_source__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire  _T_35_source__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  reg [29:0] _T_35_address [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  reg [31:0] _RAND_4;
  wire [29:0] _T_35_address__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire [2:0] _T_35_address__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire [29:0] _T_35_address__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire [2:0] _T_35_address__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire  _T_35_address__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire  _T_35_address__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  reg  _T_35_mask [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  reg [31:0] _RAND_5;
  wire  _T_35_mask__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire [2:0] _T_35_mask__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire  _T_35_mask__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire [2:0] _T_35_mask__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire  _T_35_mask__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire  _T_35_mask__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  reg  _T_35_corrupt [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  reg [31:0] _RAND_6;
  wire  _T_35_corrupt__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire [2:0] _T_35_corrupt__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire  _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire [2:0] _T_35_corrupt__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire  _T_35_corrupt__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  wire  _T_35_corrupt__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  reg [2:0] value; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@69285.4]
  reg [31:0] _RAND_7;
  reg [2:0] value_1; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@69286.4]
  reg [31:0] _RAND_8;
  reg  _T_39; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@69287.4]
  reg [31:0] _RAND_9;
  wire  _T_40; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@69288.4]
  wire  _T_41; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@69289.4]
  wire  _T_42; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@69290.4]
  wire  _T_43; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@69291.4]
  wire  _T_44; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@69292.4]
  wire  _T_47; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@69295.4]
  wire [2:0] _T_52; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69310.6]
  wire [2:0] _T_54; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69316.6]
  wire  _T_55; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@69319.4]
  assign _T_35_opcode__T_58_addr = value_1;
  assign _T_35_opcode__T_58_data = _T_35_opcode[_T_35_opcode__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  assign _T_35_opcode__T_50_data = io_enq_bits_opcode;
  assign _T_35_opcode__T_50_addr = value;
  assign _T_35_opcode__T_50_mask = 1'h1;
  assign _T_35_opcode__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_param__T_58_addr = value_1;
  assign _T_35_param__T_58_data = _T_35_param[_T_35_param__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  assign _T_35_param__T_50_data = io_enq_bits_param;
  assign _T_35_param__T_50_addr = value;
  assign _T_35_param__T_50_mask = 1'h1;
  assign _T_35_param__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_size__T_58_addr = value_1;
  assign _T_35_size__T_58_data = _T_35_size[_T_35_size__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  assign _T_35_size__T_50_data = io_enq_bits_size;
  assign _T_35_size__T_50_addr = value;
  assign _T_35_size__T_50_mask = 1'h1;
  assign _T_35_size__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_source__T_58_addr = value_1;
  assign _T_35_source__T_58_data = _T_35_source[_T_35_source__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  assign _T_35_source__T_50_data = io_enq_bits_source;
  assign _T_35_source__T_50_addr = value;
  assign _T_35_source__T_50_mask = 1'h1;
  assign _T_35_source__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_address__T_58_addr = value_1;
  assign _T_35_address__T_58_data = _T_35_address[_T_35_address__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  assign _T_35_address__T_50_data = io_enq_bits_address;
  assign _T_35_address__T_50_addr = value;
  assign _T_35_address__T_50_mask = 1'h1;
  assign _T_35_address__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_mask__T_58_addr = value_1;
  assign _T_35_mask__T_58_data = _T_35_mask[_T_35_mask__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  assign _T_35_mask__T_50_data = io_enq_bits_mask;
  assign _T_35_mask__T_50_addr = value;
  assign _T_35_mask__T_50_mask = 1'h1;
  assign _T_35_mask__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_corrupt__T_58_addr = value_1;
  assign _T_35_corrupt__T_58_data = _T_35_corrupt[_T_35_corrupt__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
  assign _T_35_corrupt__T_50_data = io_enq_bits_corrupt;
  assign _T_35_corrupt__T_50_addr = value;
  assign _T_35_corrupt__T_50_mask = 1'h1;
  assign _T_35_corrupt__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_40 = value == value_1; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@69288.4]
  assign _T_41 = _T_39 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@69289.4]
  assign _T_42 = _T_40 & _T_41; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@69290.4]
  assign _T_43 = _T_40 & _T_39; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@69291.4]
  assign _T_44 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@69292.4]
  assign _T_47 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@69295.4]
  assign _T_52 = value + 3'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69310.6]
  assign _T_54 = value_1 + 3'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69316.6]
  assign _T_55 = _T_44 != _T_47; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@69319.4]
  assign io_enq_ready = _T_43 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@69326.4]
  assign io_deq_valid = _T_42 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@69324.4]
  assign io_deq_bits_opcode = _T_35_opcode__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69335.4]
  assign io_deq_bits_param = _T_35_param__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69334.4]
  assign io_deq_bits_size = _T_35_size__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69333.4]
  assign io_deq_bits_source = _T_35_source__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69332.4]
  assign io_deq_bits_address = _T_35_address__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69331.4]
  assign io_deq_bits_mask = _T_35_mask__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69330.4]
  assign io_deq_bits_corrupt = _T_35_corrupt__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69328.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  _RAND_0 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 8; initvar = initvar+1)
    _T_35_opcode[initvar] = _RAND_0[2:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_1 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 8; initvar = initvar+1)
    _T_35_param[initvar] = _RAND_1[2:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_2 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 8; initvar = initvar+1)
    _T_35_size[initvar] = _RAND_2[2:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_3 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 8; initvar = initvar+1)
    _T_35_source[initvar] = _RAND_3[0:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_4 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 8; initvar = initvar+1)
    _T_35_address[initvar] = _RAND_4[29:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_5 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 8; initvar = initvar+1)
    _T_35_mask[initvar] = _RAND_5[0:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_6 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 8; initvar = initvar+1)
    _T_35_corrupt[initvar] = _RAND_6[0:0];
  `endif // RANDOMIZE_MEM_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  value = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  value_1 = _RAND_8[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_39 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if(_T_35_opcode__T_50_en & _T_35_opcode__T_50_mask) begin
      _T_35_opcode[_T_35_opcode__T_50_addr] <= _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
    end
    if(_T_35_param__T_50_en & _T_35_param__T_50_mask) begin
      _T_35_param[_T_35_param__T_50_addr] <= _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
    end
    if(_T_35_size__T_50_en & _T_35_size__T_50_mask) begin
      _T_35_size[_T_35_size__T_50_addr] <= _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
    end
    if(_T_35_source__T_50_en & _T_35_source__T_50_mask) begin
      _T_35_source[_T_35_source__T_50_addr] <= _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
    end
    if(_T_35_address__T_50_en & _T_35_address__T_50_mask) begin
      _T_35_address[_T_35_address__T_50_addr] <= _T_35_address__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
    end
    if(_T_35_mask__T_50_en & _T_35_mask__T_50_mask) begin
      _T_35_mask[_T_35_mask__T_50_addr] <= _T_35_mask__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
    end
    if(_T_35_corrupt__T_50_en & _T_35_corrupt__T_50_mask) begin
      _T_35_corrupt[_T_35_corrupt__T_50_addr] <= _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69284.4]
    end
    if (reset) begin
      value <= 3'h0;
    end else begin
      if (_T_44) begin
        value <= _T_52;
      end
    end
    if (reset) begin
      value_1 <= 3'h0;
    end else begin
      if (_T_47) begin
        value_1 <= _T_54;
      end
    end
    if (reset) begin
      _T_39 <= 1'h0;
    end else begin
      if (_T_55) begin
        _T_39 <= _T_44;
      end
    end
  end
endmodule
module TLBuffer_12( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69343.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69344.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69345.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
  input  [29:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
  input         auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
  output [7:0]  auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
  output [29:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
  output        auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
  input  [7:0]  auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69346.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
  wire [29:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
  wire  TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
  wire  Queue_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
  wire  Queue_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
  wire  Queue_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
  wire  Queue_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
  wire [2:0] Queue_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
  wire [2:0] Queue_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
  wire [2:0] Queue_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
  wire  Queue_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
  wire [29:0] Queue_io_enq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
  wire  Queue_io_enq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
  wire  Queue_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
  wire  Queue_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
  wire  Queue_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
  wire [2:0] Queue_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
  wire [2:0] Queue_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
  wire [2:0] Queue_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
  wire  Queue_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
  wire [29:0] Queue_io_deq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
  wire  Queue_io_deq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
  wire  Queue_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
  TLMonitor_39 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69353.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  Queue_7 Queue ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69394.4]
    .clock(Queue_clock),
    .reset(Queue_reset),
    .io_enq_ready(Queue_io_enq_ready),
    .io_enq_valid(Queue_io_enq_valid),
    .io_enq_bits_opcode(Queue_io_enq_bits_opcode),
    .io_enq_bits_param(Queue_io_enq_bits_param),
    .io_enq_bits_size(Queue_io_enq_bits_size),
    .io_enq_bits_source(Queue_io_enq_bits_source),
    .io_enq_bits_address(Queue_io_enq_bits_address),
    .io_enq_bits_mask(Queue_io_enq_bits_mask),
    .io_enq_bits_corrupt(Queue_io_enq_bits_corrupt),
    .io_deq_ready(Queue_io_deq_ready),
    .io_deq_valid(Queue_io_deq_valid),
    .io_deq_bits_opcode(Queue_io_deq_bits_opcode),
    .io_deq_bits_param(Queue_io_deq_bits_param),
    .io_deq_bits_size(Queue_io_deq_bits_size),
    .io_deq_bits_source(Queue_io_deq_bits_source),
    .io_deq_bits_address(Queue_io_deq_bits_address),
    .io_deq_bits_mask(Queue_io_deq_bits_mask),
    .io_deq_bits_corrupt(Queue_io_deq_bits_corrupt)
  );
  assign auto_in_a_ready = Queue_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@69393.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@69393.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@69393.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@69393.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@69393.4]
  assign auto_out_a_valid = Queue_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69392.4]
  assign auto_out_a_bits_opcode = Queue_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69392.4]
  assign auto_out_a_bits_param = Queue_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69392.4]
  assign auto_out_a_bits_size = Queue_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69392.4]
  assign auto_out_a_bits_source = Queue_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69392.4]
  assign auto_out_a_bits_address = Queue_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69392.4]
  assign auto_out_a_bits_mask = Queue_io_deq_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69392.4]
  assign auto_out_a_bits_corrupt = Queue_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69392.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69392.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69355.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69356.4]
  assign TLMonitor_io_in_a_ready = Queue_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69389.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69389.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69389.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69389.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69389.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69389.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69389.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69389.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69389.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69389.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69389.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69389.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@69389.4]
  assign Queue_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69395.4]
  assign Queue_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69396.4]
  assign Queue_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@69397.4]
  assign Queue_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69405.4]
  assign Queue_io_enq_bits_param = auto_in_a_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69404.4]
  assign Queue_io_enq_bits_size = auto_in_a_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69403.4]
  assign Queue_io_enq_bits_source = auto_in_a_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69402.4]
  assign Queue_io_enq_bits_address = auto_in_a_bits_address; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69401.4]
  assign Queue_io_enq_bits_mask = auto_in_a_bits_mask; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69400.4]
  assign Queue_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69398.4]
  assign Queue_io_deq_ready = auto_out_a_ready; // @[Buffer.scala 38:13:shc.marmotcaravel.MarmotCaravelConfig.fir@69407.4]
endmodule
module TLMonitor_40( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69423.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69424.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69425.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.4]
  input  [29:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@69426.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@70552.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@69442.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69447.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@69449.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@69450.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69451.6]
  wire [29:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@69452.6]
  wire [29:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@69452.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69453.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69455.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69456.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@69458.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69459.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@69460.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@69461.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@69462.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69464.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69465.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69467.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69468.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@69469.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@69470.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@69471.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69472.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69473.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69474.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69475.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69476.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69477.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69478.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69479.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69480.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69481.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69482.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69483.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@69484.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@69485.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@69486.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69511.6]
  wire [29:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@69514.8]
  wire [30:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69515.8]
  wire [30:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@69516.8]
  wire [30:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@69517.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@69518.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69523.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69536.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69537.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69544.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69545.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69551.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69552.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69557.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69559.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69560.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69565.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69566.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69568.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69569.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69574.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69576.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69577.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69583.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69637.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69639.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69640.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69663.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@69666.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@69674.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69677.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69678.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69697.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69699.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69700.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69705.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69707.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69708.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69722.6]
  wire  _T_229; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69770.6]
  wire [3:0] _T_251; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@69809.8]
  wire [3:0] _T_252; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69810.8]
  wire  _T_253; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@69811.8]
  wire  _T_255; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69813.8]
  wire  _T_256; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69814.8]
  wire  _T_257; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69820.6]
  wire  _T_275; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@69851.8]
  wire  _T_277; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69853.8]
  wire  _T_278; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69854.8]
  wire  _T_283; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69868.6]
  wire  _T_301; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@69899.8]
  wire  _T_303; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69901.8]
  wire  _T_304; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69902.8]
  wire  _T_309; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69916.6]
  wire  _T_340; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@69975.6]
  wire  _T_349; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69980.6]
  wire  _T_353; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69985.8]
  wire  _T_354; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69986.8]
  wire  _T_492; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70272.4]
  reg [3:0] _T_502; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70281.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_503; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70282.4]
  wire [4:0] _T_504; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70283.4]
  wire [3:0] _T_505; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70284.4]
  wire  _T_506; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70285.4]
  reg [2:0] _T_515; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70296.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_517; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70297.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_519; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70298.4]
  reg [31:0] _RAND_3;
  reg  _T_521; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70299.4]
  reg [31:0] _RAND_4;
  reg [29:0] _T_523; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70300.4]
  reg [31:0] _RAND_5;
  wire  _T_524; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70301.4]
  wire  _T_525; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70302.4]
  wire  _T_526; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70304.6]
  wire  _T_528; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70306.6]
  wire  _T_529; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70307.6]
  wire  _T_530; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70312.6]
  wire  _T_532; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70314.6]
  wire  _T_533; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70315.6]
  wire  _T_534; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70320.6]
  wire  _T_536; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70322.6]
  wire  _T_537; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70323.6]
  wire  _T_538; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70328.6]
  wire  _T_540; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.6]
  wire  _T_541; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70331.6]
  wire  _T_542; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70336.6]
  wire  _T_544; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70338.6]
  wire  _T_545; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70339.6]
  wire  _T_547; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70346.4]
  wire  _T_548; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70354.4]
  wire [12:0] _T_550; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@70356.4]
  wire [5:0] _T_551; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@70357.4]
  wire [5:0] _T_552; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@70358.4]
  wire [3:0] _T_553; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@70359.4]
  reg [3:0] _T_557; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70362.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_558; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70363.4]
  wire [4:0] _T_559; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70364.4]
  wire [3:0] _T_560; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70365.4]
  wire  _T_561; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70366.4]
  reg [2:0] _T_574; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70379.4]
  reg [31:0] _RAND_7;
  reg  _T_576; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70380.4]
  reg [31:0] _RAND_8;
  wire  _T_581; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70383.4]
  wire  _T_582; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70384.4]
  wire  _T_591; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70402.6]
  wire  _T_593; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70404.6]
  wire  _T_594; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70405.6]
  wire  _T_595; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70410.6]
  wire  _T_597; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70412.6]
  wire  _T_598; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70413.6]
  wire  _T_608; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70436.4]
  reg [1:0] _T_610; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70445.4]
  reg [31:0] _RAND_9;
  reg [3:0] _T_621; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70455.4]
  reg [31:0] _RAND_10;
  wire [4:0] _T_622; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70456.4]
  wire [4:0] _T_623; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70457.4]
  wire [3:0] _T_624; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70458.4]
  wire  _T_625; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70459.4]
  reg [3:0] _T_642; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70478.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_643; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70479.4]
  wire [4:0] _T_644; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70480.4]
  wire [3:0] _T_645; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70481.4]
  wire  _T_646; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70482.4]
  wire  _T_657; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70497.4]
  wire [1:0] _T_659; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@70500.6]
  wire [1:0] _T_660; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@70502.6]
  wire  _T_661; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@70503.6]
  wire  _T_662; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70504.6]
  wire  _T_664; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70506.6]
  wire  _T_665; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70507.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@70499.4]
  wire  _T_670; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70518.4]
  wire [1:0] _T_674; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@70523.6]
  wire [1:0] _T_675; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70525.6]
  wire [1:0] _T_676; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70526.6]
  wire  _T_677; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70527.6]
  wire  _T_679; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70529.6]
  wire  _T_680; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70530.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@70522.4]
  wire  _T_681; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70536.4]
  wire  _T_682; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@70537.4]
  wire  _T_683; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@70538.4]
  wire  _T_684; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@70539.4]
  wire  _T_686; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70541.4]
  wire  _T_687; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70542.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70547.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70548.4]
  wire [1:0] _T_690; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@70549.4]
  reg [31:0] _T_692; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70551.4]
  reg [31:0] _RAND_12;
  wire  _T_693; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@70554.4]
  wire  _T_694; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70555.4]
  wire  _T_695; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@70556.4]
  wire  _T_696; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70557.4]
  wire  _T_697; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@70558.4]
  wire  _T_698; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@70559.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70561.4]
  wire  _T_701; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70562.4]
  wire [31:0] _T_703; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70568.4]
  wire  _T_706; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70572.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69525.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69597.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69680.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69736.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69784.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69834.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69882.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69930.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@70552.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@69442.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69447.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@69449.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@69450.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69451.6]
  assign _GEN_18 = {{24'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@69452.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@69452.6]
  assign _T_36 = _T_35 == 30'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@69453.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69455.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69456.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@69458.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@69459.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@69460.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@69461.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@69462.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69464.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69465.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69467.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69468.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@69469.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@69470.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@69471.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69472.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69473.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69474.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69475.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69476.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69477.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69478.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69479.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69480.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69481.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@69482.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@69483.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@69484.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@69485.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@69486.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69511.6]
  assign _T_92 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@69514.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@69515.8]
  assign _T_94 = $signed(_T_93) & $signed(-31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@69516.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@69517.8]
  assign _T_96 = $signed(_T_95) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@69518.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69523.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69536.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69537.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69544.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69545.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69551.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69552.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69557.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69559.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69560.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69565.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69566.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69568.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69569.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@69574.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69576.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69577.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69583.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69637.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69639.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69640.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69663.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@69666.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@69674.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69677.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69678.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69697.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69699.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69700.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@69705.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69707.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69708.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69722.6]
  assign _T_229 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69770.6]
  assign _T_251 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@69809.8]
  assign _T_252 = io_in_a_bits_mask & _T_251; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@69810.8]
  assign _T_253 = _T_252 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@69811.8]
  assign _T_255 = _T_253 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69813.8]
  assign _T_256 = _T_255 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69814.8]
  assign _T_257 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69820.6]
  assign _T_275 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@69851.8]
  assign _T_277 = _T_275 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69853.8]
  assign _T_278 = _T_277 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69854.8]
  assign _T_283 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69868.6]
  assign _T_301 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@69899.8]
  assign _T_303 = _T_301 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69901.8]
  assign _T_304 = _T_303 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69902.8]
  assign _T_309 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@69916.6]
  assign _T_340 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@69975.6]
  assign _T_349 = io_in_d_bits_source | _T_340; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@69980.6]
  assign _T_353 = _T_349 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69985.8]
  assign _T_354 = _T_353 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69986.8]
  assign _T_492 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70272.4]
  assign _T_503 = _T_502 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70282.4]
  assign _T_504 = $unsigned(_T_503); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70283.4]
  assign _T_505 = _T_504[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70284.4]
  assign _T_506 = _T_502 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70285.4]
  assign _T_524 = _T_506 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70301.4]
  assign _T_525 = io_in_a_valid & _T_524; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70302.4]
  assign _T_526 = io_in_a_bits_opcode == _T_515; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70304.6]
  assign _T_528 = _T_526 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70306.6]
  assign _T_529 = _T_528 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70307.6]
  assign _T_530 = io_in_a_bits_param == _T_517; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70312.6]
  assign _T_532 = _T_530 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70314.6]
  assign _T_533 = _T_532 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70315.6]
  assign _T_534 = io_in_a_bits_size == _T_519; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70320.6]
  assign _T_536 = _T_534 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70322.6]
  assign _T_537 = _T_536 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70323.6]
  assign _T_538 = io_in_a_bits_source == _T_521; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70328.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70330.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70331.6]
  assign _T_542 = io_in_a_bits_address == _T_523; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70336.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70338.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70339.6]
  assign _T_547 = _T_492 & _T_506; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70346.4]
  assign _T_548 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70354.4]
  assign _T_550 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@70356.4]
  assign _T_551 = _T_550[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@70357.4]
  assign _T_552 = ~ _T_551; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@70358.4]
  assign _T_553 = _T_552[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@70359.4]
  assign _T_558 = _T_557 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70363.4]
  assign _T_559 = $unsigned(_T_558); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70364.4]
  assign _T_560 = _T_559[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70365.4]
  assign _T_561 = _T_557 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70366.4]
  assign _T_581 = _T_561 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@70383.4]
  assign _T_582 = io_in_d_valid & _T_581; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70384.4]
  assign _T_591 = io_in_d_bits_size == _T_574; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70402.6]
  assign _T_593 = _T_591 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70404.6]
  assign _T_594 = _T_593 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70405.6]
  assign _T_595 = io_in_d_bits_source == _T_576; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70410.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70412.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70413.6]
  assign _T_608 = _T_548 & _T_561; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70436.4]
  assign _T_622 = _T_621 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70456.4]
  assign _T_623 = $unsigned(_T_622); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70457.4]
  assign _T_624 = _T_623[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70458.4]
  assign _T_625 = _T_621 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70459.4]
  assign _T_643 = _T_642 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70479.4]
  assign _T_644 = $unsigned(_T_643); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70480.4]
  assign _T_645 = _T_644[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70481.4]
  assign _T_646 = _T_642 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70482.4]
  assign _T_657 = _T_492 & _T_625; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70497.4]
  assign _T_659 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@70500.6]
  assign _T_660 = _T_610 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@70502.6]
  assign _T_661 = _T_660[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@70503.6]
  assign _T_662 = _T_661 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70504.6]
  assign _T_664 = _T_662 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70506.6]
  assign _T_665 = _T_664 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70507.6]
  assign _GEN_15 = _T_657 ? _T_659 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@70499.4]
  assign _T_670 = _T_548 & _T_646; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70518.4]
  assign _T_674 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@70523.6]
  assign _T_675 = _GEN_15 | _T_610; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70525.6]
  assign _T_676 = _T_675 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70526.6]
  assign _T_677 = _T_676[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70527.6]
  assign _T_679 = _T_677 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70529.6]
  assign _T_680 = _T_679 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70530.6]
  assign _GEN_16 = _T_670 ? _T_674 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@70522.4]
  assign _T_681 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70536.4]
  assign _T_682 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@70537.4]
  assign _T_683 = _T_682 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@70538.4]
  assign _T_684 = _T_681 | _T_683; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@70539.4]
  assign _T_686 = _T_684 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70541.4]
  assign _T_687 = _T_686 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70542.4]
  assign _T_688 = _T_610 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70547.4]
  assign _T_689 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70548.4]
  assign _T_690 = _T_688 & _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@70549.4]
  assign _T_693 = _T_610 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@70554.4]
  assign _T_694 = _T_693 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70555.4]
  assign _T_695 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@70556.4]
  assign _T_696 = _T_694 | _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70557.4]
  assign _T_697 = _T_692 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@70558.4]
  assign _T_698 = _T_696 | _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@70559.4]
  assign _T_700 = _T_698 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70561.4]
  assign _T_701 = _T_700 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70562.4]
  assign _T_703 = _T_692 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70568.4]
  assign _T_706 = _T_492 | _T_548; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70572.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69525.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69597.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69680.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69736.10]
  assign _GEN_75 = io_in_a_valid & _T_229; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69784.10]
  assign _GEN_85 = io_in_a_valid & _T_257; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69834.10]
  assign _GEN_95 = io_in_a_valid & _T_283; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69882.10]
  assign _GEN_105 = io_in_a_valid & _T_309; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69930.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_502 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_515 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_517 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_519 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_521 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_523 = _RAND_5[29:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_557 = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_574 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_576 = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_610 = _RAND_9[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_621 = _RAND_10[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_642 = _RAND_11[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_692 = _RAND_12[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_502 <= 4'h0;
    end else begin
      if (_T_492) begin
        if (_T_506) begin
          _T_502 <= 4'h0;
        end else begin
          _T_502 <= _T_505;
        end
      end
    end
    if (_T_547) begin
      _T_515 <= io_in_a_bits_opcode;
    end
    if (_T_547) begin
      _T_517 <= io_in_a_bits_param;
    end
    if (_T_547) begin
      _T_519 <= io_in_a_bits_size;
    end
    if (_T_547) begin
      _T_521 <= io_in_a_bits_source;
    end
    if (_T_547) begin
      _T_523 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_557 <= 4'h0;
    end else begin
      if (_T_548) begin
        if (_T_561) begin
          _T_557 <= _T_553;
        end else begin
          _T_557 <= _T_560;
        end
      end
    end
    if (_T_608) begin
      _T_574 <= io_in_d_bits_size;
    end
    if (_T_608) begin
      _T_576 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_610 <= 2'h0;
    end else begin
      _T_610 <= _T_690;
    end
    if (reset) begin
      _T_621 <= 4'h0;
    end else begin
      if (_T_492) begin
        if (_T_625) begin
          _T_621 <= 4'h0;
        end else begin
          _T_621 <= _T_624;
        end
      end
    end
    if (reset) begin
      _T_642 <= 4'h0;
    end else begin
      if (_T_548) begin
        if (_T_646) begin
          _T_642 <= _T_553;
        end else begin
          _T_642 <= _T_645;
        end
      end
    end
    if (reset) begin
      _T_692 <= 32'h0;
    end else begin
      if (_T_706) begin
        _T_692 <= 32'h0;
      end else begin
        _T_692 <= _T_703;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at SPI.scala:79:9)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69438.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69439.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69508.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69509.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at SPI.scala:79:9)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69525.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69526.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SPI.scala:79:9)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69532.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69533.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69539.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69540.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SPI.scala:79:9)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69547.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69548.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SPI.scala:79:9)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69554.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69555.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SPI.scala:79:9)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69562.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69563.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SPI.scala:79:9)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69571.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69572.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SPI.scala:79:9)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69579.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69580.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at SPI.scala:79:9)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69597.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69598.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SPI.scala:79:9)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69604.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69605.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69611.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69612.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SPI.scala:79:9)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69619.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69620.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SPI.scala:79:9)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69626.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69627.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SPI.scala:79:9)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69634.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69635.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SPI.scala:79:9)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69642.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69643.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SPI.scala:79:9)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69651.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69652.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SPI.scala:79:9)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69659.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69660.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at SPI.scala:79:9)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69680.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69681.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69687.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69688.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at SPI.scala:79:9)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69694.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69695.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at SPI.scala:79:9)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69702.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69703.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at SPI.scala:79:9)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69710.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69711.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at SPI.scala:79:9)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69718.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69719.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SPI.scala:79:9)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69736.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_101) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69737.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69743.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69744.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at SPI.scala:79:9)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69750.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69751.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at SPI.scala:79:9)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69758.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69759.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at SPI.scala:79:9)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69766.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69767.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at SPI.scala:79:9)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69784.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_101) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69785.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69791.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69792.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SPI.scala:79:9)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69798.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69799.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at SPI.scala:79:9)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69806.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69807.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_256) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SPI.scala:79:9)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69816.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_256) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69817.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at SPI.scala:79:9)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69834.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69835.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69841.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69842.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SPI.scala:79:9)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69848.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69849.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_278) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SPI.scala:79:9)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69856.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_278) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69857.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SPI.scala:79:9)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69864.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69865.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at SPI.scala:79:9)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69882.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69883.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69889.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69890.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at SPI.scala:79:9)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69896.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69897.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_304) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SPI.scala:79:9)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69904.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_304) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69905.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at SPI.scala:79:9)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69912.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69913.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at SPI.scala:79:9)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69930.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69931.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69937.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69938.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at SPI.scala:79:9)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69944.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69945.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at SPI.scala:79:9)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69952.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69953.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at SPI.scala:79:9)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69960.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69961.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SPI.scala:79:9)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69971.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@69972.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69988.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69989.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SPI.scala:79:9)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69996.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@69997.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SPI.scala:79:9)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70004.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70005.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SPI.scala:79:9)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70012.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70013.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at SPI.scala:79:9)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70020.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70021.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70030.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70031.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SPI.scala:79:9)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70037.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70038.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at SPI.scala:79:9)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70045.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70046.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at SPI.scala:79:9)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70053.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70054.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at SPI.scala:79:9)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70061.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70062.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at SPI.scala:79:9)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70069.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70070.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at SPI.scala:79:9)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70078.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70079.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70088.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70089.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SPI.scala:79:9)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70095.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70096.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SPI.scala:79:9)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70103.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70104.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SPI.scala:79:9)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70111.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70112.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at SPI.scala:79:9)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70119.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70120.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SPI.scala:79:9)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70128.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70129.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at SPI.scala:79:9)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70137.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70138.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70147.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70148.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at SPI.scala:79:9)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70155.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70156.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at SPI.scala:79:9)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70163.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70164.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at SPI.scala:79:9)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70172.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70173.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_354) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70182.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_354) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70183.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SPI.scala:79:9)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70190.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70191.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SPI.scala:79:9)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70199.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70200.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at SPI.scala:79:9)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70208.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70209.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70218.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70219.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at SPI.scala:79:9)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70226.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70227.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at SPI.scala:79:9)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70234.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70235.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at SPI.scala:79:9)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70243.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70244.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at SPI.scala:79:9)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70253.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70254.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at SPI.scala:79:9)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70261.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70262.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at SPI.scala:79:9)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70269.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70270.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_525 & _T_529) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70309.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_525 & _T_529) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70310.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_525 & _T_533) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70317.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_525 & _T_533) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70318.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_525 & _T_537) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70325.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_525 & _T_537) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70326.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_525 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70333.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_525 & _T_541) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70334.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_525 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70341.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_525 & _T_545) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70342.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70391.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70392.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70399.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70400.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_582 & _T_594) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70407.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_582 & _T_594) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70408.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_582 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70415.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_582 & _T_598) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70416.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70423.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70424.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at SPI.scala:79:9)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70431.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70432.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_657 & _T_665) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SPI.scala:79:9)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70509.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_657 & _T_665) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70510.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_670 & _T_680) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:79:9)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70532.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_670 & _T_680) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70533.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_687) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at SPI.scala:79:9)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70544.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_687) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@70545.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_701) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SPI.scala:79:9)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70564.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_701) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70565.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Repeater_12( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70577.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70578.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70579.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
  input  [29:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
  output [29:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70580.4]
);
  reg  full; // @[Repeater.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70585.4]
  reg [31:0] _RAND_0;
  wire  _T_18; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@70589.4]
  wire  _T_23; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@70601.4]
  assign _T_18 = full == 1'h0; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@70589.4]
  assign _T_23 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@70601.4]
  assign io_enq_ready = io_deq_ready & _T_18; // @[Repeater.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@70591.4]
  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@70588.4]
  assign io_deq_bits_opcode = full ? 3'h0 : io_enq_bits_opcode; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70593.4]
  assign io_deq_bits_param = full ? 3'h0 : io_enq_bits_param; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70593.4]
  assign io_deq_bits_size = full ? 3'h0 : io_enq_bits_size; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70593.4]
  assign io_deq_bits_source = full ? 1'h0 : io_enq_bits_source; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70593.4]
  assign io_deq_bits_address = full ? 30'h0 : io_enq_bits_address; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70593.4]
  assign io_deq_bits_mask = full ? 4'h0 : io_enq_bits_mask; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70593.4]
  assign io_deq_bits_corrupt = full ? 1'h0 : io_enq_bits_corrupt; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70593.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  full = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      full <= 1'h0;
    end else begin
      if (_T_23) begin
        full <= 1'h0;
      end
    end
  end
endmodule
module TLWidthWidget_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70608.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70609.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70610.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  input  [29:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  output [29:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  output        auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
  input  [7:0]  auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70611.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
  wire [29:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
  wire  Repeater_clock; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
  wire  Repeater_reset; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
  wire  Repeater_io_enq_ready; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
  wire  Repeater_io_enq_valid; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
  wire  Repeater_io_enq_bits_source; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
  wire [29:0] Repeater_io_enq_bits_address; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
  wire  Repeater_io_deq_ready; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
  wire  Repeater_io_deq_valid; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
  wire  Repeater_io_deq_bits_source; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
  wire [29:0] Repeater_io_deq_bits_address; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
  reg [1:0] _T_260; // @[WidthWidget.scala 89:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70681.4]
  reg [31:0] _RAND_0;
  wire  _T_245_valid; // @[WidthWidget.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70667.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70669.4]
  wire  _T_265; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@70686.4]
  wire [29:0] _T_245_bits_address; // @[WidthWidget.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70667.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70669.4]
  wire [1:0] _T_268; // @[WidthWidget.scala 100:39:shc.marmotcaravel.MarmotCaravelConfig.fir@70695.4]
  wire [1:0] _T_269; // @[WidthWidget.scala 110:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70696.4]
  wire [3:0] _T_245_bits_mask; // @[WidthWidget.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70667.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70669.4]
  wire  _T_270; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@70699.4]
  wire  _T_271; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@70700.4]
  wire  _T_272; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@70701.4]
  wire  _T_273; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@70702.4]
  wire  _GEN_3; // @[WidthWidget.scala 122:53:shc.marmotcaravel.MarmotCaravelConfig.fir@70709.4]
  wire  _GEN_4; // @[WidthWidget.scala 122:53:shc.marmotcaravel.MarmotCaravelConfig.fir@70709.4]
  wire [8:0] _T_288; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@70714.4]
  wire [1:0] _T_289; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@70715.4]
  wire [1:0] _T_290; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@70716.4]
  reg [1:0] _T_293; // @[WidthWidget.scala 31:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70718.4]
  reg [31:0] _RAND_1;
  wire  _T_295; // @[WidthWidget.scala 33:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70720.4]
  wire [1:0] _T_299; // @[WidthWidget.scala 34:67:shc.marmotcaravel.MarmotCaravelConfig.fir@70724.4]
  wire  _T_300; // @[WidthWidget.scala 34:76:shc.marmotcaravel.MarmotCaravelConfig.fir@70725.4]
  wire  _T_301; // @[WidthWidget.scala 34:47:shc.marmotcaravel.MarmotCaravelConfig.fir@70726.4]
  wire [1:0] _T_302; // @[WidthWidget.scala 34:56:shc.marmotcaravel.MarmotCaravelConfig.fir@70727.4]
  wire [1:0] _T_303; // @[WidthWidget.scala 34:67:shc.marmotcaravel.MarmotCaravelConfig.fir@70728.4]
  wire  _T_304; // @[WidthWidget.scala 34:76:shc.marmotcaravel.MarmotCaravelConfig.fir@70729.4]
  wire  _T_305; // @[WidthWidget.scala 34:47:shc.marmotcaravel.MarmotCaravelConfig.fir@70730.4]
  wire [1:0] _T_306; // @[WidthWidget.scala 34:56:shc.marmotcaravel.MarmotCaravelConfig.fir@70731.4]
  wire [1:0] _T_307; // @[WidthWidget.scala 34:67:shc.marmotcaravel.MarmotCaravelConfig.fir@70732.4]
  wire  _T_308; // @[WidthWidget.scala 34:76:shc.marmotcaravel.MarmotCaravelConfig.fir@70733.4]
  wire  _T_309; // @[WidthWidget.scala 34:47:shc.marmotcaravel.MarmotCaravelConfig.fir@70734.4]
  reg  _T_315; // @[WidthWidget.scala 36:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70739.4]
  reg [31:0] _RAND_2;
  wire  _T_320; // @[WidthWidget.scala 60:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70752.4]
  wire  _T_321; // @[WidthWidget.scala 60:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70753.4]
  wire  _T_317; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@70741.4]
  wire [1:0] _T_319; // @[WidthWidget.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70744.6]
  reg [7:0] _T_325_0; // @[WidthWidget.scala 51:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70758.4]
  reg [31:0] _RAND_3;
  reg [7:0] _T_325_1; // @[WidthWidget.scala 51:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70758.4]
  reg [31:0] _RAND_4;
  reg [7:0] _T_325_2; // @[WidthWidget.scala 51:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70758.4]
  reg [31:0] _RAND_5;
  wire [7:0] _T_331; // @[WidthWidget.scala 53:81:shc.marmotcaravel.MarmotCaravelConfig.fir@70759.4]
  wire [7:0] _T_332; // @[WidthWidget.scala 53:81:shc.marmotcaravel.MarmotCaravelConfig.fir@70760.4]
  wire [7:0] _T_333; // @[WidthWidget.scala 53:81:shc.marmotcaravel.MarmotCaravelConfig.fir@70761.4]
  wire  _T_337; // @[WidthWidget.scala 54:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70765.4]
  wire [15:0] _T_338; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@70771.4]
  wire [15:0] _T_339; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@70772.4]
  TLMonitor_40 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70618.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  Repeater_12 Repeater ( // @[Repeater.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70661.4]
    .clock(Repeater_clock),
    .reset(Repeater_reset),
    .io_enq_ready(Repeater_io_enq_ready),
    .io_enq_valid(Repeater_io_enq_valid),
    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
    .io_enq_bits_param(Repeater_io_enq_bits_param),
    .io_enq_bits_size(Repeater_io_enq_bits_size),
    .io_enq_bits_source(Repeater_io_enq_bits_source),
    .io_enq_bits_address(Repeater_io_enq_bits_address),
    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
    .io_deq_ready(Repeater_io_deq_ready),
    .io_deq_valid(Repeater_io_deq_valid),
    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
    .io_deq_bits_param(Repeater_io_deq_bits_param),
    .io_deq_bits_size(Repeater_io_deq_bits_size),
    .io_deq_bits_source(Repeater_io_deq_bits_source),
    .io_deq_bits_address(Repeater_io_deq_bits_address),
    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
  );
  assign _T_245_valid = Repeater_io_deq_valid; // @[WidthWidget.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70667.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70669.4]
  assign _T_265 = auto_out_a_ready & _T_245_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@70686.4]
  assign _T_245_bits_address = Repeater_io_deq_bits_address; // @[WidthWidget.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70667.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70669.4]
  assign _T_268 = _T_245_bits_address[1:0]; // @[WidthWidget.scala 100:39:shc.marmotcaravel.MarmotCaravelConfig.fir@70695.4]
  assign _T_269 = _T_268 | _T_260; // @[WidthWidget.scala 110:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70696.4]
  assign _T_245_bits_mask = Repeater_io_deq_bits_mask; // @[WidthWidget.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70667.4 WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70669.4]
  assign _T_270 = _T_245_bits_mask[0]; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@70699.4]
  assign _T_271 = _T_245_bits_mask[1]; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@70700.4]
  assign _T_272 = _T_245_bits_mask[2]; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@70701.4]
  assign _T_273 = _T_245_bits_mask[3]; // @[WidthWidget.scala 112:51:shc.marmotcaravel.MarmotCaravelConfig.fir@70702.4]
  assign _GEN_3 = 2'h1 == _T_269 ? _T_271 : _T_270; // @[WidthWidget.scala 122:53:shc.marmotcaravel.MarmotCaravelConfig.fir@70709.4]
  assign _GEN_4 = 2'h2 == _T_269 ? _T_272 : _GEN_3; // @[WidthWidget.scala 122:53:shc.marmotcaravel.MarmotCaravelConfig.fir@70709.4]
  assign _T_288 = 9'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@70714.4]
  assign _T_289 = _T_288[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@70715.4]
  assign _T_290 = ~ _T_289; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@70716.4]
  assign _T_295 = _T_293 == _T_290; // @[WidthWidget.scala 33:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70720.4]
  assign _T_299 = _T_293 & _T_290; // @[WidthWidget.scala 34:67:shc.marmotcaravel.MarmotCaravelConfig.fir@70724.4]
  assign _T_300 = _T_299 != 2'h0; // @[WidthWidget.scala 34:76:shc.marmotcaravel.MarmotCaravelConfig.fir@70725.4]
  assign _T_301 = _T_300 == 1'h0; // @[WidthWidget.scala 34:47:shc.marmotcaravel.MarmotCaravelConfig.fir@70726.4]
  assign _T_302 = _T_293 ^ 2'h1; // @[WidthWidget.scala 34:56:shc.marmotcaravel.MarmotCaravelConfig.fir@70727.4]
  assign _T_303 = _T_302 & _T_290; // @[WidthWidget.scala 34:67:shc.marmotcaravel.MarmotCaravelConfig.fir@70728.4]
  assign _T_304 = _T_303 != 2'h0; // @[WidthWidget.scala 34:76:shc.marmotcaravel.MarmotCaravelConfig.fir@70729.4]
  assign _T_305 = _T_304 == 1'h0; // @[WidthWidget.scala 34:47:shc.marmotcaravel.MarmotCaravelConfig.fir@70730.4]
  assign _T_306 = _T_293 ^ 2'h2; // @[WidthWidget.scala 34:56:shc.marmotcaravel.MarmotCaravelConfig.fir@70731.4]
  assign _T_307 = _T_306 & _T_290; // @[WidthWidget.scala 34:67:shc.marmotcaravel.MarmotCaravelConfig.fir@70732.4]
  assign _T_308 = _T_307 != 2'h0; // @[WidthWidget.scala 34:76:shc.marmotcaravel.MarmotCaravelConfig.fir@70733.4]
  assign _T_309 = _T_308 == 1'h0; // @[WidthWidget.scala 34:47:shc.marmotcaravel.MarmotCaravelConfig.fir@70734.4]
  assign _T_320 = _T_295 == 1'h0; // @[WidthWidget.scala 60:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70752.4]
  assign _T_321 = auto_in_d_ready | _T_320; // @[WidthWidget.scala 60:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70753.4]
  assign _T_317 = _T_321 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@70741.4]
  assign _T_319 = _T_293 + 2'h1; // @[WidthWidget.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70744.6]
  assign _T_331 = _T_301 ? auto_out_d_bits_data : _T_325_0; // @[WidthWidget.scala 53:81:shc.marmotcaravel.MarmotCaravelConfig.fir@70759.4]
  assign _T_332 = _T_305 ? auto_out_d_bits_data : _T_325_1; // @[WidthWidget.scala 53:81:shc.marmotcaravel.MarmotCaravelConfig.fir@70760.4]
  assign _T_333 = _T_309 ? auto_out_d_bits_data : _T_325_2; // @[WidthWidget.scala 53:81:shc.marmotcaravel.MarmotCaravelConfig.fir@70761.4]
  assign _T_337 = _T_317 & _T_320; // @[WidthWidget.scala 54:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70765.4]
  assign _T_338 = {_T_332,_T_331}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@70771.4]
  assign _T_339 = {auto_out_d_bits_data,_T_333}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@70772.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70658.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_295; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70658.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70658.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70658.4]
  assign auto_in_d_bits_data = {_T_339,_T_338}; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70658.4]
  assign auto_in_d_bits_corrupt = _T_315; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70658.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70657.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70657.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70657.4]
  assign auto_out_a_bits_size = Repeater_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70657.4]
  assign auto_out_a_bits_source = Repeater_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70657.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70657.4]
  assign auto_out_a_bits_mask = 2'h3 == _T_269 ? _T_273 : _GEN_4; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70657.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70657.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_320; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70657.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70620.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70621.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70654.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70654.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70654.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70654.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70654.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70654.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70654.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70654.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70654.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70654.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_295; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70654.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70654.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@70654.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70663.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70664.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70666.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70666.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70666.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70666.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70666.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70666.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70666.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Repeater.scala 36:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70666.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[WidthWidget.scala 142:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70669.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_260 = _RAND_0[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_293 = _RAND_1[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_315 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_325_0 = _RAND_3[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_325_1 = _RAND_4[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_325_2 = _RAND_5[7:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_260 <= 2'h0;
    end else begin
      if (_T_265) begin
        _T_260 <= 2'h0;
      end
    end
    if (reset) begin
      _T_293 <= 2'h0;
    end else begin
      if (_T_317) begin
        if (_T_295) begin
          _T_293 <= 2'h0;
        end else begin
          _T_293 <= _T_319;
        end
      end
    end
    if (reset) begin
      _T_315 <= 1'h0;
    end else begin
      if (_T_317) begin
        if (_T_295) begin
          _T_315 <= 1'h0;
        end
      end
    end
    if (_T_337) begin
      if (_T_301) begin
        _T_325_0 <= auto_out_d_bits_data;
      end
    end
    if (_T_337) begin
      if (_T_305) begin
        _T_325_1 <= auto_out_d_bits_data;
      end
    end
    if (_T_337) begin
      if (_T_309) begin
        _T_325_2 <= auto_out_d_bits_data;
      end
    end
  end
endmodule
module SimpleLazyModule_19( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70783.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70784.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70785.4]
  output        auto_widget_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  input         auto_widget_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  input  [2:0]  auto_widget_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  input  [2:0]  auto_widget_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  input  [2:0]  auto_widget_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  input         auto_widget_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  input  [29:0] auto_widget_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  input  [3:0]  auto_widget_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  input         auto_widget_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  input         auto_widget_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  output        auto_widget_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  output [2:0]  auto_widget_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  output        auto_widget_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  output [31:0] auto_widget_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  output        auto_widget_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  input         auto_mem_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  output        auto_mem_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  output [2:0]  auto_mem_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  output [2:0]  auto_mem_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  output        auto_mem_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  output [7:0]  auto_mem_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  output [29:0] auto_mem_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  output        auto_mem_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  output        auto_mem_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  output        auto_mem_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  input         auto_mem_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  input         auto_mem_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  input  [7:0]  auto_mem_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
  input  [7:0]  auto_mem_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70786.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire [29:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire  fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire [7:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire  fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire [7:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire [29:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire  fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire  fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire [7:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire [7:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire [2:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire [29:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire  buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire [2:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire [7:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire [2:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire [29:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire  buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire [2:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire [7:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
  wire  widget_clock; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire  widget_reset; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire  widget_auto_in_a_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire  widget_auto_in_a_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire [2:0] widget_auto_in_a_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire [2:0] widget_auto_in_a_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire [2:0] widget_auto_in_a_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire  widget_auto_in_a_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire [29:0] widget_auto_in_a_bits_address; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire [3:0] widget_auto_in_a_bits_mask; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire  widget_auto_in_a_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire  widget_auto_in_d_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire  widget_auto_in_d_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire [2:0] widget_auto_in_d_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire  widget_auto_in_d_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire [31:0] widget_auto_in_d_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire  widget_auto_in_d_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire  widget_auto_out_a_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire  widget_auto_out_a_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire [2:0] widget_auto_out_a_bits_opcode; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire [2:0] widget_auto_out_a_bits_param; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire [2:0] widget_auto_out_a_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire  widget_auto_out_a_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire [29:0] widget_auto_out_a_bits_address; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire  widget_auto_out_a_bits_mask; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire  widget_auto_out_a_bits_corrupt; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire  widget_auto_out_d_ready; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire  widget_auto_out_d_valid; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire [2:0] widget_auto_out_d_bits_size; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire  widget_auto_out_d_bits_source; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  wire [7:0] widget_auto_out_d_bits_data; // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
  TLFragmenter_11 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@70791.4]
    .clock(fragmenter_clock),
    .reset(fragmenter_reset),
    .auto_in_a_ready(fragmenter_auto_in_a_ready),
    .auto_in_a_valid(fragmenter_auto_in_a_valid),
    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
    .auto_in_d_ready(fragmenter_auto_in_d_ready),
    .auto_in_d_valid(fragmenter_auto_in_d_valid),
    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
    .auto_out_a_ready(fragmenter_auto_out_a_ready),
    .auto_out_a_valid(fragmenter_auto_out_a_valid),
    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
    .auto_out_d_ready(fragmenter_auto_out_d_ready),
    .auto_out_d_valid(fragmenter_auto_out_d_valid),
    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
  );
  TLBuffer_12 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70797.4]
    .clock(buffer_clock),
    .reset(buffer_reset),
    .auto_in_a_ready(buffer_auto_in_a_ready),
    .auto_in_a_valid(buffer_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_auto_in_d_ready),
    .auto_in_d_valid(buffer_auto_in_d_valid),
    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
    .auto_out_a_ready(buffer_auto_out_a_ready),
    .auto_out_a_valid(buffer_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_auto_out_d_ready),
    .auto_out_d_valid(buffer_auto_out_d_valid),
    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
  );
  TLWidthWidget_3 widget ( // @[WidthWidget.scala 202:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70803.4]
    .clock(widget_clock),
    .reset(widget_reset),
    .auto_in_a_ready(widget_auto_in_a_ready),
    .auto_in_a_valid(widget_auto_in_a_valid),
    .auto_in_a_bits_opcode(widget_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(widget_auto_in_a_bits_param),
    .auto_in_a_bits_size(widget_auto_in_a_bits_size),
    .auto_in_a_bits_source(widget_auto_in_a_bits_source),
    .auto_in_a_bits_address(widget_auto_in_a_bits_address),
    .auto_in_a_bits_mask(widget_auto_in_a_bits_mask),
    .auto_in_a_bits_corrupt(widget_auto_in_a_bits_corrupt),
    .auto_in_d_ready(widget_auto_in_d_ready),
    .auto_in_d_valid(widget_auto_in_d_valid),
    .auto_in_d_bits_size(widget_auto_in_d_bits_size),
    .auto_in_d_bits_source(widget_auto_in_d_bits_source),
    .auto_in_d_bits_data(widget_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(widget_auto_in_d_bits_corrupt),
    .auto_out_a_ready(widget_auto_out_a_ready),
    .auto_out_a_valid(widget_auto_out_a_valid),
    .auto_out_a_bits_opcode(widget_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(widget_auto_out_a_bits_param),
    .auto_out_a_bits_size(widget_auto_out_a_bits_size),
    .auto_out_a_bits_source(widget_auto_out_a_bits_source),
    .auto_out_a_bits_address(widget_auto_out_a_bits_address),
    .auto_out_a_bits_mask(widget_auto_out_a_bits_mask),
    .auto_out_a_bits_corrupt(widget_auto_out_a_bits_corrupt),
    .auto_out_d_ready(widget_auto_out_d_ready),
    .auto_out_d_valid(widget_auto_out_d_valid),
    .auto_out_d_bits_size(widget_auto_out_d_bits_size),
    .auto_out_d_bits_source(widget_auto_out_d_bits_source),
    .auto_out_d_bits_data(widget_auto_out_d_bits_data)
  );
  assign auto_widget_in_a_ready = widget_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
  assign auto_widget_in_d_valid = widget_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
  assign auto_widget_in_d_bits_size = widget_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
  assign auto_widget_in_d_bits_source = widget_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
  assign auto_widget_in_d_bits_data = widget_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
  assign auto_widget_in_d_bits_corrupt = widget_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
  assign auto_mem_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70817.4]
  assign auto_mem_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70817.4]
  assign auto_mem_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70817.4]
  assign auto_mem_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70817.4]
  assign auto_mem_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70817.4]
  assign auto_mem_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70817.4]
  assign auto_mem_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70817.4]
  assign auto_mem_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70817.4]
  assign auto_mem_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70817.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70795.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70796.4]
  assign fragmenter_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
  assign fragmenter_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
  assign fragmenter_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
  assign fragmenter_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
  assign fragmenter_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
  assign fragmenter_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
  assign fragmenter_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
  assign fragmenter_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
  assign fragmenter_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
  assign fragmenter_auto_out_a_ready = auto_mem_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70814.4]
  assign fragmenter_auto_out_d_valid = auto_mem_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70814.4]
  assign fragmenter_auto_out_d_bits_size = auto_mem_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70814.4]
  assign fragmenter_auto_out_d_bits_source = auto_mem_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70814.4]
  assign fragmenter_auto_out_d_bits_data = auto_mem_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70814.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70801.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70802.4]
  assign buffer_auto_in_a_valid = widget_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
  assign buffer_auto_in_a_bits_opcode = widget_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
  assign buffer_auto_in_a_bits_param = widget_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
  assign buffer_auto_in_a_bits_size = widget_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
  assign buffer_auto_in_a_bits_source = widget_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
  assign buffer_auto_in_a_bits_address = widget_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
  assign buffer_auto_in_a_bits_mask = widget_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
  assign buffer_auto_in_a_bits_corrupt = widget_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
  assign buffer_auto_in_d_ready = widget_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
  assign buffer_auto_out_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
  assign buffer_auto_out_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
  assign buffer_auto_out_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
  assign buffer_auto_out_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
  assign buffer_auto_out_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70815.4]
  assign widget_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70807.4]
  assign widget_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70808.4]
  assign widget_auto_in_a_valid = auto_widget_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
  assign widget_auto_in_a_bits_opcode = auto_widget_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
  assign widget_auto_in_a_bits_param = auto_widget_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
  assign widget_auto_in_a_bits_size = auto_widget_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
  assign widget_auto_in_a_bits_source = auto_widget_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
  assign widget_auto_in_a_bits_address = auto_widget_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
  assign widget_auto_in_a_bits_mask = auto_widget_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
  assign widget_auto_in_a_bits_corrupt = auto_widget_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
  assign widget_auto_in_d_ready = auto_widget_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70818.4]
  assign widget_auto_out_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
  assign widget_auto_out_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
  assign widget_auto_out_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
  assign widget_auto_out_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
  assign widget_auto_out_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70816.4]
endmodule
module TLMonitor_41( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70827.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70828.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70829.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@70830.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@71951.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@70846.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@70851.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@70853.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@70854.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@70855.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@70856.6]
  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@70856.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70857.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70859.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70860.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@70862.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70863.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70864.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70865.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70866.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70868.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70869.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70871.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70872.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70873.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70874.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70875.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70876.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70877.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70878.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70879.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70880.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70881.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70882.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70883.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70884.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70885.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70886.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70887.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@70888.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@70889.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@70890.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70915.6]
  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70918.8]
  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70919.8]
  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@70920.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@70921.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@70922.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70927.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70940.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70941.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70948.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70949.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70955.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70956.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70961.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70963.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70964.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70969.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70970.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70972.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70973.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70978.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70980.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70981.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70987.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71041.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71043.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71044.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71067.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@71070.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@71078.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71081.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71082.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71101.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71103.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71104.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71109.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71111.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71112.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71126.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71177.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@71219.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71220.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@71221.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71223.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71224.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71230.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@71261.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71263.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71264.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71278.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@71309.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71311.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71312.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71326.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@71376.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71378.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71379.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@71385.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@71390.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71392.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71395.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71396.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71401.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71403.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71404.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71434.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71492.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71551.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71586.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71622.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71682.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@71687.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@71688.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71689.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71691.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71692.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71693.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71694.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71695.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71706.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71707.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71708.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71709.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71710.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71711.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@71712.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71714.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71716.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71717.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71722.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71724.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71725.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71730.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71732.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71733.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71738.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71740.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71741.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71746.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71748.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71749.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@71756.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71764.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@71766.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@71767.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@71768.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@71769.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@71770.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71772.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71773.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71774.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71775.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71776.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71787.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71789.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71790.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71793.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@71794.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71796.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71798.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71799.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71812.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71814.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71815.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71820.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71822.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71823.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@71846.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71855.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71865.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71866.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71867.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71868.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71869.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71888.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71889.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71890.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71891.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71892.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71907.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@71910.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@71912.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@71913.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71914.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71916.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71917.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@71909.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71928.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@71930.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@71931.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@71933.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@71935.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71936.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71937.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71939.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71940.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@71932.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71946.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@71947.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@71948.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71950.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@71953.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71954.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@71955.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71956.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@71957.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@71958.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71960.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71961.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71967.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71971.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70929.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71001.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71084.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71143.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71194.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71244.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71292.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71340.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71398.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71440.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71498.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71557.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71592.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71628.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@71951.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@70846.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@70851.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@70853.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@70854.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@70855.6]
  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@70856.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@70856.6]
  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@70857.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70859.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70860.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@70862.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@70863.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70864.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70865.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70866.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70868.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70869.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70871.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70872.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70873.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@70874.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@70875.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70876.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70877.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70878.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70879.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70880.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70881.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70882.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70883.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70884.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70885.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@70886.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@70887.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@70888.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@70889.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@70890.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70915.6]
  assign _T_92 = io_in_a_bits_address ^ 29'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@70918.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@70919.8]
  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@70920.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@70921.8]
  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@70922.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70927.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70940.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70941.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70948.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70949.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70955.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70956.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@70961.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70963.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70964.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70969.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@70970.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70972.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70973.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@70978.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70980.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70981.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@70987.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71041.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71043.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71044.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71067.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@71070.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@71078.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71081.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71082.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71101.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71103.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71104.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71109.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71111.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71112.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71126.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71177.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@71219.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71220.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@71221.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71223.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71224.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71230.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@71261.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71263.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71264.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71278.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@71309.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71311.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71312.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71326.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@71376.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71378.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71379.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@71385.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@71390.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71392.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71395.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71396.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71401.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71403.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71404.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71434.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71492.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71551.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71586.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71622.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71682.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@71687.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@71688.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71689.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71692.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71693.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71694.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71695.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71711.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@71712.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71714.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71716.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71717.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71722.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71724.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71725.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71730.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71732.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71733.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71738.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71740.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71741.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71746.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71748.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71749.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@71756.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71764.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@71766.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@71767.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@71768.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@71769.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@71770.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71773.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71774.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71775.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71776.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@71793.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@71794.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71796.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71798.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71799.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71812.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71814.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71815.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@71820.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71822.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71823.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@71846.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71866.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71867.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71868.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71869.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71889.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71890.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@71891.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@71892.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71907.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@71910.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@71912.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@71913.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71914.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71916.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71917.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@71909.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71928.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@71930.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@71931.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@71933.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@71935.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71936.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@71937.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71939.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71940.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@71932.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71946.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@71947.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@71948.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@71953.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71954.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@71955.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71956.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@71957.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@71958.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71960.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71961.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@71967.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@71971.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70929.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71001.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71084.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71143.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71194.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71244.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71292.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71340.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71398.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71440.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71498.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71557.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71592.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71628.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_508 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_521 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_523 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_525 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_527 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_529 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_563 = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_576 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_580 = _RAND_8[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_582 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_616 = _RAND_10[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_627 = _RAND_11[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_648 = _RAND_12[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_691 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_508 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_512) begin
          if (_T_505) begin
            _T_508 <= _T_503;
          end else begin
            _T_508 <= 4'h0;
          end
        end else begin
          _T_508 <= _T_511;
        end
      end
    end
    if (_T_553) begin
      _T_521 <= io_in_a_bits_opcode;
    end
    if (_T_553) begin
      _T_523 <= io_in_a_bits_param;
    end
    if (_T_553) begin
      _T_525 <= io_in_a_bits_size;
    end
    if (_T_553) begin
      _T_527 <= io_in_a_bits_source;
    end
    if (_T_553) begin
      _T_529 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_563 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_567) begin
          if (_T_560) begin
            _T_563 <= _T_559;
          end else begin
            _T_563 <= 4'h0;
          end
        end else begin
          _T_563 <= _T_566;
        end
      end
    end
    if (_T_614) begin
      _T_576 <= io_in_d_bits_opcode;
    end
    if (_T_614) begin
      _T_580 <= io_in_d_bits_size;
    end
    if (_T_614) begin
      _T_582 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_616 <= 2'h0;
    end else begin
      _T_616 <= _T_689;
    end
    if (reset) begin
      _T_627 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_631) begin
          if (_T_505) begin
            _T_627 <= _T_503;
          end else begin
            _T_627 <= 4'h0;
          end
        end else begin
          _T_627 <= _T_630;
        end
      end
    end
    if (reset) begin
      _T_648 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_652) begin
          if (_T_560) begin
            _T_648 <= _T_559;
          end else begin
            _T_648 <= 4'h0;
          end
        end else begin
          _T_648 <= _T_651;
        end
      end
    end
    if (reset) begin
      _T_691 <= 32'h0;
    end else begin
      if (_T_705) begin
        _T_691 <= 32'h0;
      end else begin
        _T_691 <= _T_702;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at SPI.scala:44:93)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70842.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70843.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70912.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@70913.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70929.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70930.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SPI.scala:44:93)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70936.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70937.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70943.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70944.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SPI.scala:44:93)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70951.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70952.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70958.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70959.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SPI.scala:44:93)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70966.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70967.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70975.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70976.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70983.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@70984.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71001.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71002.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SPI.scala:44:93)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71008.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71009.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71015.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71016.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SPI.scala:44:93)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71023.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71024.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71030.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71031.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SPI.scala:44:93)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71038.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71039.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SPI.scala:44:93)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71046.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71047.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71055.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71056.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71063.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71064.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71084.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71085.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71091.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71092.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71098.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71099.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71106.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71107.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71114.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71115.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71122.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71123.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71143.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71144.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71150.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71151.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71157.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71158.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71165.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71166.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71173.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71174.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71194.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71195.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71201.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71202.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71208.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71209.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71216.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71217.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71226.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71227.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71244.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71245.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71251.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71252.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71258.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71259.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SPI.scala:44:93)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71266.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71267.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71274.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71275.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71292.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71293.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71299.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71300.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71306.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71307.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SPI.scala:44:93)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71314.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71315.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71322.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71323.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71340.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71341.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71347.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71348.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71354.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71355.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71362.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71363.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71370.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71371.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SPI.scala:44:93)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71381.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71382.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71398.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71399.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SPI.scala:44:93)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71406.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71407.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71414.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71415.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71422.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71423.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at SPI.scala:44:93)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71430.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71431.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71440.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71441.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SPI.scala:44:93)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71447.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71448.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at SPI.scala:44:93)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71455.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71456.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at SPI.scala:44:93)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71463.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71464.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at SPI.scala:44:93)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71471.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71472.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71479.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71480.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at SPI.scala:44:93)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71488.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71489.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71498.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71499.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SPI.scala:44:93)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71505.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71506.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SPI.scala:44:93)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71513.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71514.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SPI.scala:44:93)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71521.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71522.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at SPI.scala:44:93)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71529.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71530.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71538.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71539.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at SPI.scala:44:93)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71547.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71548.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71557.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71558.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71565.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71566.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71573.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71574.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at SPI.scala:44:93)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71582.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71583.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71592.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71593.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71600.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71601.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71609.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71610.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at SPI.scala:44:93)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71618.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71619.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71628.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71629.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71636.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71637.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71644.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71645.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at SPI.scala:44:93)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71653.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71654.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at SPI.scala:44:93)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71663.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71664.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at SPI.scala:44:93)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71671.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71672.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at SPI.scala:44:93)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71679.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71680.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71719.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71720.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71727.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71728.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71735.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71736.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71743.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71744.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71751.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71752.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71801.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71802.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71809.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71810.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71817.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71818.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71825.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71826.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71833.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71834.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71841.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@71842.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71919.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71920.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:44:93)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71942.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@71943.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_700) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SPI.scala:44:93)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71963.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_700) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@71964.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFragmenter_12( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72007.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72008.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72009.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72010.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72058.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@72059.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72060.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@72061.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72062.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72063.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72065.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72066.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72068.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@72069.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72070.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@72071.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72087.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@72088.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@72089.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@72089.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@72090.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@72090.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@72091.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@72091.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@72092.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72093.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@72094.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@72095.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@72096.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@72097.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72098.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72099.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72099.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@72100.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@72101.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72102.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72103.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@72104.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72105.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72106.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@72120.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72122.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72123.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@72124.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@72107.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@72109.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@72109.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@72110.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@72111.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@72116.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@72126.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72159.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@72160.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72162.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@72163.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72164.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72166.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@72167.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72168.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@72169.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72170.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72172.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72173.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72174.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72175.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72176.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72177.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72178.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@72179.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@72182.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@72189.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72190.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@72194.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@72054.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@72203.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@72195.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72199.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@72200.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@72204.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@72204.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@72205.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@72206.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@72207.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@72207.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@72208.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72209.4]
  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@72210.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72212.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@72216.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@72218.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72220.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72221.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@72228.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@72229.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72231.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72232.4]
  TLMonitor_41 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72017.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  Repeater_4 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72134.4]
    .clock(Repeater_clock),
    .reset(Repeater_reset),
    .io_repeat(Repeater_io_repeat),
    .io_full(Repeater_io_full),
    .io_enq_ready(Repeater_io_enq_ready),
    .io_enq_valid(Repeater_io_enq_valid),
    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
    .io_enq_bits_param(Repeater_io_enq_bits_param),
    .io_enq_bits_size(Repeater_io_enq_bits_size),
    .io_enq_bits_source(Repeater_io_enq_bits_source),
    .io_enq_bits_address(Repeater_io_enq_bits_address),
    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
    .io_deq_ready(Repeater_io_deq_ready),
    .io_deq_valid(Repeater_io_deq_valid),
    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
    .io_deq_bits_param(Repeater_io_deq_bits_param),
    .io_deq_bits_size(Repeater_io_deq_bits_size),
    .io_deq_bits_source(Repeater_io_deq_bits_source),
    .io_deq_bits_address(Repeater_io_deq_bits_address),
    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
  );
  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@72061.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72062.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72063.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72065.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72066.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72068.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@72069.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72070.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@72071.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72087.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@72088.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@72089.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@72089.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@72090.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@72090.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@72091.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@72091.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@72092.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72093.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@72094.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@72095.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@72096.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@72097.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72098.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72099.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72099.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@72100.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@72101.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72102.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72103.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@72104.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72105.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72106.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@72120.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72122.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72123.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@72124.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@72107.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@72109.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@72109.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@72110.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@72111.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@72116.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@72126.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72159.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@72160.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72162.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@72163.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72164.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72166.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@72167.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72168.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@72169.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72170.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72173.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72174.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72175.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72176.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72177.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72178.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@72179.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@72182.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72190.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@72194.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@72054.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@72203.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@72195.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72199.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@72200.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@72204.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@72204.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@72205.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@72206.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@72207.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@72207.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@72208.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72209.4]
  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@72210.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72212.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@72216.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@72218.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72220.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72221.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@72228.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@72229.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72231.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72232.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72057.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72057.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72057.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72057.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72057.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72057.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72056.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72056.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72056.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72056.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72056.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72056.4]
  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72056.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72056.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72056.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72056.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72019.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72020.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@72053.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72136.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72137.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@72202.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@72138.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@72138.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@72138.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@72138.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@72138.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@72138.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@72138.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@72138.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@72203.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_244 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_246 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_248 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_344 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_362 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_244 <= 4'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_244 <= _T_249;
        end else begin
          _T_244 <= _T_294;
        end
      end
    end
    if (_T_291) begin
      if (_T_250) begin
        _T_246 <= _T_290;
      end
    end
    if (reset) begin
      _T_248 <= 1'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_248 <= _T_296;
        end
      end
    end
    if (reset) begin
      _T_344 <= 4'h0;
    end else begin
      if (_T_365) begin
        _T_344 <= _T_354;
      end
    end
    if (_T_345) begin
      _T_362 <= _T_248;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72082.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72083.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_383) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72223.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_383) begin
          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72224.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_389) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72234.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_389) begin
          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72235.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SimpleLazyModule_20( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72246.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72247.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72248.4]
  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72249.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
  TLFragmenter_12 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@72254.4]
    .clock(fragmenter_clock),
    .reset(fragmenter_reset),
    .auto_in_a_ready(fragmenter_auto_in_a_ready),
    .auto_in_a_valid(fragmenter_auto_in_a_valid),
    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
    .auto_in_d_ready(fragmenter_auto_in_d_ready),
    .auto_in_d_valid(fragmenter_auto_in_d_valid),
    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
    .auto_out_a_ready(fragmenter_auto_out_a_ready),
    .auto_out_a_valid(fragmenter_auto_out_a_valid),
    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
    .auto_out_d_ready(fragmenter_auto_out_d_ready),
    .auto_out_d_valid(fragmenter_auto_out_d_valid),
    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
  );
  assign auto_fragmenter_in_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72266.4]
  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72266.4]
  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72266.4]
  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72266.4]
  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72266.4]
  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72266.4]
  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72266.4]
  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72266.4]
  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72266.4]
  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72266.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72258.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72259.4]
  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72267.4]
  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72265.4]
  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72265.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72265.4]
  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72265.4]
  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72265.4]
  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72265.4]
endmodule
module TLMonitor_42( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72276.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72277.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72278.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@72279.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@73400.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@72295.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72300.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72302.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@72303.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72304.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@72305.6]
  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@72305.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@72306.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72308.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72309.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@72311.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@72312.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@72313.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@72314.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@72315.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@72317.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72318.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@72320.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72321.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@72322.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@72323.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@72324.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72325.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@72326.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72327.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72328.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@72329.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72330.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72331.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@72332.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72333.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72334.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@72335.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72336.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72337.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72338.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72339.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72364.6]
  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72367.8]
  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72368.8]
  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@72369.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@72370.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@72371.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72376.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72389.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72390.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72397.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72398.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72404.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72405.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72410.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72412.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72413.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@72418.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72419.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72421.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72422.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@72427.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72429.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72430.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72436.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72490.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72492.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72493.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72516.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@72519.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@72527.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72530.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72531.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72550.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72552.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72553.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72558.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72560.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72561.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72575.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72626.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@72668.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72669.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@72670.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72672.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72673.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72679.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@72710.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72712.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72713.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72727.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@72758.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72760.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72761.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72775.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@72825.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72827.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72828.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@72834.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72839.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72841.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72844.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72845.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72850.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72852.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72853.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72883.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72941.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73000.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73035.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73071.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73131.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@73136.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73137.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73138.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73140.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73141.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73142.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73143.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73144.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73155.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73156.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73157.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73158.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73159.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73160.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73161.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73163.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73165.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73166.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73171.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73173.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73174.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73179.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73181.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73182.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73187.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73189.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73190.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73195.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73197.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73198.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@73205.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73213.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73215.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73216.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73217.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@73218.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@73219.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73221.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73222.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73223.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73224.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73225.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73236.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73238.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73239.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73242.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73243.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73245.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73247.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73248.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73261.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73263.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73264.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73269.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73271.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73272.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73304.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73314.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73315.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73316.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73317.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73318.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73337.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73338.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73339.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73340.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73341.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73356.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@73359.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73361.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73362.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73363.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73365.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73366.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@73358.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73377.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@73379.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@73380.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@73382.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@73384.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73385.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73386.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73388.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73389.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@73381.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73395.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73396.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@73397.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73399.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73402.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73403.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@73404.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73405.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@73406.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@73407.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73409.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73410.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73416.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73420.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72378.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72450.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72533.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72592.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72643.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72693.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72741.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72789.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72847.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72889.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72947.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73006.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73041.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73077.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@73400.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@72295.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72300.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@72302.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@72303.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72304.6]
  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@72305.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@72305.6]
  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@72306.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72308.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72309.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@72311.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@72312.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@72313.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@72314.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@72315.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@72317.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72318.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@72320.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72321.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@72322.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@72323.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@72324.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72325.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@72326.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72327.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72328.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@72329.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72330.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72331.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@72332.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72333.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72334.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@72335.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@72336.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72337.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72338.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@72339.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72364.6]
  assign _T_92 = io_in_a_bits_address ^ 29'h10034000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@72367.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@72368.8]
  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@72369.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@72370.8]
  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@72371.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72376.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72389.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72390.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72397.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72398.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72404.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72405.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72410.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72412.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72413.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@72418.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72419.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72421.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72422.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@72427.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72429.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72430.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72436.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72490.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72492.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72493.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72516.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@72519.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@72527.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72530.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72531.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72550.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72552.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72553.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72558.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72560.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72561.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72575.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72626.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@72668.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@72669.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@72670.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72672.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72673.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72679.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@72710.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72712.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72713.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72727.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@72758.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72760.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72761.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72775.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@72825.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72827.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72828.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@72834.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@72839.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72841.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72844.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72845.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@72850.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72852.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72853.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72883.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@72941.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73000.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73035.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73071.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73131.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@73136.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73137.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73138.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73141.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73142.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73143.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73144.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73160.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73161.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73163.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73165.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73166.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73171.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73173.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73174.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73179.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73181.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73182.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73187.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73189.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73190.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73195.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73197.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73198.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@73205.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73213.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73215.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73216.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73217.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@73218.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@73219.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73222.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73223.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73224.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73225.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73242.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73243.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73245.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73247.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73248.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73261.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73263.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73264.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73269.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73271.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73272.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@73295.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73315.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73316.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73317.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73318.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73338.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73339.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73340.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73341.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73356.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@73359.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73361.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73362.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73363.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73365.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73366.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@73358.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73377.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@73379.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@73380.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@73382.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@73384.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73385.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73386.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73388.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73389.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@73381.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73395.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73396.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@73397.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73402.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73403.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@73404.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73405.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@73406.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@73407.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73409.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73410.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73416.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73420.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72378.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72450.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72533.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72592.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72643.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72693.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72741.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72789.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72847.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72889.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72947.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73006.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73041.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73077.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_508 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_521 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_523 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_525 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_527 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_529 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_563 = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_576 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_580 = _RAND_8[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_582 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_616 = _RAND_10[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_627 = _RAND_11[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_648 = _RAND_12[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_691 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_508 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_512) begin
          if (_T_505) begin
            _T_508 <= _T_503;
          end else begin
            _T_508 <= 4'h0;
          end
        end else begin
          _T_508 <= _T_511;
        end
      end
    end
    if (_T_553) begin
      _T_521 <= io_in_a_bits_opcode;
    end
    if (_T_553) begin
      _T_523 <= io_in_a_bits_param;
    end
    if (_T_553) begin
      _T_525 <= io_in_a_bits_size;
    end
    if (_T_553) begin
      _T_527 <= io_in_a_bits_source;
    end
    if (_T_553) begin
      _T_529 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_563 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_567) begin
          if (_T_560) begin
            _T_563 <= _T_559;
          end else begin
            _T_563 <= 4'h0;
          end
        end else begin
          _T_563 <= _T_566;
        end
      end
    end
    if (_T_614) begin
      _T_576 <= io_in_d_bits_opcode;
    end
    if (_T_614) begin
      _T_580 <= io_in_d_bits_size;
    end
    if (_T_614) begin
      _T_582 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_616 <= 2'h0;
    end else begin
      _T_616 <= _T_689;
    end
    if (reset) begin
      _T_627 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_631) begin
          if (_T_505) begin
            _T_627 <= _T_503;
          end else begin
            _T_627 <= 4'h0;
          end
        end else begin
          _T_627 <= _T_630;
        end
      end
    end
    if (reset) begin
      _T_648 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_652) begin
          if (_T_560) begin
            _T_648 <= _T_559;
          end else begin
            _T_648 <= 4'h0;
          end
        end else begin
          _T_648 <= _T_651;
        end
      end
    end
    if (reset) begin
      _T_691 <= 32'h0;
    end else begin
      if (_T_705) begin
        _T_691 <= 32'h0;
      end else begin
        _T_691 <= _T_702;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at SPI.scala:44:93)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72291.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72292.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72361.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72362.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72378.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72379.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at SPI.scala:44:93)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72385.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72386.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72392.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72393.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at SPI.scala:44:93)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72400.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72401.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72407.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72408.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at SPI.scala:44:93)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72415.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72416.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72424.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72425.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72432.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72433.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72450.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72451.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at SPI.scala:44:93)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72457.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72458.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72464.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72465.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at SPI.scala:44:93)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72472.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72473.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72479.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72480.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at SPI.scala:44:93)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72487.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72488.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at SPI.scala:44:93)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72495.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72496.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72504.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72505.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72512.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72513.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72533.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72534.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72540.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72541.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72547.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72548.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72555.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72556.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72563.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72564.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72571.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72572.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72592.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72593.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72599.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72600.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72606.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72607.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72614.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72615.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72622.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72623.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72643.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72644.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72650.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72651.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72657.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72658.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72665.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72666.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72675.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72676.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72693.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72694.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72700.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72701.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72707.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72708.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at SPI.scala:44:93)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72715.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72716.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72723.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72724.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72741.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72742.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72748.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72749.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72755.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72756.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at SPI.scala:44:93)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72763.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72764.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72771.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72772.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at SPI.scala:44:93)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72789.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72790.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72796.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72797.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at SPI.scala:44:93)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72803.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72804.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at SPI.scala:44:93)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72811.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72812.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72819.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72820.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at SPI.scala:44:93)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72830.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@72831.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72847.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72848.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at SPI.scala:44:93)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72855.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72856.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72863.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72864.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72871.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72872.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at SPI.scala:44:93)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72879.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72880.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72889.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72890.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at SPI.scala:44:93)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72896.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72897.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at SPI.scala:44:93)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72904.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72905.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at SPI.scala:44:93)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72912.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72913.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at SPI.scala:44:93)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72920.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72921.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72928.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72929.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at SPI.scala:44:93)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72937.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72938.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72947.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72948.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at SPI.scala:44:93)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72954.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72955.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at SPI.scala:44:93)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72962.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72963.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at SPI.scala:44:93)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72970.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72971.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at SPI.scala:44:93)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72978.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72979.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72987.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72988.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at SPI.scala:44:93)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72996.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@72997.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73006.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73007.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73014.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73015.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73022.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73023.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at SPI.scala:44:93)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73031.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73032.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73041.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73042.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73049.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73050.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73058.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73059.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at SPI.scala:44:93)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73067.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73068.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73077.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73078.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at SPI.scala:44:93)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73085.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73086.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at SPI.scala:44:93)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73093.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73094.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at SPI.scala:44:93)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73102.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73103.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at SPI.scala:44:93)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73112.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73113.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at SPI.scala:44:93)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73120.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73121.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at SPI.scala:44:93)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73128.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73129.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73168.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73169.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73176.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73177.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73184.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73185.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73192.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73193.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73200.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73201.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73250.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73251.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73258.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73259.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73266.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73267.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73274.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73275.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73282.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73283.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at SPI.scala:44:93)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73290.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73291.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at SPI.scala:44:93)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73368.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73369.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at SPI.scala:44:93)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73391.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73392.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_700) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at SPI.scala:44:93)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73412.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_700) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73413.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFragmenter_13( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73456.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73457.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73458.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73459.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73507.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73508.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73509.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@73510.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73511.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73512.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73514.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73515.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73517.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73518.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73519.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@73520.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73536.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@73537.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@73538.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@73538.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@73539.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@73539.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@73540.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@73540.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@73541.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73542.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73543.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@73544.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73545.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73546.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73547.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73548.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73548.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73549.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73550.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73551.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73552.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@73553.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73554.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73555.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73569.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73571.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73572.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@73573.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73556.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73558.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73558.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73559.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73560.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@73565.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73575.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73608.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73609.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73611.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73612.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73613.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73615.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73616.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73617.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73618.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73619.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73621.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73622.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73623.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73624.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73625.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73626.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73627.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73628.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@73631.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@73638.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73639.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@73643.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@73503.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73652.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73644.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73648.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@73649.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@73653.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@73653.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@73654.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@73655.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@73656.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@73656.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@73657.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73658.4]
  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@73659.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73661.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@73665.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@73667.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73669.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73670.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@73677.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@73678.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73680.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73681.4]
  TLMonitor_42 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73466.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  Repeater_4 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73583.4]
    .clock(Repeater_clock),
    .reset(Repeater_reset),
    .io_repeat(Repeater_io_repeat),
    .io_full(Repeater_io_full),
    .io_enq_ready(Repeater_io_enq_ready),
    .io_enq_valid(Repeater_io_enq_valid),
    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
    .io_enq_bits_param(Repeater_io_enq_bits_param),
    .io_enq_bits_size(Repeater_io_enq_bits_size),
    .io_enq_bits_source(Repeater_io_enq_bits_source),
    .io_enq_bits_address(Repeater_io_enq_bits_address),
    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
    .io_deq_ready(Repeater_io_deq_ready),
    .io_deq_valid(Repeater_io_deq_valid),
    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
    .io_deq_bits_param(Repeater_io_deq_bits_param),
    .io_deq_bits_size(Repeater_io_deq_bits_size),
    .io_deq_bits_source(Repeater_io_deq_bits_source),
    .io_deq_bits_address(Repeater_io_deq_bits_address),
    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
  );
  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@73510.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73511.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73512.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73514.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73515.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73517.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73518.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73519.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@73520.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73536.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@73537.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@73538.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@73538.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@73539.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@73539.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@73540.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@73540.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@73541.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73542.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73543.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@73544.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73545.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73546.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73547.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73548.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73548.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73549.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73550.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73551.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73552.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@73553.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73554.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73555.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@73569.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73571.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73572.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@73573.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73556.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73558.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73558.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73559.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@73560.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@73565.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73575.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73608.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@73609.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73611.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73612.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73613.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73615.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73616.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73617.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73618.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73619.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73622.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73623.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73624.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73625.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73626.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73627.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73628.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@73631.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73639.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@73643.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@73503.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73652.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@73644.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73648.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@73649.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@73653.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@73653.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@73654.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@73655.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@73656.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@73656.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@73657.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73658.4]
  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@73659.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73661.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@73665.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@73667.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73669.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73670.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@73677.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@73678.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73680.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73681.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73506.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73506.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73506.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73506.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73506.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73506.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73505.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73505.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73505.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73505.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73505.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73505.4]
  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73505.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73505.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73505.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73505.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73468.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73469.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@73502.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73585.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73586.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73651.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73587.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73587.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73587.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73587.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73587.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73587.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73587.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@73587.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@73652.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_244 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_246 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_248 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_344 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_362 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_244 <= 4'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_244 <= _T_249;
        end else begin
          _T_244 <= _T_294;
        end
      end
    end
    if (_T_291) begin
      if (_T_250) begin
        _T_246 <= _T_290;
      end
    end
    if (reset) begin
      _T_248 <= 1'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_248 <= _T_296;
        end
      end
    end
    if (reset) begin
      _T_344 <= 4'h0;
    end else begin
      if (_T_365) begin
        _T_344 <= _T_354;
      end
    end
    if (_T_345) begin
      _T_362 <= _T_248;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73531.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73532.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_383) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73672.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_383) begin
          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73673.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_389) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73683.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_389) begin
          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73684.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SimpleLazyModule_21( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73695.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73696.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73697.4]
  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73698.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
  TLFragmenter_13 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@73703.4]
    .clock(fragmenter_clock),
    .reset(fragmenter_reset),
    .auto_in_a_ready(fragmenter_auto_in_a_ready),
    .auto_in_a_valid(fragmenter_auto_in_a_valid),
    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
    .auto_in_d_ready(fragmenter_auto_in_d_ready),
    .auto_in_d_valid(fragmenter_auto_in_d_valid),
    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
    .auto_out_a_ready(fragmenter_auto_out_a_ready),
    .auto_out_a_valid(fragmenter_auto_out_a_valid),
    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
    .auto_out_d_ready(fragmenter_auto_out_d_ready),
    .auto_out_d_valid(fragmenter_auto_out_d_valid),
    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
  );
  assign auto_fragmenter_in_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73715.4]
  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73715.4]
  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73715.4]
  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73715.4]
  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73715.4]
  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73715.4]
  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73715.4]
  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73715.4]
  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73715.4]
  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73715.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73707.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73708.4]
  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73716.4]
  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73714.4]
  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73714.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73714.4]
  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73714.4]
  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73714.4]
  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73714.4]
endmodule
module TLMonitor_43( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73725.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73726.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73727.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@73728.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@74849.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@73744.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73749.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73751.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73752.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73753.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@73754.6]
  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@73754.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@73755.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73757.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73758.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@73760.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@73761.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73762.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73763.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@73764.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73766.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73767.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73769.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73770.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73771.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73772.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@73773.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73774.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73775.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73776.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73777.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73778.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73779.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73780.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73781.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73782.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73783.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73784.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73785.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73786.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73787.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73788.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73813.6]
  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73816.8]
  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73817.8]
  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@73818.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@73819.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@73820.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73825.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73838.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73839.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73846.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73847.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73853.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73854.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73859.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73861.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73862.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@73867.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73868.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73870.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73871.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@73876.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73878.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73879.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73885.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73939.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73941.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73942.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73965.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@73968.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@73976.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73979.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73980.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73999.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74001.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74002.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74007.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74009.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74010.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74024.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74075.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@74117.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74118.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@74119.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74121.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74122.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74128.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@74159.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74161.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74162.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74176.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@74207.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74209.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74210.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74224.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@74274.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74276.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74277.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@74283.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@74288.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74290.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74293.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74294.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74299.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74301.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74302.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74332.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74390.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74449.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74484.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74520.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74580.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@74585.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@74586.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74587.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74589.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74590.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74591.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74592.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74593.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74604.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74605.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74606.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74607.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74608.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74609.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74610.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74612.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74614.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74615.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74620.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74622.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74623.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74628.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74630.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74631.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74636.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74638.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74639.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74644.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74646.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74647.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@74654.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74662.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@74664.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@74665.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@74666.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@74667.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@74668.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74670.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74671.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74672.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74673.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74674.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74685.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74687.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74688.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74691.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74692.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74694.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74696.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74697.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74710.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74712.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74713.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74718.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74720.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74721.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@74744.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74753.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74763.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74764.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74765.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74766.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74767.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74786.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74787.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74788.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74789.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74790.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74805.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@74808.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74810.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74811.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74812.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74814.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74815.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@74807.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74826.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@74828.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@74829.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@74831.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@74833.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@74834.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@74835.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74837.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74838.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@74830.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74844.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@74845.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@74846.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74848.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74851.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74852.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@74853.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74854.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@74855.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@74856.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74858.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74859.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@74865.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74869.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73827.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73899.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73982.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74041.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74092.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74142.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74190.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74238.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74296.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74338.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74396.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74455.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74490.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74526.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@74849.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@73744.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73749.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@73751.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@73752.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@73753.6]
  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@73754.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@73754.6]
  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@73755.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73757.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73758.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@73760.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@73761.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73762.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73763.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@73764.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73766.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73767.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73769.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73770.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73771.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@73772.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@73773.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73774.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73775.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73776.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73777.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73778.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73779.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73780.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73781.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73782.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73783.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@73784.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@73785.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73786.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73787.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@73788.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73813.6]
  assign _T_92 = io_in_a_bits_address ^ 29'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@73816.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@73817.8]
  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@73818.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@73819.8]
  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@73820.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73825.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73838.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73839.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73846.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73847.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73853.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73854.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@73859.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73861.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73862.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@73867.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73868.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73870.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73871.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@73876.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73878.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73879.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73885.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73939.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73941.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73942.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@73965.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@73968.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@73976.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73979.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73980.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@73999.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74001.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74002.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74007.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74009.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74010.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74024.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74075.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@74117.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74118.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@74119.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74121.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74122.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74128.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@74159.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74161.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74162.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74176.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@74207.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74209.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74210.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74224.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@74274.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74276.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74277.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@74283.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@74288.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74290.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74293.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74294.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74299.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74301.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74302.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74332.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74390.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74449.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74484.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74520.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74580.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@74585.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@74586.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74587.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74590.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74591.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74592.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74593.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74609.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74610.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74612.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74614.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74615.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74620.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74622.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74623.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74628.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74630.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74631.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74636.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74638.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74639.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74644.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74646.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74647.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@74654.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74662.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@74664.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@74665.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@74666.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@74667.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@74668.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74671.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74672.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74673.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74674.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74691.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74692.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74694.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74696.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74697.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74710.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74712.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74713.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@74718.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74720.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74721.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@74744.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74764.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74765.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74766.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74767.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74787.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74788.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74789.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74790.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74805.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@74808.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74810.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74811.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74812.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74814.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74815.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@74807.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74826.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@74828.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@74829.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@74831.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@74833.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@74834.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@74835.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74837.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74838.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@74830.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74844.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@74845.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@74846.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@74851.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74852.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@74853.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74854.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@74855.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@74856.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74858.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74859.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@74865.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74869.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73827.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73899.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73982.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74041.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74092.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74142.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74190.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74238.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74296.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74338.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74396.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74455.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74490.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74526.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_508 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_521 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_523 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_525 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_527 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_529 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_563 = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_576 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_580 = _RAND_8[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_582 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_616 = _RAND_10[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_627 = _RAND_11[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_648 = _RAND_12[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_691 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_508 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_512) begin
          if (_T_505) begin
            _T_508 <= _T_503;
          end else begin
            _T_508 <= 4'h0;
          end
        end else begin
          _T_508 <= _T_511;
        end
      end
    end
    if (_T_553) begin
      _T_521 <= io_in_a_bits_opcode;
    end
    if (_T_553) begin
      _T_523 <= io_in_a_bits_param;
    end
    if (_T_553) begin
      _T_525 <= io_in_a_bits_size;
    end
    if (_T_553) begin
      _T_527 <= io_in_a_bits_source;
    end
    if (_T_553) begin
      _T_529 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_563 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_567) begin
          if (_T_560) begin
            _T_563 <= _T_559;
          end else begin
            _T_563 <= 4'h0;
          end
        end else begin
          _T_563 <= _T_566;
        end
      end
    end
    if (_T_614) begin
      _T_576 <= io_in_d_bits_opcode;
    end
    if (_T_614) begin
      _T_580 <= io_in_d_bits_size;
    end
    if (_T_614) begin
      _T_582 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_616 <= 2'h0;
    end else begin
      _T_616 <= _T_689;
    end
    if (reset) begin
      _T_627 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_631) begin
          if (_T_505) begin
            _T_627 <= _T_503;
          end else begin
            _T_627 <= 4'h0;
          end
        end else begin
          _T_627 <= _T_630;
        end
      end
    end
    if (reset) begin
      _T_648 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_652) begin
          if (_T_560) begin
            _T_648 <= _T_559;
          end else begin
            _T_648 <= 4'h0;
          end
        end else begin
          _T_648 <= _T_651;
        end
      end
    end
    if (reset) begin
      _T_691 <= 32'h0;
    end else begin
      if (_T_705) begin
        _T_691 <= 32'h0;
      end else begin
        _T_691 <= _T_702;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at GPIO.scala:228:94)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73740.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73741.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73810.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@73811.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at GPIO.scala:228:94)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73827.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73828.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at GPIO.scala:228:94)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73834.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73835.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73841.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73842.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at GPIO.scala:228:94)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73849.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73850.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at GPIO.scala:228:94)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73856.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73857.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at GPIO.scala:228:94)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73864.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73865.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at GPIO.scala:228:94)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73873.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73874.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at GPIO.scala:228:94)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73881.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73882.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at GPIO.scala:228:94)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73899.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73900.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at GPIO.scala:228:94)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73906.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73907.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73913.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73914.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at GPIO.scala:228:94)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73921.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73922.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at GPIO.scala:228:94)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73928.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73929.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at GPIO.scala:228:94)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73936.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73937.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at GPIO.scala:228:94)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73944.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73945.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at GPIO.scala:228:94)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73953.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73954.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at GPIO.scala:228:94)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73961.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73962.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at GPIO.scala:228:94)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73982.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73983.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73989.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73990.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at GPIO.scala:228:94)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73996.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@73997.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at GPIO.scala:228:94)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74004.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74005.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at GPIO.scala:228:94)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74012.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74013.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at GPIO.scala:228:94)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74020.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74021.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at GPIO.scala:228:94)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74041.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74042.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74048.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74049.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at GPIO.scala:228:94)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74055.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74056.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at GPIO.scala:228:94)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74063.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74064.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at GPIO.scala:228:94)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74071.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74072.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at GPIO.scala:228:94)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74092.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74093.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74099.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74100.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at GPIO.scala:228:94)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74106.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74107.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at GPIO.scala:228:94)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74114.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74115.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at GPIO.scala:228:94)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74124.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74125.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at GPIO.scala:228:94)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74142.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74143.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74149.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74150.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at GPIO.scala:228:94)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74156.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74157.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at GPIO.scala:228:94)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74164.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74165.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at GPIO.scala:228:94)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74172.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74173.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at GPIO.scala:228:94)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74190.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74191.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74197.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74198.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at GPIO.scala:228:94)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74204.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74205.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at GPIO.scala:228:94)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74212.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74213.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at GPIO.scala:228:94)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74220.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74221.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at GPIO.scala:228:94)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74238.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74239.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74245.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74246.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at GPIO.scala:228:94)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74252.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74253.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at GPIO.scala:228:94)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74260.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74261.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at GPIO.scala:228:94)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74268.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74269.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at GPIO.scala:228:94)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74279.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74280.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74296.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74297.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at GPIO.scala:228:94)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74304.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74305.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at GPIO.scala:228:94)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74312.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74313.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at GPIO.scala:228:94)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74320.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74321.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at GPIO.scala:228:94)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74328.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74329.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74338.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74339.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74345.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74346.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at GPIO.scala:228:94)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74353.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74354.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at GPIO.scala:228:94)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74361.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74362.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at GPIO.scala:228:94)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74369.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74370.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at GPIO.scala:228:94)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74377.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74378.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at GPIO.scala:228:94)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74386.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74387.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74396.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74397.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74403.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74404.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at GPIO.scala:228:94)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74411.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74412.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at GPIO.scala:228:94)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74419.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74420.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at GPIO.scala:228:94)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74427.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74428.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at GPIO.scala:228:94)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74436.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74437.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at GPIO.scala:228:94)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74445.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74446.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74455.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74456.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at GPIO.scala:228:94)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74463.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74464.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at GPIO.scala:228:94)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74471.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74472.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at GPIO.scala:228:94)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74480.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74481.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74490.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74491.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at GPIO.scala:228:94)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74498.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74499.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at GPIO.scala:228:94)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74507.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74508.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at GPIO.scala:228:94)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74516.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74517.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74526.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74527.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at GPIO.scala:228:94)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74534.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74535.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at GPIO.scala:228:94)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74542.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74543.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at GPIO.scala:228:94)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74551.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74552.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at GPIO.scala:228:94)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74561.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74562.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at GPIO.scala:228:94)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74569.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74570.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at GPIO.scala:228:94)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74577.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74578.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at GPIO.scala:228:94)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74617.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74618.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at GPIO.scala:228:94)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74625.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74626.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at GPIO.scala:228:94)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74633.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74634.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at GPIO.scala:228:94)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74641.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74642.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at GPIO.scala:228:94)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74649.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74650.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at GPIO.scala:228:94)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74699.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74700.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at GPIO.scala:228:94)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74707.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74708.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at GPIO.scala:228:94)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74715.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74716.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at GPIO.scala:228:94)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74723.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74724.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at GPIO.scala:228:94)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74731.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74732.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at GPIO.scala:228:94)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74739.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74740.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at GPIO.scala:228:94)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74817.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74818.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at GPIO.scala:228:94)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74840.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@74841.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_700) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at GPIO.scala:228:94)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74861.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_700) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74862.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFragmenter_14( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74905.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74906.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74907.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74908.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74956.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@74957.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74958.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@74959.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74960.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74961.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74963.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74964.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@74966.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@74967.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@74968.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@74969.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@74985.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@74986.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@74987.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@74987.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@74988.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@74988.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@74989.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@74989.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@74990.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@74991.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@74992.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@74993.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74994.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74995.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74996.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74997.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74997.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74998.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74999.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75000.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75001.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@75002.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@75003.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@75004.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@75018.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75020.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75021.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@75022.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@75005.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@75007.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@75007.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@75008.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@75009.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@75014.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@75024.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75057.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@75058.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@75060.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@75061.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75062.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@75064.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@75065.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75066.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@75067.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75068.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75070.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75071.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75072.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@75073.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@75074.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@75075.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75076.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@75077.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75080.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@75087.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@75088.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75092.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@74952.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@75101.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@75093.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75097.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@75098.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@75102.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@75102.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@75103.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@75104.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@75105.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@75105.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@75106.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75107.4]
  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@75108.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@75110.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@75114.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@75116.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75118.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75119.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@75126.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@75127.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75129.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75130.4]
  TLMonitor_43 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@74915.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  Repeater_4 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75032.4]
    .clock(Repeater_clock),
    .reset(Repeater_reset),
    .io_repeat(Repeater_io_repeat),
    .io_full(Repeater_io_full),
    .io_enq_ready(Repeater_io_enq_ready),
    .io_enq_valid(Repeater_io_enq_valid),
    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
    .io_enq_bits_param(Repeater_io_enq_bits_param),
    .io_enq_bits_size(Repeater_io_enq_bits_size),
    .io_enq_bits_source(Repeater_io_enq_bits_source),
    .io_enq_bits_address(Repeater_io_enq_bits_address),
    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
    .io_deq_ready(Repeater_io_deq_ready),
    .io_deq_valid(Repeater_io_deq_valid),
    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
    .io_deq_bits_param(Repeater_io_deq_bits_param),
    .io_deq_bits_size(Repeater_io_deq_bits_size),
    .io_deq_bits_source(Repeater_io_deq_bits_source),
    .io_deq_bits_address(Repeater_io_deq_bits_address),
    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
  );
  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@74959.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74960.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74961.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@74963.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@74964.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@74966.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@74967.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@74968.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@74969.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@74985.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@74986.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@74987.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@74987.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@74988.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@74988.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@74989.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@74989.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@74990.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@74991.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@74992.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@74993.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74994.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74995.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74996.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74997.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@74997.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74998.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@74999.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75000.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75001.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@75002.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@75003.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@75004.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@75018.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75020.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75021.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@75022.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@75005.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@75007.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@75007.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@75008.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@75009.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@75014.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@75024.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75057.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@75058.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@75060.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@75061.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75062.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@75064.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@75065.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75066.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@75067.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75068.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75071.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75072.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@75073.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@75074.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@75075.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75076.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@75077.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75080.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@75088.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75092.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@74952.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@75101.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@75093.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75097.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@75098.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@75102.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@75102.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@75103.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@75104.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@75105.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@75105.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@75106.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75107.4]
  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@75108.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@75110.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@75114.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@75116.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75118.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75119.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@75126.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@75127.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75129.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75130.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@74955.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@74955.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@74955.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@74955.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@74955.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@74955.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74954.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74954.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74954.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74954.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74954.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74954.4]
  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74954.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74954.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74954.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@74954.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74917.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@74918.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@74951.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75034.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75035.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@75100.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@75036.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@75036.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@75036.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@75036.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@75036.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@75036.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@75036.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@75036.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@75101.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_244 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_246 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_248 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_344 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_362 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_244 <= 4'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_244 <= _T_249;
        end else begin
          _T_244 <= _T_294;
        end
      end
    end
    if (_T_291) begin
      if (_T_250) begin
        _T_246 <= _T_290;
      end
    end
    if (reset) begin
      _T_248 <= 1'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_248 <= _T_296;
        end
      end
    end
    if (reset) begin
      _T_344 <= 4'h0;
    end else begin
      if (_T_365) begin
        _T_344 <= _T_354;
      end
    end
    if (_T_345) begin
      _T_362 <= _T_248;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74980.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@74981.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_383) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75121.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_383) begin
          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75122.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_389) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75132.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_389) begin
          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75133.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SimpleLazyModule_22( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75144.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75145.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75146.4]
  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75147.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
  TLFragmenter_14 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@75152.4]
    .clock(fragmenter_clock),
    .reset(fragmenter_reset),
    .auto_in_a_ready(fragmenter_auto_in_a_ready),
    .auto_in_a_valid(fragmenter_auto_in_a_valid),
    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
    .auto_in_d_ready(fragmenter_auto_in_d_ready),
    .auto_in_d_valid(fragmenter_auto_in_d_valid),
    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
    .auto_out_a_ready(fragmenter_auto_out_a_ready),
    .auto_out_a_valid(fragmenter_auto_out_a_valid),
    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
    .auto_out_d_ready(fragmenter_auto_out_d_ready),
    .auto_out_d_valid(fragmenter_auto_out_d_valid),
    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
  );
  assign auto_fragmenter_in_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75164.4]
  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75164.4]
  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75164.4]
  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75164.4]
  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75164.4]
  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75164.4]
  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75164.4]
  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75164.4]
  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75164.4]
  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75164.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75156.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75157.4]
  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75165.4]
  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75163.4]
  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75163.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75163.4]
  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75163.4]
  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75163.4]
  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75163.4]
endmodule
module TLMonitor_44( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75174.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75175.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75176.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@75177.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@76298.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@75193.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75198.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@75200.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@75201.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75202.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@75203.6]
  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@75203.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75204.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75206.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75207.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@75209.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75210.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@75211.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@75212.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@75213.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@75215.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75216.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@75218.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75219.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@75220.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@75221.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@75222.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75223.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@75224.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75225.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75226.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@75227.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75228.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75229.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@75230.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75231.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75232.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@75233.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75234.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@75235.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@75236.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@75237.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75262.6]
  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75265.8]
  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75266.8]
  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@75267.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@75268.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@75269.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75274.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75287.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75288.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75295.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75296.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75302.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75303.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75308.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75310.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75311.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@75316.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75317.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75319.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75320.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@75325.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75327.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75328.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75334.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75388.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75390.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75391.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75414.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@75417.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@75425.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75428.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75429.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75448.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75450.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75451.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75456.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75458.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75459.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75473.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75524.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@75566.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75567.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@75568.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75570.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75571.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75577.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@75608.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75610.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75611.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75625.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@75656.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75658.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75659.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75673.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75723.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75725.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75726.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@75732.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75737.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75739.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75742.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75743.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75748.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75750.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75751.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75781.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75839.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75898.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75933.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75969.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76029.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@76034.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@76035.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76036.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76038.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76039.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76040.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76041.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76042.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76053.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76054.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76055.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76056.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76057.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76058.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76059.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76061.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76063.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76064.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76069.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76071.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76072.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76077.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76079.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76080.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76085.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76087.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76088.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76093.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76095.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76096.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@76103.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76111.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76113.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@76114.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76115.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@76116.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@76117.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76119.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76120.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76121.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76122.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76123.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76134.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76136.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76137.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76140.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76141.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76143.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76145.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76146.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76159.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76161.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76162.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76167.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76169.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76170.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@76193.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76202.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76212.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76213.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76214.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76215.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76216.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76235.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76236.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76237.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76238.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76239.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76254.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@76257.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76259.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76260.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76261.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76263.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76264.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@76256.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76275.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@76277.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@76278.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@76280.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@76282.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76283.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76284.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76286.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76287.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@76279.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76293.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76294.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@76295.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76297.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76300.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76301.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@76302.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76303.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@76304.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@76305.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76307.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76308.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76314.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76318.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75276.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75348.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75431.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75490.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75541.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75591.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75639.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75687.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75745.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75787.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75845.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75939.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75975.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@76298.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@75193.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75198.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@75200.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@75201.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75202.6]
  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@75203.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@75203.6]
  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75204.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75206.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75207.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@75209.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@75210.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@75211.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@75212.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@75213.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@75215.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75216.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@75218.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75219.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@75220.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@75221.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@75222.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75223.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@75224.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75225.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75226.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@75227.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75228.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75229.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@75230.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75231.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75232.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@75233.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@75234.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@75235.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@75236.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@75237.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75262.6]
  assign _T_92 = io_in_a_bits_address ^ 29'h10016000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@75265.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@75266.8]
  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@75267.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@75268.8]
  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@75269.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75274.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75287.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75288.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75295.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75296.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75302.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75303.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75308.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75310.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75311.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@75316.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75317.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75319.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75320.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@75325.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75327.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75328.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75334.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75388.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75390.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75391.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75414.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@75417.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@75425.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75428.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75429.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75448.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75450.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75451.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75456.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75458.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75459.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75473.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75524.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@75566.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@75567.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@75568.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75570.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75571.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75577.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@75608.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75610.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75611.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75625.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@75656.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75658.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75659.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75673.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@75723.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75725.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75726.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@75732.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@75737.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75739.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75742.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75743.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@75748.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75750.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75751.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75781.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75839.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75898.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75933.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@75969.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76029.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@76034.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@76035.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76036.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76039.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76040.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76041.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76042.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76058.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76059.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76061.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76063.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76064.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76069.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76071.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76072.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76077.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76079.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76080.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76085.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76087.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76088.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76093.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76095.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76096.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@76103.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76111.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76113.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@76114.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76115.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@76116.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@76117.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76120.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76121.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76122.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76123.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76140.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76141.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76143.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76145.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76146.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76159.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76161.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76162.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76167.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76169.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76170.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@76193.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76213.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76214.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76215.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76216.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76236.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76237.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76238.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76239.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76254.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@76257.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76259.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76260.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76261.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76263.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76264.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@76256.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76275.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@76277.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@76278.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@76280.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@76282.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76283.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76284.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76286.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76287.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@76279.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76293.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76294.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@76295.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76300.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76301.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@76302.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76303.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@76304.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@76305.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76307.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76308.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76314.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76318.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75276.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75348.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75431.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75490.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75541.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75591.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75639.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75687.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75745.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75787.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75845.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75939.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75975.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_508 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_521 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_523 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_525 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_527 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_529 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_563 = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_576 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_580 = _RAND_8[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_582 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_616 = _RAND_10[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_627 = _RAND_11[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_648 = _RAND_12[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_691 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_508 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_512) begin
          if (_T_505) begin
            _T_508 <= _T_503;
          end else begin
            _T_508 <= 4'h0;
          end
        end else begin
          _T_508 <= _T_511;
        end
      end
    end
    if (_T_553) begin
      _T_521 <= io_in_a_bits_opcode;
    end
    if (_T_553) begin
      _T_523 <= io_in_a_bits_param;
    end
    if (_T_553) begin
      _T_525 <= io_in_a_bits_size;
    end
    if (_T_553) begin
      _T_527 <= io_in_a_bits_source;
    end
    if (_T_553) begin
      _T_529 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_563 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_567) begin
          if (_T_560) begin
            _T_563 <= _T_559;
          end else begin
            _T_563 <= 4'h0;
          end
        end else begin
          _T_563 <= _T_566;
        end
      end
    end
    if (_T_614) begin
      _T_576 <= io_in_d_bits_opcode;
    end
    if (_T_614) begin
      _T_580 <= io_in_d_bits_size;
    end
    if (_T_614) begin
      _T_582 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_616 <= 2'h0;
    end else begin
      _T_616 <= _T_689;
    end
    if (reset) begin
      _T_627 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_631) begin
          if (_T_505) begin
            _T_627 <= _T_503;
          end else begin
            _T_627 <= 4'h0;
          end
        end else begin
          _T_627 <= _T_630;
        end
      end
    end
    if (reset) begin
      _T_648 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_652) begin
          if (_T_560) begin
            _T_648 <= _T_559;
          end else begin
            _T_648 <= 4'h0;
          end
        end else begin
          _T_648 <= _T_651;
        end
      end
    end
    if (reset) begin
      _T_691 <= 32'h0;
    end else begin
      if (_T_705) begin
        _T_691 <= 32'h0;
      end else begin
        _T_691 <= _T_702;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at I2C.scala:599:93)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75189.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75190.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75259.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75260.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75276.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75277.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at I2C.scala:599:93)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75283.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75284.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75290.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75291.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at I2C.scala:599:93)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75298.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75299.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75305.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75306.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at I2C.scala:599:93)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75313.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75314.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75322.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75323.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75330.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75331.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75348.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75349.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at I2C.scala:599:93)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75355.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75356.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75362.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75363.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at I2C.scala:599:93)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75370.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75371.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75377.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75378.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at I2C.scala:599:93)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75385.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75386.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at I2C.scala:599:93)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75393.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75394.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75402.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75403.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75410.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75411.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75431.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75432.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75438.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75439.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75445.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75446.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75453.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75454.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75461.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75462.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75469.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75470.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75490.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75491.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75497.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75498.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75504.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75505.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75512.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75513.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75520.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75521.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75541.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75542.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75548.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75549.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75555.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75556.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75563.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75564.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75573.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75574.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75591.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75592.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75598.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75599.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75605.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75606.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at I2C.scala:599:93)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75613.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75614.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75621.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75622.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75639.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75640.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75646.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75647.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75653.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75654.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at I2C.scala:599:93)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75661.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75662.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75669.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75670.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75687.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75688.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75694.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75695.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75701.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75702.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75709.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75710.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75717.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75718.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at I2C.scala:599:93)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75728.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@75729.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75745.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75746.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at I2C.scala:599:93)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75753.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75754.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75761.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75762.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75769.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75770.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at I2C.scala:599:93)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75777.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75778.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75787.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75788.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at I2C.scala:599:93)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75794.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75795.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at I2C.scala:599:93)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75802.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75803.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at I2C.scala:599:93)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75810.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75811.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at I2C.scala:599:93)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75818.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75819.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75826.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75827.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at I2C.scala:599:93)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75835.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75836.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75845.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75846.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at I2C.scala:599:93)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75852.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75853.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at I2C.scala:599:93)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75860.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75861.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at I2C.scala:599:93)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75868.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75869.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at I2C.scala:599:93)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75876.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75877.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75885.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75886.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at I2C.scala:599:93)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75894.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75895.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75904.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75905.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75912.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75913.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75920.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75921.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at I2C.scala:599:93)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75929.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75930.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75939.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75940.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75947.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75948.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75956.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75957.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at I2C.scala:599:93)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75965.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75966.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75975.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75976.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75983.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75984.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75991.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@75992.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at I2C.scala:599:93)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76000.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76001.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at I2C.scala:599:93)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76010.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76011.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at I2C.scala:599:93)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76018.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76019.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at I2C.scala:599:93)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76026.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76027.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76066.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76067.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76074.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76075.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76082.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76083.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76090.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76091.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76098.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76099.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76148.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76149.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76156.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76157.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76164.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76165.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76172.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76173.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76180.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76181.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76188.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76189.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76266.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76267.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at I2C.scala:599:93)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76289.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76290.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_700) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at I2C.scala:599:93)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76310.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_700) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76311.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFragmenter_15( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76354.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76355.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76356.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76357.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76405.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76406.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76407.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@76408.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76409.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76410.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76412.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76413.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76415.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@76416.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76417.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@76418.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76434.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@76435.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@76436.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@76436.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@76437.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@76437.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@76438.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@76438.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@76439.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76440.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@76441.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@76442.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@76443.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@76444.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76445.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76446.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76446.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@76447.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@76448.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76449.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76450.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@76451.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76452.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76453.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@76467.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76469.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76470.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@76471.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@76454.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@76456.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@76456.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@76457.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@76458.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@76463.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@76473.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76506.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76507.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76509.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@76510.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76511.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76513.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@76514.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76515.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@76516.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76517.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76519.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76520.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76521.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76522.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76523.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76524.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76525.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76526.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@76529.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@76536.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76537.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@76541.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@76401.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76550.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@76542.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76546.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@76547.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@76551.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@76551.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@76552.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@76553.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@76554.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@76554.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@76555.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76556.4]
  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@76557.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76559.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@76563.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@76565.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76567.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76568.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@76575.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@76576.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76578.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76579.4]
  TLMonitor_44 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76364.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  Repeater_4 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76481.4]
    .clock(Repeater_clock),
    .reset(Repeater_reset),
    .io_repeat(Repeater_io_repeat),
    .io_full(Repeater_io_full),
    .io_enq_ready(Repeater_io_enq_ready),
    .io_enq_valid(Repeater_io_enq_valid),
    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
    .io_enq_bits_param(Repeater_io_enq_bits_param),
    .io_enq_bits_size(Repeater_io_enq_bits_size),
    .io_enq_bits_source(Repeater_io_enq_bits_source),
    .io_enq_bits_address(Repeater_io_enq_bits_address),
    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
    .io_deq_ready(Repeater_io_deq_ready),
    .io_deq_valid(Repeater_io_deq_valid),
    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
    .io_deq_bits_param(Repeater_io_deq_bits_param),
    .io_deq_bits_size(Repeater_io_deq_bits_size),
    .io_deq_bits_source(Repeater_io_deq_bits_source),
    .io_deq_bits_address(Repeater_io_deq_bits_address),
    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
  );
  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@76408.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76409.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76410.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76412.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76413.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76415.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@76416.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76417.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@76418.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76434.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@76435.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@76436.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@76436.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@76437.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@76437.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@76438.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@76438.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@76439.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76440.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@76441.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@76442.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@76443.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@76444.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76445.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76446.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76446.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@76447.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@76448.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76449.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76450.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@76451.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76452.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76453.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@76467.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76469.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76470.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@76471.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@76454.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@76456.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@76456.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@76457.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@76458.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@76463.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@76473.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76506.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@76507.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76509.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@76510.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76511.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76513.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@76514.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76515.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@76516.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76517.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76520.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76521.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76522.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76523.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76524.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76525.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76526.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@76529.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76537.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@76541.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@76401.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76550.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@76542.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76546.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@76547.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@76551.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@76551.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@76552.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@76553.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@76554.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@76554.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@76555.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76556.4]
  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@76557.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76559.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@76563.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@76565.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76567.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76568.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@76575.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@76576.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76578.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76579.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76404.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76404.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76404.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76404.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76404.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76404.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76403.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76403.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76403.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76403.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76403.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76403.4]
  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76403.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76403.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76403.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76403.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76366.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76367.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@76400.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76483.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76484.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76549.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76485.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76485.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76485.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76485.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76485.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76485.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76485.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@76485.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@76550.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_244 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_246 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_248 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_344 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_362 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_244 <= 4'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_244 <= _T_249;
        end else begin
          _T_244 <= _T_294;
        end
      end
    end
    if (_T_291) begin
      if (_T_250) begin
        _T_246 <= _T_290;
      end
    end
    if (reset) begin
      _T_248 <= 1'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_248 <= _T_296;
        end
      end
    end
    if (reset) begin
      _T_344 <= 4'h0;
    end else begin
      if (_T_365) begin
        _T_344 <= _T_354;
      end
    end
    if (_T_345) begin
      _T_362 <= _T_248;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76429.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76430.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_383) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76570.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_383) begin
          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76571.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_389) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76581.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_389) begin
          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76582.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SimpleLazyModule_23( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76593.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76594.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76595.4]
  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76596.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
  TLFragmenter_15 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@76601.4]
    .clock(fragmenter_clock),
    .reset(fragmenter_reset),
    .auto_in_a_ready(fragmenter_auto_in_a_ready),
    .auto_in_a_valid(fragmenter_auto_in_a_valid),
    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
    .auto_in_d_ready(fragmenter_auto_in_d_ready),
    .auto_in_d_valid(fragmenter_auto_in_d_valid),
    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
    .auto_out_a_ready(fragmenter_auto_out_a_ready),
    .auto_out_a_valid(fragmenter_auto_out_a_valid),
    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
    .auto_out_d_ready(fragmenter_auto_out_d_ready),
    .auto_out_d_valid(fragmenter_auto_out_d_valid),
    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
  );
  assign auto_fragmenter_in_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76613.4]
  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76613.4]
  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76613.4]
  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76613.4]
  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76613.4]
  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76613.4]
  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76613.4]
  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76613.4]
  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76613.4]
  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76613.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76605.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76606.4]
  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76614.4]
  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76612.4]
  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76612.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76612.4]
  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76612.4]
  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76612.4]
  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76612.4]
endmodule
module TLMonitor_45( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76623.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76624.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76625.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
  input  [2:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
  input  [2:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
  input         io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@76626.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@77747.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@76642.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76647.6]
  wire [12:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76649.6]
  wire [5:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@76650.6]
  wire [5:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76651.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@76652.6]
  wire [28:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@76652.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@76653.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76655.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76656.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@76658.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@76659.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76660.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76661.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@76662.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76664.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76665.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76667.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76668.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76669.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76670.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@76671.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76672.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76673.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76674.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76675.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76676.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76677.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76678.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76679.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76680.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76681.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76682.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76683.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76684.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76685.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76686.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76711.6]
  wire [28:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76714.8]
  wire [29:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76715.8]
  wire [29:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@76716.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@76717.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@76718.8]
  wire  _T_101; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76723.8]
  wire  _T_106; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76736.8]
  wire  _T_107; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76737.8]
  wire  _T_110; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76744.8]
  wire  _T_111; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76745.8]
  wire  _T_113; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76751.8]
  wire  _T_114; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76752.8]
  wire  _T_115; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76757.8]
  wire  _T_117; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76759.8]
  wire  _T_118; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76760.8]
  wire [3:0] _T_119; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@76765.8]
  wire  _T_120; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76766.8]
  wire  _T_122; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76768.8]
  wire  _T_123; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76769.8]
  wire  _T_124; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@76774.8]
  wire  _T_126; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76776.8]
  wire  _T_127; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76777.8]
  wire  _T_128; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76783.6]
  wire  _T_157; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76837.8]
  wire  _T_159; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76839.8]
  wire  _T_160; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76840.8]
  wire  _T_170; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76863.6]
  wire  _T_172; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@76866.8]
  wire  _T_180; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@76874.8]
  wire  _T_183; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76877.8]
  wire  _T_184; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76878.8]
  wire  _T_191; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76897.8]
  wire  _T_193; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76899.8]
  wire  _T_194; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76900.8]
  wire  _T_195; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76905.8]
  wire  _T_197; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76907.8]
  wire  _T_198; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76908.8]
  wire  _T_203; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76922.6]
  wire  _T_232; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76973.6]
  wire [3:0] _T_257; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@77015.8]
  wire [3:0] _T_258; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77016.8]
  wire  _T_259; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77017.8]
  wire  _T_261; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77019.8]
  wire  _T_262; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77020.8]
  wire  _T_263; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77026.6]
  wire  _T_281; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@77057.8]
  wire  _T_283; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77059.8]
  wire  _T_284; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77060.8]
  wire  _T_289; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77074.6]
  wire  _T_307; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@77105.8]
  wire  _T_309; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77107.8]
  wire  _T_310; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77108.8]
  wire  _T_315; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77122.6]
  wire  _T_341; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.6]
  wire  _T_343; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77174.6]
  wire  _T_344; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77175.6]
  wire  _T_346; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@77181.6]
  wire  _T_355; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77186.6]
  wire  _T_357; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77188.6]
  wire  _T_359; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77191.8]
  wire  _T_360; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77192.8]
  wire  _T_361; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77197.8]
  wire  _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77199.8]
  wire  _T_364; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77200.8]
  wire  _T_377; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77230.6]
  wire  _T_405; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77288.6]
  wire  _T_434; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77347.6]
  wire  _T_451; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77382.6]
  wire  _T_469; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77418.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77478.4]
  wire [3:0] _T_503; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@77483.4]
  wire  _T_504; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77484.4]
  wire  _T_505; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77485.4]
  reg [3:0] _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77487.4]
  reg [31:0] _RAND_0;
  wire [4:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77488.4]
  wire [4:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77489.4]
  wire [3:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77490.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77491.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77502.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77503.4]
  reg [31:0] _RAND_2;
  reg [2:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77504.4]
  reg [31:0] _RAND_3;
  reg  _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77505.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77506.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77507.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77508.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77510.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77512.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77513.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77518.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77520.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77521.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77526.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77528.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77529.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77534.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77536.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77537.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77542.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77544.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77545.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@77552.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77560.4]
  wire [12:0] _T_556; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77562.4]
  wire [5:0] _T_557; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@77563.4]
  wire [5:0] _T_558; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77564.4]
  wire [3:0] _T_559; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@77565.4]
  wire  _T_560; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@77566.4]
  reg [3:0] _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77568.4]
  reg [31:0] _RAND_6;
  wire [4:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77569.4]
  wire [4:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77570.4]
  wire [3:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77571.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77572.4]
  reg [2:0] _T_576; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77583.4]
  reg [31:0] _RAND_7;
  reg [2:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77585.4]
  reg [31:0] _RAND_8;
  reg  _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77586.4]
  reg [31:0] _RAND_9;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77589.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77590.4]
  wire  _T_589; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77592.6]
  wire  _T_591; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77594.6]
  wire  _T_592; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77595.6]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77608.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77610.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77611.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77616.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77618.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77619.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@77642.4]
  reg [1:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77651.4]
  reg [31:0] _RAND_10;
  reg [3:0] _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77661.4]
  reg [31:0] _RAND_11;
  wire [4:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77662.4]
  wire [4:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77663.4]
  wire [3:0] _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77664.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77665.4]
  reg [3:0] _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77684.4]
  reg [31:0] _RAND_12;
  wire [4:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77685.4]
  wire [4:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77686.4]
  wire [3:0] _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77687.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77688.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77703.4]
  wire [1:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@77706.6]
  wire [1:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77708.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77709.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77710.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77712.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77713.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@77705.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77724.4]
  wire  _T_678; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@77726.4]
  wire  _T_679; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@77727.4]
  wire [1:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@77729.6]
  wire [1:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@77731.6]
  wire [1:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77732.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77733.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77735.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77736.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@77728.4]
  wire [1:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77742.4]
  wire [1:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@77743.4]
  wire [1:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@77744.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77746.4]
  reg [31:0] _RAND_13;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77749.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77750.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@77751.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77752.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@77753.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@77754.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77756.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77757.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77763.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77767.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76725.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76797.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76880.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76939.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76990.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77040.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77088.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77136.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77194.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77236.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77294.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77353.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77388.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77424.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@77747.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@76642.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76647.6]
  assign _T_32 = 13'h3f << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@76649.6]
  assign _T_33 = _T_32[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@76650.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@76651.6]
  assign _GEN_18 = {{23'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@76652.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@76652.6]
  assign _T_36 = _T_35 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@76653.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76655.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76656.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@76658.6]
  assign _T_42 = io_in_a_bits_size >= 3'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@76659.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76660.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76661.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@76662.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76664.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76665.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76667.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76668.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76669.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@76670.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@76671.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76672.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76673.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76674.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76675.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76676.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76677.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76678.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76679.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76680.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76681.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@76682.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@76683.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76684.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76685.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@76686.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76711.6]
  assign _T_92 = io_in_a_bits_address ^ 29'h10026000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@76714.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@76715.8]
  assign _T_94 = $signed(_T_93) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@76716.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@76717.8]
  assign _T_96 = $signed(_T_95) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@76718.8]
  assign _T_101 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76723.8]
  assign _T_106 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76736.8]
  assign _T_107 = _T_106 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76737.8]
  assign _T_110 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76744.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76745.8]
  assign _T_113 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76751.8]
  assign _T_114 = _T_113 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76752.8]
  assign _T_115 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76757.8]
  assign _T_117 = _T_115 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76759.8]
  assign _T_118 = _T_117 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76760.8]
  assign _T_119 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@76765.8]
  assign _T_120 = _T_119 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76766.8]
  assign _T_122 = _T_120 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76768.8]
  assign _T_123 = _T_122 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76769.8]
  assign _T_124 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@76774.8]
  assign _T_126 = _T_124 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76776.8]
  assign _T_127 = _T_126 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76777.8]
  assign _T_128 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76783.6]
  assign _T_157 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76837.8]
  assign _T_159 = _T_157 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76839.8]
  assign _T_160 = _T_159 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76840.8]
  assign _T_170 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76863.6]
  assign _T_172 = io_in_a_bits_size <= 3'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@76866.8]
  assign _T_180 = _T_172 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@76874.8]
  assign _T_183 = _T_180 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76877.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76878.8]
  assign _T_191 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@76897.8]
  assign _T_193 = _T_191 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76899.8]
  assign _T_194 = _T_193 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76900.8]
  assign _T_195 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@76905.8]
  assign _T_197 = _T_195 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76907.8]
  assign _T_198 = _T_197 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76908.8]
  assign _T_203 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76922.6]
  assign _T_232 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@76973.6]
  assign _T_257 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@77015.8]
  assign _T_258 = io_in_a_bits_mask & _T_257; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77016.8]
  assign _T_259 = _T_258 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77017.8]
  assign _T_261 = _T_259 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77019.8]
  assign _T_262 = _T_261 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77020.8]
  assign _T_263 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77026.6]
  assign _T_281 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@77057.8]
  assign _T_283 = _T_281 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77059.8]
  assign _T_284 = _T_283 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77060.8]
  assign _T_289 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77074.6]
  assign _T_307 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@77105.8]
  assign _T_309 = _T_307 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77107.8]
  assign _T_310 = _T_309 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77108.8]
  assign _T_315 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77122.6]
  assign _T_341 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@77172.6]
  assign _T_343 = _T_341 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77174.6]
  assign _T_344 = _T_343 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77175.6]
  assign _T_346 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@77181.6]
  assign _T_355 = io_in_d_bits_source | _T_346; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77186.6]
  assign _T_357 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77188.6]
  assign _T_359 = _T_355 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77191.8]
  assign _T_360 = _T_359 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77192.8]
  assign _T_361 = io_in_d_bits_size >= 3'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77197.8]
  assign _T_363 = _T_361 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77199.8]
  assign _T_364 = _T_363 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77200.8]
  assign _T_377 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77230.6]
  assign _T_405 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77288.6]
  assign _T_434 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77347.6]
  assign _T_451 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77382.6]
  assign _T_469 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77418.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77478.4]
  assign _T_503 = _T_34[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@77483.4]
  assign _T_504 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77484.4]
  assign _T_505 = _T_504 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77485.4]
  assign _T_509 = _T_508 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77488.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77489.4]
  assign _T_511 = _T_510[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77490.4]
  assign _T_512 = _T_508 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77491.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77507.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77508.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77510.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77512.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77513.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77518.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77520.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77521.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77526.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77528.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77529.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77534.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77536.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77537.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77542.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77544.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77545.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@77552.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77560.4]
  assign _T_556 = 13'h3f << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77562.4]
  assign _T_557 = _T_556[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@77563.4]
  assign _T_558 = ~ _T_557; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77564.4]
  assign _T_559 = _T_558[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@77565.4]
  assign _T_560 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@77566.4]
  assign _T_564 = _T_563 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77569.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77570.4]
  assign _T_566 = _T_565[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77571.4]
  assign _T_567 = _T_563 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77572.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77589.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77590.4]
  assign _T_589 = io_in_d_bits_opcode == _T_576; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77592.6]
  assign _T_591 = _T_589 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77594.6]
  assign _T_592 = _T_591 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77595.6]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77608.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77610.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77611.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77616.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77618.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77619.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@77642.4]
  assign _T_628 = _T_627 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77662.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77663.4]
  assign _T_630 = _T_629[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77664.4]
  assign _T_631 = _T_627 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77665.4]
  assign _T_649 = _T_648 - 4'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77685.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77686.4]
  assign _T_651 = _T_650[3:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77687.4]
  assign _T_652 = _T_648 == 4'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77688.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77703.4]
  assign _T_665 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@77706.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77708.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77709.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77710.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77712.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77713.6]
  assign _GEN_15 = _T_663 ? _T_665 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@77705.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77724.4]
  assign _T_678 = _T_357 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@77726.4]
  assign _T_679 = _T_676 & _T_678; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@77727.4]
  assign _T_680 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@77729.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@77731.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77732.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@77733.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77735.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77736.6]
  assign _GEN_16 = _T_679 ? _T_680 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@77728.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77742.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@77743.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@77744.4]
  assign _T_692 = _T_616 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77749.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77750.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@77751.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77752.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@77753.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@77754.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77756.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77757.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77763.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77767.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76725.10]
  assign _GEN_35 = io_in_a_valid & _T_128; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76797.10]
  assign _GEN_53 = io_in_a_valid & _T_170; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76880.10]
  assign _GEN_65 = io_in_a_valid & _T_203; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76939.10]
  assign _GEN_75 = io_in_a_valid & _T_232; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76990.10]
  assign _GEN_85 = io_in_a_valid & _T_263; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77040.10]
  assign _GEN_95 = io_in_a_valid & _T_289; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77088.10]
  assign _GEN_105 = io_in_a_valid & _T_315; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77136.10]
  assign _GEN_115 = io_in_d_valid & _T_357; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77194.10]
  assign _GEN_119 = io_in_d_valid & _T_377; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77236.10]
  assign _GEN_125 = io_in_d_valid & _T_405; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77294.10]
  assign _GEN_131 = io_in_d_valid & _T_434; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77353.10]
  assign _GEN_133 = io_in_d_valid & _T_451; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77388.10]
  assign _GEN_135 = io_in_d_valid & _T_469; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77424.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_508 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_521 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_523 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_525 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_527 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_529 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_563 = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_576 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_580 = _RAND_8[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_582 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_616 = _RAND_10[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_627 = _RAND_11[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_648 = _RAND_12[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_691 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_508 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_512) begin
          if (_T_505) begin
            _T_508 <= _T_503;
          end else begin
            _T_508 <= 4'h0;
          end
        end else begin
          _T_508 <= _T_511;
        end
      end
    end
    if (_T_553) begin
      _T_521 <= io_in_a_bits_opcode;
    end
    if (_T_553) begin
      _T_523 <= io_in_a_bits_param;
    end
    if (_T_553) begin
      _T_525 <= io_in_a_bits_size;
    end
    if (_T_553) begin
      _T_527 <= io_in_a_bits_source;
    end
    if (_T_553) begin
      _T_529 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_563 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_567) begin
          if (_T_560) begin
            _T_563 <= _T_559;
          end else begin
            _T_563 <= 4'h0;
          end
        end else begin
          _T_563 <= _T_566;
        end
      end
    end
    if (_T_614) begin
      _T_576 <= io_in_d_bits_opcode;
    end
    if (_T_614) begin
      _T_580 <= io_in_d_bits_size;
    end
    if (_T_614) begin
      _T_582 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_616 <= 2'h0;
    end else begin
      _T_616 <= _T_689;
    end
    if (reset) begin
      _T_627 <= 4'h0;
    end else begin
      if (_T_498) begin
        if (_T_631) begin
          if (_T_505) begin
            _T_627 <= _T_503;
          end else begin
            _T_627 <= 4'h0;
          end
        end else begin
          _T_627 <= _T_630;
        end
      end
    end
    if (reset) begin
      _T_648 <= 4'h0;
    end else begin
      if (_T_554) begin
        if (_T_652) begin
          if (_T_560) begin
            _T_648 <= _T_559;
          end else begin
            _T_648 <= 4'h0;
          end
        end else begin
          _T_648 <= _T_651;
        end
      end
    end
    if (reset) begin
      _T_691 <= 32'h0;
    end else begin
      if (_T_705) begin
        _T_691 <= 32'h0;
      end else begin
        _T_691 <= _T_702;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at I2C.scala:599:93)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76638.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76639.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76708.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@76709.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76725.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76726.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at I2C.scala:599:93)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76732.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_101) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76733.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76739.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_107) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76740.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at I2C.scala:599:93)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76747.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76748.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76754.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_114) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76755.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at I2C.scala:599:93)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76762.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_118) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76763.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76771.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_123) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76772.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76779.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_127) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76780.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76797.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76798.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at I2C.scala:599:93)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76804.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_101) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76805.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76811.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_107) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76812.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at I2C.scala:599:93)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76819.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_111) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76820.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76826.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_114) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76827.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at I2C.scala:599:93)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76834.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_118) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76835.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at I2C.scala:599:93)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76842.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_160) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76843.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76851.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_123) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76852.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76859.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_127) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76860.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76880.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_184) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76881.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76887.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_107) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76888.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76894.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_114) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76895.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76902.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_194) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76903.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76910.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_198) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76911.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76918.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_127) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76919.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76939.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_184) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76940.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76946.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_107) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76947.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76953.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_114) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76954.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76961.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_194) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76962.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76969.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_198) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76970.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76990.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_184) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76991.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76997.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_107) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@76998.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77004.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_114) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77005.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77012.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_194) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77013.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77022.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_262) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77023.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77040.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_101) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77041.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77047.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_107) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77048.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77054.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_114) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77055.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at I2C.scala:599:93)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77062.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_284) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77063.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77070.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_198) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77071.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77088.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_101) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77089.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77095.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_107) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77096.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77102.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_114) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77103.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at I2C.scala:599:93)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77110.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_310) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77111.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77118.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_198) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77119.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at I2C.scala:599:93)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77136.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_101) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77137.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77143.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_107) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77144.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at I2C.scala:599:93)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77150.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_114) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77151.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at I2C.scala:599:93)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77158.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_198) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77159.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77166.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_127) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77167.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at I2C.scala:599:93)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77177.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_344) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77178.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77194.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_360) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77195.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at I2C.scala:599:93)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77202.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_364) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77203.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77210.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77211.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77218.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77219.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at I2C.scala:599:93)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77226.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77227.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77236.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_360) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77237.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at I2C.scala:599:93)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77243.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_101) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77244.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at I2C.scala:599:93)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77251.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_364) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77252.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at I2C.scala:599:93)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77259.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77260.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at I2C.scala:599:93)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77267.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77268.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77275.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77276.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at I2C.scala:599:93)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77284.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77285.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77294.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_360) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77295.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at I2C.scala:599:93)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77301.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_101) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77302.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at I2C.scala:599:93)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77309.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_364) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77310.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at I2C.scala:599:93)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77317.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77318.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at I2C.scala:599:93)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77325.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77326.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77334.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77335.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at I2C.scala:599:93)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77343.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77344.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77353.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_131 & _T_360) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77354.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77361.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77362.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77369.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77370.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at I2C.scala:599:93)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77378.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77379.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77388.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_133 & _T_360) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77389.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77396.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77397.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77405.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77406.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at I2C.scala:599:93)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77414.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77415.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77424.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_135 & _T_360) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77425.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at I2C.scala:599:93)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77432.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77433.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at I2C.scala:599:93)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77440.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77441.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at I2C.scala:599:93)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77449.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77450.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at I2C.scala:599:93)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77459.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77460.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at I2C.scala:599:93)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77467.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77468.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at I2C.scala:599:93)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77475.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77476.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77515.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77516.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77523.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77524.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77531.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77532.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77539.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77540.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77547.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77548.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77597.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_592) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77598.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77605.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77606.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77613.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77614.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77621.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77622.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77629.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77630.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at I2C.scala:599:93)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77637.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77638.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at I2C.scala:599:93)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77715.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77716.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at I2C.scala:599:93)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77738.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_679 & _T_686) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77739.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_700) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at I2C.scala:599:93)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77759.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_700) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77760.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFragmenter_16( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77803.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77804.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77805.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77806.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
  wire [2:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
  wire [2:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
  wire [28:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
  wire [28:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
  reg [3:0] _T_244; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77854.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_246; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77855.4]
  reg [31:0] _RAND_1;
  reg  _T_248; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77856.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_249; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@77857.4]
  wire  _T_250; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77858.4]
  wire  _T_251; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77859.4]
  wire [3:0] _T_253; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77861.4]
  wire [2:0] _T_254; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77862.4]
  wire [4:0] _T_256; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77864.4]
  wire [1:0] _T_257; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@77865.4]
  wire [1:0] _T_258; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77866.4]
  wire  _T_259; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@77867.4]
  wire  _T_271; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77883.4]
  wire  _T_272; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@77884.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@77885.4]
  wire [5:0] _T_273; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@77885.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@77886.4]
  wire [5:0] _T_274; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@77886.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@77887.4]
  wire [6:0] _T_275; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@77887.4]
  wire [6:0] _T_276; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@77888.4]
  wire [6:0] _T_277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77889.4]
  wire [6:0] _T_278; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@77890.4]
  wire [6:0] _T_279; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@77891.4]
  wire [2:0] _T_280; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77892.4]
  wire [3:0] _T_281; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77893.4]
  wire  _T_282; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77894.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77895.4]
  wire [3:0] _T_283; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77895.4]
  wire [1:0] _T_284; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77896.4]
  wire [1:0] _T_285; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77897.4]
  wire  _T_286; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77898.4]
  wire [1:0] _T_287; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77899.4]
  wire  _T_288; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@77900.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77901.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77902.4]
  wire  _T_297; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77916.4]
  wire  _T_299; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77918.4]
  wire  _T_300; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77919.4]
  wire  _T_301; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@77920.4]
  wire  _T_291; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77903.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@77905.6]
  wire [4:0] _T_292; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@77905.6]
  wire [4:0] _T_293; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@77906.6]
  wire [3:0] _T_294; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@77907.6]
  wire  _T_296; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@77912.8]
  wire  _T_302; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77922.4]
  wire  _T_330; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77955.4]
  wire [2:0] _T_331; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77956.4]
  wire [12:0] _T_333; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77958.4]
  wire [5:0] _T_334; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@77959.4]
  wire [5:0] _T_335; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77960.4]
  wire [8:0] _T_337; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77962.4]
  wire [1:0] _T_338; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@77963.4]
  wire [1:0] _T_339; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77964.4]
  wire  _T_340; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77965.4]
  wire  _T_341; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77966.4]
  reg [3:0] _T_344; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77968.4]
  reg [31:0] _RAND_3;
  wire  _T_345; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77969.4]
  wire [3:0] _T_346; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77970.4]
  wire [4:0] _T_347; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77971.4]
  wire [4:0] _T_348; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77972.4]
  wire [3:0] _T_349; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77973.4]
  wire [3:0] _T_350; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77974.4]
  wire [3:0] _T_351; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77975.4]
  wire [3:0] _T_354; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@77978.4]
  reg  _T_362; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@77985.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77986.4]
  wire  _T_364; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@77990.4]
  wire  _T_92_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@77850.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77999.4]
  wire  _T_365; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77991.4]
  wire  _T_366; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77995.4]
  wire  _T_367; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@77996.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@78000.4]
  wire [5:0] _T_369; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@78000.4]
  wire [5:0] _T_370; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@78001.4]
  wire [5:0] _T_371; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@78002.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@78003.4]
  wire [5:0] _T_372; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@78003.4]
  wire [5:0] _T_373; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@78004.4]
  wire [5:0] _T_374; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78005.4]
  wire [28:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@78006.4]
  wire [1:0] _T_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78008.4]
  wire  _T_378; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@78012.4]
  wire  _T_380; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@78014.4]
  wire  _T_382; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78016.4]
  wire  _T_383; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78017.4]
  wire  _T_385; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@78024.4]
  wire  _T_386; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@78025.4]
  wire  _T_388; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78027.4]
  wire  _T_389; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78028.4]
  TLMonitor_45 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@77813.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  Repeater_4 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77930.4]
    .clock(Repeater_clock),
    .reset(Repeater_reset),
    .io_repeat(Repeater_io_repeat),
    .io_full(Repeater_io_full),
    .io_enq_ready(Repeater_io_enq_ready),
    .io_enq_valid(Repeater_io_enq_valid),
    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
    .io_enq_bits_param(Repeater_io_enq_bits_param),
    .io_enq_bits_size(Repeater_io_enq_bits_size),
    .io_enq_bits_source(Repeater_io_enq_bits_source),
    .io_enq_bits_address(Repeater_io_enq_bits_address),
    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
    .io_deq_ready(Repeater_io_deq_ready),
    .io_deq_valid(Repeater_io_deq_valid),
    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
    .io_deq_bits_param(Repeater_io_deq_bits_param),
    .io_deq_bits_size(Repeater_io_deq_bits_size),
    .io_deq_bits_source(Repeater_io_deq_bits_source),
    .io_deq_bits_address(Repeater_io_deq_bits_address),
    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
  );
  assign _T_249 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@77857.4]
  assign _T_250 = _T_244 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77858.4]
  assign _T_251 = _T_249 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77859.4]
  assign _T_253 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@77861.4]
  assign _T_254 = _T_253[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77862.4]
  assign _T_256 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77864.4]
  assign _T_257 = _T_256[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@77865.4]
  assign _T_258 = ~ _T_257; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77866.4]
  assign _T_259 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@77867.4]
  assign _T_271 = _T_254[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77883.4]
  assign _T_272 = _T_259 ? 1'h1 : _T_271; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@77884.4]
  assign _GEN_7 = {{2'd0}, _T_249}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@77885.4]
  assign _T_273 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@77885.4]
  assign _GEN_8 = {{4'd0}, _T_258}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@77886.4]
  assign _T_274 = _T_273 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@77886.4]
  assign _GEN_9 = {{1'd0}, _T_274}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@77887.4]
  assign _T_275 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@77887.4]
  assign _T_276 = _T_275 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@77888.4]
  assign _T_277 = {1'h0,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77889.4]
  assign _T_278 = ~ _T_277; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@77890.4]
  assign _T_279 = _T_276 & _T_278; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@77891.4]
  assign _T_280 = _T_279[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77892.4]
  assign _T_281 = _T_279[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77893.4]
  assign _T_282 = _T_280 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77894.4]
  assign _GEN_10 = {{1'd0}, _T_280}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77895.4]
  assign _T_283 = _GEN_10 | _T_281; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77895.4]
  assign _T_284 = _T_283[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77896.4]
  assign _T_285 = _T_283[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77897.4]
  assign _T_286 = _T_284 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77898.4]
  assign _T_287 = _T_284 | _T_285; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77899.4]
  assign _T_288 = _T_287[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@77900.4]
  assign _T_289 = {_T_286,_T_288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77901.4]
  assign _T_290 = {_T_282,_T_289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@77902.4]
  assign _T_297 = _T_259 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@77916.4]
  assign _T_299 = _T_251 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77918.4]
  assign _T_300 = _T_297 & _T_299; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77919.4]
  assign _T_301 = auto_in_d_ready | _T_300; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@77920.4]
  assign _T_291 = _T_301 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77903.4]
  assign _GEN_11 = {{3'd0}, _T_272}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@77905.6]
  assign _T_292 = _T_244 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@77905.6]
  assign _T_293 = $unsigned(_T_292); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@77906.6]
  assign _T_294 = _T_293[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@77907.6]
  assign _T_296 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@77912.8]
  assign _T_302 = _T_300 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77922.4]
  assign _T_330 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77955.4]
  assign _T_331 = _T_330 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@77956.4]
  assign _T_333 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77958.4]
  assign _T_334 = _T_333[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@77959.4]
  assign _T_335 = ~ _T_334; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77960.4]
  assign _T_337 = 9'h3 << _T_331; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77962.4]
  assign _T_338 = _T_337[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@77963.4]
  assign _T_339 = ~ _T_338; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77964.4]
  assign _T_340 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77965.4]
  assign _T_341 = _T_340 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77966.4]
  assign _T_345 = _T_344 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@77969.4]
  assign _T_346 = _T_335[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@77970.4]
  assign _T_347 = _T_344 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77971.4]
  assign _T_348 = $unsigned(_T_347); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77972.4]
  assign _T_349 = _T_348[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@77973.4]
  assign _T_350 = _T_345 ? _T_346 : _T_349; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@77974.4]
  assign _T_351 = ~ _T_350; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77975.4]
  assign _T_354 = ~ _T_351; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@77978.4]
  assign _GEN_5 = _T_345 ? _T_248 : _T_362; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77986.4]
  assign _T_364 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@77990.4]
  assign _T_92_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@77850.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77999.4]
  assign _T_365 = auto_out_a_ready & _T_92_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@77991.4]
  assign _T_366 = _T_341 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@77995.4]
  assign _T_367 = _T_354 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@77996.4]
  assign _GEN_12 = {{2'd0}, _T_350}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@78000.4]
  assign _T_369 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@78000.4]
  assign _T_370 = ~ _T_335; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@78001.4]
  assign _T_371 = _T_369 | _T_370; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@78002.4]
  assign _GEN_13 = {{4'd0}, _T_339}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@78003.4]
  assign _T_372 = _T_371 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@78003.4]
  assign _T_373 = _T_372 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@78004.4]
  assign _T_374 = ~ _T_373; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78005.4]
  assign _GEN_14 = {{23'd0}, _T_374}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@78006.4]
  assign _T_376 = {Repeater_io_deq_bits_source,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78008.4]
  assign _T_378 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@78012.4]
  assign _T_380 = _T_378 | _T_366; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@78014.4]
  assign _T_382 = _T_380 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78016.4]
  assign _T_383 = _T_382 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78017.4]
  assign _T_385 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@78024.4]
  assign _T_386 = _T_378 | _T_385; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@78025.4]
  assign _T_388 = _T_386 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78027.4]
  assign _T_389 = _T_388 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78028.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77853.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_302; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77853.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77853.4]
  assign auto_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77853.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77853.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@77853.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77852.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77852.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77852.4]
  assign auto_out_a_bits_size = _T_331[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77852.4]
  assign auto_out_a_bits_source = {_T_376,_T_354}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77852.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77852.4]
  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77852.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77852.4]
  assign auto_out_a_bits_corrupt = Repeater_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77852.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_300; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@77852.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77815.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77816.4]
  assign TLMonitor_io_in_a_ready = Repeater_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & _T_302; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
  assign TLMonitor_io_in_d_bits_size = _T_250 ? _T_290 : _T_246; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source[5:5]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@77849.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77932.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@77933.4]
  assign Repeater_io_repeat = _T_366 & _T_367; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@77998.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77934.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77934.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77934.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77934.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77934.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77934.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77934.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@77934.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@77999.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_244 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_246 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_248 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_344 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_362 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_244 <= 4'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_244 <= _T_249;
        end else begin
          _T_244 <= _T_294;
        end
      end
    end
    if (_T_291) begin
      if (_T_250) begin
        _T_246 <= _T_290;
      end
    end
    if (reset) begin
      _T_248 <= 1'h0;
    end else begin
      if (_T_291) begin
        if (_T_250) begin
          _T_248 <= _T_296;
        end
      end
    end
    if (reset) begin
      _T_344 <= 4'h0;
    end else begin
      if (_T_365) begin
        _T_344 <= _T_354;
      end
    end
    if (_T_345) begin
      _T_362 <= _T_248;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77878.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@77879.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_383) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78019.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_383) begin
          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78020.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_389) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78030.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_389) begin
          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78031.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SimpleLazyModule_24( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78042.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78043.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78044.4]
  output        auto_fragmenter_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  input         auto_fragmenter_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  input  [2:0]  auto_fragmenter_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  input  [2:0]  auto_fragmenter_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  input  [2:0]  auto_fragmenter_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  input         auto_fragmenter_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  input  [28:0] auto_fragmenter_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  input  [3:0]  auto_fragmenter_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  input  [31:0] auto_fragmenter_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  input         auto_fragmenter_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  input         auto_fragmenter_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  output        auto_fragmenter_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  output [2:0]  auto_fragmenter_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  output [2:0]  auto_fragmenter_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  output        auto_fragmenter_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  output [31:0] auto_fragmenter_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  input         auto_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  output        auto_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  output [2:0]  auto_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  output [2:0]  auto_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  output [1:0]  auto_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  output [5:0]  auto_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  output [28:0] auto_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  output [3:0]  auto_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  output [31:0] auto_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  output        auto_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  output        auto_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  input         auto_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  input  [2:0]  auto_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  input  [1:0]  auto_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  input  [5:0]  auto_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
  input  [31:0] auto_control_xing_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78045.4]
);
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire [28:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire [2:0] fragmenter_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire [5:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire [28:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire  fragmenter_auto_out_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire [5:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
  TLFragmenter_16 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@78050.4]
    .clock(fragmenter_clock),
    .reset(fragmenter_reset),
    .auto_in_a_ready(fragmenter_auto_in_a_ready),
    .auto_in_a_valid(fragmenter_auto_in_a_valid),
    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
    .auto_in_d_ready(fragmenter_auto_in_d_ready),
    .auto_in_d_valid(fragmenter_auto_in_d_valid),
    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
    .auto_out_a_ready(fragmenter_auto_out_a_ready),
    .auto_out_a_valid(fragmenter_auto_out_a_valid),
    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(fragmenter_auto_out_a_bits_param),
    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(fragmenter_auto_out_a_bits_corrupt),
    .auto_out_d_ready(fragmenter_auto_out_d_ready),
    .auto_out_d_valid(fragmenter_auto_out_d_valid),
    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
  );
  assign auto_fragmenter_in_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
  assign auto_fragmenter_in_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
  assign auto_fragmenter_in_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
  assign auto_fragmenter_in_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
  assign auto_fragmenter_in_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
  assign auto_fragmenter_in_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
  assign auto_control_xing_out_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78062.4]
  assign auto_control_xing_out_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78062.4]
  assign auto_control_xing_out_a_bits_param = fragmenter_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78062.4]
  assign auto_control_xing_out_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78062.4]
  assign auto_control_xing_out_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78062.4]
  assign auto_control_xing_out_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78062.4]
  assign auto_control_xing_out_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78062.4]
  assign auto_control_xing_out_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78062.4]
  assign auto_control_xing_out_a_bits_corrupt = fragmenter_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78062.4]
  assign auto_control_xing_out_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78062.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78054.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78055.4]
  assign fragmenter_auto_in_a_valid = auto_fragmenter_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
  assign fragmenter_auto_in_a_bits_opcode = auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
  assign fragmenter_auto_in_a_bits_param = auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
  assign fragmenter_auto_in_a_bits_size = auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
  assign fragmenter_auto_in_a_bits_source = auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
  assign fragmenter_auto_in_a_bits_address = auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
  assign fragmenter_auto_in_a_bits_mask = auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
  assign fragmenter_auto_in_a_bits_data = auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
  assign fragmenter_auto_in_a_bits_corrupt = auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
  assign fragmenter_auto_in_d_ready = auto_fragmenter_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78063.4]
  assign fragmenter_auto_out_a_ready = auto_control_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78061.4]
  assign fragmenter_auto_out_d_valid = auto_control_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78061.4]
  assign fragmenter_auto_out_d_bits_opcode = auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78061.4]
  assign fragmenter_auto_out_d_bits_size = auto_control_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78061.4]
  assign fragmenter_auto_out_d_bits_source = auto_control_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78061.4]
  assign fragmenter_auto_out_d_bits_data = auto_control_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78061.4]
endmodule
module PeripheryBus_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78065.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78066.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78067.4]
  input         auto_coupler_to_device_named_i2c_1_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_device_named_i2c_1_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [2:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [2:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [1:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [5:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [28:0] auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [3:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [31:0] auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_device_named_i2c_1_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_coupler_to_device_named_i2c_1_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [2:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [1:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [5:0]  auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [31:0] auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_coupler_to_device_named_i2c_0_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_device_named_i2c_0_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [2:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [2:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [1:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [5:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [28:0] auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [3:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [31:0] auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_device_named_i2c_0_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_coupler_to_device_named_i2c_0_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [2:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [1:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [5:0]  auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [31:0] auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_coupler_to_device_named_gpio_0_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_device_named_gpio_0_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [2:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [2:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [1:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [5:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [28:0] auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [3:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [31:0] auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_device_named_gpio_0_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_coupler_to_device_named_gpio_0_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [2:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [1:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [5:0]  auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [31:0] auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_coupler_to_device_named_spi_1_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_device_named_spi_1_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [2:0]  auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [2:0]  auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [1:0]  auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [5:0]  auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [28:0] auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [3:0]  auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [31:0] auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_device_named_spi_1_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_coupler_to_device_named_spi_1_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [2:0]  auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [1:0]  auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [5:0]  auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [31:0] auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_coupler_to_device_named_spi_0_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_device_named_spi_0_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [2:0]  auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [2:0]  auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [1:0]  auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [5:0]  auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [28:0] auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [3:0]  auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [31:0] auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_device_named_spi_0_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_coupler_to_device_named_spi_0_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [2:0]  auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [1:0]  auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [5:0]  auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [31:0] auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [2:0]  auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [2:0]  auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [7:0]  auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [29:0] auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [7:0]  auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [7:0]  auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_coupler_to_device_named_qspi_0_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_device_named_qspi_0_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [2:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [2:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [1:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [5:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [28:0] auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [3:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [31:0] auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_device_named_qspi_0_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_coupler_to_device_named_qspi_0_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [2:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [1:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [5:0]  auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [31:0] auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_coupler_to_slave_named_uart_4_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_slave_named_uart_4_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [2:0]  auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [2:0]  auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [1:0]  auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [5:0]  auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [28:0] auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [3:0]  auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [31:0] auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_slave_named_uart_4_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_coupler_to_slave_named_uart_4_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [2:0]  auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [1:0]  auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [5:0]  auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [31:0] auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_coupler_to_slave_named_uart_3_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_slave_named_uart_3_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [2:0]  auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [2:0]  auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [1:0]  auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [5:0]  auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [28:0] auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [3:0]  auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [31:0] auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_slave_named_uart_3_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_coupler_to_slave_named_uart_3_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [2:0]  auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [1:0]  auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [5:0]  auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [31:0] auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_coupler_to_slave_named_uart_2_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_slave_named_uart_2_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [2:0]  auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [2:0]  auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [1:0]  auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [5:0]  auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [28:0] auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [3:0]  auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [31:0] auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_slave_named_uart_2_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_coupler_to_slave_named_uart_2_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [2:0]  auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [1:0]  auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [5:0]  auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [31:0] auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_coupler_to_slave_named_uart_1_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_slave_named_uart_1_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [2:0]  auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [2:0]  auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [1:0]  auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [5:0]  auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [28:0] auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [3:0]  auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [31:0] auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_slave_named_uart_1_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_coupler_to_slave_named_uart_1_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [2:0]  auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [1:0]  auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [5:0]  auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [31:0] auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_coupler_to_slave_named_uart_0_control_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_slave_named_uart_0_control_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [2:0]  auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [2:0]  auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [1:0]  auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [5:0]  auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [28:0] auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [3:0]  auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [31:0] auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_coupler_to_slave_named_uart_0_control_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_coupler_to_slave_named_uart_0_control_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [2:0]  auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [1:0]  auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [5:0]  auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [31:0] auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_from_cbus_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_from_cbus_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [2:0]  auto_from_cbus_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [2:0]  auto_from_cbus_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [3:0]  auto_from_cbus_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_from_cbus_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [29:0] auto_from_cbus_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [3:0]  auto_from_cbus_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input  [31:0] auto_from_cbus_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_from_cbus_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  input         auto_from_cbus_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_from_cbus_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [2:0]  auto_from_cbus_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [1:0]  auto_from_cbus_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [3:0]  auto_from_cbus_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_from_cbus_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_from_cbus_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_from_cbus_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output [31:0] auto_from_cbus_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
  output        auto_from_cbus_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78068.4]
);
  wire  in_xbar_clock; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire  in_xbar_reset; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire  in_xbar_auto_in_a_ready; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire  in_xbar_auto_in_a_valid; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire [2:0] in_xbar_auto_in_a_bits_opcode; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire [2:0] in_xbar_auto_in_a_bits_param; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire [3:0] in_xbar_auto_in_a_bits_size; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire  in_xbar_auto_in_a_bits_source; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire [29:0] in_xbar_auto_in_a_bits_address; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire [3:0] in_xbar_auto_in_a_bits_mask; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire [31:0] in_xbar_auto_in_a_bits_data; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire  in_xbar_auto_in_a_bits_corrupt; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire  in_xbar_auto_in_d_ready; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire  in_xbar_auto_in_d_valid; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire [2:0] in_xbar_auto_in_d_bits_opcode; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire [1:0] in_xbar_auto_in_d_bits_param; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire [3:0] in_xbar_auto_in_d_bits_size; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire  in_xbar_auto_in_d_bits_source; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire  in_xbar_auto_in_d_bits_sink; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire  in_xbar_auto_in_d_bits_denied; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire [31:0] in_xbar_auto_in_d_bits_data; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire  in_xbar_auto_in_d_bits_corrupt; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire  in_xbar_auto_out_a_ready; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire  in_xbar_auto_out_a_valid; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire [2:0] in_xbar_auto_out_a_bits_opcode; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire [2:0] in_xbar_auto_out_a_bits_param; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire [3:0] in_xbar_auto_out_a_bits_size; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire  in_xbar_auto_out_a_bits_source; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire [29:0] in_xbar_auto_out_a_bits_address; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire [3:0] in_xbar_auto_out_a_bits_mask; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire [31:0] in_xbar_auto_out_a_bits_data; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire  in_xbar_auto_out_a_bits_corrupt; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire  in_xbar_auto_out_d_ready; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire  in_xbar_auto_out_d_valid; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire [2:0] in_xbar_auto_out_d_bits_opcode; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire [1:0] in_xbar_auto_out_d_bits_param; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire [3:0] in_xbar_auto_out_d_bits_size; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire  in_xbar_auto_out_d_bits_source; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire  in_xbar_auto_out_d_bits_sink; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire  in_xbar_auto_out_d_bits_denied; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire [31:0] in_xbar_auto_out_d_bits_data; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire  in_xbar_auto_out_d_bits_corrupt; // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
  wire  out_xbar_clock; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_reset; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_in_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_in_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_in_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_in_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [3:0] out_xbar_auto_in_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_in_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [29:0] out_xbar_auto_in_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [3:0] out_xbar_auto_in_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [31:0] out_xbar_auto_in_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_in_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_in_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_in_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_in_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [1:0] out_xbar_auto_in_d_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [3:0] out_xbar_auto_in_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_in_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_in_d_bits_sink; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_in_d_bits_denied; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [31:0] out_xbar_auto_in_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_in_d_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_12_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_12_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_12_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_12_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_12_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_12_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [28:0] out_xbar_auto_out_12_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [3:0] out_xbar_auto_out_12_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [31:0] out_xbar_auto_out_12_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_12_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_12_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_12_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_12_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_12_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_12_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [31:0] out_xbar_auto_out_12_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_11_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_11_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_11_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_11_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_11_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_11_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [28:0] out_xbar_auto_out_11_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [3:0] out_xbar_auto_out_11_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [31:0] out_xbar_auto_out_11_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_11_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_11_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_11_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_11_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_11_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_11_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [31:0] out_xbar_auto_out_11_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_10_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_10_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_10_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_10_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_10_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_10_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [28:0] out_xbar_auto_out_10_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [3:0] out_xbar_auto_out_10_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [31:0] out_xbar_auto_out_10_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_10_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_10_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_10_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_10_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_10_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_10_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [31:0] out_xbar_auto_out_10_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_9_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_9_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_9_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_9_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_9_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_9_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [28:0] out_xbar_auto_out_9_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [3:0] out_xbar_auto_out_9_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [31:0] out_xbar_auto_out_9_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_9_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_9_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_9_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_9_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_9_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_9_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [31:0] out_xbar_auto_out_9_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_8_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_8_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_8_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_8_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_8_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_8_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [28:0] out_xbar_auto_out_8_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [3:0] out_xbar_auto_out_8_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [31:0] out_xbar_auto_out_8_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_8_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_8_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_8_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_8_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_8_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_8_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [31:0] out_xbar_auto_out_8_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_7_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_7_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_7_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_7_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_7_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_7_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [29:0] out_xbar_auto_out_7_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [3:0] out_xbar_auto_out_7_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_7_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_7_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_7_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_7_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_7_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [31:0] out_xbar_auto_out_7_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_7_d_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_6_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_6_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_6_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_6_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_6_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_6_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [28:0] out_xbar_auto_out_6_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [3:0] out_xbar_auto_out_6_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [31:0] out_xbar_auto_out_6_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_6_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_6_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_6_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_6_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_6_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_6_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [31:0] out_xbar_auto_out_6_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_5_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_5_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_5_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_5_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_5_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_5_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [28:0] out_xbar_auto_out_5_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [3:0] out_xbar_auto_out_5_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [31:0] out_xbar_auto_out_5_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_5_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_5_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_5_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_5_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_5_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_5_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [31:0] out_xbar_auto_out_5_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_4_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_4_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_4_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_4_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_4_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_4_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [28:0] out_xbar_auto_out_4_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [3:0] out_xbar_auto_out_4_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [31:0] out_xbar_auto_out_4_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_4_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_4_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_4_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_4_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_4_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_4_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [31:0] out_xbar_auto_out_4_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_3_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_3_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_3_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_3_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_3_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_3_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [28:0] out_xbar_auto_out_3_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [3:0] out_xbar_auto_out_3_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [31:0] out_xbar_auto_out_3_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_3_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_3_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_3_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_3_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_3_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_3_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [31:0] out_xbar_auto_out_3_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_2_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_2_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_2_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_2_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_2_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_2_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [28:0] out_xbar_auto_out_2_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [3:0] out_xbar_auto_out_2_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [31:0] out_xbar_auto_out_2_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_2_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_2_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_2_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_2_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_2_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_2_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [31:0] out_xbar_auto_out_2_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_1_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_1_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_1_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_1_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_1_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_1_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [28:0] out_xbar_auto_out_1_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [3:0] out_xbar_auto_out_1_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [31:0] out_xbar_auto_out_1_a_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_1_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_1_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_1_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_1_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_1_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_1_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [31:0] out_xbar_auto_out_1_d_bits_data; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_0_a_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_0_a_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_0_a_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_0_a_bits_param; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [3:0] out_xbar_auto_out_0_a_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_0_a_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [13:0] out_xbar_auto_out_0_a_bits_address; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [3:0] out_xbar_auto_out_0_a_bits_mask; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_0_a_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_0_d_ready; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_0_d_valid; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [2:0] out_xbar_auto_out_0_d_bits_opcode; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire [3:0] out_xbar_auto_out_0_d_bits_size; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_0_d_bits_source; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  out_xbar_auto_out_0_d_bits_corrupt; // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire [3:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire [29:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire [1:0] buffer_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire [3:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire  buffer_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire  buffer_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire  buffer_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire [3:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire [29:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire [1:0] buffer_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire [3:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire  buffer_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire  buffer_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire  buffer_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
  wire  atomics_clock; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire  atomics_reset; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire  atomics_auto_in_a_ready; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire  atomics_auto_in_a_valid; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire [2:0] atomics_auto_in_a_bits_opcode; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire [2:0] atomics_auto_in_a_bits_param; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire [3:0] atomics_auto_in_a_bits_size; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire  atomics_auto_in_a_bits_source; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire [29:0] atomics_auto_in_a_bits_address; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire [3:0] atomics_auto_in_a_bits_mask; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire [31:0] atomics_auto_in_a_bits_data; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire  atomics_auto_in_a_bits_corrupt; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire  atomics_auto_in_d_ready; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire  atomics_auto_in_d_valid; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire [2:0] atomics_auto_in_d_bits_opcode; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire [1:0] atomics_auto_in_d_bits_param; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire [3:0] atomics_auto_in_d_bits_size; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire  atomics_auto_in_d_bits_source; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire  atomics_auto_in_d_bits_sink; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire  atomics_auto_in_d_bits_denied; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire [31:0] atomics_auto_in_d_bits_data; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire  atomics_auto_in_d_bits_corrupt; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire  atomics_auto_out_a_ready; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire  atomics_auto_out_a_valid; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire [2:0] atomics_auto_out_a_bits_opcode; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire [2:0] atomics_auto_out_a_bits_param; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire [3:0] atomics_auto_out_a_bits_size; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire  atomics_auto_out_a_bits_source; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire [29:0] atomics_auto_out_a_bits_address; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire [3:0] atomics_auto_out_a_bits_mask; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire [31:0] atomics_auto_out_a_bits_data; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire  atomics_auto_out_a_bits_corrupt; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire  atomics_auto_out_d_ready; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire  atomics_auto_out_d_valid; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire [2:0] atomics_auto_out_d_bits_opcode; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire [1:0] atomics_auto_out_d_bits_param; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire [3:0] atomics_auto_out_d_bits_size; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire  atomics_auto_out_d_bits_source; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire  atomics_auto_out_d_bits_sink; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire  atomics_auto_out_d_bits_denied; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire [31:0] atomics_auto_out_d_bits_data; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire  atomics_auto_out_d_bits_corrupt; // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
  wire  wrapped_error_device_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
  wire  wrapped_error_device_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
  wire  wrapped_error_device_auto_error_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
  wire  wrapped_error_device_auto_error_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
  wire [2:0] wrapped_error_device_auto_error_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
  wire [2:0] wrapped_error_device_auto_error_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
  wire [3:0] wrapped_error_device_auto_error_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
  wire  wrapped_error_device_auto_error_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
  wire [13:0] wrapped_error_device_auto_error_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
  wire [3:0] wrapped_error_device_auto_error_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
  wire  wrapped_error_device_auto_error_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
  wire  wrapped_error_device_auto_error_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
  wire  wrapped_error_device_auto_error_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
  wire [2:0] wrapped_error_device_auto_error_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
  wire [3:0] wrapped_error_device_auto_error_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
  wire  wrapped_error_device_auto_error_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
  wire  wrapped_error_device_auto_error_in_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
  wire  buffer_1_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire  buffer_1_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire  buffer_1_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire  buffer_1_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire [2:0] buffer_1_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire [2:0] buffer_1_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire [3:0] buffer_1_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire  buffer_1_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire [29:0] buffer_1_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire [3:0] buffer_1_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire [31:0] buffer_1_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire  buffer_1_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire  buffer_1_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire  buffer_1_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire [2:0] buffer_1_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire [1:0] buffer_1_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire [3:0] buffer_1_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire  buffer_1_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire  buffer_1_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire  buffer_1_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire [31:0] buffer_1_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire  buffer_1_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire  buffer_1_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire  buffer_1_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire [2:0] buffer_1_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire [2:0] buffer_1_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire [3:0] buffer_1_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire  buffer_1_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire [29:0] buffer_1_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire [3:0] buffer_1_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire [31:0] buffer_1_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire  buffer_1_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire  buffer_1_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire  buffer_1_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire [2:0] buffer_1_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire [1:0] buffer_1_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire [3:0] buffer_1_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire  buffer_1_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire  buffer_1_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire  buffer_1_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire [31:0] buffer_1_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire  buffer_1_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
  wire  coupler_to_slave_named_uart_0_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire  coupler_to_slave_named_uart_0_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire  coupler_to_slave_named_uart_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire  coupler_to_slave_named_uart_0_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire [2:0] coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire [2:0] coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire [2:0] coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire  coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire [28:0] coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire [3:0] coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire [31:0] coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire  coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire  coupler_to_slave_named_uart_0_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire  coupler_to_slave_named_uart_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire [2:0] coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire [2:0] coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire  coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire [31:0] coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire  coupler_to_slave_named_uart_0_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire  coupler_to_slave_named_uart_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire [2:0] coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire [2:0] coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire [1:0] coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire [5:0] coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire [28:0] coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire [3:0] coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire [31:0] coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire  coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire  coupler_to_slave_named_uart_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire  coupler_to_slave_named_uart_0_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire [2:0] coupler_to_slave_named_uart_0_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire [1:0] coupler_to_slave_named_uart_0_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire [5:0] coupler_to_slave_named_uart_0_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire [31:0] coupler_to_slave_named_uart_0_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
  wire  coupler_to_slave_named_uart_1_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire  coupler_to_slave_named_uart_1_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire  coupler_to_slave_named_uart_1_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire  coupler_to_slave_named_uart_1_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire [2:0] coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire [2:0] coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire [2:0] coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire  coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire [28:0] coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire [3:0] coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire [31:0] coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire  coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire  coupler_to_slave_named_uart_1_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire  coupler_to_slave_named_uart_1_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire [2:0] coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire [2:0] coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire  coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire [31:0] coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire  coupler_to_slave_named_uart_1_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire  coupler_to_slave_named_uart_1_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire [2:0] coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire [2:0] coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire [1:0] coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire [5:0] coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire [28:0] coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire [3:0] coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire [31:0] coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire  coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire  coupler_to_slave_named_uart_1_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire  coupler_to_slave_named_uart_1_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire [2:0] coupler_to_slave_named_uart_1_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire [1:0] coupler_to_slave_named_uart_1_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire [5:0] coupler_to_slave_named_uart_1_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire [31:0] coupler_to_slave_named_uart_1_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
  wire  coupler_to_slave_named_uart_2_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire  coupler_to_slave_named_uart_2_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire  coupler_to_slave_named_uart_2_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire  coupler_to_slave_named_uart_2_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire [2:0] coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire [2:0] coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire [2:0] coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire  coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire [28:0] coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire [3:0] coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire [31:0] coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire  coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire  coupler_to_slave_named_uart_2_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire  coupler_to_slave_named_uart_2_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire [2:0] coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire [2:0] coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire  coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire [31:0] coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire  coupler_to_slave_named_uart_2_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire  coupler_to_slave_named_uart_2_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire [2:0] coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire [2:0] coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire [1:0] coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire [5:0] coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire [28:0] coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire [3:0] coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire [31:0] coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire  coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire  coupler_to_slave_named_uart_2_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire  coupler_to_slave_named_uart_2_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire [2:0] coupler_to_slave_named_uart_2_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire [1:0] coupler_to_slave_named_uart_2_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire [5:0] coupler_to_slave_named_uart_2_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire [31:0] coupler_to_slave_named_uart_2_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
  wire  coupler_to_slave_named_uart_3_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire  coupler_to_slave_named_uart_3_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire  coupler_to_slave_named_uart_3_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire  coupler_to_slave_named_uart_3_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire [2:0] coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire [2:0] coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire [2:0] coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire  coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire [28:0] coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire [3:0] coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire [31:0] coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire  coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire  coupler_to_slave_named_uart_3_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire  coupler_to_slave_named_uart_3_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire [2:0] coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire [2:0] coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire  coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire [31:0] coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire  coupler_to_slave_named_uart_3_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire  coupler_to_slave_named_uart_3_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire [2:0] coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire [2:0] coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire [1:0] coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire [5:0] coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire [28:0] coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire [3:0] coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire [31:0] coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire  coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire  coupler_to_slave_named_uart_3_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire  coupler_to_slave_named_uart_3_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire [2:0] coupler_to_slave_named_uart_3_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire [1:0] coupler_to_slave_named_uart_3_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire [5:0] coupler_to_slave_named_uart_3_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire [31:0] coupler_to_slave_named_uart_3_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
  wire  coupler_to_slave_named_uart_4_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire  coupler_to_slave_named_uart_4_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire  coupler_to_slave_named_uart_4_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire  coupler_to_slave_named_uart_4_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire [2:0] coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire [2:0] coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire [2:0] coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire  coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire [28:0] coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire [3:0] coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire [31:0] coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire  coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire  coupler_to_slave_named_uart_4_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire  coupler_to_slave_named_uart_4_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire [2:0] coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire [2:0] coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire  coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire [31:0] coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire  coupler_to_slave_named_uart_4_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire  coupler_to_slave_named_uart_4_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire [2:0] coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire [2:0] coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire [1:0] coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire [5:0] coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire [28:0] coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire [3:0] coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire [31:0] coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire  coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire  coupler_to_slave_named_uart_4_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire  coupler_to_slave_named_uart_4_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire [2:0] coupler_to_slave_named_uart_4_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire [1:0] coupler_to_slave_named_uart_4_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire [5:0] coupler_to_slave_named_uart_4_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire [31:0] coupler_to_slave_named_uart_4_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
  wire  coupler_to_device_named_qspi_0_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire  coupler_to_device_named_qspi_0_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire  coupler_to_device_named_qspi_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire  coupler_to_device_named_qspi_0_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire [2:0] coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire [2:0] coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire [2:0] coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire  coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire [28:0] coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire [3:0] coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire [31:0] coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire  coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire  coupler_to_device_named_qspi_0_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire  coupler_to_device_named_qspi_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire [2:0] coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire [2:0] coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire  coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire [31:0] coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire  coupler_to_device_named_qspi_0_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire  coupler_to_device_named_qspi_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire [2:0] coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire [2:0] coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire [1:0] coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire [5:0] coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire [28:0] coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire [3:0] coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire [31:0] coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire  coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire  coupler_to_device_named_qspi_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire  coupler_to_device_named_qspi_0_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire [2:0] coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire [1:0] coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire [5:0] coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire [31:0] coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
  wire  coupler_to_mem_named_qspi_0_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire  coupler_to_mem_named_qspi_0_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire  coupler_to_mem_named_qspi_0_auto_widget_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire  coupler_to_mem_named_qspi_0_auto_widget_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire [2:0] coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire [2:0] coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire [2:0] coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire  coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire [29:0] coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire [3:0] coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire  coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire  coupler_to_mem_named_qspi_0_auto_widget_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire  coupler_to_mem_named_qspi_0_auto_widget_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire [2:0] coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire  coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire [31:0] coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire  coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire  coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire  coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire [2:0] coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire [2:0] coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire  coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire [7:0] coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire [29:0] coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire  coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire  coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire  coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire  coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire  coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire [7:0] coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire [7:0] coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
  wire  coupler_to_device_named_spi_0_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire  coupler_to_device_named_spi_0_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire  coupler_to_device_named_spi_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire  coupler_to_device_named_spi_0_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire [2:0] coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire [2:0] coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire [2:0] coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire  coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire [28:0] coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire [3:0] coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire [31:0] coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire  coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire  coupler_to_device_named_spi_0_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire  coupler_to_device_named_spi_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire [2:0] coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire [2:0] coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire  coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire [31:0] coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire  coupler_to_device_named_spi_0_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire  coupler_to_device_named_spi_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire [2:0] coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire [2:0] coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire [1:0] coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire [5:0] coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire [28:0] coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire [3:0] coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire [31:0] coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire  coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire  coupler_to_device_named_spi_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire  coupler_to_device_named_spi_0_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire [2:0] coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire [1:0] coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire [5:0] coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire [31:0] coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
  wire  coupler_to_device_named_spi_1_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire  coupler_to_device_named_spi_1_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire  coupler_to_device_named_spi_1_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire  coupler_to_device_named_spi_1_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire [2:0] coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire [2:0] coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire [2:0] coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire  coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire [28:0] coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire [3:0] coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire [31:0] coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire  coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire  coupler_to_device_named_spi_1_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire  coupler_to_device_named_spi_1_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire [2:0] coupler_to_device_named_spi_1_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire [2:0] coupler_to_device_named_spi_1_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire  coupler_to_device_named_spi_1_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire [31:0] coupler_to_device_named_spi_1_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire  coupler_to_device_named_spi_1_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire  coupler_to_device_named_spi_1_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire [2:0] coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire [2:0] coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire [1:0] coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire [5:0] coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire [28:0] coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire [3:0] coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire [31:0] coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire  coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire  coupler_to_device_named_spi_1_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire  coupler_to_device_named_spi_1_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire [2:0] coupler_to_device_named_spi_1_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire [1:0] coupler_to_device_named_spi_1_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire [5:0] coupler_to_device_named_spi_1_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire [31:0] coupler_to_device_named_spi_1_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
  wire  coupler_to_device_named_gpio_0_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire  coupler_to_device_named_gpio_0_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire  coupler_to_device_named_gpio_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire  coupler_to_device_named_gpio_0_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire [2:0] coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire [2:0] coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire [2:0] coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire  coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire [28:0] coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire [3:0] coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire [31:0] coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire  coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire  coupler_to_device_named_gpio_0_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire  coupler_to_device_named_gpio_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire [2:0] coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire [2:0] coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire  coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire [31:0] coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire  coupler_to_device_named_gpio_0_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire  coupler_to_device_named_gpio_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire [2:0] coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire [2:0] coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire [1:0] coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire [5:0] coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire [28:0] coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire [3:0] coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire [31:0] coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire  coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire  coupler_to_device_named_gpio_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire  coupler_to_device_named_gpio_0_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire [2:0] coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire [1:0] coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire [5:0] coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire [31:0] coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
  wire  coupler_to_device_named_i2c_0_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire  coupler_to_device_named_i2c_0_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire  coupler_to_device_named_i2c_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire  coupler_to_device_named_i2c_0_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire [2:0] coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire [2:0] coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire [2:0] coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire  coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire [28:0] coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire [3:0] coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire [31:0] coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire  coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire  coupler_to_device_named_i2c_0_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire  coupler_to_device_named_i2c_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire [2:0] coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire [2:0] coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire  coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire [31:0] coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire  coupler_to_device_named_i2c_0_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire  coupler_to_device_named_i2c_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire [2:0] coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire [2:0] coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire [1:0] coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire [5:0] coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire [28:0] coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire [3:0] coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire [31:0] coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire  coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire  coupler_to_device_named_i2c_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire  coupler_to_device_named_i2c_0_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire [2:0] coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire [1:0] coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire [5:0] coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire [31:0] coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
  wire  coupler_to_device_named_i2c_1_clock; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire  coupler_to_device_named_i2c_1_reset; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire  coupler_to_device_named_i2c_1_auto_fragmenter_in_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire  coupler_to_device_named_i2c_1_auto_fragmenter_in_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire [2:0] coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire [2:0] coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire [2:0] coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire  coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire [28:0] coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire [3:0] coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire [31:0] coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire  coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire  coupler_to_device_named_i2c_1_auto_fragmenter_in_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire  coupler_to_device_named_i2c_1_auto_fragmenter_in_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire [2:0] coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire [2:0] coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire  coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire [31:0] coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire  coupler_to_device_named_i2c_1_auto_control_xing_out_a_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire  coupler_to_device_named_i2c_1_auto_control_xing_out_a_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire [2:0] coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire [2:0] coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire [1:0] coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire [5:0] coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire [28:0] coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire [3:0] coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire [31:0] coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire  coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire  coupler_to_device_named_i2c_1_auto_control_xing_out_d_ready; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire  coupler_to_device_named_i2c_1_auto_control_xing_out_d_valid; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire [2:0] coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_opcode; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire [1:0] coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_size; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire [5:0] coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_source; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  wire [31:0] coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_data; // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
  TLXbar_3 in_xbar ( // @[PeripheryBus.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@78073.4]
    .clock(in_xbar_clock),
    .reset(in_xbar_reset),
    .auto_in_a_ready(in_xbar_auto_in_a_ready),
    .auto_in_a_valid(in_xbar_auto_in_a_valid),
    .auto_in_a_bits_opcode(in_xbar_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(in_xbar_auto_in_a_bits_param),
    .auto_in_a_bits_size(in_xbar_auto_in_a_bits_size),
    .auto_in_a_bits_source(in_xbar_auto_in_a_bits_source),
    .auto_in_a_bits_address(in_xbar_auto_in_a_bits_address),
    .auto_in_a_bits_mask(in_xbar_auto_in_a_bits_mask),
    .auto_in_a_bits_data(in_xbar_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(in_xbar_auto_in_a_bits_corrupt),
    .auto_in_d_ready(in_xbar_auto_in_d_ready),
    .auto_in_d_valid(in_xbar_auto_in_d_valid),
    .auto_in_d_bits_opcode(in_xbar_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(in_xbar_auto_in_d_bits_param),
    .auto_in_d_bits_size(in_xbar_auto_in_d_bits_size),
    .auto_in_d_bits_source(in_xbar_auto_in_d_bits_source),
    .auto_in_d_bits_sink(in_xbar_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(in_xbar_auto_in_d_bits_denied),
    .auto_in_d_bits_data(in_xbar_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(in_xbar_auto_in_d_bits_corrupt),
    .auto_out_a_ready(in_xbar_auto_out_a_ready),
    .auto_out_a_valid(in_xbar_auto_out_a_valid),
    .auto_out_a_bits_opcode(in_xbar_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(in_xbar_auto_out_a_bits_param),
    .auto_out_a_bits_size(in_xbar_auto_out_a_bits_size),
    .auto_out_a_bits_source(in_xbar_auto_out_a_bits_source),
    .auto_out_a_bits_address(in_xbar_auto_out_a_bits_address),
    .auto_out_a_bits_mask(in_xbar_auto_out_a_bits_mask),
    .auto_out_a_bits_data(in_xbar_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(in_xbar_auto_out_a_bits_corrupt),
    .auto_out_d_ready(in_xbar_auto_out_d_ready),
    .auto_out_d_valid(in_xbar_auto_out_d_valid),
    .auto_out_d_bits_opcode(in_xbar_auto_out_d_bits_opcode),
    .auto_out_d_bits_param(in_xbar_auto_out_d_bits_param),
    .auto_out_d_bits_size(in_xbar_auto_out_d_bits_size),
    .auto_out_d_bits_source(in_xbar_auto_out_d_bits_source),
    .auto_out_d_bits_sink(in_xbar_auto_out_d_bits_sink),
    .auto_out_d_bits_denied(in_xbar_auto_out_d_bits_denied),
    .auto_out_d_bits_data(in_xbar_auto_out_d_bits_data),
    .auto_out_d_bits_corrupt(in_xbar_auto_out_d_bits_corrupt)
  );
  TLXbar_4 out_xbar ( // @[PeripheryBus.scala 34:36:shc.marmotcaravel.MarmotCaravelConfig.fir@78079.4]
    .clock(out_xbar_clock),
    .reset(out_xbar_reset),
    .auto_in_a_ready(out_xbar_auto_in_a_ready),
    .auto_in_a_valid(out_xbar_auto_in_a_valid),
    .auto_in_a_bits_opcode(out_xbar_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(out_xbar_auto_in_a_bits_param),
    .auto_in_a_bits_size(out_xbar_auto_in_a_bits_size),
    .auto_in_a_bits_source(out_xbar_auto_in_a_bits_source),
    .auto_in_a_bits_address(out_xbar_auto_in_a_bits_address),
    .auto_in_a_bits_mask(out_xbar_auto_in_a_bits_mask),
    .auto_in_a_bits_data(out_xbar_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(out_xbar_auto_in_a_bits_corrupt),
    .auto_in_d_ready(out_xbar_auto_in_d_ready),
    .auto_in_d_valid(out_xbar_auto_in_d_valid),
    .auto_in_d_bits_opcode(out_xbar_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(out_xbar_auto_in_d_bits_param),
    .auto_in_d_bits_size(out_xbar_auto_in_d_bits_size),
    .auto_in_d_bits_source(out_xbar_auto_in_d_bits_source),
    .auto_in_d_bits_sink(out_xbar_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(out_xbar_auto_in_d_bits_denied),
    .auto_in_d_bits_data(out_xbar_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(out_xbar_auto_in_d_bits_corrupt),
    .auto_out_12_a_ready(out_xbar_auto_out_12_a_ready),
    .auto_out_12_a_valid(out_xbar_auto_out_12_a_valid),
    .auto_out_12_a_bits_opcode(out_xbar_auto_out_12_a_bits_opcode),
    .auto_out_12_a_bits_param(out_xbar_auto_out_12_a_bits_param),
    .auto_out_12_a_bits_size(out_xbar_auto_out_12_a_bits_size),
    .auto_out_12_a_bits_source(out_xbar_auto_out_12_a_bits_source),
    .auto_out_12_a_bits_address(out_xbar_auto_out_12_a_bits_address),
    .auto_out_12_a_bits_mask(out_xbar_auto_out_12_a_bits_mask),
    .auto_out_12_a_bits_data(out_xbar_auto_out_12_a_bits_data),
    .auto_out_12_a_bits_corrupt(out_xbar_auto_out_12_a_bits_corrupt),
    .auto_out_12_d_ready(out_xbar_auto_out_12_d_ready),
    .auto_out_12_d_valid(out_xbar_auto_out_12_d_valid),
    .auto_out_12_d_bits_opcode(out_xbar_auto_out_12_d_bits_opcode),
    .auto_out_12_d_bits_size(out_xbar_auto_out_12_d_bits_size),
    .auto_out_12_d_bits_source(out_xbar_auto_out_12_d_bits_source),
    .auto_out_12_d_bits_data(out_xbar_auto_out_12_d_bits_data),
    .auto_out_11_a_ready(out_xbar_auto_out_11_a_ready),
    .auto_out_11_a_valid(out_xbar_auto_out_11_a_valid),
    .auto_out_11_a_bits_opcode(out_xbar_auto_out_11_a_bits_opcode),
    .auto_out_11_a_bits_param(out_xbar_auto_out_11_a_bits_param),
    .auto_out_11_a_bits_size(out_xbar_auto_out_11_a_bits_size),
    .auto_out_11_a_bits_source(out_xbar_auto_out_11_a_bits_source),
    .auto_out_11_a_bits_address(out_xbar_auto_out_11_a_bits_address),
    .auto_out_11_a_bits_mask(out_xbar_auto_out_11_a_bits_mask),
    .auto_out_11_a_bits_data(out_xbar_auto_out_11_a_bits_data),
    .auto_out_11_a_bits_corrupt(out_xbar_auto_out_11_a_bits_corrupt),
    .auto_out_11_d_ready(out_xbar_auto_out_11_d_ready),
    .auto_out_11_d_valid(out_xbar_auto_out_11_d_valid),
    .auto_out_11_d_bits_opcode(out_xbar_auto_out_11_d_bits_opcode),
    .auto_out_11_d_bits_size(out_xbar_auto_out_11_d_bits_size),
    .auto_out_11_d_bits_source(out_xbar_auto_out_11_d_bits_source),
    .auto_out_11_d_bits_data(out_xbar_auto_out_11_d_bits_data),
    .auto_out_10_a_ready(out_xbar_auto_out_10_a_ready),
    .auto_out_10_a_valid(out_xbar_auto_out_10_a_valid),
    .auto_out_10_a_bits_opcode(out_xbar_auto_out_10_a_bits_opcode),
    .auto_out_10_a_bits_param(out_xbar_auto_out_10_a_bits_param),
    .auto_out_10_a_bits_size(out_xbar_auto_out_10_a_bits_size),
    .auto_out_10_a_bits_source(out_xbar_auto_out_10_a_bits_source),
    .auto_out_10_a_bits_address(out_xbar_auto_out_10_a_bits_address),
    .auto_out_10_a_bits_mask(out_xbar_auto_out_10_a_bits_mask),
    .auto_out_10_a_bits_data(out_xbar_auto_out_10_a_bits_data),
    .auto_out_10_a_bits_corrupt(out_xbar_auto_out_10_a_bits_corrupt),
    .auto_out_10_d_ready(out_xbar_auto_out_10_d_ready),
    .auto_out_10_d_valid(out_xbar_auto_out_10_d_valid),
    .auto_out_10_d_bits_opcode(out_xbar_auto_out_10_d_bits_opcode),
    .auto_out_10_d_bits_size(out_xbar_auto_out_10_d_bits_size),
    .auto_out_10_d_bits_source(out_xbar_auto_out_10_d_bits_source),
    .auto_out_10_d_bits_data(out_xbar_auto_out_10_d_bits_data),
    .auto_out_9_a_ready(out_xbar_auto_out_9_a_ready),
    .auto_out_9_a_valid(out_xbar_auto_out_9_a_valid),
    .auto_out_9_a_bits_opcode(out_xbar_auto_out_9_a_bits_opcode),
    .auto_out_9_a_bits_param(out_xbar_auto_out_9_a_bits_param),
    .auto_out_9_a_bits_size(out_xbar_auto_out_9_a_bits_size),
    .auto_out_9_a_bits_source(out_xbar_auto_out_9_a_bits_source),
    .auto_out_9_a_bits_address(out_xbar_auto_out_9_a_bits_address),
    .auto_out_9_a_bits_mask(out_xbar_auto_out_9_a_bits_mask),
    .auto_out_9_a_bits_data(out_xbar_auto_out_9_a_bits_data),
    .auto_out_9_a_bits_corrupt(out_xbar_auto_out_9_a_bits_corrupt),
    .auto_out_9_d_ready(out_xbar_auto_out_9_d_ready),
    .auto_out_9_d_valid(out_xbar_auto_out_9_d_valid),
    .auto_out_9_d_bits_opcode(out_xbar_auto_out_9_d_bits_opcode),
    .auto_out_9_d_bits_size(out_xbar_auto_out_9_d_bits_size),
    .auto_out_9_d_bits_source(out_xbar_auto_out_9_d_bits_source),
    .auto_out_9_d_bits_data(out_xbar_auto_out_9_d_bits_data),
    .auto_out_8_a_ready(out_xbar_auto_out_8_a_ready),
    .auto_out_8_a_valid(out_xbar_auto_out_8_a_valid),
    .auto_out_8_a_bits_opcode(out_xbar_auto_out_8_a_bits_opcode),
    .auto_out_8_a_bits_param(out_xbar_auto_out_8_a_bits_param),
    .auto_out_8_a_bits_size(out_xbar_auto_out_8_a_bits_size),
    .auto_out_8_a_bits_source(out_xbar_auto_out_8_a_bits_source),
    .auto_out_8_a_bits_address(out_xbar_auto_out_8_a_bits_address),
    .auto_out_8_a_bits_mask(out_xbar_auto_out_8_a_bits_mask),
    .auto_out_8_a_bits_data(out_xbar_auto_out_8_a_bits_data),
    .auto_out_8_a_bits_corrupt(out_xbar_auto_out_8_a_bits_corrupt),
    .auto_out_8_d_ready(out_xbar_auto_out_8_d_ready),
    .auto_out_8_d_valid(out_xbar_auto_out_8_d_valid),
    .auto_out_8_d_bits_opcode(out_xbar_auto_out_8_d_bits_opcode),
    .auto_out_8_d_bits_size(out_xbar_auto_out_8_d_bits_size),
    .auto_out_8_d_bits_source(out_xbar_auto_out_8_d_bits_source),
    .auto_out_8_d_bits_data(out_xbar_auto_out_8_d_bits_data),
    .auto_out_7_a_ready(out_xbar_auto_out_7_a_ready),
    .auto_out_7_a_valid(out_xbar_auto_out_7_a_valid),
    .auto_out_7_a_bits_opcode(out_xbar_auto_out_7_a_bits_opcode),
    .auto_out_7_a_bits_param(out_xbar_auto_out_7_a_bits_param),
    .auto_out_7_a_bits_size(out_xbar_auto_out_7_a_bits_size),
    .auto_out_7_a_bits_source(out_xbar_auto_out_7_a_bits_source),
    .auto_out_7_a_bits_address(out_xbar_auto_out_7_a_bits_address),
    .auto_out_7_a_bits_mask(out_xbar_auto_out_7_a_bits_mask),
    .auto_out_7_a_bits_corrupt(out_xbar_auto_out_7_a_bits_corrupt),
    .auto_out_7_d_ready(out_xbar_auto_out_7_d_ready),
    .auto_out_7_d_valid(out_xbar_auto_out_7_d_valid),
    .auto_out_7_d_bits_size(out_xbar_auto_out_7_d_bits_size),
    .auto_out_7_d_bits_source(out_xbar_auto_out_7_d_bits_source),
    .auto_out_7_d_bits_data(out_xbar_auto_out_7_d_bits_data),
    .auto_out_7_d_bits_corrupt(out_xbar_auto_out_7_d_bits_corrupt),
    .auto_out_6_a_ready(out_xbar_auto_out_6_a_ready),
    .auto_out_6_a_valid(out_xbar_auto_out_6_a_valid),
    .auto_out_6_a_bits_opcode(out_xbar_auto_out_6_a_bits_opcode),
    .auto_out_6_a_bits_param(out_xbar_auto_out_6_a_bits_param),
    .auto_out_6_a_bits_size(out_xbar_auto_out_6_a_bits_size),
    .auto_out_6_a_bits_source(out_xbar_auto_out_6_a_bits_source),
    .auto_out_6_a_bits_address(out_xbar_auto_out_6_a_bits_address),
    .auto_out_6_a_bits_mask(out_xbar_auto_out_6_a_bits_mask),
    .auto_out_6_a_bits_data(out_xbar_auto_out_6_a_bits_data),
    .auto_out_6_a_bits_corrupt(out_xbar_auto_out_6_a_bits_corrupt),
    .auto_out_6_d_ready(out_xbar_auto_out_6_d_ready),
    .auto_out_6_d_valid(out_xbar_auto_out_6_d_valid),
    .auto_out_6_d_bits_opcode(out_xbar_auto_out_6_d_bits_opcode),
    .auto_out_6_d_bits_size(out_xbar_auto_out_6_d_bits_size),
    .auto_out_6_d_bits_source(out_xbar_auto_out_6_d_bits_source),
    .auto_out_6_d_bits_data(out_xbar_auto_out_6_d_bits_data),
    .auto_out_5_a_ready(out_xbar_auto_out_5_a_ready),
    .auto_out_5_a_valid(out_xbar_auto_out_5_a_valid),
    .auto_out_5_a_bits_opcode(out_xbar_auto_out_5_a_bits_opcode),
    .auto_out_5_a_bits_param(out_xbar_auto_out_5_a_bits_param),
    .auto_out_5_a_bits_size(out_xbar_auto_out_5_a_bits_size),
    .auto_out_5_a_bits_source(out_xbar_auto_out_5_a_bits_source),
    .auto_out_5_a_bits_address(out_xbar_auto_out_5_a_bits_address),
    .auto_out_5_a_bits_mask(out_xbar_auto_out_5_a_bits_mask),
    .auto_out_5_a_bits_data(out_xbar_auto_out_5_a_bits_data),
    .auto_out_5_a_bits_corrupt(out_xbar_auto_out_5_a_bits_corrupt),
    .auto_out_5_d_ready(out_xbar_auto_out_5_d_ready),
    .auto_out_5_d_valid(out_xbar_auto_out_5_d_valid),
    .auto_out_5_d_bits_opcode(out_xbar_auto_out_5_d_bits_opcode),
    .auto_out_5_d_bits_size(out_xbar_auto_out_5_d_bits_size),
    .auto_out_5_d_bits_source(out_xbar_auto_out_5_d_bits_source),
    .auto_out_5_d_bits_data(out_xbar_auto_out_5_d_bits_data),
    .auto_out_4_a_ready(out_xbar_auto_out_4_a_ready),
    .auto_out_4_a_valid(out_xbar_auto_out_4_a_valid),
    .auto_out_4_a_bits_opcode(out_xbar_auto_out_4_a_bits_opcode),
    .auto_out_4_a_bits_param(out_xbar_auto_out_4_a_bits_param),
    .auto_out_4_a_bits_size(out_xbar_auto_out_4_a_bits_size),
    .auto_out_4_a_bits_source(out_xbar_auto_out_4_a_bits_source),
    .auto_out_4_a_bits_address(out_xbar_auto_out_4_a_bits_address),
    .auto_out_4_a_bits_mask(out_xbar_auto_out_4_a_bits_mask),
    .auto_out_4_a_bits_data(out_xbar_auto_out_4_a_bits_data),
    .auto_out_4_a_bits_corrupt(out_xbar_auto_out_4_a_bits_corrupt),
    .auto_out_4_d_ready(out_xbar_auto_out_4_d_ready),
    .auto_out_4_d_valid(out_xbar_auto_out_4_d_valid),
    .auto_out_4_d_bits_opcode(out_xbar_auto_out_4_d_bits_opcode),
    .auto_out_4_d_bits_size(out_xbar_auto_out_4_d_bits_size),
    .auto_out_4_d_bits_source(out_xbar_auto_out_4_d_bits_source),
    .auto_out_4_d_bits_data(out_xbar_auto_out_4_d_bits_data),
    .auto_out_3_a_ready(out_xbar_auto_out_3_a_ready),
    .auto_out_3_a_valid(out_xbar_auto_out_3_a_valid),
    .auto_out_3_a_bits_opcode(out_xbar_auto_out_3_a_bits_opcode),
    .auto_out_3_a_bits_param(out_xbar_auto_out_3_a_bits_param),
    .auto_out_3_a_bits_size(out_xbar_auto_out_3_a_bits_size),
    .auto_out_3_a_bits_source(out_xbar_auto_out_3_a_bits_source),
    .auto_out_3_a_bits_address(out_xbar_auto_out_3_a_bits_address),
    .auto_out_3_a_bits_mask(out_xbar_auto_out_3_a_bits_mask),
    .auto_out_3_a_bits_data(out_xbar_auto_out_3_a_bits_data),
    .auto_out_3_a_bits_corrupt(out_xbar_auto_out_3_a_bits_corrupt),
    .auto_out_3_d_ready(out_xbar_auto_out_3_d_ready),
    .auto_out_3_d_valid(out_xbar_auto_out_3_d_valid),
    .auto_out_3_d_bits_opcode(out_xbar_auto_out_3_d_bits_opcode),
    .auto_out_3_d_bits_size(out_xbar_auto_out_3_d_bits_size),
    .auto_out_3_d_bits_source(out_xbar_auto_out_3_d_bits_source),
    .auto_out_3_d_bits_data(out_xbar_auto_out_3_d_bits_data),
    .auto_out_2_a_ready(out_xbar_auto_out_2_a_ready),
    .auto_out_2_a_valid(out_xbar_auto_out_2_a_valid),
    .auto_out_2_a_bits_opcode(out_xbar_auto_out_2_a_bits_opcode),
    .auto_out_2_a_bits_param(out_xbar_auto_out_2_a_bits_param),
    .auto_out_2_a_bits_size(out_xbar_auto_out_2_a_bits_size),
    .auto_out_2_a_bits_source(out_xbar_auto_out_2_a_bits_source),
    .auto_out_2_a_bits_address(out_xbar_auto_out_2_a_bits_address),
    .auto_out_2_a_bits_mask(out_xbar_auto_out_2_a_bits_mask),
    .auto_out_2_a_bits_data(out_xbar_auto_out_2_a_bits_data),
    .auto_out_2_a_bits_corrupt(out_xbar_auto_out_2_a_bits_corrupt),
    .auto_out_2_d_ready(out_xbar_auto_out_2_d_ready),
    .auto_out_2_d_valid(out_xbar_auto_out_2_d_valid),
    .auto_out_2_d_bits_opcode(out_xbar_auto_out_2_d_bits_opcode),
    .auto_out_2_d_bits_size(out_xbar_auto_out_2_d_bits_size),
    .auto_out_2_d_bits_source(out_xbar_auto_out_2_d_bits_source),
    .auto_out_2_d_bits_data(out_xbar_auto_out_2_d_bits_data),
    .auto_out_1_a_ready(out_xbar_auto_out_1_a_ready),
    .auto_out_1_a_valid(out_xbar_auto_out_1_a_valid),
    .auto_out_1_a_bits_opcode(out_xbar_auto_out_1_a_bits_opcode),
    .auto_out_1_a_bits_param(out_xbar_auto_out_1_a_bits_param),
    .auto_out_1_a_bits_size(out_xbar_auto_out_1_a_bits_size),
    .auto_out_1_a_bits_source(out_xbar_auto_out_1_a_bits_source),
    .auto_out_1_a_bits_address(out_xbar_auto_out_1_a_bits_address),
    .auto_out_1_a_bits_mask(out_xbar_auto_out_1_a_bits_mask),
    .auto_out_1_a_bits_data(out_xbar_auto_out_1_a_bits_data),
    .auto_out_1_a_bits_corrupt(out_xbar_auto_out_1_a_bits_corrupt),
    .auto_out_1_d_ready(out_xbar_auto_out_1_d_ready),
    .auto_out_1_d_valid(out_xbar_auto_out_1_d_valid),
    .auto_out_1_d_bits_opcode(out_xbar_auto_out_1_d_bits_opcode),
    .auto_out_1_d_bits_size(out_xbar_auto_out_1_d_bits_size),
    .auto_out_1_d_bits_source(out_xbar_auto_out_1_d_bits_source),
    .auto_out_1_d_bits_data(out_xbar_auto_out_1_d_bits_data),
    .auto_out_0_a_ready(out_xbar_auto_out_0_a_ready),
    .auto_out_0_a_valid(out_xbar_auto_out_0_a_valid),
    .auto_out_0_a_bits_opcode(out_xbar_auto_out_0_a_bits_opcode),
    .auto_out_0_a_bits_param(out_xbar_auto_out_0_a_bits_param),
    .auto_out_0_a_bits_size(out_xbar_auto_out_0_a_bits_size),
    .auto_out_0_a_bits_source(out_xbar_auto_out_0_a_bits_source),
    .auto_out_0_a_bits_address(out_xbar_auto_out_0_a_bits_address),
    .auto_out_0_a_bits_mask(out_xbar_auto_out_0_a_bits_mask),
    .auto_out_0_a_bits_corrupt(out_xbar_auto_out_0_a_bits_corrupt),
    .auto_out_0_d_ready(out_xbar_auto_out_0_d_ready),
    .auto_out_0_d_valid(out_xbar_auto_out_0_d_valid),
    .auto_out_0_d_bits_opcode(out_xbar_auto_out_0_d_bits_opcode),
    .auto_out_0_d_bits_size(out_xbar_auto_out_0_d_bits_size),
    .auto_out_0_d_bits_source(out_xbar_auto_out_0_d_bits_source),
    .auto_out_0_d_bits_corrupt(out_xbar_auto_out_0_d_bits_corrupt)
  );
  TLBuffer_10 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78085.4]
    .clock(buffer_clock),
    .reset(buffer_reset),
    .auto_in_a_ready(buffer_auto_in_a_ready),
    .auto_in_a_valid(buffer_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_auto_in_d_ready),
    .auto_in_d_valid(buffer_auto_in_d_valid),
    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(buffer_auto_in_d_bits_param),
    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
    .auto_in_d_bits_sink(buffer_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(buffer_auto_in_d_bits_denied),
    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(buffer_auto_in_d_bits_corrupt),
    .auto_out_a_ready(buffer_auto_out_a_ready),
    .auto_out_a_valid(buffer_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_auto_out_d_ready),
    .auto_out_d_valid(buffer_auto_out_d_valid),
    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
    .auto_out_d_bits_param(buffer_auto_out_d_bits_param),
    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
    .auto_out_d_bits_sink(buffer_auto_out_d_bits_sink),
    .auto_out_d_bits_denied(buffer_auto_out_d_bits_denied),
    .auto_out_d_bits_data(buffer_auto_out_d_bits_data),
    .auto_out_d_bits_corrupt(buffer_auto_out_d_bits_corrupt)
  );
  TLAtomicAutomata_1 atomics ( // @[AtomicAutomata.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78091.4]
    .clock(atomics_clock),
    .reset(atomics_reset),
    .auto_in_a_ready(atomics_auto_in_a_ready),
    .auto_in_a_valid(atomics_auto_in_a_valid),
    .auto_in_a_bits_opcode(atomics_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(atomics_auto_in_a_bits_param),
    .auto_in_a_bits_size(atomics_auto_in_a_bits_size),
    .auto_in_a_bits_source(atomics_auto_in_a_bits_source),
    .auto_in_a_bits_address(atomics_auto_in_a_bits_address),
    .auto_in_a_bits_mask(atomics_auto_in_a_bits_mask),
    .auto_in_a_bits_data(atomics_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(atomics_auto_in_a_bits_corrupt),
    .auto_in_d_ready(atomics_auto_in_d_ready),
    .auto_in_d_valid(atomics_auto_in_d_valid),
    .auto_in_d_bits_opcode(atomics_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(atomics_auto_in_d_bits_param),
    .auto_in_d_bits_size(atomics_auto_in_d_bits_size),
    .auto_in_d_bits_source(atomics_auto_in_d_bits_source),
    .auto_in_d_bits_sink(atomics_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(atomics_auto_in_d_bits_denied),
    .auto_in_d_bits_data(atomics_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(atomics_auto_in_d_bits_corrupt),
    .auto_out_a_ready(atomics_auto_out_a_ready),
    .auto_out_a_valid(atomics_auto_out_a_valid),
    .auto_out_a_bits_opcode(atomics_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(atomics_auto_out_a_bits_param),
    .auto_out_a_bits_size(atomics_auto_out_a_bits_size),
    .auto_out_a_bits_source(atomics_auto_out_a_bits_source),
    .auto_out_a_bits_address(atomics_auto_out_a_bits_address),
    .auto_out_a_bits_mask(atomics_auto_out_a_bits_mask),
    .auto_out_a_bits_data(atomics_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(atomics_auto_out_a_bits_corrupt),
    .auto_out_d_ready(atomics_auto_out_d_ready),
    .auto_out_d_valid(atomics_auto_out_d_valid),
    .auto_out_d_bits_opcode(atomics_auto_out_d_bits_opcode),
    .auto_out_d_bits_param(atomics_auto_out_d_bits_param),
    .auto_out_d_bits_size(atomics_auto_out_d_bits_size),
    .auto_out_d_bits_source(atomics_auto_out_d_bits_source),
    .auto_out_d_bits_sink(atomics_auto_out_d_bits_sink),
    .auto_out_d_bits_denied(atomics_auto_out_d_bits_denied),
    .auto_out_d_bits_data(atomics_auto_out_d_bits_data),
    .auto_out_d_bits_corrupt(atomics_auto_out_d_bits_corrupt)
  );
  SimpleLazyModule_11 wrapped_error_device ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78097.4]
    .clock(wrapped_error_device_clock),
    .reset(wrapped_error_device_reset),
    .auto_error_in_a_ready(wrapped_error_device_auto_error_in_a_ready),
    .auto_error_in_a_valid(wrapped_error_device_auto_error_in_a_valid),
    .auto_error_in_a_bits_opcode(wrapped_error_device_auto_error_in_a_bits_opcode),
    .auto_error_in_a_bits_param(wrapped_error_device_auto_error_in_a_bits_param),
    .auto_error_in_a_bits_size(wrapped_error_device_auto_error_in_a_bits_size),
    .auto_error_in_a_bits_source(wrapped_error_device_auto_error_in_a_bits_source),
    .auto_error_in_a_bits_address(wrapped_error_device_auto_error_in_a_bits_address),
    .auto_error_in_a_bits_mask(wrapped_error_device_auto_error_in_a_bits_mask),
    .auto_error_in_a_bits_corrupt(wrapped_error_device_auto_error_in_a_bits_corrupt),
    .auto_error_in_d_ready(wrapped_error_device_auto_error_in_d_ready),
    .auto_error_in_d_valid(wrapped_error_device_auto_error_in_d_valid),
    .auto_error_in_d_bits_opcode(wrapped_error_device_auto_error_in_d_bits_opcode),
    .auto_error_in_d_bits_size(wrapped_error_device_auto_error_in_d_bits_size),
    .auto_error_in_d_bits_source(wrapped_error_device_auto_error_in_d_bits_source),
    .auto_error_in_d_bits_corrupt(wrapped_error_device_auto_error_in_d_bits_corrupt)
  );
  TLBuffer_11 buffer_1 ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78109.4]
    .clock(buffer_1_clock),
    .reset(buffer_1_reset),
    .auto_in_a_ready(buffer_1_auto_in_a_ready),
    .auto_in_a_valid(buffer_1_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_1_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_1_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_1_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_1_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_1_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_1_auto_in_a_bits_mask),
    .auto_in_a_bits_data(buffer_1_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(buffer_1_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_1_auto_in_d_ready),
    .auto_in_d_valid(buffer_1_auto_in_d_valid),
    .auto_in_d_bits_opcode(buffer_1_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(buffer_1_auto_in_d_bits_param),
    .auto_in_d_bits_size(buffer_1_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_1_auto_in_d_bits_source),
    .auto_in_d_bits_sink(buffer_1_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(buffer_1_auto_in_d_bits_denied),
    .auto_in_d_bits_data(buffer_1_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(buffer_1_auto_in_d_bits_corrupt),
    .auto_out_a_ready(buffer_1_auto_out_a_ready),
    .auto_out_a_valid(buffer_1_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_1_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_1_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_1_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_1_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_1_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_1_auto_out_a_bits_mask),
    .auto_out_a_bits_data(buffer_1_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(buffer_1_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_1_auto_out_d_ready),
    .auto_out_d_valid(buffer_1_auto_out_d_valid),
    .auto_out_d_bits_opcode(buffer_1_auto_out_d_bits_opcode),
    .auto_out_d_bits_param(buffer_1_auto_out_d_bits_param),
    .auto_out_d_bits_size(buffer_1_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_1_auto_out_d_bits_source),
    .auto_out_d_bits_sink(buffer_1_auto_out_d_bits_sink),
    .auto_out_d_bits_denied(buffer_1_auto_out_d_bits_denied),
    .auto_out_d_bits_data(buffer_1_auto_out_d_bits_data),
    .auto_out_d_bits_corrupt(buffer_1_auto_out_d_bits_corrupt)
  );
  SimpleLazyModule_13 coupler_to_slave_named_uart_0 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78115.4]
    .clock(coupler_to_slave_named_uart_0_clock),
    .reset(coupler_to_slave_named_uart_0_reset),
    .auto_fragmenter_in_a_ready(coupler_to_slave_named_uart_0_auto_fragmenter_in_a_ready),
    .auto_fragmenter_in_a_valid(coupler_to_slave_named_uart_0_auto_fragmenter_in_a_valid),
    .auto_fragmenter_in_a_bits_opcode(coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_opcode),
    .auto_fragmenter_in_a_bits_param(coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_param),
    .auto_fragmenter_in_a_bits_size(coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_size),
    .auto_fragmenter_in_a_bits_source(coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_source),
    .auto_fragmenter_in_a_bits_address(coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_address),
    .auto_fragmenter_in_a_bits_mask(coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_mask),
    .auto_fragmenter_in_a_bits_data(coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_data),
    .auto_fragmenter_in_a_bits_corrupt(coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_corrupt),
    .auto_fragmenter_in_d_ready(coupler_to_slave_named_uart_0_auto_fragmenter_in_d_ready),
    .auto_fragmenter_in_d_valid(coupler_to_slave_named_uart_0_auto_fragmenter_in_d_valid),
    .auto_fragmenter_in_d_bits_opcode(coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_opcode),
    .auto_fragmenter_in_d_bits_size(coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_size),
    .auto_fragmenter_in_d_bits_source(coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_source),
    .auto_fragmenter_in_d_bits_data(coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_data),
    .auto_control_xing_out_a_ready(coupler_to_slave_named_uart_0_auto_control_xing_out_a_ready),
    .auto_control_xing_out_a_valid(coupler_to_slave_named_uart_0_auto_control_xing_out_a_valid),
    .auto_control_xing_out_a_bits_opcode(coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_opcode),
    .auto_control_xing_out_a_bits_param(coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_param),
    .auto_control_xing_out_a_bits_size(coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_size),
    .auto_control_xing_out_a_bits_source(coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_source),
    .auto_control_xing_out_a_bits_address(coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_address),
    .auto_control_xing_out_a_bits_mask(coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_mask),
    .auto_control_xing_out_a_bits_data(coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_data),
    .auto_control_xing_out_a_bits_corrupt(coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_corrupt),
    .auto_control_xing_out_d_ready(coupler_to_slave_named_uart_0_auto_control_xing_out_d_ready),
    .auto_control_xing_out_d_valid(coupler_to_slave_named_uart_0_auto_control_xing_out_d_valid),
    .auto_control_xing_out_d_bits_opcode(coupler_to_slave_named_uart_0_auto_control_xing_out_d_bits_opcode),
    .auto_control_xing_out_d_bits_size(coupler_to_slave_named_uart_0_auto_control_xing_out_d_bits_size),
    .auto_control_xing_out_d_bits_source(coupler_to_slave_named_uart_0_auto_control_xing_out_d_bits_source),
    .auto_control_xing_out_d_bits_data(coupler_to_slave_named_uart_0_auto_control_xing_out_d_bits_data)
  );
  SimpleLazyModule_14 coupler_to_slave_named_uart_1 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78121.4]
    .clock(coupler_to_slave_named_uart_1_clock),
    .reset(coupler_to_slave_named_uart_1_reset),
    .auto_fragmenter_in_a_ready(coupler_to_slave_named_uart_1_auto_fragmenter_in_a_ready),
    .auto_fragmenter_in_a_valid(coupler_to_slave_named_uart_1_auto_fragmenter_in_a_valid),
    .auto_fragmenter_in_a_bits_opcode(coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_opcode),
    .auto_fragmenter_in_a_bits_param(coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_param),
    .auto_fragmenter_in_a_bits_size(coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_size),
    .auto_fragmenter_in_a_bits_source(coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_source),
    .auto_fragmenter_in_a_bits_address(coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_address),
    .auto_fragmenter_in_a_bits_mask(coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_mask),
    .auto_fragmenter_in_a_bits_data(coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_data),
    .auto_fragmenter_in_a_bits_corrupt(coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_corrupt),
    .auto_fragmenter_in_d_ready(coupler_to_slave_named_uart_1_auto_fragmenter_in_d_ready),
    .auto_fragmenter_in_d_valid(coupler_to_slave_named_uart_1_auto_fragmenter_in_d_valid),
    .auto_fragmenter_in_d_bits_opcode(coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_opcode),
    .auto_fragmenter_in_d_bits_size(coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_size),
    .auto_fragmenter_in_d_bits_source(coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_source),
    .auto_fragmenter_in_d_bits_data(coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_data),
    .auto_control_xing_out_a_ready(coupler_to_slave_named_uart_1_auto_control_xing_out_a_ready),
    .auto_control_xing_out_a_valid(coupler_to_slave_named_uart_1_auto_control_xing_out_a_valid),
    .auto_control_xing_out_a_bits_opcode(coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_opcode),
    .auto_control_xing_out_a_bits_param(coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_param),
    .auto_control_xing_out_a_bits_size(coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_size),
    .auto_control_xing_out_a_bits_source(coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_source),
    .auto_control_xing_out_a_bits_address(coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_address),
    .auto_control_xing_out_a_bits_mask(coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_mask),
    .auto_control_xing_out_a_bits_data(coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_data),
    .auto_control_xing_out_a_bits_corrupt(coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_corrupt),
    .auto_control_xing_out_d_ready(coupler_to_slave_named_uart_1_auto_control_xing_out_d_ready),
    .auto_control_xing_out_d_valid(coupler_to_slave_named_uart_1_auto_control_xing_out_d_valid),
    .auto_control_xing_out_d_bits_opcode(coupler_to_slave_named_uart_1_auto_control_xing_out_d_bits_opcode),
    .auto_control_xing_out_d_bits_size(coupler_to_slave_named_uart_1_auto_control_xing_out_d_bits_size),
    .auto_control_xing_out_d_bits_source(coupler_to_slave_named_uart_1_auto_control_xing_out_d_bits_source),
    .auto_control_xing_out_d_bits_data(coupler_to_slave_named_uart_1_auto_control_xing_out_d_bits_data)
  );
  SimpleLazyModule_15 coupler_to_slave_named_uart_2 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78127.4]
    .clock(coupler_to_slave_named_uart_2_clock),
    .reset(coupler_to_slave_named_uart_2_reset),
    .auto_fragmenter_in_a_ready(coupler_to_slave_named_uart_2_auto_fragmenter_in_a_ready),
    .auto_fragmenter_in_a_valid(coupler_to_slave_named_uart_2_auto_fragmenter_in_a_valid),
    .auto_fragmenter_in_a_bits_opcode(coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_opcode),
    .auto_fragmenter_in_a_bits_param(coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_param),
    .auto_fragmenter_in_a_bits_size(coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_size),
    .auto_fragmenter_in_a_bits_source(coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_source),
    .auto_fragmenter_in_a_bits_address(coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_address),
    .auto_fragmenter_in_a_bits_mask(coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_mask),
    .auto_fragmenter_in_a_bits_data(coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_data),
    .auto_fragmenter_in_a_bits_corrupt(coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_corrupt),
    .auto_fragmenter_in_d_ready(coupler_to_slave_named_uart_2_auto_fragmenter_in_d_ready),
    .auto_fragmenter_in_d_valid(coupler_to_slave_named_uart_2_auto_fragmenter_in_d_valid),
    .auto_fragmenter_in_d_bits_opcode(coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_opcode),
    .auto_fragmenter_in_d_bits_size(coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_size),
    .auto_fragmenter_in_d_bits_source(coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_source),
    .auto_fragmenter_in_d_bits_data(coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_data),
    .auto_control_xing_out_a_ready(coupler_to_slave_named_uart_2_auto_control_xing_out_a_ready),
    .auto_control_xing_out_a_valid(coupler_to_slave_named_uart_2_auto_control_xing_out_a_valid),
    .auto_control_xing_out_a_bits_opcode(coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_opcode),
    .auto_control_xing_out_a_bits_param(coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_param),
    .auto_control_xing_out_a_bits_size(coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_size),
    .auto_control_xing_out_a_bits_source(coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_source),
    .auto_control_xing_out_a_bits_address(coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_address),
    .auto_control_xing_out_a_bits_mask(coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_mask),
    .auto_control_xing_out_a_bits_data(coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_data),
    .auto_control_xing_out_a_bits_corrupt(coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_corrupt),
    .auto_control_xing_out_d_ready(coupler_to_slave_named_uart_2_auto_control_xing_out_d_ready),
    .auto_control_xing_out_d_valid(coupler_to_slave_named_uart_2_auto_control_xing_out_d_valid),
    .auto_control_xing_out_d_bits_opcode(coupler_to_slave_named_uart_2_auto_control_xing_out_d_bits_opcode),
    .auto_control_xing_out_d_bits_size(coupler_to_slave_named_uart_2_auto_control_xing_out_d_bits_size),
    .auto_control_xing_out_d_bits_source(coupler_to_slave_named_uart_2_auto_control_xing_out_d_bits_source),
    .auto_control_xing_out_d_bits_data(coupler_to_slave_named_uart_2_auto_control_xing_out_d_bits_data)
  );
  SimpleLazyModule_16 coupler_to_slave_named_uart_3 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78133.4]
    .clock(coupler_to_slave_named_uart_3_clock),
    .reset(coupler_to_slave_named_uart_3_reset),
    .auto_fragmenter_in_a_ready(coupler_to_slave_named_uart_3_auto_fragmenter_in_a_ready),
    .auto_fragmenter_in_a_valid(coupler_to_slave_named_uart_3_auto_fragmenter_in_a_valid),
    .auto_fragmenter_in_a_bits_opcode(coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_opcode),
    .auto_fragmenter_in_a_bits_param(coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_param),
    .auto_fragmenter_in_a_bits_size(coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_size),
    .auto_fragmenter_in_a_bits_source(coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_source),
    .auto_fragmenter_in_a_bits_address(coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_address),
    .auto_fragmenter_in_a_bits_mask(coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_mask),
    .auto_fragmenter_in_a_bits_data(coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_data),
    .auto_fragmenter_in_a_bits_corrupt(coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_corrupt),
    .auto_fragmenter_in_d_ready(coupler_to_slave_named_uart_3_auto_fragmenter_in_d_ready),
    .auto_fragmenter_in_d_valid(coupler_to_slave_named_uart_3_auto_fragmenter_in_d_valid),
    .auto_fragmenter_in_d_bits_opcode(coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_opcode),
    .auto_fragmenter_in_d_bits_size(coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_size),
    .auto_fragmenter_in_d_bits_source(coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_source),
    .auto_fragmenter_in_d_bits_data(coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_data),
    .auto_control_xing_out_a_ready(coupler_to_slave_named_uart_3_auto_control_xing_out_a_ready),
    .auto_control_xing_out_a_valid(coupler_to_slave_named_uart_3_auto_control_xing_out_a_valid),
    .auto_control_xing_out_a_bits_opcode(coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_opcode),
    .auto_control_xing_out_a_bits_param(coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_param),
    .auto_control_xing_out_a_bits_size(coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_size),
    .auto_control_xing_out_a_bits_source(coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_source),
    .auto_control_xing_out_a_bits_address(coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_address),
    .auto_control_xing_out_a_bits_mask(coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_mask),
    .auto_control_xing_out_a_bits_data(coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_data),
    .auto_control_xing_out_a_bits_corrupt(coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_corrupt),
    .auto_control_xing_out_d_ready(coupler_to_slave_named_uart_3_auto_control_xing_out_d_ready),
    .auto_control_xing_out_d_valid(coupler_to_slave_named_uart_3_auto_control_xing_out_d_valid),
    .auto_control_xing_out_d_bits_opcode(coupler_to_slave_named_uart_3_auto_control_xing_out_d_bits_opcode),
    .auto_control_xing_out_d_bits_size(coupler_to_slave_named_uart_3_auto_control_xing_out_d_bits_size),
    .auto_control_xing_out_d_bits_source(coupler_to_slave_named_uart_3_auto_control_xing_out_d_bits_source),
    .auto_control_xing_out_d_bits_data(coupler_to_slave_named_uart_3_auto_control_xing_out_d_bits_data)
  );
  SimpleLazyModule_17 coupler_to_slave_named_uart_4 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78139.4]
    .clock(coupler_to_slave_named_uart_4_clock),
    .reset(coupler_to_slave_named_uart_4_reset),
    .auto_fragmenter_in_a_ready(coupler_to_slave_named_uart_4_auto_fragmenter_in_a_ready),
    .auto_fragmenter_in_a_valid(coupler_to_slave_named_uart_4_auto_fragmenter_in_a_valid),
    .auto_fragmenter_in_a_bits_opcode(coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_opcode),
    .auto_fragmenter_in_a_bits_param(coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_param),
    .auto_fragmenter_in_a_bits_size(coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_size),
    .auto_fragmenter_in_a_bits_source(coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_source),
    .auto_fragmenter_in_a_bits_address(coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_address),
    .auto_fragmenter_in_a_bits_mask(coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_mask),
    .auto_fragmenter_in_a_bits_data(coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_data),
    .auto_fragmenter_in_a_bits_corrupt(coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_corrupt),
    .auto_fragmenter_in_d_ready(coupler_to_slave_named_uart_4_auto_fragmenter_in_d_ready),
    .auto_fragmenter_in_d_valid(coupler_to_slave_named_uart_4_auto_fragmenter_in_d_valid),
    .auto_fragmenter_in_d_bits_opcode(coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_opcode),
    .auto_fragmenter_in_d_bits_size(coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_size),
    .auto_fragmenter_in_d_bits_source(coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_source),
    .auto_fragmenter_in_d_bits_data(coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_data),
    .auto_control_xing_out_a_ready(coupler_to_slave_named_uart_4_auto_control_xing_out_a_ready),
    .auto_control_xing_out_a_valid(coupler_to_slave_named_uart_4_auto_control_xing_out_a_valid),
    .auto_control_xing_out_a_bits_opcode(coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_opcode),
    .auto_control_xing_out_a_bits_param(coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_param),
    .auto_control_xing_out_a_bits_size(coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_size),
    .auto_control_xing_out_a_bits_source(coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_source),
    .auto_control_xing_out_a_bits_address(coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_address),
    .auto_control_xing_out_a_bits_mask(coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_mask),
    .auto_control_xing_out_a_bits_data(coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_data),
    .auto_control_xing_out_a_bits_corrupt(coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_corrupt),
    .auto_control_xing_out_d_ready(coupler_to_slave_named_uart_4_auto_control_xing_out_d_ready),
    .auto_control_xing_out_d_valid(coupler_to_slave_named_uart_4_auto_control_xing_out_d_valid),
    .auto_control_xing_out_d_bits_opcode(coupler_to_slave_named_uart_4_auto_control_xing_out_d_bits_opcode),
    .auto_control_xing_out_d_bits_size(coupler_to_slave_named_uart_4_auto_control_xing_out_d_bits_size),
    .auto_control_xing_out_d_bits_source(coupler_to_slave_named_uart_4_auto_control_xing_out_d_bits_source),
    .auto_control_xing_out_d_bits_data(coupler_to_slave_named_uart_4_auto_control_xing_out_d_bits_data)
  );
  SimpleLazyModule_18 coupler_to_device_named_qspi_0 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78145.4]
    .clock(coupler_to_device_named_qspi_0_clock),
    .reset(coupler_to_device_named_qspi_0_reset),
    .auto_fragmenter_in_a_ready(coupler_to_device_named_qspi_0_auto_fragmenter_in_a_ready),
    .auto_fragmenter_in_a_valid(coupler_to_device_named_qspi_0_auto_fragmenter_in_a_valid),
    .auto_fragmenter_in_a_bits_opcode(coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_opcode),
    .auto_fragmenter_in_a_bits_param(coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_param),
    .auto_fragmenter_in_a_bits_size(coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_size),
    .auto_fragmenter_in_a_bits_source(coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_source),
    .auto_fragmenter_in_a_bits_address(coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_address),
    .auto_fragmenter_in_a_bits_mask(coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_mask),
    .auto_fragmenter_in_a_bits_data(coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_data),
    .auto_fragmenter_in_a_bits_corrupt(coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_corrupt),
    .auto_fragmenter_in_d_ready(coupler_to_device_named_qspi_0_auto_fragmenter_in_d_ready),
    .auto_fragmenter_in_d_valid(coupler_to_device_named_qspi_0_auto_fragmenter_in_d_valid),
    .auto_fragmenter_in_d_bits_opcode(coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_opcode),
    .auto_fragmenter_in_d_bits_size(coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_size),
    .auto_fragmenter_in_d_bits_source(coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_source),
    .auto_fragmenter_in_d_bits_data(coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_data),
    .auto_control_xing_out_a_ready(coupler_to_device_named_qspi_0_auto_control_xing_out_a_ready),
    .auto_control_xing_out_a_valid(coupler_to_device_named_qspi_0_auto_control_xing_out_a_valid),
    .auto_control_xing_out_a_bits_opcode(coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_opcode),
    .auto_control_xing_out_a_bits_param(coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_param),
    .auto_control_xing_out_a_bits_size(coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_size),
    .auto_control_xing_out_a_bits_source(coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_source),
    .auto_control_xing_out_a_bits_address(coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_address),
    .auto_control_xing_out_a_bits_mask(coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_mask),
    .auto_control_xing_out_a_bits_data(coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_data),
    .auto_control_xing_out_a_bits_corrupt(coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_corrupt),
    .auto_control_xing_out_d_ready(coupler_to_device_named_qspi_0_auto_control_xing_out_d_ready),
    .auto_control_xing_out_d_valid(coupler_to_device_named_qspi_0_auto_control_xing_out_d_valid),
    .auto_control_xing_out_d_bits_opcode(coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_opcode),
    .auto_control_xing_out_d_bits_size(coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_size),
    .auto_control_xing_out_d_bits_source(coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_source),
    .auto_control_xing_out_d_bits_data(coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_data)
  );
  SimpleLazyModule_19 coupler_to_mem_named_qspi_0 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78151.4]
    .clock(coupler_to_mem_named_qspi_0_clock),
    .reset(coupler_to_mem_named_qspi_0_reset),
    .auto_widget_in_a_ready(coupler_to_mem_named_qspi_0_auto_widget_in_a_ready),
    .auto_widget_in_a_valid(coupler_to_mem_named_qspi_0_auto_widget_in_a_valid),
    .auto_widget_in_a_bits_opcode(coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_opcode),
    .auto_widget_in_a_bits_param(coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_param),
    .auto_widget_in_a_bits_size(coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_size),
    .auto_widget_in_a_bits_source(coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_source),
    .auto_widget_in_a_bits_address(coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_address),
    .auto_widget_in_a_bits_mask(coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_mask),
    .auto_widget_in_a_bits_corrupt(coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_corrupt),
    .auto_widget_in_d_ready(coupler_to_mem_named_qspi_0_auto_widget_in_d_ready),
    .auto_widget_in_d_valid(coupler_to_mem_named_qspi_0_auto_widget_in_d_valid),
    .auto_widget_in_d_bits_size(coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_size),
    .auto_widget_in_d_bits_source(coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_source),
    .auto_widget_in_d_bits_data(coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_data),
    .auto_widget_in_d_bits_corrupt(coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_corrupt),
    .auto_mem_xing_out_a_ready(coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_ready),
    .auto_mem_xing_out_a_valid(coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_valid),
    .auto_mem_xing_out_a_bits_opcode(coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_opcode),
    .auto_mem_xing_out_a_bits_param(coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_param),
    .auto_mem_xing_out_a_bits_size(coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_size),
    .auto_mem_xing_out_a_bits_source(coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_source),
    .auto_mem_xing_out_a_bits_address(coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_address),
    .auto_mem_xing_out_a_bits_mask(coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_mask),
    .auto_mem_xing_out_a_bits_corrupt(coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_corrupt),
    .auto_mem_xing_out_d_ready(coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_ready),
    .auto_mem_xing_out_d_valid(coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_valid),
    .auto_mem_xing_out_d_bits_size(coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_bits_size),
    .auto_mem_xing_out_d_bits_source(coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_bits_source),
    .auto_mem_xing_out_d_bits_data(coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_bits_data)
  );
  SimpleLazyModule_20 coupler_to_device_named_spi_0 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78157.4]
    .clock(coupler_to_device_named_spi_0_clock),
    .reset(coupler_to_device_named_spi_0_reset),
    .auto_fragmenter_in_a_ready(coupler_to_device_named_spi_0_auto_fragmenter_in_a_ready),
    .auto_fragmenter_in_a_valid(coupler_to_device_named_spi_0_auto_fragmenter_in_a_valid),
    .auto_fragmenter_in_a_bits_opcode(coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_opcode),
    .auto_fragmenter_in_a_bits_param(coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_param),
    .auto_fragmenter_in_a_bits_size(coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_size),
    .auto_fragmenter_in_a_bits_source(coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_source),
    .auto_fragmenter_in_a_bits_address(coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_address),
    .auto_fragmenter_in_a_bits_mask(coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_mask),
    .auto_fragmenter_in_a_bits_data(coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_data),
    .auto_fragmenter_in_a_bits_corrupt(coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_corrupt),
    .auto_fragmenter_in_d_ready(coupler_to_device_named_spi_0_auto_fragmenter_in_d_ready),
    .auto_fragmenter_in_d_valid(coupler_to_device_named_spi_0_auto_fragmenter_in_d_valid),
    .auto_fragmenter_in_d_bits_opcode(coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_opcode),
    .auto_fragmenter_in_d_bits_size(coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_size),
    .auto_fragmenter_in_d_bits_source(coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_source),
    .auto_fragmenter_in_d_bits_data(coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_data),
    .auto_control_xing_out_a_ready(coupler_to_device_named_spi_0_auto_control_xing_out_a_ready),
    .auto_control_xing_out_a_valid(coupler_to_device_named_spi_0_auto_control_xing_out_a_valid),
    .auto_control_xing_out_a_bits_opcode(coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_opcode),
    .auto_control_xing_out_a_bits_param(coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_param),
    .auto_control_xing_out_a_bits_size(coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_size),
    .auto_control_xing_out_a_bits_source(coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_source),
    .auto_control_xing_out_a_bits_address(coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_address),
    .auto_control_xing_out_a_bits_mask(coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_mask),
    .auto_control_xing_out_a_bits_data(coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_data),
    .auto_control_xing_out_a_bits_corrupt(coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_corrupt),
    .auto_control_xing_out_d_ready(coupler_to_device_named_spi_0_auto_control_xing_out_d_ready),
    .auto_control_xing_out_d_valid(coupler_to_device_named_spi_0_auto_control_xing_out_d_valid),
    .auto_control_xing_out_d_bits_opcode(coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_opcode),
    .auto_control_xing_out_d_bits_size(coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_size),
    .auto_control_xing_out_d_bits_source(coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_source),
    .auto_control_xing_out_d_bits_data(coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_data)
  );
  SimpleLazyModule_21 coupler_to_device_named_spi_1 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78163.4]
    .clock(coupler_to_device_named_spi_1_clock),
    .reset(coupler_to_device_named_spi_1_reset),
    .auto_fragmenter_in_a_ready(coupler_to_device_named_spi_1_auto_fragmenter_in_a_ready),
    .auto_fragmenter_in_a_valid(coupler_to_device_named_spi_1_auto_fragmenter_in_a_valid),
    .auto_fragmenter_in_a_bits_opcode(coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_opcode),
    .auto_fragmenter_in_a_bits_param(coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_param),
    .auto_fragmenter_in_a_bits_size(coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_size),
    .auto_fragmenter_in_a_bits_source(coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_source),
    .auto_fragmenter_in_a_bits_address(coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_address),
    .auto_fragmenter_in_a_bits_mask(coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_mask),
    .auto_fragmenter_in_a_bits_data(coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_data),
    .auto_fragmenter_in_a_bits_corrupt(coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_corrupt),
    .auto_fragmenter_in_d_ready(coupler_to_device_named_spi_1_auto_fragmenter_in_d_ready),
    .auto_fragmenter_in_d_valid(coupler_to_device_named_spi_1_auto_fragmenter_in_d_valid),
    .auto_fragmenter_in_d_bits_opcode(coupler_to_device_named_spi_1_auto_fragmenter_in_d_bits_opcode),
    .auto_fragmenter_in_d_bits_size(coupler_to_device_named_spi_1_auto_fragmenter_in_d_bits_size),
    .auto_fragmenter_in_d_bits_source(coupler_to_device_named_spi_1_auto_fragmenter_in_d_bits_source),
    .auto_fragmenter_in_d_bits_data(coupler_to_device_named_spi_1_auto_fragmenter_in_d_bits_data),
    .auto_control_xing_out_a_ready(coupler_to_device_named_spi_1_auto_control_xing_out_a_ready),
    .auto_control_xing_out_a_valid(coupler_to_device_named_spi_1_auto_control_xing_out_a_valid),
    .auto_control_xing_out_a_bits_opcode(coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_opcode),
    .auto_control_xing_out_a_bits_param(coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_param),
    .auto_control_xing_out_a_bits_size(coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_size),
    .auto_control_xing_out_a_bits_source(coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_source),
    .auto_control_xing_out_a_bits_address(coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_address),
    .auto_control_xing_out_a_bits_mask(coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_mask),
    .auto_control_xing_out_a_bits_data(coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_data),
    .auto_control_xing_out_a_bits_corrupt(coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_corrupt),
    .auto_control_xing_out_d_ready(coupler_to_device_named_spi_1_auto_control_xing_out_d_ready),
    .auto_control_xing_out_d_valid(coupler_to_device_named_spi_1_auto_control_xing_out_d_valid),
    .auto_control_xing_out_d_bits_opcode(coupler_to_device_named_spi_1_auto_control_xing_out_d_bits_opcode),
    .auto_control_xing_out_d_bits_size(coupler_to_device_named_spi_1_auto_control_xing_out_d_bits_size),
    .auto_control_xing_out_d_bits_source(coupler_to_device_named_spi_1_auto_control_xing_out_d_bits_source),
    .auto_control_xing_out_d_bits_data(coupler_to_device_named_spi_1_auto_control_xing_out_d_bits_data)
  );
  SimpleLazyModule_22 coupler_to_device_named_gpio_0 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78169.4]
    .clock(coupler_to_device_named_gpio_0_clock),
    .reset(coupler_to_device_named_gpio_0_reset),
    .auto_fragmenter_in_a_ready(coupler_to_device_named_gpio_0_auto_fragmenter_in_a_ready),
    .auto_fragmenter_in_a_valid(coupler_to_device_named_gpio_0_auto_fragmenter_in_a_valid),
    .auto_fragmenter_in_a_bits_opcode(coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_opcode),
    .auto_fragmenter_in_a_bits_param(coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_param),
    .auto_fragmenter_in_a_bits_size(coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_size),
    .auto_fragmenter_in_a_bits_source(coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_source),
    .auto_fragmenter_in_a_bits_address(coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_address),
    .auto_fragmenter_in_a_bits_mask(coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_mask),
    .auto_fragmenter_in_a_bits_data(coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_data),
    .auto_fragmenter_in_a_bits_corrupt(coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_corrupt),
    .auto_fragmenter_in_d_ready(coupler_to_device_named_gpio_0_auto_fragmenter_in_d_ready),
    .auto_fragmenter_in_d_valid(coupler_to_device_named_gpio_0_auto_fragmenter_in_d_valid),
    .auto_fragmenter_in_d_bits_opcode(coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_opcode),
    .auto_fragmenter_in_d_bits_size(coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_size),
    .auto_fragmenter_in_d_bits_source(coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_source),
    .auto_fragmenter_in_d_bits_data(coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_data),
    .auto_control_xing_out_a_ready(coupler_to_device_named_gpio_0_auto_control_xing_out_a_ready),
    .auto_control_xing_out_a_valid(coupler_to_device_named_gpio_0_auto_control_xing_out_a_valid),
    .auto_control_xing_out_a_bits_opcode(coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_opcode),
    .auto_control_xing_out_a_bits_param(coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_param),
    .auto_control_xing_out_a_bits_size(coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_size),
    .auto_control_xing_out_a_bits_source(coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_source),
    .auto_control_xing_out_a_bits_address(coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_address),
    .auto_control_xing_out_a_bits_mask(coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_mask),
    .auto_control_xing_out_a_bits_data(coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_data),
    .auto_control_xing_out_a_bits_corrupt(coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_corrupt),
    .auto_control_xing_out_d_ready(coupler_to_device_named_gpio_0_auto_control_xing_out_d_ready),
    .auto_control_xing_out_d_valid(coupler_to_device_named_gpio_0_auto_control_xing_out_d_valid),
    .auto_control_xing_out_d_bits_opcode(coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_opcode),
    .auto_control_xing_out_d_bits_size(coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_size),
    .auto_control_xing_out_d_bits_source(coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_source),
    .auto_control_xing_out_d_bits_data(coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_data)
  );
  SimpleLazyModule_23 coupler_to_device_named_i2c_0 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78175.4]
    .clock(coupler_to_device_named_i2c_0_clock),
    .reset(coupler_to_device_named_i2c_0_reset),
    .auto_fragmenter_in_a_ready(coupler_to_device_named_i2c_0_auto_fragmenter_in_a_ready),
    .auto_fragmenter_in_a_valid(coupler_to_device_named_i2c_0_auto_fragmenter_in_a_valid),
    .auto_fragmenter_in_a_bits_opcode(coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_opcode),
    .auto_fragmenter_in_a_bits_param(coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_param),
    .auto_fragmenter_in_a_bits_size(coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_size),
    .auto_fragmenter_in_a_bits_source(coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_source),
    .auto_fragmenter_in_a_bits_address(coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_address),
    .auto_fragmenter_in_a_bits_mask(coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_mask),
    .auto_fragmenter_in_a_bits_data(coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_data),
    .auto_fragmenter_in_a_bits_corrupt(coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_corrupt),
    .auto_fragmenter_in_d_ready(coupler_to_device_named_i2c_0_auto_fragmenter_in_d_ready),
    .auto_fragmenter_in_d_valid(coupler_to_device_named_i2c_0_auto_fragmenter_in_d_valid),
    .auto_fragmenter_in_d_bits_opcode(coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_opcode),
    .auto_fragmenter_in_d_bits_size(coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_size),
    .auto_fragmenter_in_d_bits_source(coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_source),
    .auto_fragmenter_in_d_bits_data(coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_data),
    .auto_control_xing_out_a_ready(coupler_to_device_named_i2c_0_auto_control_xing_out_a_ready),
    .auto_control_xing_out_a_valid(coupler_to_device_named_i2c_0_auto_control_xing_out_a_valid),
    .auto_control_xing_out_a_bits_opcode(coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_opcode),
    .auto_control_xing_out_a_bits_param(coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_param),
    .auto_control_xing_out_a_bits_size(coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_size),
    .auto_control_xing_out_a_bits_source(coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_source),
    .auto_control_xing_out_a_bits_address(coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_address),
    .auto_control_xing_out_a_bits_mask(coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_mask),
    .auto_control_xing_out_a_bits_data(coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_data),
    .auto_control_xing_out_a_bits_corrupt(coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_corrupt),
    .auto_control_xing_out_d_ready(coupler_to_device_named_i2c_0_auto_control_xing_out_d_ready),
    .auto_control_xing_out_d_valid(coupler_to_device_named_i2c_0_auto_control_xing_out_d_valid),
    .auto_control_xing_out_d_bits_opcode(coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_opcode),
    .auto_control_xing_out_d_bits_size(coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_size),
    .auto_control_xing_out_d_bits_source(coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_source),
    .auto_control_xing_out_d_bits_data(coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_data)
  );
  SimpleLazyModule_24 coupler_to_device_named_i2c_1 ( // @[LazyModule.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78181.4]
    .clock(coupler_to_device_named_i2c_1_clock),
    .reset(coupler_to_device_named_i2c_1_reset),
    .auto_fragmenter_in_a_ready(coupler_to_device_named_i2c_1_auto_fragmenter_in_a_ready),
    .auto_fragmenter_in_a_valid(coupler_to_device_named_i2c_1_auto_fragmenter_in_a_valid),
    .auto_fragmenter_in_a_bits_opcode(coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_opcode),
    .auto_fragmenter_in_a_bits_param(coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_param),
    .auto_fragmenter_in_a_bits_size(coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_size),
    .auto_fragmenter_in_a_bits_source(coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_source),
    .auto_fragmenter_in_a_bits_address(coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_address),
    .auto_fragmenter_in_a_bits_mask(coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_mask),
    .auto_fragmenter_in_a_bits_data(coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_data),
    .auto_fragmenter_in_a_bits_corrupt(coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_corrupt),
    .auto_fragmenter_in_d_ready(coupler_to_device_named_i2c_1_auto_fragmenter_in_d_ready),
    .auto_fragmenter_in_d_valid(coupler_to_device_named_i2c_1_auto_fragmenter_in_d_valid),
    .auto_fragmenter_in_d_bits_opcode(coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_opcode),
    .auto_fragmenter_in_d_bits_size(coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_size),
    .auto_fragmenter_in_d_bits_source(coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_source),
    .auto_fragmenter_in_d_bits_data(coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_data),
    .auto_control_xing_out_a_ready(coupler_to_device_named_i2c_1_auto_control_xing_out_a_ready),
    .auto_control_xing_out_a_valid(coupler_to_device_named_i2c_1_auto_control_xing_out_a_valid),
    .auto_control_xing_out_a_bits_opcode(coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_opcode),
    .auto_control_xing_out_a_bits_param(coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_param),
    .auto_control_xing_out_a_bits_size(coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_size),
    .auto_control_xing_out_a_bits_source(coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_source),
    .auto_control_xing_out_a_bits_address(coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_address),
    .auto_control_xing_out_a_bits_mask(coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_mask),
    .auto_control_xing_out_a_bits_data(coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_data),
    .auto_control_xing_out_a_bits_corrupt(coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_corrupt),
    .auto_control_xing_out_d_ready(coupler_to_device_named_i2c_1_auto_control_xing_out_d_ready),
    .auto_control_xing_out_d_valid(coupler_to_device_named_i2c_1_auto_control_xing_out_d_valid),
    .auto_control_xing_out_d_bits_opcode(coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_opcode),
    .auto_control_xing_out_d_bits_size(coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_size),
    .auto_control_xing_out_d_bits_source(coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_source),
    .auto_control_xing_out_d_bits_data(coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_data)
  );
  assign auto_coupler_to_device_named_i2c_1_control_xing_out_a_valid = coupler_to_device_named_i2c_1_auto_control_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
  assign auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_opcode = coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
  assign auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_param = coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
  assign auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_size = coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
  assign auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_source = coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
  assign auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_address = coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
  assign auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_mask = coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
  assign auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_data = coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
  assign auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_corrupt = coupler_to_device_named_i2c_1_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
  assign auto_coupler_to_device_named_i2c_1_control_xing_out_d_ready = coupler_to_device_named_i2c_1_auto_control_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
  assign auto_coupler_to_device_named_i2c_0_control_xing_out_a_valid = coupler_to_device_named_i2c_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
  assign auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_opcode = coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
  assign auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_param = coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
  assign auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_size = coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
  assign auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_source = coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
  assign auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_address = coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
  assign auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_mask = coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
  assign auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_data = coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
  assign auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_corrupt = coupler_to_device_named_i2c_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
  assign auto_coupler_to_device_named_i2c_0_control_xing_out_d_ready = coupler_to_device_named_i2c_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
  assign auto_coupler_to_device_named_gpio_0_control_xing_out_a_valid = coupler_to_device_named_gpio_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
  assign auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_opcode = coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
  assign auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_param = coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
  assign auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_size = coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
  assign auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_source = coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
  assign auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_address = coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
  assign auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_mask = coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
  assign auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_data = coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
  assign auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_corrupt = coupler_to_device_named_gpio_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
  assign auto_coupler_to_device_named_gpio_0_control_xing_out_d_ready = coupler_to_device_named_gpio_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
  assign auto_coupler_to_device_named_spi_1_control_xing_out_a_valid = coupler_to_device_named_spi_1_auto_control_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
  assign auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_opcode = coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
  assign auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_param = coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
  assign auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_size = coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
  assign auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_source = coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
  assign auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_address = coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
  assign auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_mask = coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
  assign auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_data = coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
  assign auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_corrupt = coupler_to_device_named_spi_1_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
  assign auto_coupler_to_device_named_spi_1_control_xing_out_d_ready = coupler_to_device_named_spi_1_auto_control_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
  assign auto_coupler_to_device_named_spi_0_control_xing_out_a_valid = coupler_to_device_named_spi_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
  assign auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_opcode = coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
  assign auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_param = coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
  assign auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_size = coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
  assign auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_source = coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
  assign auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_address = coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
  assign auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_mask = coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
  assign auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_data = coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
  assign auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_corrupt = coupler_to_device_named_spi_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
  assign auto_coupler_to_device_named_spi_0_control_xing_out_d_ready = coupler_to_device_named_spi_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
  assign auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_valid = coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
  assign auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_opcode = coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
  assign auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_param = coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
  assign auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_size = coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
  assign auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_source = coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
  assign auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_address = coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
  assign auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_mask = coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
  assign auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_corrupt = coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
  assign auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_ready = coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
  assign auto_coupler_to_device_named_qspi_0_control_xing_out_a_valid = coupler_to_device_named_qspi_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
  assign auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_opcode = coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
  assign auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_param = coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
  assign auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_size = coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
  assign auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_source = coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
  assign auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_address = coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
  assign auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_mask = coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
  assign auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_data = coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
  assign auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_corrupt = coupler_to_device_named_qspi_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
  assign auto_coupler_to_device_named_qspi_0_control_xing_out_d_ready = coupler_to_device_named_qspi_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
  assign auto_coupler_to_slave_named_uart_4_control_xing_out_a_valid = coupler_to_slave_named_uart_4_auto_control_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
  assign auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_opcode = coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
  assign auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_param = coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
  assign auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_size = coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
  assign auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_source = coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
  assign auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_address = coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
  assign auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_mask = coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
  assign auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_data = coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
  assign auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_corrupt = coupler_to_slave_named_uart_4_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
  assign auto_coupler_to_slave_named_uart_4_control_xing_out_d_ready = coupler_to_slave_named_uart_4_auto_control_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
  assign auto_coupler_to_slave_named_uart_3_control_xing_out_a_valid = coupler_to_slave_named_uart_3_auto_control_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
  assign auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_opcode = coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
  assign auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_param = coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
  assign auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_size = coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
  assign auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_source = coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
  assign auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_address = coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
  assign auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_mask = coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
  assign auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_data = coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
  assign auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_corrupt = coupler_to_slave_named_uart_3_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
  assign auto_coupler_to_slave_named_uart_3_control_xing_out_d_ready = coupler_to_slave_named_uart_3_auto_control_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
  assign auto_coupler_to_slave_named_uart_2_control_xing_out_a_valid = coupler_to_slave_named_uart_2_auto_control_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
  assign auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_opcode = coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
  assign auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_param = coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
  assign auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_size = coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
  assign auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_source = coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
  assign auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_address = coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
  assign auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_mask = coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
  assign auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_data = coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
  assign auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_corrupt = coupler_to_slave_named_uart_2_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
  assign auto_coupler_to_slave_named_uart_2_control_xing_out_d_ready = coupler_to_slave_named_uart_2_auto_control_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
  assign auto_coupler_to_slave_named_uart_1_control_xing_out_a_valid = coupler_to_slave_named_uart_1_auto_control_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
  assign auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_opcode = coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
  assign auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_param = coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
  assign auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_size = coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
  assign auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_source = coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
  assign auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_address = coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
  assign auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_mask = coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
  assign auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_data = coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
  assign auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_corrupt = coupler_to_slave_named_uart_1_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
  assign auto_coupler_to_slave_named_uart_1_control_xing_out_d_ready = coupler_to_slave_named_uart_1_auto_control_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
  assign auto_coupler_to_slave_named_uart_0_control_xing_out_a_valid = coupler_to_slave_named_uart_0_auto_control_xing_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
  assign auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_opcode = coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
  assign auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_param = coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
  assign auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_size = coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
  assign auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_source = coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
  assign auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_address = coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
  assign auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_mask = coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
  assign auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_data = coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
  assign auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_corrupt = coupler_to_slave_named_uart_0_auto_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
  assign auto_coupler_to_slave_named_uart_0_control_xing_out_d_ready = coupler_to_slave_named_uart_0_auto_control_xing_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
  assign auto_from_cbus_in_a_ready = buffer_1_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78210.4]
  assign auto_from_cbus_in_d_valid = buffer_1_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78210.4]
  assign auto_from_cbus_in_d_bits_opcode = buffer_1_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78210.4]
  assign auto_from_cbus_in_d_bits_param = buffer_1_auto_in_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78210.4]
  assign auto_from_cbus_in_d_bits_size = buffer_1_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78210.4]
  assign auto_from_cbus_in_d_bits_source = buffer_1_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78210.4]
  assign auto_from_cbus_in_d_bits_sink = buffer_1_auto_in_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78210.4]
  assign auto_from_cbus_in_d_bits_denied = buffer_1_auto_in_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78210.4]
  assign auto_from_cbus_in_d_bits_data = buffer_1_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78210.4]
  assign auto_from_cbus_in_d_bits_corrupt = buffer_1_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78210.4]
  assign in_xbar_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78077.4]
  assign in_xbar_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78078.4]
  assign in_xbar_auto_in_a_valid = buffer_1_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
  assign in_xbar_auto_in_a_bits_opcode = buffer_1_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
  assign in_xbar_auto_in_a_bits_param = buffer_1_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
  assign in_xbar_auto_in_a_bits_size = buffer_1_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
  assign in_xbar_auto_in_a_bits_source = buffer_1_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
  assign in_xbar_auto_in_a_bits_address = buffer_1_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
  assign in_xbar_auto_in_a_bits_mask = buffer_1_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
  assign in_xbar_auto_in_a_bits_data = buffer_1_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
  assign in_xbar_auto_in_a_bits_corrupt = buffer_1_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
  assign in_xbar_auto_in_d_ready = buffer_1_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
  assign in_xbar_auto_out_a_ready = atomics_auto_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
  assign in_xbar_auto_out_d_valid = atomics_auto_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
  assign in_xbar_auto_out_d_bits_opcode = atomics_auto_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
  assign in_xbar_auto_out_d_bits_param = atomics_auto_in_d_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
  assign in_xbar_auto_out_d_bits_size = atomics_auto_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
  assign in_xbar_auto_out_d_bits_source = atomics_auto_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
  assign in_xbar_auto_out_d_bits_sink = atomics_auto_in_d_bits_sink; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
  assign in_xbar_auto_out_d_bits_denied = atomics_auto_in_d_bits_denied; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
  assign in_xbar_auto_out_d_bits_data = atomics_auto_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
  assign in_xbar_auto_out_d_bits_corrupt = atomics_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
  assign out_xbar_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78083.4]
  assign out_xbar_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78084.4]
  assign out_xbar_auto_in_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
  assign out_xbar_auto_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
  assign out_xbar_auto_in_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
  assign out_xbar_auto_in_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
  assign out_xbar_auto_in_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
  assign out_xbar_auto_in_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
  assign out_xbar_auto_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
  assign out_xbar_auto_in_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
  assign out_xbar_auto_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
  assign out_xbar_auto_in_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
  assign out_xbar_auto_out_12_a_ready = coupler_to_device_named_i2c_1_auto_fragmenter_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
  assign out_xbar_auto_out_12_d_valid = coupler_to_device_named_i2c_1_auto_fragmenter_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
  assign out_xbar_auto_out_12_d_bits_opcode = coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
  assign out_xbar_auto_out_12_d_bits_size = coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
  assign out_xbar_auto_out_12_d_bits_source = coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
  assign out_xbar_auto_out_12_d_bits_data = coupler_to_device_named_i2c_1_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
  assign out_xbar_auto_out_11_a_ready = coupler_to_device_named_i2c_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
  assign out_xbar_auto_out_11_d_valid = coupler_to_device_named_i2c_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
  assign out_xbar_auto_out_11_d_bits_opcode = coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
  assign out_xbar_auto_out_11_d_bits_size = coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
  assign out_xbar_auto_out_11_d_bits_source = coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
  assign out_xbar_auto_out_11_d_bits_data = coupler_to_device_named_i2c_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
  assign out_xbar_auto_out_10_a_ready = coupler_to_device_named_gpio_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
  assign out_xbar_auto_out_10_d_valid = coupler_to_device_named_gpio_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
  assign out_xbar_auto_out_10_d_bits_opcode = coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
  assign out_xbar_auto_out_10_d_bits_size = coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
  assign out_xbar_auto_out_10_d_bits_source = coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
  assign out_xbar_auto_out_10_d_bits_data = coupler_to_device_named_gpio_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
  assign out_xbar_auto_out_9_a_ready = coupler_to_device_named_spi_1_auto_fragmenter_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
  assign out_xbar_auto_out_9_d_valid = coupler_to_device_named_spi_1_auto_fragmenter_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
  assign out_xbar_auto_out_9_d_bits_opcode = coupler_to_device_named_spi_1_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
  assign out_xbar_auto_out_9_d_bits_size = coupler_to_device_named_spi_1_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
  assign out_xbar_auto_out_9_d_bits_source = coupler_to_device_named_spi_1_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
  assign out_xbar_auto_out_9_d_bits_data = coupler_to_device_named_spi_1_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
  assign out_xbar_auto_out_8_a_ready = coupler_to_device_named_spi_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
  assign out_xbar_auto_out_8_d_valid = coupler_to_device_named_spi_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
  assign out_xbar_auto_out_8_d_bits_opcode = coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
  assign out_xbar_auto_out_8_d_bits_size = coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
  assign out_xbar_auto_out_8_d_bits_source = coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
  assign out_xbar_auto_out_8_d_bits_data = coupler_to_device_named_spi_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
  assign out_xbar_auto_out_7_a_ready = coupler_to_mem_named_qspi_0_auto_widget_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
  assign out_xbar_auto_out_7_d_valid = coupler_to_mem_named_qspi_0_auto_widget_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
  assign out_xbar_auto_out_7_d_bits_size = coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
  assign out_xbar_auto_out_7_d_bits_source = coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
  assign out_xbar_auto_out_7_d_bits_data = coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
  assign out_xbar_auto_out_7_d_bits_corrupt = coupler_to_mem_named_qspi_0_auto_widget_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
  assign out_xbar_auto_out_6_a_ready = coupler_to_device_named_qspi_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
  assign out_xbar_auto_out_6_d_valid = coupler_to_device_named_qspi_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
  assign out_xbar_auto_out_6_d_bits_opcode = coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
  assign out_xbar_auto_out_6_d_bits_size = coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
  assign out_xbar_auto_out_6_d_bits_source = coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
  assign out_xbar_auto_out_6_d_bits_data = coupler_to_device_named_qspi_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
  assign out_xbar_auto_out_5_a_ready = coupler_to_slave_named_uart_4_auto_fragmenter_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
  assign out_xbar_auto_out_5_d_valid = coupler_to_slave_named_uart_4_auto_fragmenter_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
  assign out_xbar_auto_out_5_d_bits_opcode = coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
  assign out_xbar_auto_out_5_d_bits_size = coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
  assign out_xbar_auto_out_5_d_bits_source = coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
  assign out_xbar_auto_out_5_d_bits_data = coupler_to_slave_named_uart_4_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
  assign out_xbar_auto_out_4_a_ready = coupler_to_slave_named_uart_3_auto_fragmenter_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
  assign out_xbar_auto_out_4_d_valid = coupler_to_slave_named_uart_3_auto_fragmenter_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
  assign out_xbar_auto_out_4_d_bits_opcode = coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
  assign out_xbar_auto_out_4_d_bits_size = coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
  assign out_xbar_auto_out_4_d_bits_source = coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
  assign out_xbar_auto_out_4_d_bits_data = coupler_to_slave_named_uart_3_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
  assign out_xbar_auto_out_3_a_ready = coupler_to_slave_named_uart_2_auto_fragmenter_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
  assign out_xbar_auto_out_3_d_valid = coupler_to_slave_named_uart_2_auto_fragmenter_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
  assign out_xbar_auto_out_3_d_bits_opcode = coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
  assign out_xbar_auto_out_3_d_bits_size = coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
  assign out_xbar_auto_out_3_d_bits_source = coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
  assign out_xbar_auto_out_3_d_bits_data = coupler_to_slave_named_uart_2_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
  assign out_xbar_auto_out_2_a_ready = coupler_to_slave_named_uart_1_auto_fragmenter_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
  assign out_xbar_auto_out_2_d_valid = coupler_to_slave_named_uart_1_auto_fragmenter_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
  assign out_xbar_auto_out_2_d_bits_opcode = coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
  assign out_xbar_auto_out_2_d_bits_size = coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
  assign out_xbar_auto_out_2_d_bits_source = coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
  assign out_xbar_auto_out_2_d_bits_data = coupler_to_slave_named_uart_1_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
  assign out_xbar_auto_out_1_a_ready = coupler_to_slave_named_uart_0_auto_fragmenter_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
  assign out_xbar_auto_out_1_d_valid = coupler_to_slave_named_uart_0_auto_fragmenter_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
  assign out_xbar_auto_out_1_d_bits_opcode = coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
  assign out_xbar_auto_out_1_d_bits_size = coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
  assign out_xbar_auto_out_1_d_bits_source = coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
  assign out_xbar_auto_out_1_d_bits_data = coupler_to_slave_named_uart_0_auto_fragmenter_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
  assign out_xbar_auto_out_0_a_ready = wrapped_error_device_auto_error_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
  assign out_xbar_auto_out_0_d_valid = wrapped_error_device_auto_error_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
  assign out_xbar_auto_out_0_d_bits_opcode = wrapped_error_device_auto_error_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
  assign out_xbar_auto_out_0_d_bits_size = wrapped_error_device_auto_error_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
  assign out_xbar_auto_out_0_d_bits_source = wrapped_error_device_auto_error_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
  assign out_xbar_auto_out_0_d_bits_corrupt = wrapped_error_device_auto_error_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78089.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78090.4]
  assign buffer_auto_in_a_valid = atomics_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
  assign buffer_auto_in_a_bits_opcode = atomics_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
  assign buffer_auto_in_a_bits_param = atomics_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
  assign buffer_auto_in_a_bits_size = atomics_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
  assign buffer_auto_in_a_bits_source = atomics_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
  assign buffer_auto_in_a_bits_address = atomics_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
  assign buffer_auto_in_a_bits_mask = atomics_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
  assign buffer_auto_in_a_bits_data = atomics_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
  assign buffer_auto_in_a_bits_corrupt = atomics_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
  assign buffer_auto_in_d_ready = atomics_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
  assign buffer_auto_out_a_ready = out_xbar_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
  assign buffer_auto_out_d_valid = out_xbar_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
  assign buffer_auto_out_d_bits_opcode = out_xbar_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
  assign buffer_auto_out_d_bits_param = out_xbar_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
  assign buffer_auto_out_d_bits_size = out_xbar_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
  assign buffer_auto_out_d_bits_source = out_xbar_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
  assign buffer_auto_out_d_bits_sink = out_xbar_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
  assign buffer_auto_out_d_bits_denied = out_xbar_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
  assign buffer_auto_out_d_bits_data = out_xbar_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
  assign buffer_auto_out_d_bits_corrupt = out_xbar_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78206.4]
  assign atomics_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78095.4]
  assign atomics_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78096.4]
  assign atomics_auto_in_a_valid = in_xbar_auto_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
  assign atomics_auto_in_a_bits_opcode = in_xbar_auto_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
  assign atomics_auto_in_a_bits_param = in_xbar_auto_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
  assign atomics_auto_in_a_bits_size = in_xbar_auto_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
  assign atomics_auto_in_a_bits_source = in_xbar_auto_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
  assign atomics_auto_in_a_bits_address = in_xbar_auto_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
  assign atomics_auto_in_a_bits_mask = in_xbar_auto_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
  assign atomics_auto_in_a_bits_data = in_xbar_auto_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
  assign atomics_auto_in_a_bits_corrupt = in_xbar_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
  assign atomics_auto_in_d_ready = in_xbar_auto_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78192.4]
  assign atomics_auto_out_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
  assign atomics_auto_out_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
  assign atomics_auto_out_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
  assign atomics_auto_out_d_bits_param = buffer_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
  assign atomics_auto_out_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
  assign atomics_auto_out_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
  assign atomics_auto_out_d_bits_sink = buffer_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
  assign atomics_auto_out_d_bits_denied = buffer_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
  assign atomics_auto_out_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
  assign atomics_auto_out_d_bits_corrupt = buffer_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78207.4]
  assign wrapped_error_device_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78101.4]
  assign wrapped_error_device_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78102.4]
  assign wrapped_error_device_auto_error_in_a_valid = out_xbar_auto_out_0_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
  assign wrapped_error_device_auto_error_in_a_bits_opcode = out_xbar_auto_out_0_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
  assign wrapped_error_device_auto_error_in_a_bits_param = out_xbar_auto_out_0_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
  assign wrapped_error_device_auto_error_in_a_bits_size = out_xbar_auto_out_0_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
  assign wrapped_error_device_auto_error_in_a_bits_source = out_xbar_auto_out_0_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
  assign wrapped_error_device_auto_error_in_a_bits_address = out_xbar_auto_out_0_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
  assign wrapped_error_device_auto_error_in_a_bits_mask = out_xbar_auto_out_0_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
  assign wrapped_error_device_auto_error_in_a_bits_corrupt = out_xbar_auto_out_0_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
  assign wrapped_error_device_auto_error_in_d_ready = out_xbar_auto_out_0_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78193.4]
  assign buffer_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78113.4]
  assign buffer_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78114.4]
  assign buffer_1_auto_in_a_valid = auto_from_cbus_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78209.4]
  assign buffer_1_auto_in_a_bits_opcode = auto_from_cbus_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78209.4]
  assign buffer_1_auto_in_a_bits_param = auto_from_cbus_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78209.4]
  assign buffer_1_auto_in_a_bits_size = auto_from_cbus_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78209.4]
  assign buffer_1_auto_in_a_bits_source = auto_from_cbus_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78209.4]
  assign buffer_1_auto_in_a_bits_address = auto_from_cbus_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78209.4]
  assign buffer_1_auto_in_a_bits_mask = auto_from_cbus_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78209.4]
  assign buffer_1_auto_in_a_bits_data = auto_from_cbus_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78209.4]
  assign buffer_1_auto_in_a_bits_corrupt = auto_from_cbus_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78209.4]
  assign buffer_1_auto_in_d_ready = auto_from_cbus_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78209.4]
  assign buffer_1_auto_out_a_ready = in_xbar_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
  assign buffer_1_auto_out_d_valid = in_xbar_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
  assign buffer_1_auto_out_d_bits_opcode = in_xbar_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
  assign buffer_1_auto_out_d_bits_param = in_xbar_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
  assign buffer_1_auto_out_d_bits_size = in_xbar_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
  assign buffer_1_auto_out_d_bits_source = in_xbar_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
  assign buffer_1_auto_out_d_bits_sink = in_xbar_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
  assign buffer_1_auto_out_d_bits_denied = in_xbar_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
  assign buffer_1_auto_out_d_bits_data = in_xbar_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
  assign buffer_1_auto_out_d_bits_corrupt = in_xbar_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78208.4]
  assign coupler_to_slave_named_uart_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78119.4]
  assign coupler_to_slave_named_uart_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78120.4]
  assign coupler_to_slave_named_uart_0_auto_fragmenter_in_a_valid = out_xbar_auto_out_1_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
  assign coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_opcode = out_xbar_auto_out_1_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
  assign coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_param = out_xbar_auto_out_1_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
  assign coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_size = out_xbar_auto_out_1_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
  assign coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_source = out_xbar_auto_out_1_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
  assign coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_address = out_xbar_auto_out_1_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
  assign coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_mask = out_xbar_auto_out_1_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
  assign coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_data = out_xbar_auto_out_1_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
  assign coupler_to_slave_named_uart_0_auto_fragmenter_in_a_bits_corrupt = out_xbar_auto_out_1_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
  assign coupler_to_slave_named_uart_0_auto_fragmenter_in_d_ready = out_xbar_auto_out_1_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78194.4]
  assign coupler_to_slave_named_uart_0_auto_control_xing_out_a_ready = auto_coupler_to_slave_named_uart_0_control_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
  assign coupler_to_slave_named_uart_0_auto_control_xing_out_d_valid = auto_coupler_to_slave_named_uart_0_control_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
  assign coupler_to_slave_named_uart_0_auto_control_xing_out_d_bits_opcode = auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
  assign coupler_to_slave_named_uart_0_auto_control_xing_out_d_bits_size = auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
  assign coupler_to_slave_named_uart_0_auto_control_xing_out_d_bits_source = auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
  assign coupler_to_slave_named_uart_0_auto_control_xing_out_d_bits_data = auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78211.4]
  assign coupler_to_slave_named_uart_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78125.4]
  assign coupler_to_slave_named_uart_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78126.4]
  assign coupler_to_slave_named_uart_1_auto_fragmenter_in_a_valid = out_xbar_auto_out_2_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
  assign coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_opcode = out_xbar_auto_out_2_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
  assign coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_param = out_xbar_auto_out_2_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
  assign coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_size = out_xbar_auto_out_2_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
  assign coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_source = out_xbar_auto_out_2_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
  assign coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_address = out_xbar_auto_out_2_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
  assign coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_mask = out_xbar_auto_out_2_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
  assign coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_data = out_xbar_auto_out_2_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
  assign coupler_to_slave_named_uart_1_auto_fragmenter_in_a_bits_corrupt = out_xbar_auto_out_2_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
  assign coupler_to_slave_named_uart_1_auto_fragmenter_in_d_ready = out_xbar_auto_out_2_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78195.4]
  assign coupler_to_slave_named_uart_1_auto_control_xing_out_a_ready = auto_coupler_to_slave_named_uart_1_control_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
  assign coupler_to_slave_named_uart_1_auto_control_xing_out_d_valid = auto_coupler_to_slave_named_uart_1_control_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
  assign coupler_to_slave_named_uart_1_auto_control_xing_out_d_bits_opcode = auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
  assign coupler_to_slave_named_uart_1_auto_control_xing_out_d_bits_size = auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
  assign coupler_to_slave_named_uart_1_auto_control_xing_out_d_bits_source = auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
  assign coupler_to_slave_named_uart_1_auto_control_xing_out_d_bits_data = auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78212.4]
  assign coupler_to_slave_named_uart_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78131.4]
  assign coupler_to_slave_named_uart_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78132.4]
  assign coupler_to_slave_named_uart_2_auto_fragmenter_in_a_valid = out_xbar_auto_out_3_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
  assign coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_opcode = out_xbar_auto_out_3_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
  assign coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_param = out_xbar_auto_out_3_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
  assign coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_size = out_xbar_auto_out_3_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
  assign coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_source = out_xbar_auto_out_3_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
  assign coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_address = out_xbar_auto_out_3_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
  assign coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_mask = out_xbar_auto_out_3_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
  assign coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_data = out_xbar_auto_out_3_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
  assign coupler_to_slave_named_uart_2_auto_fragmenter_in_a_bits_corrupt = out_xbar_auto_out_3_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
  assign coupler_to_slave_named_uart_2_auto_fragmenter_in_d_ready = out_xbar_auto_out_3_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78196.4]
  assign coupler_to_slave_named_uart_2_auto_control_xing_out_a_ready = auto_coupler_to_slave_named_uart_2_control_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
  assign coupler_to_slave_named_uart_2_auto_control_xing_out_d_valid = auto_coupler_to_slave_named_uart_2_control_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
  assign coupler_to_slave_named_uart_2_auto_control_xing_out_d_bits_opcode = auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
  assign coupler_to_slave_named_uart_2_auto_control_xing_out_d_bits_size = auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
  assign coupler_to_slave_named_uart_2_auto_control_xing_out_d_bits_source = auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
  assign coupler_to_slave_named_uart_2_auto_control_xing_out_d_bits_data = auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78213.4]
  assign coupler_to_slave_named_uart_3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78137.4]
  assign coupler_to_slave_named_uart_3_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78138.4]
  assign coupler_to_slave_named_uart_3_auto_fragmenter_in_a_valid = out_xbar_auto_out_4_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
  assign coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_opcode = out_xbar_auto_out_4_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
  assign coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_param = out_xbar_auto_out_4_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
  assign coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_size = out_xbar_auto_out_4_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
  assign coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_source = out_xbar_auto_out_4_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
  assign coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_address = out_xbar_auto_out_4_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
  assign coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_mask = out_xbar_auto_out_4_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
  assign coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_data = out_xbar_auto_out_4_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
  assign coupler_to_slave_named_uart_3_auto_fragmenter_in_a_bits_corrupt = out_xbar_auto_out_4_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
  assign coupler_to_slave_named_uart_3_auto_fragmenter_in_d_ready = out_xbar_auto_out_4_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78197.4]
  assign coupler_to_slave_named_uart_3_auto_control_xing_out_a_ready = auto_coupler_to_slave_named_uart_3_control_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
  assign coupler_to_slave_named_uart_3_auto_control_xing_out_d_valid = auto_coupler_to_slave_named_uart_3_control_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
  assign coupler_to_slave_named_uart_3_auto_control_xing_out_d_bits_opcode = auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
  assign coupler_to_slave_named_uart_3_auto_control_xing_out_d_bits_size = auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
  assign coupler_to_slave_named_uart_3_auto_control_xing_out_d_bits_source = auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
  assign coupler_to_slave_named_uart_3_auto_control_xing_out_d_bits_data = auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78214.4]
  assign coupler_to_slave_named_uart_4_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78143.4]
  assign coupler_to_slave_named_uart_4_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78144.4]
  assign coupler_to_slave_named_uart_4_auto_fragmenter_in_a_valid = out_xbar_auto_out_5_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
  assign coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_opcode = out_xbar_auto_out_5_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
  assign coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_param = out_xbar_auto_out_5_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
  assign coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_size = out_xbar_auto_out_5_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
  assign coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_source = out_xbar_auto_out_5_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
  assign coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_address = out_xbar_auto_out_5_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
  assign coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_mask = out_xbar_auto_out_5_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
  assign coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_data = out_xbar_auto_out_5_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
  assign coupler_to_slave_named_uart_4_auto_fragmenter_in_a_bits_corrupt = out_xbar_auto_out_5_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
  assign coupler_to_slave_named_uart_4_auto_fragmenter_in_d_ready = out_xbar_auto_out_5_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78198.4]
  assign coupler_to_slave_named_uart_4_auto_control_xing_out_a_ready = auto_coupler_to_slave_named_uart_4_control_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
  assign coupler_to_slave_named_uart_4_auto_control_xing_out_d_valid = auto_coupler_to_slave_named_uart_4_control_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
  assign coupler_to_slave_named_uart_4_auto_control_xing_out_d_bits_opcode = auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
  assign coupler_to_slave_named_uart_4_auto_control_xing_out_d_bits_size = auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
  assign coupler_to_slave_named_uart_4_auto_control_xing_out_d_bits_source = auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
  assign coupler_to_slave_named_uart_4_auto_control_xing_out_d_bits_data = auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78215.4]
  assign coupler_to_device_named_qspi_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78149.4]
  assign coupler_to_device_named_qspi_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78150.4]
  assign coupler_to_device_named_qspi_0_auto_fragmenter_in_a_valid = out_xbar_auto_out_6_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
  assign coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_opcode = out_xbar_auto_out_6_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
  assign coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_param = out_xbar_auto_out_6_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
  assign coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_size = out_xbar_auto_out_6_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
  assign coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_source = out_xbar_auto_out_6_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
  assign coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_address = out_xbar_auto_out_6_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
  assign coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_mask = out_xbar_auto_out_6_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
  assign coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_data = out_xbar_auto_out_6_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
  assign coupler_to_device_named_qspi_0_auto_fragmenter_in_a_bits_corrupt = out_xbar_auto_out_6_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
  assign coupler_to_device_named_qspi_0_auto_fragmenter_in_d_ready = out_xbar_auto_out_6_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78199.4]
  assign coupler_to_device_named_qspi_0_auto_control_xing_out_a_ready = auto_coupler_to_device_named_qspi_0_control_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
  assign coupler_to_device_named_qspi_0_auto_control_xing_out_d_valid = auto_coupler_to_device_named_qspi_0_control_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
  assign coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_opcode = auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
  assign coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_size = auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
  assign coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_source = auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
  assign coupler_to_device_named_qspi_0_auto_control_xing_out_d_bits_data = auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78216.4]
  assign coupler_to_mem_named_qspi_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78155.4]
  assign coupler_to_mem_named_qspi_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78156.4]
  assign coupler_to_mem_named_qspi_0_auto_widget_in_a_valid = out_xbar_auto_out_7_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
  assign coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_opcode = out_xbar_auto_out_7_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
  assign coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_param = out_xbar_auto_out_7_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
  assign coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_size = out_xbar_auto_out_7_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
  assign coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_source = out_xbar_auto_out_7_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
  assign coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_address = out_xbar_auto_out_7_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
  assign coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_mask = out_xbar_auto_out_7_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
  assign coupler_to_mem_named_qspi_0_auto_widget_in_a_bits_corrupt = out_xbar_auto_out_7_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
  assign coupler_to_mem_named_qspi_0_auto_widget_in_d_ready = out_xbar_auto_out_7_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78200.4]
  assign coupler_to_mem_named_qspi_0_auto_mem_xing_out_a_ready = auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
  assign coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_valid = auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
  assign coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_bits_size = auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
  assign coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_bits_source = auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
  assign coupler_to_mem_named_qspi_0_auto_mem_xing_out_d_bits_data = auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78217.4]
  assign coupler_to_device_named_spi_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78161.4]
  assign coupler_to_device_named_spi_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78162.4]
  assign coupler_to_device_named_spi_0_auto_fragmenter_in_a_valid = out_xbar_auto_out_8_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
  assign coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_opcode = out_xbar_auto_out_8_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
  assign coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_param = out_xbar_auto_out_8_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
  assign coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_size = out_xbar_auto_out_8_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
  assign coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_source = out_xbar_auto_out_8_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
  assign coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_address = out_xbar_auto_out_8_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
  assign coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_mask = out_xbar_auto_out_8_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
  assign coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_data = out_xbar_auto_out_8_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
  assign coupler_to_device_named_spi_0_auto_fragmenter_in_a_bits_corrupt = out_xbar_auto_out_8_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
  assign coupler_to_device_named_spi_0_auto_fragmenter_in_d_ready = out_xbar_auto_out_8_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78201.4]
  assign coupler_to_device_named_spi_0_auto_control_xing_out_a_ready = auto_coupler_to_device_named_spi_0_control_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
  assign coupler_to_device_named_spi_0_auto_control_xing_out_d_valid = auto_coupler_to_device_named_spi_0_control_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
  assign coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_opcode = auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
  assign coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_size = auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
  assign coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_source = auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
  assign coupler_to_device_named_spi_0_auto_control_xing_out_d_bits_data = auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78218.4]
  assign coupler_to_device_named_spi_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78167.4]
  assign coupler_to_device_named_spi_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78168.4]
  assign coupler_to_device_named_spi_1_auto_fragmenter_in_a_valid = out_xbar_auto_out_9_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
  assign coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_opcode = out_xbar_auto_out_9_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
  assign coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_param = out_xbar_auto_out_9_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
  assign coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_size = out_xbar_auto_out_9_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
  assign coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_source = out_xbar_auto_out_9_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
  assign coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_address = out_xbar_auto_out_9_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
  assign coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_mask = out_xbar_auto_out_9_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
  assign coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_data = out_xbar_auto_out_9_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
  assign coupler_to_device_named_spi_1_auto_fragmenter_in_a_bits_corrupt = out_xbar_auto_out_9_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
  assign coupler_to_device_named_spi_1_auto_fragmenter_in_d_ready = out_xbar_auto_out_9_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78202.4]
  assign coupler_to_device_named_spi_1_auto_control_xing_out_a_ready = auto_coupler_to_device_named_spi_1_control_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
  assign coupler_to_device_named_spi_1_auto_control_xing_out_d_valid = auto_coupler_to_device_named_spi_1_control_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
  assign coupler_to_device_named_spi_1_auto_control_xing_out_d_bits_opcode = auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
  assign coupler_to_device_named_spi_1_auto_control_xing_out_d_bits_size = auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
  assign coupler_to_device_named_spi_1_auto_control_xing_out_d_bits_source = auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
  assign coupler_to_device_named_spi_1_auto_control_xing_out_d_bits_data = auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78219.4]
  assign coupler_to_device_named_gpio_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78173.4]
  assign coupler_to_device_named_gpio_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78174.4]
  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_a_valid = out_xbar_auto_out_10_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_opcode = out_xbar_auto_out_10_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_param = out_xbar_auto_out_10_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_size = out_xbar_auto_out_10_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_source = out_xbar_auto_out_10_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_address = out_xbar_auto_out_10_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_mask = out_xbar_auto_out_10_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_data = out_xbar_auto_out_10_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_a_bits_corrupt = out_xbar_auto_out_10_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
  assign coupler_to_device_named_gpio_0_auto_fragmenter_in_d_ready = out_xbar_auto_out_10_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78203.4]
  assign coupler_to_device_named_gpio_0_auto_control_xing_out_a_ready = auto_coupler_to_device_named_gpio_0_control_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
  assign coupler_to_device_named_gpio_0_auto_control_xing_out_d_valid = auto_coupler_to_device_named_gpio_0_control_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
  assign coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_opcode = auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
  assign coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_size = auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
  assign coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_source = auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
  assign coupler_to_device_named_gpio_0_auto_control_xing_out_d_bits_data = auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78220.4]
  assign coupler_to_device_named_i2c_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78179.4]
  assign coupler_to_device_named_i2c_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78180.4]
  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_a_valid = out_xbar_auto_out_11_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_opcode = out_xbar_auto_out_11_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_param = out_xbar_auto_out_11_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_size = out_xbar_auto_out_11_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_source = out_xbar_auto_out_11_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_address = out_xbar_auto_out_11_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_mask = out_xbar_auto_out_11_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_data = out_xbar_auto_out_11_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_a_bits_corrupt = out_xbar_auto_out_11_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
  assign coupler_to_device_named_i2c_0_auto_fragmenter_in_d_ready = out_xbar_auto_out_11_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78204.4]
  assign coupler_to_device_named_i2c_0_auto_control_xing_out_a_ready = auto_coupler_to_device_named_i2c_0_control_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
  assign coupler_to_device_named_i2c_0_auto_control_xing_out_d_valid = auto_coupler_to_device_named_i2c_0_control_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
  assign coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_opcode = auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
  assign coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_size = auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
  assign coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_source = auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
  assign coupler_to_device_named_i2c_0_auto_control_xing_out_d_bits_data = auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78221.4]
  assign coupler_to_device_named_i2c_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78185.4]
  assign coupler_to_device_named_i2c_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78186.4]
  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_a_valid = out_xbar_auto_out_12_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_opcode = out_xbar_auto_out_12_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_param = out_xbar_auto_out_12_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_size = out_xbar_auto_out_12_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_source = out_xbar_auto_out_12_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_address = out_xbar_auto_out_12_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_mask = out_xbar_auto_out_12_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_data = out_xbar_auto_out_12_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_a_bits_corrupt = out_xbar_auto_out_12_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
  assign coupler_to_device_named_i2c_1_auto_fragmenter_in_d_ready = out_xbar_auto_out_12_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@78205.4]
  assign coupler_to_device_named_i2c_1_auto_control_xing_out_a_ready = auto_coupler_to_device_named_i2c_1_control_xing_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
  assign coupler_to_device_named_i2c_1_auto_control_xing_out_d_valid = auto_coupler_to_device_named_i2c_1_control_xing_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
  assign coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_opcode = auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
  assign coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_size = auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
  assign coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_source = auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
  assign coupler_to_device_named_i2c_1_auto_control_xing_out_d_bits_data = auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78222.4]
endmodule
module TLMonitor_46( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78350.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78351.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78352.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
  input  [27:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@78353.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@79491.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@78380.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@78381.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@78382.6]
  wire [27:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@78383.6]
  wire [27:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@78383.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@78384.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78386.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78387.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@78389.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@78390.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78391.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78392.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@78393.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78395.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78396.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78398.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78399.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78400.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78401.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@78402.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78403.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78404.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78405.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78406.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78407.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78408.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78409.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78410.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78411.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78412.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78413.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78414.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78415.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78416.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78417.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78440.6]
  wire [27:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78443.8]
  wire [28:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78444.8]
  wire [28:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@78445.8]
  wire [28:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@78446.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@78447.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78452.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78473.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78474.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78480.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78481.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78486.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78488.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78489.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@78494.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78495.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78497.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78498.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@78503.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78505.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78506.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78512.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78566.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78568.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78569.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78592.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@78595.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@78603.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78606.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78607.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78626.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78628.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78629.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78634.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78636.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78637.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78651.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78702.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@78744.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78745.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@78746.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78748.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78749.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78755.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@78786.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78788.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78789.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78803.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@78834.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78836.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78837.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78851.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@78901.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78903.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78904.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78921.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78930.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78932.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78933.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78963.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79021.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79211.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79220.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79221.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79222.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79223.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79224.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79235.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79236.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79237.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79238.4]
  reg [31:0] _RAND_4;
  reg [27:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79239.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79240.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@79241.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79243.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79245.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79246.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79251.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79253.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79254.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79259.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79261.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79262.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79267.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79269.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79270.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79275.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79277.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79278.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@79285.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79293.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79301.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79302.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79303.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79304.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79305.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79316.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79318.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79319.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79322.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@79323.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79325.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79327.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79328.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79341.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79343.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79344.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79349.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79351.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79352.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@79375.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79384.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79394.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79395.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79396.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79397.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79398.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79417.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79418.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79419.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79420.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79421.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79436.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@79439.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@79441.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@79442.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79443.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79445.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79446.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@79438.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79457.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@79459.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@79460.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@79462.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@79464.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@79465.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@79466.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79468.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79469.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@79461.4]
  wire  _T_693; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@79475.4]
  wire  _T_694; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@79476.4]
  wire  _T_695; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@79477.4]
  wire  _T_696; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@79478.4]
  wire  _T_698; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79480.4]
  wire  _T_699; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79481.4]
  wire [63:0] _T_700; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79486.4]
  wire [63:0] _T_701; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@79487.4]
  wire [63:0] _T_702; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@79488.4]
  reg [31:0] _T_704; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79490.4]
  reg [31:0] _RAND_13;
  wire  _T_705; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@79493.4]
  wire  _T_706; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79494.4]
  wire  _T_707; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@79495.4]
  wire  _T_708; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79496.4]
  wire  _T_709; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@79497.4]
  wire  _T_710; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@79498.4]
  wire  _T_712; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@79500.4]
  wire  _T_713; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@79501.4]
  wire [31:0] _T_715; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@79507.4]
  wire  _T_718; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79511.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78454.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78526.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78609.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78668.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78719.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78769.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78817.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78865.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78935.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78976.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79034.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@79491.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@78380.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@78381.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@78382.6]
  assign _GEN_18 = {{26'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@78383.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@78383.6]
  assign _T_40 = _T_39 == 28'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@78384.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78386.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78387.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@78389.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@78390.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78391.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78392.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@78393.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78395.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78396.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78398.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78399.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78400.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@78401.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@78402.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78403.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78404.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78405.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78406.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78407.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78408.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78409.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78410.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78411.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78412.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@78413.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@78414.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78415.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78416.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@78417.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78440.6]
  assign _T_94 = io_in_a_bits_address ^ 28'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@78443.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@78444.8]
  assign _T_96 = $signed(_T_95) & $signed(-29'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@78445.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@78446.8]
  assign _T_98 = $signed(_T_97) == $signed(29'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@78447.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78452.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78473.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78474.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78480.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78481.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78486.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78488.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78489.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@78494.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78495.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78497.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78498.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@78503.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78505.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78506.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78512.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78566.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78568.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78569.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78592.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@78595.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@78603.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78606.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78607.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78626.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78628.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78629.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78634.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78636.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78637.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78651.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78702.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@78744.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@78745.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@78746.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78748.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78749.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78755.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@78786.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78788.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78789.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78803.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@78834.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78836.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78837.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78851.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@78901.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78903.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78904.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78921.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@78930.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78932.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78933.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@78963.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79021.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79211.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79221.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79222.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79223.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79224.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79240.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@79241.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79243.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79245.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79246.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79251.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79253.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79254.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79259.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79261.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79262.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79267.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79269.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79270.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79275.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79277.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79278.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@79285.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79293.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79302.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79303.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79304.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79305.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79322.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@79323.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79325.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79327.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79328.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79341.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79343.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79344.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@79349.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79351.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79352.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@79375.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79395.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79396.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79397.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79398.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79418.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79419.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@79420.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@79421.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79436.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@79439.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@79441.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@79442.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79443.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79445.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79446.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@79438.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79457.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@79459.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@79460.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@79462.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@79464.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@79465.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@79466.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79468.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79469.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@79461.4]
  assign _T_693 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@79475.4]
  assign _T_694 = _GEN_15 != 64'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@79476.4]
  assign _T_695 = _T_694 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@79477.4]
  assign _T_696 = _T_693 | _T_695; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@79478.4]
  assign _T_698 = _T_696 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79480.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79481.4]
  assign _T_700 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79486.4]
  assign _T_701 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@79487.4]
  assign _T_702 = _T_700 & _T_701; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@79488.4]
  assign _T_705 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@79493.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79494.4]
  assign _T_707 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@79495.4]
  assign _T_708 = _T_706 | _T_707; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79496.4]
  assign _T_709 = _T_704 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@79497.4]
  assign _T_710 = _T_708 | _T_709; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@79498.4]
  assign _T_712 = _T_710 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@79500.4]
  assign _T_713 = _T_712 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@79501.4]
  assign _T_715 = _T_704 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@79507.4]
  assign _T_718 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@79511.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78454.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78526.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78609.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78668.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78719.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78769.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78817.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78865.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78935.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78976.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79034.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_514 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_527 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_529 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_531 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_533 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_535 = _RAND_5[27:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_569 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_582 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_586 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_588 = _RAND_9[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {2{`RANDOM}};
  _T_622 = _RAND_10[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_633 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_654 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_704 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_514 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_518) begin
          _T_514 <= 1'h0;
        end else begin
          _T_514 <= _T_517;
        end
      end
    end
    if (_T_559) begin
      _T_527 <= io_in_a_bits_opcode;
    end
    if (_T_559) begin
      _T_529 <= io_in_a_bits_param;
    end
    if (_T_559) begin
      _T_531 <= io_in_a_bits_size;
    end
    if (_T_559) begin
      _T_533 <= io_in_a_bits_source;
    end
    if (_T_559) begin
      _T_535 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_569 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_573) begin
          _T_569 <= 1'h0;
        end else begin
          _T_569 <= _T_572;
        end
      end
    end
    if (_T_620) begin
      _T_582 <= io_in_d_bits_opcode;
    end
    if (_T_620) begin
      _T_586 <= io_in_d_bits_size;
    end
    if (_T_620) begin
      _T_588 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_622 <= 64'h0;
    end else begin
      _T_622 <= _T_702;
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_654 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_658) begin
          _T_654 <= 1'h0;
        end else begin
          _T_654 <= _T_657;
        end
      end
    end
    if (reset) begin
      _T_704 <= 32'h0;
    end else begin
      if (_T_718) begin
        _T_704 <= 32'h0;
      end else begin
        _T_704 <= _T_715;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78365.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78366.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78437.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78438.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78454.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78455.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78461.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78462.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78468.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78469.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78476.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78477.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78483.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78484.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78491.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78492.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78500.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78501.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78508.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78509.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78526.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78527.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78533.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78534.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78540.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78541.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78548.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78549.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78555.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78556.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78563.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78564.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78571.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78572.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78580.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78581.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78588.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78589.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78609.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78610.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78616.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78617.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78623.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78624.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78631.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78632.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78639.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78640.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78647.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78648.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78668.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78669.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78675.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78676.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78682.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78683.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78690.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78691.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78698.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78699.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78719.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78720.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78726.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78727.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78733.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78734.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78741.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78742.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78751.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78752.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78769.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78770.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78776.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78777.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78783.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78784.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78791.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78792.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78799.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78800.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78817.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78818.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78824.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78825.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78831.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78832.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78839.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78840.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78847.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78848.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78865.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78866.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78872.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78873.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78879.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78880.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78887.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78888.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78895.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78896.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78906.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@78907.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78927.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78928.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78935.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78936.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78943.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78944.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78951.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78952.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78959.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78960.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78969.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78970.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78976.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78977.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78984.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78985.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78992.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@78993.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79000.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79001.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79008.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79009.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79017.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79018.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79027.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79028.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79034.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79035.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79042.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79043.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79050.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79051.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79058.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79059.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79067.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79068.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79076.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79077.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79086.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79087.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79094.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79095.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79102.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79103.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79111.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79112.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79121.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79122.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79129.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79130.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79138.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79139.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79147.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79148.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79157.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79158.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79165.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79166.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79173.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79174.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79182.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79183.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79192.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79193.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79200.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79201.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79208.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79209.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79248.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79249.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79256.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79257.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79264.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79265.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79272.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79273.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79280.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79281.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79330.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79331.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79338.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79339.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79346.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79347.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79354.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79355.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79362.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79363.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79370.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@79371.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79448.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79449.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79471.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79472.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_699) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79483.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_699) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@79484.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_713) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@79503.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_713) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@79504.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module LevelGateway( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@79516.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@79517.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@79518.4]
  input   io_interrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@79519.4]
  output  io_plic_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@79519.4]
  input   io_plic_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@79519.4]
  input   io_plic_complete // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@79519.4]
);
  reg  inFlight; // @[Plic.scala 30:21:shc.marmotcaravel.MarmotCaravelConfig.fir@79524.4]
  reg [31:0] _RAND_0;
  wire  _T_9; // @[Plic.scala 31:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79525.4]
  wire  _T_10; // @[Plic.scala 33:36:shc.marmotcaravel.MarmotCaravelConfig.fir@79532.4]
  assign _T_9 = io_interrupt & io_plic_ready; // @[Plic.scala 31:22:shc.marmotcaravel.MarmotCaravelConfig.fir@79525.4]
  assign _T_10 = inFlight == 1'h0; // @[Plic.scala 33:36:shc.marmotcaravel.MarmotCaravelConfig.fir@79532.4]
  assign io_plic_valid = io_interrupt & _T_10; // @[Plic.scala 33:17:shc.marmotcaravel.MarmotCaravelConfig.fir@79534.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  inFlight = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      inFlight <= 1'h0;
    end else begin
      if (io_plic_complete) begin
        inFlight <= 1'h0;
      end else begin
        if (_T_9) begin
          inFlight <= 1'h1;
        end
      end
    end
  end
endmodule
module PLICFanIn( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80396.2]
  input  [2:0]  io_prio_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_32, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_33, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_34, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_35, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_36, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_37, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_38, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_39, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_40, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_41, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_42, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [2:0]  io_prio_43, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  input  [43:0] io_ip, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  output [5:0]  io_dev, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
  output [2:0]  io_max // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80399.4]
);
  wire  _T_54; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80405.4]
  wire  _T_55; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80406.4]
  wire  _T_56; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80407.4]
  wire  _T_57; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80408.4]
  wire  _T_58; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80409.4]
  wire  _T_59; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80410.4]
  wire  _T_60; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80411.4]
  wire  _T_61; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80412.4]
  wire  _T_62; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80413.4]
  wire  _T_63; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80414.4]
  wire  _T_64; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80415.4]
  wire  _T_65; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80416.4]
  wire  _T_66; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80417.4]
  wire  _T_67; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80418.4]
  wire  _T_68; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80419.4]
  wire  _T_69; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80420.4]
  wire  _T_70; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80421.4]
  wire  _T_71; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80422.4]
  wire  _T_72; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80423.4]
  wire  _T_73; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80424.4]
  wire  _T_74; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80425.4]
  wire  _T_75; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80426.4]
  wire  _T_76; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80427.4]
  wire  _T_77; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80428.4]
  wire  _T_78; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80429.4]
  wire  _T_79; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80430.4]
  wire  _T_80; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80431.4]
  wire  _T_81; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80432.4]
  wire  _T_82; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80433.4]
  wire  _T_83; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80434.4]
  wire  _T_84; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80435.4]
  wire  _T_85; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80436.4]
  wire  _T_86; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80437.4]
  wire  _T_87; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80438.4]
  wire  _T_88; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80439.4]
  wire  _T_89; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80440.4]
  wire  _T_90; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80441.4]
  wire  _T_91; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80442.4]
  wire  _T_92; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80443.4]
  wire  _T_93; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80444.4]
  wire  _T_94; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80445.4]
  wire  _T_95; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80446.4]
  wire  _T_96; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80447.4]
  wire  _T_97; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80448.4]
  wire [3:0] effectivePriority_1; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80449.4]
  wire [3:0] effectivePriority_2; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80450.4]
  wire [3:0] effectivePriority_3; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80451.4]
  wire [3:0] effectivePriority_4; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80452.4]
  wire [3:0] effectivePriority_5; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80453.4]
  wire [3:0] effectivePriority_6; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80454.4]
  wire [3:0] effectivePriority_7; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80455.4]
  wire [3:0] effectivePriority_8; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80456.4]
  wire [3:0] effectivePriority_9; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80457.4]
  wire [3:0] effectivePriority_10; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80458.4]
  wire [3:0] effectivePriority_11; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80459.4]
  wire [3:0] effectivePriority_12; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80460.4]
  wire [3:0] effectivePriority_13; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80461.4]
  wire [3:0] effectivePriority_14; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80462.4]
  wire [3:0] effectivePriority_15; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80463.4]
  wire [3:0] effectivePriority_16; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80464.4]
  wire [3:0] effectivePriority_17; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80465.4]
  wire [3:0] effectivePriority_18; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80466.4]
  wire [3:0] effectivePriority_19; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80467.4]
  wire [3:0] effectivePriority_20; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80468.4]
  wire [3:0] effectivePriority_21; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80469.4]
  wire [3:0] effectivePriority_22; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80470.4]
  wire [3:0] effectivePriority_23; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80471.4]
  wire [3:0] effectivePriority_24; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80472.4]
  wire [3:0] effectivePriority_25; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80473.4]
  wire [3:0] effectivePriority_26; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80474.4]
  wire [3:0] effectivePriority_27; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80475.4]
  wire [3:0] effectivePriority_28; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80476.4]
  wire [3:0] effectivePriority_29; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80477.4]
  wire [3:0] effectivePriority_30; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80478.4]
  wire [3:0] effectivePriority_31; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80479.4]
  wire [3:0] effectivePriority_32; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80480.4]
  wire [3:0] effectivePriority_33; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80481.4]
  wire [3:0] effectivePriority_34; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80482.4]
  wire [3:0] effectivePriority_35; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80483.4]
  wire [3:0] effectivePriority_36; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80484.4]
  wire [3:0] effectivePriority_37; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80485.4]
  wire [3:0] effectivePriority_38; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80486.4]
  wire [3:0] effectivePriority_39; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80487.4]
  wire [3:0] effectivePriority_40; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80488.4]
  wire [3:0] effectivePriority_41; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80489.4]
  wire [3:0] effectivePriority_42; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80490.4]
  wire [3:0] effectivePriority_43; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80491.4]
  wire [3:0] effectivePriority_44; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80492.4]
  wire  _T_98; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80493.4]
  wire [3:0] _T_100; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80495.4]
  wire  _T_101; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80496.4]
  wire  _T_102; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80497.4]
  wire [3:0] _T_104; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80499.4]
  wire  _T_105; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80500.4]
  wire  _T_106; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80501.4]
  wire [1:0] _GEN_0; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80502.4]
  wire [1:0] _T_107; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80502.4]
  wire [3:0] _T_108; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80503.4]
  wire [1:0] _T_109; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80504.4]
  wire  _T_110; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80505.4]
  wire [3:0] _T_112; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80507.4]
  wire  _T_113; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80508.4]
  wire  _T_114; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80509.4]
  wire [3:0] _T_116; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80511.4]
  wire  _T_117; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80512.4]
  wire  _T_118; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80513.4]
  wire [1:0] _GEN_1; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80514.4]
  wire [1:0] _T_119; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80514.4]
  wire [3:0] _T_120; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80515.4]
  wire [1:0] _T_121; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80516.4]
  wire  _T_122; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80517.4]
  wire [2:0] _GEN_2; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80518.4]
  wire [2:0] _T_123; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80518.4]
  wire [3:0] _T_124; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80519.4]
  wire [2:0] _T_125; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80520.4]
  wire  _T_126; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80521.4]
  wire [3:0] _T_128; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80523.4]
  wire  _T_129; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80524.4]
  wire  _T_130; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80525.4]
  wire [3:0] _T_132; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80527.4]
  wire  _T_133; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80528.4]
  wire  _T_134; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80529.4]
  wire [1:0] _GEN_3; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80530.4]
  wire [1:0] _T_135; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80530.4]
  wire [3:0] _T_136; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80531.4]
  wire [1:0] _T_137; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80532.4]
  wire  _T_138; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80533.4]
  wire [3:0] _T_140; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80535.4]
  wire  _T_141; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80536.4]
  wire  _T_142; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80537.4]
  wire [3:0] _T_144; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80539.4]
  wire  _T_145; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80540.4]
  wire  _T_146; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80541.4]
  wire [1:0] _GEN_4; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80542.4]
  wire [1:0] _T_147; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80542.4]
  wire [3:0] _T_148; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80543.4]
  wire [1:0] _T_149; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80544.4]
  wire  _T_150; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80545.4]
  wire [2:0] _GEN_5; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80546.4]
  wire [2:0] _T_151; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80546.4]
  wire [3:0] _T_152; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80547.4]
  wire [2:0] _T_153; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80548.4]
  wire  _T_154; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80549.4]
  wire [3:0] _GEN_6; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80550.4]
  wire [3:0] _T_155; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80550.4]
  wire [3:0] _T_156; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80551.4]
  wire [3:0] _T_157; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80552.4]
  wire  _T_158; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80553.4]
  wire [3:0] _T_160; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80555.4]
  wire  _T_161; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80556.4]
  wire  _T_162; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80557.4]
  wire [3:0] _T_164; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80559.4]
  wire  _T_165; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80560.4]
  wire  _T_166; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80561.4]
  wire [1:0] _GEN_7; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80562.4]
  wire [1:0] _T_167; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80562.4]
  wire [3:0] _T_168; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80563.4]
  wire [1:0] _T_169; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80564.4]
  wire  _T_170; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80565.4]
  wire [3:0] _T_172; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80567.4]
  wire  _T_173; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80568.4]
  wire  _T_174; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80569.4]
  wire [3:0] _T_176; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80571.4]
  wire  _T_177; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80572.4]
  wire  _T_178; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80573.4]
  wire [1:0] _GEN_8; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80574.4]
  wire [1:0] _T_179; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80574.4]
  wire [3:0] _T_180; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80575.4]
  wire [1:0] _T_181; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80576.4]
  wire  _T_182; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80577.4]
  wire [2:0] _GEN_9; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80578.4]
  wire [2:0] _T_183; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80578.4]
  wire [3:0] _T_184; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80579.4]
  wire [2:0] _T_185; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80580.4]
  wire  _T_186; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80581.4]
  wire [3:0] _T_188; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80583.4]
  wire  _T_189; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80584.4]
  wire  _T_190; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80585.4]
  wire [3:0] _T_192; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80587.4]
  wire  _T_193; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80588.4]
  wire  _T_194; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80589.4]
  wire [1:0] _GEN_10; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80590.4]
  wire [1:0] _T_195; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80590.4]
  wire [3:0] _T_196; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80591.4]
  wire [1:0] _T_197; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80592.4]
  wire  _T_198; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80593.4]
  wire [3:0] _T_200; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80595.4]
  wire  _T_201; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80596.4]
  wire  _T_202; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80597.4]
  wire [3:0] _T_204; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80599.4]
  wire  _T_205; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80600.4]
  wire  _T_206; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80601.4]
  wire [1:0] _GEN_11; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80602.4]
  wire [1:0] _T_207; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80602.4]
  wire [3:0] _T_208; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80603.4]
  wire [1:0] _T_209; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80604.4]
  wire  _T_210; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80605.4]
  wire [2:0] _GEN_12; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80606.4]
  wire [2:0] _T_211; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80606.4]
  wire [3:0] _T_212; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80607.4]
  wire [2:0] _T_213; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80608.4]
  wire  _T_214; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80609.4]
  wire [3:0] _GEN_13; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80610.4]
  wire [3:0] _T_215; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80610.4]
  wire [3:0] _T_216; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80611.4]
  wire [3:0] _T_217; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80612.4]
  wire  _T_218; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80613.4]
  wire [4:0] _GEN_14; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80614.4]
  wire [4:0] _T_219; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80614.4]
  wire [3:0] _T_220; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80615.4]
  wire [4:0] _T_221; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80616.4]
  wire  _T_222; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80617.4]
  wire [3:0] _T_224; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80619.4]
  wire  _T_225; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80620.4]
  wire  _T_226; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80621.4]
  wire [3:0] _T_228; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80623.4]
  wire  _T_229; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80624.4]
  wire  _T_230; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80625.4]
  wire [1:0] _GEN_15; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80626.4]
  wire [1:0] _T_231; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80626.4]
  wire [3:0] _T_232; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80627.4]
  wire [1:0] _T_233; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80628.4]
  wire  _T_234; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80629.4]
  wire [3:0] _T_236; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80631.4]
  wire  _T_237; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80632.4]
  wire  _T_238; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80633.4]
  wire [3:0] _T_240; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80635.4]
  wire  _T_241; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80636.4]
  wire  _T_242; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80637.4]
  wire [1:0] _GEN_16; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80638.4]
  wire [1:0] _T_243; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80638.4]
  wire [3:0] _T_244; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80639.4]
  wire [1:0] _T_245; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80640.4]
  wire  _T_246; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80641.4]
  wire [2:0] _GEN_17; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80642.4]
  wire [2:0] _T_247; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80642.4]
  wire [3:0] _T_248; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80643.4]
  wire [2:0] _T_249; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80644.4]
  wire  _T_250; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80645.4]
  wire [3:0] _T_252; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80647.4]
  wire  _T_253; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80648.4]
  wire  _T_254; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80649.4]
  wire [3:0] _T_256; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80651.4]
  wire  _T_257; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80652.4]
  wire  _T_258; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80653.4]
  wire [1:0] _GEN_18; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80654.4]
  wire [1:0] _T_259; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80654.4]
  wire [3:0] _T_260; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80655.4]
  wire [1:0] _T_261; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80656.4]
  wire  _T_262; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80657.4]
  wire [3:0] _T_264; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80659.4]
  wire [2:0] _T_265; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80660.4]
  wire  _T_266; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80661.4]
  wire [3:0] _GEN_19; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80662.4]
  wire [3:0] _T_267; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80662.4]
  wire [3:0] _T_268; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80663.4]
  wire [3:0] _T_269; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80664.4]
  wire  _T_270; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80665.4]
  wire [5:0] _GEN_20; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80666.4]
  wire [5:0] _T_271; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80666.4]
  wire [3:0] maxPri; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80667.4]
  assign _T_54 = io_ip[0]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80405.4]
  assign _T_55 = io_ip[1]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80406.4]
  assign _T_56 = io_ip[2]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80407.4]
  assign _T_57 = io_ip[3]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80408.4]
  assign _T_58 = io_ip[4]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80409.4]
  assign _T_59 = io_ip[5]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80410.4]
  assign _T_60 = io_ip[6]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80411.4]
  assign _T_61 = io_ip[7]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80412.4]
  assign _T_62 = io_ip[8]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80413.4]
  assign _T_63 = io_ip[9]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80414.4]
  assign _T_64 = io_ip[10]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80415.4]
  assign _T_65 = io_ip[11]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80416.4]
  assign _T_66 = io_ip[12]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80417.4]
  assign _T_67 = io_ip[13]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80418.4]
  assign _T_68 = io_ip[14]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80419.4]
  assign _T_69 = io_ip[15]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80420.4]
  assign _T_70 = io_ip[16]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80421.4]
  assign _T_71 = io_ip[17]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80422.4]
  assign _T_72 = io_ip[18]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80423.4]
  assign _T_73 = io_ip[19]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80424.4]
  assign _T_74 = io_ip[20]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80425.4]
  assign _T_75 = io_ip[21]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80426.4]
  assign _T_76 = io_ip[22]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80427.4]
  assign _T_77 = io_ip[23]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80428.4]
  assign _T_78 = io_ip[24]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80429.4]
  assign _T_79 = io_ip[25]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80430.4]
  assign _T_80 = io_ip[26]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80431.4]
  assign _T_81 = io_ip[27]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80432.4]
  assign _T_82 = io_ip[28]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80433.4]
  assign _T_83 = io_ip[29]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80434.4]
  assign _T_84 = io_ip[30]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80435.4]
  assign _T_85 = io_ip[31]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80436.4]
  assign _T_86 = io_ip[32]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80437.4]
  assign _T_87 = io_ip[33]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80438.4]
  assign _T_88 = io_ip[34]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80439.4]
  assign _T_89 = io_ip[35]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80440.4]
  assign _T_90 = io_ip[36]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80441.4]
  assign _T_91 = io_ip[37]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80442.4]
  assign _T_92 = io_ip[38]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80443.4]
  assign _T_93 = io_ip[39]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80444.4]
  assign _T_94 = io_ip[40]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80445.4]
  assign _T_95 = io_ip[41]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80446.4]
  assign _T_96 = io_ip[42]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80447.4]
  assign _T_97 = io_ip[43]; // @[Plic.scala 327:59:shc.marmotcaravel.MarmotCaravelConfig.fir@80448.4]
  assign effectivePriority_1 = {_T_54,io_prio_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80449.4]
  assign effectivePriority_2 = {_T_55,io_prio_1}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80450.4]
  assign effectivePriority_3 = {_T_56,io_prio_2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80451.4]
  assign effectivePriority_4 = {_T_57,io_prio_3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80452.4]
  assign effectivePriority_5 = {_T_58,io_prio_4}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80453.4]
  assign effectivePriority_6 = {_T_59,io_prio_5}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80454.4]
  assign effectivePriority_7 = {_T_60,io_prio_6}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80455.4]
  assign effectivePriority_8 = {_T_61,io_prio_7}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80456.4]
  assign effectivePriority_9 = {_T_62,io_prio_8}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80457.4]
  assign effectivePriority_10 = {_T_63,io_prio_9}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80458.4]
  assign effectivePriority_11 = {_T_64,io_prio_10}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80459.4]
  assign effectivePriority_12 = {_T_65,io_prio_11}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80460.4]
  assign effectivePriority_13 = {_T_66,io_prio_12}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80461.4]
  assign effectivePriority_14 = {_T_67,io_prio_13}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80462.4]
  assign effectivePriority_15 = {_T_68,io_prio_14}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80463.4]
  assign effectivePriority_16 = {_T_69,io_prio_15}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80464.4]
  assign effectivePriority_17 = {_T_70,io_prio_16}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80465.4]
  assign effectivePriority_18 = {_T_71,io_prio_17}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80466.4]
  assign effectivePriority_19 = {_T_72,io_prio_18}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80467.4]
  assign effectivePriority_20 = {_T_73,io_prio_19}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80468.4]
  assign effectivePriority_21 = {_T_74,io_prio_20}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80469.4]
  assign effectivePriority_22 = {_T_75,io_prio_21}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80470.4]
  assign effectivePriority_23 = {_T_76,io_prio_22}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80471.4]
  assign effectivePriority_24 = {_T_77,io_prio_23}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80472.4]
  assign effectivePriority_25 = {_T_78,io_prio_24}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80473.4]
  assign effectivePriority_26 = {_T_79,io_prio_25}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80474.4]
  assign effectivePriority_27 = {_T_80,io_prio_26}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80475.4]
  assign effectivePriority_28 = {_T_81,io_prio_27}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80476.4]
  assign effectivePriority_29 = {_T_82,io_prio_28}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80477.4]
  assign effectivePriority_30 = {_T_83,io_prio_29}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80478.4]
  assign effectivePriority_31 = {_T_84,io_prio_30}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80479.4]
  assign effectivePriority_32 = {_T_85,io_prio_31}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80480.4]
  assign effectivePriority_33 = {_T_86,io_prio_32}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80481.4]
  assign effectivePriority_34 = {_T_87,io_prio_33}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80482.4]
  assign effectivePriority_35 = {_T_88,io_prio_34}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80483.4]
  assign effectivePriority_36 = {_T_89,io_prio_35}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80484.4]
  assign effectivePriority_37 = {_T_90,io_prio_36}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80485.4]
  assign effectivePriority_38 = {_T_91,io_prio_37}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80486.4]
  assign effectivePriority_39 = {_T_92,io_prio_38}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80487.4]
  assign effectivePriority_40 = {_T_93,io_prio_39}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80488.4]
  assign effectivePriority_41 = {_T_94,io_prio_40}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80489.4]
  assign effectivePriority_42 = {_T_95,io_prio_41}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80490.4]
  assign effectivePriority_43 = {_T_96,io_prio_42}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80491.4]
  assign effectivePriority_44 = {_T_97,io_prio_43}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@80492.4]
  assign _T_98 = 4'h8 >= effectivePriority_1; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80493.4]
  assign _T_100 = _T_98 ? 4'h8 : effectivePriority_1; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80495.4]
  assign _T_101 = _T_98 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80496.4]
  assign _T_102 = effectivePriority_2 >= effectivePriority_3; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80497.4]
  assign _T_104 = _T_102 ? effectivePriority_2 : effectivePriority_3; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80499.4]
  assign _T_105 = _T_102 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80500.4]
  assign _T_106 = _T_100 >= _T_104; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80501.4]
  assign _GEN_0 = {{1'd0}, _T_105}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80502.4]
  assign _T_107 = 2'h2 | _GEN_0; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80502.4]
  assign _T_108 = _T_106 ? _T_100 : _T_104; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80503.4]
  assign _T_109 = _T_106 ? {{1'd0}, _T_101} : _T_107; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80504.4]
  assign _T_110 = effectivePriority_4 >= effectivePriority_5; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80505.4]
  assign _T_112 = _T_110 ? effectivePriority_4 : effectivePriority_5; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80507.4]
  assign _T_113 = _T_110 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80508.4]
  assign _T_114 = effectivePriority_6 >= effectivePriority_7; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80509.4]
  assign _T_116 = _T_114 ? effectivePriority_6 : effectivePriority_7; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80511.4]
  assign _T_117 = _T_114 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80512.4]
  assign _T_118 = _T_112 >= _T_116; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80513.4]
  assign _GEN_1 = {{1'd0}, _T_117}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80514.4]
  assign _T_119 = 2'h2 | _GEN_1; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80514.4]
  assign _T_120 = _T_118 ? _T_112 : _T_116; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80515.4]
  assign _T_121 = _T_118 ? {{1'd0}, _T_113} : _T_119; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80516.4]
  assign _T_122 = _T_108 >= _T_120; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80517.4]
  assign _GEN_2 = {{1'd0}, _T_121}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80518.4]
  assign _T_123 = 3'h4 | _GEN_2; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80518.4]
  assign _T_124 = _T_122 ? _T_108 : _T_120; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80519.4]
  assign _T_125 = _T_122 ? {{1'd0}, _T_109} : _T_123; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80520.4]
  assign _T_126 = effectivePriority_8 >= effectivePriority_9; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80521.4]
  assign _T_128 = _T_126 ? effectivePriority_8 : effectivePriority_9; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80523.4]
  assign _T_129 = _T_126 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80524.4]
  assign _T_130 = effectivePriority_10 >= effectivePriority_11; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80525.4]
  assign _T_132 = _T_130 ? effectivePriority_10 : effectivePriority_11; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80527.4]
  assign _T_133 = _T_130 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80528.4]
  assign _T_134 = _T_128 >= _T_132; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80529.4]
  assign _GEN_3 = {{1'd0}, _T_133}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80530.4]
  assign _T_135 = 2'h2 | _GEN_3; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80530.4]
  assign _T_136 = _T_134 ? _T_128 : _T_132; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80531.4]
  assign _T_137 = _T_134 ? {{1'd0}, _T_129} : _T_135; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80532.4]
  assign _T_138 = effectivePriority_12 >= effectivePriority_13; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80533.4]
  assign _T_140 = _T_138 ? effectivePriority_12 : effectivePriority_13; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80535.4]
  assign _T_141 = _T_138 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80536.4]
  assign _T_142 = effectivePriority_14 >= effectivePriority_15; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80537.4]
  assign _T_144 = _T_142 ? effectivePriority_14 : effectivePriority_15; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80539.4]
  assign _T_145 = _T_142 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80540.4]
  assign _T_146 = _T_140 >= _T_144; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80541.4]
  assign _GEN_4 = {{1'd0}, _T_145}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80542.4]
  assign _T_147 = 2'h2 | _GEN_4; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80542.4]
  assign _T_148 = _T_146 ? _T_140 : _T_144; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80543.4]
  assign _T_149 = _T_146 ? {{1'd0}, _T_141} : _T_147; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80544.4]
  assign _T_150 = _T_136 >= _T_148; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80545.4]
  assign _GEN_5 = {{1'd0}, _T_149}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80546.4]
  assign _T_151 = 3'h4 | _GEN_5; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80546.4]
  assign _T_152 = _T_150 ? _T_136 : _T_148; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80547.4]
  assign _T_153 = _T_150 ? {{1'd0}, _T_137} : _T_151; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80548.4]
  assign _T_154 = _T_124 >= _T_152; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80549.4]
  assign _GEN_6 = {{1'd0}, _T_153}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80550.4]
  assign _T_155 = 4'h8 | _GEN_6; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80550.4]
  assign _T_156 = _T_154 ? _T_124 : _T_152; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80551.4]
  assign _T_157 = _T_154 ? {{1'd0}, _T_125} : _T_155; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80552.4]
  assign _T_158 = effectivePriority_16 >= effectivePriority_17; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80553.4]
  assign _T_160 = _T_158 ? effectivePriority_16 : effectivePriority_17; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80555.4]
  assign _T_161 = _T_158 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80556.4]
  assign _T_162 = effectivePriority_18 >= effectivePriority_19; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80557.4]
  assign _T_164 = _T_162 ? effectivePriority_18 : effectivePriority_19; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80559.4]
  assign _T_165 = _T_162 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80560.4]
  assign _T_166 = _T_160 >= _T_164; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80561.4]
  assign _GEN_7 = {{1'd0}, _T_165}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80562.4]
  assign _T_167 = 2'h2 | _GEN_7; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80562.4]
  assign _T_168 = _T_166 ? _T_160 : _T_164; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80563.4]
  assign _T_169 = _T_166 ? {{1'd0}, _T_161} : _T_167; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80564.4]
  assign _T_170 = effectivePriority_20 >= effectivePriority_21; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80565.4]
  assign _T_172 = _T_170 ? effectivePriority_20 : effectivePriority_21; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80567.4]
  assign _T_173 = _T_170 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80568.4]
  assign _T_174 = effectivePriority_22 >= effectivePriority_23; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80569.4]
  assign _T_176 = _T_174 ? effectivePriority_22 : effectivePriority_23; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80571.4]
  assign _T_177 = _T_174 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80572.4]
  assign _T_178 = _T_172 >= _T_176; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80573.4]
  assign _GEN_8 = {{1'd0}, _T_177}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80574.4]
  assign _T_179 = 2'h2 | _GEN_8; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80574.4]
  assign _T_180 = _T_178 ? _T_172 : _T_176; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80575.4]
  assign _T_181 = _T_178 ? {{1'd0}, _T_173} : _T_179; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80576.4]
  assign _T_182 = _T_168 >= _T_180; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80577.4]
  assign _GEN_9 = {{1'd0}, _T_181}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80578.4]
  assign _T_183 = 3'h4 | _GEN_9; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80578.4]
  assign _T_184 = _T_182 ? _T_168 : _T_180; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80579.4]
  assign _T_185 = _T_182 ? {{1'd0}, _T_169} : _T_183; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80580.4]
  assign _T_186 = effectivePriority_24 >= effectivePriority_25; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80581.4]
  assign _T_188 = _T_186 ? effectivePriority_24 : effectivePriority_25; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80583.4]
  assign _T_189 = _T_186 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80584.4]
  assign _T_190 = effectivePriority_26 >= effectivePriority_27; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80585.4]
  assign _T_192 = _T_190 ? effectivePriority_26 : effectivePriority_27; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80587.4]
  assign _T_193 = _T_190 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80588.4]
  assign _T_194 = _T_188 >= _T_192; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80589.4]
  assign _GEN_10 = {{1'd0}, _T_193}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80590.4]
  assign _T_195 = 2'h2 | _GEN_10; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80590.4]
  assign _T_196 = _T_194 ? _T_188 : _T_192; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80591.4]
  assign _T_197 = _T_194 ? {{1'd0}, _T_189} : _T_195; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80592.4]
  assign _T_198 = effectivePriority_28 >= effectivePriority_29; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80593.4]
  assign _T_200 = _T_198 ? effectivePriority_28 : effectivePriority_29; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80595.4]
  assign _T_201 = _T_198 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80596.4]
  assign _T_202 = effectivePriority_30 >= effectivePriority_31; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80597.4]
  assign _T_204 = _T_202 ? effectivePriority_30 : effectivePriority_31; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80599.4]
  assign _T_205 = _T_202 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80600.4]
  assign _T_206 = _T_200 >= _T_204; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80601.4]
  assign _GEN_11 = {{1'd0}, _T_205}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80602.4]
  assign _T_207 = 2'h2 | _GEN_11; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80602.4]
  assign _T_208 = _T_206 ? _T_200 : _T_204; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80603.4]
  assign _T_209 = _T_206 ? {{1'd0}, _T_201} : _T_207; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80604.4]
  assign _T_210 = _T_196 >= _T_208; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80605.4]
  assign _GEN_12 = {{1'd0}, _T_209}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80606.4]
  assign _T_211 = 3'h4 | _GEN_12; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80606.4]
  assign _T_212 = _T_210 ? _T_196 : _T_208; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80607.4]
  assign _T_213 = _T_210 ? {{1'd0}, _T_197} : _T_211; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80608.4]
  assign _T_214 = _T_184 >= _T_212; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80609.4]
  assign _GEN_13 = {{1'd0}, _T_213}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80610.4]
  assign _T_215 = 4'h8 | _GEN_13; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80610.4]
  assign _T_216 = _T_214 ? _T_184 : _T_212; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80611.4]
  assign _T_217 = _T_214 ? {{1'd0}, _T_185} : _T_215; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80612.4]
  assign _T_218 = _T_156 >= _T_216; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80613.4]
  assign _GEN_14 = {{1'd0}, _T_217}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80614.4]
  assign _T_219 = 5'h10 | _GEN_14; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80614.4]
  assign _T_220 = _T_218 ? _T_156 : _T_216; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80615.4]
  assign _T_221 = _T_218 ? {{1'd0}, _T_157} : _T_219; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80616.4]
  assign _T_222 = effectivePriority_32 >= effectivePriority_33; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80617.4]
  assign _T_224 = _T_222 ? effectivePriority_32 : effectivePriority_33; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80619.4]
  assign _T_225 = _T_222 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80620.4]
  assign _T_226 = effectivePriority_34 >= effectivePriority_35; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80621.4]
  assign _T_228 = _T_226 ? effectivePriority_34 : effectivePriority_35; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80623.4]
  assign _T_229 = _T_226 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80624.4]
  assign _T_230 = _T_224 >= _T_228; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80625.4]
  assign _GEN_15 = {{1'd0}, _T_229}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80626.4]
  assign _T_231 = 2'h2 | _GEN_15; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80626.4]
  assign _T_232 = _T_230 ? _T_224 : _T_228; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80627.4]
  assign _T_233 = _T_230 ? {{1'd0}, _T_225} : _T_231; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80628.4]
  assign _T_234 = effectivePriority_36 >= effectivePriority_37; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80629.4]
  assign _T_236 = _T_234 ? effectivePriority_36 : effectivePriority_37; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80631.4]
  assign _T_237 = _T_234 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80632.4]
  assign _T_238 = effectivePriority_38 >= effectivePriority_39; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80633.4]
  assign _T_240 = _T_238 ? effectivePriority_38 : effectivePriority_39; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80635.4]
  assign _T_241 = _T_238 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80636.4]
  assign _T_242 = _T_236 >= _T_240; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80637.4]
  assign _GEN_16 = {{1'd0}, _T_241}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80638.4]
  assign _T_243 = 2'h2 | _GEN_16; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80638.4]
  assign _T_244 = _T_242 ? _T_236 : _T_240; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80639.4]
  assign _T_245 = _T_242 ? {{1'd0}, _T_237} : _T_243; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80640.4]
  assign _T_246 = _T_232 >= _T_244; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80641.4]
  assign _GEN_17 = {{1'd0}, _T_245}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80642.4]
  assign _T_247 = 3'h4 | _GEN_17; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80642.4]
  assign _T_248 = _T_246 ? _T_232 : _T_244; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80643.4]
  assign _T_249 = _T_246 ? {{1'd0}, _T_233} : _T_247; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80644.4]
  assign _T_250 = effectivePriority_40 >= effectivePriority_41; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80645.4]
  assign _T_252 = _T_250 ? effectivePriority_40 : effectivePriority_41; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80647.4]
  assign _T_253 = _T_250 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80648.4]
  assign _T_254 = effectivePriority_42 >= effectivePriority_43; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80649.4]
  assign _T_256 = _T_254 ? effectivePriority_42 : effectivePriority_43; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80651.4]
  assign _T_257 = _T_254 ? 1'h0 : 1'h1; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80652.4]
  assign _T_258 = _T_252 >= _T_256; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80653.4]
  assign _GEN_18 = {{1'd0}, _T_257}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80654.4]
  assign _T_259 = 2'h2 | _GEN_18; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80654.4]
  assign _T_260 = _T_258 ? _T_252 : _T_256; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80655.4]
  assign _T_261 = _T_258 ? {{1'd0}, _T_253} : _T_259; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80656.4]
  assign _T_262 = _T_260 >= effectivePriority_44; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80657.4]
  assign _T_264 = _T_262 ? _T_260 : effectivePriority_44; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80659.4]
  assign _T_265 = _T_262 ? {{1'd0}, _T_261} : 3'h4; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80660.4]
  assign _T_266 = _T_248 >= _T_264; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80661.4]
  assign _GEN_19 = {{1'd0}, _T_265}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80662.4]
  assign _T_267 = 4'h8 | _GEN_19; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80662.4]
  assign _T_268 = _T_266 ? _T_248 : _T_264; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80663.4]
  assign _T_269 = _T_266 ? {{1'd0}, _T_249} : _T_267; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80664.4]
  assign _T_270 = _T_220 >= _T_268; // @[Plic.scala 323:20:shc.marmotcaravel.MarmotCaravelConfig.fir@80665.4]
  assign _GEN_20 = {{2'd0}, _T_269}; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80666.4]
  assign _T_271 = 6'h20 | _GEN_20; // @[Plic.scala 323:61:shc.marmotcaravel.MarmotCaravelConfig.fir@80666.4]
  assign maxPri = _T_270 ? _T_220 : _T_268; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@80667.4]
  assign io_dev = _T_270 ? {{1'd0}, _T_221} : _T_271; // @[Plic.scala 330:10:shc.marmotcaravel.MarmotCaravelConfig.fir@80670.4]
  assign io_max = maxPri[2:0]; // @[Plic.scala 329:10:shc.marmotcaravel.MarmotCaravelConfig.fir@80669.4]
endmodule
module Queue_8( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80672.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80673.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80674.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
  input         io_enq_bits_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
  input  [23:0] io_enq_bits_index, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
  input  [7:0]  io_enq_bits_extra, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
  output        io_deq_bits_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
  output [23:0] io_deq_bits_index, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
  output [7:0]  io_deq_bits_extra // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80675.4]
);
  reg  _T_35_read [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  reg [31:0] _RAND_0;
  wire  _T_35_read__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  wire  _T_35_read__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  wire  _T_35_read__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  wire  _T_35_read__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  wire  _T_35_read__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  wire  _T_35_read__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  reg [23:0] _T_35_index [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  reg [31:0] _RAND_1;
  wire [23:0] _T_35_index__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  wire  _T_35_index__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  wire [23:0] _T_35_index__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  wire  _T_35_index__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  wire  _T_35_index__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  wire  _T_35_index__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  reg [31:0] _T_35_data [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  reg [31:0] _RAND_2;
  wire [31:0] _T_35_data__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  wire  _T_35_data__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  wire [31:0] _T_35_data__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  wire  _T_35_data__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  wire  _T_35_data__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  wire  _T_35_data__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  reg [3:0] _T_35_mask [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  reg [31:0] _RAND_3;
  wire [3:0] _T_35_mask__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  wire  _T_35_mask__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  wire [3:0] _T_35_mask__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  wire  _T_35_mask__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  wire  _T_35_mask__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  wire  _T_35_mask__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  reg [7:0] _T_35_extra [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  reg [31:0] _RAND_4;
  wire [7:0] _T_35_extra__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  wire  _T_35_extra__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  wire [7:0] _T_35_extra__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  wire  _T_35_extra__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  wire  _T_35_extra__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  wire  _T_35_extra__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  reg  _T_37; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@80678.4]
  reg [31:0] _RAND_5;
  wire  _T_39; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80680.4]
  wire  _T_42; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@80683.4]
  wire  _T_45; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@80686.4]
  wire  _T_49; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@80699.4]
  assign _T_35_read__T_52_addr = 1'h0;
  assign _T_35_read__T_52_data = _T_35_read[_T_35_read__T_52_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  assign _T_35_read__T_48_data = io_enq_bits_read;
  assign _T_35_read__T_48_addr = 1'h0;
  assign _T_35_read__T_48_mask = 1'h1;
  assign _T_35_read__T_48_en = io_enq_ready & io_enq_valid;
  assign _T_35_index__T_52_addr = 1'h0;
  assign _T_35_index__T_52_data = _T_35_index[_T_35_index__T_52_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  assign _T_35_index__T_48_data = io_enq_bits_index;
  assign _T_35_index__T_48_addr = 1'h0;
  assign _T_35_index__T_48_mask = 1'h1;
  assign _T_35_index__T_48_en = io_enq_ready & io_enq_valid;
  assign _T_35_data__T_52_addr = 1'h0;
  assign _T_35_data__T_52_data = _T_35_data[_T_35_data__T_52_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  assign _T_35_data__T_48_data = io_enq_bits_data;
  assign _T_35_data__T_48_addr = 1'h0;
  assign _T_35_data__T_48_mask = 1'h1;
  assign _T_35_data__T_48_en = io_enq_ready & io_enq_valid;
  assign _T_35_mask__T_52_addr = 1'h0;
  assign _T_35_mask__T_52_data = _T_35_mask[_T_35_mask__T_52_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  assign _T_35_mask__T_48_data = io_enq_bits_mask;
  assign _T_35_mask__T_48_addr = 1'h0;
  assign _T_35_mask__T_48_mask = 1'h1;
  assign _T_35_mask__T_48_en = io_enq_ready & io_enq_valid;
  assign _T_35_extra__T_52_addr = 1'h0;
  assign _T_35_extra__T_52_data = _T_35_extra[_T_35_extra__T_52_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
  assign _T_35_extra__T_48_data = io_enq_bits_extra;
  assign _T_35_extra__T_48_addr = 1'h0;
  assign _T_35_extra__T_48_mask = 1'h1;
  assign _T_35_extra__T_48_en = io_enq_ready & io_enq_valid;
  assign _T_39 = _T_37 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@80680.4]
  assign _T_42 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@80683.4]
  assign _T_45 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@80686.4]
  assign _T_49 = _T_42 != _T_45; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@80699.4]
  assign io_enq_ready = _T_37 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@80706.4]
  assign io_deq_valid = _T_39 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@80704.4]
  assign io_deq_bits_read = _T_35_read__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@80712.4]
  assign io_deq_bits_index = _T_35_index__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@80711.4]
  assign io_deq_bits_data = _T_35_data__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@80710.4]
  assign io_deq_bits_mask = _T_35_mask__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@80709.4]
  assign io_deq_bits_extra = _T_35_extra__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@80708.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  _RAND_0 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    _T_35_read[initvar] = _RAND_0[0:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_1 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    _T_35_index[initvar] = _RAND_1[23:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_2 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    _T_35_data[initvar] = _RAND_2[31:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_3 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    _T_35_mask[initvar] = _RAND_3[3:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_4 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    _T_35_extra[initvar] = _RAND_4[7:0];
  `endif // RANDOMIZE_MEM_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_37 = _RAND_5[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if(_T_35_read__T_48_en & _T_35_read__T_48_mask) begin
      _T_35_read[_T_35_read__T_48_addr] <= _T_35_read__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
    end
    if(_T_35_index__T_48_en & _T_35_index__T_48_mask) begin
      _T_35_index[_T_35_index__T_48_addr] <= _T_35_index__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
    end
    if(_T_35_data__T_48_en & _T_35_data__T_48_mask) begin
      _T_35_data[_T_35_data__T_48_addr] <= _T_35_data__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
    end
    if(_T_35_mask__T_48_en & _T_35_mask__T_48_mask) begin
      _T_35_mask[_T_35_mask__T_48_addr] <= _T_35_mask__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
    end
    if(_T_35_extra__T_48_en & _T_35_extra__T_48_mask) begin
      _T_35_extra[_T_35_extra__T_48_addr] <= _T_35_extra__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@80677.4]
    end
    if (reset) begin
      _T_37 <= 1'h0;
    end else begin
      if (_T_49) begin
        _T_37 <= _T_42;
      end
    end
  end
endmodule
module TLPLIC( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80720.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80721.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80722.4]
  input         auto_int_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_32, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_33, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_34, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_35, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_36, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_37, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_38, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_39, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_40, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_41, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_42, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_int_in_43, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  output        auto_int_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input  [27:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
  output [31:0] auto_in_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80723.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
  wire [27:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
  wire  LevelGateway_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80774.4]
  wire  LevelGateway_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80774.4]
  wire  LevelGateway_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80774.4]
  wire  LevelGateway_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80774.4]
  wire  LevelGateway_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80774.4]
  wire  LevelGateway_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80774.4]
  wire  LevelGateway_1_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80779.4]
  wire  LevelGateway_1_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80779.4]
  wire  LevelGateway_1_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80779.4]
  wire  LevelGateway_1_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80779.4]
  wire  LevelGateway_1_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80779.4]
  wire  LevelGateway_1_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80779.4]
  wire  LevelGateway_2_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80784.4]
  wire  LevelGateway_2_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80784.4]
  wire  LevelGateway_2_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80784.4]
  wire  LevelGateway_2_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80784.4]
  wire  LevelGateway_2_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80784.4]
  wire  LevelGateway_2_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80784.4]
  wire  LevelGateway_3_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80789.4]
  wire  LevelGateway_3_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80789.4]
  wire  LevelGateway_3_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80789.4]
  wire  LevelGateway_3_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80789.4]
  wire  LevelGateway_3_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80789.4]
  wire  LevelGateway_3_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80789.4]
  wire  LevelGateway_4_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80794.4]
  wire  LevelGateway_4_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80794.4]
  wire  LevelGateway_4_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80794.4]
  wire  LevelGateway_4_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80794.4]
  wire  LevelGateway_4_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80794.4]
  wire  LevelGateway_4_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80794.4]
  wire  LevelGateway_5_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80799.4]
  wire  LevelGateway_5_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80799.4]
  wire  LevelGateway_5_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80799.4]
  wire  LevelGateway_5_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80799.4]
  wire  LevelGateway_5_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80799.4]
  wire  LevelGateway_5_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80799.4]
  wire  LevelGateway_6_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80804.4]
  wire  LevelGateway_6_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80804.4]
  wire  LevelGateway_6_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80804.4]
  wire  LevelGateway_6_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80804.4]
  wire  LevelGateway_6_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80804.4]
  wire  LevelGateway_6_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80804.4]
  wire  LevelGateway_7_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80809.4]
  wire  LevelGateway_7_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80809.4]
  wire  LevelGateway_7_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80809.4]
  wire  LevelGateway_7_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80809.4]
  wire  LevelGateway_7_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80809.4]
  wire  LevelGateway_7_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80809.4]
  wire  LevelGateway_8_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80814.4]
  wire  LevelGateway_8_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80814.4]
  wire  LevelGateway_8_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80814.4]
  wire  LevelGateway_8_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80814.4]
  wire  LevelGateway_8_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80814.4]
  wire  LevelGateway_8_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80814.4]
  wire  LevelGateway_9_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80819.4]
  wire  LevelGateway_9_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80819.4]
  wire  LevelGateway_9_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80819.4]
  wire  LevelGateway_9_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80819.4]
  wire  LevelGateway_9_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80819.4]
  wire  LevelGateway_9_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80819.4]
  wire  LevelGateway_10_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80824.4]
  wire  LevelGateway_10_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80824.4]
  wire  LevelGateway_10_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80824.4]
  wire  LevelGateway_10_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80824.4]
  wire  LevelGateway_10_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80824.4]
  wire  LevelGateway_10_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80824.4]
  wire  LevelGateway_11_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80829.4]
  wire  LevelGateway_11_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80829.4]
  wire  LevelGateway_11_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80829.4]
  wire  LevelGateway_11_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80829.4]
  wire  LevelGateway_11_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80829.4]
  wire  LevelGateway_11_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80829.4]
  wire  LevelGateway_12_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80834.4]
  wire  LevelGateway_12_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80834.4]
  wire  LevelGateway_12_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80834.4]
  wire  LevelGateway_12_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80834.4]
  wire  LevelGateway_12_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80834.4]
  wire  LevelGateway_12_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80834.4]
  wire  LevelGateway_13_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80839.4]
  wire  LevelGateway_13_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80839.4]
  wire  LevelGateway_13_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80839.4]
  wire  LevelGateway_13_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80839.4]
  wire  LevelGateway_13_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80839.4]
  wire  LevelGateway_13_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80839.4]
  wire  LevelGateway_14_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80844.4]
  wire  LevelGateway_14_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80844.4]
  wire  LevelGateway_14_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80844.4]
  wire  LevelGateway_14_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80844.4]
  wire  LevelGateway_14_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80844.4]
  wire  LevelGateway_14_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80844.4]
  wire  LevelGateway_15_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80849.4]
  wire  LevelGateway_15_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80849.4]
  wire  LevelGateway_15_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80849.4]
  wire  LevelGateway_15_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80849.4]
  wire  LevelGateway_15_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80849.4]
  wire  LevelGateway_15_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80849.4]
  wire  LevelGateway_16_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80854.4]
  wire  LevelGateway_16_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80854.4]
  wire  LevelGateway_16_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80854.4]
  wire  LevelGateway_16_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80854.4]
  wire  LevelGateway_16_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80854.4]
  wire  LevelGateway_16_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80854.4]
  wire  LevelGateway_17_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80859.4]
  wire  LevelGateway_17_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80859.4]
  wire  LevelGateway_17_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80859.4]
  wire  LevelGateway_17_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80859.4]
  wire  LevelGateway_17_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80859.4]
  wire  LevelGateway_17_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80859.4]
  wire  LevelGateway_18_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80864.4]
  wire  LevelGateway_18_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80864.4]
  wire  LevelGateway_18_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80864.4]
  wire  LevelGateway_18_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80864.4]
  wire  LevelGateway_18_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80864.4]
  wire  LevelGateway_18_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80864.4]
  wire  LevelGateway_19_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80869.4]
  wire  LevelGateway_19_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80869.4]
  wire  LevelGateway_19_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80869.4]
  wire  LevelGateway_19_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80869.4]
  wire  LevelGateway_19_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80869.4]
  wire  LevelGateway_19_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80869.4]
  wire  LevelGateway_20_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80874.4]
  wire  LevelGateway_20_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80874.4]
  wire  LevelGateway_20_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80874.4]
  wire  LevelGateway_20_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80874.4]
  wire  LevelGateway_20_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80874.4]
  wire  LevelGateway_20_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80874.4]
  wire  LevelGateway_21_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80879.4]
  wire  LevelGateway_21_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80879.4]
  wire  LevelGateway_21_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80879.4]
  wire  LevelGateway_21_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80879.4]
  wire  LevelGateway_21_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80879.4]
  wire  LevelGateway_21_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80879.4]
  wire  LevelGateway_22_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80884.4]
  wire  LevelGateway_22_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80884.4]
  wire  LevelGateway_22_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80884.4]
  wire  LevelGateway_22_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80884.4]
  wire  LevelGateway_22_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80884.4]
  wire  LevelGateway_22_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80884.4]
  wire  LevelGateway_23_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80889.4]
  wire  LevelGateway_23_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80889.4]
  wire  LevelGateway_23_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80889.4]
  wire  LevelGateway_23_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80889.4]
  wire  LevelGateway_23_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80889.4]
  wire  LevelGateway_23_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80889.4]
  wire  LevelGateway_24_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80894.4]
  wire  LevelGateway_24_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80894.4]
  wire  LevelGateway_24_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80894.4]
  wire  LevelGateway_24_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80894.4]
  wire  LevelGateway_24_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80894.4]
  wire  LevelGateway_24_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80894.4]
  wire  LevelGateway_25_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80899.4]
  wire  LevelGateway_25_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80899.4]
  wire  LevelGateway_25_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80899.4]
  wire  LevelGateway_25_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80899.4]
  wire  LevelGateway_25_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80899.4]
  wire  LevelGateway_25_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80899.4]
  wire  LevelGateway_26_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80904.4]
  wire  LevelGateway_26_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80904.4]
  wire  LevelGateway_26_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80904.4]
  wire  LevelGateway_26_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80904.4]
  wire  LevelGateway_26_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80904.4]
  wire  LevelGateway_26_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80904.4]
  wire  LevelGateway_27_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80909.4]
  wire  LevelGateway_27_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80909.4]
  wire  LevelGateway_27_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80909.4]
  wire  LevelGateway_27_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80909.4]
  wire  LevelGateway_27_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80909.4]
  wire  LevelGateway_27_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80909.4]
  wire  LevelGateway_28_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80914.4]
  wire  LevelGateway_28_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80914.4]
  wire  LevelGateway_28_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80914.4]
  wire  LevelGateway_28_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80914.4]
  wire  LevelGateway_28_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80914.4]
  wire  LevelGateway_28_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80914.4]
  wire  LevelGateway_29_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80919.4]
  wire  LevelGateway_29_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80919.4]
  wire  LevelGateway_29_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80919.4]
  wire  LevelGateway_29_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80919.4]
  wire  LevelGateway_29_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80919.4]
  wire  LevelGateway_29_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80919.4]
  wire  LevelGateway_30_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80924.4]
  wire  LevelGateway_30_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80924.4]
  wire  LevelGateway_30_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80924.4]
  wire  LevelGateway_30_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80924.4]
  wire  LevelGateway_30_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80924.4]
  wire  LevelGateway_30_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80924.4]
  wire  LevelGateway_31_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80929.4]
  wire  LevelGateway_31_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80929.4]
  wire  LevelGateway_31_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80929.4]
  wire  LevelGateway_31_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80929.4]
  wire  LevelGateway_31_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80929.4]
  wire  LevelGateway_31_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80929.4]
  wire  LevelGateway_32_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80934.4]
  wire  LevelGateway_32_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80934.4]
  wire  LevelGateway_32_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80934.4]
  wire  LevelGateway_32_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80934.4]
  wire  LevelGateway_32_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80934.4]
  wire  LevelGateway_32_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80934.4]
  wire  LevelGateway_33_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80939.4]
  wire  LevelGateway_33_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80939.4]
  wire  LevelGateway_33_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80939.4]
  wire  LevelGateway_33_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80939.4]
  wire  LevelGateway_33_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80939.4]
  wire  LevelGateway_33_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80939.4]
  wire  LevelGateway_34_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80944.4]
  wire  LevelGateway_34_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80944.4]
  wire  LevelGateway_34_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80944.4]
  wire  LevelGateway_34_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80944.4]
  wire  LevelGateway_34_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80944.4]
  wire  LevelGateway_34_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80944.4]
  wire  LevelGateway_35_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80949.4]
  wire  LevelGateway_35_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80949.4]
  wire  LevelGateway_35_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80949.4]
  wire  LevelGateway_35_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80949.4]
  wire  LevelGateway_35_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80949.4]
  wire  LevelGateway_35_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80949.4]
  wire  LevelGateway_36_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80954.4]
  wire  LevelGateway_36_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80954.4]
  wire  LevelGateway_36_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80954.4]
  wire  LevelGateway_36_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80954.4]
  wire  LevelGateway_36_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80954.4]
  wire  LevelGateway_36_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80954.4]
  wire  LevelGateway_37_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80959.4]
  wire  LevelGateway_37_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80959.4]
  wire  LevelGateway_37_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80959.4]
  wire  LevelGateway_37_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80959.4]
  wire  LevelGateway_37_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80959.4]
  wire  LevelGateway_37_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80959.4]
  wire  LevelGateway_38_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80964.4]
  wire  LevelGateway_38_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80964.4]
  wire  LevelGateway_38_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80964.4]
  wire  LevelGateway_38_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80964.4]
  wire  LevelGateway_38_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80964.4]
  wire  LevelGateway_38_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80964.4]
  wire  LevelGateway_39_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80969.4]
  wire  LevelGateway_39_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80969.4]
  wire  LevelGateway_39_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80969.4]
  wire  LevelGateway_39_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80969.4]
  wire  LevelGateway_39_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80969.4]
  wire  LevelGateway_39_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80969.4]
  wire  LevelGateway_40_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80974.4]
  wire  LevelGateway_40_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80974.4]
  wire  LevelGateway_40_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80974.4]
  wire  LevelGateway_40_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80974.4]
  wire  LevelGateway_40_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80974.4]
  wire  LevelGateway_40_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80974.4]
  wire  LevelGateway_41_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80979.4]
  wire  LevelGateway_41_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80979.4]
  wire  LevelGateway_41_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80979.4]
  wire  LevelGateway_41_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80979.4]
  wire  LevelGateway_41_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80979.4]
  wire  LevelGateway_41_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80979.4]
  wire  LevelGateway_42_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80984.4]
  wire  LevelGateway_42_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80984.4]
  wire  LevelGateway_42_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80984.4]
  wire  LevelGateway_42_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80984.4]
  wire  LevelGateway_42_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80984.4]
  wire  LevelGateway_42_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80984.4]
  wire  LevelGateway_43_clock; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80989.4]
  wire  LevelGateway_43_reset; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80989.4]
  wire  LevelGateway_43_io_interrupt; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80989.4]
  wire  LevelGateway_43_io_plic_valid; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80989.4]
  wire  LevelGateway_43_io_plic_ready; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80989.4]
  wire  LevelGateway_43_io_plic_complete; // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80989.4]
  wire [2:0] PLICFanIn_io_prio_0; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_1; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_2; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_3; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_4; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_5; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_6; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_7; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_8; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_9; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_10; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_11; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_12; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_13; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_14; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_15; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_16; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_17; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_18; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_19; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_20; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_21; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_22; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_23; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_24; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_25; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_26; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_27; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_28; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_29; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_30; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_31; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_32; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_33; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_34; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_35; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_36; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_37; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_38; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_39; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_40; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_41; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_42; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_prio_43; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [43:0] PLICFanIn_io_ip; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [5:0] PLICFanIn_io_dev; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire [2:0] PLICFanIn_io_max; // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
  wire  Queue_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
  wire  Queue_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
  wire  Queue_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
  wire  Queue_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
  wire  Queue_io_enq_bits_read; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
  wire [23:0] Queue_io_enq_bits_index; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
  wire [31:0] Queue_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
  wire [3:0] Queue_io_enq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
  wire [7:0] Queue_io_enq_bits_extra; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
  wire  Queue_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
  wire  Queue_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
  wire  Queue_io_deq_bits_read; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
  wire [23:0] Queue_io_deq_bits_index; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
  wire [31:0] Queue_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
  wire [3:0] Queue_io_deq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
  wire [7:0] Queue_io_deq_bits_extra; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
  reg [2:0] priority_0; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_0;
  reg [2:0] priority_1; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_1;
  reg [2:0] priority_2; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_2;
  reg [2:0] priority_3; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_3;
  reg [2:0] priority_4; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_4;
  reg [2:0] priority_5; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_5;
  reg [2:0] priority_6; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_6;
  reg [2:0] priority_7; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_7;
  reg [2:0] priority_8; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_8;
  reg [2:0] priority_9; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_9;
  reg [2:0] priority_10; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_10;
  reg [2:0] priority_11; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_11;
  reg [2:0] priority_12; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_12;
  reg [2:0] priority_13; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_13;
  reg [2:0] priority_14; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_14;
  reg [2:0] priority_15; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_15;
  reg [2:0] priority_16; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_16;
  reg [2:0] priority_17; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_17;
  reg [2:0] priority_18; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_18;
  reg [2:0] priority_19; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_19;
  reg [2:0] priority_20; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_20;
  reg [2:0] priority_21; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_21;
  reg [2:0] priority_22; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_22;
  reg [2:0] priority_23; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_23;
  reg [2:0] priority_24; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_24;
  reg [2:0] priority_25; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_25;
  reg [2:0] priority_26; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_26;
  reg [2:0] priority_27; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_27;
  reg [2:0] priority_28; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_28;
  reg [2:0] priority_29; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_29;
  reg [2:0] priority_30; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_30;
  reg [2:0] priority_31; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_31;
  reg [2:0] priority_32; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_32;
  reg [2:0] priority_33; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_33;
  reg [2:0] priority_34; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_34;
  reg [2:0] priority_35; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_35;
  reg [2:0] priority_36; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_36;
  reg [2:0] priority_37; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_37;
  reg [2:0] priority_38; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_38;
  reg [2:0] priority_39; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_39;
  reg [2:0] priority_40; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_40;
  reg [2:0] priority_41; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_41;
  reg [2:0] priority_42; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_42;
  reg [2:0] priority_43; // @[Plic.scala 147:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80994.4]
  reg [31:0] _RAND_43;
  reg [2:0] threshold_0; // @[Plic.scala 150:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80995.4]
  reg [31:0] _RAND_44;
  reg  pending_0; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_45;
  reg  pending_1; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_46;
  reg  pending_2; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_47;
  reg  pending_3; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_48;
  reg  pending_4; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_49;
  reg  pending_5; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_50;
  reg  pending_6; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_51;
  reg  pending_7; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_52;
  reg  pending_8; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_53;
  reg  pending_9; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_54;
  reg  pending_10; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_55;
  reg  pending_11; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_56;
  reg  pending_12; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_57;
  reg  pending_13; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_58;
  reg  pending_14; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_59;
  reg  pending_15; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_60;
  reg  pending_16; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_61;
  reg  pending_17; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_62;
  reg  pending_18; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_63;
  reg  pending_19; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_64;
  reg  pending_20; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_65;
  reg  pending_21; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_66;
  reg  pending_22; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_67;
  reg  pending_23; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_68;
  reg  pending_24; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_69;
  reg  pending_25; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_70;
  reg  pending_26; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_71;
  reg  pending_27; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_72;
  reg  pending_28; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_73;
  reg  pending_29; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_74;
  reg  pending_30; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_75;
  reg  pending_31; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_76;
  reg  pending_32; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_77;
  reg  pending_33; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_78;
  reg  pending_34; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_79;
  reg  pending_35; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_80;
  reg  pending_36; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_81;
  reg  pending_37; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_82;
  reg  pending_38; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_83;
  reg  pending_39; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_84;
  reg  pending_40; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_85;
  reg  pending_41; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_86;
  reg  pending_42; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_87;
  reg  pending_43; // @[Plic.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81042.4]
  reg [31:0] _RAND_88;
  reg [6:0] enables_0_0; // @[Plic.scala 158:26:shc.marmotcaravel.MarmotCaravelConfig.fir@81043.4]
  reg [31:0] _RAND_89;
  reg [7:0] enables_0_1; // @[Plic.scala 159:50:shc.marmotcaravel.MarmotCaravelConfig.fir@81044.4]
  reg [31:0] _RAND_90;
  reg [7:0] enables_0_2; // @[Plic.scala 159:50:shc.marmotcaravel.MarmotCaravelConfig.fir@81045.4]
  reg [31:0] _RAND_91;
  reg [7:0] enables_0_3; // @[Plic.scala 159:50:shc.marmotcaravel.MarmotCaravelConfig.fir@81046.4]
  reg [31:0] _RAND_92;
  reg [7:0] enables_0_4; // @[Plic.scala 159:50:shc.marmotcaravel.MarmotCaravelConfig.fir@81047.4]
  reg [31:0] _RAND_93;
  reg [4:0] enables_0_5; // @[Plic.scala 160:51:shc.marmotcaravel.MarmotCaravelConfig.fir@81048.4]
  reg [31:0] _RAND_94;
  wire [15:0] _T_1017; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81049.4]
  wire [22:0] _T_1018; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81050.4]
  wire [12:0] _T_1019; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81051.4]
  wire [20:0] _T_1020; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81052.4]
  wire [43:0] enableVec_0; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81053.4]
  wire [44:0] enableVec0_0; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81057.4]
  reg [5:0] maxDevs_0; // @[Plic.scala 165:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81061.4]
  reg [31:0] _RAND_95;
  wire [1:0] _T_1041; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81062.4]
  wire [1:0] _T_1042; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81063.4]
  wire [2:0] _T_1043; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81064.4]
  wire [4:0] _T_1044; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81065.4]
  wire [1:0] _T_1045; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81066.4]
  wire [2:0] _T_1046; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81067.4]
  wire [1:0] _T_1047; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81068.4]
  wire [2:0] _T_1048; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81069.4]
  wire [5:0] _T_1049; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81070.4]
  wire [10:0] _T_1050; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81071.4]
  wire [1:0] _T_1051; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81072.4]
  wire [1:0] _T_1052; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81073.4]
  wire [2:0] _T_1053; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81074.4]
  wire [4:0] _T_1054; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81075.4]
  wire [1:0] _T_1055; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81076.4]
  wire [2:0] _T_1056; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81077.4]
  wire [1:0] _T_1057; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81078.4]
  wire [2:0] _T_1058; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81079.4]
  wire [5:0] _T_1059; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81080.4]
  wire [10:0] _T_1060; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81081.4]
  wire [21:0] _T_1061; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81082.4]
  wire [1:0] _T_1062; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81083.4]
  wire [1:0] _T_1063; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81084.4]
  wire [2:0] _T_1064; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81085.4]
  wire [4:0] _T_1065; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81086.4]
  wire [1:0] _T_1066; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81087.4]
  wire [2:0] _T_1067; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81088.4]
  wire [1:0] _T_1068; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81089.4]
  wire [2:0] _T_1069; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81090.4]
  wire [5:0] _T_1070; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81091.4]
  wire [10:0] _T_1071; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81092.4]
  wire [1:0] _T_1072; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81093.4]
  wire [1:0] _T_1073; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81094.4]
  wire [2:0] _T_1074; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81095.4]
  wire [4:0] _T_1075; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81096.4]
  wire [1:0] _T_1076; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81097.4]
  wire [2:0] _T_1077; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81098.4]
  wire [1:0] _T_1078; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81099.4]
  wire [2:0] _T_1079; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81100.4]
  wire [5:0] _T_1080; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81101.4]
  wire [10:0] _T_1081; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81102.4]
  wire [21:0] _T_1082; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81103.4]
  wire [43:0] pendingUInt; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81104.4]
  reg [2:0] _T_1085; // @[Plic.scala 172:41:shc.marmotcaravel.MarmotCaravelConfig.fir@81113.4]
  reg [31:0] _RAND_96;
  wire  _T_12834; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@94045.4]
  wire  _T_12835; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@94046.4]
  wire  _T_4604; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84603.4]
  wire  _T_4596; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84595.4]
  wire [1:0] _T_4613; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84612.4]
  wire  _T_4595; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84594.4]
  wire [2:0] _T_4614; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84613.4]
  wire  _T_4590; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84589.4]
  wire  _T_4589; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84588.4]
  wire [1:0] _T_4612; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84611.4]
  wire [4:0] _T_4615; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84614.4]
  wire  _T_4588; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84587.4]
  wire  _T_4587; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84586.4]
  wire [1:0] _T_4610; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84609.4]
  wire  _T_4586; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84585.4]
  wire  _T_4585; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84584.4]
  wire [1:0] _T_4609; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84608.4]
  wire [3:0] _T_4611; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84610.4]
  wire [8:0] _T_4616; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84615.4]
  wire [511:0] _T_5130; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@85129.4]
  wire  _T_5388; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85387.4]
  wire  _T_14380; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@95946.4]
  wire [23:0] _T_1420; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@81671.4]
  wire  _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@81695.4]
  wire  _T_14381; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@95947.4]
  wire  _T_1959; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@81798.4]
  wire [7:0] _T_1967; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81806.4]
  wire  _T_1958; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@81797.4]
  wire [7:0] _T_1965; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81804.4]
  wire [15:0] _T_1969; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81808.4]
  wire  _T_1957; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@81796.4]
  wire [7:0] _T_1963; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81802.4]
  wire  _T_1956; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@81795.4]
  wire [7:0] _T_1961; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81800.4]
  wire [15:0] _T_1968; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81807.4]
  wire [31:0] _T_1970; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81809.4]
  wire  _T_3116; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82988.4]
  wire  claimer_0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82993.4]
  wire [1:0] _T_1093; // @[Plic.scala 223:46:shc.marmotcaravel.MarmotCaravelConfig.fir@81119.4]
  wire [1:0] _T_1094; // @[Plic.scala 223:46:shc.marmotcaravel.MarmotCaravelConfig.fir@81120.4]
  wire  _T_1095; // @[Plic.scala 223:46:shc.marmotcaravel.MarmotCaravelConfig.fir@81121.4]
  wire  _T_1096; // @[Plic.scala 223:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81122.4]
  wire  _T_1097; // @[Plic.scala 223:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81123.4]
  wire  _T_1099; // @[Plic.scala 223:11:shc.marmotcaravel.MarmotCaravelConfig.fir@81125.4]
  wire  _T_1100; // @[Plic.scala 223:11:shc.marmotcaravel.MarmotCaravelConfig.fir@81126.4]
  wire [5:0] claiming; // @[Plic.scala 224:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81131.4]
  wire [63:0] _T_1102; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81133.4]
  wire [44:0] _T_1103; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81134.4]
  wire  claimedDevs_1; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81136.4]
  wire  claimedDevs_2; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81137.4]
  wire  claimedDevs_3; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81138.4]
  wire  claimedDevs_4; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81139.4]
  wire  claimedDevs_5; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81140.4]
  wire  claimedDevs_6; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81141.4]
  wire  claimedDevs_7; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81142.4]
  wire  claimedDevs_8; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81143.4]
  wire  claimedDevs_9; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81144.4]
  wire  claimedDevs_10; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81145.4]
  wire  claimedDevs_11; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81146.4]
  wire  claimedDevs_12; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81147.4]
  wire  claimedDevs_13; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81148.4]
  wire  claimedDevs_14; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81149.4]
  wire  claimedDevs_15; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81150.4]
  wire  claimedDevs_16; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81151.4]
  wire  claimedDevs_17; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81152.4]
  wire  claimedDevs_18; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81153.4]
  wire  claimedDevs_19; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81154.4]
  wire  claimedDevs_20; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81155.4]
  wire  claimedDevs_21; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81156.4]
  wire  claimedDevs_22; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81157.4]
  wire  claimedDevs_23; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81158.4]
  wire  claimedDevs_24; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81159.4]
  wire  claimedDevs_25; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81160.4]
  wire  claimedDevs_26; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81161.4]
  wire  claimedDevs_27; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81162.4]
  wire  claimedDevs_28; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81163.4]
  wire  claimedDevs_29; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81164.4]
  wire  claimedDevs_30; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81165.4]
  wire  claimedDevs_31; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81166.4]
  wire  claimedDevs_32; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81167.4]
  wire  claimedDevs_33; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81168.4]
  wire  claimedDevs_34; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81169.4]
  wire  claimedDevs_35; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81170.4]
  wire  claimedDevs_36; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81171.4]
  wire  claimedDevs_37; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81172.4]
  wire  claimedDevs_38; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81173.4]
  wire  claimedDevs_39; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81174.4]
  wire  claimedDevs_40; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81175.4]
  wire  claimedDevs_41; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81176.4]
  wire  claimedDevs_42; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81177.4]
  wire  claimedDevs_43; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81178.4]
  wire  claimedDevs_44; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81179.4]
  wire  _T_1200; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81229.4]
  wire  _T_1201; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81231.6]
  wire  _T_1203; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81236.4]
  wire  _T_1204; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81238.6]
  wire  _T_1206; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81243.4]
  wire  _T_1207; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81245.6]
  wire  _T_1209; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81250.4]
  wire  _T_1210; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81252.6]
  wire  _T_1212; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81257.4]
  wire  _T_1213; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81259.6]
  wire  _T_1215; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81264.4]
  wire  _T_1216; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81266.6]
  wire  _T_1218; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81271.4]
  wire  _T_1219; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81273.6]
  wire  _T_1221; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81278.4]
  wire  _T_1222; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81280.6]
  wire  _T_1224; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81285.4]
  wire  _T_1225; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81287.6]
  wire  _T_1227; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81292.4]
  wire  _T_1228; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81294.6]
  wire  _T_1230; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81299.4]
  wire  _T_1231; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81301.6]
  wire  _T_1233; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81306.4]
  wire  _T_1234; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81308.6]
  wire  _T_1236; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81313.4]
  wire  _T_1237; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81315.6]
  wire  _T_1239; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81320.4]
  wire  _T_1240; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81322.6]
  wire  _T_1242; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81327.4]
  wire  _T_1243; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81329.6]
  wire  _T_1245; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81334.4]
  wire  _T_1246; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81336.6]
  wire  _T_1248; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81341.4]
  wire  _T_1249; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81343.6]
  wire  _T_1251; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81348.4]
  wire  _T_1252; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81350.6]
  wire  _T_1254; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81355.4]
  wire  _T_1255; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81357.6]
  wire  _T_1257; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81362.4]
  wire  _T_1258; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81364.6]
  wire  _T_1260; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81369.4]
  wire  _T_1261; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81371.6]
  wire  _T_1263; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81376.4]
  wire  _T_1264; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81378.6]
  wire  _T_1266; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81383.4]
  wire  _T_1267; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81385.6]
  wire  _T_1269; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81390.4]
  wire  _T_1270; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81392.6]
  wire  _T_1272; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81397.4]
  wire  _T_1273; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81399.6]
  wire  _T_1275; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81404.4]
  wire  _T_1276; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81406.6]
  wire  _T_1278; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81411.4]
  wire  _T_1279; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81413.6]
  wire  _T_1281; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81418.4]
  wire  _T_1282; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81420.6]
  wire  _T_1284; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81425.4]
  wire  _T_1285; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81427.6]
  wire  _T_1287; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81432.4]
  wire  _T_1288; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81434.6]
  wire  _T_1290; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81439.4]
  wire  _T_1291; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81441.6]
  wire  _T_1293; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81446.4]
  wire  _T_1294; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81448.6]
  wire  _T_1296; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81453.4]
  wire  _T_1297; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81455.6]
  wire  _T_1299; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81460.4]
  wire  _T_1300; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81462.6]
  wire  _T_1302; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81467.4]
  wire  _T_1303; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81469.6]
  wire  _T_1305; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81474.4]
  wire  _T_1306; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81476.6]
  wire  _T_1308; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81481.4]
  wire  _T_1309; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81483.6]
  wire  _T_1311; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81488.4]
  wire  _T_1312; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81490.6]
  wire  _T_1314; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81495.4]
  wire  _T_1315; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81497.6]
  wire  _T_1317; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81502.4]
  wire  _T_1318; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81504.6]
  wire  _T_1320; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81509.4]
  wire  _T_1321; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81511.6]
  wire  _T_1323; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81516.4]
  wire  _T_1324; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81518.6]
  wire  _T_1326; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81523.4]
  wire  _T_1327; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81525.6]
  wire  _T_1329; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81530.4]
  wire  _T_1330; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81532.6]
  wire  _T_16430; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98247.4]
  wire  _T_16431; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98248.4]
  wire  _T_17976; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@100148.4]
  wire  _T_17977; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@100149.4]
  wire [31:0] _T_3118; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82990.4]
  wire  _T_3119; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82991.4]
  wire  _T_3123; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82995.4]
  wire [31:0] _T_3124; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82997.4]
  wire [5:0] completerDev; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@83007.4]
  wire [44:0] _T_3131; // @[Plic.scala 273:51:shc.marmotcaravel.MarmotCaravelConfig.fir@83009.4]
  wire  _T_3132; // @[Plic.scala 273:51:shc.marmotcaravel.MarmotCaravelConfig.fir@83010.4]
  wire  completer_0; // @[Plic.scala 273:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83011.4]
  wire [1:0] _T_1337; // @[Plic.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@81537.4]
  wire [1:0] _T_1338; // @[Plic.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@81538.4]
  wire  _T_1339; // @[Plic.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@81539.4]
  wire  _T_1340; // @[Plic.scala 240:30:shc.marmotcaravel.MarmotCaravelConfig.fir@81540.4]
  wire  _T_1341; // @[Plic.scala 240:62:shc.marmotcaravel.MarmotCaravelConfig.fir@81541.4]
  wire  _T_1343; // @[Plic.scala 240:11:shc.marmotcaravel.MarmotCaravelConfig.fir@81543.4]
  wire  _T_1344; // @[Plic.scala 240:11:shc.marmotcaravel.MarmotCaravelConfig.fir@81544.4]
  wire [63:0] _T_1347; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81552.4]
  wire [44:0] _T_1348; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81553.4]
  wire [44:0] completedDevs; // @[Plic.scala 242:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81554.4]
  wire [25:0] _T_1402; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81648.4]
  wire [1:0] _T_2020; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81859.4]
  wire [2:0] _T_2047; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81886.4]
  wire [3:0] _T_2074; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81913.4]
  wire [4:0] _T_2101; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81940.4]
  wire [5:0] _T_2128; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81967.4]
  wire [6:0] _T_2155; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81994.4]
  wire [7:0] _T_2182; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82021.4]
  wire [8:0] _T_2209; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82048.4]
  wire [9:0] _T_2236; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82075.4]
  wire [10:0] _T_2263; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82102.4]
  wire [11:0] _T_2290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82129.4]
  wire [12:0] _T_2317; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82156.4]
  wire [13:0] _T_2344; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82183.4]
  wire [14:0] _T_2371; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82210.4]
  wire [15:0] _T_2398; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82237.4]
  wire [16:0] _T_2425; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82264.4]
  wire [17:0] _T_2452; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82291.4]
  wire [18:0] _T_2479; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82318.4]
  wire [19:0] _T_2506; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82345.4]
  wire [20:0] _T_2533; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82372.4]
  wire [21:0] _T_2560; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82399.4]
  wire [22:0] _T_2587; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82426.4]
  wire [23:0] _T_2614; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82453.4]
  wire [24:0] _T_2641; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82480.4]
  wire [25:0] _T_2668; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82507.4]
  wire [26:0] _T_2695; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82534.4]
  wire [27:0] _T_2722; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82561.4]
  wire [28:0] _T_2749; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82588.4]
  wire [29:0] _T_2776; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82615.4]
  wire [30:0] _T_2803; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82642.4]
  wire [31:0] _T_2830; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82669.4]
  wire [2:0] _T_2838; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82677.4]
  wire [2:0] _T_2841; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82680.4]
  wire  _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82681.4]
  wire  _T_5136; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85135.4]
  wire  _T_16464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98290.4]
  wire  _T_16465; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98291.4]
  wire  _T_2846; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82685.4]
  wire [2:0] _T_2847; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82686.4]
  wire  _T_5141; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85140.4]
  wire  _T_16494; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98330.4]
  wire  _T_16495; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98331.4]
  wire  _T_2871; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82713.4]
  wire  _T_5173; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85172.4]
  wire  _T_16686; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98586.4]
  wire  _T_16687; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98587.4]
  wire  _T_2896; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82741.4]
  wire  _T_5155; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85154.4]
  wire  _T_16578; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98442.4]
  wire  _T_16579; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98443.4]
  wire  _T_2921; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82769.4]
  wire  _T_5168; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85167.4]
  wire  _T_16656; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98546.4]
  wire  _T_16657; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98547.4]
  wire  _T_2946; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82797.4]
  wire  _T_5156; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85155.4]
  wire  _T_16584; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98450.4]
  wire  _T_16585; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98451.4]
  wire  _T_2971; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82825.4]
  wire  _T_5145; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85144.4]
  wire  _T_16518; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98362.4]
  wire  _T_16519; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98363.4]
  wire  _T_2996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82853.4]
  wire  _T_5151; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85150.4]
  wire  _T_16554; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98410.4]
  wire  _T_16555; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98411.4]
  wire  _T_3021; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82881.4]
  wire [7:0] _T_3038; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82901.4]
  wire [7:0] _T_3041; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82904.4]
  wire  _T_3042; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82905.4]
  wire  _T_5260; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85259.4]
  wire  _T_17208; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@99248.4]
  wire  _T_17209; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@99249.4]
  wire  _T_3046; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82909.4]
  wire [7:0] _T_3047; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82910.4]
  wire [4:0] _T_3063; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82929.4]
  wire [4:0] _T_3066; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82932.4]
  wire  _T_3067; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82933.4]
  wire  _T_3071; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82937.4]
  wire [4:0] _T_3072; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82938.4]
  wire  _T_5160; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85159.4]
  wire  _T_16608; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98482.4]
  wire  _T_16609; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98483.4]
  wire  _T_3098; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82967.4]
  wire  _T_3126; // @[Plic.scala 270:33:shc.marmotcaravel.MarmotCaravelConfig.fir@82999.4]
  wire  _T_3128; // @[Plic.scala 270:19:shc.marmotcaravel.MarmotCaravelConfig.fir@83001.4]
  wire  _T_3129; // @[Plic.scala 270:19:shc.marmotcaravel.MarmotCaravelConfig.fir@83002.4]
  wire [31:0] _T_3142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83021.4]
  wire  _T_5132; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85131.4]
  wire  _T_16440; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98258.4]
  wire  _T_16441; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98259.4]
  wire  _T_3157; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83036.4]
  wire  _T_5137; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85136.4]
  wire  _T_16470; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98298.4]
  wire  _T_16471; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98299.4]
  wire  _T_3182; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83064.4]
  wire  _T_5159; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85158.4]
  wire  _T_16602; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98474.4]
  wire  _T_16603; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98475.4]
  wire  _T_3207; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83092.4]
  wire  _T_5169; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85168.4]
  wire  _T_16662; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98554.4]
  wire  _T_16663; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98555.4]
  wire  _T_3232; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83120.4]
  wire  _T_5152; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85151.4]
  wire  _T_16560; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98418.4]
  wire  _T_16561; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98419.4]
  wire  _T_3257; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83148.4]
  wire  _T_5164; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85163.4]
  wire  _T_16632; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98514.4]
  wire  _T_16633; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98515.4]
  wire  _T_3282; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83176.4]
  wire  _T_5140; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85139.4]
  wire  _T_16488; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98322.4]
  wire  _T_16489; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98323.4]
  wire  _T_3307; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83204.4]
  wire  _T_5144; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85143.4]
  wire  _T_16512; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98354.4]
  wire  _T_16513; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98355.4]
  wire  _T_3332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83232.4]
  wire  _T_5172; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85171.4]
  wire  _T_16680; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98578.4]
  wire  _T_16681; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98579.4]
  wire  _T_3357; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83260.4]
  wire  _T_5133; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85132.4]
  wire  _T_16446; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98266.4]
  wire  _T_16447; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98267.4]
  wire  _T_3382; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83288.4]
  wire  _T_5163; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85162.4]
  wire  _T_16626; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98506.4]
  wire  _T_16627; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98507.4]
  wire  _T_3407; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83316.4]
  wire  _T_5165; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85164.4]
  wire  _T_16638; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98522.4]
  wire  _T_16639; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98523.4]
  wire  _T_3432; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83344.4]
  wire  _T_5148; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85147.4]
  wire  _T_16536; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98386.4]
  wire  _T_16537; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98387.4]
  wire  _T_3457; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83372.4]
  wire  _T_5387; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85386.4]
  wire  _T_17970; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@100139.4]
  wire  _T_17971; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@100140.4]
  wire  _T_3482; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83400.4]
  wire [3:0] _T_3518; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83439.4]
  wire [31:0] _T_3519; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83440.4]
  wire  _T_5259; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85258.4]
  wire  _T_17202; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@99236.4]
  wire  _T_17203; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@99237.4]
  wire [6:0] _T_3551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83472.4]
  wire [6:0] _T_3554; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83475.4]
  wire  _T_3555; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83476.4]
  wire  _T_3559; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83480.4]
  wire [6:0] _T_3560; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83481.4]
  wire [7:0] _T_3570; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83494.4]
  wire [7:0] _T_3578; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83502.4]
  wire [7:0] _T_3581; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83505.4]
  wire  _T_3582; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83506.4]
  wire  _T_3586; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83510.4]
  wire [7:0] _T_3587; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83511.4]
  wire [15:0] _T_3597; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83524.4]
  wire [7:0] _T_3605; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83532.4]
  wire [7:0] _T_3608; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83535.4]
  wire  _T_3609; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83536.4]
  wire  _T_3613; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83540.4]
  wire [7:0] _T_3614; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83541.4]
  wire [23:0] _T_3624; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83554.4]
  wire [7:0] _T_3632; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83562.4]
  wire [7:0] _T_3635; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83565.4]
  wire  _T_3636; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83566.4]
  wire  _T_3640; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83570.4]
  wire [7:0] _T_3641; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83571.4]
  wire [31:0] _T_3651; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83584.4]
  wire  _T_5153; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85152.4]
  wire  _T_16566; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98426.4]
  wire  _T_16567; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98427.4]
  wire  _T_3667; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83600.4]
  wire  _T_5175; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85174.4]
  wire  _T_16698; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98602.4]
  wire  _T_16699; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98603.4]
  wire  _T_3692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83628.4]
  wire  _T_5158; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85157.4]
  wire  _T_16596; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98466.4]
  wire  _T_16597; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98467.4]
  wire  _T_3717; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83656.4]
  wire  _T_5143; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85142.4]
  wire  _T_16506; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98346.4]
  wire  _T_16507; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98347.4]
  wire  _T_3742; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83684.4]
  wire  _T_5138; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85137.4]
  wire  _T_16476; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98306.4]
  wire  _T_16477; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98307.4]
  wire  _T_3767; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83712.4]
  wire  _T_5170; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85169.4]
  wire  _T_16668; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98562.4]
  wire  _T_16669; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98563.4]
  wire  _T_3792; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83740.4]
  wire  _T_5134; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85133.4]
  wire  _T_16452; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98274.4]
  wire  _T_16453; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98275.4]
  wire  _T_3817; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83768.4]
  wire  _T_5166; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85165.4]
  wire  _T_16644; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98530.4]
  wire  _T_16645; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98531.4]
  wire  _T_3842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83796.4]
  wire [2:0] _T_3930; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83887.4]
  wire [3:0] _T_3957; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83914.4]
  wire [4:0] _T_3984; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83941.4]
  wire [5:0] _T_4011; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83968.4]
  wire [6:0] _T_4038; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83995.4]
  wire [7:0] _T_4065; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84022.4]
  wire [8:0] _T_4092; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84049.4]
  wire [9:0] _T_4119; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84076.4]
  wire [10:0] _T_4146; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84103.4]
  wire [11:0] _T_4173; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84130.4]
  wire [12:0] _T_4200; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84157.4]
  wire  _T_5149; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85148.4]
  wire  _T_16542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98394.4]
  wire  _T_16543; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98395.4]
  wire  _T_4216; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84173.4]
  wire  _T_5147; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85146.4]
  wire  _T_16530; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98378.4]
  wire  _T_16531; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98379.4]
  wire  _T_4241; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84201.4]
  wire  _T_5162; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85161.4]
  wire  _T_16620; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98498.4]
  wire  _T_16621; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98499.4]
  wire  _T_4266; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84229.4]
  wire  _T_5142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85141.4]
  wire  _T_16500; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98338.4]
  wire  _T_16501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98339.4]
  wire  _T_4291; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84257.4]
  wire  _T_5174; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85173.4]
  wire  _T_16692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98594.4]
  wire  _T_16693; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98595.4]
  wire  _T_4316; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84285.4]
  wire  _T_5171; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85170.4]
  wire  _T_16674; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98570.4]
  wire  _T_16675; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98571.4]
  wire  _T_4341; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84313.4]
  wire  _T_5157; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85156.4]
  wire  _T_16590; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98458.4]
  wire  _T_16591; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98459.4]
  wire  _T_4366; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84341.4]
  wire  _T_5154; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85153.4]
  wire  _T_16572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98434.4]
  wire  _T_16573; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98435.4]
  wire  _T_4391; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84369.4]
  wire  _T_5139; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85138.4]
  wire  _T_16482; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98314.4]
  wire  _T_16483; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98315.4]
  wire  _T_4416; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84397.4]
  wire  _T_5167; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85166.4]
  wire  _T_16650; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98538.4]
  wire  _T_16651; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98539.4]
  wire  _T_4441; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84425.4]
  wire  _T_5161; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85160.4]
  wire  _T_16614; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98490.4]
  wire  _T_16615; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98491.4]
  wire  _T_4466; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84453.4]
  wire  _T_5150; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85149.4]
  wire  _T_16548; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98402.4]
  wire  _T_16549; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98403.4]
  wire  _T_4491; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84481.4]
  wire  _T_5135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85134.4]
  wire  _T_16458; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98282.4]
  wire  _T_16459; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98283.4]
  wire  _T_4516; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84509.4]
  wire  _T_5146; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85145.4]
  wire  _T_16524; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98370.4]
  wire  _T_16525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98371.4]
  wire  _T_4541; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84537.4]
  wire  _T_20033; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102462.4]
  wire  _T_20034; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102467.6]
  wire  _T_20035; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102472.8]
  wire  _T_20036; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102477.10]
  wire  _T_20037; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102482.12]
  wire  _T_20038; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102487.14]
  wire  _T_20039; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102492.16]
  wire  _T_20040; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102497.18]
  wire  _T_20041; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102502.20]
  wire  _T_20042; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102507.22]
  wire  _T_20043; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102512.24]
  wire  _T_20044; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102517.26]
  wire  _T_20045; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102522.28]
  wire  _T_20046; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102527.30]
  wire  _T_20047; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102532.32]
  wire  _T_20048; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102537.34]
  wire  _T_20049; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102542.36]
  wire  _T_20050; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102547.38]
  wire  _T_20051; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102552.40]
  wire  _T_20052; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102557.42]
  wire  _T_20053; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102562.44]
  wire  _T_20054; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102567.46]
  wire  _T_20055; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102572.48]
  wire  _T_20056; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102577.50]
  wire  _T_20057; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102582.52]
  wire  _T_20058; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102587.54]
  wire  _T_20059; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102592.56]
  wire  _T_20060; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102597.58]
  wire  _T_20061; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102602.60]
  wire  _T_20062; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102607.62]
  wire  _T_20063; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102612.64]
  wire  _T_20064; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102617.66]
  wire  _T_20065; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102622.68]
  wire  _T_20066; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102627.70]
  wire  _T_20067; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102632.72]
  wire  _T_20068; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102637.74]
  wire  _T_20069; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102642.76]
  wire  _T_20070; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102647.78]
  wire  _T_20071; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102652.80]
  wire  _T_20072; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102657.82]
  wire  _T_20073; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102662.84]
  wire  _T_20074; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102667.86]
  wire  _T_20075; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102672.88]
  wire  _T_20076; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102677.90]
  wire  _T_20077; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102682.92]
  wire  _T_20078; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102687.94]
  wire  _T_20079; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102692.96]
  wire  _T_20080; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102697.98]
  wire  _T_20081; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102702.100]
  wire  _T_20082; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102707.102]
  wire  _GEN_2143; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102708.102]
  wire  _GEN_2144; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102703.100]
  wire  _GEN_2145; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102698.98]
  wire  _GEN_2146; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102693.96]
  wire  _GEN_2147; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102688.94]
  wire  _GEN_2148; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102683.92]
  wire  _GEN_2149; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102678.90]
  wire  _GEN_2150; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102673.88]
  wire  _GEN_2151; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102668.86]
  wire  _GEN_2152; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102663.84]
  wire  _GEN_2153; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102658.82]
  wire  _GEN_2154; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102653.80]
  wire  _GEN_2155; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102648.78]
  wire  _GEN_2156; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102643.76]
  wire  _GEN_2157; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102638.74]
  wire  _GEN_2158; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102633.72]
  wire  _GEN_2159; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102628.70]
  wire  _GEN_2160; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102623.68]
  wire  _GEN_2161; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102618.66]
  wire  _GEN_2162; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102613.64]
  wire  _GEN_2163; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102608.62]
  wire  _GEN_2164; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102603.60]
  wire  _GEN_2165; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102598.58]
  wire  _GEN_2166; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102593.56]
  wire  _GEN_2167; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102588.54]
  wire  _GEN_2168; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102583.52]
  wire  _GEN_2169; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102578.50]
  wire  _GEN_2170; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102573.48]
  wire  _GEN_2171; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102568.46]
  wire  _GEN_2172; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102563.44]
  wire  _GEN_2173; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102558.42]
  wire  _GEN_2174; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102553.40]
  wire  _GEN_2175; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102548.38]
  wire  _GEN_2176; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102543.36]
  wire  _GEN_2177; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102538.34]
  wire  _GEN_2178; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102533.32]
  wire  _GEN_2179; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102528.30]
  wire  _GEN_2180; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102523.28]
  wire  _GEN_2181; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102518.26]
  wire  _GEN_2182; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102513.24]
  wire  _GEN_2183; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102508.22]
  wire  _GEN_2184; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102503.20]
  wire  _GEN_2185; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102498.18]
  wire  _GEN_2186; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102493.16]
  wire  _GEN_2187; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102488.14]
  wire  _GEN_2188; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102483.12]
  wire  _GEN_2189; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102478.10]
  wire  _GEN_2190; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102473.8]
  wire  _GEN_2191; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102468.6]
  wire  _GEN_2192; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@102463.4]
  wire [31:0] _GEN_2193; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102960.102]
  wire [31:0] _GEN_2194; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102955.100]
  wire [31:0] _GEN_2195; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102950.98]
  wire [31:0] _GEN_2196; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102945.96]
  wire [31:0] _GEN_2197; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102940.94]
  wire [31:0] _GEN_2198; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102935.92]
  wire [31:0] _GEN_2199; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102930.90]
  wire [31:0] _GEN_2200; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102925.88]
  wire [31:0] _GEN_2201; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102920.86]
  wire [31:0] _GEN_2202; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102915.84]
  wire [31:0] _GEN_2203; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102910.82]
  wire [31:0] _GEN_2204; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102905.80]
  wire [31:0] _GEN_2205; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102900.78]
  wire [31:0] _GEN_2206; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102895.76]
  wire [31:0] _GEN_2207; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102890.74]
  wire [31:0] _GEN_2208; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102885.72]
  wire [31:0] _GEN_2209; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102880.70]
  wire [31:0] _GEN_2210; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102875.68]
  wire [31:0] _GEN_2211; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102870.66]
  wire [31:0] _GEN_2212; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102865.64]
  wire [31:0] _GEN_2213; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102860.62]
  wire [31:0] _GEN_2214; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102855.60]
  wire [31:0] _GEN_2215; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102850.58]
  wire [31:0] _GEN_2216; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102845.56]
  wire [31:0] _GEN_2217; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102840.54]
  wire [31:0] _GEN_2218; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102835.52]
  wire [31:0] _GEN_2219; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102830.50]
  wire [31:0] _GEN_2220; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102825.48]
  wire [31:0] _GEN_2221; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102820.46]
  wire [31:0] _GEN_2222; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102815.44]
  wire [31:0] _GEN_2223; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102810.42]
  wire [31:0] _GEN_2224; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102805.40]
  wire [31:0] _GEN_2225; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102800.38]
  wire [31:0] _GEN_2226; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102795.36]
  wire [31:0] _GEN_2227; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102790.34]
  wire [31:0] _GEN_2228; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102785.32]
  wire [31:0] _GEN_2229; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102780.30]
  wire [31:0] _GEN_2230; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102775.28]
  wire [31:0] _GEN_2231; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102770.26]
  wire [31:0] _GEN_2232; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102765.24]
  wire [31:0] _GEN_2233; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102760.22]
  wire [31:0] _GEN_2234; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102755.20]
  wire [31:0] _GEN_2235; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102750.18]
  wire [31:0] _GEN_2236; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102745.16]
  wire [31:0] _GEN_2237; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102740.14]
  wire [31:0] _GEN_2238; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102735.12]
  wire [31:0] _GEN_2239; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102730.10]
  wire [31:0] _GEN_2240; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102725.8]
  wire [31:0] _GEN_2241; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102720.6]
  wire [31:0] _GEN_2242; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@102715.4]
  wire [7:0] _T_1408_bits_extra; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@81654.4 RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@102965.4]
  wire  _T_1408_bits_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@81654.4 RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@102458.4]
  TLMonitor_46 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@80730.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  LevelGateway LevelGateway ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80774.4]
    .clock(LevelGateway_clock),
    .reset(LevelGateway_reset),
    .io_interrupt(LevelGateway_io_interrupt),
    .io_plic_valid(LevelGateway_io_plic_valid),
    .io_plic_ready(LevelGateway_io_plic_ready),
    .io_plic_complete(LevelGateway_io_plic_complete)
  );
  LevelGateway LevelGateway_1 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80779.4]
    .clock(LevelGateway_1_clock),
    .reset(LevelGateway_1_reset),
    .io_interrupt(LevelGateway_1_io_interrupt),
    .io_plic_valid(LevelGateway_1_io_plic_valid),
    .io_plic_ready(LevelGateway_1_io_plic_ready),
    .io_plic_complete(LevelGateway_1_io_plic_complete)
  );
  LevelGateway LevelGateway_2 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80784.4]
    .clock(LevelGateway_2_clock),
    .reset(LevelGateway_2_reset),
    .io_interrupt(LevelGateway_2_io_interrupt),
    .io_plic_valid(LevelGateway_2_io_plic_valid),
    .io_plic_ready(LevelGateway_2_io_plic_ready),
    .io_plic_complete(LevelGateway_2_io_plic_complete)
  );
  LevelGateway LevelGateway_3 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80789.4]
    .clock(LevelGateway_3_clock),
    .reset(LevelGateway_3_reset),
    .io_interrupt(LevelGateway_3_io_interrupt),
    .io_plic_valid(LevelGateway_3_io_plic_valid),
    .io_plic_ready(LevelGateway_3_io_plic_ready),
    .io_plic_complete(LevelGateway_3_io_plic_complete)
  );
  LevelGateway LevelGateway_4 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80794.4]
    .clock(LevelGateway_4_clock),
    .reset(LevelGateway_4_reset),
    .io_interrupt(LevelGateway_4_io_interrupt),
    .io_plic_valid(LevelGateway_4_io_plic_valid),
    .io_plic_ready(LevelGateway_4_io_plic_ready),
    .io_plic_complete(LevelGateway_4_io_plic_complete)
  );
  LevelGateway LevelGateway_5 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80799.4]
    .clock(LevelGateway_5_clock),
    .reset(LevelGateway_5_reset),
    .io_interrupt(LevelGateway_5_io_interrupt),
    .io_plic_valid(LevelGateway_5_io_plic_valid),
    .io_plic_ready(LevelGateway_5_io_plic_ready),
    .io_plic_complete(LevelGateway_5_io_plic_complete)
  );
  LevelGateway LevelGateway_6 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80804.4]
    .clock(LevelGateway_6_clock),
    .reset(LevelGateway_6_reset),
    .io_interrupt(LevelGateway_6_io_interrupt),
    .io_plic_valid(LevelGateway_6_io_plic_valid),
    .io_plic_ready(LevelGateway_6_io_plic_ready),
    .io_plic_complete(LevelGateway_6_io_plic_complete)
  );
  LevelGateway LevelGateway_7 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80809.4]
    .clock(LevelGateway_7_clock),
    .reset(LevelGateway_7_reset),
    .io_interrupt(LevelGateway_7_io_interrupt),
    .io_plic_valid(LevelGateway_7_io_plic_valid),
    .io_plic_ready(LevelGateway_7_io_plic_ready),
    .io_plic_complete(LevelGateway_7_io_plic_complete)
  );
  LevelGateway LevelGateway_8 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80814.4]
    .clock(LevelGateway_8_clock),
    .reset(LevelGateway_8_reset),
    .io_interrupt(LevelGateway_8_io_interrupt),
    .io_plic_valid(LevelGateway_8_io_plic_valid),
    .io_plic_ready(LevelGateway_8_io_plic_ready),
    .io_plic_complete(LevelGateway_8_io_plic_complete)
  );
  LevelGateway LevelGateway_9 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80819.4]
    .clock(LevelGateway_9_clock),
    .reset(LevelGateway_9_reset),
    .io_interrupt(LevelGateway_9_io_interrupt),
    .io_plic_valid(LevelGateway_9_io_plic_valid),
    .io_plic_ready(LevelGateway_9_io_plic_ready),
    .io_plic_complete(LevelGateway_9_io_plic_complete)
  );
  LevelGateway LevelGateway_10 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80824.4]
    .clock(LevelGateway_10_clock),
    .reset(LevelGateway_10_reset),
    .io_interrupt(LevelGateway_10_io_interrupt),
    .io_plic_valid(LevelGateway_10_io_plic_valid),
    .io_plic_ready(LevelGateway_10_io_plic_ready),
    .io_plic_complete(LevelGateway_10_io_plic_complete)
  );
  LevelGateway LevelGateway_11 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80829.4]
    .clock(LevelGateway_11_clock),
    .reset(LevelGateway_11_reset),
    .io_interrupt(LevelGateway_11_io_interrupt),
    .io_plic_valid(LevelGateway_11_io_plic_valid),
    .io_plic_ready(LevelGateway_11_io_plic_ready),
    .io_plic_complete(LevelGateway_11_io_plic_complete)
  );
  LevelGateway LevelGateway_12 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80834.4]
    .clock(LevelGateway_12_clock),
    .reset(LevelGateway_12_reset),
    .io_interrupt(LevelGateway_12_io_interrupt),
    .io_plic_valid(LevelGateway_12_io_plic_valid),
    .io_plic_ready(LevelGateway_12_io_plic_ready),
    .io_plic_complete(LevelGateway_12_io_plic_complete)
  );
  LevelGateway LevelGateway_13 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80839.4]
    .clock(LevelGateway_13_clock),
    .reset(LevelGateway_13_reset),
    .io_interrupt(LevelGateway_13_io_interrupt),
    .io_plic_valid(LevelGateway_13_io_plic_valid),
    .io_plic_ready(LevelGateway_13_io_plic_ready),
    .io_plic_complete(LevelGateway_13_io_plic_complete)
  );
  LevelGateway LevelGateway_14 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80844.4]
    .clock(LevelGateway_14_clock),
    .reset(LevelGateway_14_reset),
    .io_interrupt(LevelGateway_14_io_interrupt),
    .io_plic_valid(LevelGateway_14_io_plic_valid),
    .io_plic_ready(LevelGateway_14_io_plic_ready),
    .io_plic_complete(LevelGateway_14_io_plic_complete)
  );
  LevelGateway LevelGateway_15 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80849.4]
    .clock(LevelGateway_15_clock),
    .reset(LevelGateway_15_reset),
    .io_interrupt(LevelGateway_15_io_interrupt),
    .io_plic_valid(LevelGateway_15_io_plic_valid),
    .io_plic_ready(LevelGateway_15_io_plic_ready),
    .io_plic_complete(LevelGateway_15_io_plic_complete)
  );
  LevelGateway LevelGateway_16 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80854.4]
    .clock(LevelGateway_16_clock),
    .reset(LevelGateway_16_reset),
    .io_interrupt(LevelGateway_16_io_interrupt),
    .io_plic_valid(LevelGateway_16_io_plic_valid),
    .io_plic_ready(LevelGateway_16_io_plic_ready),
    .io_plic_complete(LevelGateway_16_io_plic_complete)
  );
  LevelGateway LevelGateway_17 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80859.4]
    .clock(LevelGateway_17_clock),
    .reset(LevelGateway_17_reset),
    .io_interrupt(LevelGateway_17_io_interrupt),
    .io_plic_valid(LevelGateway_17_io_plic_valid),
    .io_plic_ready(LevelGateway_17_io_plic_ready),
    .io_plic_complete(LevelGateway_17_io_plic_complete)
  );
  LevelGateway LevelGateway_18 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80864.4]
    .clock(LevelGateway_18_clock),
    .reset(LevelGateway_18_reset),
    .io_interrupt(LevelGateway_18_io_interrupt),
    .io_plic_valid(LevelGateway_18_io_plic_valid),
    .io_plic_ready(LevelGateway_18_io_plic_ready),
    .io_plic_complete(LevelGateway_18_io_plic_complete)
  );
  LevelGateway LevelGateway_19 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80869.4]
    .clock(LevelGateway_19_clock),
    .reset(LevelGateway_19_reset),
    .io_interrupt(LevelGateway_19_io_interrupt),
    .io_plic_valid(LevelGateway_19_io_plic_valid),
    .io_plic_ready(LevelGateway_19_io_plic_ready),
    .io_plic_complete(LevelGateway_19_io_plic_complete)
  );
  LevelGateway LevelGateway_20 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80874.4]
    .clock(LevelGateway_20_clock),
    .reset(LevelGateway_20_reset),
    .io_interrupt(LevelGateway_20_io_interrupt),
    .io_plic_valid(LevelGateway_20_io_plic_valid),
    .io_plic_ready(LevelGateway_20_io_plic_ready),
    .io_plic_complete(LevelGateway_20_io_plic_complete)
  );
  LevelGateway LevelGateway_21 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80879.4]
    .clock(LevelGateway_21_clock),
    .reset(LevelGateway_21_reset),
    .io_interrupt(LevelGateway_21_io_interrupt),
    .io_plic_valid(LevelGateway_21_io_plic_valid),
    .io_plic_ready(LevelGateway_21_io_plic_ready),
    .io_plic_complete(LevelGateway_21_io_plic_complete)
  );
  LevelGateway LevelGateway_22 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80884.4]
    .clock(LevelGateway_22_clock),
    .reset(LevelGateway_22_reset),
    .io_interrupt(LevelGateway_22_io_interrupt),
    .io_plic_valid(LevelGateway_22_io_plic_valid),
    .io_plic_ready(LevelGateway_22_io_plic_ready),
    .io_plic_complete(LevelGateway_22_io_plic_complete)
  );
  LevelGateway LevelGateway_23 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80889.4]
    .clock(LevelGateway_23_clock),
    .reset(LevelGateway_23_reset),
    .io_interrupt(LevelGateway_23_io_interrupt),
    .io_plic_valid(LevelGateway_23_io_plic_valid),
    .io_plic_ready(LevelGateway_23_io_plic_ready),
    .io_plic_complete(LevelGateway_23_io_plic_complete)
  );
  LevelGateway LevelGateway_24 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80894.4]
    .clock(LevelGateway_24_clock),
    .reset(LevelGateway_24_reset),
    .io_interrupt(LevelGateway_24_io_interrupt),
    .io_plic_valid(LevelGateway_24_io_plic_valid),
    .io_plic_ready(LevelGateway_24_io_plic_ready),
    .io_plic_complete(LevelGateway_24_io_plic_complete)
  );
  LevelGateway LevelGateway_25 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80899.4]
    .clock(LevelGateway_25_clock),
    .reset(LevelGateway_25_reset),
    .io_interrupt(LevelGateway_25_io_interrupt),
    .io_plic_valid(LevelGateway_25_io_plic_valid),
    .io_plic_ready(LevelGateway_25_io_plic_ready),
    .io_plic_complete(LevelGateway_25_io_plic_complete)
  );
  LevelGateway LevelGateway_26 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80904.4]
    .clock(LevelGateway_26_clock),
    .reset(LevelGateway_26_reset),
    .io_interrupt(LevelGateway_26_io_interrupt),
    .io_plic_valid(LevelGateway_26_io_plic_valid),
    .io_plic_ready(LevelGateway_26_io_plic_ready),
    .io_plic_complete(LevelGateway_26_io_plic_complete)
  );
  LevelGateway LevelGateway_27 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80909.4]
    .clock(LevelGateway_27_clock),
    .reset(LevelGateway_27_reset),
    .io_interrupt(LevelGateway_27_io_interrupt),
    .io_plic_valid(LevelGateway_27_io_plic_valid),
    .io_plic_ready(LevelGateway_27_io_plic_ready),
    .io_plic_complete(LevelGateway_27_io_plic_complete)
  );
  LevelGateway LevelGateway_28 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80914.4]
    .clock(LevelGateway_28_clock),
    .reset(LevelGateway_28_reset),
    .io_interrupt(LevelGateway_28_io_interrupt),
    .io_plic_valid(LevelGateway_28_io_plic_valid),
    .io_plic_ready(LevelGateway_28_io_plic_ready),
    .io_plic_complete(LevelGateway_28_io_plic_complete)
  );
  LevelGateway LevelGateway_29 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80919.4]
    .clock(LevelGateway_29_clock),
    .reset(LevelGateway_29_reset),
    .io_interrupt(LevelGateway_29_io_interrupt),
    .io_plic_valid(LevelGateway_29_io_plic_valid),
    .io_plic_ready(LevelGateway_29_io_plic_ready),
    .io_plic_complete(LevelGateway_29_io_plic_complete)
  );
  LevelGateway LevelGateway_30 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80924.4]
    .clock(LevelGateway_30_clock),
    .reset(LevelGateway_30_reset),
    .io_interrupt(LevelGateway_30_io_interrupt),
    .io_plic_valid(LevelGateway_30_io_plic_valid),
    .io_plic_ready(LevelGateway_30_io_plic_ready),
    .io_plic_complete(LevelGateway_30_io_plic_complete)
  );
  LevelGateway LevelGateway_31 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80929.4]
    .clock(LevelGateway_31_clock),
    .reset(LevelGateway_31_reset),
    .io_interrupt(LevelGateway_31_io_interrupt),
    .io_plic_valid(LevelGateway_31_io_plic_valid),
    .io_plic_ready(LevelGateway_31_io_plic_ready),
    .io_plic_complete(LevelGateway_31_io_plic_complete)
  );
  LevelGateway LevelGateway_32 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80934.4]
    .clock(LevelGateway_32_clock),
    .reset(LevelGateway_32_reset),
    .io_interrupt(LevelGateway_32_io_interrupt),
    .io_plic_valid(LevelGateway_32_io_plic_valid),
    .io_plic_ready(LevelGateway_32_io_plic_ready),
    .io_plic_complete(LevelGateway_32_io_plic_complete)
  );
  LevelGateway LevelGateway_33 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80939.4]
    .clock(LevelGateway_33_clock),
    .reset(LevelGateway_33_reset),
    .io_interrupt(LevelGateway_33_io_interrupt),
    .io_plic_valid(LevelGateway_33_io_plic_valid),
    .io_plic_ready(LevelGateway_33_io_plic_ready),
    .io_plic_complete(LevelGateway_33_io_plic_complete)
  );
  LevelGateway LevelGateway_34 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80944.4]
    .clock(LevelGateway_34_clock),
    .reset(LevelGateway_34_reset),
    .io_interrupt(LevelGateway_34_io_interrupt),
    .io_plic_valid(LevelGateway_34_io_plic_valid),
    .io_plic_ready(LevelGateway_34_io_plic_ready),
    .io_plic_complete(LevelGateway_34_io_plic_complete)
  );
  LevelGateway LevelGateway_35 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80949.4]
    .clock(LevelGateway_35_clock),
    .reset(LevelGateway_35_reset),
    .io_interrupt(LevelGateway_35_io_interrupt),
    .io_plic_valid(LevelGateway_35_io_plic_valid),
    .io_plic_ready(LevelGateway_35_io_plic_ready),
    .io_plic_complete(LevelGateway_35_io_plic_complete)
  );
  LevelGateway LevelGateway_36 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80954.4]
    .clock(LevelGateway_36_clock),
    .reset(LevelGateway_36_reset),
    .io_interrupt(LevelGateway_36_io_interrupt),
    .io_plic_valid(LevelGateway_36_io_plic_valid),
    .io_plic_ready(LevelGateway_36_io_plic_ready),
    .io_plic_complete(LevelGateway_36_io_plic_complete)
  );
  LevelGateway LevelGateway_37 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80959.4]
    .clock(LevelGateway_37_clock),
    .reset(LevelGateway_37_reset),
    .io_interrupt(LevelGateway_37_io_interrupt),
    .io_plic_valid(LevelGateway_37_io_plic_valid),
    .io_plic_ready(LevelGateway_37_io_plic_ready),
    .io_plic_complete(LevelGateway_37_io_plic_complete)
  );
  LevelGateway LevelGateway_38 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80964.4]
    .clock(LevelGateway_38_clock),
    .reset(LevelGateway_38_reset),
    .io_interrupt(LevelGateway_38_io_interrupt),
    .io_plic_valid(LevelGateway_38_io_plic_valid),
    .io_plic_ready(LevelGateway_38_io_plic_ready),
    .io_plic_complete(LevelGateway_38_io_plic_complete)
  );
  LevelGateway LevelGateway_39 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80969.4]
    .clock(LevelGateway_39_clock),
    .reset(LevelGateway_39_reset),
    .io_interrupt(LevelGateway_39_io_interrupt),
    .io_plic_valid(LevelGateway_39_io_plic_valid),
    .io_plic_ready(LevelGateway_39_io_plic_ready),
    .io_plic_complete(LevelGateway_39_io_plic_complete)
  );
  LevelGateway LevelGateway_40 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80974.4]
    .clock(LevelGateway_40_clock),
    .reset(LevelGateway_40_reset),
    .io_interrupt(LevelGateway_40_io_interrupt),
    .io_plic_valid(LevelGateway_40_io_plic_valid),
    .io_plic_ready(LevelGateway_40_io_plic_ready),
    .io_plic_complete(LevelGateway_40_io_plic_complete)
  );
  LevelGateway LevelGateway_41 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80979.4]
    .clock(LevelGateway_41_clock),
    .reset(LevelGateway_41_reset),
    .io_interrupt(LevelGateway_41_io_interrupt),
    .io_plic_valid(LevelGateway_41_io_plic_valid),
    .io_plic_ready(LevelGateway_41_io_plic_ready),
    .io_plic_complete(LevelGateway_41_io_plic_complete)
  );
  LevelGateway LevelGateway_42 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80984.4]
    .clock(LevelGateway_42_clock),
    .reset(LevelGateway_42_reset),
    .io_interrupt(LevelGateway_42_io_interrupt),
    .io_plic_valid(LevelGateway_42_io_plic_valid),
    .io_plic_ready(LevelGateway_42_io_plic_ready),
    .io_plic_complete(LevelGateway_42_io_plic_complete)
  );
  LevelGateway LevelGateway_43 ( // @[Plic.scala 140:27:shc.marmotcaravel.MarmotCaravelConfig.fir@80989.4]
    .clock(LevelGateway_43_clock),
    .reset(LevelGateway_43_reset),
    .io_interrupt(LevelGateway_43_io_interrupt),
    .io_plic_valid(LevelGateway_43_io_plic_valid),
    .io_plic_ready(LevelGateway_43_io_plic_ready),
    .io_plic_complete(LevelGateway_43_io_plic_complete)
  );
  PLICFanIn PLICFanIn ( // @[Plic.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@81105.4]
    .io_prio_0(PLICFanIn_io_prio_0),
    .io_prio_1(PLICFanIn_io_prio_1),
    .io_prio_2(PLICFanIn_io_prio_2),
    .io_prio_3(PLICFanIn_io_prio_3),
    .io_prio_4(PLICFanIn_io_prio_4),
    .io_prio_5(PLICFanIn_io_prio_5),
    .io_prio_6(PLICFanIn_io_prio_6),
    .io_prio_7(PLICFanIn_io_prio_7),
    .io_prio_8(PLICFanIn_io_prio_8),
    .io_prio_9(PLICFanIn_io_prio_9),
    .io_prio_10(PLICFanIn_io_prio_10),
    .io_prio_11(PLICFanIn_io_prio_11),
    .io_prio_12(PLICFanIn_io_prio_12),
    .io_prio_13(PLICFanIn_io_prio_13),
    .io_prio_14(PLICFanIn_io_prio_14),
    .io_prio_15(PLICFanIn_io_prio_15),
    .io_prio_16(PLICFanIn_io_prio_16),
    .io_prio_17(PLICFanIn_io_prio_17),
    .io_prio_18(PLICFanIn_io_prio_18),
    .io_prio_19(PLICFanIn_io_prio_19),
    .io_prio_20(PLICFanIn_io_prio_20),
    .io_prio_21(PLICFanIn_io_prio_21),
    .io_prio_22(PLICFanIn_io_prio_22),
    .io_prio_23(PLICFanIn_io_prio_23),
    .io_prio_24(PLICFanIn_io_prio_24),
    .io_prio_25(PLICFanIn_io_prio_25),
    .io_prio_26(PLICFanIn_io_prio_26),
    .io_prio_27(PLICFanIn_io_prio_27),
    .io_prio_28(PLICFanIn_io_prio_28),
    .io_prio_29(PLICFanIn_io_prio_29),
    .io_prio_30(PLICFanIn_io_prio_30),
    .io_prio_31(PLICFanIn_io_prio_31),
    .io_prio_32(PLICFanIn_io_prio_32),
    .io_prio_33(PLICFanIn_io_prio_33),
    .io_prio_34(PLICFanIn_io_prio_34),
    .io_prio_35(PLICFanIn_io_prio_35),
    .io_prio_36(PLICFanIn_io_prio_36),
    .io_prio_37(PLICFanIn_io_prio_37),
    .io_prio_38(PLICFanIn_io_prio_38),
    .io_prio_39(PLICFanIn_io_prio_39),
    .io_prio_40(PLICFanIn_io_prio_40),
    .io_prio_41(PLICFanIn_io_prio_41),
    .io_prio_42(PLICFanIn_io_prio_42),
    .io_prio_43(PLICFanIn_io_prio_43),
    .io_ip(PLICFanIn_io_ip),
    .io_dev(PLICFanIn_io_dev),
    .io_max(PLICFanIn_io_max)
  );
  Queue_8 Queue ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81659.4]
    .clock(Queue_clock),
    .reset(Queue_reset),
    .io_enq_ready(Queue_io_enq_ready),
    .io_enq_valid(Queue_io_enq_valid),
    .io_enq_bits_read(Queue_io_enq_bits_read),
    .io_enq_bits_index(Queue_io_enq_bits_index),
    .io_enq_bits_data(Queue_io_enq_bits_data),
    .io_enq_bits_mask(Queue_io_enq_bits_mask),
    .io_enq_bits_extra(Queue_io_enq_bits_extra),
    .io_deq_ready(Queue_io_deq_ready),
    .io_deq_valid(Queue_io_deq_valid),
    .io_deq_bits_read(Queue_io_deq_bits_read),
    .io_deq_bits_index(Queue_io_deq_bits_index),
    .io_deq_bits_data(Queue_io_deq_bits_data),
    .io_deq_bits_mask(Queue_io_deq_bits_mask),
    .io_deq_bits_extra(Queue_io_deq_bits_extra)
  );
  assign _T_1017 = {enables_0_2,enables_0_1}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81049.4]
  assign _T_1018 = {_T_1017,enables_0_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81050.4]
  assign _T_1019 = {enables_0_5,enables_0_4}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81051.4]
  assign _T_1020 = {_T_1019,enables_0_3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81052.4]
  assign enableVec_0 = {_T_1020,_T_1018}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81053.4]
  assign enableVec0_0 = {enableVec_0,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81057.4]
  assign _T_1041 = {pending_1,pending_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81062.4]
  assign _T_1042 = {pending_4,pending_3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81063.4]
  assign _T_1043 = {_T_1042,pending_2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81064.4]
  assign _T_1044 = {_T_1043,_T_1041}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81065.4]
  assign _T_1045 = {pending_7,pending_6}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81066.4]
  assign _T_1046 = {_T_1045,pending_5}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81067.4]
  assign _T_1047 = {pending_10,pending_9}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81068.4]
  assign _T_1048 = {_T_1047,pending_8}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81069.4]
  assign _T_1049 = {_T_1048,_T_1046}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81070.4]
  assign _T_1050 = {_T_1049,_T_1044}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81071.4]
  assign _T_1051 = {pending_12,pending_11}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81072.4]
  assign _T_1052 = {pending_15,pending_14}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81073.4]
  assign _T_1053 = {_T_1052,pending_13}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81074.4]
  assign _T_1054 = {_T_1053,_T_1051}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81075.4]
  assign _T_1055 = {pending_18,pending_17}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81076.4]
  assign _T_1056 = {_T_1055,pending_16}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81077.4]
  assign _T_1057 = {pending_21,pending_20}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81078.4]
  assign _T_1058 = {_T_1057,pending_19}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81079.4]
  assign _T_1059 = {_T_1058,_T_1056}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81080.4]
  assign _T_1060 = {_T_1059,_T_1054}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81081.4]
  assign _T_1061 = {_T_1060,_T_1050}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81082.4]
  assign _T_1062 = {pending_23,pending_22}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81083.4]
  assign _T_1063 = {pending_26,pending_25}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81084.4]
  assign _T_1064 = {_T_1063,pending_24}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81085.4]
  assign _T_1065 = {_T_1064,_T_1062}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81086.4]
  assign _T_1066 = {pending_29,pending_28}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81087.4]
  assign _T_1067 = {_T_1066,pending_27}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81088.4]
  assign _T_1068 = {pending_32,pending_31}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81089.4]
  assign _T_1069 = {_T_1068,pending_30}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81090.4]
  assign _T_1070 = {_T_1069,_T_1067}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81091.4]
  assign _T_1071 = {_T_1070,_T_1065}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81092.4]
  assign _T_1072 = {pending_34,pending_33}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81093.4]
  assign _T_1073 = {pending_37,pending_36}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81094.4]
  assign _T_1074 = {_T_1073,pending_35}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81095.4]
  assign _T_1075 = {_T_1074,_T_1072}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81096.4]
  assign _T_1076 = {pending_40,pending_39}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81097.4]
  assign _T_1077 = {_T_1076,pending_38}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81098.4]
  assign _T_1078 = {pending_43,pending_42}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81099.4]
  assign _T_1079 = {_T_1078,pending_41}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81100.4]
  assign _T_1080 = {_T_1079,_T_1077}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81101.4]
  assign _T_1081 = {_T_1080,_T_1075}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81102.4]
  assign _T_1082 = {_T_1081,_T_1071}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81103.4]
  assign pendingUInt = {_T_1082,_T_1061}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81104.4]
  assign _T_12834 = Queue_io_deq_valid & auto_in_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@94045.4]
  assign _T_12835 = _T_12834 & Queue_io_deq_bits_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@94046.4]
  assign _T_4604 = Queue_io_deq_bits_index[19]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84603.4]
  assign _T_4596 = Queue_io_deq_bits_index[11]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84595.4]
  assign _T_4613 = {_T_4604,_T_4596}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84612.4]
  assign _T_4595 = Queue_io_deq_bits_index[10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84594.4]
  assign _T_4614 = {_T_4613,_T_4595}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84613.4]
  assign _T_4590 = Queue_io_deq_bits_index[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84589.4]
  assign _T_4589 = Queue_io_deq_bits_index[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84588.4]
  assign _T_4612 = {_T_4590,_T_4589}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84611.4]
  assign _T_4615 = {_T_4614,_T_4612}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84614.4]
  assign _T_4588 = Queue_io_deq_bits_index[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84587.4]
  assign _T_4587 = Queue_io_deq_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84586.4]
  assign _T_4610 = {_T_4588,_T_4587}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84609.4]
  assign _T_4586 = Queue_io_deq_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84585.4]
  assign _T_4585 = Queue_io_deq_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84584.4]
  assign _T_4609 = {_T_4586,_T_4585}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84608.4]
  assign _T_4611 = {_T_4610,_T_4609}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84610.4]
  assign _T_4616 = {_T_4615,_T_4611}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84615.4]
  assign _T_5130 = 512'h1 << _T_4616; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@85129.4]
  assign _T_5388 = _T_5130[257]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85387.4]
  assign _T_14380 = _T_12835 & _T_5388; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@95946.4]
  assign _T_1420 = Queue_io_deq_bits_index & 24'hf7f3c0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@81671.4]
  assign _T_1444 = _T_1420 == 24'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@81695.4]
  assign _T_14381 = _T_14380 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@95947.4]
  assign _T_1959 = Queue_io_deq_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@81798.4]
  assign _T_1967 = _T_1959 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81806.4]
  assign _T_1958 = Queue_io_deq_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@81797.4]
  assign _T_1965 = _T_1958 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81804.4]
  assign _T_1969 = {_T_1967,_T_1965}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81808.4]
  assign _T_1957 = Queue_io_deq_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@81796.4]
  assign _T_1963 = _T_1957 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81802.4]
  assign _T_1956 = Queue_io_deq_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@81795.4]
  assign _T_1961 = _T_1956 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81800.4]
  assign _T_1968 = {_T_1963,_T_1961}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81807.4]
  assign _T_1970 = {_T_1969,_T_1968}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81809.4]
  assign _T_3116 = _T_1970 != 32'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82988.4]
  assign claimer_0 = _T_14381 & _T_3116; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82993.4]
  assign _T_1093 = claimer_0 - 1'h1; // @[Plic.scala 223:46:shc.marmotcaravel.MarmotCaravelConfig.fir@81119.4]
  assign _T_1094 = $unsigned(_T_1093); // @[Plic.scala 223:46:shc.marmotcaravel.MarmotCaravelConfig.fir@81120.4]
  assign _T_1095 = _T_1094[0:0]; // @[Plic.scala 223:46:shc.marmotcaravel.MarmotCaravelConfig.fir@81121.4]
  assign _T_1096 = claimer_0 & _T_1095; // @[Plic.scala 223:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81122.4]
  assign _T_1097 = _T_1096 == 1'h0; // @[Plic.scala 223:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81123.4]
  assign _T_1099 = _T_1097 | reset; // @[Plic.scala 223:11:shc.marmotcaravel.MarmotCaravelConfig.fir@81125.4]
  assign _T_1100 = _T_1099 == 1'h0; // @[Plic.scala 223:11:shc.marmotcaravel.MarmotCaravelConfig.fir@81126.4]
  assign claiming = claimer_0 ? maxDevs_0 : 6'h0; // @[Plic.scala 224:49:shc.marmotcaravel.MarmotCaravelConfig.fir@81131.4]
  assign _T_1102 = 64'h1 << claiming; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81133.4]
  assign _T_1103 = _T_1102[44:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81134.4]
  assign claimedDevs_1 = _T_1103[1]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81136.4]
  assign claimedDevs_2 = _T_1103[2]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81137.4]
  assign claimedDevs_3 = _T_1103[3]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81138.4]
  assign claimedDevs_4 = _T_1103[4]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81139.4]
  assign claimedDevs_5 = _T_1103[5]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81140.4]
  assign claimedDevs_6 = _T_1103[6]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81141.4]
  assign claimedDevs_7 = _T_1103[7]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81142.4]
  assign claimedDevs_8 = _T_1103[8]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81143.4]
  assign claimedDevs_9 = _T_1103[9]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81144.4]
  assign claimedDevs_10 = _T_1103[10]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81145.4]
  assign claimedDevs_11 = _T_1103[11]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81146.4]
  assign claimedDevs_12 = _T_1103[12]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81147.4]
  assign claimedDevs_13 = _T_1103[13]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81148.4]
  assign claimedDevs_14 = _T_1103[14]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81149.4]
  assign claimedDevs_15 = _T_1103[15]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81150.4]
  assign claimedDevs_16 = _T_1103[16]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81151.4]
  assign claimedDevs_17 = _T_1103[17]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81152.4]
  assign claimedDevs_18 = _T_1103[18]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81153.4]
  assign claimedDevs_19 = _T_1103[19]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81154.4]
  assign claimedDevs_20 = _T_1103[20]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81155.4]
  assign claimedDevs_21 = _T_1103[21]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81156.4]
  assign claimedDevs_22 = _T_1103[22]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81157.4]
  assign claimedDevs_23 = _T_1103[23]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81158.4]
  assign claimedDevs_24 = _T_1103[24]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81159.4]
  assign claimedDevs_25 = _T_1103[25]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81160.4]
  assign claimedDevs_26 = _T_1103[26]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81161.4]
  assign claimedDevs_27 = _T_1103[27]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81162.4]
  assign claimedDevs_28 = _T_1103[28]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81163.4]
  assign claimedDevs_29 = _T_1103[29]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81164.4]
  assign claimedDevs_30 = _T_1103[30]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81165.4]
  assign claimedDevs_31 = _T_1103[31]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81166.4]
  assign claimedDevs_32 = _T_1103[32]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81167.4]
  assign claimedDevs_33 = _T_1103[33]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81168.4]
  assign claimedDevs_34 = _T_1103[34]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81169.4]
  assign claimedDevs_35 = _T_1103[35]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81170.4]
  assign claimedDevs_36 = _T_1103[36]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81171.4]
  assign claimedDevs_37 = _T_1103[37]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81172.4]
  assign claimedDevs_38 = _T_1103[38]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81173.4]
  assign claimedDevs_39 = _T_1103[39]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81174.4]
  assign claimedDevs_40 = _T_1103[40]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81175.4]
  assign claimedDevs_41 = _T_1103[41]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81176.4]
  assign claimedDevs_42 = _T_1103[42]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81177.4]
  assign claimedDevs_43 = _T_1103[43]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81178.4]
  assign claimedDevs_44 = _T_1103[44]; // @[Plic.scala 225:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81179.4]
  assign _T_1200 = claimedDevs_1 | LevelGateway_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81229.4]
  assign _T_1201 = claimedDevs_1 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81231.6]
  assign _T_1203 = claimedDevs_2 | LevelGateway_1_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81236.4]
  assign _T_1204 = claimedDevs_2 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81238.6]
  assign _T_1206 = claimedDevs_3 | LevelGateway_2_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81243.4]
  assign _T_1207 = claimedDevs_3 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81245.6]
  assign _T_1209 = claimedDevs_4 | LevelGateway_3_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81250.4]
  assign _T_1210 = claimedDevs_4 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81252.6]
  assign _T_1212 = claimedDevs_5 | LevelGateway_4_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81257.4]
  assign _T_1213 = claimedDevs_5 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81259.6]
  assign _T_1215 = claimedDevs_6 | LevelGateway_5_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81264.4]
  assign _T_1216 = claimedDevs_6 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81266.6]
  assign _T_1218 = claimedDevs_7 | LevelGateway_6_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81271.4]
  assign _T_1219 = claimedDevs_7 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81273.6]
  assign _T_1221 = claimedDevs_8 | LevelGateway_7_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81278.4]
  assign _T_1222 = claimedDevs_8 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81280.6]
  assign _T_1224 = claimedDevs_9 | LevelGateway_8_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81285.4]
  assign _T_1225 = claimedDevs_9 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81287.6]
  assign _T_1227 = claimedDevs_10 | LevelGateway_9_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81292.4]
  assign _T_1228 = claimedDevs_10 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81294.6]
  assign _T_1230 = claimedDevs_11 | LevelGateway_10_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81299.4]
  assign _T_1231 = claimedDevs_11 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81301.6]
  assign _T_1233 = claimedDevs_12 | LevelGateway_11_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81306.4]
  assign _T_1234 = claimedDevs_12 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81308.6]
  assign _T_1236 = claimedDevs_13 | LevelGateway_12_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81313.4]
  assign _T_1237 = claimedDevs_13 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81315.6]
  assign _T_1239 = claimedDevs_14 | LevelGateway_13_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81320.4]
  assign _T_1240 = claimedDevs_14 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81322.6]
  assign _T_1242 = claimedDevs_15 | LevelGateway_14_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81327.4]
  assign _T_1243 = claimedDevs_15 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81329.6]
  assign _T_1245 = claimedDevs_16 | LevelGateway_15_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81334.4]
  assign _T_1246 = claimedDevs_16 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81336.6]
  assign _T_1248 = claimedDevs_17 | LevelGateway_16_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81341.4]
  assign _T_1249 = claimedDevs_17 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81343.6]
  assign _T_1251 = claimedDevs_18 | LevelGateway_17_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81348.4]
  assign _T_1252 = claimedDevs_18 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81350.6]
  assign _T_1254 = claimedDevs_19 | LevelGateway_18_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81355.4]
  assign _T_1255 = claimedDevs_19 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81357.6]
  assign _T_1257 = claimedDevs_20 | LevelGateway_19_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81362.4]
  assign _T_1258 = claimedDevs_20 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81364.6]
  assign _T_1260 = claimedDevs_21 | LevelGateway_20_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81369.4]
  assign _T_1261 = claimedDevs_21 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81371.6]
  assign _T_1263 = claimedDevs_22 | LevelGateway_21_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81376.4]
  assign _T_1264 = claimedDevs_22 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81378.6]
  assign _T_1266 = claimedDevs_23 | LevelGateway_22_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81383.4]
  assign _T_1267 = claimedDevs_23 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81385.6]
  assign _T_1269 = claimedDevs_24 | LevelGateway_23_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81390.4]
  assign _T_1270 = claimedDevs_24 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81392.6]
  assign _T_1272 = claimedDevs_25 | LevelGateway_24_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81397.4]
  assign _T_1273 = claimedDevs_25 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81399.6]
  assign _T_1275 = claimedDevs_26 | LevelGateway_25_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81404.4]
  assign _T_1276 = claimedDevs_26 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81406.6]
  assign _T_1278 = claimedDevs_27 | LevelGateway_26_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81411.4]
  assign _T_1279 = claimedDevs_27 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81413.6]
  assign _T_1281 = claimedDevs_28 | LevelGateway_27_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81418.4]
  assign _T_1282 = claimedDevs_28 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81420.6]
  assign _T_1284 = claimedDevs_29 | LevelGateway_28_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81425.4]
  assign _T_1285 = claimedDevs_29 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81427.6]
  assign _T_1287 = claimedDevs_30 | LevelGateway_29_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81432.4]
  assign _T_1288 = claimedDevs_30 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81434.6]
  assign _T_1290 = claimedDevs_31 | LevelGateway_30_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81439.4]
  assign _T_1291 = claimedDevs_31 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81441.6]
  assign _T_1293 = claimedDevs_32 | LevelGateway_31_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81446.4]
  assign _T_1294 = claimedDevs_32 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81448.6]
  assign _T_1296 = claimedDevs_33 | LevelGateway_32_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81453.4]
  assign _T_1297 = claimedDevs_33 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81455.6]
  assign _T_1299 = claimedDevs_34 | LevelGateway_33_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81460.4]
  assign _T_1300 = claimedDevs_34 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81462.6]
  assign _T_1302 = claimedDevs_35 | LevelGateway_34_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81467.4]
  assign _T_1303 = claimedDevs_35 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81469.6]
  assign _T_1305 = claimedDevs_36 | LevelGateway_35_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81474.4]
  assign _T_1306 = claimedDevs_36 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81476.6]
  assign _T_1308 = claimedDevs_37 | LevelGateway_36_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81481.4]
  assign _T_1309 = claimedDevs_37 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81483.6]
  assign _T_1311 = claimedDevs_38 | LevelGateway_37_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81488.4]
  assign _T_1312 = claimedDevs_38 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81490.6]
  assign _T_1314 = claimedDevs_39 | LevelGateway_38_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81495.4]
  assign _T_1315 = claimedDevs_39 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81497.6]
  assign _T_1317 = claimedDevs_40 | LevelGateway_39_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81502.4]
  assign _T_1318 = claimedDevs_40 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81504.6]
  assign _T_1320 = claimedDevs_41 | LevelGateway_40_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81509.4]
  assign _T_1321 = claimedDevs_41 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81511.6]
  assign _T_1323 = claimedDevs_42 | LevelGateway_41_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81516.4]
  assign _T_1324 = claimedDevs_42 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81518.6]
  assign _T_1326 = claimedDevs_43 | LevelGateway_42_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81523.4]
  assign _T_1327 = claimedDevs_43 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81525.6]
  assign _T_1329 = claimedDevs_44 | LevelGateway_43_io_plic_valid; // @[Plic.scala 229:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81530.4]
  assign _T_1330 = claimedDevs_44 == 1'h0; // @[Plic.scala 229:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81532.6]
  assign _T_16430 = Queue_io_deq_bits_read == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98247.4]
  assign _T_16431 = _T_12834 & _T_16430; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98248.4]
  assign _T_17976 = _T_16431 & _T_5388; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@100148.4]
  assign _T_17977 = _T_17976 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@100149.4]
  assign _T_3118 = ~ _T_1970; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82990.4]
  assign _T_3119 = _T_3118 == 32'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82991.4]
  assign _T_3123 = _T_17977 & _T_3119; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82995.4]
  assign _T_3124 = Queue_io_deq_bits_data; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82997.4]
  assign completerDev = _T_3124[5:0]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@83007.4]
  assign _T_3131 = enableVec0_0 >> completerDev; // @[Plic.scala 273:51:shc.marmotcaravel.MarmotCaravelConfig.fir@83009.4]
  assign _T_3132 = _T_3131[0]; // @[Plic.scala 273:51:shc.marmotcaravel.MarmotCaravelConfig.fir@83010.4]
  assign completer_0 = _T_3123 & _T_3132; // @[Plic.scala 273:35:shc.marmotcaravel.MarmotCaravelConfig.fir@83011.4]
  assign _T_1337 = completer_0 - 1'h1; // @[Plic.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@81537.4]
  assign _T_1338 = $unsigned(_T_1337); // @[Plic.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@81538.4]
  assign _T_1339 = _T_1338[0:0]; // @[Plic.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@81539.4]
  assign _T_1340 = completer_0 & _T_1339; // @[Plic.scala 240:30:shc.marmotcaravel.MarmotCaravelConfig.fir@81540.4]
  assign _T_1341 = _T_1340 == 1'h0; // @[Plic.scala 240:62:shc.marmotcaravel.MarmotCaravelConfig.fir@81541.4]
  assign _T_1343 = _T_1341 | reset; // @[Plic.scala 240:11:shc.marmotcaravel.MarmotCaravelConfig.fir@81543.4]
  assign _T_1344 = _T_1343 == 1'h0; // @[Plic.scala 240:11:shc.marmotcaravel.MarmotCaravelConfig.fir@81544.4]
  assign _T_1347 = 64'h1 << completerDev; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@81552.4]
  assign _T_1348 = _T_1347[44:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@81553.4]
  assign completedDevs = completer_0 ? _T_1348 : 45'h0; // @[Plic.scala 242:28:shc.marmotcaravel.MarmotCaravelConfig.fir@81554.4]
  assign _T_1402 = auto_in_a_bits_address[27:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@81648.4]
  assign _T_2020 = {pending_0,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81859.4]
  assign _T_2047 = {pending_1,_T_2020}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81886.4]
  assign _T_2074 = {pending_2,_T_2047}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81913.4]
  assign _T_2101 = {pending_3,_T_2074}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81940.4]
  assign _T_2128 = {pending_4,_T_2101}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81967.4]
  assign _T_2155 = {pending_5,_T_2128}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@81994.4]
  assign _T_2182 = {pending_6,_T_2155}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82021.4]
  assign _T_2209 = {pending_7,_T_2182}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82048.4]
  assign _T_2236 = {pending_8,_T_2209}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82075.4]
  assign _T_2263 = {pending_9,_T_2236}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82102.4]
  assign _T_2290 = {pending_10,_T_2263}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82129.4]
  assign _T_2317 = {pending_11,_T_2290}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82156.4]
  assign _T_2344 = {pending_12,_T_2317}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82183.4]
  assign _T_2371 = {pending_13,_T_2344}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82210.4]
  assign _T_2398 = {pending_14,_T_2371}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82237.4]
  assign _T_2425 = {pending_15,_T_2398}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82264.4]
  assign _T_2452 = {pending_16,_T_2425}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82291.4]
  assign _T_2479 = {pending_17,_T_2452}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82318.4]
  assign _T_2506 = {pending_18,_T_2479}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82345.4]
  assign _T_2533 = {pending_19,_T_2506}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82372.4]
  assign _T_2560 = {pending_20,_T_2533}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82399.4]
  assign _T_2587 = {pending_21,_T_2560}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82426.4]
  assign _T_2614 = {pending_22,_T_2587}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82453.4]
  assign _T_2641 = {pending_23,_T_2614}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82480.4]
  assign _T_2668 = {pending_24,_T_2641}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82507.4]
  assign _T_2695 = {pending_25,_T_2668}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82534.4]
  assign _T_2722 = {pending_26,_T_2695}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82561.4]
  assign _T_2749 = {pending_27,_T_2722}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82588.4]
  assign _T_2776 = {pending_28,_T_2749}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82615.4]
  assign _T_2803 = {pending_29,_T_2776}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82642.4]
  assign _T_2830 = {pending_30,_T_2803}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@82669.4]
  assign _T_2838 = _T_1970[2:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82677.4]
  assign _T_2841 = ~ _T_2838; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82680.4]
  assign _T_2842 = _T_2841 == 3'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82681.4]
  assign _T_5136 = _T_5130[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85135.4]
  assign _T_16464 = _T_16431 & _T_5136; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98290.4]
  assign _T_16465 = _T_16464 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98291.4]
  assign _T_2846 = _T_16465 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82685.4]
  assign _T_2847 = Queue_io_deq_bits_data[2:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82686.4]
  assign _T_5141 = _T_5130[10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85140.4]
  assign _T_16494 = _T_16431 & _T_5141; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98330.4]
  assign _T_16495 = _T_16494 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98331.4]
  assign _T_2871 = _T_16495 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82713.4]
  assign _T_5173 = _T_5130[42]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85172.4]
  assign _T_16686 = _T_16431 & _T_5173; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98586.4]
  assign _T_16687 = _T_16686 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98587.4]
  assign _T_2896 = _T_16687 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82741.4]
  assign _T_5155 = _T_5130[24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85154.4]
  assign _T_16578 = _T_16431 & _T_5155; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98442.4]
  assign _T_16579 = _T_16578 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98443.4]
  assign _T_2921 = _T_16579 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82769.4]
  assign _T_5168 = _T_5130[37]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85167.4]
  assign _T_16656 = _T_16431 & _T_5168; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98546.4]
  assign _T_16657 = _T_16656 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98547.4]
  assign _T_2946 = _T_16657 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82797.4]
  assign _T_5156 = _T_5130[25]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85155.4]
  assign _T_16584 = _T_16431 & _T_5156; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98450.4]
  assign _T_16585 = _T_16584 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98451.4]
  assign _T_2971 = _T_16585 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82825.4]
  assign _T_5145 = _T_5130[14]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85144.4]
  assign _T_16518 = _T_16431 & _T_5145; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98362.4]
  assign _T_16519 = _T_16518 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98363.4]
  assign _T_2996 = _T_16519 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82853.4]
  assign _T_5151 = _T_5130[20]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85150.4]
  assign _T_16554 = _T_16431 & _T_5151; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98410.4]
  assign _T_16555 = _T_16554 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98411.4]
  assign _T_3021 = _T_16555 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82881.4]
  assign _T_3038 = _T_1970[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82901.4]
  assign _T_3041 = ~ _T_3038; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82904.4]
  assign _T_3042 = _T_3041 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82905.4]
  assign _T_5260 = _T_5130[129]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85259.4]
  assign _T_17208 = _T_16431 & _T_5260; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@99248.4]
  assign _T_17209 = _T_17208 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@99249.4]
  assign _T_3046 = _T_17209 & _T_3042; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82909.4]
  assign _T_3047 = Queue_io_deq_bits_data[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82910.4]
  assign _T_3063 = _T_1970[12:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82929.4]
  assign _T_3066 = ~ _T_3063; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82932.4]
  assign _T_3067 = _T_3066 == 5'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82933.4]
  assign _T_3071 = _T_17209 & _T_3067; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82937.4]
  assign _T_3072 = Queue_io_deq_bits_data[12:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82938.4]
  assign _T_5160 = _T_5130[29]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85159.4]
  assign _T_16608 = _T_16431 & _T_5160; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98482.4]
  assign _T_16609 = _T_16608 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98483.4]
  assign _T_3098 = _T_16609 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@82967.4]
  assign _T_3126 = completerDev == completerDev; // @[Plic.scala 270:33:shc.marmotcaravel.MarmotCaravelConfig.fir@82999.4]
  assign _T_3128 = _T_3126 | reset; // @[Plic.scala 270:19:shc.marmotcaravel.MarmotCaravelConfig.fir@83001.4]
  assign _T_3129 = _T_3128 == 1'h0; // @[Plic.scala 270:19:shc.marmotcaravel.MarmotCaravelConfig.fir@83002.4]
  assign _T_3142 = {{26'd0}, maxDevs_0}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83021.4]
  assign _T_5132 = _T_5130[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85131.4]
  assign _T_16440 = _T_16431 & _T_5132; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98258.4]
  assign _T_16441 = _T_16440 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98259.4]
  assign _T_3157 = _T_16441 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83036.4]
  assign _T_5137 = _T_5130[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85136.4]
  assign _T_16470 = _T_16431 & _T_5137; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98298.4]
  assign _T_16471 = _T_16470 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98299.4]
  assign _T_3182 = _T_16471 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83064.4]
  assign _T_5159 = _T_5130[28]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85158.4]
  assign _T_16602 = _T_16431 & _T_5159; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98474.4]
  assign _T_16603 = _T_16602 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98475.4]
  assign _T_3207 = _T_16603 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83092.4]
  assign _T_5169 = _T_5130[38]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85168.4]
  assign _T_16662 = _T_16431 & _T_5169; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98554.4]
  assign _T_16663 = _T_16662 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98555.4]
  assign _T_3232 = _T_16663 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83120.4]
  assign _T_5152 = _T_5130[21]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85151.4]
  assign _T_16560 = _T_16431 & _T_5152; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98418.4]
  assign _T_16561 = _T_16560 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98419.4]
  assign _T_3257 = _T_16561 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83148.4]
  assign _T_5164 = _T_5130[33]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85163.4]
  assign _T_16632 = _T_16431 & _T_5164; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98514.4]
  assign _T_16633 = _T_16632 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98515.4]
  assign _T_3282 = _T_16633 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83176.4]
  assign _T_5140 = _T_5130[9]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85139.4]
  assign _T_16488 = _T_16431 & _T_5140; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98322.4]
  assign _T_16489 = _T_16488 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98323.4]
  assign _T_3307 = _T_16489 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83204.4]
  assign _T_5144 = _T_5130[13]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85143.4]
  assign _T_16512 = _T_16431 & _T_5144; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98354.4]
  assign _T_16513 = _T_16512 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98355.4]
  assign _T_3332 = _T_16513 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83232.4]
  assign _T_5172 = _T_5130[41]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85171.4]
  assign _T_16680 = _T_16431 & _T_5172; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98578.4]
  assign _T_16681 = _T_16680 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98579.4]
  assign _T_3357 = _T_16681 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83260.4]
  assign _T_5133 = _T_5130[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85132.4]
  assign _T_16446 = _T_16431 & _T_5133; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98266.4]
  assign _T_16447 = _T_16446 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98267.4]
  assign _T_3382 = _T_16447 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83288.4]
  assign _T_5163 = _T_5130[32]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85162.4]
  assign _T_16626 = _T_16431 & _T_5163; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98506.4]
  assign _T_16627 = _T_16626 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98507.4]
  assign _T_3407 = _T_16627 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83316.4]
  assign _T_5165 = _T_5130[34]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85164.4]
  assign _T_16638 = _T_16431 & _T_5165; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98522.4]
  assign _T_16639 = _T_16638 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98523.4]
  assign _T_3432 = _T_16639 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83344.4]
  assign _T_5148 = _T_5130[17]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85147.4]
  assign _T_16536 = _T_16431 & _T_5148; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98386.4]
  assign _T_16537 = _T_16536 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98387.4]
  assign _T_3457 = _T_16537 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83372.4]
  assign _T_5387 = _T_5130[256]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85386.4]
  assign _T_17970 = _T_16431 & _T_5387; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@100139.4]
  assign _T_17971 = _T_17970 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@100140.4]
  assign _T_3482 = _T_17971 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83400.4]
  assign _T_3518 = {1'h0,threshold_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83439.4]
  assign _T_3519 = {{28'd0}, _T_3518}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83440.4]
  assign _T_5259 = _T_5130[128]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85258.4]
  assign _T_17202 = _T_16431 & _T_5259; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@99236.4]
  assign _T_17203 = _T_17202 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@99237.4]
  assign _T_3551 = _T_1970[7:1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83472.4]
  assign _T_3554 = ~ _T_3551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83475.4]
  assign _T_3555 = _T_3554 == 7'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83476.4]
  assign _T_3559 = _T_17203 & _T_3555; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83480.4]
  assign _T_3560 = Queue_io_deq_bits_data[7:1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83481.4]
  assign _T_3570 = {enables_0_0,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83494.4]
  assign _T_3578 = _T_1970[15:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83502.4]
  assign _T_3581 = ~ _T_3578; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83505.4]
  assign _T_3582 = _T_3581 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83506.4]
  assign _T_3586 = _T_17203 & _T_3582; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83510.4]
  assign _T_3587 = Queue_io_deq_bits_data[15:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83511.4]
  assign _T_3597 = {enables_0_1,_T_3570}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83524.4]
  assign _T_3605 = _T_1970[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83532.4]
  assign _T_3608 = ~ _T_3605; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83535.4]
  assign _T_3609 = _T_3608 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83536.4]
  assign _T_3613 = _T_17203 & _T_3609; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83540.4]
  assign _T_3614 = Queue_io_deq_bits_data[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83541.4]
  assign _T_3624 = {enables_0_2,_T_3597}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83554.4]
  assign _T_3632 = _T_1970[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83562.4]
  assign _T_3635 = ~ _T_3632; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83565.4]
  assign _T_3636 = _T_3635 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83566.4]
  assign _T_3640 = _T_17203 & _T_3636; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83570.4]
  assign _T_3641 = Queue_io_deq_bits_data[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83571.4]
  assign _T_3651 = {enables_0_3,_T_3624}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83584.4]
  assign _T_5153 = _T_5130[22]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85152.4]
  assign _T_16566 = _T_16431 & _T_5153; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98426.4]
  assign _T_16567 = _T_16566 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98427.4]
  assign _T_3667 = _T_16567 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83600.4]
  assign _T_5175 = _T_5130[44]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85174.4]
  assign _T_16698 = _T_16431 & _T_5175; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98602.4]
  assign _T_16699 = _T_16698 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98603.4]
  assign _T_3692 = _T_16699 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83628.4]
  assign _T_5158 = _T_5130[27]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85157.4]
  assign _T_16596 = _T_16431 & _T_5158; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98466.4]
  assign _T_16597 = _T_16596 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98467.4]
  assign _T_3717 = _T_16597 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83656.4]
  assign _T_5143 = _T_5130[12]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85142.4]
  assign _T_16506 = _T_16431 & _T_5143; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98346.4]
  assign _T_16507 = _T_16506 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98347.4]
  assign _T_3742 = _T_16507 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83684.4]
  assign _T_5138 = _T_5130[7]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85137.4]
  assign _T_16476 = _T_16431 & _T_5138; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98306.4]
  assign _T_16477 = _T_16476 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98307.4]
  assign _T_3767 = _T_16477 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83712.4]
  assign _T_5170 = _T_5130[39]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85169.4]
  assign _T_16668 = _T_16431 & _T_5170; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98562.4]
  assign _T_16669 = _T_16668 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98563.4]
  assign _T_3792 = _T_16669 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83740.4]
  assign _T_5134 = _T_5130[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85133.4]
  assign _T_16452 = _T_16431 & _T_5134; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98274.4]
  assign _T_16453 = _T_16452 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98275.4]
  assign _T_3817 = _T_16453 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83768.4]
  assign _T_5166 = _T_5130[35]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85165.4]
  assign _T_16644 = _T_16431 & _T_5166; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98530.4]
  assign _T_16645 = _T_16644 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98531.4]
  assign _T_3842 = _T_16645 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@83796.4]
  assign _T_3930 = {pending_33,_T_1068}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83887.4]
  assign _T_3957 = {pending_34,_T_3930}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83914.4]
  assign _T_3984 = {pending_35,_T_3957}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83941.4]
  assign _T_4011 = {pending_36,_T_3984}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83968.4]
  assign _T_4038 = {pending_37,_T_4011}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@83995.4]
  assign _T_4065 = {pending_38,_T_4038}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84022.4]
  assign _T_4092 = {pending_39,_T_4065}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84049.4]
  assign _T_4119 = {pending_40,_T_4092}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84076.4]
  assign _T_4146 = {pending_41,_T_4119}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84103.4]
  assign _T_4173 = {pending_42,_T_4146}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84130.4]
  assign _T_4200 = {pending_43,_T_4173}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@84157.4]
  assign _T_5149 = _T_5130[18]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85148.4]
  assign _T_16542 = _T_16431 & _T_5149; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98394.4]
  assign _T_16543 = _T_16542 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98395.4]
  assign _T_4216 = _T_16543 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84173.4]
  assign _T_5147 = _T_5130[16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85146.4]
  assign _T_16530 = _T_16431 & _T_5147; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98378.4]
  assign _T_16531 = _T_16530 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98379.4]
  assign _T_4241 = _T_16531 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84201.4]
  assign _T_5162 = _T_5130[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85161.4]
  assign _T_16620 = _T_16431 & _T_5162; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98498.4]
  assign _T_16621 = _T_16620 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98499.4]
  assign _T_4266 = _T_16621 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84229.4]
  assign _T_5142 = _T_5130[11]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85141.4]
  assign _T_16500 = _T_16431 & _T_5142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98338.4]
  assign _T_16501 = _T_16500 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98339.4]
  assign _T_4291 = _T_16501 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84257.4]
  assign _T_5174 = _T_5130[43]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85173.4]
  assign _T_16692 = _T_16431 & _T_5174; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98594.4]
  assign _T_16693 = _T_16692 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98595.4]
  assign _T_4316 = _T_16693 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84285.4]
  assign _T_5171 = _T_5130[40]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85170.4]
  assign _T_16674 = _T_16431 & _T_5171; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98570.4]
  assign _T_16675 = _T_16674 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98571.4]
  assign _T_4341 = _T_16675 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84313.4]
  assign _T_5157 = _T_5130[26]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85156.4]
  assign _T_16590 = _T_16431 & _T_5157; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98458.4]
  assign _T_16591 = _T_16590 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98459.4]
  assign _T_4366 = _T_16591 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84341.4]
  assign _T_5154 = _T_5130[23]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85153.4]
  assign _T_16572 = _T_16431 & _T_5154; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98434.4]
  assign _T_16573 = _T_16572 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98435.4]
  assign _T_4391 = _T_16573 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84369.4]
  assign _T_5139 = _T_5130[8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85138.4]
  assign _T_16482 = _T_16431 & _T_5139; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98314.4]
  assign _T_16483 = _T_16482 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98315.4]
  assign _T_4416 = _T_16483 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84397.4]
  assign _T_5167 = _T_5130[36]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85166.4]
  assign _T_16650 = _T_16431 & _T_5167; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98538.4]
  assign _T_16651 = _T_16650 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98539.4]
  assign _T_4441 = _T_16651 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84425.4]
  assign _T_5161 = _T_5130[30]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85160.4]
  assign _T_16614 = _T_16431 & _T_5161; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98490.4]
  assign _T_16615 = _T_16614 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98491.4]
  assign _T_4466 = _T_16615 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84453.4]
  assign _T_5150 = _T_5130[19]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85149.4]
  assign _T_16548 = _T_16431 & _T_5150; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98402.4]
  assign _T_16549 = _T_16548 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98403.4]
  assign _T_4491 = _T_16549 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84481.4]
  assign _T_5135 = _T_5130[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85134.4]
  assign _T_16458 = _T_16431 & _T_5135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98282.4]
  assign _T_16459 = _T_16458 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98283.4]
  assign _T_4516 = _T_16459 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84509.4]
  assign _T_5146 = _T_5130[15]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@85145.4]
  assign _T_16524 = _T_16431 & _T_5146; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98370.4]
  assign _T_16525 = _T_16524 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@98371.4]
  assign _T_4541 = _T_16525 & _T_2842; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@84537.4]
  assign _T_20033 = 9'h1 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102462.4]
  assign _T_20034 = 9'h2 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102467.6]
  assign _T_20035 = 9'h3 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102472.8]
  assign _T_20036 = 9'h4 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102477.10]
  assign _T_20037 = 9'h5 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102482.12]
  assign _T_20038 = 9'h6 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102487.14]
  assign _T_20039 = 9'h7 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102492.16]
  assign _T_20040 = 9'h8 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102497.18]
  assign _T_20041 = 9'h9 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102502.20]
  assign _T_20042 = 9'ha == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102507.22]
  assign _T_20043 = 9'hb == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102512.24]
  assign _T_20044 = 9'hc == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102517.26]
  assign _T_20045 = 9'hd == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102522.28]
  assign _T_20046 = 9'he == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102527.30]
  assign _T_20047 = 9'hf == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102532.32]
  assign _T_20048 = 9'h10 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102537.34]
  assign _T_20049 = 9'h11 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102542.36]
  assign _T_20050 = 9'h12 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102547.38]
  assign _T_20051 = 9'h13 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102552.40]
  assign _T_20052 = 9'h14 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102557.42]
  assign _T_20053 = 9'h15 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102562.44]
  assign _T_20054 = 9'h16 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102567.46]
  assign _T_20055 = 9'h17 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102572.48]
  assign _T_20056 = 9'h18 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102577.50]
  assign _T_20057 = 9'h19 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102582.52]
  assign _T_20058 = 9'h1a == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102587.54]
  assign _T_20059 = 9'h1b == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102592.56]
  assign _T_20060 = 9'h1c == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102597.58]
  assign _T_20061 = 9'h1d == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102602.60]
  assign _T_20062 = 9'h1e == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102607.62]
  assign _T_20063 = 9'h1f == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102612.64]
  assign _T_20064 = 9'h20 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102617.66]
  assign _T_20065 = 9'h21 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102622.68]
  assign _T_20066 = 9'h22 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102627.70]
  assign _T_20067 = 9'h23 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102632.72]
  assign _T_20068 = 9'h24 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102637.74]
  assign _T_20069 = 9'h25 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102642.76]
  assign _T_20070 = 9'h26 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102647.78]
  assign _T_20071 = 9'h27 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102652.80]
  assign _T_20072 = 9'h28 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102657.82]
  assign _T_20073 = 9'h29 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102662.84]
  assign _T_20074 = 9'h2a == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102667.86]
  assign _T_20075 = 9'h2b == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102672.88]
  assign _T_20076 = 9'h2c == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102677.90]
  assign _T_20077 = 9'h40 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102682.92]
  assign _T_20078 = 9'h41 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102687.94]
  assign _T_20079 = 9'h80 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102692.96]
  assign _T_20080 = 9'h81 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102697.98]
  assign _T_20081 = 9'h100 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102702.100]
  assign _T_20082 = 9'h101 == _T_4616; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@102707.102]
  assign _GEN_2143 = _T_20082 ? _T_1444 : 1'h1; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102708.102]
  assign _GEN_2144 = _T_20081 ? _T_1444 : _GEN_2143; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102703.100]
  assign _GEN_2145 = _T_20080 ? _T_1444 : _GEN_2144; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102698.98]
  assign _GEN_2146 = _T_20079 ? _T_1444 : _GEN_2145; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102693.96]
  assign _GEN_2147 = _T_20078 ? _T_1444 : _GEN_2146; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102688.94]
  assign _GEN_2148 = _T_20077 ? _T_1444 : _GEN_2147; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102683.92]
  assign _GEN_2149 = _T_20076 ? _T_1444 : _GEN_2148; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102678.90]
  assign _GEN_2150 = _T_20075 ? _T_1444 : _GEN_2149; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102673.88]
  assign _GEN_2151 = _T_20074 ? _T_1444 : _GEN_2150; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102668.86]
  assign _GEN_2152 = _T_20073 ? _T_1444 : _GEN_2151; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102663.84]
  assign _GEN_2153 = _T_20072 ? _T_1444 : _GEN_2152; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102658.82]
  assign _GEN_2154 = _T_20071 ? _T_1444 : _GEN_2153; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102653.80]
  assign _GEN_2155 = _T_20070 ? _T_1444 : _GEN_2154; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102648.78]
  assign _GEN_2156 = _T_20069 ? _T_1444 : _GEN_2155; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102643.76]
  assign _GEN_2157 = _T_20068 ? _T_1444 : _GEN_2156; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102638.74]
  assign _GEN_2158 = _T_20067 ? _T_1444 : _GEN_2157; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102633.72]
  assign _GEN_2159 = _T_20066 ? _T_1444 : _GEN_2158; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102628.70]
  assign _GEN_2160 = _T_20065 ? _T_1444 : _GEN_2159; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102623.68]
  assign _GEN_2161 = _T_20064 ? _T_1444 : _GEN_2160; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102618.66]
  assign _GEN_2162 = _T_20063 ? _T_1444 : _GEN_2161; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102613.64]
  assign _GEN_2163 = _T_20062 ? _T_1444 : _GEN_2162; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102608.62]
  assign _GEN_2164 = _T_20061 ? _T_1444 : _GEN_2163; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102603.60]
  assign _GEN_2165 = _T_20060 ? _T_1444 : _GEN_2164; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102598.58]
  assign _GEN_2166 = _T_20059 ? _T_1444 : _GEN_2165; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102593.56]
  assign _GEN_2167 = _T_20058 ? _T_1444 : _GEN_2166; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102588.54]
  assign _GEN_2168 = _T_20057 ? _T_1444 : _GEN_2167; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102583.52]
  assign _GEN_2169 = _T_20056 ? _T_1444 : _GEN_2168; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102578.50]
  assign _GEN_2170 = _T_20055 ? _T_1444 : _GEN_2169; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102573.48]
  assign _GEN_2171 = _T_20054 ? _T_1444 : _GEN_2170; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102568.46]
  assign _GEN_2172 = _T_20053 ? _T_1444 : _GEN_2171; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102563.44]
  assign _GEN_2173 = _T_20052 ? _T_1444 : _GEN_2172; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102558.42]
  assign _GEN_2174 = _T_20051 ? _T_1444 : _GEN_2173; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102553.40]
  assign _GEN_2175 = _T_20050 ? _T_1444 : _GEN_2174; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102548.38]
  assign _GEN_2176 = _T_20049 ? _T_1444 : _GEN_2175; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102543.36]
  assign _GEN_2177 = _T_20048 ? _T_1444 : _GEN_2176; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102538.34]
  assign _GEN_2178 = _T_20047 ? _T_1444 : _GEN_2177; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102533.32]
  assign _GEN_2179 = _T_20046 ? _T_1444 : _GEN_2178; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102528.30]
  assign _GEN_2180 = _T_20045 ? _T_1444 : _GEN_2179; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102523.28]
  assign _GEN_2181 = _T_20044 ? _T_1444 : _GEN_2180; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102518.26]
  assign _GEN_2182 = _T_20043 ? _T_1444 : _GEN_2181; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102513.24]
  assign _GEN_2183 = _T_20042 ? _T_1444 : _GEN_2182; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102508.22]
  assign _GEN_2184 = _T_20041 ? _T_1444 : _GEN_2183; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102503.20]
  assign _GEN_2185 = _T_20040 ? _T_1444 : _GEN_2184; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102498.18]
  assign _GEN_2186 = _T_20039 ? _T_1444 : _GEN_2185; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102493.16]
  assign _GEN_2187 = _T_20038 ? _T_1444 : _GEN_2186; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102488.14]
  assign _GEN_2188 = _T_20037 ? _T_1444 : _GEN_2187; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102483.12]
  assign _GEN_2189 = _T_20036 ? _T_1444 : _GEN_2188; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102478.10]
  assign _GEN_2190 = _T_20035 ? _T_1444 : _GEN_2189; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102473.8]
  assign _GEN_2191 = _T_20034 ? _T_1444 : _GEN_2190; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102468.6]
  assign _GEN_2192 = _T_20033 ? _T_1444 : _GEN_2191; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@102463.4]
  assign _GEN_2193 = _T_20082 ? _T_3142 : 32'h0; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102960.102]
  assign _GEN_2194 = _T_20081 ? _T_3519 : _GEN_2193; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102955.100]
  assign _GEN_2195 = _T_20080 ? {{19'd0}, _T_1019} : _GEN_2194; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102950.98]
  assign _GEN_2196 = _T_20079 ? _T_3651 : _GEN_2195; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102945.96]
  assign _GEN_2197 = _T_20078 ? {{19'd0}, _T_4200} : _GEN_2196; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102940.94]
  assign _GEN_2198 = _T_20077 ? _T_2830 : _GEN_2197; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102935.92]
  assign _GEN_2199 = _T_20076 ? {{29'd0}, priority_43} : _GEN_2198; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102930.90]
  assign _GEN_2200 = _T_20075 ? {{29'd0}, priority_42} : _GEN_2199; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102925.88]
  assign _GEN_2201 = _T_20074 ? {{29'd0}, priority_41} : _GEN_2200; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102920.86]
  assign _GEN_2202 = _T_20073 ? {{29'd0}, priority_40} : _GEN_2201; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102915.84]
  assign _GEN_2203 = _T_20072 ? {{29'd0}, priority_39} : _GEN_2202; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102910.82]
  assign _GEN_2204 = _T_20071 ? {{29'd0}, priority_38} : _GEN_2203; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102905.80]
  assign _GEN_2205 = _T_20070 ? {{29'd0}, priority_37} : _GEN_2204; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102900.78]
  assign _GEN_2206 = _T_20069 ? {{29'd0}, priority_36} : _GEN_2205; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102895.76]
  assign _GEN_2207 = _T_20068 ? {{29'd0}, priority_35} : _GEN_2206; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102890.74]
  assign _GEN_2208 = _T_20067 ? {{29'd0}, priority_34} : _GEN_2207; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102885.72]
  assign _GEN_2209 = _T_20066 ? {{29'd0}, priority_33} : _GEN_2208; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102880.70]
  assign _GEN_2210 = _T_20065 ? {{29'd0}, priority_32} : _GEN_2209; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102875.68]
  assign _GEN_2211 = _T_20064 ? {{29'd0}, priority_31} : _GEN_2210; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102870.66]
  assign _GEN_2212 = _T_20063 ? {{29'd0}, priority_30} : _GEN_2211; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102865.64]
  assign _GEN_2213 = _T_20062 ? {{29'd0}, priority_29} : _GEN_2212; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102860.62]
  assign _GEN_2214 = _T_20061 ? {{29'd0}, priority_28} : _GEN_2213; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102855.60]
  assign _GEN_2215 = _T_20060 ? {{29'd0}, priority_27} : _GEN_2214; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102850.58]
  assign _GEN_2216 = _T_20059 ? {{29'd0}, priority_26} : _GEN_2215; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102845.56]
  assign _GEN_2217 = _T_20058 ? {{29'd0}, priority_25} : _GEN_2216; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102840.54]
  assign _GEN_2218 = _T_20057 ? {{29'd0}, priority_24} : _GEN_2217; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102835.52]
  assign _GEN_2219 = _T_20056 ? {{29'd0}, priority_23} : _GEN_2218; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102830.50]
  assign _GEN_2220 = _T_20055 ? {{29'd0}, priority_22} : _GEN_2219; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102825.48]
  assign _GEN_2221 = _T_20054 ? {{29'd0}, priority_21} : _GEN_2220; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102820.46]
  assign _GEN_2222 = _T_20053 ? {{29'd0}, priority_20} : _GEN_2221; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102815.44]
  assign _GEN_2223 = _T_20052 ? {{29'd0}, priority_19} : _GEN_2222; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102810.42]
  assign _GEN_2224 = _T_20051 ? {{29'd0}, priority_18} : _GEN_2223; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102805.40]
  assign _GEN_2225 = _T_20050 ? {{29'd0}, priority_17} : _GEN_2224; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102800.38]
  assign _GEN_2226 = _T_20049 ? {{29'd0}, priority_16} : _GEN_2225; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102795.36]
  assign _GEN_2227 = _T_20048 ? {{29'd0}, priority_15} : _GEN_2226; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102790.34]
  assign _GEN_2228 = _T_20047 ? {{29'd0}, priority_14} : _GEN_2227; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102785.32]
  assign _GEN_2229 = _T_20046 ? {{29'd0}, priority_13} : _GEN_2228; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102780.30]
  assign _GEN_2230 = _T_20045 ? {{29'd0}, priority_12} : _GEN_2229; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102775.28]
  assign _GEN_2231 = _T_20044 ? {{29'd0}, priority_11} : _GEN_2230; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102770.26]
  assign _GEN_2232 = _T_20043 ? {{29'd0}, priority_10} : _GEN_2231; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102765.24]
  assign _GEN_2233 = _T_20042 ? {{29'd0}, priority_9} : _GEN_2232; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102760.22]
  assign _GEN_2234 = _T_20041 ? {{29'd0}, priority_8} : _GEN_2233; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102755.20]
  assign _GEN_2235 = _T_20040 ? {{29'd0}, priority_7} : _GEN_2234; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102750.18]
  assign _GEN_2236 = _T_20039 ? {{29'd0}, priority_6} : _GEN_2235; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102745.16]
  assign _GEN_2237 = _T_20038 ? {{29'd0}, priority_5} : _GEN_2236; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102740.14]
  assign _GEN_2238 = _T_20037 ? {{29'd0}, priority_4} : _GEN_2237; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102735.12]
  assign _GEN_2239 = _T_20036 ? {{29'd0}, priority_3} : _GEN_2238; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102730.10]
  assign _GEN_2240 = _T_20035 ? {{29'd0}, priority_2} : _GEN_2239; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102725.8]
  assign _GEN_2241 = _T_20034 ? {{29'd0}, priority_1} : _GEN_2240; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@102720.6]
  assign _GEN_2242 = _T_20033 ? {{29'd0}, priority_0} : _GEN_2241; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@102715.4]
  assign _T_1408_bits_extra = Queue_io_deq_bits_extra; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@81654.4 RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@102965.4]
  assign _T_1408_bits_read = Queue_io_deq_bits_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@81654.4 RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@102458.4]
  assign auto_int_out_0 = _T_1085 > threshold_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@80772.4]
  assign auto_in_a_ready = Queue_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80771.4]
  assign auto_in_d_valid = Queue_io_deq_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80771.4]
  assign auto_in_d_bits_opcode = {{2'd0}, _T_1408_bits_read}; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80771.4]
  assign auto_in_d_bits_size = _T_1408_bits_extra[1:0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80771.4]
  assign auto_in_d_bits_source = _T_1408_bits_extra[7:2]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80771.4]
  assign auto_in_d_bits_data = _GEN_2192 ? _GEN_2242 : 32'h0; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@80771.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80732.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80733.4]
  assign TLMonitor_io_in_a_ready = Queue_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
  assign TLMonitor_io_in_d_valid = Queue_io_deq_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_1408_bits_read}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
  assign TLMonitor_io_in_d_bits_size = _T_1408_bits_extra[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
  assign TLMonitor_io_in_d_bits_source = _T_1408_bits_extra[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@80766.4]
  assign LevelGateway_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80776.4]
  assign LevelGateway_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80777.4]
  assign LevelGateway_io_interrupt = auto_int_in_0; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80778.4]
  assign LevelGateway_io_plic_ready = pending_0 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81228.4]
  assign LevelGateway_io_plic_complete = completedDevs[1]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81600.4]
  assign LevelGateway_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80781.4]
  assign LevelGateway_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80782.4]
  assign LevelGateway_1_io_interrupt = auto_int_in_1; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80783.4]
  assign LevelGateway_1_io_plic_ready = pending_1 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81235.4]
  assign LevelGateway_1_io_plic_complete = completedDevs[2]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81601.4]
  assign LevelGateway_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80786.4]
  assign LevelGateway_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80787.4]
  assign LevelGateway_2_io_interrupt = auto_int_in_2; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80788.4]
  assign LevelGateway_2_io_plic_ready = pending_2 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81242.4]
  assign LevelGateway_2_io_plic_complete = completedDevs[3]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81602.4]
  assign LevelGateway_3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80791.4]
  assign LevelGateway_3_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80792.4]
  assign LevelGateway_3_io_interrupt = auto_int_in_3; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80793.4]
  assign LevelGateway_3_io_plic_ready = pending_3 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81249.4]
  assign LevelGateway_3_io_plic_complete = completedDevs[4]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81603.4]
  assign LevelGateway_4_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80796.4]
  assign LevelGateway_4_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80797.4]
  assign LevelGateway_4_io_interrupt = auto_int_in_4; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80798.4]
  assign LevelGateway_4_io_plic_ready = pending_4 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81256.4]
  assign LevelGateway_4_io_plic_complete = completedDevs[5]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81604.4]
  assign LevelGateway_5_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80801.4]
  assign LevelGateway_5_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80802.4]
  assign LevelGateway_5_io_interrupt = auto_int_in_5; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80803.4]
  assign LevelGateway_5_io_plic_ready = pending_5 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81263.4]
  assign LevelGateway_5_io_plic_complete = completedDevs[6]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81605.4]
  assign LevelGateway_6_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80806.4]
  assign LevelGateway_6_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80807.4]
  assign LevelGateway_6_io_interrupt = auto_int_in_6; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80808.4]
  assign LevelGateway_6_io_plic_ready = pending_6 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81270.4]
  assign LevelGateway_6_io_plic_complete = completedDevs[7]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81606.4]
  assign LevelGateway_7_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80811.4]
  assign LevelGateway_7_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80812.4]
  assign LevelGateway_7_io_interrupt = auto_int_in_7; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80813.4]
  assign LevelGateway_7_io_plic_ready = pending_7 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81277.4]
  assign LevelGateway_7_io_plic_complete = completedDevs[8]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81607.4]
  assign LevelGateway_8_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80816.4]
  assign LevelGateway_8_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80817.4]
  assign LevelGateway_8_io_interrupt = auto_int_in_8; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80818.4]
  assign LevelGateway_8_io_plic_ready = pending_8 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81284.4]
  assign LevelGateway_8_io_plic_complete = completedDevs[9]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81608.4]
  assign LevelGateway_9_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80821.4]
  assign LevelGateway_9_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80822.4]
  assign LevelGateway_9_io_interrupt = auto_int_in_9; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80823.4]
  assign LevelGateway_9_io_plic_ready = pending_9 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81291.4]
  assign LevelGateway_9_io_plic_complete = completedDevs[10]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81609.4]
  assign LevelGateway_10_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80826.4]
  assign LevelGateway_10_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80827.4]
  assign LevelGateway_10_io_interrupt = auto_int_in_10; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80828.4]
  assign LevelGateway_10_io_plic_ready = pending_10 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81298.4]
  assign LevelGateway_10_io_plic_complete = completedDevs[11]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81610.4]
  assign LevelGateway_11_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80831.4]
  assign LevelGateway_11_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80832.4]
  assign LevelGateway_11_io_interrupt = auto_int_in_11; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80833.4]
  assign LevelGateway_11_io_plic_ready = pending_11 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81305.4]
  assign LevelGateway_11_io_plic_complete = completedDevs[12]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81611.4]
  assign LevelGateway_12_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80836.4]
  assign LevelGateway_12_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80837.4]
  assign LevelGateway_12_io_interrupt = auto_int_in_12; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80838.4]
  assign LevelGateway_12_io_plic_ready = pending_12 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81312.4]
  assign LevelGateway_12_io_plic_complete = completedDevs[13]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81612.4]
  assign LevelGateway_13_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80841.4]
  assign LevelGateway_13_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80842.4]
  assign LevelGateway_13_io_interrupt = auto_int_in_13; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80843.4]
  assign LevelGateway_13_io_plic_ready = pending_13 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81319.4]
  assign LevelGateway_13_io_plic_complete = completedDevs[14]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81613.4]
  assign LevelGateway_14_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80846.4]
  assign LevelGateway_14_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80847.4]
  assign LevelGateway_14_io_interrupt = auto_int_in_14; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80848.4]
  assign LevelGateway_14_io_plic_ready = pending_14 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81326.4]
  assign LevelGateway_14_io_plic_complete = completedDevs[15]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81614.4]
  assign LevelGateway_15_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80851.4]
  assign LevelGateway_15_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80852.4]
  assign LevelGateway_15_io_interrupt = auto_int_in_15; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80853.4]
  assign LevelGateway_15_io_plic_ready = pending_15 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81333.4]
  assign LevelGateway_15_io_plic_complete = completedDevs[16]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81615.4]
  assign LevelGateway_16_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80856.4]
  assign LevelGateway_16_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80857.4]
  assign LevelGateway_16_io_interrupt = auto_int_in_16; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80858.4]
  assign LevelGateway_16_io_plic_ready = pending_16 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81340.4]
  assign LevelGateway_16_io_plic_complete = completedDevs[17]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81616.4]
  assign LevelGateway_17_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80861.4]
  assign LevelGateway_17_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80862.4]
  assign LevelGateway_17_io_interrupt = auto_int_in_17; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80863.4]
  assign LevelGateway_17_io_plic_ready = pending_17 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81347.4]
  assign LevelGateway_17_io_plic_complete = completedDevs[18]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81617.4]
  assign LevelGateway_18_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80866.4]
  assign LevelGateway_18_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80867.4]
  assign LevelGateway_18_io_interrupt = auto_int_in_18; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80868.4]
  assign LevelGateway_18_io_plic_ready = pending_18 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81354.4]
  assign LevelGateway_18_io_plic_complete = completedDevs[19]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81618.4]
  assign LevelGateway_19_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80871.4]
  assign LevelGateway_19_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80872.4]
  assign LevelGateway_19_io_interrupt = auto_int_in_19; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80873.4]
  assign LevelGateway_19_io_plic_ready = pending_19 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81361.4]
  assign LevelGateway_19_io_plic_complete = completedDevs[20]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81619.4]
  assign LevelGateway_20_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80876.4]
  assign LevelGateway_20_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80877.4]
  assign LevelGateway_20_io_interrupt = auto_int_in_20; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80878.4]
  assign LevelGateway_20_io_plic_ready = pending_20 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81368.4]
  assign LevelGateway_20_io_plic_complete = completedDevs[21]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81620.4]
  assign LevelGateway_21_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80881.4]
  assign LevelGateway_21_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80882.4]
  assign LevelGateway_21_io_interrupt = auto_int_in_21; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80883.4]
  assign LevelGateway_21_io_plic_ready = pending_21 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81375.4]
  assign LevelGateway_21_io_plic_complete = completedDevs[22]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81621.4]
  assign LevelGateway_22_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80886.4]
  assign LevelGateway_22_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80887.4]
  assign LevelGateway_22_io_interrupt = auto_int_in_22; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80888.4]
  assign LevelGateway_22_io_plic_ready = pending_22 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81382.4]
  assign LevelGateway_22_io_plic_complete = completedDevs[23]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81622.4]
  assign LevelGateway_23_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80891.4]
  assign LevelGateway_23_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80892.4]
  assign LevelGateway_23_io_interrupt = auto_int_in_23; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80893.4]
  assign LevelGateway_23_io_plic_ready = pending_23 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81389.4]
  assign LevelGateway_23_io_plic_complete = completedDevs[24]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81623.4]
  assign LevelGateway_24_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80896.4]
  assign LevelGateway_24_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80897.4]
  assign LevelGateway_24_io_interrupt = auto_int_in_24; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80898.4]
  assign LevelGateway_24_io_plic_ready = pending_24 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81396.4]
  assign LevelGateway_24_io_plic_complete = completedDevs[25]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81624.4]
  assign LevelGateway_25_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80901.4]
  assign LevelGateway_25_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80902.4]
  assign LevelGateway_25_io_interrupt = auto_int_in_25; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80903.4]
  assign LevelGateway_25_io_plic_ready = pending_25 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81403.4]
  assign LevelGateway_25_io_plic_complete = completedDevs[26]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81625.4]
  assign LevelGateway_26_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80906.4]
  assign LevelGateway_26_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80907.4]
  assign LevelGateway_26_io_interrupt = auto_int_in_26; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80908.4]
  assign LevelGateway_26_io_plic_ready = pending_26 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81410.4]
  assign LevelGateway_26_io_plic_complete = completedDevs[27]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81626.4]
  assign LevelGateway_27_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80911.4]
  assign LevelGateway_27_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80912.4]
  assign LevelGateway_27_io_interrupt = auto_int_in_27; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80913.4]
  assign LevelGateway_27_io_plic_ready = pending_27 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81417.4]
  assign LevelGateway_27_io_plic_complete = completedDevs[28]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81627.4]
  assign LevelGateway_28_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80916.4]
  assign LevelGateway_28_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80917.4]
  assign LevelGateway_28_io_interrupt = auto_int_in_28; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80918.4]
  assign LevelGateway_28_io_plic_ready = pending_28 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81424.4]
  assign LevelGateway_28_io_plic_complete = completedDevs[29]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81628.4]
  assign LevelGateway_29_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80921.4]
  assign LevelGateway_29_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80922.4]
  assign LevelGateway_29_io_interrupt = auto_int_in_29; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80923.4]
  assign LevelGateway_29_io_plic_ready = pending_29 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81431.4]
  assign LevelGateway_29_io_plic_complete = completedDevs[30]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81629.4]
  assign LevelGateway_30_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80926.4]
  assign LevelGateway_30_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80927.4]
  assign LevelGateway_30_io_interrupt = auto_int_in_30; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80928.4]
  assign LevelGateway_30_io_plic_ready = pending_30 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81438.4]
  assign LevelGateway_30_io_plic_complete = completedDevs[31]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81630.4]
  assign LevelGateway_31_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80931.4]
  assign LevelGateway_31_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80932.4]
  assign LevelGateway_31_io_interrupt = auto_int_in_31; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80933.4]
  assign LevelGateway_31_io_plic_ready = pending_31 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81445.4]
  assign LevelGateway_31_io_plic_complete = completedDevs[32]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81631.4]
  assign LevelGateway_32_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80936.4]
  assign LevelGateway_32_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80937.4]
  assign LevelGateway_32_io_interrupt = auto_int_in_32; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80938.4]
  assign LevelGateway_32_io_plic_ready = pending_32 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81452.4]
  assign LevelGateway_32_io_plic_complete = completedDevs[33]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81632.4]
  assign LevelGateway_33_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80941.4]
  assign LevelGateway_33_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80942.4]
  assign LevelGateway_33_io_interrupt = auto_int_in_33; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80943.4]
  assign LevelGateway_33_io_plic_ready = pending_33 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81459.4]
  assign LevelGateway_33_io_plic_complete = completedDevs[34]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81633.4]
  assign LevelGateway_34_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80946.4]
  assign LevelGateway_34_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80947.4]
  assign LevelGateway_34_io_interrupt = auto_int_in_34; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80948.4]
  assign LevelGateway_34_io_plic_ready = pending_34 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81466.4]
  assign LevelGateway_34_io_plic_complete = completedDevs[35]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81634.4]
  assign LevelGateway_35_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80951.4]
  assign LevelGateway_35_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80952.4]
  assign LevelGateway_35_io_interrupt = auto_int_in_35; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80953.4]
  assign LevelGateway_35_io_plic_ready = pending_35 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81473.4]
  assign LevelGateway_35_io_plic_complete = completedDevs[36]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81635.4]
  assign LevelGateway_36_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80956.4]
  assign LevelGateway_36_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80957.4]
  assign LevelGateway_36_io_interrupt = auto_int_in_36; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80958.4]
  assign LevelGateway_36_io_plic_ready = pending_36 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81480.4]
  assign LevelGateway_36_io_plic_complete = completedDevs[37]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81636.4]
  assign LevelGateway_37_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80961.4]
  assign LevelGateway_37_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80962.4]
  assign LevelGateway_37_io_interrupt = auto_int_in_37; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80963.4]
  assign LevelGateway_37_io_plic_ready = pending_37 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81487.4]
  assign LevelGateway_37_io_plic_complete = completedDevs[38]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81637.4]
  assign LevelGateway_38_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80966.4]
  assign LevelGateway_38_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80967.4]
  assign LevelGateway_38_io_interrupt = auto_int_in_38; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80968.4]
  assign LevelGateway_38_io_plic_ready = pending_38 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81494.4]
  assign LevelGateway_38_io_plic_complete = completedDevs[39]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81638.4]
  assign LevelGateway_39_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80971.4]
  assign LevelGateway_39_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80972.4]
  assign LevelGateway_39_io_interrupt = auto_int_in_39; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80973.4]
  assign LevelGateway_39_io_plic_ready = pending_39 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81501.4]
  assign LevelGateway_39_io_plic_complete = completedDevs[40]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81639.4]
  assign LevelGateway_40_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80976.4]
  assign LevelGateway_40_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80977.4]
  assign LevelGateway_40_io_interrupt = auto_int_in_40; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80978.4]
  assign LevelGateway_40_io_plic_ready = pending_40 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81508.4]
  assign LevelGateway_40_io_plic_complete = completedDevs[41]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81640.4]
  assign LevelGateway_41_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80981.4]
  assign LevelGateway_41_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80982.4]
  assign LevelGateway_41_io_interrupt = auto_int_in_41; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80983.4]
  assign LevelGateway_41_io_plic_ready = pending_41 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81515.4]
  assign LevelGateway_41_io_plic_complete = completedDevs[42]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81641.4]
  assign LevelGateway_42_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80986.4]
  assign LevelGateway_42_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80987.4]
  assign LevelGateway_42_io_interrupt = auto_int_in_42; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80988.4]
  assign LevelGateway_42_io_plic_ready = pending_42 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81522.4]
  assign LevelGateway_42_io_plic_complete = completedDevs[43]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81642.4]
  assign LevelGateway_43_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80991.4]
  assign LevelGateway_43_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@80992.4]
  assign LevelGateway_43_io_interrupt = auto_int_in_43; // @[Plic.scala 141:28:shc.marmotcaravel.MarmotCaravelConfig.fir@80993.4]
  assign LevelGateway_43_io_plic_ready = pending_43 == 1'h0; // @[Plic.scala 228:15:shc.marmotcaravel.MarmotCaravelConfig.fir@81529.4]
  assign LevelGateway_43_io_plic_complete = completedDevs[44]; // @[Plic.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@81643.4]
  assign PLICFanIn_io_prio_0 = priority_0; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_1 = priority_1; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_2 = priority_2; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_3 = priority_3; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_4 = priority_4; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_5 = priority_5; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_6 = priority_6; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_7 = priority_7; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_8 = priority_8; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_9 = priority_9; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_10 = priority_10; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_11 = priority_11; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_12 = priority_12; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_13 = priority_13; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_14 = priority_14; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_15 = priority_15; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_16 = priority_16; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_17 = priority_17; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_18 = priority_18; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_19 = priority_19; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_20 = priority_20; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_21 = priority_21; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_22 = priority_22; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_23 = priority_23; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_24 = priority_24; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_25 = priority_25; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_26 = priority_26; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_27 = priority_27; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_28 = priority_28; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_29 = priority_29; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_30 = priority_30; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_31 = priority_31; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_32 = priority_32; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_33 = priority_33; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_34 = priority_34; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_35 = priority_35; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_36 = priority_36; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_37 = priority_37; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_38 = priority_38; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_39 = priority_39; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_40 = priority_40; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_41 = priority_41; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_42 = priority_42; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_prio_43 = priority_43; // @[Plic.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81109.4]
  assign PLICFanIn_io_ip = enableVec_0 & pendingUInt; // @[Plic.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81111.4]
  assign Queue_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81660.4]
  assign Queue_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@81661.4]
  assign Queue_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@81662.4]
  assign Queue_io_enq_bits_read = auto_in_a_bits_opcode == 3'h4; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81667.4]
  assign Queue_io_enq_bits_index = _T_1402[23:0]; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81666.4]
  assign Queue_io_enq_bits_data = auto_in_a_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81665.4]
  assign Queue_io_enq_bits_mask = auto_in_a_bits_mask; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81664.4]
  assign Queue_io_enq_bits_extra = {auto_in_a_bits_source,auto_in_a_bits_size}; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@81663.4]
  assign Queue_io_deq_ready = auto_in_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@102455.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  priority_0 = _RAND_0[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  priority_1 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  priority_2 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  priority_3 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  priority_4 = _RAND_4[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  priority_5 = _RAND_5[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  priority_6 = _RAND_6[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  priority_7 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  priority_8 = _RAND_8[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  priority_9 = _RAND_9[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  priority_10 = _RAND_10[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  priority_11 = _RAND_11[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  priority_12 = _RAND_12[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  priority_13 = _RAND_13[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  priority_14 = _RAND_14[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  priority_15 = _RAND_15[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  priority_16 = _RAND_16[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_17 = {1{`RANDOM}};
  priority_17 = _RAND_17[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_18 = {1{`RANDOM}};
  priority_18 = _RAND_18[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_19 = {1{`RANDOM}};
  priority_19 = _RAND_19[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_20 = {1{`RANDOM}};
  priority_20 = _RAND_20[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_21 = {1{`RANDOM}};
  priority_21 = _RAND_21[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_22 = {1{`RANDOM}};
  priority_22 = _RAND_22[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_23 = {1{`RANDOM}};
  priority_23 = _RAND_23[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_24 = {1{`RANDOM}};
  priority_24 = _RAND_24[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_25 = {1{`RANDOM}};
  priority_25 = _RAND_25[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_26 = {1{`RANDOM}};
  priority_26 = _RAND_26[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_27 = {1{`RANDOM}};
  priority_27 = _RAND_27[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_28 = {1{`RANDOM}};
  priority_28 = _RAND_28[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_29 = {1{`RANDOM}};
  priority_29 = _RAND_29[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_30 = {1{`RANDOM}};
  priority_30 = _RAND_30[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_31 = {1{`RANDOM}};
  priority_31 = _RAND_31[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_32 = {1{`RANDOM}};
  priority_32 = _RAND_32[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_33 = {1{`RANDOM}};
  priority_33 = _RAND_33[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_34 = {1{`RANDOM}};
  priority_34 = _RAND_34[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_35 = {1{`RANDOM}};
  priority_35 = _RAND_35[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_36 = {1{`RANDOM}};
  priority_36 = _RAND_36[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_37 = {1{`RANDOM}};
  priority_37 = _RAND_37[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_38 = {1{`RANDOM}};
  priority_38 = _RAND_38[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_39 = {1{`RANDOM}};
  priority_39 = _RAND_39[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_40 = {1{`RANDOM}};
  priority_40 = _RAND_40[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_41 = {1{`RANDOM}};
  priority_41 = _RAND_41[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_42 = {1{`RANDOM}};
  priority_42 = _RAND_42[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_43 = {1{`RANDOM}};
  priority_43 = _RAND_43[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_44 = {1{`RANDOM}};
  threshold_0 = _RAND_44[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_45 = {1{`RANDOM}};
  pending_0 = _RAND_45[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_46 = {1{`RANDOM}};
  pending_1 = _RAND_46[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_47 = {1{`RANDOM}};
  pending_2 = _RAND_47[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_48 = {1{`RANDOM}};
  pending_3 = _RAND_48[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_49 = {1{`RANDOM}};
  pending_4 = _RAND_49[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_50 = {1{`RANDOM}};
  pending_5 = _RAND_50[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_51 = {1{`RANDOM}};
  pending_6 = _RAND_51[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_52 = {1{`RANDOM}};
  pending_7 = _RAND_52[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_53 = {1{`RANDOM}};
  pending_8 = _RAND_53[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_54 = {1{`RANDOM}};
  pending_9 = _RAND_54[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_55 = {1{`RANDOM}};
  pending_10 = _RAND_55[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_56 = {1{`RANDOM}};
  pending_11 = _RAND_56[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_57 = {1{`RANDOM}};
  pending_12 = _RAND_57[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_58 = {1{`RANDOM}};
  pending_13 = _RAND_58[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_59 = {1{`RANDOM}};
  pending_14 = _RAND_59[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_60 = {1{`RANDOM}};
  pending_15 = _RAND_60[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_61 = {1{`RANDOM}};
  pending_16 = _RAND_61[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_62 = {1{`RANDOM}};
  pending_17 = _RAND_62[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_63 = {1{`RANDOM}};
  pending_18 = _RAND_63[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_64 = {1{`RANDOM}};
  pending_19 = _RAND_64[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_65 = {1{`RANDOM}};
  pending_20 = _RAND_65[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_66 = {1{`RANDOM}};
  pending_21 = _RAND_66[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_67 = {1{`RANDOM}};
  pending_22 = _RAND_67[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_68 = {1{`RANDOM}};
  pending_23 = _RAND_68[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_69 = {1{`RANDOM}};
  pending_24 = _RAND_69[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_70 = {1{`RANDOM}};
  pending_25 = _RAND_70[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_71 = {1{`RANDOM}};
  pending_26 = _RAND_71[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_72 = {1{`RANDOM}};
  pending_27 = _RAND_72[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_73 = {1{`RANDOM}};
  pending_28 = _RAND_73[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_74 = {1{`RANDOM}};
  pending_29 = _RAND_74[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_75 = {1{`RANDOM}};
  pending_30 = _RAND_75[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_76 = {1{`RANDOM}};
  pending_31 = _RAND_76[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_77 = {1{`RANDOM}};
  pending_32 = _RAND_77[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_78 = {1{`RANDOM}};
  pending_33 = _RAND_78[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_79 = {1{`RANDOM}};
  pending_34 = _RAND_79[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_80 = {1{`RANDOM}};
  pending_35 = _RAND_80[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_81 = {1{`RANDOM}};
  pending_36 = _RAND_81[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_82 = {1{`RANDOM}};
  pending_37 = _RAND_82[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_83 = {1{`RANDOM}};
  pending_38 = _RAND_83[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_84 = {1{`RANDOM}};
  pending_39 = _RAND_84[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_85 = {1{`RANDOM}};
  pending_40 = _RAND_85[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_86 = {1{`RANDOM}};
  pending_41 = _RAND_86[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_87 = {1{`RANDOM}};
  pending_42 = _RAND_87[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_88 = {1{`RANDOM}};
  pending_43 = _RAND_88[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_89 = {1{`RANDOM}};
  enables_0_0 = _RAND_89[6:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_90 = {1{`RANDOM}};
  enables_0_1 = _RAND_90[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_91 = {1{`RANDOM}};
  enables_0_2 = _RAND_91[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_92 = {1{`RANDOM}};
  enables_0_3 = _RAND_92[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_93 = {1{`RANDOM}};
  enables_0_4 = _RAND_93[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_94 = {1{`RANDOM}};
  enables_0_5 = _RAND_94[4:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_95 = {1{`RANDOM}};
  maxDevs_0 = _RAND_95[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_96 = {1{`RANDOM}};
  _T_1085 = _RAND_96[2:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (_T_3157) begin
      priority_0 <= _T_2847;
    end
    if (_T_3382) begin
      priority_1 <= _T_2847;
    end
    if (_T_3817) begin
      priority_2 <= _T_2847;
    end
    if (_T_4516) begin
      priority_3 <= _T_2847;
    end
    if (_T_2846) begin
      priority_4 <= _T_2847;
    end
    if (_T_3182) begin
      priority_5 <= _T_2847;
    end
    if (_T_3767) begin
      priority_6 <= _T_2847;
    end
    if (_T_4416) begin
      priority_7 <= _T_2847;
    end
    if (_T_3307) begin
      priority_8 <= _T_2847;
    end
    if (_T_2871) begin
      priority_9 <= _T_2847;
    end
    if (_T_4291) begin
      priority_10 <= _T_2847;
    end
    if (_T_3742) begin
      priority_11 <= _T_2847;
    end
    if (_T_3332) begin
      priority_12 <= _T_2847;
    end
    if (_T_2996) begin
      priority_13 <= _T_2847;
    end
    if (_T_4541) begin
      priority_14 <= _T_2847;
    end
    if (_T_4241) begin
      priority_15 <= _T_2847;
    end
    if (_T_3457) begin
      priority_16 <= _T_2847;
    end
    if (_T_4216) begin
      priority_17 <= _T_2847;
    end
    if (_T_4491) begin
      priority_18 <= _T_2847;
    end
    if (_T_3021) begin
      priority_19 <= _T_2847;
    end
    if (_T_3257) begin
      priority_20 <= _T_2847;
    end
    if (_T_3667) begin
      priority_21 <= _T_2847;
    end
    if (_T_4391) begin
      priority_22 <= _T_2847;
    end
    if (_T_2921) begin
      priority_23 <= _T_2847;
    end
    if (_T_2971) begin
      priority_24 <= _T_2847;
    end
    if (_T_4366) begin
      priority_25 <= _T_2847;
    end
    if (_T_3717) begin
      priority_26 <= _T_2847;
    end
    if (_T_3207) begin
      priority_27 <= _T_2847;
    end
    if (_T_3098) begin
      priority_28 <= _T_2847;
    end
    if (_T_4466) begin
      priority_29 <= _T_2847;
    end
    if (_T_4266) begin
      priority_30 <= _T_2847;
    end
    if (_T_3407) begin
      priority_31 <= _T_2847;
    end
    if (_T_3282) begin
      priority_32 <= _T_2847;
    end
    if (_T_3432) begin
      priority_33 <= _T_2847;
    end
    if (_T_3842) begin
      priority_34 <= _T_2847;
    end
    if (_T_4441) begin
      priority_35 <= _T_2847;
    end
    if (_T_2946) begin
      priority_36 <= _T_2847;
    end
    if (_T_3232) begin
      priority_37 <= _T_2847;
    end
    if (_T_3792) begin
      priority_38 <= _T_2847;
    end
    if (_T_4341) begin
      priority_39 <= _T_2847;
    end
    if (_T_3357) begin
      priority_40 <= _T_2847;
    end
    if (_T_2896) begin
      priority_41 <= _T_2847;
    end
    if (_T_4316) begin
      priority_42 <= _T_2847;
    end
    if (_T_3692) begin
      priority_43 <= _T_2847;
    end
    if (_T_3482) begin
      threshold_0 <= _T_2847;
    end
    if (reset) begin
      pending_0 <= 1'h0;
    end else begin
      if (_T_1200) begin
        pending_0 <= _T_1201;
      end
    end
    if (reset) begin
      pending_1 <= 1'h0;
    end else begin
      if (_T_1203) begin
        pending_1 <= _T_1204;
      end
    end
    if (reset) begin
      pending_2 <= 1'h0;
    end else begin
      if (_T_1206) begin
        pending_2 <= _T_1207;
      end
    end
    if (reset) begin
      pending_3 <= 1'h0;
    end else begin
      if (_T_1209) begin
        pending_3 <= _T_1210;
      end
    end
    if (reset) begin
      pending_4 <= 1'h0;
    end else begin
      if (_T_1212) begin
        pending_4 <= _T_1213;
      end
    end
    if (reset) begin
      pending_5 <= 1'h0;
    end else begin
      if (_T_1215) begin
        pending_5 <= _T_1216;
      end
    end
    if (reset) begin
      pending_6 <= 1'h0;
    end else begin
      if (_T_1218) begin
        pending_6 <= _T_1219;
      end
    end
    if (reset) begin
      pending_7 <= 1'h0;
    end else begin
      if (_T_1221) begin
        pending_7 <= _T_1222;
      end
    end
    if (reset) begin
      pending_8 <= 1'h0;
    end else begin
      if (_T_1224) begin
        pending_8 <= _T_1225;
      end
    end
    if (reset) begin
      pending_9 <= 1'h0;
    end else begin
      if (_T_1227) begin
        pending_9 <= _T_1228;
      end
    end
    if (reset) begin
      pending_10 <= 1'h0;
    end else begin
      if (_T_1230) begin
        pending_10 <= _T_1231;
      end
    end
    if (reset) begin
      pending_11 <= 1'h0;
    end else begin
      if (_T_1233) begin
        pending_11 <= _T_1234;
      end
    end
    if (reset) begin
      pending_12 <= 1'h0;
    end else begin
      if (_T_1236) begin
        pending_12 <= _T_1237;
      end
    end
    if (reset) begin
      pending_13 <= 1'h0;
    end else begin
      if (_T_1239) begin
        pending_13 <= _T_1240;
      end
    end
    if (reset) begin
      pending_14 <= 1'h0;
    end else begin
      if (_T_1242) begin
        pending_14 <= _T_1243;
      end
    end
    if (reset) begin
      pending_15 <= 1'h0;
    end else begin
      if (_T_1245) begin
        pending_15 <= _T_1246;
      end
    end
    if (reset) begin
      pending_16 <= 1'h0;
    end else begin
      if (_T_1248) begin
        pending_16 <= _T_1249;
      end
    end
    if (reset) begin
      pending_17 <= 1'h0;
    end else begin
      if (_T_1251) begin
        pending_17 <= _T_1252;
      end
    end
    if (reset) begin
      pending_18 <= 1'h0;
    end else begin
      if (_T_1254) begin
        pending_18 <= _T_1255;
      end
    end
    if (reset) begin
      pending_19 <= 1'h0;
    end else begin
      if (_T_1257) begin
        pending_19 <= _T_1258;
      end
    end
    if (reset) begin
      pending_20 <= 1'h0;
    end else begin
      if (_T_1260) begin
        pending_20 <= _T_1261;
      end
    end
    if (reset) begin
      pending_21 <= 1'h0;
    end else begin
      if (_T_1263) begin
        pending_21 <= _T_1264;
      end
    end
    if (reset) begin
      pending_22 <= 1'h0;
    end else begin
      if (_T_1266) begin
        pending_22 <= _T_1267;
      end
    end
    if (reset) begin
      pending_23 <= 1'h0;
    end else begin
      if (_T_1269) begin
        pending_23 <= _T_1270;
      end
    end
    if (reset) begin
      pending_24 <= 1'h0;
    end else begin
      if (_T_1272) begin
        pending_24 <= _T_1273;
      end
    end
    if (reset) begin
      pending_25 <= 1'h0;
    end else begin
      if (_T_1275) begin
        pending_25 <= _T_1276;
      end
    end
    if (reset) begin
      pending_26 <= 1'h0;
    end else begin
      if (_T_1278) begin
        pending_26 <= _T_1279;
      end
    end
    if (reset) begin
      pending_27 <= 1'h0;
    end else begin
      if (_T_1281) begin
        pending_27 <= _T_1282;
      end
    end
    if (reset) begin
      pending_28 <= 1'h0;
    end else begin
      if (_T_1284) begin
        pending_28 <= _T_1285;
      end
    end
    if (reset) begin
      pending_29 <= 1'h0;
    end else begin
      if (_T_1287) begin
        pending_29 <= _T_1288;
      end
    end
    if (reset) begin
      pending_30 <= 1'h0;
    end else begin
      if (_T_1290) begin
        pending_30 <= _T_1291;
      end
    end
    if (reset) begin
      pending_31 <= 1'h0;
    end else begin
      if (_T_1293) begin
        pending_31 <= _T_1294;
      end
    end
    if (reset) begin
      pending_32 <= 1'h0;
    end else begin
      if (_T_1296) begin
        pending_32 <= _T_1297;
      end
    end
    if (reset) begin
      pending_33 <= 1'h0;
    end else begin
      if (_T_1299) begin
        pending_33 <= _T_1300;
      end
    end
    if (reset) begin
      pending_34 <= 1'h0;
    end else begin
      if (_T_1302) begin
        pending_34 <= _T_1303;
      end
    end
    if (reset) begin
      pending_35 <= 1'h0;
    end else begin
      if (_T_1305) begin
        pending_35 <= _T_1306;
      end
    end
    if (reset) begin
      pending_36 <= 1'h0;
    end else begin
      if (_T_1308) begin
        pending_36 <= _T_1309;
      end
    end
    if (reset) begin
      pending_37 <= 1'h0;
    end else begin
      if (_T_1311) begin
        pending_37 <= _T_1312;
      end
    end
    if (reset) begin
      pending_38 <= 1'h0;
    end else begin
      if (_T_1314) begin
        pending_38 <= _T_1315;
      end
    end
    if (reset) begin
      pending_39 <= 1'h0;
    end else begin
      if (_T_1317) begin
        pending_39 <= _T_1318;
      end
    end
    if (reset) begin
      pending_40 <= 1'h0;
    end else begin
      if (_T_1320) begin
        pending_40 <= _T_1321;
      end
    end
    if (reset) begin
      pending_41 <= 1'h0;
    end else begin
      if (_T_1323) begin
        pending_41 <= _T_1324;
      end
    end
    if (reset) begin
      pending_42 <= 1'h0;
    end else begin
      if (_T_1326) begin
        pending_42 <= _T_1327;
      end
    end
    if (reset) begin
      pending_43 <= 1'h0;
    end else begin
      if (_T_1329) begin
        pending_43 <= _T_1330;
      end
    end
    if (_T_3559) begin
      enables_0_0 <= _T_3560;
    end
    if (_T_3586) begin
      enables_0_1 <= _T_3587;
    end
    if (_T_3613) begin
      enables_0_2 <= _T_3614;
    end
    if (_T_3640) begin
      enables_0_3 <= _T_3641;
    end
    if (_T_3046) begin
      enables_0_4 <= _T_3047;
    end
    if (_T_3071) begin
      enables_0_5 <= _T_3072;
    end
    maxDevs_0 <= PLICFanIn_io_dev;
    _T_1085 <= PLICFanIn_io_max;
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1100) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Plic.scala:223 assert((claimer.asUInt & (claimer.asUInt - UInt(1))) === UInt(0)) // One-Hot\n"); // @[Plic.scala 223:11:shc.marmotcaravel.MarmotCaravelConfig.fir@81128.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1100) begin
          $fatal; // @[Plic.scala 223:11:shc.marmotcaravel.MarmotCaravelConfig.fir@81129.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1344) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Plic.scala:240 assert((completer.asUInt & (completer.asUInt - UInt(1))) === UInt(0)) // One-Hot\n"); // @[Plic.scala 240:11:shc.marmotcaravel.MarmotCaravelConfig.fir@81546.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1344) begin
          $fatal; // @[Plic.scala 240:11:shc.marmotcaravel.MarmotCaravelConfig.fir@81547.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_3129) begin
          $fwrite(32'h80000002,"Assertion failed: completerDev should be consistent for all harts\n    at Plic.scala:270 assert(completerDev === data.extract(log2Ceil(nDevices+1)-1, 0),\n"); // @[Plic.scala 270:19:shc.marmotcaravel.MarmotCaravelConfig.fir@83004.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_3129) begin
          $fatal; // @[Plic.scala 270:19:shc.marmotcaravel.MarmotCaravelConfig.fir@83005.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_47( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103074.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103075.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103076.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
  input  [25:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@103077.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@104204.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@103104.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@103105.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@103106.6]
  wire [25:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@103107.6]
  wire [25:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@103107.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103108.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@103110.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@103111.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@103113.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@103114.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@103115.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@103116.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@103117.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@103119.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103120.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@103122.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103123.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@103124.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@103125.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@103126.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103127.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@103128.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103129.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103130.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@103131.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103132.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103133.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@103134.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103135.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103136.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@103137.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103138.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@103139.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@103140.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@103141.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103164.6]
  wire [25:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@103167.8]
  wire [26:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@103168.8]
  wire [26:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@103169.8]
  wire [26:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@103170.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@103171.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103176.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103197.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103198.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103204.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103205.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103210.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103212.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103213.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@103218.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103219.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103221.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103222.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@103227.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103229.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103230.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103236.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103290.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103292.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103293.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103316.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@103319.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@103327.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103330.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103331.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103350.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103352.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103353.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103358.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103360.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103361.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103375.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103426.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@103468.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103469.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@103470.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103472.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103473.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103479.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@103510.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103512.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103513.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103527.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@103558.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103560.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103561.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103575.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103625.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@103627.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@103628.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103645.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103654.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103656.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103657.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103687.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103745.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@103935.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103944.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103945.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103946.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103947.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103948.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@103959.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@103960.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@103961.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@103962.4]
  reg [31:0] _RAND_4;
  reg [25:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@103963.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@103964.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@103965.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103967.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103969.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103970.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103975.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103977.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103978.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103983.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103985.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103986.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103991.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103993.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103994.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103999.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104001.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104002.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104009.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@104017.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104025.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104026.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104027.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104028.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104029.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@104040.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@104042.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@104043.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@104046.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104047.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@104049.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104051.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104052.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@104065.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104067.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104068.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@104073.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104075.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104076.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104099.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104108.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104118.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104119.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104120.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104121.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104122.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104141.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104142.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104143.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104144.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104145.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104160.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@104163.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@104165.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@104166.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104167.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104169.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104170.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@104162.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104181.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@104183.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@104184.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@104186.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@104188.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@104189.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@104190.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104192.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104193.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@104185.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104199.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@104200.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@104201.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104203.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@104206.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104207.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@104208.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104209.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@104210.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@104211.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104213.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104214.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@104220.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104224.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103178.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103250.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103333.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103392.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103443.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103493.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103541.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103589.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103659.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103700.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103758.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@104204.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@103104.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@103105.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@103106.6]
  assign _GEN_18 = {{24'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@103107.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@103107.6]
  assign _T_40 = _T_39 == 26'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103108.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@103110.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@103111.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@103113.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@103114.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@103115.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@103116.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@103117.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@103119.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103120.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@103122.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103123.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@103124.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@103125.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@103126.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103127.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@103128.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103129.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103130.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@103131.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103132.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103133.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@103134.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103135.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103136.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@103137.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103138.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@103139.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@103140.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@103141.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103164.6]
  assign _T_94 = io_in_a_bits_address ^ 26'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@103167.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@103168.8]
  assign _T_96 = $signed(_T_95) & $signed(-27'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@103169.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@103170.8]
  assign _T_98 = $signed(_T_97) == $signed(27'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@103171.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103176.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103197.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103198.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103204.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103205.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103210.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103212.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103213.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@103218.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103219.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103221.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103222.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@103227.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103229.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103230.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103236.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103290.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103292.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103293.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103316.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@103319.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@103327.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103330.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103331.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103350.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103352.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103353.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103358.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103360.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103361.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103375.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103426.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@103468.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103469.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@103470.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103472.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103473.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103479.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@103510.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103512.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103513.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103527.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@103558.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103560.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103561.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103575.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@103625.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@103627.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@103628.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103645.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@103654.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103656.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103657.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103687.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103745.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@103935.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103945.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103946.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@103947.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@103948.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@103964.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@103965.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103967.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103969.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103970.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103975.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103977.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103978.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103983.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103985.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103986.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103991.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103993.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103994.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@103999.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104001.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104002.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104009.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@104017.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104026.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104027.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104028.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104029.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@104046.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104047.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@104049.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104051.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104052.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@104065.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104067.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104068.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@104073.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104075.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104076.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104099.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104119.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104120.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104121.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104122.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104142.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104143.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@104144.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104145.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104160.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@104163.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@104165.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@104166.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104167.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104169.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104170.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@104162.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104181.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@104183.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@104184.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@104186.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@104188.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@104189.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@104190.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104192.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104193.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@104185.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104199.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@104200.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@104201.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@104206.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104207.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@104208.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104209.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@104210.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@104211.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104213.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104214.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@104220.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104224.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103178.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103250.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103333.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103392.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103443.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103493.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103541.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103589.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103659.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103700.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103758.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_514 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_527 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_529 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_531 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_533 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_535 = _RAND_5[25:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_569 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_582 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_586 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_588 = _RAND_9[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {2{`RANDOM}};
  _T_622 = _RAND_10[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_633 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_654 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_697 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_514 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_518) begin
          _T_514 <= 1'h0;
        end else begin
          _T_514 <= _T_517;
        end
      end
    end
    if (_T_559) begin
      _T_527 <= io_in_a_bits_opcode;
    end
    if (_T_559) begin
      _T_529 <= io_in_a_bits_param;
    end
    if (_T_559) begin
      _T_531 <= io_in_a_bits_size;
    end
    if (_T_559) begin
      _T_533 <= io_in_a_bits_source;
    end
    if (_T_559) begin
      _T_535 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_569 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_573) begin
          _T_569 <= 1'h0;
        end else begin
          _T_569 <= _T_572;
        end
      end
    end
    if (_T_620) begin
      _T_582 <= io_in_d_bits_opcode;
    end
    if (_T_620) begin
      _T_586 <= io_in_d_bits_size;
    end
    if (_T_620) begin
      _T_588 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_622 <= 64'h0;
    end else begin
      _T_622 <= _T_695;
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_654 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_658) begin
          _T_654 <= 1'h0;
        end else begin
          _T_654 <= _T_657;
        end
      end
    end
    if (reset) begin
      _T_697 <= 32'h0;
    end else begin
      if (_T_711) begin
        _T_697 <= 32'h0;
      end else begin
        _T_697 <= _T_708;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@103089.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@103090.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@103161.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@103162.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103178.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103179.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103185.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103186.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103192.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103193.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103200.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103201.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103207.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103208.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103215.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103216.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103224.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103225.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103232.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103233.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103250.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103251.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103257.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103258.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103264.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103265.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103272.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103273.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103279.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103280.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103287.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103288.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103295.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103296.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103304.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103305.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103312.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103313.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103333.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103334.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103340.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103341.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103347.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103348.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103355.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103356.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103363.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103364.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103371.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103372.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103392.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103393.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103399.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103400.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103406.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103407.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103414.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103415.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103422.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103423.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103443.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103444.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103450.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103451.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103457.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103458.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103465.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103466.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103475.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103476.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103493.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103494.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103500.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103501.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103507.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103508.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103515.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103516.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103523.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103524.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103541.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103542.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103548.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103549.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103555.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103556.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103563.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103564.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103571.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103572.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103589.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103590.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103596.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103597.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103603.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103604.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103611.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103612.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103619.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103620.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@103630.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@103631.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103651.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103652.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103659.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103660.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103667.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103668.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103675.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103676.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103683.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103684.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103693.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103694.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103700.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103701.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103708.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103709.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103716.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103717.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103724.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103725.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103732.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103733.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103741.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103742.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103751.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103752.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103758.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103759.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103766.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103767.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103774.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103775.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103782.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103783.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103791.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103792.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103800.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103801.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103810.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103811.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103818.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103819.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103826.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103827.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103835.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103836.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103845.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103846.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103853.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103854.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103862.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103863.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103871.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103872.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103881.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103882.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103889.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103890.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103897.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103898.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103906.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103907.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103916.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103917.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103924.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103925.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103932.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103933.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103972.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103973.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103980.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103981.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103988.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103989.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103996.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@103997.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104004.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104005.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104054.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104055.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104062.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104063.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104070.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104071.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104078.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104079.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104086.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104087.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104094.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@104095.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104172.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104173.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104195.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@104196.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_706) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104216.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_706) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104217.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module CLINT( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104229.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104230.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104231.4]
  output        auto_int_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
  output        auto_int_out_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
  input  [25:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104232.4]
  input         io_rtcTick // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104233.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
  wire [25:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
  reg [63:0] time$; // @[CLINT.scala 62:23:shc.marmotcaravel.MarmotCaravelConfig.fir@104282.4]
  reg [63:0] _RAND_0;
  wire [63:0] _T_183; // @[CLINT.scala 63:38:shc.marmotcaravel.MarmotCaravelConfig.fir@104285.6]
  reg [63:0] timecmp_0; // @[CLINT.scala 66:41:shc.marmotcaravel.MarmotCaravelConfig.fir@104288.4]
  reg [63:0] _RAND_1;
  reg  ipi_0; // @[CLINT.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@104289.4]
  reg [31:0] _RAND_2;
  wire [7:0] _T_189; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104295.4]
  wire [7:0] _T_190; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104296.4]
  wire [7:0] _T_191; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104297.4]
  wire [7:0] _T_192; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104298.4]
  wire [7:0] _T_193; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104299.4]
  wire [7:0] _T_194; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104300.4]
  wire [7:0] _T_195; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104301.4]
  wire [7:0] _T_196; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104302.4]
  wire  _T_493; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@104400.4]
  wire [23:0] _T_494; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@104402.4]
  wire [13:0] _T_490_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@104398.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104403.4]
  wire  _T_1138; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105020.4]
  wire  _T_1137; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105019.4]
  wire [1:0] _T_1139; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@105021.4]
  wire  _T_1125; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105007.4]
  wire [2:0] _T_1140; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@105022.4]
  wire [13:0] _T_511; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104414.4]
  wire  _T_519; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104422.4]
  wire  _T_515; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104418.4]
  wire  _T_1377; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105322.4]
  wire  _T_1378; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105323.4]
  wire  _T_1379; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105324.4]
  wire [7:0] _T_1166; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@105048.4]
  wire  _T_1169; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105051.4]
  wire  _T_1394; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105343.4]
  wire  _T_1395; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105344.4]
  wire  _T_637; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@104452.4]
  wire [7:0] _T_645; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104460.4]
  wire  _T_636; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@104451.4]
  wire [7:0] _T_643; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104458.4]
  wire [15:0] _T_647; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104462.4]
  wire  _T_635; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@104450.4]
  wire [7:0] _T_641; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104456.4]
  wire  _T_634; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@104449.4]
  wire [7:0] _T_639; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104454.4]
  wire [15:0] _T_646; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104461.4]
  wire [31:0] _T_648; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104463.4]
  wire [7:0] _T_1026; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104892.4]
  wire [7:0] _T_1027; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104893.4]
  wire  _T_1028; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104894.4]
  wire  _T_1032; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104898.4]
  wire [7:0] _T_1051; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104921.4]
  wire [7:0] _T_1052; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104922.4]
  wire  _T_1053; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104923.4]
  wire  _T_1057; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104927.4]
  wire  _T_323; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104329.4]
  wire [7:0] _T_1078; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104952.4]
  wire [7:0] _T_1079; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104953.4]
  wire  _T_1080; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104954.4]
  wire  _T_1084; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104958.4]
  wire  _T_324; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104330.4]
  wire [7:0] _T_1105; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104983.4]
  wire [7:0] _T_1106; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104984.4]
  wire  _T_1107; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104985.4]
  wire  _T_1111; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104989.4]
  wire  _T_325; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104331.4]
  wire  _T_1170; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105052.4]
  wire  _T_1400; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105354.4]
  wire  _T_1401; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105355.4]
  wire  _T_714; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104532.4]
  wire  _T_326; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104332.4]
  wire  _T_739; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104561.4]
  wire  _T_327; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104333.4]
  wire  _T_766; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104592.4]
  wire  _T_328; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104334.4]
  wire  _T_793; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104623.4]
  wire  _T_329; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104335.4]
  wire [7:0] _T_1058; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104928.4]
  wire [7:0] _GEN_17; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104930.4]
  wire [7:0] _T_1033; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104899.4]
  wire [7:0] _GEN_16; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104901.4]
  wire [15:0] _T_330; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104337.6]
  wire [7:0] _T_1112; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104990.4]
  wire [7:0] _GEN_19; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104992.4]
  wire [7:0] _T_1085; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104959.4]
  wire [7:0] _GEN_18; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104961.4]
  wire [15:0] _T_331; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104338.6]
  wire [31:0] _T_332; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104339.6]
  wire [7:0] _GEN_5; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104564.4]
  wire [7:0] _GEN_4; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104535.4]
  wire [15:0] _T_333; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104340.6]
  wire [7:0] _GEN_7; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104626.4]
  wire [7:0] _GEN_6; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104595.4]
  wire [15:0] _T_334; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104341.6]
  wire [31:0] _T_335; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104342.6]
  wire [63:0] _T_336; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104343.6]
  wire [7:0] _T_338; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104347.4]
  wire [7:0] _T_339; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104348.4]
  wire [7:0] _T_340; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104349.4]
  wire [7:0] _T_341; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104350.4]
  wire [7:0] _T_342; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104351.4]
  wire [7:0] _T_343; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104352.4]
  wire [7:0] _T_344; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104353.4]
  wire [7:0] _T_345; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104354.4]
  wire  _T_1171; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105053.4]
  wire  _T_1406; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105365.4]
  wire  _T_1407; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105366.4]
  wire  _T_820; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104654.4]
  wire  _T_845; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104683.4]
  wire  _T_472; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104381.4]
  wire  _T_872; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104714.4]
  wire  _T_473; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104382.4]
  wire  _T_899; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104745.4]
  wire  _T_474; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104383.4]
  wire  _T_1172; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105054.4]
  wire  _T_1412; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105376.4]
  wire  _T_1413; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105377.4]
  wire  _T_926; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104776.4]
  wire  _T_475; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104384.4]
  wire  _T_951; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104805.4]
  wire  _T_476; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104385.4]
  wire  _T_978; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104836.4]
  wire  _T_477; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104386.4]
  wire  _T_1005; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104867.4]
  wire  _T_478; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104387.4]
  wire [7:0] _GEN_9; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104686.4]
  wire [7:0] _GEN_8; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104657.4]
  wire [15:0] _T_479; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104389.6]
  wire [7:0] _GEN_11; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104748.4]
  wire [7:0] _GEN_10; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104717.4]
  wire [15:0] _T_480; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104390.6]
  wire [31:0] _T_481; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104391.6]
  wire [7:0] _GEN_13; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104808.4]
  wire [7:0] _GEN_12; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104779.4]
  wire [15:0] _T_482; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104392.6]
  wire [7:0] _GEN_15; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104870.4]
  wire [7:0] _GEN_14; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104839.4]
  wire [15:0] _T_483; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104393.6]
  wire [31:0] _T_484; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104394.6]
  wire [63:0] _T_485; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104395.6]
  wire [7:0] _T_495; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104406.4]
  wire  _T_649; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104464.4]
  wire  _T_652; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104467.4]
  wire  _T_653; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104468.4]
  wire  _T_1158; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105040.4]
  wire  _T_1247; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105150.4]
  wire  _T_1248; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105151.4]
  wire  _T_661; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104476.4]
  wire  _T_663; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104478.4]
  wire [1:0] _T_698; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104516.4]
  wire [31:0] _T_699; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104517.4]
  wire [15:0] _T_750; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104576.4]
  wire [23:0] _T_777; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104607.4]
  wire [31:0] _T_804; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104638.4]
  wire [15:0] _T_856; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104698.4]
  wire [23:0] _T_883; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104729.4]
  wire [31:0] _T_910; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104760.4]
  wire [15:0] _T_962; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104820.4]
  wire [23:0] _T_989; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104851.4]
  wire [31:0] _T_1016; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104882.4]
  wire [15:0] _T_1068; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104942.4]
  wire [23:0] _T_1095; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104973.4]
  wire [31:0] _T_1122; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@105004.4]
  wire  _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
  wire  _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
  wire  _GEN_55; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
  wire  _GEN_56; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
  wire  _GEN_57; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
  wire  _GEN_58; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
  wire  _GEN_59; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
  wire [31:0] _GEN_61; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
  wire [31:0] _GEN_62; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
  wire [31:0] _GEN_63; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
  wire [31:0] _GEN_64; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
  wire [31:0] _GEN_65; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
  wire [31:0] _GEN_66; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
  wire [31:0] _GEN_67; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
  TLMonitor_47 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@104241.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  assign _T_183 = time$ + 64'h1; // @[CLINT.scala 63:38:shc.marmotcaravel.MarmotCaravelConfig.fir@104285.6]
  assign _T_189 = timecmp_0[7:0]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104295.4]
  assign _T_190 = timecmp_0[15:8]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104296.4]
  assign _T_191 = timecmp_0[23:16]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104297.4]
  assign _T_192 = timecmp_0[31:24]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104298.4]
  assign _T_193 = timecmp_0[39:32]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104299.4]
  assign _T_194 = timecmp_0[47:40]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104300.4]
  assign _T_195 = timecmp_0[55:48]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104301.4]
  assign _T_196 = timecmp_0[63:56]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104302.4]
  assign _T_493 = auto_in_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@104400.4]
  assign _T_494 = auto_in_a_bits_address[25:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@104402.4]
  assign _T_490_bits_index = _T_494[13:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@104398.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104403.4]
  assign _T_1138 = _T_490_bits_index[13]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105020.4]
  assign _T_1137 = _T_490_bits_index[12]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105019.4]
  assign _T_1139 = {_T_1138,_T_1137}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@105021.4]
  assign _T_1125 = _T_490_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105007.4]
  assign _T_1140 = {_T_1139,_T_1125}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@105022.4]
  assign _T_511 = _T_490_bits_index & 14'hffe; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104414.4]
  assign _T_519 = _T_511 == 14'hffe; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104422.4]
  assign _T_515 = _T_511 == 14'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104418.4]
  assign _T_1377 = auto_in_a_valid & auto_in_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105322.4]
  assign _T_1378 = _T_493 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105323.4]
  assign _T_1379 = _T_1377 & _T_1378; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105324.4]
  assign _T_1166 = 8'h1 << _T_1140; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@105048.4]
  assign _T_1169 = _T_1166[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105051.4]
  assign _T_1394 = _T_1379 & _T_1169; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105343.4]
  assign _T_1395 = _T_1394 & _T_515; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105344.4]
  assign _T_637 = auto_in_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@104452.4]
  assign _T_645 = _T_637 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104460.4]
  assign _T_636 = auto_in_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@104451.4]
  assign _T_643 = _T_636 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104458.4]
  assign _T_647 = {_T_645,_T_643}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104462.4]
  assign _T_635 = auto_in_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@104450.4]
  assign _T_641 = _T_635 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104456.4]
  assign _T_634 = auto_in_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@104449.4]
  assign _T_639 = _T_634 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@104454.4]
  assign _T_646 = {_T_641,_T_639}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104461.4]
  assign _T_648 = {_T_647,_T_646}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104463.4]
  assign _T_1026 = _T_648[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104892.4]
  assign _T_1027 = ~ _T_1026; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104893.4]
  assign _T_1028 = _T_1027 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104894.4]
  assign _T_1032 = _T_1395 & _T_1028; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104898.4]
  assign _T_1051 = _T_648[15:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104921.4]
  assign _T_1052 = ~ _T_1051; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104922.4]
  assign _T_1053 = _T_1052 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104923.4]
  assign _T_1057 = _T_1395 & _T_1053; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104927.4]
  assign _T_323 = _T_1032 | _T_1057; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104329.4]
  assign _T_1078 = _T_648[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104952.4]
  assign _T_1079 = ~ _T_1078; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104953.4]
  assign _T_1080 = _T_1079 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104954.4]
  assign _T_1084 = _T_1395 & _T_1080; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104958.4]
  assign _T_324 = _T_323 | _T_1084; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104330.4]
  assign _T_1105 = _T_648[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104983.4]
  assign _T_1106 = ~ _T_1105; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104984.4]
  assign _T_1107 = _T_1106 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104985.4]
  assign _T_1111 = _T_1395 & _T_1107; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104989.4]
  assign _T_325 = _T_324 | _T_1111; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104331.4]
  assign _T_1170 = _T_1166[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105052.4]
  assign _T_1400 = _T_1379 & _T_1170; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105354.4]
  assign _T_1401 = _T_1400 & _T_515; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105355.4]
  assign _T_714 = _T_1401 & _T_1028; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104532.4]
  assign _T_326 = _T_325 | _T_714; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104332.4]
  assign _T_739 = _T_1401 & _T_1053; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104561.4]
  assign _T_327 = _T_326 | _T_739; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104333.4]
  assign _T_766 = _T_1401 & _T_1080; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104592.4]
  assign _T_328 = _T_327 | _T_766; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104334.4]
  assign _T_793 = _T_1401 & _T_1107; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104623.4]
  assign _T_329 = _T_328 | _T_793; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104335.4]
  assign _T_1058 = auto_in_a_bits_data[15:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104928.4]
  assign _GEN_17 = _T_1057 ? _T_1058 : _T_190; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104930.4]
  assign _T_1033 = auto_in_a_bits_data[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104899.4]
  assign _GEN_16 = _T_1032 ? _T_1033 : _T_189; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104901.4]
  assign _T_330 = {_GEN_17,_GEN_16}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104337.6]
  assign _T_1112 = auto_in_a_bits_data[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104990.4]
  assign _GEN_19 = _T_1111 ? _T_1112 : _T_192; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104992.4]
  assign _T_1085 = auto_in_a_bits_data[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104959.4]
  assign _GEN_18 = _T_1084 ? _T_1085 : _T_191; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104961.4]
  assign _T_331 = {_GEN_19,_GEN_18}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104338.6]
  assign _T_332 = {_T_331,_T_330}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104339.6]
  assign _GEN_5 = _T_739 ? _T_1058 : _T_194; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104564.4]
  assign _GEN_4 = _T_714 ? _T_1033 : _T_193; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104535.4]
  assign _T_333 = {_GEN_5,_GEN_4}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104340.6]
  assign _GEN_7 = _T_793 ? _T_1112 : _T_196; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104626.4]
  assign _GEN_6 = _T_766 ? _T_1085 : _T_195; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104595.4]
  assign _T_334 = {_GEN_7,_GEN_6}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104341.6]
  assign _T_335 = {_T_334,_T_333}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104342.6]
  assign _T_336 = {_T_335,_T_332}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104343.6]
  assign _T_338 = time$[7:0]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104347.4]
  assign _T_339 = time$[15:8]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104348.4]
  assign _T_340 = time$[23:16]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104349.4]
  assign _T_341 = time$[31:24]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104350.4]
  assign _T_342 = time$[39:32]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104351.4]
  assign _T_343 = time$[47:40]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104352.4]
  assign _T_344 = time$[55:48]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104353.4]
  assign _T_345 = time$[63:56]; // @[RegField.scala 210:53:shc.marmotcaravel.MarmotCaravelConfig.fir@104354.4]
  assign _T_1171 = _T_1166[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105053.4]
  assign _T_1406 = _T_1379 & _T_1171; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105365.4]
  assign _T_1407 = _T_1406 & _T_519; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105366.4]
  assign _T_820 = _T_1407 & _T_1028; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104654.4]
  assign _T_845 = _T_1407 & _T_1053; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104683.4]
  assign _T_472 = _T_820 | _T_845; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104381.4]
  assign _T_872 = _T_1407 & _T_1080; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104714.4]
  assign _T_473 = _T_472 | _T_872; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104382.4]
  assign _T_899 = _T_1407 & _T_1107; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104745.4]
  assign _T_474 = _T_473 | _T_899; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104383.4]
  assign _T_1172 = _T_1166[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105054.4]
  assign _T_1412 = _T_1379 & _T_1172; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105376.4]
  assign _T_1413 = _T_1412 & _T_519; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105377.4]
  assign _T_926 = _T_1413 & _T_1028; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104776.4]
  assign _T_475 = _T_474 | _T_926; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104384.4]
  assign _T_951 = _T_1413 & _T_1053; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104805.4]
  assign _T_476 = _T_475 | _T_951; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104385.4]
  assign _T_978 = _T_1413 & _T_1080; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104836.4]
  assign _T_477 = _T_476 | _T_978; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104386.4]
  assign _T_1005 = _T_1413 & _T_1107; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104867.4]
  assign _T_478 = _T_477 | _T_1005; // @[RegField.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@104387.4]
  assign _GEN_9 = _T_845 ? _T_1058 : _T_339; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104686.4]
  assign _GEN_8 = _T_820 ? _T_1033 : _T_338; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104657.4]
  assign _T_479 = {_GEN_9,_GEN_8}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104389.6]
  assign _GEN_11 = _T_899 ? _T_1112 : _T_341; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104748.4]
  assign _GEN_10 = _T_872 ? _T_1085 : _T_340; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104717.4]
  assign _T_480 = {_GEN_11,_GEN_10}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104390.6]
  assign _T_481 = {_T_480,_T_479}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104391.6]
  assign _GEN_13 = _T_951 ? _T_1058 : _T_343; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104808.4]
  assign _GEN_12 = _T_926 ? _T_1033 : _T_342; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104779.4]
  assign _T_482 = {_GEN_13,_GEN_12}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104392.6]
  assign _GEN_15 = _T_1005 ? _T_1112 : _T_345; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104870.4]
  assign _GEN_14 = _T_978 ? _T_1085 : _T_344; // @[RegField.scala 217:20:shc.marmotcaravel.MarmotCaravelConfig.fir@104839.4]
  assign _T_483 = {_GEN_15,_GEN_14}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104393.6]
  assign _T_484 = {_T_483,_T_482}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104394.6]
  assign _T_485 = {_T_484,_T_481}; // @[RegField.scala 213:52:shc.marmotcaravel.MarmotCaravelConfig.fir@104395.6]
  assign _T_495 = {auto_in_a_bits_source,auto_in_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104406.4]
  assign _T_649 = _T_648[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104464.4]
  assign _T_652 = ~ _T_649; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104467.4]
  assign _T_653 = _T_652 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104468.4]
  assign _T_1158 = _T_1166[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105040.4]
  assign _T_1247 = _T_1379 & _T_1158; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105150.4]
  assign _T_1248 = _T_1247 & _T_515; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105151.4]
  assign _T_661 = _T_1248 & _T_653; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104476.4]
  assign _T_663 = auto_in_a_bits_data[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104478.4]
  assign _T_698 = {1'h0,ipi_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104516.4]
  assign _T_699 = {{30'd0}, _T_698}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@104517.4]
  assign _T_750 = {_T_194,_T_193}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104576.4]
  assign _T_777 = {_T_195,_T_750}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104607.4]
  assign _T_804 = {_T_196,_T_777}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104638.4]
  assign _T_856 = {_T_339,_T_338}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104698.4]
  assign _T_883 = {_T_340,_T_856}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104729.4]
  assign _T_910 = {_T_341,_T_883}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104760.4]
  assign _T_962 = {_T_343,_T_342}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104820.4]
  assign _T_989 = {_T_344,_T_962}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104851.4]
  assign _T_1016 = {_T_345,_T_989}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104882.4]
  assign _T_1068 = {_T_190,_T_189}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104942.4]
  assign _T_1095 = {_T_191,_T_1068}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@104973.4]
  assign _T_1122 = {_T_192,_T_1095}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@105004.4]
  assign _GEN_53 = 3'h1 == _T_1140 ? 1'h1 : _T_515; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
  assign _GEN_54 = 3'h2 == _T_1140 ? _T_515 : _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
  assign _GEN_55 = 3'h3 == _T_1140 ? _T_515 : _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
  assign _GEN_56 = 3'h4 == _T_1140 ? _T_519 : _GEN_55; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
  assign _GEN_57 = 3'h5 == _T_1140 ? _T_519 : _GEN_56; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
  assign _GEN_58 = 3'h6 == _T_1140 ? 1'h1 : _GEN_57; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
  assign _GEN_59 = 3'h7 == _T_1140 ? 1'h1 : _GEN_58; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105433.4]
  assign _GEN_61 = 3'h1 == _T_1140 ? 32'h0 : _T_699; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
  assign _GEN_62 = 3'h2 == _T_1140 ? _T_1122 : _GEN_61; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
  assign _GEN_63 = 3'h3 == _T_1140 ? _T_804 : _GEN_62; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
  assign _GEN_64 = 3'h4 == _T_1140 ? _T_910 : _GEN_63; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
  assign _GEN_65 = 3'h5 == _T_1140 ? _T_1016 : _GEN_64; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
  assign _GEN_66 = 3'h6 == _T_1140 ? 32'h0 : _GEN_65; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
  assign _GEN_67 = 3'h7 == _T_1140 ? 32'h0 : _GEN_66; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@105445.4]
  assign auto_int_out_0 = ipi_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@104281.4]
  assign auto_int_out_1 = time$ >= timecmp_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@104281.4]
  assign auto_in_a_ready = auto_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@104280.4]
  assign auto_in_d_valid = auto_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@104280.4]
  assign auto_in_d_bits_opcode = {{2'd0}, _T_493}; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@104280.4]
  assign auto_in_d_bits_size = _T_495[1:0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@104280.4]
  assign auto_in_d_bits_source = _T_495[7:2]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@104280.4]
  assign auto_in_d_bits_data = _GEN_59 ? _GEN_67 : 32'h0; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@104280.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104243.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@104244.4]
  assign TLMonitor_io_in_a_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
  assign TLMonitor_io_in_d_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_493}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
  assign TLMonitor_io_in_d_bits_size = _T_495[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
  assign TLMonitor_io_in_d_bits_source = _T_495[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@104277.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {2{`RANDOM}};
  time$ = _RAND_0[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {2{`RANDOM}};
  timecmp_0 = _RAND_1[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  ipi_0 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      time$ <= 64'h0;
    end else begin
      if (_T_478) begin
        time$ <= _T_485;
      end else begin
        if (io_rtcTick) begin
          time$ <= _T_183;
        end
      end
    end
    if (_T_329) begin
      timecmp_0 <= _T_336;
    end
    if (reset) begin
      ipi_0 <= 1'h0;
    end else begin
      if (_T_661) begin
        ipi_0 <= _T_663;
      end
    end
  end
endmodule
module DMIToTL( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105473.2]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105476.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105476.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105476.4]
  output [8:0]  auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105476.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105476.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105476.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105476.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105476.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105476.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105476.4]
  input         auto_out_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105476.4]
  output        io_dmi_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105477.4]
  input         io_dmi_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105477.4]
  input  [6:0]  io_dmi_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105477.4]
  input  [31:0] io_dmi_req_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105477.4]
  input  [1:0]  io_dmi_req_bits_op, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105477.4]
  input         io_dmi_resp_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105477.4]
  output        io_dmi_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105477.4]
  output [31:0] io_dmi_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105477.4]
  output [1:0]  io_dmi_resp_bits_resp // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105477.4]
);
  wire [8:0] _GEN_16; // @[DMI.scala 92:50:shc.marmotcaravel.MarmotCaravelConfig.fir@105489.4]
  wire [8:0] addr; // @[DMI.scala 92:50:shc.marmotcaravel.MarmotCaravelConfig.fir@105489.4]
  wire  _T_234; // @[DMI.scala 106:30:shc.marmotcaravel.MarmotCaravelConfig.fir@105622.4]
  wire  _T_235; // @[DMI.scala 107:37:shc.marmotcaravel.MarmotCaravelConfig.fir@105627.6]
  wire [2:0] _GEN_0; // @[DMI.scala 107:64:shc.marmotcaravel.MarmotCaravelConfig.fir@105628.6]
  wire [8:0] _GEN_4; // @[DMI.scala 107:64:shc.marmotcaravel.MarmotCaravelConfig.fir@105628.6]
  wire [3:0] _GEN_5; // @[DMI.scala 107:64:shc.marmotcaravel.MarmotCaravelConfig.fir@105628.6]
  wire  _T_236; // @[DMI.scala 116:53:shc.marmotcaravel.MarmotCaravelConfig.fir@105638.4]
  assign _GEN_16 = {{2'd0}, io_dmi_req_bits_addr}; // @[DMI.scala 92:50:shc.marmotcaravel.MarmotCaravelConfig.fir@105489.4]
  assign addr = _GEN_16 << 2; // @[DMI.scala 92:50:shc.marmotcaravel.MarmotCaravelConfig.fir@105489.4]
  assign _T_234 = io_dmi_req_bits_op == 2'h2; // @[DMI.scala 106:30:shc.marmotcaravel.MarmotCaravelConfig.fir@105622.4]
  assign _T_235 = io_dmi_req_bits_op == 2'h1; // @[DMI.scala 107:37:shc.marmotcaravel.MarmotCaravelConfig.fir@105627.6]
  assign _GEN_0 = _T_235 ? 3'h4 : 3'h1; // @[DMI.scala 107:64:shc.marmotcaravel.MarmotCaravelConfig.fir@105628.6]
  assign _GEN_4 = _T_235 ? addr : 9'h40; // @[DMI.scala 107:64:shc.marmotcaravel.MarmotCaravelConfig.fir@105628.6]
  assign _GEN_5 = _T_235 ? 4'hf : 4'h0; // @[DMI.scala 107:64:shc.marmotcaravel.MarmotCaravelConfig.fir@105628.6]
  assign _T_236 = auto_out_d_bits_corrupt | auto_out_d_bits_denied; // @[DMI.scala 116:53:shc.marmotcaravel.MarmotCaravelConfig.fir@105638.4]
  assign auto_out_a_valid = io_dmi_req_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@105485.4]
  assign auto_out_a_bits_opcode = _T_234 ? 3'h0 : _GEN_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@105485.4]
  assign auto_out_a_bits_address = _T_234 ? addr : _GEN_4; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@105485.4]
  assign auto_out_a_bits_mask = _T_234 ? 4'hf : _GEN_5; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@105485.4]
  assign auto_out_a_bits_data = _T_234 ? io_dmi_req_bits_data : 32'h0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@105485.4]
  assign auto_out_d_ready = io_dmi_resp_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@105485.4]
  assign io_dmi_req_ready = auto_out_a_ready; // @[DMI.scala 112:22:shc.marmotcaravel.MarmotCaravelConfig.fir@105635.4]
  assign io_dmi_resp_valid = auto_out_d_valid; // @[DMI.scala 114:28:shc.marmotcaravel.MarmotCaravelConfig.fir@105636.4]
  assign io_dmi_resp_bits_data = auto_out_d_bits_data; // @[DMI.scala 117:28:shc.marmotcaravel.MarmotCaravelConfig.fir@105641.4]
  assign io_dmi_resp_bits_resp = {{1'd0}, _T_236}; // @[DMI.scala 116:28:shc.marmotcaravel.MarmotCaravelConfig.fir@105640.4]
endmodule
module TLMonitor_48( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105653.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105654.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105655.4]
  input        io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105656.4]
  input        io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105656.4]
  input  [2:0] io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105656.4]
  input  [8:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105656.4]
  input  [3:0] io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105656.4]
  input        io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105656.4]
  input        io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105656.4]
  input  [2:0] io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105656.4]
  input  [1:0] io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105656.4]
  input  [1:0] io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105656.4]
  input        io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105656.4]
  input        io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105656.4]
  input        io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@105656.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@106762.4]
  wire [4:0] _T_29; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@105676.6]
  wire [1:0] _T_30; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@105677.6]
  wire [1:0] _T_31; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@105678.6]
  wire [8:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@105679.6]
  wire [8:0] _T_32; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@105679.6]
  wire  _T_33; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105680.6]
  wire [1:0] _T_36; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@105683.6]
  wire [9:0] _T_70; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@105717.6]
  wire  _T_78; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@105729.6]
  wire [9:0] _T_82; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@105734.8]
  wire [9:0] _T_83; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@105735.8]
  wire  _T_84; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@105736.8]
  wire  _T_89; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105741.8]
  wire  _T_101; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105769.8]
  wire  _T_102; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105770.8]
  wire [3:0] _T_107; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@105783.8]
  wire  _T_108; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@105784.8]
  wire  _T_110; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105786.8]
  wire  _T_111; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105787.8]
  wire  _T_116; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@105801.6]
  wire  _T_158; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@105881.6]
  wire  _T_171; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105895.8]
  wire  _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105896.8]
  wire  _T_183; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@105923.8]
  wire  _T_185; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105925.8]
  wire  _T_186; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105926.8]
  wire  _T_191; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@105940.6]
  wire  _T_220; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@105991.6]
  wire  _T_251; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106044.6]
  wire  _T_277; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106092.6]
  wire  _T_303; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106140.6]
  wire  _T_329; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@106190.6]
  wire  _T_331; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@106192.6]
  wire  _T_332; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@106193.6]
  wire  _T_342; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106203.6]
  wire  _T_346; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106212.8]
  wire  _T_348; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106214.8]
  wire  _T_349; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106215.8]
  wire  _T_350; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106220.8]
  wire  _T_352; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106222.8]
  wire  _T_353; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106223.8]
  wire  _T_354; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@106228.8]
  wire  _T_356; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106230.8]
  wire  _T_357; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106231.8]
  wire  _T_358; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@106236.8]
  wire  _T_360; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106238.8]
  wire  _T_361; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106239.8]
  wire  _T_362; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106245.6]
  wire  _T_373; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@106269.8]
  wire  _T_375; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106271.8]
  wire  _T_376; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106272.8]
  wire  _T_377; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106277.8]
  wire  _T_379; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106279.8]
  wire  _T_380; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106280.8]
  wire  _T_390; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106303.6]
  wire  _T_410; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@106344.8]
  wire  _T_412; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106346.8]
  wire  _T_413; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106347.8]
  wire  _T_419; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106362.6]
  wire  _T_436; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106397.6]
  wire  _T_454; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106433.6]
  wire  _T_483; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106493.4]
  reg  _T_493; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106502.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_494; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106503.4]
  wire [1:0] _T_495; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106504.4]
  wire  _T_496; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106505.4]
  wire  _T_497; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106506.4]
  reg [2:0] _T_506; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106517.4]
  reg [31:0] _RAND_1;
  reg [8:0] _T_514; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106521.4]
  reg [31:0] _RAND_2;
  wire  _T_515; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106522.4]
  wire  _T_516; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106523.4]
  wire  _T_517; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106525.6]
  wire  _T_519; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106527.6]
  wire  _T_520; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106528.6]
  wire  _T_533; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106557.6]
  wire  _T_535; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106559.6]
  wire  _T_536; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106560.6]
  wire  _T_538; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@106567.4]
  wire  _T_539; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106575.4]
  reg  _T_548; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106583.4]
  reg [31:0] _RAND_3;
  wire [1:0] _T_549; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106584.4]
  wire [1:0] _T_550; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106585.4]
  wire  _T_551; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106586.4]
  wire  _T_552; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106587.4]
  reg [2:0] _T_561; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106598.4]
  reg [31:0] _RAND_4;
  reg [1:0] _T_563; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106599.4]
  reg [31:0] _RAND_5;
  reg [1:0] _T_565; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106600.4]
  reg [31:0] _RAND_6;
  reg  _T_569; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106602.4]
  reg [31:0] _RAND_7;
  reg  _T_571; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106603.4]
  reg [31:0] _RAND_8;
  wire  _T_572; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106604.4]
  wire  _T_573; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106605.4]
  wire  _T_574; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106607.6]
  wire  _T_576; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106609.6]
  wire  _T_577; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106610.6]
  wire  _T_578; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106615.6]
  wire  _T_580; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106617.6]
  wire  _T_581; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106618.6]
  wire  _T_582; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106623.6]
  wire  _T_584; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106625.6]
  wire  _T_585; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106626.6]
  wire  _T_590; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106639.6]
  wire  _T_592; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106641.6]
  wire  _T_593; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106642.6]
  wire  _T_594; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106647.6]
  wire  _T_596; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106649.6]
  wire  _T_597; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106650.6]
  wire  _T_599; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@106657.4]
  reg  _T_601; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106666.4]
  reg [31:0] _RAND_9;
  reg  _T_612; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106676.4]
  reg [31:0] _RAND_10;
  wire [1:0] _T_613; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106677.4]
  wire [1:0] _T_614; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106678.4]
  wire  _T_615; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106679.4]
  wire  _T_616; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106680.4]
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106699.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106700.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106701.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106702.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106703.4]
  wire  _T_648; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106718.4]
  wire  _T_651; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@106723.6]
  wire  _T_653; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106725.6]
  wire  _T_655; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106727.6]
  wire  _T_656; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106728.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@106720.4]
  wire  _T_661; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106739.4]
  wire  _T_663; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@106741.4]
  wire  _T_664; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@106742.4]
  wire  _T_646; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106714.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@106716.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106722.6]
  wire  _T_666; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@106746.6]
  wire  _T_667; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@106747.6]
  wire  _T_670; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106750.6]
  wire  _T_671; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106751.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@106743.4]
  wire  _T_672; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106757.4]
  wire  _T_658; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106734.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@106736.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106745.6]
  wire  _T_673; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@106758.4]
  wire  _T_674; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@106759.4]
  reg [31:0] _T_676; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106761.4]
  reg [31:0] _RAND_12;
  wire  _T_678; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106765.4]
  wire  _T_679; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@106766.4]
  wire  _T_680; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106767.4]
  wire  _T_681; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@106768.4]
  wire  _T_682; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@106769.4]
  wire  _T_684; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@106771.4]
  wire  _T_685; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@106772.4]
  wire [31:0] _T_687; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@106778.4]
  wire  _T_690; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106782.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105743.10]
  wire  _GEN_27; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105815.10]
  wire  _GEN_37; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105898.10]
  wire  _GEN_43; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105957.10]
  wire  _GEN_49; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106008.10]
  wire  _GEN_53; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106058.10]
  wire  _GEN_59; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106106.10]
  wire  _GEN_65; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106154.10]
  wire  _GEN_71; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106217.10]
  wire  _GEN_79; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106258.10]
  wire  _GEN_91; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106316.10]
  wire  _GEN_103; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106376.10]
  wire  _GEN_109; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106411.10]
  wire  _GEN_115; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106447.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@106762.4]
    .out(plusarg_reader_out)
  );
  assign _T_29 = 5'h3 << 2'h2; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@105676.6]
  assign _T_30 = _T_29[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@105677.6]
  assign _T_31 = ~ _T_30; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@105678.6]
  assign _GEN_18 = {{7'd0}, _T_31}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@105679.6]
  assign _T_32 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@105679.6]
  assign _T_33 = _T_32 == 9'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@105680.6]
  assign _T_36 = 2'h1 << 1'h0; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@105683.6]
  assign _T_70 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@105717.6]
  assign _T_78 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@105729.6]
  assign _T_82 = $signed(_T_70) & $signed(-10'sh200); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@105734.8]
  assign _T_83 = $signed(_T_82); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@105735.8]
  assign _T_84 = $signed(_T_83) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@105736.8]
  assign _T_89 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105741.8]
  assign _T_101 = _T_33 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105769.8]
  assign _T_102 = _T_101 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105770.8]
  assign _T_107 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@105783.8]
  assign _T_108 = _T_107 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@105784.8]
  assign _T_110 = _T_108 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105786.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105787.8]
  assign _T_116 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@105801.6]
  assign _T_158 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@105881.6]
  assign _T_171 = _T_84 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105895.8]
  assign _T_172 = _T_171 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105896.8]
  assign _T_183 = io_in_a_bits_mask == 4'hf; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@105923.8]
  assign _T_185 = _T_183 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105925.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105926.8]
  assign _T_191 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@105940.6]
  assign _T_220 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@105991.6]
  assign _T_251 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106044.6]
  assign _T_277 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106092.6]
  assign _T_303 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106140.6]
  assign _T_329 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@106190.6]
  assign _T_331 = _T_329 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@106192.6]
  assign _T_332 = _T_331 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@106193.6]
  assign _T_342 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106203.6]
  assign _T_346 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106212.8]
  assign _T_348 = _T_346 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106214.8]
  assign _T_349 = _T_348 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106215.8]
  assign _T_350 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106220.8]
  assign _T_352 = _T_350 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106222.8]
  assign _T_353 = _T_352 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106223.8]
  assign _T_354 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@106228.8]
  assign _T_356 = _T_354 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106230.8]
  assign _T_357 = _T_356 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106231.8]
  assign _T_358 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@106236.8]
  assign _T_360 = _T_358 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106238.8]
  assign _T_361 = _T_360 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106239.8]
  assign _T_362 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106245.6]
  assign _T_373 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@106269.8]
  assign _T_375 = _T_373 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106271.8]
  assign _T_376 = _T_375 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106272.8]
  assign _T_377 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106277.8]
  assign _T_379 = _T_377 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106279.8]
  assign _T_380 = _T_379 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106280.8]
  assign _T_390 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106303.6]
  assign _T_410 = _T_358 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@106344.8]
  assign _T_412 = _T_410 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106346.8]
  assign _T_413 = _T_412 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106347.8]
  assign _T_419 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106362.6]
  assign _T_436 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106397.6]
  assign _T_454 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106433.6]
  assign _T_483 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106493.4]
  assign _T_494 = _T_493 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106503.4]
  assign _T_495 = $unsigned(_T_494); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106504.4]
  assign _T_496 = _T_495[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106505.4]
  assign _T_497 = _T_493 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106506.4]
  assign _T_515 = _T_497 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106522.4]
  assign _T_516 = io_in_a_valid & _T_515; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106523.4]
  assign _T_517 = io_in_a_bits_opcode == _T_506; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106525.6]
  assign _T_519 = _T_517 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106527.6]
  assign _T_520 = _T_519 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106528.6]
  assign _T_533 = io_in_a_bits_address == _T_514; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106557.6]
  assign _T_535 = _T_533 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106559.6]
  assign _T_536 = _T_535 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106560.6]
  assign _T_538 = _T_483 & _T_497; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@106567.4]
  assign _T_539 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106575.4]
  assign _T_549 = _T_548 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106584.4]
  assign _T_550 = $unsigned(_T_549); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106585.4]
  assign _T_551 = _T_550[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106586.4]
  assign _T_552 = _T_548 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106587.4]
  assign _T_572 = _T_552 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@106604.4]
  assign _T_573 = io_in_d_valid & _T_572; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106605.4]
  assign _T_574 = io_in_d_bits_opcode == _T_561; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106607.6]
  assign _T_576 = _T_574 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106609.6]
  assign _T_577 = _T_576 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106610.6]
  assign _T_578 = io_in_d_bits_param == _T_563; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106615.6]
  assign _T_580 = _T_578 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106617.6]
  assign _T_581 = _T_580 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106618.6]
  assign _T_582 = io_in_d_bits_size == _T_565; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106623.6]
  assign _T_584 = _T_582 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106625.6]
  assign _T_585 = _T_584 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106626.6]
  assign _T_590 = io_in_d_bits_sink == _T_569; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106639.6]
  assign _T_592 = _T_590 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106641.6]
  assign _T_593 = _T_592 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106642.6]
  assign _T_594 = io_in_d_bits_denied == _T_571; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@106647.6]
  assign _T_596 = _T_594 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106649.6]
  assign _T_597 = _T_596 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106650.6]
  assign _T_599 = _T_539 & _T_552; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@106657.4]
  assign _T_613 = _T_612 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106677.4]
  assign _T_614 = $unsigned(_T_613); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106678.4]
  assign _T_615 = _T_614[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106679.4]
  assign _T_616 = _T_612 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106680.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106700.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106701.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@106702.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106703.4]
  assign _T_648 = _T_483 & _T_616; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106718.4]
  assign _T_651 = _T_601 >> 1'h0; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@106723.6]
  assign _T_653 = _T_651 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106725.6]
  assign _T_655 = _T_653 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106727.6]
  assign _T_656 = _T_655 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106728.6]
  assign _GEN_15 = _T_648 ? _T_36 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@106720.4]
  assign _T_661 = _T_539 & _T_637; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106739.4]
  assign _T_663 = _T_342 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@106741.4]
  assign _T_664 = _T_661 & _T_663; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@106742.4]
  assign _T_646 = _GEN_15[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106714.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@106716.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106722.6]
  assign _T_666 = _T_646 | _T_601; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@106746.6]
  assign _T_667 = _T_666 >> 1'h0; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@106747.6]
  assign _T_670 = _T_667 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106750.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106751.6]
  assign _GEN_16 = _T_664 ? _T_36 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@106743.4]
  assign _T_672 = _T_601 | _T_646; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106757.4]
  assign _T_658 = _GEN_16[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106734.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@106736.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106745.6]
  assign _T_673 = ~ _T_658; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@106758.4]
  assign _T_674 = _T_672 & _T_673; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@106759.4]
  assign _T_678 = _T_601 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106765.4]
  assign _T_679 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@106766.4]
  assign _T_680 = _T_678 | _T_679; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106767.4]
  assign _T_681 = _T_676 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@106768.4]
  assign _T_682 = _T_680 | _T_681; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@106769.4]
  assign _T_684 = _T_682 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@106771.4]
  assign _T_685 = _T_684 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@106772.4]
  assign _T_687 = _T_676 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@106778.4]
  assign _T_690 = _T_483 | _T_539; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@106782.4]
  assign _GEN_19 = io_in_a_valid & _T_78; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105743.10]
  assign _GEN_27 = io_in_a_valid & _T_116; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105815.10]
  assign _GEN_37 = io_in_a_valid & _T_158; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105898.10]
  assign _GEN_43 = io_in_a_valid & _T_191; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105957.10]
  assign _GEN_49 = io_in_a_valid & _T_220; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106008.10]
  assign _GEN_53 = io_in_a_valid & _T_251; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106058.10]
  assign _GEN_59 = io_in_a_valid & _T_277; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106106.10]
  assign _GEN_65 = io_in_a_valid & _T_303; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106154.10]
  assign _GEN_71 = io_in_d_valid & _T_342; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106217.10]
  assign _GEN_79 = io_in_d_valid & _T_362; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106258.10]
  assign _GEN_91 = io_in_d_valid & _T_390; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106316.10]
  assign _GEN_103 = io_in_d_valid & _T_419; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106376.10]
  assign _GEN_109 = io_in_d_valid & _T_436; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106411.10]
  assign _GEN_115 = io_in_d_valid & _T_454; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106447.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_493 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_506 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_514 = _RAND_2[8:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_548 = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_561 = _RAND_4[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_563 = _RAND_5[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_565 = _RAND_6[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_569 = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_571 = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_601 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_612 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_633 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_676 = _RAND_12[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_493 <= 1'h0;
    end else begin
      if (_T_483) begin
        if (_T_497) begin
          _T_493 <= 1'h0;
        end else begin
          _T_493 <= _T_496;
        end
      end
    end
    if (_T_538) begin
      _T_506 <= io_in_a_bits_opcode;
    end
    if (_T_538) begin
      _T_514 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_548 <= 1'h0;
    end else begin
      if (_T_539) begin
        if (_T_552) begin
          _T_548 <= 1'h0;
        end else begin
          _T_548 <= _T_551;
        end
      end
    end
    if (_T_599) begin
      _T_561 <= io_in_d_bits_opcode;
    end
    if (_T_599) begin
      _T_563 <= io_in_d_bits_param;
    end
    if (_T_599) begin
      _T_565 <= io_in_d_bits_size;
    end
    if (_T_599) begin
      _T_569 <= io_in_d_bits_sink;
    end
    if (_T_599) begin
      _T_571 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_601 <= 1'h0;
    end else begin
      _T_601 <= _T_674;
    end
    if (reset) begin
      _T_612 <= 1'h0;
    end else begin
      if (_T_483) begin
        if (_T_616) begin
          _T_612 <= 1'h0;
        end else begin
          _T_612 <= _T_615;
        end
      end
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_539) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_676 <= 32'h0;
    end else begin
      if (_T_690) begin
        _T_676 <= 32'h0;
      end else begin
        _T_676 <= _T_687;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at Debug.scala:352:16)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@105668.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@105669.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@105726.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@105727.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_89) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at Debug.scala:352:16)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105743.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_89) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105744.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_89) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Debug.scala:352:16)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105750.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_89) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105751.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105757.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105758.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Debug.scala:352:16)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105765.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105766.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_102) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Debug.scala:352:16)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105772.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_102) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105773.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Debug.scala:352:16)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105780.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105781.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Debug.scala:352:16)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105789.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105790.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Debug.scala:352:16)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105797.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105798.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_27 & _T_89) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at Debug.scala:352:16)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105815.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_27 & _T_89) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105816.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_27 & _T_89) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Debug.scala:352:16)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105822.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_27 & _T_89) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105823.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105829.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105830.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Debug.scala:352:16)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105837.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105838.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_27 & _T_102) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Debug.scala:352:16)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105844.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_27 & _T_102) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105845.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Debug.scala:352:16)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105852.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105853.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_27 & _T_89) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Debug.scala:352:16)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105860.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_27 & _T_89) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105861.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_27 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Debug.scala:352:16)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105869.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_27 & _T_111) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105870.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Debug.scala:352:16)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105877.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105878.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_37 & _T_172) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at Debug.scala:352:16)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105898.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_37 & _T_172) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105899.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105905.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105906.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_37 & _T_102) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at Debug.scala:352:16)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105912.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_37 & _T_102) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105913.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at Debug.scala:352:16)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105920.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105921.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_37 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at Debug.scala:352:16)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105928.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_37 & _T_186) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105929.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at Debug.scala:352:16)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105936.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105937.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_43 & _T_172) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at Debug.scala:352:16)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105957.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_43 & _T_172) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105958.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105964.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105965.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_43 & _T_102) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at Debug.scala:352:16)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105971.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_43 & _T_102) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105972.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at Debug.scala:352:16)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105979.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105980.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_43 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at Debug.scala:352:16)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105987.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_43 & _T_186) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@105988.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_172) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at Debug.scala:352:16)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106008.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_172) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106009.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106015.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106016.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_102) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Debug.scala:352:16)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106022.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_102) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106023.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at Debug.scala:352:16)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106030.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106031.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Debug.scala:352:16)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106040.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106041.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_89) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at Debug.scala:352:16)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106058.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_89) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106059.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106065.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106066.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_102) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Debug.scala:352:16)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106072.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_102) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106073.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Debug.scala:352:16)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106080.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106081.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Debug.scala:352:16)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106088.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_186) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106089.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_89) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at Debug.scala:352:16)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106106.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_89) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106107.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106113.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106114.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_102) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at Debug.scala:352:16)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106120.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_102) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106121.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Debug.scala:352:16)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106128.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106129.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at Debug.scala:352:16)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106136.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106137.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_89) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at Debug.scala:352:16)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106154.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_89) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106155.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106161.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106162.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_102) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at Debug.scala:352:16)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106168.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_102) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106169.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at Debug.scala:352:16)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106176.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_186) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106177.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at Debug.scala:352:16)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106184.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106185.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_332) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at Debug.scala:352:16)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@106195.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_332) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@106196.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106209.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106210.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_71 & _T_349) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Debug.scala:352:16)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106217.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_71 & _T_349) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106218.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_71 & _T_353) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at Debug.scala:352:16)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106225.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_71 & _T_353) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106226.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_71 & _T_357) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at Debug.scala:352:16)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106233.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_71 & _T_357) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106234.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_71 & _T_361) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at Debug.scala:352:16)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106241.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_71 & _T_361) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106242.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106251.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106252.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_79 & _T_89) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at Debug.scala:352:16)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106258.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_79 & _T_89) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106259.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_79 & _T_349) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at Debug.scala:352:16)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106266.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_79 & _T_349) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106267.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_79 & _T_376) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at Debug.scala:352:16)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106274.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_79 & _T_376) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106275.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_79 & _T_380) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at Debug.scala:352:16)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106282.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_79 & _T_380) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106283.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_79 & _T_357) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at Debug.scala:352:16)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106290.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_79 & _T_357) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106291.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_79 & _T_361) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at Debug.scala:352:16)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106299.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_79 & _T_361) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106300.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106309.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106310.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_89) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at Debug.scala:352:16)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106316.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_89) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106317.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_349) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at Debug.scala:352:16)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106324.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_349) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106325.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_376) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at Debug.scala:352:16)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106332.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_376) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106333.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_380) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at Debug.scala:352:16)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106340.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_380) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106341.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_413) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at Debug.scala:352:16)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106349.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_413) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106350.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_361) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at Debug.scala:352:16)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106358.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_361) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106359.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106368.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106369.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_103 & _T_353) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at Debug.scala:352:16)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106376.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_103 & _T_353) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106377.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_103 & _T_357) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at Debug.scala:352:16)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106384.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_103 & _T_357) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106385.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_103 & _T_361) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at Debug.scala:352:16)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106393.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_103 & _T_361) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106394.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106403.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106404.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_109 & _T_353) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at Debug.scala:352:16)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106411.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_109 & _T_353) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106412.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_109 & _T_413) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at Debug.scala:352:16)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106420.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_109 & _T_413) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106421.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_109 & _T_361) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at Debug.scala:352:16)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106429.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_109 & _T_361) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106430.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106439.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106440.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_353) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at Debug.scala:352:16)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106447.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_353) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106448.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_357) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at Debug.scala:352:16)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106455.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_357) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106456.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_361) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at Debug.scala:352:16)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106464.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_361) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106465.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at Debug.scala:352:16)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106474.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106475.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at Debug.scala:352:16)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106482.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106483.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at Debug.scala:352:16)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106490.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106491.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_516 & _T_520) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Debug.scala:352:16)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106530.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_516 & _T_520) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106531.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at Debug.scala:352:16)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106538.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106539.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at Debug.scala:352:16)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106546.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106547.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at Debug.scala:352:16)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106554.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106555.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_516 & _T_536) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at Debug.scala:352:16)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106562.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_516 & _T_536) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106563.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_573 & _T_577) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Debug.scala:352:16)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106612.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_573 & _T_577) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106613.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_573 & _T_581) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at Debug.scala:352:16)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106620.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_573 & _T_581) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106621.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_573 & _T_585) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at Debug.scala:352:16)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106628.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_573 & _T_585) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106629.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at Debug.scala:352:16)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106636.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106637.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_573 & _T_593) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at Debug.scala:352:16)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106644.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_573 & _T_593) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106645.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_573 & _T_597) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at Debug.scala:352:16)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106652.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_573 & _T_597) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@106653.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_648 & _T_656) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at Debug.scala:352:16)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106730.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_648 & _T_656) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106731.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_664 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Debug.scala:352:16)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106753.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_664 & _T_671) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@106754.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at Debug.scala:352:16)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@106774.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@106775.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLXbar_7( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106787.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106788.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106789.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  input  [8:0]  auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  input         auto_out_1_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  output        auto_out_1_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  output [2:0]  auto_out_1_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  output [6:0]  auto_out_1_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  output [3:0]  auto_out_1_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  output [31:0] auto_out_1_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  output        auto_out_1_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  input         auto_out_1_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  input  [2:0]  auto_out_1_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  input  [31:0] auto_out_1_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  input         auto_out_0_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  output        auto_out_0_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  output [2:0]  auto_out_0_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  output [8:0]  auto_out_0_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  output [3:0]  auto_out_0_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  output [31:0] auto_out_0_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  output        auto_out_0_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  input         auto_out_0_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  input  [2:0]  auto_out_0_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  input  [1:0]  auto_out_0_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  input  [1:0]  auto_out_0_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  input         auto_out_0_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  input         auto_out_0_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  input         auto_out_0_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  input  [31:0] auto_out_0_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
  input         auto_out_0_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106790.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
  wire [8:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
  wire [9:0] _T_700; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106877.4]
  wire [9:0] _T_701; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106878.4]
  wire [9:0] _T_702; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106879.4]
  wire  _T_703; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106880.4]
  wire [8:0] _T_704; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106881.4]
  wire [9:0] _T_705; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106882.4]
  wire [9:0] _T_706; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106883.4]
  wire [9:0] _T_707; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106884.4]
  wire  _T_708; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106885.4]
  wire [8:0] _T_709; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106886.4]
  wire [9:0] _T_710; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106887.4]
  wire [9:0] _T_711; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106888.4]
  wire [9:0] _T_712; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106889.4]
  wire  _T_713; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106890.4]
  wire [8:0] _T_714; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106891.4]
  wire [9:0] _T_715; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106892.4]
  wire [9:0] _T_716; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106893.4]
  wire [9:0] _T_717; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106894.4]
  wire  _T_718; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106895.4]
  wire [8:0] _T_719; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106896.4]
  wire [9:0] _T_720; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106897.4]
  wire [9:0] _T_721; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106898.4]
  wire [9:0] _T_722; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106899.4]
  wire  _T_723; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106900.4]
  wire [8:0] _T_724; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106901.4]
  wire [9:0] _T_725; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106902.4]
  wire [9:0] _T_726; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106903.4]
  wire [9:0] _T_727; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106904.4]
  wire  _T_728; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106905.4]
  wire [8:0] _T_729; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106906.4]
  wire [9:0] _T_730; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106907.4]
  wire [9:0] _T_731; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106908.4]
  wire [9:0] _T_732; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106909.4]
  wire  _T_733; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106910.4]
  wire  _T_734; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@106911.4]
  wire  _T_735; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@106912.4]
  wire  _T_736; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@106913.4]
  wire  _T_737; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@106914.4]
  wire  _T_738; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@106915.4]
  wire  requestAIO_0_0; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@106916.4]
  wire [8:0] _T_740; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106918.4]
  wire [9:0] _T_741; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106919.4]
  wire [9:0] _T_742; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106920.4]
  wire [9:0] _T_743; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106921.4]
  wire  requestAIO_0_1; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106922.4]
  wire  _T_824; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@106995.4]
  wire  _T_825; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@106996.4]
  reg  _T_980; // @[Arbiter.scala 53:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107068.4]
  reg [31:0] _RAND_0;
  wire  _T_981; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@107069.4]
  wire  _T_982; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@107070.4]
  wire [1:0] _T_983; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@107071.4]
  wire  _T_985; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@107073.4]
  wire  _T_987; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107075.4]
  wire  _T_988; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107076.4]
  reg [1:0] _T_991; // @[Arbiter.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@107082.4]
  reg [31:0] _RAND_1;
  wire [1:0] _T_992; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107083.4]
  wire [1:0] _T_993; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@107084.4]
  wire [3:0] _T_994; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@107085.4]
  wire [2:0] _T_995; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@107086.4]
  wire [3:0] _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@107087.4]
  wire [3:0] _T_996; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@107087.4]
  wire [2:0] _T_998; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107089.4]
  wire [3:0] _GEN_2; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@107090.4]
  wire [3:0] _T_999; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@107090.4]
  wire [3:0] _GEN_3; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@107091.4]
  wire [3:0] _T_1000; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@107091.4]
  wire [1:0] _T_1001; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@107092.4]
  wire [1:0] _T_1002; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@107093.4]
  wire [1:0] _T_1003; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@107094.4]
  wire [1:0] _T_1004; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@107095.4]
  wire  _T_1005; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@107096.4]
  wire  _T_1006; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@107097.4]
  wire [1:0] _T_1007; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@107099.6]
  wire [2:0] _GEN_4; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@107100.6]
  wire [2:0] _T_1008; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@107100.6]
  wire [1:0] _T_1009; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@107101.6]
  wire [1:0] _T_1010; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@107102.6]
  wire  _T_1013; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107107.4]
  wire  _T_1014; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107108.4]
  wire  _T_1023; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@107113.4]
  wire  _T_1024; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@107114.4]
  wire  _T_1034; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107120.4]
  wire  _T_1036; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@107122.4]
  wire  _T_1039; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@107125.4]
  wire  _T_1040; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@107126.4]
  wire  _T_1043; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@107129.4]
  wire  _T_1044; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@107130.4]
  wire  _T_1045; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@107135.4]
  wire  _T_1046; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@107136.4]
  wire  _T_1048; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@107138.4]
  wire  _T_1050; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107140.4]
  wire  _T_1051; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107141.4]
  reg  _T_1076_0; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@107159.4]
  reg [31:0] _RAND_2;
  wire  _T_1107; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107168.4]
  reg  _T_1076_1; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@107159.4]
  reg [31:0] _RAND_3;
  wire  _T_1108; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107169.4]
  wire  _T_1109; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107170.4]
  wire  in_0_d_valid; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@107173.4]
  wire  _T_1055; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@107149.4]
  wire [1:0] _T_1056; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107150.4]
  wire [1:0] _T_1057; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107151.4]
  wire  _T_1058; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107152.4]
  wire  _T_1087_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107160.4]
  wire  _T_1087_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107160.4]
  wire  _T_1095_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@107162.4]
  wire  _T_1095_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@107162.4]
  wire [32:0] _T_1114; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107175.4]
  wire [1:0] _T_1115; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107176.4]
  wire [34:0] _T_1116; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107177.4]
  wire [2:0] _T_1117; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107178.4]
  wire [4:0] _T_1118; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107179.4]
  wire [7:0] _T_1119; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107180.4]
  wire [42:0] _T_1120; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107181.4]
  wire [42:0] _T_1121; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107182.4]
  wire [32:0] _T_1122; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107183.4]
  wire [34:0] _T_1124; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107185.4]
  wire [4:0] _T_1126; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107187.4]
  wire [7:0] _T_1127; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107188.4]
  wire [42:0] _T_1128; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107189.4]
  wire [42:0] _T_1129; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107190.4]
  wire [42:0] _T_1130; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107191.4]
  TLMonitor_48 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@106797.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
  );
  assign _T_700 = {1'b0,$signed(auto_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106877.4]
  assign _T_701 = $signed(_T_700) & $signed(10'sh1c0); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106878.4]
  assign _T_702 = $signed(_T_701); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106879.4]
  assign _T_703 = $signed(_T_702) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106880.4]
  assign _T_704 = auto_in_a_bits_address ^ 9'h44; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106881.4]
  assign _T_705 = {1'b0,$signed(_T_704)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106882.4]
  assign _T_706 = $signed(_T_705) & $signed(10'sh1fc); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106883.4]
  assign _T_707 = $signed(_T_706); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106884.4]
  assign _T_708 = $signed(_T_707) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106885.4]
  assign _T_709 = auto_in_a_bits_address ^ 9'h48; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106886.4]
  assign _T_710 = {1'b0,$signed(_T_709)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106887.4]
  assign _T_711 = $signed(_T_710) & $signed(10'sh1f8); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106888.4]
  assign _T_712 = $signed(_T_711); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106889.4]
  assign _T_713 = $signed(_T_712) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106890.4]
  assign _T_714 = auto_in_a_bits_address ^ 9'h50; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106891.4]
  assign _T_715 = {1'b0,$signed(_T_714)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106892.4]
  assign _T_716 = $signed(_T_715) & $signed(10'sh1f0); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106893.4]
  assign _T_717 = $signed(_T_716); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106894.4]
  assign _T_718 = $signed(_T_717) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106895.4]
  assign _T_719 = auto_in_a_bits_address ^ 9'h60; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106896.4]
  assign _T_720 = {1'b0,$signed(_T_719)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106897.4]
  assign _T_721 = $signed(_T_720) & $signed(10'sh1e0); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106898.4]
  assign _T_722 = $signed(_T_721); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106899.4]
  assign _T_723 = $signed(_T_722) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106900.4]
  assign _T_724 = auto_in_a_bits_address ^ 9'h80; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106901.4]
  assign _T_725 = {1'b0,$signed(_T_724)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106902.4]
  assign _T_726 = $signed(_T_725) & $signed(10'sh180); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106903.4]
  assign _T_727 = $signed(_T_726); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106904.4]
  assign _T_728 = $signed(_T_727) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106905.4]
  assign _T_729 = auto_in_a_bits_address ^ 9'h100; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106906.4]
  assign _T_730 = {1'b0,$signed(_T_729)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106907.4]
  assign _T_731 = $signed(_T_730) & $signed(10'sh100); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106908.4]
  assign _T_732 = $signed(_T_731); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106909.4]
  assign _T_733 = $signed(_T_732) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106910.4]
  assign _T_734 = _T_703 | _T_708; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@106911.4]
  assign _T_735 = _T_734 | _T_713; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@106912.4]
  assign _T_736 = _T_735 | _T_718; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@106913.4]
  assign _T_737 = _T_736 | _T_723; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@106914.4]
  assign _T_738 = _T_737 | _T_728; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@106915.4]
  assign requestAIO_0_0 = _T_738 | _T_733; // @[Xbar.scala 217:92:shc.marmotcaravel.MarmotCaravelConfig.fir@106916.4]
  assign _T_740 = auto_in_a_bits_address ^ 9'h40; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106918.4]
  assign _T_741 = {1'b0,$signed(_T_740)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106919.4]
  assign _T_742 = $signed(_T_741) & $signed(10'sh1fc); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106920.4]
  assign _T_743 = $signed(_T_742); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@106921.4]
  assign requestAIO_0_1 = $signed(_T_743) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@106922.4]
  assign _T_824 = requestAIO_0_0 ? auto_out_0_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@106995.4]
  assign _T_825 = requestAIO_0_1 ? auto_out_1_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@106996.4]
  assign _T_981 = _T_980 == 1'h0; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@107069.4]
  assign _T_982 = _T_981 & auto_in_d_ready; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@107070.4]
  assign _T_983 = {auto_out_1_d_valid,auto_out_0_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@107071.4]
  assign _T_985 = _T_983 == _T_983; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@107073.4]
  assign _T_987 = _T_985 | reset; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107075.4]
  assign _T_988 = _T_987 == 1'h0; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107076.4]
  assign _T_992 = ~ _T_991; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@107083.4]
  assign _T_993 = _T_983 & _T_992; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@107084.4]
  assign _T_994 = {_T_993,_T_983}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@107085.4]
  assign _T_995 = _T_994[3:1]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@107086.4]
  assign _GEN_1 = {{1'd0}, _T_995}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@107087.4]
  assign _T_996 = _T_994 | _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@107087.4]
  assign _T_998 = _T_996[3:1]; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107089.4]
  assign _GEN_2 = {{2'd0}, _T_991}; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@107090.4]
  assign _T_999 = _GEN_2 << 2; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@107090.4]
  assign _GEN_3 = {{1'd0}, _T_998}; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@107091.4]
  assign _T_1000 = _GEN_3 | _T_999; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@107091.4]
  assign _T_1001 = _T_1000[3:2]; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@107092.4]
  assign _T_1002 = _T_1000[1:0]; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@107093.4]
  assign _T_1003 = _T_1001 & _T_1002; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@107094.4]
  assign _T_1004 = ~ _T_1003; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@107095.4]
  assign _T_1005 = _T_983 != 2'h0; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@107096.4]
  assign _T_1006 = _T_982 & _T_1005; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@107097.4]
  assign _T_1007 = _T_1004 & _T_983; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@107099.6]
  assign _GEN_4 = {{1'd0}, _T_1007}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@107100.6]
  assign _T_1008 = _GEN_4 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@107100.6]
  assign _T_1009 = _T_1008[1:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@107101.6]
  assign _T_1010 = _T_1007 | _T_1009; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@107102.6]
  assign _T_1013 = _T_1004[0]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107107.4]
  assign _T_1014 = _T_1004[1]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107108.4]
  assign _T_1023 = _T_1013 & auto_out_0_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@107113.4]
  assign _T_1024 = _T_1014 & auto_out_1_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@107114.4]
  assign _T_1034 = _T_1023 | _T_1024; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107120.4]
  assign _T_1036 = _T_1023 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@107122.4]
  assign _T_1039 = _T_1024 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@107125.4]
  assign _T_1040 = _T_1036 | _T_1039; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@107126.4]
  assign _T_1043 = _T_1040 | reset; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@107129.4]
  assign _T_1044 = _T_1043 == 1'h0; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@107130.4]
  assign _T_1045 = auto_out_0_d_valid | auto_out_1_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@107135.4]
  assign _T_1046 = _T_1045 == 1'h0; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@107136.4]
  assign _T_1048 = _T_1046 | _T_1034; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@107138.4]
  assign _T_1050 = _T_1048 | reset; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107140.4]
  assign _T_1051 = _T_1050 == 1'h0; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107141.4]
  assign _T_1107 = _T_1076_0 ? auto_out_0_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107168.4]
  assign _T_1108 = _T_1076_1 ? auto_out_1_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107169.4]
  assign _T_1109 = _T_1107 | _T_1108; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107170.4]
  assign in_0_d_valid = _T_981 ? _T_1045 : _T_1109; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@107173.4]
  assign _T_1055 = auto_in_d_ready & in_0_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@107149.4]
  assign _T_1056 = _T_980 - _T_1055; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107150.4]
  assign _T_1057 = $unsigned(_T_1056); // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107151.4]
  assign _T_1058 = _T_1057[0:0]; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107152.4]
  assign _T_1087_0 = _T_981 ? _T_1023 : _T_1076_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107160.4]
  assign _T_1087_1 = _T_981 ? _T_1024 : _T_1076_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107160.4]
  assign _T_1095_0 = _T_981 ? _T_1013 : _T_1076_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@107162.4]
  assign _T_1095_1 = _T_981 ? _T_1014 : _T_1076_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@107162.4]
  assign _T_1114 = {auto_out_0_d_bits_data,auto_out_0_d_bits_corrupt}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107175.4]
  assign _T_1115 = {auto_out_0_d_bits_sink,auto_out_0_d_bits_denied}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107176.4]
  assign _T_1116 = {_T_1115,_T_1114}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107177.4]
  assign _T_1117 = {auto_out_0_d_bits_size,auto_out_0_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107178.4]
  assign _T_1118 = {auto_out_0_d_bits_opcode,auto_out_0_d_bits_param}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107179.4]
  assign _T_1119 = {_T_1118,_T_1117}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107180.4]
  assign _T_1120 = {_T_1119,_T_1116}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107181.4]
  assign _T_1121 = _T_1087_0 ? _T_1120 : 43'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107182.4]
  assign _T_1122 = {auto_out_1_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107183.4]
  assign _T_1124 = {2'h0,_T_1122}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107185.4]
  assign _T_1126 = {auto_out_1_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107187.4]
  assign _T_1127 = {_T_1126,3'h4}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107188.4]
  assign _T_1128 = {_T_1127,_T_1124}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107189.4]
  assign _T_1129 = _T_1087_1 ? _T_1128 : 43'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107190.4]
  assign _T_1130 = _T_1121 | _T_1129; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@107191.4]
  assign auto_in_a_ready = _T_824 | _T_825; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106840.4]
  assign auto_in_d_valid = _T_981 ? _T_1045 : _T_1109; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106840.4]
  assign auto_in_d_bits_denied = _T_1130[33]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106840.4]
  assign auto_in_d_bits_data = _T_1130[32:1]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106840.4]
  assign auto_in_d_bits_corrupt = _T_1130[0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@106840.4]
  assign auto_out_1_a_valid = auto_in_a_valid & requestAIO_0_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106839.4]
  assign auto_out_1_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106839.4]
  assign auto_out_1_a_bits_address = auto_in_a_bits_address[6:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106839.4]
  assign auto_out_1_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106839.4]
  assign auto_out_1_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106839.4]
  assign auto_out_1_d_ready = auto_in_d_ready & _T_1095_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106839.4]
  assign auto_out_0_a_valid = auto_in_a_valid & requestAIO_0_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106838.4]
  assign auto_out_0_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106838.4]
  assign auto_out_0_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106838.4]
  assign auto_out_0_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106838.4]
  assign auto_out_0_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106838.4]
  assign auto_out_0_d_ready = auto_in_d_ready & _T_1095_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@106838.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106799.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@106800.4]
  assign TLMonitor_io_in_a_ready = _T_824 | _T_825; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106833.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106833.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106833.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106833.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106833.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106833.4]
  assign TLMonitor_io_in_d_valid = _T_981 ? _T_1045 : _T_1109; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106833.4]
  assign TLMonitor_io_in_d_bits_opcode = _T_1130[42:40]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106833.4]
  assign TLMonitor_io_in_d_bits_param = _T_1130[39:38]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106833.4]
  assign TLMonitor_io_in_d_bits_size = _T_1130[37:36]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106833.4]
  assign TLMonitor_io_in_d_bits_sink = _T_1130[34]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106833.4]
  assign TLMonitor_io_in_d_bits_denied = _T_1130[33]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106833.4]
  assign TLMonitor_io_in_d_bits_corrupt = _T_1130[0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@106833.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_980 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_991 = _RAND_1[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1076_0 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1076_1 = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_980 <= 1'h0;
    end else begin
      if (_T_982) begin
        _T_980 <= 1'h0;
      end else begin
        _T_980 <= _T_1058;
      end
    end
    if (reset) begin
      _T_991 <= 2'h3;
    end else begin
      if (_T_1006) begin
        _T_991 <= _T_1010;
      end
    end
    if (reset) begin
      _T_1076_0 <= 1'h0;
    end else begin
      if (_T_981) begin
        _T_1076_0 <= _T_1023;
      end
    end
    if (reset) begin
      _T_1076_1 <= 1'h0;
    end else begin
      if (_T_981) begin
        _T_1076_1 <= _T_1024;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_988) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:19 assert (valid === valids)\n"); // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107078.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_988) begin
          $fatal; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107079.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1044) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:68 assert((prefixOR zip winner) map { case (p,w) => !p || !w } reduce {_ && _})\n"); // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@107132.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1044) begin
          $fatal; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@107133.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1051) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:70 assert (!valids.reduce(_||_) || winner.reduce(_||_))\n"); // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107143.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1051) begin
          $fatal; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107144.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_49( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@107220.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@107221.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@107222.4]
  input        io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@107223.4]
  input        io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@107223.4]
  input  [2:0] io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@107223.4]
  input  [6:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@107223.4]
  input  [3:0] io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@107223.4]
  input        io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@107223.4]
  input        io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@107223.4]
  input  [2:0] io_in_d_bits_opcode // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@107223.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108329.4]
  wire [4:0] _T_29; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@107243.6]
  wire [1:0] _T_30; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@107244.6]
  wire [1:0] _T_31; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@107245.6]
  wire [6:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@107246.6]
  wire [6:0] _T_32; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@107246.6]
  wire  _T_33; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@107247.6]
  wire [1:0] _T_36; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107250.6]
  wire  _T_78; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107296.6]
  wire [6:0] _T_80; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@107299.8]
  wire [7:0] _T_81; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@107300.8]
  wire [7:0] _T_82; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107301.8]
  wire [7:0] _T_83; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107302.8]
  wire  _T_84; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107303.8]
  wire  _T_89; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107308.8]
  wire  _T_101; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107336.8]
  wire  _T_102; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107337.8]
  wire [3:0] _T_107; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@107350.8]
  wire  _T_108; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@107351.8]
  wire  _T_110; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107353.8]
  wire  _T_111; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107354.8]
  wire  _T_116; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107368.6]
  wire  _T_158; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107448.6]
  wire  _T_171; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107462.8]
  wire  _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107463.8]
  wire  _T_183; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@107490.8]
  wire  _T_185; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107492.8]
  wire  _T_186; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107493.8]
  wire  _T_191; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107507.6]
  wire  _T_220; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107558.6]
  wire  _T_251; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107611.6]
  wire  _T_277; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107659.6]
  wire  _T_303; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107707.6]
  wire  _T_329; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@107757.6]
  wire  _T_331; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107759.6]
  wire  _T_332; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107760.6]
  wire  _T_342; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107770.6]
  wire  _T_362; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107812.6]
  wire  _T_390; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107870.6]
  wire  _T_483; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@108060.4]
  reg  _T_493; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108069.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_494; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108070.4]
  wire [1:0] _T_495; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108071.4]
  wire  _T_496; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108072.4]
  wire  _T_497; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108073.4]
  reg [2:0] _T_506; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@108084.4]
  reg [31:0] _RAND_1;
  reg [6:0] _T_514; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@108088.4]
  reg [31:0] _RAND_2;
  wire  _T_515; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@108089.4]
  wire  _T_516; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@108090.4]
  wire  _T_517; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@108092.6]
  wire  _T_519; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108094.6]
  wire  _T_520; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108095.6]
  wire  _T_533; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@108124.6]
  wire  _T_535; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108126.6]
  wire  _T_536; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108127.6]
  wire  _T_538; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@108134.4]
  wire  _T_539; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@108142.4]
  reg  _T_548; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108150.4]
  reg [31:0] _RAND_3;
  wire [1:0] _T_549; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108151.4]
  wire [1:0] _T_550; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108152.4]
  wire  _T_551; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108153.4]
  wire  _T_552; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108154.4]
  reg [2:0] _T_561; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@108165.4]
  reg [31:0] _RAND_4;
  wire  _T_572; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@108171.4]
  wire  _T_573; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@108172.4]
  wire  _T_574; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@108174.6]
  wire  _T_576; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108176.6]
  wire  _T_577; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108177.6]
  wire  _T_599; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@108224.4]
  reg  _T_601; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108233.4]
  reg [31:0] _RAND_5;
  reg  _T_612; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108243.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_613; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108244.4]
  wire [1:0] _T_614; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108245.4]
  wire  _T_615; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108246.4]
  wire  _T_616; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108247.4]
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108266.4]
  reg [31:0] _RAND_7;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108267.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108268.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108269.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108270.4]
  wire  _T_648; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108285.4]
  wire  _T_651; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@108290.6]
  wire  _T_653; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108292.6]
  wire  _T_655; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108294.6]
  wire  _T_656; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108295.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@108287.4]
  wire  _T_661; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108306.4]
  wire  _T_663; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@108308.4]
  wire  _T_664; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@108309.4]
  wire  _T_646; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108281.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@108283.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108289.6]
  wire  _T_666; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@108313.6]
  wire  _T_667; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@108314.6]
  wire  _T_670; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108317.6]
  wire  _T_671; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108318.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@108310.4]
  wire  _T_672; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108324.4]
  wire  _T_658; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108301.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@108303.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108312.6]
  wire  _T_673; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@108325.4]
  wire  _T_674; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@108326.4]
  reg [31:0] _T_676; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108328.4]
  reg [31:0] _RAND_8;
  wire  _T_678; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108332.4]
  wire  _T_679; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@108333.4]
  wire  _T_680; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108334.4]
  wire  _T_681; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@108335.4]
  wire  _T_682; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@108336.4]
  wire  _T_684; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@108338.4]
  wire  _T_685; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@108339.4]
  wire [31:0] _T_687; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@108345.4]
  wire  _T_690; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108349.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107310.10]
  wire  _GEN_27; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107382.10]
  wire  _GEN_37; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107465.10]
  wire  _GEN_43; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107524.10]
  wire  _GEN_49; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107575.10]
  wire  _GEN_53; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107625.10]
  wire  _GEN_59; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107673.10]
  wire  _GEN_65; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107721.10]
  wire  _GEN_71; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107825.10]
  wire  _GEN_73; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107883.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108329.4]
    .out(plusarg_reader_out)
  );
  assign _T_29 = 5'h3 << 2'h2; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@107243.6]
  assign _T_30 = _T_29[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@107244.6]
  assign _T_31 = ~ _T_30; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@107245.6]
  assign _GEN_18 = {{5'd0}, _T_31}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@107246.6]
  assign _T_32 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@107246.6]
  assign _T_33 = _T_32 == 7'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@107247.6]
  assign _T_36 = 2'h1 << 1'h0; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107250.6]
  assign _T_78 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107296.6]
  assign _T_80 = io_in_a_bits_address ^ 7'h40; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@107299.8]
  assign _T_81 = {1'b0,$signed(_T_80)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@107300.8]
  assign _T_82 = $signed(_T_81) & $signed(-8'sh4); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107301.8]
  assign _T_83 = $signed(_T_82); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@107302.8]
  assign _T_84 = $signed(_T_83) == $signed(8'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@107303.8]
  assign _T_89 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107308.8]
  assign _T_101 = _T_33 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107336.8]
  assign _T_102 = _T_101 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107337.8]
  assign _T_107 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@107350.8]
  assign _T_108 = _T_107 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@107351.8]
  assign _T_110 = _T_108 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107353.8]
  assign _T_111 = _T_110 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107354.8]
  assign _T_116 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107368.6]
  assign _T_158 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107448.6]
  assign _T_171 = _T_84 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107462.8]
  assign _T_172 = _T_171 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107463.8]
  assign _T_183 = io_in_a_bits_mask == 4'hf; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@107490.8]
  assign _T_185 = _T_183 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107492.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107493.8]
  assign _T_191 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107507.6]
  assign _T_220 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107558.6]
  assign _T_251 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107611.6]
  assign _T_277 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107659.6]
  assign _T_303 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107707.6]
  assign _T_329 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@107757.6]
  assign _T_331 = _T_329 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107759.6]
  assign _T_332 = _T_331 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107760.6]
  assign _T_342 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107770.6]
  assign _T_362 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107812.6]
  assign _T_390 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@107870.6]
  assign _T_483 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@108060.4]
  assign _T_494 = _T_493 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108070.4]
  assign _T_495 = $unsigned(_T_494); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108071.4]
  assign _T_496 = _T_495[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108072.4]
  assign _T_497 = _T_493 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108073.4]
  assign _T_515 = _T_497 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@108089.4]
  assign _T_516 = io_in_a_valid & _T_515; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@108090.4]
  assign _T_517 = io_in_a_bits_opcode == _T_506; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@108092.6]
  assign _T_519 = _T_517 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108094.6]
  assign _T_520 = _T_519 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108095.6]
  assign _T_533 = io_in_a_bits_address == _T_514; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@108124.6]
  assign _T_535 = _T_533 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108126.6]
  assign _T_536 = _T_535 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108127.6]
  assign _T_538 = _T_483 & _T_497; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@108134.4]
  assign _T_539 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@108142.4]
  assign _T_549 = _T_548 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108151.4]
  assign _T_550 = $unsigned(_T_549); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108152.4]
  assign _T_551 = _T_550[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108153.4]
  assign _T_552 = _T_548 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108154.4]
  assign _T_572 = _T_552 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@108171.4]
  assign _T_573 = io_in_d_valid & _T_572; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@108172.4]
  assign _T_574 = io_in_d_bits_opcode == _T_561; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@108174.6]
  assign _T_576 = _T_574 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108176.6]
  assign _T_577 = _T_576 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108177.6]
  assign _T_599 = _T_539 & _T_552; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@108224.4]
  assign _T_613 = _T_612 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108244.4]
  assign _T_614 = $unsigned(_T_613); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108245.4]
  assign _T_615 = _T_614[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108246.4]
  assign _T_616 = _T_612 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108247.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108267.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108268.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@108269.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@108270.4]
  assign _T_648 = _T_483 & _T_616; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108285.4]
  assign _T_651 = _T_601 >> 1'h0; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@108290.6]
  assign _T_653 = _T_651 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108292.6]
  assign _T_655 = _T_653 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108294.6]
  assign _T_656 = _T_655 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108295.6]
  assign _GEN_15 = _T_648 ? _T_36 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@108287.4]
  assign _T_661 = _T_539 & _T_637; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108306.4]
  assign _T_663 = _T_342 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@108308.4]
  assign _T_664 = _T_661 & _T_663; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@108309.4]
  assign _T_646 = _GEN_15[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108281.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@108283.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108289.6]
  assign _T_666 = _T_646 | _T_601; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@108313.6]
  assign _T_667 = _T_666 >> 1'h0; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@108314.6]
  assign _T_670 = _T_667 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108317.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108318.6]
  assign _GEN_16 = _T_664 ? _T_36 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@108310.4]
  assign _T_672 = _T_601 | _T_646; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108324.4]
  assign _T_658 = _GEN_16[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108301.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@108303.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108312.6]
  assign _T_673 = ~ _T_658; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@108325.4]
  assign _T_674 = _T_672 & _T_673; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@108326.4]
  assign _T_678 = _T_601 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108332.4]
  assign _T_679 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@108333.4]
  assign _T_680 = _T_678 | _T_679; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108334.4]
  assign _T_681 = _T_676 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@108335.4]
  assign _T_682 = _T_680 | _T_681; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@108336.4]
  assign _T_684 = _T_682 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@108338.4]
  assign _T_685 = _T_684 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@108339.4]
  assign _T_687 = _T_676 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@108345.4]
  assign _T_690 = _T_483 | _T_539; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@108349.4]
  assign _GEN_19 = io_in_a_valid & _T_78; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107310.10]
  assign _GEN_27 = io_in_a_valid & _T_116; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107382.10]
  assign _GEN_37 = io_in_a_valid & _T_158; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107465.10]
  assign _GEN_43 = io_in_a_valid & _T_191; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107524.10]
  assign _GEN_49 = io_in_a_valid & _T_220; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107575.10]
  assign _GEN_53 = io_in_a_valid & _T_251; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107625.10]
  assign _GEN_59 = io_in_a_valid & _T_277; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107673.10]
  assign _GEN_65 = io_in_a_valid & _T_303; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107721.10]
  assign _GEN_71 = io_in_d_valid & _T_362; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107825.10]
  assign _GEN_73 = io_in_d_valid & _T_390; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107883.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_493 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_506 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_514 = _RAND_2[6:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_548 = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_561 = _RAND_4[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_601 = _RAND_5[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_612 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_633 = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_676 = _RAND_8[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_493 <= 1'h0;
    end else begin
      if (_T_483) begin
        if (_T_497) begin
          _T_493 <= 1'h0;
        end else begin
          _T_493 <= _T_496;
        end
      end
    end
    if (_T_538) begin
      _T_506 <= io_in_a_bits_opcode;
    end
    if (_T_538) begin
      _T_514 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_548 <= 1'h0;
    end else begin
      if (_T_539) begin
        if (_T_552) begin
          _T_548 <= 1'h0;
        end else begin
          _T_548 <= _T_551;
        end
      end
    end
    if (_T_599) begin
      _T_561 <= io_in_d_bits_opcode;
    end
    if (reset) begin
      _T_601 <= 1'h0;
    end else begin
      _T_601 <= _T_674;
    end
    if (reset) begin
      _T_612 <= 1'h0;
    end else begin
      if (_T_483) begin
        if (_T_616) begin
          _T_612 <= 1'h0;
        end else begin
          _T_612 <= _T_615;
        end
      end
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_539) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_676 <= 32'h0;
    end else begin
      if (_T_690) begin
        _T_676 <= 32'h0;
      end else begin
        _T_676 <= _T_687;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at Debug.scala:353:19)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107235.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107236.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107293.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107294.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_89) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at Debug.scala:353:19)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107310.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_89) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107311.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_89) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Debug.scala:353:19)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107317.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_89) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107318.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107324.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107325.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Debug.scala:353:19)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107332.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107333.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_102) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Debug.scala:353:19)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107339.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_102) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107340.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Debug.scala:353:19)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107347.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107348.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Debug.scala:353:19)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107356.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_111) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107357.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Debug.scala:353:19)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107364.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107365.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_27 & _T_89) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at Debug.scala:353:19)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107382.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_27 & _T_89) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107383.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_27 & _T_89) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Debug.scala:353:19)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107389.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_27 & _T_89) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107390.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107396.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107397.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Debug.scala:353:19)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107404.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107405.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_27 & _T_102) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Debug.scala:353:19)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107411.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_27 & _T_102) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107412.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Debug.scala:353:19)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107419.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107420.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_27 & _T_89) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Debug.scala:353:19)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107427.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_27 & _T_89) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107428.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_27 & _T_111) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Debug.scala:353:19)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107436.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_27 & _T_111) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107437.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Debug.scala:353:19)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107444.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107445.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_37 & _T_172) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at Debug.scala:353:19)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107465.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_37 & _T_172) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107466.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107472.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107473.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_37 & _T_102) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at Debug.scala:353:19)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107479.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_37 & _T_102) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107480.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at Debug.scala:353:19)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107487.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107488.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_37 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at Debug.scala:353:19)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107495.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_37 & _T_186) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107496.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at Debug.scala:353:19)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107503.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107504.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_43 & _T_172) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at Debug.scala:353:19)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107524.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_43 & _T_172) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107525.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107531.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107532.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_43 & _T_102) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at Debug.scala:353:19)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107538.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_43 & _T_102) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107539.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at Debug.scala:353:19)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107546.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107547.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_43 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at Debug.scala:353:19)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107554.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_43 & _T_186) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107555.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_172) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at Debug.scala:353:19)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107575.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_172) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107576.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107582.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107583.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_102) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Debug.scala:353:19)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107589.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_102) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107590.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at Debug.scala:353:19)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107597.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107598.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Debug.scala:353:19)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107607.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107608.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_89) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at Debug.scala:353:19)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107625.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_89) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107626.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107632.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107633.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_102) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Debug.scala:353:19)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107639.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_102) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107640.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Debug.scala:353:19)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107647.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107648.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Debug.scala:353:19)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107655.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_186) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107656.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_89) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at Debug.scala:353:19)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107673.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_89) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107674.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107680.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107681.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_102) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at Debug.scala:353:19)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107687.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_102) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107688.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Debug.scala:353:19)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107695.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107696.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at Debug.scala:353:19)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107703.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107704.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_89) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at Debug.scala:353:19)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107721.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_89) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107722.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107728.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107729.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_102) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at Debug.scala:353:19)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107735.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_102) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107736.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at Debug.scala:353:19)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107743.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_186) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107744.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at Debug.scala:353:19)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107751.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107752.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_332) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at Debug.scala:353:19)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107762.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_332) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@107763.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107776.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107777.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Debug.scala:353:19)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107784.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107785.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at Debug.scala:353:19)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107792.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107793.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at Debug.scala:353:19)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107800.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107801.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at Debug.scala:353:19)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107808.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107809.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107818.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107819.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_71 & _T_89) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at Debug.scala:353:19)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107825.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_71 & _T_89) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107826.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at Debug.scala:353:19)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107833.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107834.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at Debug.scala:353:19)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107841.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107842.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at Debug.scala:353:19)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107849.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107850.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at Debug.scala:353:19)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107857.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107858.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at Debug.scala:353:19)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107866.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107867.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107876.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107877.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_73 & _T_89) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at Debug.scala:353:19)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107883.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_73 & _T_89) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107884.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at Debug.scala:353:19)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107891.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107892.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at Debug.scala:353:19)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107899.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107900.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at Debug.scala:353:19)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107907.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107908.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at Debug.scala:353:19)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107916.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107917.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at Debug.scala:353:19)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107925.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107926.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107935.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107936.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at Debug.scala:353:19)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107943.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107944.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at Debug.scala:353:19)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107951.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107952.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at Debug.scala:353:19)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107960.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107961.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107970.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107971.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at Debug.scala:353:19)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107978.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107979.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at Debug.scala:353:19)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107987.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107988.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at Debug.scala:353:19)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107996.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@107997.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108006.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108007.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at Debug.scala:353:19)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108014.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108015.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at Debug.scala:353:19)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108022.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108023.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at Debug.scala:353:19)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108031.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108032.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at Debug.scala:353:19)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108041.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108042.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at Debug.scala:353:19)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108049.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108050.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at Debug.scala:353:19)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108057.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108058.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_516 & _T_520) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Debug.scala:353:19)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108097.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_516 & _T_520) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108098.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at Debug.scala:353:19)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108105.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108106.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at Debug.scala:353:19)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108113.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108114.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at Debug.scala:353:19)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108121.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108122.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_516 & _T_536) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at Debug.scala:353:19)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108129.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_516 & _T_536) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108130.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_573 & _T_577) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Debug.scala:353:19)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108179.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_573 & _T_577) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108180.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at Debug.scala:353:19)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108187.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108188.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at Debug.scala:353:19)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108195.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108196.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at Debug.scala:353:19)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108203.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108204.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at Debug.scala:353:19)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108211.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108212.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at Debug.scala:353:19)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108219.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@108220.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_648 & _T_656) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at Debug.scala:353:19)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108297.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_648 & _T_656) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108298.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_664 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Debug.scala:353:19)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108320.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_664 & _T_671) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@108321.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at Debug.scala:353:19)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@108341.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@108342.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module AsyncResetRegVec_w32_i0( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108674.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108675.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108676.4]
  input  [31:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108677.4]
  output [31:0] io_q, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108677.4]
  input         io_en // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@108677.4]
);
  wire  reg_0_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108682.4]
  wire  reg_0_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108682.4]
  wire  reg_0_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108682.4]
  wire  reg_0_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108682.4]
  wire  reg_0_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108682.4]
  wire  reg_1_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108688.4]
  wire  reg_1_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108688.4]
  wire  reg_1_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108688.4]
  wire  reg_1_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108688.4]
  wire  reg_1_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108688.4]
  wire  reg_2_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108694.4]
  wire  reg_2_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108694.4]
  wire  reg_2_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108694.4]
  wire  reg_2_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108694.4]
  wire  reg_2_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108694.4]
  wire  reg_3_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108700.4]
  wire  reg_3_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108700.4]
  wire  reg_3_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108700.4]
  wire  reg_3_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108700.4]
  wire  reg_3_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108700.4]
  wire  reg_4_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108706.4]
  wire  reg_4_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108706.4]
  wire  reg_4_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108706.4]
  wire  reg_4_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108706.4]
  wire  reg_4_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108706.4]
  wire  reg_5_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108712.4]
  wire  reg_5_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108712.4]
  wire  reg_5_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108712.4]
  wire  reg_5_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108712.4]
  wire  reg_5_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108712.4]
  wire  reg_6_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108718.4]
  wire  reg_6_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108718.4]
  wire  reg_6_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108718.4]
  wire  reg_6_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108718.4]
  wire  reg_6_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108718.4]
  wire  reg_7_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108724.4]
  wire  reg_7_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108724.4]
  wire  reg_7_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108724.4]
  wire  reg_7_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108724.4]
  wire  reg_7_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108724.4]
  wire  reg_8_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108730.4]
  wire  reg_8_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108730.4]
  wire  reg_8_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108730.4]
  wire  reg_8_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108730.4]
  wire  reg_8_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108730.4]
  wire  reg_9_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108736.4]
  wire  reg_9_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108736.4]
  wire  reg_9_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108736.4]
  wire  reg_9_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108736.4]
  wire  reg_9_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108736.4]
  wire  reg_10_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108742.4]
  wire  reg_10_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108742.4]
  wire  reg_10_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108742.4]
  wire  reg_10_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108742.4]
  wire  reg_10_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108742.4]
  wire  reg_11_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108748.4]
  wire  reg_11_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108748.4]
  wire  reg_11_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108748.4]
  wire  reg_11_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108748.4]
  wire  reg_11_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108748.4]
  wire  reg_12_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108754.4]
  wire  reg_12_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108754.4]
  wire  reg_12_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108754.4]
  wire  reg_12_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108754.4]
  wire  reg_12_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108754.4]
  wire  reg_13_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108760.4]
  wire  reg_13_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108760.4]
  wire  reg_13_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108760.4]
  wire  reg_13_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108760.4]
  wire  reg_13_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108760.4]
  wire  reg_14_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108766.4]
  wire  reg_14_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108766.4]
  wire  reg_14_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108766.4]
  wire  reg_14_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108766.4]
  wire  reg_14_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108766.4]
  wire  reg_15_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108772.4]
  wire  reg_15_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108772.4]
  wire  reg_15_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108772.4]
  wire  reg_15_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108772.4]
  wire  reg_15_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108772.4]
  wire  reg_16_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108778.4]
  wire  reg_16_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108778.4]
  wire  reg_16_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108778.4]
  wire  reg_16_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108778.4]
  wire  reg_16_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108778.4]
  wire  reg_17_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108784.4]
  wire  reg_17_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108784.4]
  wire  reg_17_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108784.4]
  wire  reg_17_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108784.4]
  wire  reg_17_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108784.4]
  wire  reg_18_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108790.4]
  wire  reg_18_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108790.4]
  wire  reg_18_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108790.4]
  wire  reg_18_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108790.4]
  wire  reg_18_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108790.4]
  wire  reg_19_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108796.4]
  wire  reg_19_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108796.4]
  wire  reg_19_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108796.4]
  wire  reg_19_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108796.4]
  wire  reg_19_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108796.4]
  wire  reg_20_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108802.4]
  wire  reg_20_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108802.4]
  wire  reg_20_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108802.4]
  wire  reg_20_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108802.4]
  wire  reg_20_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108802.4]
  wire  reg_21_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108808.4]
  wire  reg_21_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108808.4]
  wire  reg_21_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108808.4]
  wire  reg_21_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108808.4]
  wire  reg_21_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108808.4]
  wire  reg_22_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108814.4]
  wire  reg_22_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108814.4]
  wire  reg_22_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108814.4]
  wire  reg_22_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108814.4]
  wire  reg_22_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108814.4]
  wire  reg_23_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108820.4]
  wire  reg_23_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108820.4]
  wire  reg_23_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108820.4]
  wire  reg_23_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108820.4]
  wire  reg_23_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108820.4]
  wire  reg_24_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108826.4]
  wire  reg_24_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108826.4]
  wire  reg_24_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108826.4]
  wire  reg_24_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108826.4]
  wire  reg_24_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108826.4]
  wire  reg_25_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108832.4]
  wire  reg_25_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108832.4]
  wire  reg_25_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108832.4]
  wire  reg_25_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108832.4]
  wire  reg_25_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108832.4]
  wire  reg_26_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108838.4]
  wire  reg_26_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108838.4]
  wire  reg_26_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108838.4]
  wire  reg_26_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108838.4]
  wire  reg_26_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108838.4]
  wire  reg_27_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108844.4]
  wire  reg_27_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108844.4]
  wire  reg_27_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108844.4]
  wire  reg_27_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108844.4]
  wire  reg_27_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108844.4]
  wire  reg_28_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108850.4]
  wire  reg_28_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108850.4]
  wire  reg_28_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108850.4]
  wire  reg_28_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108850.4]
  wire  reg_28_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108850.4]
  wire  reg_29_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108856.4]
  wire  reg_29_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108856.4]
  wire  reg_29_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108856.4]
  wire  reg_29_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108856.4]
  wire  reg_29_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108856.4]
  wire  reg_30_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108862.4]
  wire  reg_30_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108862.4]
  wire  reg_30_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108862.4]
  wire  reg_30_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108862.4]
  wire  reg_30_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108862.4]
  wire  reg_31_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108868.4]
  wire  reg_31_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108868.4]
  wire  reg_31_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108868.4]
  wire  reg_31_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108868.4]
  wire  reg_31_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108868.4]
  wire [1:0] _T_39; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109034.4]
  wire [1:0] _T_40; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109035.4]
  wire [3:0] _T_41; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109036.4]
  wire [1:0] _T_42; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109037.4]
  wire [1:0] _T_43; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109038.4]
  wire [3:0] _T_44; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109039.4]
  wire [7:0] _T_45; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109040.4]
  wire [1:0] _T_46; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109041.4]
  wire [1:0] _T_47; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109042.4]
  wire [3:0] _T_48; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109043.4]
  wire [1:0] _T_49; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109044.4]
  wire [1:0] _T_50; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109045.4]
  wire [3:0] _T_51; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109046.4]
  wire [7:0] _T_52; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109047.4]
  wire [15:0] _T_53; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109048.4]
  wire [1:0] _T_54; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109049.4]
  wire [1:0] _T_55; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109050.4]
  wire [3:0] _T_56; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109051.4]
  wire [1:0] _T_57; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109052.4]
  wire [1:0] _T_58; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109053.4]
  wire [3:0] _T_59; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109054.4]
  wire [7:0] _T_60; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109055.4]
  wire [1:0] _T_61; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109056.4]
  wire [1:0] _T_62; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109057.4]
  wire [3:0] _T_63; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109058.4]
  wire [1:0] _T_64; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109059.4]
  wire [1:0] _T_65; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109060.4]
  wire [3:0] _T_66; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109061.4]
  wire [7:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109062.4]
  wire [15:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109063.4]
  AsyncResetReg #(.RESET_VALUE(0)) reg_0 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108682.4]
    .rst(reg_0_rst),
    .clk(reg_0_clk),
    .en(reg_0_en),
    .q(reg_0_q),
    .d(reg_0_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_1 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108688.4]
    .rst(reg_1_rst),
    .clk(reg_1_clk),
    .en(reg_1_en),
    .q(reg_1_q),
    .d(reg_1_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_2 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108694.4]
    .rst(reg_2_rst),
    .clk(reg_2_clk),
    .en(reg_2_en),
    .q(reg_2_q),
    .d(reg_2_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_3 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108700.4]
    .rst(reg_3_rst),
    .clk(reg_3_clk),
    .en(reg_3_en),
    .q(reg_3_q),
    .d(reg_3_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_4 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108706.4]
    .rst(reg_4_rst),
    .clk(reg_4_clk),
    .en(reg_4_en),
    .q(reg_4_q),
    .d(reg_4_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_5 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108712.4]
    .rst(reg_5_rst),
    .clk(reg_5_clk),
    .en(reg_5_en),
    .q(reg_5_q),
    .d(reg_5_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_6 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108718.4]
    .rst(reg_6_rst),
    .clk(reg_6_clk),
    .en(reg_6_en),
    .q(reg_6_q),
    .d(reg_6_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_7 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108724.4]
    .rst(reg_7_rst),
    .clk(reg_7_clk),
    .en(reg_7_en),
    .q(reg_7_q),
    .d(reg_7_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_8 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108730.4]
    .rst(reg_8_rst),
    .clk(reg_8_clk),
    .en(reg_8_en),
    .q(reg_8_q),
    .d(reg_8_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_9 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108736.4]
    .rst(reg_9_rst),
    .clk(reg_9_clk),
    .en(reg_9_en),
    .q(reg_9_q),
    .d(reg_9_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_10 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108742.4]
    .rst(reg_10_rst),
    .clk(reg_10_clk),
    .en(reg_10_en),
    .q(reg_10_q),
    .d(reg_10_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_11 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108748.4]
    .rst(reg_11_rst),
    .clk(reg_11_clk),
    .en(reg_11_en),
    .q(reg_11_q),
    .d(reg_11_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_12 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108754.4]
    .rst(reg_12_rst),
    .clk(reg_12_clk),
    .en(reg_12_en),
    .q(reg_12_q),
    .d(reg_12_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_13 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108760.4]
    .rst(reg_13_rst),
    .clk(reg_13_clk),
    .en(reg_13_en),
    .q(reg_13_q),
    .d(reg_13_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_14 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108766.4]
    .rst(reg_14_rst),
    .clk(reg_14_clk),
    .en(reg_14_en),
    .q(reg_14_q),
    .d(reg_14_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_15 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108772.4]
    .rst(reg_15_rst),
    .clk(reg_15_clk),
    .en(reg_15_en),
    .q(reg_15_q),
    .d(reg_15_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_16 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108778.4]
    .rst(reg_16_rst),
    .clk(reg_16_clk),
    .en(reg_16_en),
    .q(reg_16_q),
    .d(reg_16_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_17 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108784.4]
    .rst(reg_17_rst),
    .clk(reg_17_clk),
    .en(reg_17_en),
    .q(reg_17_q),
    .d(reg_17_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_18 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108790.4]
    .rst(reg_18_rst),
    .clk(reg_18_clk),
    .en(reg_18_en),
    .q(reg_18_q),
    .d(reg_18_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_19 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108796.4]
    .rst(reg_19_rst),
    .clk(reg_19_clk),
    .en(reg_19_en),
    .q(reg_19_q),
    .d(reg_19_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_20 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108802.4]
    .rst(reg_20_rst),
    .clk(reg_20_clk),
    .en(reg_20_en),
    .q(reg_20_q),
    .d(reg_20_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_21 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108808.4]
    .rst(reg_21_rst),
    .clk(reg_21_clk),
    .en(reg_21_en),
    .q(reg_21_q),
    .d(reg_21_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_22 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108814.4]
    .rst(reg_22_rst),
    .clk(reg_22_clk),
    .en(reg_22_en),
    .q(reg_22_q),
    .d(reg_22_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_23 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108820.4]
    .rst(reg_23_rst),
    .clk(reg_23_clk),
    .en(reg_23_en),
    .q(reg_23_q),
    .d(reg_23_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_24 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108826.4]
    .rst(reg_24_rst),
    .clk(reg_24_clk),
    .en(reg_24_en),
    .q(reg_24_q),
    .d(reg_24_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_25 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108832.4]
    .rst(reg_25_rst),
    .clk(reg_25_clk),
    .en(reg_25_en),
    .q(reg_25_q),
    .d(reg_25_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_26 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108838.4]
    .rst(reg_26_rst),
    .clk(reg_26_clk),
    .en(reg_26_en),
    .q(reg_26_q),
    .d(reg_26_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_27 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108844.4]
    .rst(reg_27_rst),
    .clk(reg_27_clk),
    .en(reg_27_en),
    .q(reg_27_q),
    .d(reg_27_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_28 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108850.4]
    .rst(reg_28_rst),
    .clk(reg_28_clk),
    .en(reg_28_en),
    .q(reg_28_q),
    .d(reg_28_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_29 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108856.4]
    .rst(reg_29_rst),
    .clk(reg_29_clk),
    .en(reg_29_en),
    .q(reg_29_q),
    .d(reg_29_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_30 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108862.4]
    .rst(reg_30_rst),
    .clk(reg_30_clk),
    .en(reg_30_en),
    .q(reg_30_q),
    .d(reg_30_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_31 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@108868.4]
    .rst(reg_31_rst),
    .clk(reg_31_clk),
    .en(reg_31_en),
    .q(reg_31_q),
    .d(reg_31_d)
  );
  assign _T_39 = {reg_1_q,reg_0_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109034.4]
  assign _T_40 = {reg_3_q,reg_2_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109035.4]
  assign _T_41 = {_T_40,_T_39}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109036.4]
  assign _T_42 = {reg_5_q,reg_4_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109037.4]
  assign _T_43 = {reg_7_q,reg_6_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109038.4]
  assign _T_44 = {_T_43,_T_42}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109039.4]
  assign _T_45 = {_T_44,_T_41}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109040.4]
  assign _T_46 = {reg_9_q,reg_8_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109041.4]
  assign _T_47 = {reg_11_q,reg_10_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109042.4]
  assign _T_48 = {_T_47,_T_46}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109043.4]
  assign _T_49 = {reg_13_q,reg_12_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109044.4]
  assign _T_50 = {reg_15_q,reg_14_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109045.4]
  assign _T_51 = {_T_50,_T_49}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109046.4]
  assign _T_52 = {_T_51,_T_48}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109047.4]
  assign _T_53 = {_T_52,_T_45}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109048.4]
  assign _T_54 = {reg_17_q,reg_16_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109049.4]
  assign _T_55 = {reg_19_q,reg_18_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109050.4]
  assign _T_56 = {_T_55,_T_54}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109051.4]
  assign _T_57 = {reg_21_q,reg_20_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109052.4]
  assign _T_58 = {reg_23_q,reg_22_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109053.4]
  assign _T_59 = {_T_58,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109054.4]
  assign _T_60 = {_T_59,_T_56}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109055.4]
  assign _T_61 = {reg_25_q,reg_24_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109056.4]
  assign _T_62 = {reg_27_q,reg_26_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109057.4]
  assign _T_63 = {_T_62,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109058.4]
  assign _T_64 = {reg_29_q,reg_28_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109059.4]
  assign _T_65 = {reg_31_q,reg_30_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109060.4]
  assign _T_66 = {_T_65,_T_64}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109061.4]
  assign _T_67 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109062.4]
  assign _T_68 = {_T_67,_T_60}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109063.4]
  assign io_q = {_T_68,_T_53}; // @[AsyncResetReg.scala 73:8:shc.marmotcaravel.MarmotCaravelConfig.fir@109065.4]
  assign reg_0_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108875.4]
  assign reg_0_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108874.4]
  assign reg_0_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108878.4]
  assign reg_0_d = io_d[0]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108877.4]
  assign reg_1_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108880.4]
  assign reg_1_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108879.4]
  assign reg_1_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108883.4]
  assign reg_1_d = io_d[1]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108882.4]
  assign reg_2_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108885.4]
  assign reg_2_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108884.4]
  assign reg_2_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108888.4]
  assign reg_2_d = io_d[2]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108887.4]
  assign reg_3_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108890.4]
  assign reg_3_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108889.4]
  assign reg_3_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108893.4]
  assign reg_3_d = io_d[3]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108892.4]
  assign reg_4_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108895.4]
  assign reg_4_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108894.4]
  assign reg_4_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108898.4]
  assign reg_4_d = io_d[4]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108897.4]
  assign reg_5_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108900.4]
  assign reg_5_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108899.4]
  assign reg_5_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108903.4]
  assign reg_5_d = io_d[5]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108902.4]
  assign reg_6_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108905.4]
  assign reg_6_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108904.4]
  assign reg_6_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108908.4]
  assign reg_6_d = io_d[6]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108907.4]
  assign reg_7_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108910.4]
  assign reg_7_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108909.4]
  assign reg_7_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108913.4]
  assign reg_7_d = io_d[7]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108912.4]
  assign reg_8_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108915.4]
  assign reg_8_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108914.4]
  assign reg_8_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108918.4]
  assign reg_8_d = io_d[8]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108917.4]
  assign reg_9_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108920.4]
  assign reg_9_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108919.4]
  assign reg_9_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108923.4]
  assign reg_9_d = io_d[9]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108922.4]
  assign reg_10_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108925.4]
  assign reg_10_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108924.4]
  assign reg_10_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108928.4]
  assign reg_10_d = io_d[10]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108927.4]
  assign reg_11_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108930.4]
  assign reg_11_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108929.4]
  assign reg_11_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108933.4]
  assign reg_11_d = io_d[11]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108932.4]
  assign reg_12_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108935.4]
  assign reg_12_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108934.4]
  assign reg_12_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108938.4]
  assign reg_12_d = io_d[12]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108937.4]
  assign reg_13_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108940.4]
  assign reg_13_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108939.4]
  assign reg_13_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108943.4]
  assign reg_13_d = io_d[13]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108942.4]
  assign reg_14_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108945.4]
  assign reg_14_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108944.4]
  assign reg_14_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108948.4]
  assign reg_14_d = io_d[14]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108947.4]
  assign reg_15_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108950.4]
  assign reg_15_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108949.4]
  assign reg_15_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108953.4]
  assign reg_15_d = io_d[15]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108952.4]
  assign reg_16_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108955.4]
  assign reg_16_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108954.4]
  assign reg_16_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108958.4]
  assign reg_16_d = io_d[16]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108957.4]
  assign reg_17_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108960.4]
  assign reg_17_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108959.4]
  assign reg_17_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108963.4]
  assign reg_17_d = io_d[17]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108962.4]
  assign reg_18_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108965.4]
  assign reg_18_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108964.4]
  assign reg_18_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108968.4]
  assign reg_18_d = io_d[18]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108967.4]
  assign reg_19_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108970.4]
  assign reg_19_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108969.4]
  assign reg_19_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108973.4]
  assign reg_19_d = io_d[19]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108972.4]
  assign reg_20_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108975.4]
  assign reg_20_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108974.4]
  assign reg_20_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108978.4]
  assign reg_20_d = io_d[20]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108977.4]
  assign reg_21_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108980.4]
  assign reg_21_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108979.4]
  assign reg_21_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108983.4]
  assign reg_21_d = io_d[21]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108982.4]
  assign reg_22_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108985.4]
  assign reg_22_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108984.4]
  assign reg_22_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108988.4]
  assign reg_22_d = io_d[22]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108987.4]
  assign reg_23_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108990.4]
  assign reg_23_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108989.4]
  assign reg_23_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108993.4]
  assign reg_23_d = io_d[23]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108992.4]
  assign reg_24_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108995.4]
  assign reg_24_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108994.4]
  assign reg_24_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108998.4]
  assign reg_24_d = io_d[24]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108997.4]
  assign reg_25_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109000.4]
  assign reg_25_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@108999.4]
  assign reg_25_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109003.4]
  assign reg_25_d = io_d[25]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109002.4]
  assign reg_26_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109005.4]
  assign reg_26_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109004.4]
  assign reg_26_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109008.4]
  assign reg_26_d = io_d[26]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109007.4]
  assign reg_27_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109010.4]
  assign reg_27_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109009.4]
  assign reg_27_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109013.4]
  assign reg_27_d = io_d[27]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109012.4]
  assign reg_28_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109015.4]
  assign reg_28_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109014.4]
  assign reg_28_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109018.4]
  assign reg_28_d = io_d[28]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109017.4]
  assign reg_29_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109020.4]
  assign reg_29_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109019.4]
  assign reg_29_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109023.4]
  assign reg_29_d = io_d[29]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109022.4]
  assign reg_30_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109025.4]
  assign reg_30_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109024.4]
  assign reg_30_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109028.4]
  assign reg_30_d = io_d[30]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109027.4]
  assign reg_31_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109030.4]
  assign reg_31_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109029.4]
  assign reg_31_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109033.4]
  assign reg_31_d = io_d[31]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109032.4]
endmodule
module TLDebugModuleOuter( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109098.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109099.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109100.4]
  output        auto_dmi_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109101.4]
  input         auto_dmi_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109101.4]
  input  [2:0]  auto_dmi_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109101.4]
  input  [6:0]  auto_dmi_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109101.4]
  input  [3:0]  auto_dmi_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109101.4]
  input  [31:0] auto_dmi_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109101.4]
  input         auto_dmi_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109101.4]
  output        auto_dmi_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109101.4]
  output [2:0]  auto_dmi_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109101.4]
  output [31:0] auto_dmi_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109101.4]
  output        auto_int_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109101.4]
  output        io_ctrl_ndreset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109102.4]
  output        io_ctrl_dmactive, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109102.4]
  output        io_innerCtrl_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109102.4]
  output        io_innerCtrl_bits_resumereq, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109102.4]
  output [9:0]  io_innerCtrl_bits_hartsel, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109102.4]
  output        io_innerCtrl_bits_ackhavereset // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109102.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109112.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109112.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109112.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109112.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109112.4]
  wire [6:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109112.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109112.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109112.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109112.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109112.4]
  wire  DMCONTROL_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109221.4]
  wire  DMCONTROL_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109221.4]
  wire [31:0] DMCONTROL_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109221.4]
  wire [31:0] DMCONTROL_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109221.4]
  wire  DMCONTROL_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109221.4]
  wire  debugInterrupts_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109532.4]
  wire  debugInterrupts_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109532.4]
  wire  debugInterrupts_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109532.4]
  wire  debugInterrupts_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109532.4]
  wire  debugInterrupts_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109532.4]
  wire [31:0] _T_244; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109229.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@109231.4]
  wire  DMCONTROLReg_dmactive; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109232.4]
  wire  _T_276; // @[Debug.scala 273:11:shc.marmotcaravel.MarmotCaravelConfig.fir@109297.4]
  wire  _T_294; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@109325.4]
  wire [4:0] _T_295; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@109327.4]
  wire  _T_291_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@109323.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109328.4]
  wire  _T_314; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109341.4]
  wire  _T_460; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109463.4]
  wire  _T_461; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109464.4]
  wire  _T_462; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109465.4]
  wire [1:0] _T_402; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@109414.4]
  wire  _T_403; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109415.4]
  wire  _T_465; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109468.4]
  wire  _T_466; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109469.4]
  wire  _T_362; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109369.4]
  wire [7:0] _T_370; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109377.4]
  wire  _T_361; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109368.4]
  wire [7:0] _T_368; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109375.4]
  wire [15:0] _T_372; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109379.4]
  wire  _T_360; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109367.4]
  wire [7:0] _T_366; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109373.4]
  wire  _T_359; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109366.4]
  wire [7:0] _T_364; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109371.4]
  wire [15:0] _T_371; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109378.4]
  wire [31:0] _T_373; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109380.4]
  wire [31:0] _T_382; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109389.4]
  wire  _T_383; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109390.4]
  wire  DMCONTROLWrEn; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109394.4]
  wire [31:0] DMCONTROLWrDataVal; // @[Debug.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109398.4]
  wire  DMCONTROLWrData_ndmreset; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@109270.4]
  wire  DMCONTROLReg_ndmreset; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109234.4]
  wire  _GEN_0; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109302.6]
  wire  DMCONTROLNxt_ndmreset; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
  wire  DMCONTROLWrData_dmactive; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@109268.4]
  wire  _GEN_15; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
  wire  DMCONTROLNxt_dmactive; // @[Debug.scala 286:26:shc.marmotcaravel.MarmotCaravelConfig.fir@109310.4]
  wire [1:0] _T_231; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109211.4]
  wire [9:0] DMCONTROLWrData_hartsello; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@109276.4]
  wire [9:0] DMCONTROLReg_hartsello; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109240.4]
  wire [9:0] _GEN_1; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109302.6]
  wire [9:0] DMCONTROLNxt_hartsello; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
  wire [9:0] DMCONTROLReg_hartselhi; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109238.4]
  wire [9:0] DMCONTROLNxt_hartselhi; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
  wire [19:0] _T_232; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109212.4]
  wire [3:0] DMCONTROLReg_reserved1; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109236.4]
  wire [3:0] DMCONTROLNxt_reserved1; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
  wire [23:0] _T_233; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109213.4]
  wire [25:0] _T_234; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109214.4]
  wire  DMCONTROLWrData_ackhavereset; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@109282.4]
  wire  DMCONTROLReg_ackhavereset; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109246.4]
  wire  _GEN_4; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109302.6]
  wire  DMCONTROLNxt_ackhavereset; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
  wire  DMCONTROLReg_reserved0; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109244.4]
  wire  DMCONTROLNxt_reserved0; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
  wire [1:0] _T_235; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109215.4]
  wire  DMCONTROLReg_hasel; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109242.4]
  wire  DMCONTROLNxt_hasel; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
  wire [2:0] _T_236; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109216.4]
  wire  DMCONTROLWrData_haltreq; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@109288.4]
  wire  DMCONTROLReg_haltreq; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109252.4]
  wire  _GEN_2; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109302.6]
  wire  DMCONTROLNxt_haltreq; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
  wire  DMCONTROLWrData_resumereq; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@109286.4]
  wire  DMCONTROLReg_resumereq; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109250.4]
  wire  _GEN_3; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109302.6]
  wire  DMCONTROLNxt_resumereq; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
  wire [1:0] _T_237; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109217.4]
  wire  DMCONTROLReg_hartreset; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109248.4]
  wire  DMCONTROLNxt_hartreset; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
  wire [2:0] _T_238; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109218.4]
  wire [5:0] _T_239; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109219.4]
  wire [1:0] _T_277; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109313.4]
  wire [19:0] _T_278; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109314.4]
  wire [23:0] _T_279; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109315.4]
  wire [25:0] _T_280; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109316.4]
  wire [1:0] _T_281; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109317.4]
  wire [2:0] _T_282; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109318.4]
  wire [1:0] _T_283; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109319.4]
  wire [2:0] _T_284; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109320.4]
  wire [5:0] _T_285; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109321.4]
  wire [31:0] _T_286; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109322.4]
  wire  debugIntRegs_0; // @[Debug.scala 304:33:shc.marmotcaravel.MarmotCaravelConfig.fir@109538.4]
  wire  _T_553; // @[Debug.scala 325:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109552.6]
  wire  _T_554; // @[Debug.scala 325:29:shc.marmotcaravel.MarmotCaravelConfig.fir@109553.6]
  wire  _GEN_18; // @[Debug.scala 325:75:shc.marmotcaravel.MarmotCaravelConfig.fir@109554.6]
  TLMonitor_49 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109112.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode)
  );
  AsyncResetRegVec_w32_i0 DMCONTROL ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109221.4]
    .clock(DMCONTROL_clock),
    .reset(DMCONTROL_reset),
    .io_d(DMCONTROL_io_d),
    .io_q(DMCONTROL_io_q),
    .io_en(DMCONTROL_io_en)
  );
  AsyncResetRegVec_w1_i0 debugInterrupts ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109532.4]
    .clock(debugInterrupts_clock),
    .reset(debugInterrupts_reset),
    .io_d(debugInterrupts_io_d),
    .io_q(debugInterrupts_io_q),
    .io_en(debugInterrupts_io_en)
  );
  assign _T_244 = DMCONTROL_io_q; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109229.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@109231.4]
  assign DMCONTROLReg_dmactive = _T_244[0]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109232.4]
  assign _T_276 = ~ DMCONTROLReg_dmactive; // @[Debug.scala 273:11:shc.marmotcaravel.MarmotCaravelConfig.fir@109297.4]
  assign _T_294 = auto_dmi_in_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@109325.4]
  assign _T_295 = auto_dmi_in_a_bits_address[6:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@109327.4]
  assign _T_291_bits_index = _T_295[0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@109323.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109328.4]
  assign _T_314 = _T_291_bits_index == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109341.4]
  assign _T_460 = auto_dmi_in_a_valid & auto_dmi_in_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109463.4]
  assign _T_461 = _T_294 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109464.4]
  assign _T_462 = _T_460 & _T_461; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109465.4]
  assign _T_402 = 2'h1 << 1'h0; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@109414.4]
  assign _T_403 = _T_402[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109415.4]
  assign _T_465 = _T_462 & _T_403; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109468.4]
  assign _T_466 = _T_465 & _T_314; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109469.4]
  assign _T_362 = auto_dmi_in_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109369.4]
  assign _T_370 = _T_362 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109377.4]
  assign _T_361 = auto_dmi_in_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109368.4]
  assign _T_368 = _T_361 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109375.4]
  assign _T_372 = {_T_370,_T_368}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109379.4]
  assign _T_360 = auto_dmi_in_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109367.4]
  assign _T_366 = _T_360 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109373.4]
  assign _T_359 = auto_dmi_in_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109366.4]
  assign _T_364 = _T_359 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109371.4]
  assign _T_371 = {_T_366,_T_364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109378.4]
  assign _T_373 = {_T_372,_T_371}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109380.4]
  assign _T_382 = ~ _T_373; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109389.4]
  assign _T_383 = _T_382 == 32'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109390.4]
  assign DMCONTROLWrEn = _T_466 & _T_383; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109394.4]
  assign DMCONTROLWrDataVal = DMCONTROLWrEn ? auto_dmi_in_a_bits_data : 32'h0; // @[Debug.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109398.4]
  assign DMCONTROLWrData_ndmreset = DMCONTROLWrDataVal[1]; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@109270.4]
  assign DMCONTROLReg_ndmreset = _T_244[1]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109234.4]
  assign _GEN_0 = DMCONTROLWrEn ? DMCONTROLWrData_ndmreset : DMCONTROLReg_ndmreset; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109302.6]
  assign DMCONTROLNxt_ndmreset = _T_276 ? 1'h0 : _GEN_0; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
  assign DMCONTROLWrData_dmactive = DMCONTROLWrDataVal[0]; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@109268.4]
  assign _GEN_15 = _T_276 ? 1'h0 : DMCONTROLReg_dmactive; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
  assign DMCONTROLNxt_dmactive = DMCONTROLWrEn ? DMCONTROLWrData_dmactive : _GEN_15; // @[Debug.scala 286:26:shc.marmotcaravel.MarmotCaravelConfig.fir@109310.4]
  assign _T_231 = {DMCONTROLNxt_ndmreset,DMCONTROLNxt_dmactive}; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109211.4]
  assign DMCONTROLWrData_hartsello = DMCONTROLWrDataVal[25:16]; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@109276.4]
  assign DMCONTROLReg_hartsello = _T_244[25:16]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109240.4]
  assign _GEN_1 = DMCONTROLWrEn ? DMCONTROLWrData_hartsello : DMCONTROLReg_hartsello; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109302.6]
  assign DMCONTROLNxt_hartsello = _T_276 ? 10'h0 : _GEN_1; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
  assign DMCONTROLReg_hartselhi = _T_244[15:6]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109238.4]
  assign DMCONTROLNxt_hartselhi = _T_276 ? 10'h0 : DMCONTROLReg_hartselhi; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
  assign _T_232 = {DMCONTROLNxt_hartsello,DMCONTROLNxt_hartselhi}; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109212.4]
  assign DMCONTROLReg_reserved1 = _T_244[5:2]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109236.4]
  assign DMCONTROLNxt_reserved1 = _T_276 ? 4'h0 : DMCONTROLReg_reserved1; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
  assign _T_233 = {_T_232,DMCONTROLNxt_reserved1}; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109213.4]
  assign _T_234 = {_T_233,_T_231}; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109214.4]
  assign DMCONTROLWrData_ackhavereset = DMCONTROLWrDataVal[28]; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@109282.4]
  assign DMCONTROLReg_ackhavereset = _T_244[28]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109246.4]
  assign _GEN_4 = DMCONTROLWrEn ? DMCONTROLWrData_ackhavereset : DMCONTROLReg_ackhavereset; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109302.6]
  assign DMCONTROLNxt_ackhavereset = _T_276 ? 1'h0 : _GEN_4; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
  assign DMCONTROLReg_reserved0 = _T_244[27]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109244.4]
  assign DMCONTROLNxt_reserved0 = _T_276 ? 1'h0 : DMCONTROLReg_reserved0; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
  assign _T_235 = {DMCONTROLNxt_ackhavereset,DMCONTROLNxt_reserved0}; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109215.4]
  assign DMCONTROLReg_hasel = _T_244[26]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109242.4]
  assign DMCONTROLNxt_hasel = _T_276 ? 1'h0 : DMCONTROLReg_hasel; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
  assign _T_236 = {_T_235,DMCONTROLNxt_hasel}; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109216.4]
  assign DMCONTROLWrData_haltreq = DMCONTROLWrDataVal[31]; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@109288.4]
  assign DMCONTROLReg_haltreq = _T_244[31]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109252.4]
  assign _GEN_2 = DMCONTROLWrEn ? DMCONTROLWrData_haltreq : DMCONTROLReg_haltreq; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109302.6]
  assign DMCONTROLNxt_haltreq = _T_276 ? 1'h0 : _GEN_2; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
  assign DMCONTROLWrData_resumereq = DMCONTROLWrDataVal[30]; // @[Debug.scala 266:59:shc.marmotcaravel.MarmotCaravelConfig.fir@109286.4]
  assign DMCONTROLReg_resumereq = _T_244[30]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109250.4]
  assign _GEN_3 = DMCONTROLWrEn ? DMCONTROLWrData_resumereq : DMCONTROLReg_resumereq; // @[Debug.scala 276:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109302.6]
  assign DMCONTROLNxt_resumereq = _T_276 ? 1'h0 : _GEN_3; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
  assign _T_237 = {DMCONTROLNxt_haltreq,DMCONTROLNxt_resumereq}; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109217.4]
  assign DMCONTROLReg_hartreset = _T_244[29]; // @[Debug.scala 257:66:shc.marmotcaravel.MarmotCaravelConfig.fir@109248.4]
  assign DMCONTROLNxt_hartreset = _T_276 ? 1'h0 : DMCONTROLReg_hartreset; // @[Debug.scala 273:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109298.4]
  assign _T_238 = {_T_237,DMCONTROLNxt_hartreset}; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109218.4]
  assign _T_239 = {_T_238,_T_236}; // @[Debug.scala 257:107:shc.marmotcaravel.MarmotCaravelConfig.fir@109219.4]
  assign _T_277 = {DMCONTROLReg_ndmreset,DMCONTROLReg_dmactive}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109313.4]
  assign _T_278 = {DMCONTROLReg_hartsello,DMCONTROLReg_hartselhi}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109314.4]
  assign _T_279 = {_T_278,DMCONTROLReg_reserved1}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109315.4]
  assign _T_280 = {_T_279,_T_277}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109316.4]
  assign _T_281 = {DMCONTROLReg_ackhavereset,DMCONTROLReg_reserved0}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109317.4]
  assign _T_282 = {_T_281,DMCONTROLReg_hasel}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109318.4]
  assign _T_283 = {DMCONTROLReg_haltreq,DMCONTROLReg_resumereq}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109319.4]
  assign _T_284 = {_T_283,DMCONTROLReg_hartreset}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109320.4]
  assign _T_285 = {_T_284,_T_282}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109321.4]
  assign _T_286 = {_T_285,_T_280}; // @[Debug.scala 292:51:shc.marmotcaravel.MarmotCaravelConfig.fir@109322.4]
  assign debugIntRegs_0 = debugInterrupts_io_q; // @[Debug.scala 304:33:shc.marmotcaravel.MarmotCaravelConfig.fir@109538.4]
  assign _T_553 = DMCONTROLWrData_hartsello == 10'h0; // @[Debug.scala 325:58:shc.marmotcaravel.MarmotCaravelConfig.fir@109552.6]
  assign _T_554 = DMCONTROLWrEn & _T_553; // @[Debug.scala 325:29:shc.marmotcaravel.MarmotCaravelConfig.fir@109553.6]
  assign _GEN_18 = _T_554 ? DMCONTROLWrData_haltreq : debugIntRegs_0; // @[Debug.scala 325:75:shc.marmotcaravel.MarmotCaravelConfig.fir@109554.6]
  assign auto_dmi_in_a_ready = auto_dmi_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109150.4]
  assign auto_dmi_in_d_valid = auto_dmi_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109150.4]
  assign auto_dmi_in_d_bits_opcode = {{2'd0}, _T_294}; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109150.4]
  assign auto_dmi_in_d_bits_data = _T_314 ? _T_286 : 32'h0; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109150.4]
  assign auto_int_out_0 = debugInterrupts_io_q; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109149.4]
  assign io_ctrl_ndreset = _T_244[1]; // @[Debug.scala 336:21:shc.marmotcaravel.MarmotCaravelConfig.fir@109562.4]
  assign io_ctrl_dmactive = _T_244[0]; // @[Debug.scala 337:22:shc.marmotcaravel.MarmotCaravelConfig.fir@109563.4]
  assign io_innerCtrl_valid = _T_466 & _T_383; // @[Debug.scala 331:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109558.4]
  assign io_innerCtrl_bits_resumereq = DMCONTROLWrDataVal[30]; // @[Debug.scala 333:36:shc.marmotcaravel.MarmotCaravelConfig.fir@109560.4]
  assign io_innerCtrl_bits_hartsel = DMCONTROLWrDataVal[25:16]; // @[Debug.scala 332:36:shc.marmotcaravel.MarmotCaravelConfig.fir@109559.4]
  assign io_innerCtrl_bits_ackhavereset = DMCONTROLWrDataVal[28]; // @[Debug.scala 334:36:shc.marmotcaravel.MarmotCaravelConfig.fir@109561.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109114.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109115.4]
  assign TLMonitor_io_in_a_ready = auto_dmi_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109148.4]
  assign TLMonitor_io_in_a_valid = auto_dmi_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109148.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_dmi_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109148.4]
  assign TLMonitor_io_in_a_bits_address = auto_dmi_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109148.4]
  assign TLMonitor_io_in_a_bits_mask = auto_dmi_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109148.4]
  assign TLMonitor_io_in_d_ready = auto_dmi_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109148.4]
  assign TLMonitor_io_in_d_valid = auto_dmi_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109148.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_294}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@109148.4]
  assign DMCONTROL_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109223.4]
  assign DMCONTROL_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109224.4]
  assign DMCONTROL_io_d = {_T_239,_T_234}; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109225.4]
  assign DMCONTROL_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@109226.4]
  assign debugInterrupts_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109534.4]
  assign debugInterrupts_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109535.4]
  assign debugInterrupts_io_d = _T_276 ? 1'h0 : _GEN_18; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109536.4]
  assign debugInterrupts_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@109537.4]
endmodule
module IntSyncCrossingSource( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109565.2]
  input   auto_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109568.4]
  output  auto_out_sync_0 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109568.4]
);
  assign auto_out_sync_0 = auto_in_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109577.4]
endmodule
module TLMonitor_50( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109588.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109589.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109590.4]
  input        io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
  input        io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
  input  [2:0] io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
  input  [8:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
  input  [3:0] io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
  input        io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
  input        io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
  input  [2:0] io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
  input  [1:0] io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
  input  [1:0] io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
  input        io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
  input        io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
  input        io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
  input        io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@109591.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@110996.4]
  wire [4:0] _T_29; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@109611.6]
  wire [1:0] _T_30; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@109612.6]
  wire [1:0] _T_31; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@109613.6]
  wire [8:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109614.6]
  wire [8:0] _T_32; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109614.6]
  wire  _T_33; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109615.6]
  wire [1:0] _T_36; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109618.6]
  wire [9:0] _T_70; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109652.6]
  wire  _T_78; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109664.6]
  wire [9:0] _T_82; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109669.8]
  wire [9:0] _T_83; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109670.8]
  wire  _T_84; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109671.8]
  wire [8:0] _T_85; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109672.8]
  wire [9:0] _T_86; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109673.8]
  wire [9:0] _T_87; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109674.8]
  wire [9:0] _T_88; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109675.8]
  wire  _T_89; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109676.8]
  wire [8:0] _T_90; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109677.8]
  wire [9:0] _T_91; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109678.8]
  wire [9:0] _T_92; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109679.8]
  wire [9:0] _T_93; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109680.8]
  wire  _T_94; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109681.8]
  wire [8:0] _T_95; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109682.8]
  wire [9:0] _T_96; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109683.8]
  wire [9:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109684.8]
  wire [9:0] _T_98; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109685.8]
  wire  _T_99; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109686.8]
  wire [8:0] _T_100; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109687.8]
  wire [9:0] _T_101; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109688.8]
  wire [9:0] _T_102; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109689.8]
  wire [9:0] _T_103; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109690.8]
  wire  _T_104; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109691.8]
  wire [8:0] _T_105; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109692.8]
  wire [9:0] _T_106; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109693.8]
  wire [9:0] _T_107; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109694.8]
  wire [9:0] _T_108; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109695.8]
  wire  _T_109; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109696.8]
  wire [8:0] _T_110; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109697.8]
  wire [9:0] _T_111; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109698.8]
  wire [9:0] _T_112; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109699.8]
  wire [9:0] _T_113; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109700.8]
  wire  _T_114; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109701.8]
  wire  _T_115; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@109702.8]
  wire  _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@109703.8]
  wire  _T_117; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@109704.8]
  wire  _T_118; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@109705.8]
  wire  _T_119; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@109706.8]
  wire  _T_120; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@109707.8]
  wire  _T_125; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109712.8]
  wire  _T_137; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109740.8]
  wire  _T_138; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109741.8]
  wire [3:0] _T_143; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@109754.8]
  wire  _T_144; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109755.8]
  wire  _T_146; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109757.8]
  wire  _T_147; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109758.8]
  wire  _T_152; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109772.6]
  wire  _T_230; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109888.6]
  wire  _T_279; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109938.8]
  wire  _T_280; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109939.8]
  wire  _T_291; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109966.8]
  wire  _T_293; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109968.8]
  wire  _T_294; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109969.8]
  wire  _T_299; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109983.6]
  wire  _T_364; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110070.6]
  wire  _T_431; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110159.6]
  wire  _T_493; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110243.6]
  wire  _T_555; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110327.6]
  wire  _T_617; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110413.6]
  wire  _T_619; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@110415.6]
  wire  _T_620; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@110416.6]
  wire  _T_621; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@110421.6]
  wire  _T_630; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110426.6]
  wire  _T_632; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110429.8]
  wire  _T_633; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110430.8]
  wire  _T_634; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110435.8]
  wire  _T_636; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110437.8]
  wire  _T_637; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110438.8]
  wire  _T_638; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110443.8]
  wire  _T_640; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110445.8]
  wire  _T_641; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110446.8]
  wire  _T_642; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@110451.8]
  wire  _T_644; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110453.8]
  wire  _T_645; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110454.8]
  wire  _T_646; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@110459.8]
  wire  _T_648; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110461.8]
  wire  _T_649; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110462.8]
  wire  _T_650; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110468.6]
  wire  _T_661; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@110492.8]
  wire  _T_663; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110494.8]
  wire  _T_664; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110495.8]
  wire  _T_665; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110500.8]
  wire  _T_667; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110502.8]
  wire  _T_668; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110503.8]
  wire  _T_678; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110526.6]
  wire  _T_698; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@110567.8]
  wire  _T_700; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110569.8]
  wire  _T_701; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110570.8]
  wire  _T_707; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110585.6]
  wire  _T_724; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110620.6]
  wire  _T_742; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110656.6]
  wire  _T_771; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110716.4]
  reg  _T_781; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110725.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_782; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110726.4]
  wire [1:0] _T_783; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110727.4]
  wire  _T_784; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110728.4]
  wire  _T_785; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110729.4]
  reg [2:0] _T_794; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110740.4]
  reg [31:0] _RAND_1;
  reg [8:0] _T_802; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110744.4]
  reg [31:0] _RAND_2;
  wire  _T_803; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110745.4]
  wire  _T_804; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@110746.4]
  wire  _T_805; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110748.6]
  wire  _T_807; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110750.6]
  wire  _T_808; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110751.6]
  wire  _T_821; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110780.6]
  wire  _T_823; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110782.6]
  wire  _T_824; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110783.6]
  wire  _T_826; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@110790.4]
  wire  _T_827; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110798.4]
  reg  _T_836; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110806.4]
  reg [31:0] _RAND_3;
  wire [1:0] _T_837; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110807.4]
  wire [1:0] _T_838; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110808.4]
  wire  _T_839; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110809.4]
  wire  _T_840; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110810.4]
  reg [2:0] _T_849; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110821.4]
  reg [31:0] _RAND_4;
  reg [1:0] _T_851; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110822.4]
  reg [31:0] _RAND_5;
  reg [1:0] _T_853; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110823.4]
  reg [31:0] _RAND_6;
  reg  _T_855; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110824.4]
  reg [31:0] _RAND_7;
  reg  _T_857; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110825.4]
  reg [31:0] _RAND_8;
  reg  _T_859; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110826.4]
  reg [31:0] _RAND_9;
  wire  _T_860; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110827.4]
  wire  _T_861; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@110828.4]
  wire  _T_862; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110830.6]
  wire  _T_864; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110832.6]
  wire  _T_865; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110833.6]
  wire  _T_866; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110838.6]
  wire  _T_868; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110840.6]
  wire  _T_869; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110841.6]
  wire  _T_870; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110846.6]
  wire  _T_872; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110848.6]
  wire  _T_873; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110849.6]
  wire  _T_874; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110854.6]
  wire  _T_876; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110856.6]
  wire  _T_877; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110857.6]
  wire  _T_878; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110862.6]
  wire  _T_880; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110864.6]
  wire  _T_881; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110865.6]
  wire  _T_882; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110870.6]
  wire  _T_884; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110872.6]
  wire  _T_885; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110873.6]
  wire  _T_887; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@110880.4]
  reg  _T_889; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110889.4]
  reg [31:0] _RAND_10;
  reg  _T_900; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110899.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_901; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110900.4]
  wire [1:0] _T_902; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110901.4]
  wire  _T_903; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110902.4]
  wire  _T_904; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110903.4]
  reg  _T_921; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110922.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_922; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110923.4]
  wire [1:0] _T_923; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110924.4]
  wire  _T_924; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110925.4]
  wire  _T_925; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110926.4]
  wire  _T_936; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110941.4]
  wire  _T_939; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@110946.6]
  wire  _T_941; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110948.6]
  wire  _T_943; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110950.6]
  wire  _T_944; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110951.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@110943.4]
  wire  _T_949; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110962.4]
  wire  _T_951; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@110964.4]
  wire  _T_952; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@110965.4]
  wire [1:0] _T_953; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@110967.6]
  wire  _T_934; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110937.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@110939.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110945.6]
  wire  _T_954; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@110969.6]
  wire  _T_955; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@110970.6]
  wire  _T_958; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110973.6]
  wire  _T_959; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110974.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@110966.4]
  wire  _T_946; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110957.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@110959.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110968.6]
  wire  _T_960; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@110980.4]
  wire  _T_962; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@110982.4]
  wire  _T_963; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@110983.4]
  wire  _T_965; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110985.4]
  wire  _T_966; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110986.4]
  wire  _T_967; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110991.4]
  wire  _T_968; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@110992.4]
  wire  _T_969; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@110993.4]
  reg [31:0] _T_971; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110995.4]
  reg [31:0] _RAND_13;
  wire  _T_973; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110999.4]
  wire  _T_974; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@111000.4]
  wire  _T_975; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111001.4]
  wire  _T_976; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@111002.4]
  wire  _T_977; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@111003.4]
  wire  _T_979; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@111005.4]
  wire  _T_980; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@111006.4]
  wire [31:0] _T_982; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@111012.4]
  wire  _T_985; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111016.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109714.10]
  wire  _GEN_27; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109822.10]
  wire  _GEN_37; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109941.10]
  wire  _GEN_43; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110036.10]
  wire  _GEN_49; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110123.10]
  wire  _GEN_53; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110209.10]
  wire  _GEN_59; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110293.10]
  wire  _GEN_65; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110377.10]
  wire  _GEN_71; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110432.10]
  wire  _GEN_81; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110474.10]
  wire  _GEN_95; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110532.10]
  wire  _GEN_109; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110591.10]
  wire  _GEN_117; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110626.10]
  wire  _GEN_125; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110662.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@110996.4]
    .out(plusarg_reader_out)
  );
  assign _T_29 = 5'h3 << 2'h2; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@109611.6]
  assign _T_30 = _T_29[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@109612.6]
  assign _T_31 = ~ _T_30; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@109613.6]
  assign _GEN_18 = {{7'd0}, _T_31}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109614.6]
  assign _T_32 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@109614.6]
  assign _T_33 = _T_32 == 9'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@109615.6]
  assign _T_36 = 2'h1 << 1'h0; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109618.6]
  assign _T_70 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109652.6]
  assign _T_78 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109664.6]
  assign _T_82 = $signed(_T_70) & $signed(-10'sh40); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109669.8]
  assign _T_83 = $signed(_T_82); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109670.8]
  assign _T_84 = $signed(_T_83) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109671.8]
  assign _T_85 = io_in_a_bits_address ^ 9'h44; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109672.8]
  assign _T_86 = {1'b0,$signed(_T_85)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109673.8]
  assign _T_87 = $signed(_T_86) & $signed(-10'sh4); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109674.8]
  assign _T_88 = $signed(_T_87); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109675.8]
  assign _T_89 = $signed(_T_88) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109676.8]
  assign _T_90 = io_in_a_bits_address ^ 9'h48; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109677.8]
  assign _T_91 = {1'b0,$signed(_T_90)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109678.8]
  assign _T_92 = $signed(_T_91) & $signed(-10'sh8); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109679.8]
  assign _T_93 = $signed(_T_92); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109680.8]
  assign _T_94 = $signed(_T_93) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109681.8]
  assign _T_95 = io_in_a_bits_address ^ 9'h50; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109682.8]
  assign _T_96 = {1'b0,$signed(_T_95)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109683.8]
  assign _T_97 = $signed(_T_96) & $signed(-10'sh10); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109684.8]
  assign _T_98 = $signed(_T_97); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109685.8]
  assign _T_99 = $signed(_T_98) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109686.8]
  assign _T_100 = io_in_a_bits_address ^ 9'h60; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109687.8]
  assign _T_101 = {1'b0,$signed(_T_100)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109688.8]
  assign _T_102 = $signed(_T_101) & $signed(-10'sh20); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109689.8]
  assign _T_103 = $signed(_T_102); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109690.8]
  assign _T_104 = $signed(_T_103) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109691.8]
  assign _T_105 = io_in_a_bits_address ^ 9'h80; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109692.8]
  assign _T_106 = {1'b0,$signed(_T_105)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109693.8]
  assign _T_107 = $signed(_T_106) & $signed(-10'sh80); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109694.8]
  assign _T_108 = $signed(_T_107); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109695.8]
  assign _T_109 = $signed(_T_108) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109696.8]
  assign _T_110 = io_in_a_bits_address ^ 9'h100; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@109697.8]
  assign _T_111 = {1'b0,$signed(_T_110)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@109698.8]
  assign _T_112 = $signed(_T_111) & $signed(-10'sh100); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109699.8]
  assign _T_113 = $signed(_T_112); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@109700.8]
  assign _T_114 = $signed(_T_113) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@109701.8]
  assign _T_115 = _T_84 | _T_89; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@109702.8]
  assign _T_116 = _T_115 | _T_94; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@109703.8]
  assign _T_117 = _T_116 | _T_99; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@109704.8]
  assign _T_118 = _T_117 | _T_104; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@109705.8]
  assign _T_119 = _T_118 | _T_109; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@109706.8]
  assign _T_120 = _T_119 | _T_114; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@109707.8]
  assign _T_125 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109712.8]
  assign _T_137 = _T_33 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109740.8]
  assign _T_138 = _T_137 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109741.8]
  assign _T_143 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@109754.8]
  assign _T_144 = _T_143 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@109755.8]
  assign _T_146 = _T_144 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109757.8]
  assign _T_147 = _T_146 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109758.8]
  assign _T_152 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109772.6]
  assign _T_230 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109888.6]
  assign _T_279 = _T_120 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109938.8]
  assign _T_280 = _T_279 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109939.8]
  assign _T_291 = io_in_a_bits_mask == 4'hf; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@109966.8]
  assign _T_293 = _T_291 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109968.8]
  assign _T_294 = _T_293 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109969.8]
  assign _T_299 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@109983.6]
  assign _T_364 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110070.6]
  assign _T_431 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110159.6]
  assign _T_493 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110243.6]
  assign _T_555 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110327.6]
  assign _T_617 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@110413.6]
  assign _T_619 = _T_617 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@110415.6]
  assign _T_620 = _T_619 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@110416.6]
  assign _T_621 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@110421.6]
  assign _T_630 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110426.6]
  assign _T_632 = _T_621 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110429.8]
  assign _T_633 = _T_632 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110430.8]
  assign _T_634 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110435.8]
  assign _T_636 = _T_634 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110437.8]
  assign _T_637 = _T_636 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110438.8]
  assign _T_638 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110443.8]
  assign _T_640 = _T_638 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110445.8]
  assign _T_641 = _T_640 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110446.8]
  assign _T_642 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@110451.8]
  assign _T_644 = _T_642 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110453.8]
  assign _T_645 = _T_644 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110454.8]
  assign _T_646 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@110459.8]
  assign _T_648 = _T_646 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110461.8]
  assign _T_649 = _T_648 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110462.8]
  assign _T_650 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110468.6]
  assign _T_661 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@110492.8]
  assign _T_663 = _T_661 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110494.8]
  assign _T_664 = _T_663 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110495.8]
  assign _T_665 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110500.8]
  assign _T_667 = _T_665 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110502.8]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110503.8]
  assign _T_678 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110526.6]
  assign _T_698 = _T_646 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@110567.8]
  assign _T_700 = _T_698 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110569.8]
  assign _T_701 = _T_700 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110570.8]
  assign _T_707 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110585.6]
  assign _T_724 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110620.6]
  assign _T_742 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110656.6]
  assign _T_771 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110716.4]
  assign _T_782 = _T_781 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110726.4]
  assign _T_783 = $unsigned(_T_782); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110727.4]
  assign _T_784 = _T_783[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110728.4]
  assign _T_785 = _T_781 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110729.4]
  assign _T_803 = _T_785 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110745.4]
  assign _T_804 = io_in_a_valid & _T_803; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@110746.4]
  assign _T_805 = io_in_a_bits_opcode == _T_794; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110748.6]
  assign _T_807 = _T_805 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110750.6]
  assign _T_808 = _T_807 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110751.6]
  assign _T_821 = io_in_a_bits_address == _T_802; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110780.6]
  assign _T_823 = _T_821 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110782.6]
  assign _T_824 = _T_823 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110783.6]
  assign _T_826 = _T_771 & _T_785; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@110790.4]
  assign _T_827 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110798.4]
  assign _T_837 = _T_836 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110807.4]
  assign _T_838 = $unsigned(_T_837); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110808.4]
  assign _T_839 = _T_838[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110809.4]
  assign _T_840 = _T_836 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110810.4]
  assign _T_860 = _T_840 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@110827.4]
  assign _T_861 = io_in_d_valid & _T_860; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@110828.4]
  assign _T_862 = io_in_d_bits_opcode == _T_849; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110830.6]
  assign _T_864 = _T_862 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110832.6]
  assign _T_865 = _T_864 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110833.6]
  assign _T_866 = io_in_d_bits_param == _T_851; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110838.6]
  assign _T_868 = _T_866 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110840.6]
  assign _T_869 = _T_868 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110841.6]
  assign _T_870 = io_in_d_bits_size == _T_853; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110846.6]
  assign _T_872 = _T_870 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110848.6]
  assign _T_873 = _T_872 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110849.6]
  assign _T_874 = io_in_d_bits_source == _T_855; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110854.6]
  assign _T_876 = _T_874 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110856.6]
  assign _T_877 = _T_876 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110857.6]
  assign _T_878 = io_in_d_bits_sink == _T_857; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110862.6]
  assign _T_880 = _T_878 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110864.6]
  assign _T_881 = _T_880 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110865.6]
  assign _T_882 = io_in_d_bits_denied == _T_859; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@110870.6]
  assign _T_884 = _T_882 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110872.6]
  assign _T_885 = _T_884 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110873.6]
  assign _T_887 = _T_827 & _T_840; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@110880.4]
  assign _T_901 = _T_900 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110900.4]
  assign _T_902 = $unsigned(_T_901); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110901.4]
  assign _T_903 = _T_902[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110902.4]
  assign _T_904 = _T_900 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110903.4]
  assign _T_922 = _T_921 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110923.4]
  assign _T_923 = $unsigned(_T_922); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110924.4]
  assign _T_924 = _T_923[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@110925.4]
  assign _T_925 = _T_921 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@110926.4]
  assign _T_936 = _T_771 & _T_904; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110941.4]
  assign _T_939 = _T_889 >> 1'h0; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@110946.6]
  assign _T_941 = _T_939 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110948.6]
  assign _T_943 = _T_941 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110950.6]
  assign _T_944 = _T_943 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110951.6]
  assign _GEN_15 = _T_936 ? _T_36 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@110943.4]
  assign _T_949 = _T_827 & _T_925; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110962.4]
  assign _T_951 = _T_630 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@110964.4]
  assign _T_952 = _T_949 & _T_951; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@110965.4]
  assign _T_953 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@110967.6]
  assign _T_934 = _GEN_15[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110937.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@110939.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110945.6]
  assign _T_954 = _T_934 | _T_889; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@110969.6]
  assign _T_955 = _T_954 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@110970.6]
  assign _T_958 = _T_955 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110973.6]
  assign _T_959 = _T_958 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110974.6]
  assign _GEN_16 = _T_952 ? _T_953 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@110966.4]
  assign _T_946 = _GEN_16[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@110957.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@110959.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110968.6]
  assign _T_960 = _T_934 != _T_946; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@110980.4]
  assign _T_962 = _T_934 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@110982.4]
  assign _T_963 = _T_960 | _T_962; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@110983.4]
  assign _T_965 = _T_963 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110985.4]
  assign _T_966 = _T_965 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110986.4]
  assign _T_967 = _T_889 | _T_934; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@110991.4]
  assign _T_968 = ~ _T_946; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@110992.4]
  assign _T_969 = _T_967 & _T_968; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@110993.4]
  assign _T_973 = _T_889 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110999.4]
  assign _T_974 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@111000.4]
  assign _T_975 = _T_973 | _T_974; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111001.4]
  assign _T_976 = _T_971 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@111002.4]
  assign _T_977 = _T_975 | _T_976; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@111003.4]
  assign _T_979 = _T_977 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@111005.4]
  assign _T_980 = _T_979 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@111006.4]
  assign _T_982 = _T_971 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@111012.4]
  assign _T_985 = _T_771 | _T_827; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@111016.4]
  assign _GEN_19 = io_in_a_valid & _T_78; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109714.10]
  assign _GEN_27 = io_in_a_valid & _T_152; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109822.10]
  assign _GEN_37 = io_in_a_valid & _T_230; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109941.10]
  assign _GEN_43 = io_in_a_valid & _T_299; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110036.10]
  assign _GEN_49 = io_in_a_valid & _T_364; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110123.10]
  assign _GEN_53 = io_in_a_valid & _T_431; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110209.10]
  assign _GEN_59 = io_in_a_valid & _T_493; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110293.10]
  assign _GEN_65 = io_in_a_valid & _T_555; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110377.10]
  assign _GEN_71 = io_in_d_valid & _T_630; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110432.10]
  assign _GEN_81 = io_in_d_valid & _T_650; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110474.10]
  assign _GEN_95 = io_in_d_valid & _T_678; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110532.10]
  assign _GEN_109 = io_in_d_valid & _T_707; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110591.10]
  assign _GEN_117 = io_in_d_valid & _T_724; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110626.10]
  assign _GEN_125 = io_in_d_valid & _T_742; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110662.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_781 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_794 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_802 = _RAND_2[8:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_836 = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_849 = _RAND_4[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_851 = _RAND_5[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_853 = _RAND_6[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_855 = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_857 = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_859 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_889 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_900 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_921 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_971 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_781 <= 1'h0;
    end else begin
      if (_T_771) begin
        if (_T_785) begin
          _T_781 <= 1'h0;
        end else begin
          _T_781 <= _T_784;
        end
      end
    end
    if (_T_826) begin
      _T_794 <= io_in_a_bits_opcode;
    end
    if (_T_826) begin
      _T_802 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_836 <= 1'h0;
    end else begin
      if (_T_827) begin
        if (_T_840) begin
          _T_836 <= 1'h0;
        end else begin
          _T_836 <= _T_839;
        end
      end
    end
    if (_T_887) begin
      _T_849 <= io_in_d_bits_opcode;
    end
    if (_T_887) begin
      _T_851 <= io_in_d_bits_param;
    end
    if (_T_887) begin
      _T_853 <= io_in_d_bits_size;
    end
    if (_T_887) begin
      _T_855 <= io_in_d_bits_source;
    end
    if (_T_887) begin
      _T_857 <= io_in_d_bits_sink;
    end
    if (_T_887) begin
      _T_859 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_889 <= 1'h0;
    end else begin
      _T_889 <= _T_969;
    end
    if (reset) begin
      _T_900 <= 1'h0;
    end else begin
      if (_T_771) begin
        if (_T_904) begin
          _T_900 <= 1'h0;
        end else begin
          _T_900 <= _T_903;
        end
      end
    end
    if (reset) begin
      _T_921 <= 1'h0;
    end else begin
      if (_T_827) begin
        if (_T_925) begin
          _T_921 <= 1'h0;
        end else begin
          _T_921 <= _T_924;
        end
      end
    end
    if (reset) begin
      _T_971 <= 32'h0;
    end else begin
      if (_T_985) begin
        _T_971 <= 32'h0;
      end else begin
        _T_971 <= _T_982;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at Debug.scala:350:46)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109603.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109604.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109661.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@109662.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at Debug.scala:350:46)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109714.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109715.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Debug.scala:350:46)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109721.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109722.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109728.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109729.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Debug.scala:350:46)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109736.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109737.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_138) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Debug.scala:350:46)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109743.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_138) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109744.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Debug.scala:350:46)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109751.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109752.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_147) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Debug.scala:350:46)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109760.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_147) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109761.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Debug.scala:350:46)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109768.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109769.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_27 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at Debug.scala:350:46)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109822.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_27 & _T_125) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109823.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_27 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Debug.scala:350:46)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109829.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_27 & _T_125) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109830.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109836.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109837.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Debug.scala:350:46)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109844.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109845.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_27 & _T_138) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Debug.scala:350:46)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109851.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_27 & _T_138) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109852.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Debug.scala:350:46)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109859.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109860.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_27 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Debug.scala:350:46)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109867.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_27 & _T_125) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109868.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_27 & _T_147) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Debug.scala:350:46)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109876.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_27 & _T_147) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109877.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Debug.scala:350:46)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109884.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109885.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_37 & _T_280) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at Debug.scala:350:46)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109941.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_37 & _T_280) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109942.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109948.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109949.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_37 & _T_138) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at Debug.scala:350:46)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109955.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_37 & _T_138) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109956.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at Debug.scala:350:46)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109963.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109964.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_37 & _T_294) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at Debug.scala:350:46)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109971.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_37 & _T_294) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109972.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at Debug.scala:350:46)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109979.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@109980.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_43 & _T_280) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at Debug.scala:350:46)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110036.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_43 & _T_280) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110037.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110043.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110044.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_43 & _T_138) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at Debug.scala:350:46)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110050.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_43 & _T_138) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110051.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at Debug.scala:350:46)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110058.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110059.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_43 & _T_294) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at Debug.scala:350:46)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110066.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_43 & _T_294) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110067.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_280) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at Debug.scala:350:46)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110123.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_280) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110124.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110130.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110131.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_138) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Debug.scala:350:46)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110137.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_138) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110138.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at Debug.scala:350:46)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110145.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110146.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Debug.scala:350:46)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110155.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110156.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at Debug.scala:350:46)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110209.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_125) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110210.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110216.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110217.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_138) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Debug.scala:350:46)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110223.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_138) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110224.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Debug.scala:350:46)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110231.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110232.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_294) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Debug.scala:350:46)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110239.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_294) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110240.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at Debug.scala:350:46)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110293.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_125) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110294.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110300.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110301.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_138) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at Debug.scala:350:46)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110307.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_138) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110308.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Debug.scala:350:46)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110315.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110316.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_294) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at Debug.scala:350:46)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110323.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_294) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110324.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at Debug.scala:350:46)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110377.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_125) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110378.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110384.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110385.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_138) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at Debug.scala:350:46)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110391.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_138) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110392.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_294) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at Debug.scala:350:46)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110399.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_294) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110400.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at Debug.scala:350:46)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110407.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110408.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_620) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at Debug.scala:350:46)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@110418.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_620) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@110419.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_71 & _T_633) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110432.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_71 & _T_633) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110433.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_71 & _T_637) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Debug.scala:350:46)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110440.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_71 & _T_637) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110441.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_71 & _T_641) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at Debug.scala:350:46)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110448.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_71 & _T_641) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110449.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_71 & _T_645) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at Debug.scala:350:46)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110456.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_71 & _T_645) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110457.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_71 & _T_649) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at Debug.scala:350:46)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110464.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_71 & _T_649) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110465.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_81 & _T_633) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110474.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_81 & _T_633) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110475.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_81 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at Debug.scala:350:46)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110481.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_81 & _T_125) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110482.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_81 & _T_637) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at Debug.scala:350:46)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110489.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_81 & _T_637) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110490.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_81 & _T_664) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at Debug.scala:350:46)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110497.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_81 & _T_664) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110498.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_81 & _T_668) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at Debug.scala:350:46)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110505.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_81 & _T_668) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110506.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_81 & _T_645) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at Debug.scala:350:46)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110513.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_81 & _T_645) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110514.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_81 & _T_649) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at Debug.scala:350:46)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110522.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_81 & _T_649) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110523.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_633) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110532.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_633) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110533.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at Debug.scala:350:46)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110539.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_125) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110540.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_637) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at Debug.scala:350:46)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110547.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_637) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110548.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_664) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at Debug.scala:350:46)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110555.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_664) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110556.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_668) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at Debug.scala:350:46)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110563.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_668) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110564.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_701) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at Debug.scala:350:46)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110572.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_701) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110573.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_649) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at Debug.scala:350:46)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110581.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_649) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110582.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_109 & _T_633) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110591.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_109 & _T_633) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110592.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_109 & _T_641) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at Debug.scala:350:46)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110599.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_109 & _T_641) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110600.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_109 & _T_645) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at Debug.scala:350:46)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110607.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_109 & _T_645) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110608.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_109 & _T_649) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at Debug.scala:350:46)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110616.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_109 & _T_649) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110617.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_117 & _T_633) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110626.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_117 & _T_633) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110627.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_117 & _T_641) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at Debug.scala:350:46)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110634.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_117 & _T_641) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110635.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_117 & _T_701) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at Debug.scala:350:46)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110643.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_117 & _T_701) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110644.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_117 & _T_649) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at Debug.scala:350:46)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110652.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_117 & _T_649) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110653.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_633) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110662.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_633) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110663.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_641) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at Debug.scala:350:46)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110670.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_641) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110671.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_645) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at Debug.scala:350:46)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110678.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_645) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110679.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_649) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at Debug.scala:350:46)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110687.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_649) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110688.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at Debug.scala:350:46)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110697.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110698.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at Debug.scala:350:46)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110705.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110706.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at Debug.scala:350:46)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110713.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110714.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_804 & _T_808) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Debug.scala:350:46)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110753.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_804 & _T_808) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110754.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at Debug.scala:350:46)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110761.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110762.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at Debug.scala:350:46)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110769.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110770.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at Debug.scala:350:46)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110777.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110778.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_804 & _T_824) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at Debug.scala:350:46)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110785.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_804 & _T_824) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110786.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_861 & _T_865) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Debug.scala:350:46)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110835.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_861 & _T_865) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110836.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_861 & _T_869) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at Debug.scala:350:46)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110843.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_861 & _T_869) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110844.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_861 & _T_873) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at Debug.scala:350:46)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110851.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_861 & _T_873) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110852.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_861 & _T_877) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at Debug.scala:350:46)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110859.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_861 & _T_877) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110860.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_861 & _T_881) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at Debug.scala:350:46)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110867.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_861 & _T_881) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110868.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_861 & _T_885) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at Debug.scala:350:46)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110875.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_861 & _T_885) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@110876.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_936 & _T_944) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at Debug.scala:350:46)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110953.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_936 & _T_944) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110954.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_952 & _T_959) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Debug.scala:350:46)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110976.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_952 & _T_959) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110977.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_966) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 3 (connected at Debug.scala:350:46)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110988.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_966) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@110989.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_980) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at Debug.scala:350:46)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@111008.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_980) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@111009.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module AsyncQueueSource_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111606.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111607.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111608.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
  input  [8:0]  io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
  output [2:0]  io_async_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
  output [8:0]  io_async_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
  output [3:0]  io_async_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
  output [31:0] io_async_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
  input         io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
  output        io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
  input         io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
  output        io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
  output        io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
  input         io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111609.4]
);
  wire  widx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111617.4]
  wire  widx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111617.4]
  wire  widx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111617.4]
  wire  widx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111617.4]
  wire  widx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111617.4]
  wire  ridx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@111629.4]
  wire  ridx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@111629.4]
  wire  ridx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@111629.4]
  wire  ridx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@111629.4]
  wire  ready_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111651.4]
  wire  ready_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111651.4]
  wire  ready_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111651.4]
  wire  ready_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111651.4]
  wire  ready_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111651.4]
  wire  widx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111660.4]
  wire  widx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111660.4]
  wire  widx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111660.4]
  wire  widx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111660.4]
  wire  widx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111660.4]
  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111675.4]
  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111675.4]
  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111675.4]
  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111678.4]
  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111678.4]
  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111678.4]
  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111678.4]
  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111681.4]
  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111681.4]
  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111681.4]
  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111681.4]
  reg [2:0] mem_0_opcode; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@111613.4]
  reg [31:0] _RAND_0;
  reg [8:0] mem_0_address; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@111613.4]
  reg [31:0] _RAND_1;
  reg [3:0] mem_0_mask; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@111613.4]
  reg [31:0] _RAND_2;
  reg [31:0] mem_0_data; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@111613.4]
  reg [31:0] _RAND_3;
  wire  _T_43; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@111614.4]
  wire  sink_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111611.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@111612.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@111696.4]
  wire  _T_44; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@111615.4]
  wire  _T_48; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@111624.4]
  wire  widx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@111625.4]
  wire  ridx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@111634.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@111636.4]
  wire  _T_52; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@111637.4]
  wire  _T_53; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@111638.4]
  wire  ready_reg_1; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@111657.4]
  wire  _T_58; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@111685.4]
  AsyncResetRegVec_w1_i0 widx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111617.4]
    .clock(widx_bin_clock),
    .reset(widx_bin_reset),
    .io_d(widx_bin_io_d),
    .io_q(widx_bin_io_q),
    .io_en(widx_bin_io_en)
  );
  AsyncResetSynchronizerShiftReg_w1_d3_i0 ridx_gray ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@111629.4]
    .clock(ridx_gray_clock),
    .reset(ridx_gray_reset),
    .io_d(ridx_gray_io_d),
    .io_q(ridx_gray_io_q)
  );
  AsyncResetRegVec_w1_i0 ready_reg ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111651.4]
    .clock(ready_reg_clock),
    .reset(ready_reg_reset),
    .io_d(ready_reg_io_d),
    .io_q(ready_reg_io_q),
    .io_en(ready_reg_io_en)
  );
  AsyncResetRegVec_w1_i0 widx_gray ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@111660.4]
    .clock(widx_gray_clock),
    .reset(widx_gray_reset),
    .io_d(widx_gray_io_d),
    .io_q(widx_gray_io_q),
    .io_en(widx_gray_io_en)
  );
  AsyncValidSync AsyncValidSync ( // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111675.4]
    .clock(AsyncValidSync_clock),
    .reset(AsyncValidSync_reset),
    .io_out(AsyncValidSync_io_out)
  );
  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111678.4]
    .clock(AsyncValidSync_1_clock),
    .reset(AsyncValidSync_1_reset),
    .io_in(AsyncValidSync_1_io_in),
    .io_out(AsyncValidSync_1_io_out)
  );
  AsyncValidSync_2 AsyncValidSync_2 ( // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@111681.4]
    .clock(AsyncValidSync_2_clock),
    .reset(AsyncValidSync_2_reset),
    .io_in(AsyncValidSync_2_io_in),
    .io_out(AsyncValidSync_2_io_out)
  );
  assign _T_43 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@111614.4]
  assign sink_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111611.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@111612.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@111696.4]
  assign _T_44 = sink_ready == 1'h0; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@111615.4]
  assign _T_48 = widx_bin_io_q + _T_43; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@111624.4]
  assign widx = _T_44 ? 1'h0 : _T_48; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@111625.4]
  assign ridx = ridx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@111634.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@111636.4]
  assign _T_52 = ridx ^ 1'h1; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@111637.4]
  assign _T_53 = widx != _T_52; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@111638.4]
  assign ready_reg_1 = ready_reg_io_q; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@111657.4]
  assign _T_58 = io_async_safe_sink_reset_n == 1'h0; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@111685.4]
  assign io_enq_ready = ready_reg_1 & sink_ready; // @[AsyncQueue.scala 85:16:shc.marmotcaravel.MarmotCaravelConfig.fir@111659.4]
  assign io_async_mem_0_opcode = mem_0_opcode; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@111674.4]
  assign io_async_mem_0_address = mem_0_address; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@111670.4]
  assign io_async_mem_0_mask = mem_0_mask; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@111669.4]
  assign io_async_mem_0_data = mem_0_data; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@111668.4]
  assign io_async_widx = widx_gray_io_q; // @[AsyncQueue.scala 88:17:shc.marmotcaravel.MarmotCaravelConfig.fir@111666.4]
  assign io_async_safe_widx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 103:20:shc.marmotcaravel.MarmotCaravelConfig.fir@111693.4]
  assign io_async_safe_source_reset_n = reset == 1'h0; // @[AsyncQueue.scala 107:24:shc.marmotcaravel.MarmotCaravelConfig.fir@111699.4]
  assign widx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111619.4]
  assign widx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111620.4]
  assign widx_bin_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111621.4]
  assign widx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@111622.4]
  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111631.4]
  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111632.4]
  assign ridx_gray_io_d = io_async_ridx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@111633.4]
  assign ready_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111653.4]
  assign ready_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111654.4]
  assign ready_reg_io_d = sink_ready & _T_53; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111655.4]
  assign ready_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@111656.4]
  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111662.4]
  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111663.4]
  assign widx_gray_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@111664.4]
  assign widx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@111665.4]
  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111676.4]
  assign AsyncValidSync_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111677.4 AsyncQueue.scala 99:24:shc.marmotcaravel.MarmotCaravelConfig.fir@111687.4]
  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111679.4]
  assign AsyncValidSync_1_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111680.4 AsyncQueue.scala 100:24:shc.marmotcaravel.MarmotCaravelConfig.fir@111691.4]
  assign AsyncValidSync_1_io_in = io_async_safe_ridx_valid; // @[AsyncQueue.scala 104:23:shc.marmotcaravel.MarmotCaravelConfig.fir@111694.4]
  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111682.4]
  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111683.4]
  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 105:22:shc.marmotcaravel.MarmotCaravelConfig.fir@111695.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  mem_0_opcode = _RAND_0[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  mem_0_address = _RAND_1[8:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  mem_0_mask = _RAND_2[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  mem_0_data = _RAND_3[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (_T_43) begin
      mem_0_opcode <= io_enq_bits_opcode;
    end
    if (_T_43) begin
      mem_0_address <= io_enq_bits_address;
    end
    if (_T_43) begin
      mem_0_mask <= io_enq_bits_mask;
    end
    if (_T_43) begin
      mem_0_data <= io_enq_bits_data;
    end
  end
endmodule
module SynchronizerShiftReg_w43_d1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111853.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111854.4]
  input  [42:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111856.4]
  output [42:0] io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@111856.4]
);
  reg [42:0] sync_0; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@111861.4]
  reg [63:0] _RAND_0;
  assign io_q = sync_0; // @[ShiftReg.scala 123:8:shc.marmotcaravel.MarmotCaravelConfig.fir@111863.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {2{`RANDOM}};
  sync_0 = _RAND_0[42:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    sync_0 <= io_d;
  end
endmodule
module AsyncQueueSink_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112329.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112330.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112331.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
  output [1:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
  output [1:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
  output        io_deq_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
  output        io_deq_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
  output        io_deq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
  input  [2:0]  io_async_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
  input  [1:0]  io_async_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
  input         io_async_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
  input  [31:0] io_async_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
  output        io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
  input         io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
  output        io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
  input         io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
  input         io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
  output        io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112332.4]
);
  wire  ridx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112339.4]
  wire  ridx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112339.4]
  wire  ridx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112339.4]
  wire  ridx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112339.4]
  wire  ridx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112339.4]
  wire  widx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@112351.4]
  wire  widx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@112351.4]
  wire  widx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@112351.4]
  wire  widx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@112351.4]
  wire  deq_bits_reg_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@112362.4]
  wire [42:0] deq_bits_reg_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@112362.4]
  wire [42:0] deq_bits_reg_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@112362.4]
  wire  valid_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112403.4]
  wire  valid_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112403.4]
  wire  valid_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112403.4]
  wire  valid_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112403.4]
  wire  valid_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112403.4]
  wire  ridx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112412.4]
  wire  ridx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112412.4]
  wire  ridx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112412.4]
  wire  ridx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112412.4]
  wire  ridx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112412.4]
  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112419.4]
  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112419.4]
  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112419.4]
  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112422.4]
  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112422.4]
  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112422.4]
  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112422.4]
  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112425.4]
  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112425.4]
  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112425.4]
  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112425.4]
  wire  AsyncResetRegVec_w1_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112454.4]
  wire  AsyncResetRegVec_w1_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112454.4]
  wire  AsyncResetRegVec_w1_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112454.4]
  wire  AsyncResetRegVec_w1_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112454.4]
  wire  AsyncResetRegVec_w1_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112454.4]
  wire  _T_58; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@112336.4]
  wire  source_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112334.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@112335.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@112440.4]
  wire  _T_59; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112337.4]
  wire  _T_63; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@112346.4]
  wire  ridx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@112347.4]
  wire  widx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112356.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112358.4]
  wire  _T_67; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@112359.4]
  wire  valid; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@112360.4]
  wire [2:0] deq_bits_nxt_opcode; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
  wire [1:0] deq_bits_nxt_param; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
  wire [1:0] deq_bits_nxt_size; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
  wire  deq_bits_nxt_source; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
  wire  deq_bits_nxt_sink; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
  wire  deq_bits_nxt_denied; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
  wire [31:0] deq_bits_nxt_data; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
  wire  deq_bits_nxt_corrupt; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
  wire [32:0] _T_69; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112366.4]
  wire [1:0] _T_70; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112367.4]
  wire [34:0] _T_71; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112368.4]
  wire [2:0] _T_72; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112369.4]
  wire [4:0] _T_73; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112370.4]
  wire [7:0] _T_74; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112371.4]
  wire [42:0] _T_79; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112376.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@112378.4]
  wire  valid_reg_1; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@112409.4]
  wire  _T_90; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@112429.4]
  AsyncResetRegVec_w1_i0 ridx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112339.4]
    .clock(ridx_bin_clock),
    .reset(ridx_bin_reset),
    .io_d(ridx_bin_io_d),
    .io_q(ridx_bin_io_q),
    .io_en(ridx_bin_io_en)
  );
  AsyncResetSynchronizerShiftReg_w1_d3_i0 widx_gray ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@112351.4]
    .clock(widx_gray_clock),
    .reset(widx_gray_reset),
    .io_d(widx_gray_io_d),
    .io_q(widx_gray_io_q)
  );
  SynchronizerShiftReg_w43_d1 deq_bits_reg ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@112362.4]
    .clock(deq_bits_reg_clock),
    .io_d(deq_bits_reg_io_d),
    .io_q(deq_bits_reg_io_q)
  );
  AsyncResetRegVec_w1_i0 valid_reg ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112403.4]
    .clock(valid_reg_clock),
    .reset(valid_reg_reset),
    .io_d(valid_reg_io_d),
    .io_q(valid_reg_io_q),
    .io_en(valid_reg_io_en)
  );
  AsyncResetRegVec_w1_i0 ridx_gray ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112412.4]
    .clock(ridx_gray_clock),
    .reset(ridx_gray_reset),
    .io_d(ridx_gray_io_d),
    .io_q(ridx_gray_io_q),
    .io_en(ridx_gray_io_en)
  );
  AsyncValidSync AsyncValidSync ( // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112419.4]
    .clock(AsyncValidSync_clock),
    .reset(AsyncValidSync_reset),
    .io_out(AsyncValidSync_io_out)
  );
  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112422.4]
    .clock(AsyncValidSync_1_clock),
    .reset(AsyncValidSync_1_reset),
    .io_in(AsyncValidSync_1_io_in),
    .io_out(AsyncValidSync_1_io_out)
  );
  AsyncValidSync_2 AsyncValidSync_2 ( // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112425.4]
    .clock(AsyncValidSync_2_clock),
    .reset(AsyncValidSync_2_reset),
    .io_in(AsyncValidSync_2_io_in),
    .io_out(AsyncValidSync_2_io_out)
  );
  AsyncResetRegVec_w1_i0 AsyncResetRegVec_w1_i0 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@112454.4]
    .clock(AsyncResetRegVec_w1_i0_clock),
    .reset(AsyncResetRegVec_w1_i0_reset),
    .io_d(AsyncResetRegVec_w1_i0_io_d),
    .io_q(AsyncResetRegVec_w1_i0_io_q),
    .io_en(AsyncResetRegVec_w1_i0_io_en)
  );
  assign _T_58 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@112336.4]
  assign source_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112334.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@112335.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@112440.4]
  assign _T_59 = source_ready == 1'h0; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112337.4]
  assign _T_63 = ridx_bin_io_q + _T_58; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@112346.4]
  assign ridx = _T_59 ? 1'h0 : _T_63; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@112347.4]
  assign widx = widx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112356.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112358.4]
  assign _T_67 = ridx != widx; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@112359.4]
  assign valid = source_ready & _T_67; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@112360.4]
  assign deq_bits_nxt_opcode = valid ? io_async_mem_0_opcode : io_deq_bits_opcode; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
  assign deq_bits_nxt_param = valid ? 2'h0 : io_deq_bits_param; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
  assign deq_bits_nxt_size = valid ? io_async_mem_0_size : io_deq_bits_size; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
  assign deq_bits_nxt_source = valid ? io_async_mem_0_source : io_deq_bits_source; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
  assign deq_bits_nxt_sink = valid ? 1'h0 : io_deq_bits_sink; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
  assign deq_bits_nxt_denied = valid ? 1'h0 : io_deq_bits_denied; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
  assign deq_bits_nxt_data = valid ? io_async_mem_0_data : io_deq_bits_data; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
  assign deq_bits_nxt_corrupt = valid ? 1'h0 : io_deq_bits_corrupt; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112361.4]
  assign _T_69 = {deq_bits_nxt_data,deq_bits_nxt_corrupt}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112366.4]
  assign _T_70 = {deq_bits_nxt_sink,deq_bits_nxt_denied}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112367.4]
  assign _T_71 = {_T_70,_T_69}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112368.4]
  assign _T_72 = {deq_bits_nxt_size,deq_bits_nxt_source}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112369.4]
  assign _T_73 = {deq_bits_nxt_opcode,deq_bits_nxt_param}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112370.4]
  assign _T_74 = {_T_73,_T_72}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112371.4]
  assign _T_79 = deq_bits_reg_io_q; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112376.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@112378.4]
  assign valid_reg_1 = valid_reg_io_q; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@112409.4]
  assign _T_90 = io_async_safe_source_reset_n == 1'h0; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@112429.4]
  assign io_deq_valid = valid_reg_1 & source_ready; // @[AsyncQueue.scala 148:16:shc.marmotcaravel.MarmotCaravelConfig.fir@112411.4]
  assign io_deq_bits_opcode = _T_79[42:40]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112402.4]
  assign io_deq_bits_param = _T_79[39:38]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112401.4]
  assign io_deq_bits_size = _T_79[37:36]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112400.4]
  assign io_deq_bits_source = _T_79[35]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112399.4]
  assign io_deq_bits_sink = _T_79[34]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112398.4]
  assign io_deq_bits_denied = _T_79[33]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112397.4]
  assign io_deq_bits_data = _T_79[32:1]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112396.4]
  assign io_deq_bits_corrupt = _T_79[0]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112395.4]
  assign io_async_ridx = ridx_gray_io_q; // @[AsyncQueue.scala 151:17:shc.marmotcaravel.MarmotCaravelConfig.fir@112418.4]
  assign io_async_safe_ridx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 161:20:shc.marmotcaravel.MarmotCaravelConfig.fir@112437.4]
  assign io_async_safe_sink_reset_n = reset == 1'h0; // @[AsyncQueue.scala 165:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112443.4]
  assign ridx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112341.4]
  assign ridx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112342.4]
  assign ridx_bin_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112343.4]
  assign ridx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112344.4]
  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112353.4]
  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112354.4]
  assign widx_gray_io_d = io_async_widx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@112355.4]
  assign deq_bits_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112364.4]
  assign deq_bits_reg_io_d = {_T_74,_T_71}; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@112373.4]
  assign valid_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112405.4]
  assign valid_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112406.4]
  assign valid_reg_io_d = source_ready & _T_67; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112407.4]
  assign valid_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112408.4]
  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112414.4]
  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112415.4]
  assign ridx_gray_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112416.4]
  assign ridx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112417.4]
  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112420.4]
  assign AsyncValidSync_reset = reset | _T_90; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112421.4 AsyncQueue.scala 157:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112431.4]
  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112423.4]
  assign AsyncValidSync_1_reset = reset | _T_90; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112424.4 AsyncQueue.scala 158:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112435.4]
  assign AsyncValidSync_1_io_in = io_async_safe_widx_valid; // @[AsyncQueue.scala 162:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112438.4]
  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112426.4]
  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112427.4]
  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 163:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112439.4]
  assign AsyncResetRegVec_w1_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112456.4]
  assign AsyncResetRegVec_w1_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112457.4]
  assign AsyncResetRegVec_w1_i0_io_d = io_async_widx == io_async_ridx; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@112458.4]
  assign AsyncResetRegVec_w1_i0_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@112459.4]
endmodule
module TLAsyncCrossingSource_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112461.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112462.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112463.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  input  [8:0]  auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  output [2:0]  auto_out_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  output [8:0]  auto_out_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  output [3:0]  auto_out_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  output [31:0] auto_out_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  input         auto_out_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  output        auto_out_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  input         auto_out_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  output        auto_out_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  output        auto_out_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  input         auto_out_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  input  [2:0]  auto_out_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  input  [1:0]  auto_out_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  input         auto_out_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  input  [31:0] auto_out_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  output        auto_out_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  input         auto_out_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  output        auto_out_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  input         auto_out_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  input         auto_out_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
  output        auto_out_d_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112464.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
  wire [8:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
  wire  AsyncQueueSource_clock; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
  wire  AsyncQueueSource_reset; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
  wire  AsyncQueueSource_io_enq_ready; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
  wire  AsyncQueueSource_io_enq_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
  wire [2:0] AsyncQueueSource_io_enq_bits_opcode; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
  wire [8:0] AsyncQueueSource_io_enq_bits_address; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
  wire [3:0] AsyncQueueSource_io_enq_bits_mask; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
  wire [31:0] AsyncQueueSource_io_enq_bits_data; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
  wire [2:0] AsyncQueueSource_io_async_mem_0_opcode; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
  wire [8:0] AsyncQueueSource_io_async_mem_0_address; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
  wire [3:0] AsyncQueueSource_io_async_mem_0_mask; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
  wire [31:0] AsyncQueueSource_io_async_mem_0_data; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
  wire  AsyncQueueSource_io_async_ridx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
  wire  AsyncQueueSource_io_async_widx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
  wire  AsyncQueueSource_io_async_safe_ridx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
  wire  AsyncQueueSource_io_async_safe_widx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
  wire  AsyncQueueSource_io_async_safe_source_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
  wire  AsyncQueueSource_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
  wire  AsyncQueueSink_clock; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
  wire  AsyncQueueSink_reset; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
  wire  AsyncQueueSink_io_deq_ready; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
  wire  AsyncQueueSink_io_deq_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
  wire [2:0] AsyncQueueSink_io_deq_bits_opcode; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
  wire [1:0] AsyncQueueSink_io_deq_bits_param; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
  wire [1:0] AsyncQueueSink_io_deq_bits_size; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
  wire  AsyncQueueSink_io_deq_bits_source; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
  wire  AsyncQueueSink_io_deq_bits_sink; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
  wire  AsyncQueueSink_io_deq_bits_denied; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
  wire [31:0] AsyncQueueSink_io_deq_bits_data; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
  wire  AsyncQueueSink_io_deq_bits_corrupt; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
  wire [2:0] AsyncQueueSink_io_async_mem_0_opcode; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
  wire [1:0] AsyncQueueSink_io_async_mem_0_size; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
  wire  AsyncQueueSink_io_async_mem_0_source; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
  wire [31:0] AsyncQueueSink_io_async_mem_0_data; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
  wire  AsyncQueueSink_io_async_ridx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
  wire  AsyncQueueSink_io_async_widx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
  wire  AsyncQueueSink_io_async_safe_ridx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
  wire  AsyncQueueSink_io_async_safe_widx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
  wire  AsyncQueueSink_io_async_safe_source_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
  wire  AsyncQueueSink_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
  TLMonitor_50 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@112471.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
  );
  AsyncQueueSource_1 AsyncQueueSource ( // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@112512.4]
    .clock(AsyncQueueSource_clock),
    .reset(AsyncQueueSource_reset),
    .io_enq_ready(AsyncQueueSource_io_enq_ready),
    .io_enq_valid(AsyncQueueSource_io_enq_valid),
    .io_enq_bits_opcode(AsyncQueueSource_io_enq_bits_opcode),
    .io_enq_bits_address(AsyncQueueSource_io_enq_bits_address),
    .io_enq_bits_mask(AsyncQueueSource_io_enq_bits_mask),
    .io_enq_bits_data(AsyncQueueSource_io_enq_bits_data),
    .io_async_mem_0_opcode(AsyncQueueSource_io_async_mem_0_opcode),
    .io_async_mem_0_address(AsyncQueueSource_io_async_mem_0_address),
    .io_async_mem_0_mask(AsyncQueueSource_io_async_mem_0_mask),
    .io_async_mem_0_data(AsyncQueueSource_io_async_mem_0_data),
    .io_async_ridx(AsyncQueueSource_io_async_ridx),
    .io_async_widx(AsyncQueueSource_io_async_widx),
    .io_async_safe_ridx_valid(AsyncQueueSource_io_async_safe_ridx_valid),
    .io_async_safe_widx_valid(AsyncQueueSource_io_async_safe_widx_valid),
    .io_async_safe_source_reset_n(AsyncQueueSource_io_async_safe_source_reset_n),
    .io_async_safe_sink_reset_n(AsyncQueueSource_io_async_safe_sink_reset_n)
  );
  AsyncQueueSink_1 AsyncQueueSink ( // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@112519.4]
    .clock(AsyncQueueSink_clock),
    .reset(AsyncQueueSink_reset),
    .io_deq_ready(AsyncQueueSink_io_deq_ready),
    .io_deq_valid(AsyncQueueSink_io_deq_valid),
    .io_deq_bits_opcode(AsyncQueueSink_io_deq_bits_opcode),
    .io_deq_bits_param(AsyncQueueSink_io_deq_bits_param),
    .io_deq_bits_size(AsyncQueueSink_io_deq_bits_size),
    .io_deq_bits_source(AsyncQueueSink_io_deq_bits_source),
    .io_deq_bits_sink(AsyncQueueSink_io_deq_bits_sink),
    .io_deq_bits_denied(AsyncQueueSink_io_deq_bits_denied),
    .io_deq_bits_data(AsyncQueueSink_io_deq_bits_data),
    .io_deq_bits_corrupt(AsyncQueueSink_io_deq_bits_corrupt),
    .io_async_mem_0_opcode(AsyncQueueSink_io_async_mem_0_opcode),
    .io_async_mem_0_size(AsyncQueueSink_io_async_mem_0_size),
    .io_async_mem_0_source(AsyncQueueSink_io_async_mem_0_source),
    .io_async_mem_0_data(AsyncQueueSink_io_async_mem_0_data),
    .io_async_ridx(AsyncQueueSink_io_async_ridx),
    .io_async_widx(AsyncQueueSink_io_async_widx),
    .io_async_safe_ridx_valid(AsyncQueueSink_io_async_safe_ridx_valid),
    .io_async_safe_widx_valid(AsyncQueueSink_io_async_safe_widx_valid),
    .io_async_safe_source_reset_n(AsyncQueueSink_io_async_safe_source_reset_n),
    .io_async_safe_sink_reset_n(AsyncQueueSink_io_async_safe_sink_reset_n)
  );
  assign auto_in_a_ready = AsyncQueueSource_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112511.4]
  assign auto_in_d_valid = AsyncQueueSink_io_deq_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112511.4]
  assign auto_in_d_bits_opcode = AsyncQueueSink_io_deq_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112511.4]
  assign auto_in_d_bits_param = AsyncQueueSink_io_deq_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112511.4]
  assign auto_in_d_bits_size = AsyncQueueSink_io_deq_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112511.4]
  assign auto_in_d_bits_source = AsyncQueueSink_io_deq_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112511.4]
  assign auto_in_d_bits_sink = AsyncQueueSink_io_deq_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112511.4]
  assign auto_in_d_bits_denied = AsyncQueueSink_io_deq_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112511.4]
  assign auto_in_d_bits_data = AsyncQueueSink_io_deq_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112511.4]
  assign auto_in_d_bits_corrupt = AsyncQueueSink_io_deq_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@112511.4]
  assign auto_out_a_mem_0_opcode = AsyncQueueSource_io_async_mem_0_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112510.4]
  assign auto_out_a_mem_0_address = AsyncQueueSource_io_async_mem_0_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112510.4]
  assign auto_out_a_mem_0_mask = AsyncQueueSource_io_async_mem_0_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112510.4]
  assign auto_out_a_mem_0_data = AsyncQueueSource_io_async_mem_0_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112510.4]
  assign auto_out_a_widx = AsyncQueueSource_io_async_widx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112510.4]
  assign auto_out_a_safe_widx_valid = AsyncQueueSource_io_async_safe_widx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112510.4]
  assign auto_out_a_safe_source_reset_n = AsyncQueueSource_io_async_safe_source_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112510.4]
  assign auto_out_d_ridx = AsyncQueueSink_io_async_ridx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112510.4]
  assign auto_out_d_safe_ridx_valid = AsyncQueueSink_io_async_safe_ridx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112510.4]
  assign auto_out_d_safe_sink_reset_n = AsyncQueueSink_io_async_safe_sink_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@112510.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112473.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112474.4]
  assign TLMonitor_io_in_a_ready = AsyncQueueSource_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
  assign TLMonitor_io_in_d_valid = AsyncQueueSink_io_deq_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
  assign TLMonitor_io_in_d_bits_opcode = AsyncQueueSink_io_deq_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
  assign TLMonitor_io_in_d_bits_param = AsyncQueueSink_io_deq_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
  assign TLMonitor_io_in_d_bits_size = AsyncQueueSink_io_deq_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
  assign TLMonitor_io_in_d_bits_source = AsyncQueueSink_io_deq_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
  assign TLMonitor_io_in_d_bits_sink = AsyncQueueSink_io_deq_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
  assign TLMonitor_io_in_d_bits_denied = AsyncQueueSink_io_deq_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
  assign TLMonitor_io_in_d_bits_corrupt = AsyncQueueSink_io_deq_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112507.4]
  assign AsyncQueueSource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112513.4]
  assign AsyncQueueSource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112514.4]
  assign AsyncQueueSource_io_enq_valid = auto_in_a_valid; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112516.4]
  assign AsyncQueueSource_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112515.4]
  assign AsyncQueueSource_io_enq_bits_address = auto_in_a_bits_address; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112515.4]
  assign AsyncQueueSource_io_enq_bits_mask = auto_in_a_bits_mask; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112515.4]
  assign AsyncQueueSource_io_enq_bits_data = auto_in_a_bits_data; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112515.4]
  assign AsyncQueueSource_io_async_ridx = auto_out_a_ridx; // @[AsyncCrossing.scala 25:13:shc.marmotcaravel.MarmotCaravelConfig.fir@112518.4]
  assign AsyncQueueSource_io_async_safe_ridx_valid = auto_out_a_safe_ridx_valid; // @[AsyncCrossing.scala 25:13:shc.marmotcaravel.MarmotCaravelConfig.fir@112518.4]
  assign AsyncQueueSource_io_async_safe_sink_reset_n = auto_out_a_safe_sink_reset_n; // @[AsyncCrossing.scala 25:13:shc.marmotcaravel.MarmotCaravelConfig.fir@112518.4]
  assign AsyncQueueSink_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112520.4]
  assign AsyncQueueSink_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@112521.4]
  assign AsyncQueueSink_io_deq_ready = auto_in_d_ready; // @[AsyncCrossing.scala 26:12:shc.marmotcaravel.MarmotCaravelConfig.fir@112529.4]
  assign AsyncQueueSink_io_async_mem_0_opcode = auto_out_d_mem_0_opcode; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112528.4]
  assign AsyncQueueSink_io_async_mem_0_size = auto_out_d_mem_0_size; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112528.4]
  assign AsyncQueueSink_io_async_mem_0_source = auto_out_d_mem_0_source; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112528.4]
  assign AsyncQueueSink_io_async_mem_0_data = auto_out_d_mem_0_data; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112528.4]
  assign AsyncQueueSink_io_async_widx = auto_out_d_widx; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112526.4]
  assign AsyncQueueSink_io_async_safe_widx_valid = auto_out_d_safe_widx_valid; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112524.4]
  assign AsyncQueueSink_io_async_safe_source_reset_n = auto_out_d_safe_source_reset_n; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@112523.4]
endmodule
module AsyncQueueSource_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113138.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113139.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113140.4]
  output       io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
  input        io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
  input        io_enq_bits_resumereq, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
  input  [9:0] io_enq_bits_hartsel, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
  input        io_enq_bits_ackhavereset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
  output       io_async_mem_0_resumereq, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
  output [9:0] io_async_mem_0_hartsel, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
  output       io_async_mem_0_ackhavereset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
  input        io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
  output       io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
  input        io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
  output       io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
  output       io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
  input        io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113141.4]
);
  wire  widx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113149.4]
  wire  widx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113149.4]
  wire  widx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113149.4]
  wire  widx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113149.4]
  wire  widx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113149.4]
  wire  ridx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@113161.4]
  wire  ridx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@113161.4]
  wire  ridx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@113161.4]
  wire  ridx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@113161.4]
  wire  ready_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113178.4]
  wire  ready_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113178.4]
  wire  ready_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113178.4]
  wire  ready_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113178.4]
  wire  ready_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113178.4]
  wire  widx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113187.4]
  wire  widx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113187.4]
  wire  widx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113187.4]
  wire  widx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113187.4]
  wire  widx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113187.4]
  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113197.4]
  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113197.4]
  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113197.4]
  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113200.4]
  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113200.4]
  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113200.4]
  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113200.4]
  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113203.4]
  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113203.4]
  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113203.4]
  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113203.4]
  reg  mem_0_resumereq; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@113145.4]
  reg [31:0] _RAND_0;
  reg [9:0] mem_0_hartsel; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@113145.4]
  reg [31:0] _RAND_1;
  reg  mem_0_ackhavereset; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@113145.4]
  reg [31:0] _RAND_2;
  wire  _T_43; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@113146.4]
  wire  sink_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113143.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@113144.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@113218.4]
  wire  _T_44; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113147.4]
  wire  _T_48; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@113156.4]
  wire  widx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@113157.4]
  wire  ridx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113166.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113168.4]
  wire  _T_52; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@113169.4]
  wire  _T_53; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@113170.4]
  wire  ready_reg_1; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@113184.4]
  wire  _T_58; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@113207.4]
  AsyncResetRegVec_w1_i0 widx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113149.4]
    .clock(widx_bin_clock),
    .reset(widx_bin_reset),
    .io_d(widx_bin_io_d),
    .io_q(widx_bin_io_q),
    .io_en(widx_bin_io_en)
  );
  AsyncResetSynchronizerShiftReg_w1_d3_i0 ridx_gray ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@113161.4]
    .clock(ridx_gray_clock),
    .reset(ridx_gray_reset),
    .io_d(ridx_gray_io_d),
    .io_q(ridx_gray_io_q)
  );
  AsyncResetRegVec_w1_i0 ready_reg ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113178.4]
    .clock(ready_reg_clock),
    .reset(ready_reg_reset),
    .io_d(ready_reg_io_d),
    .io_q(ready_reg_io_q),
    .io_en(ready_reg_io_en)
  );
  AsyncResetRegVec_w1_i0 widx_gray ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113187.4]
    .clock(widx_gray_clock),
    .reset(widx_gray_reset),
    .io_d(widx_gray_io_d),
    .io_q(widx_gray_io_q),
    .io_en(widx_gray_io_en)
  );
  AsyncValidSync AsyncValidSync ( // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113197.4]
    .clock(AsyncValidSync_clock),
    .reset(AsyncValidSync_reset),
    .io_out(AsyncValidSync_io_out)
  );
  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113200.4]
    .clock(AsyncValidSync_1_clock),
    .reset(AsyncValidSync_1_reset),
    .io_in(AsyncValidSync_1_io_in),
    .io_out(AsyncValidSync_1_io_out)
  );
  AsyncValidSync_2 AsyncValidSync_2 ( // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113203.4]
    .clock(AsyncValidSync_2_clock),
    .reset(AsyncValidSync_2_reset),
    .io_in(AsyncValidSync_2_io_in),
    .io_out(AsyncValidSync_2_io_out)
  );
  assign _T_43 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@113146.4]
  assign sink_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113143.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@113144.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@113218.4]
  assign _T_44 = sink_ready == 1'h0; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113147.4]
  assign _T_48 = widx_bin_io_q + _T_43; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@113156.4]
  assign widx = _T_44 ? 1'h0 : _T_48; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@113157.4]
  assign ridx = ridx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113166.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113168.4]
  assign _T_52 = ridx ^ 1'h1; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@113169.4]
  assign _T_53 = widx != _T_52; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@113170.4]
  assign ready_reg_1 = ready_reg_io_q; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@113184.4]
  assign _T_58 = io_async_safe_sink_reset_n == 1'h0; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@113207.4]
  assign io_enq_ready = ready_reg_1 & sink_ready; // @[AsyncQueue.scala 85:16:shc.marmotcaravel.MarmotCaravelConfig.fir@113186.4]
  assign io_async_mem_0_resumereq = mem_0_resumereq; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113196.4]
  assign io_async_mem_0_hartsel = mem_0_hartsel; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113195.4]
  assign io_async_mem_0_ackhavereset = mem_0_ackhavereset; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113194.4]
  assign io_async_widx = widx_gray_io_q; // @[AsyncQueue.scala 88:17:shc.marmotcaravel.MarmotCaravelConfig.fir@113193.4]
  assign io_async_safe_widx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 103:20:shc.marmotcaravel.MarmotCaravelConfig.fir@113215.4]
  assign io_async_safe_source_reset_n = reset == 1'h0; // @[AsyncQueue.scala 107:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113221.4]
  assign widx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113151.4]
  assign widx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113152.4]
  assign widx_bin_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113153.4]
  assign widx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@113154.4]
  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113163.4]
  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113164.4]
  assign ridx_gray_io_d = io_async_ridx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@113165.4]
  assign ready_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113180.4]
  assign ready_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113181.4]
  assign ready_reg_io_d = sink_ready & _T_53; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113182.4]
  assign ready_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@113183.4]
  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113189.4]
  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113190.4]
  assign widx_gray_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113191.4]
  assign widx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@113192.4]
  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113198.4]
  assign AsyncValidSync_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113199.4 AsyncQueue.scala 99:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113209.4]
  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113201.4]
  assign AsyncValidSync_1_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113202.4 AsyncQueue.scala 100:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113213.4]
  assign AsyncValidSync_1_io_in = io_async_safe_ridx_valid; // @[AsyncQueue.scala 104:23:shc.marmotcaravel.MarmotCaravelConfig.fir@113216.4]
  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113204.4]
  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113205.4]
  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 105:22:shc.marmotcaravel.MarmotCaravelConfig.fir@113217.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  mem_0_resumereq = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  mem_0_hartsel = _RAND_1[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  mem_0_ackhavereset = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (_T_43) begin
      mem_0_resumereq <= io_enq_bits_resumereq;
    end
    if (_T_43) begin
      mem_0_hartsel <= io_enq_bits_hartsel;
    end
    if (_T_43) begin
      mem_0_ackhavereset <= io_enq_bits_ackhavereset;
    end
  end
endmodule
module TLDebugModuleOuterAsync( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113223.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113224.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113225.4]
  output [2:0]  auto_asource_out_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
  output [8:0]  auto_asource_out_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
  output [3:0]  auto_asource_out_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
  output [31:0] auto_asource_out_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
  input         auto_asource_out_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
  output        auto_asource_out_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
  input         auto_asource_out_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
  output        auto_asource_out_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
  output        auto_asource_out_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
  input         auto_asource_out_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
  input  [2:0]  auto_asource_out_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
  input  [1:0]  auto_asource_out_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
  input         auto_asource_out_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
  input  [31:0] auto_asource_out_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
  output        auto_asource_out_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
  input         auto_asource_out_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
  output        auto_asource_out_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
  input         auto_asource_out_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
  input         auto_asource_out_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
  output        auto_asource_out_d_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
  output        auto_intsource_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113226.4]
  output        io_dmi_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
  input         io_dmi_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
  input  [6:0]  io_dmi_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
  input  [31:0] io_dmi_req_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
  input  [1:0]  io_dmi_req_bits_op, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
  input         io_dmi_resp_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
  output        io_dmi_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
  output [31:0] io_dmi_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
  output [1:0]  io_dmi_resp_bits_resp, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
  output        io_ctrl_ndreset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
  output        io_ctrl_dmactive, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
  output        io_innerCtrl_mem_0_resumereq, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
  output [9:0]  io_innerCtrl_mem_0_hartsel, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
  output        io_innerCtrl_mem_0_ackhavereset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
  input         io_innerCtrl_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
  output        io_innerCtrl_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
  input         io_innerCtrl_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
  output        io_innerCtrl_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
  output        io_innerCtrl_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
  input         io_innerCtrl_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113227.4]
);
  wire  dmi2tl_auto_out_a_ready; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
  wire  dmi2tl_auto_out_a_valid; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
  wire [2:0] dmi2tl_auto_out_a_bits_opcode; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
  wire [8:0] dmi2tl_auto_out_a_bits_address; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
  wire [3:0] dmi2tl_auto_out_a_bits_mask; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
  wire [31:0] dmi2tl_auto_out_a_bits_data; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
  wire  dmi2tl_auto_out_d_ready; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
  wire  dmi2tl_auto_out_d_valid; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
  wire  dmi2tl_auto_out_d_bits_denied; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
  wire [31:0] dmi2tl_auto_out_d_bits_data; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
  wire  dmi2tl_auto_out_d_bits_corrupt; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
  wire  dmi2tl_io_dmi_req_ready; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
  wire  dmi2tl_io_dmi_req_valid; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
  wire [6:0] dmi2tl_io_dmi_req_bits_addr; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
  wire [31:0] dmi2tl_io_dmi_req_bits_data; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
  wire [1:0] dmi2tl_io_dmi_req_bits_op; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
  wire  dmi2tl_io_dmi_resp_ready; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
  wire  dmi2tl_io_dmi_resp_valid; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
  wire [31:0] dmi2tl_io_dmi_resp_bits_data; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
  wire [1:0] dmi2tl_io_dmi_resp_bits_resp; // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
  wire  dmiXbar_clock; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire  dmiXbar_reset; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire  dmiXbar_auto_in_a_ready; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire  dmiXbar_auto_in_a_valid; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire [2:0] dmiXbar_auto_in_a_bits_opcode; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire [8:0] dmiXbar_auto_in_a_bits_address; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire [3:0] dmiXbar_auto_in_a_bits_mask; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire [31:0] dmiXbar_auto_in_a_bits_data; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire  dmiXbar_auto_in_d_ready; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire  dmiXbar_auto_in_d_valid; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire  dmiXbar_auto_in_d_bits_denied; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire [31:0] dmiXbar_auto_in_d_bits_data; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire  dmiXbar_auto_in_d_bits_corrupt; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire  dmiXbar_auto_out_1_a_ready; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire  dmiXbar_auto_out_1_a_valid; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire [2:0] dmiXbar_auto_out_1_a_bits_opcode; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire [6:0] dmiXbar_auto_out_1_a_bits_address; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire [3:0] dmiXbar_auto_out_1_a_bits_mask; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire [31:0] dmiXbar_auto_out_1_a_bits_data; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire  dmiXbar_auto_out_1_d_ready; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire  dmiXbar_auto_out_1_d_valid; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire [2:0] dmiXbar_auto_out_1_d_bits_opcode; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire [31:0] dmiXbar_auto_out_1_d_bits_data; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire  dmiXbar_auto_out_0_a_ready; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire  dmiXbar_auto_out_0_a_valid; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire [2:0] dmiXbar_auto_out_0_a_bits_opcode; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire [8:0] dmiXbar_auto_out_0_a_bits_address; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire [3:0] dmiXbar_auto_out_0_a_bits_mask; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire [31:0] dmiXbar_auto_out_0_a_bits_data; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire  dmiXbar_auto_out_0_d_ready; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire  dmiXbar_auto_out_0_d_valid; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire [2:0] dmiXbar_auto_out_0_d_bits_opcode; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire [1:0] dmiXbar_auto_out_0_d_bits_param; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire [1:0] dmiXbar_auto_out_0_d_bits_size; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire  dmiXbar_auto_out_0_d_bits_source; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire  dmiXbar_auto_out_0_d_bits_sink; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire  dmiXbar_auto_out_0_d_bits_denied; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire [31:0] dmiXbar_auto_out_0_d_bits_data; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire  dmiXbar_auto_out_0_d_bits_corrupt; // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
  wire  dmOuter_clock; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
  wire  dmOuter_reset; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
  wire  dmOuter_auto_dmi_in_a_ready; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
  wire  dmOuter_auto_dmi_in_a_valid; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
  wire [2:0] dmOuter_auto_dmi_in_a_bits_opcode; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
  wire [6:0] dmOuter_auto_dmi_in_a_bits_address; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
  wire [3:0] dmOuter_auto_dmi_in_a_bits_mask; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
  wire [31:0] dmOuter_auto_dmi_in_a_bits_data; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
  wire  dmOuter_auto_dmi_in_d_ready; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
  wire  dmOuter_auto_dmi_in_d_valid; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
  wire [2:0] dmOuter_auto_dmi_in_d_bits_opcode; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
  wire [31:0] dmOuter_auto_dmi_in_d_bits_data; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
  wire  dmOuter_auto_int_out_0; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
  wire  dmOuter_io_ctrl_ndreset; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
  wire  dmOuter_io_ctrl_dmactive; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
  wire  dmOuter_io_innerCtrl_valid; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
  wire  dmOuter_io_innerCtrl_bits_resumereq; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
  wire [9:0] dmOuter_io_innerCtrl_bits_hartsel; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
  wire  dmOuter_io_innerCtrl_bits_ackhavereset; // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113253.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113253.4]
  wire  asource_clock; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire  asource_reset; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire  asource_auto_in_a_ready; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire  asource_auto_in_a_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire [2:0] asource_auto_in_a_bits_opcode; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire [8:0] asource_auto_in_a_bits_address; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire [3:0] asource_auto_in_a_bits_mask; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire [31:0] asource_auto_in_a_bits_data; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire  asource_auto_in_d_ready; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire  asource_auto_in_d_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire [2:0] asource_auto_in_d_bits_opcode; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire [1:0] asource_auto_in_d_bits_param; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire [1:0] asource_auto_in_d_bits_size; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire  asource_auto_in_d_bits_source; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire  asource_auto_in_d_bits_sink; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire  asource_auto_in_d_bits_denied; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire [31:0] asource_auto_in_d_bits_data; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire  asource_auto_in_d_bits_corrupt; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire [2:0] asource_auto_out_a_mem_0_opcode; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire [8:0] asource_auto_out_a_mem_0_address; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire [3:0] asource_auto_out_a_mem_0_mask; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire [31:0] asource_auto_out_a_mem_0_data; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire  asource_auto_out_a_ridx; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire  asource_auto_out_a_widx; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire  asource_auto_out_a_safe_ridx_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire  asource_auto_out_a_safe_widx_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire  asource_auto_out_a_safe_source_reset_n; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire  asource_auto_out_a_safe_sink_reset_n; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire [2:0] asource_auto_out_d_mem_0_opcode; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire [1:0] asource_auto_out_d_mem_0_size; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire  asource_auto_out_d_mem_0_source; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire [31:0] asource_auto_out_d_mem_0_data; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire  asource_auto_out_d_ridx; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire  asource_auto_out_d_widx; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire  asource_auto_out_d_safe_ridx_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire  asource_auto_out_d_safe_widx_valid; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire  asource_auto_out_d_safe_source_reset_n; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire  asource_auto_out_d_safe_sink_reset_n; // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
  wire  AsyncQueueSource_clock; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
  wire  AsyncQueueSource_reset; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
  wire  AsyncQueueSource_io_enq_ready; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
  wire  AsyncQueueSource_io_enq_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
  wire  AsyncQueueSource_io_enq_bits_resumereq; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
  wire [9:0] AsyncQueueSource_io_enq_bits_hartsel; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
  wire  AsyncQueueSource_io_enq_bits_ackhavereset; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
  wire  AsyncQueueSource_io_async_mem_0_resumereq; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
  wire [9:0] AsyncQueueSource_io_async_mem_0_hartsel; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
  wire  AsyncQueueSource_io_async_mem_0_ackhavereset; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
  wire  AsyncQueueSource_io_async_ridx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
  wire  AsyncQueueSource_io_async_widx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
  wire  AsyncQueueSource_io_async_safe_ridx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
  wire  AsyncQueueSource_io_async_safe_widx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
  wire  AsyncQueueSource_io_async_safe_source_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
  wire  AsyncQueueSource_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
  DMIToTL dmi2tl ( // @[Debug.scala 344:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113233.4]
    .auto_out_a_ready(dmi2tl_auto_out_a_ready),
    .auto_out_a_valid(dmi2tl_auto_out_a_valid),
    .auto_out_a_bits_opcode(dmi2tl_auto_out_a_bits_opcode),
    .auto_out_a_bits_address(dmi2tl_auto_out_a_bits_address),
    .auto_out_a_bits_mask(dmi2tl_auto_out_a_bits_mask),
    .auto_out_a_bits_data(dmi2tl_auto_out_a_bits_data),
    .auto_out_d_ready(dmi2tl_auto_out_d_ready),
    .auto_out_d_valid(dmi2tl_auto_out_d_valid),
    .auto_out_d_bits_denied(dmi2tl_auto_out_d_bits_denied),
    .auto_out_d_bits_data(dmi2tl_auto_out_d_bits_data),
    .auto_out_d_bits_corrupt(dmi2tl_auto_out_d_bits_corrupt),
    .io_dmi_req_ready(dmi2tl_io_dmi_req_ready),
    .io_dmi_req_valid(dmi2tl_io_dmi_req_valid),
    .io_dmi_req_bits_addr(dmi2tl_io_dmi_req_bits_addr),
    .io_dmi_req_bits_data(dmi2tl_io_dmi_req_bits_data),
    .io_dmi_req_bits_op(dmi2tl_io_dmi_req_bits_op),
    .io_dmi_resp_ready(dmi2tl_io_dmi_resp_ready),
    .io_dmi_resp_valid(dmi2tl_io_dmi_resp_valid),
    .io_dmi_resp_bits_data(dmi2tl_io_dmi_resp_bits_data),
    .io_dmi_resp_bits_resp(dmi2tl_io_dmi_resp_bits_resp)
  );
  TLXbar_7 dmiXbar ( // @[Debug.scala 345:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113240.4]
    .clock(dmiXbar_clock),
    .reset(dmiXbar_reset),
    .auto_in_a_ready(dmiXbar_auto_in_a_ready),
    .auto_in_a_valid(dmiXbar_auto_in_a_valid),
    .auto_in_a_bits_opcode(dmiXbar_auto_in_a_bits_opcode),
    .auto_in_a_bits_address(dmiXbar_auto_in_a_bits_address),
    .auto_in_a_bits_mask(dmiXbar_auto_in_a_bits_mask),
    .auto_in_a_bits_data(dmiXbar_auto_in_a_bits_data),
    .auto_in_d_ready(dmiXbar_auto_in_d_ready),
    .auto_in_d_valid(dmiXbar_auto_in_d_valid),
    .auto_in_d_bits_denied(dmiXbar_auto_in_d_bits_denied),
    .auto_in_d_bits_data(dmiXbar_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(dmiXbar_auto_in_d_bits_corrupt),
    .auto_out_1_a_ready(dmiXbar_auto_out_1_a_ready),
    .auto_out_1_a_valid(dmiXbar_auto_out_1_a_valid),
    .auto_out_1_a_bits_opcode(dmiXbar_auto_out_1_a_bits_opcode),
    .auto_out_1_a_bits_address(dmiXbar_auto_out_1_a_bits_address),
    .auto_out_1_a_bits_mask(dmiXbar_auto_out_1_a_bits_mask),
    .auto_out_1_a_bits_data(dmiXbar_auto_out_1_a_bits_data),
    .auto_out_1_d_ready(dmiXbar_auto_out_1_d_ready),
    .auto_out_1_d_valid(dmiXbar_auto_out_1_d_valid),
    .auto_out_1_d_bits_opcode(dmiXbar_auto_out_1_d_bits_opcode),
    .auto_out_1_d_bits_data(dmiXbar_auto_out_1_d_bits_data),
    .auto_out_0_a_ready(dmiXbar_auto_out_0_a_ready),
    .auto_out_0_a_valid(dmiXbar_auto_out_0_a_valid),
    .auto_out_0_a_bits_opcode(dmiXbar_auto_out_0_a_bits_opcode),
    .auto_out_0_a_bits_address(dmiXbar_auto_out_0_a_bits_address),
    .auto_out_0_a_bits_mask(dmiXbar_auto_out_0_a_bits_mask),
    .auto_out_0_a_bits_data(dmiXbar_auto_out_0_a_bits_data),
    .auto_out_0_d_ready(dmiXbar_auto_out_0_d_ready),
    .auto_out_0_d_valid(dmiXbar_auto_out_0_d_valid),
    .auto_out_0_d_bits_opcode(dmiXbar_auto_out_0_d_bits_opcode),
    .auto_out_0_d_bits_param(dmiXbar_auto_out_0_d_bits_param),
    .auto_out_0_d_bits_size(dmiXbar_auto_out_0_d_bits_size),
    .auto_out_0_d_bits_source(dmiXbar_auto_out_0_d_bits_source),
    .auto_out_0_d_bits_sink(dmiXbar_auto_out_0_d_bits_sink),
    .auto_out_0_d_bits_denied(dmiXbar_auto_out_0_d_bits_denied),
    .auto_out_0_d_bits_data(dmiXbar_auto_out_0_d_bits_data),
    .auto_out_0_d_bits_corrupt(dmiXbar_auto_out_0_d_bits_corrupt)
  );
  TLDebugModuleOuter dmOuter ( // @[Debug.scala 347:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113246.4]
    .clock(dmOuter_clock),
    .reset(dmOuter_reset),
    .auto_dmi_in_a_ready(dmOuter_auto_dmi_in_a_ready),
    .auto_dmi_in_a_valid(dmOuter_auto_dmi_in_a_valid),
    .auto_dmi_in_a_bits_opcode(dmOuter_auto_dmi_in_a_bits_opcode),
    .auto_dmi_in_a_bits_address(dmOuter_auto_dmi_in_a_bits_address),
    .auto_dmi_in_a_bits_mask(dmOuter_auto_dmi_in_a_bits_mask),
    .auto_dmi_in_a_bits_data(dmOuter_auto_dmi_in_a_bits_data),
    .auto_dmi_in_d_ready(dmOuter_auto_dmi_in_d_ready),
    .auto_dmi_in_d_valid(dmOuter_auto_dmi_in_d_valid),
    .auto_dmi_in_d_bits_opcode(dmOuter_auto_dmi_in_d_bits_opcode),
    .auto_dmi_in_d_bits_data(dmOuter_auto_dmi_in_d_bits_data),
    .auto_int_out_0(dmOuter_auto_int_out_0),
    .io_ctrl_ndreset(dmOuter_io_ctrl_ndreset),
    .io_ctrl_dmactive(dmOuter_io_ctrl_dmactive),
    .io_innerCtrl_valid(dmOuter_io_innerCtrl_valid),
    .io_innerCtrl_bits_resumereq(dmOuter_io_innerCtrl_bits_resumereq),
    .io_innerCtrl_bits_hartsel(dmOuter_io_innerCtrl_bits_hartsel),
    .io_innerCtrl_bits_ackhavereset(dmOuter_io_innerCtrl_bits_ackhavereset)
  );
  IntSyncCrossingSource intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113253.4]
    .auto_in_0(intsource_auto_in_0),
    .auto_out_sync_0(intsource_auto_out_sync_0)
  );
  TLAsyncCrossingSource_1 asource ( // @[AsyncCrossing.scala 87:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113259.4]
    .clock(asource_clock),
    .reset(asource_reset),
    .auto_in_a_ready(asource_auto_in_a_ready),
    .auto_in_a_valid(asource_auto_in_a_valid),
    .auto_in_a_bits_opcode(asource_auto_in_a_bits_opcode),
    .auto_in_a_bits_address(asource_auto_in_a_bits_address),
    .auto_in_a_bits_mask(asource_auto_in_a_bits_mask),
    .auto_in_a_bits_data(asource_auto_in_a_bits_data),
    .auto_in_d_ready(asource_auto_in_d_ready),
    .auto_in_d_valid(asource_auto_in_d_valid),
    .auto_in_d_bits_opcode(asource_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(asource_auto_in_d_bits_param),
    .auto_in_d_bits_size(asource_auto_in_d_bits_size),
    .auto_in_d_bits_source(asource_auto_in_d_bits_source),
    .auto_in_d_bits_sink(asource_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(asource_auto_in_d_bits_denied),
    .auto_in_d_bits_data(asource_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(asource_auto_in_d_bits_corrupt),
    .auto_out_a_mem_0_opcode(asource_auto_out_a_mem_0_opcode),
    .auto_out_a_mem_0_address(asource_auto_out_a_mem_0_address),
    .auto_out_a_mem_0_mask(asource_auto_out_a_mem_0_mask),
    .auto_out_a_mem_0_data(asource_auto_out_a_mem_0_data),
    .auto_out_a_ridx(asource_auto_out_a_ridx),
    .auto_out_a_widx(asource_auto_out_a_widx),
    .auto_out_a_safe_ridx_valid(asource_auto_out_a_safe_ridx_valid),
    .auto_out_a_safe_widx_valid(asource_auto_out_a_safe_widx_valid),
    .auto_out_a_safe_source_reset_n(asource_auto_out_a_safe_source_reset_n),
    .auto_out_a_safe_sink_reset_n(asource_auto_out_a_safe_sink_reset_n),
    .auto_out_d_mem_0_opcode(asource_auto_out_d_mem_0_opcode),
    .auto_out_d_mem_0_size(asource_auto_out_d_mem_0_size),
    .auto_out_d_mem_0_source(asource_auto_out_d_mem_0_source),
    .auto_out_d_mem_0_data(asource_auto_out_d_mem_0_data),
    .auto_out_d_ridx(asource_auto_out_d_ridx),
    .auto_out_d_widx(asource_auto_out_d_widx),
    .auto_out_d_safe_ridx_valid(asource_auto_out_d_safe_ridx_valid),
    .auto_out_d_safe_widx_valid(asource_auto_out_d_safe_widx_valid),
    .auto_out_d_safe_source_reset_n(asource_auto_out_d_safe_source_reset_n),
    .auto_out_d_safe_sink_reset_n(asource_auto_out_d_safe_sink_reset_n)
  );
  AsyncQueueSource_2 AsyncQueueSource ( // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113273.4]
    .clock(AsyncQueueSource_clock),
    .reset(AsyncQueueSource_reset),
    .io_enq_ready(AsyncQueueSource_io_enq_ready),
    .io_enq_valid(AsyncQueueSource_io_enq_valid),
    .io_enq_bits_resumereq(AsyncQueueSource_io_enq_bits_resumereq),
    .io_enq_bits_hartsel(AsyncQueueSource_io_enq_bits_hartsel),
    .io_enq_bits_ackhavereset(AsyncQueueSource_io_enq_bits_ackhavereset),
    .io_async_mem_0_resumereq(AsyncQueueSource_io_async_mem_0_resumereq),
    .io_async_mem_0_hartsel(AsyncQueueSource_io_async_mem_0_hartsel),
    .io_async_mem_0_ackhavereset(AsyncQueueSource_io_async_mem_0_ackhavereset),
    .io_async_ridx(AsyncQueueSource_io_async_ridx),
    .io_async_widx(AsyncQueueSource_io_async_widx),
    .io_async_safe_ridx_valid(AsyncQueueSource_io_async_safe_ridx_valid),
    .io_async_safe_widx_valid(AsyncQueueSource_io_async_safe_widx_valid),
    .io_async_safe_source_reset_n(AsyncQueueSource_io_async_safe_source_reset_n),
    .io_async_safe_sink_reset_n(AsyncQueueSource_io_async_safe_sink_reset_n)
  );
  assign auto_asource_out_a_mem_0_opcode = asource_auto_out_a_mem_0_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
  assign auto_asource_out_a_mem_0_address = asource_auto_out_a_mem_0_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
  assign auto_asource_out_a_mem_0_mask = asource_auto_out_a_mem_0_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
  assign auto_asource_out_a_mem_0_data = asource_auto_out_a_mem_0_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
  assign auto_asource_out_a_widx = asource_auto_out_a_widx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
  assign auto_asource_out_a_safe_widx_valid = asource_auto_out_a_safe_widx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
  assign auto_asource_out_a_safe_source_reset_n = asource_auto_out_a_safe_source_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
  assign auto_asource_out_d_ridx = asource_auto_out_d_ridx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
  assign auto_asource_out_d_safe_ridx_valid = asource_auto_out_d_safe_ridx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
  assign auto_asource_out_d_safe_sink_reset_n = asource_auto_out_d_safe_sink_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
  assign auto_intsource_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113269.4]
  assign io_dmi_req_ready = dmi2tl_io_dmi_req_ready; // @[Debug.scala 365:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113271.4]
  assign io_dmi_resp_valid = dmi2tl_io_dmi_resp_valid; // @[Debug.scala 365:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113271.4]
  assign io_dmi_resp_bits_data = dmi2tl_io_dmi_resp_bits_data; // @[Debug.scala 365:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113271.4]
  assign io_dmi_resp_bits_resp = dmi2tl_io_dmi_resp_bits_resp; // @[Debug.scala 365:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113271.4]
  assign io_ctrl_ndreset = dmOuter_io_ctrl_ndreset; // @[Debug.scala 367:13:shc.marmotcaravel.MarmotCaravelConfig.fir@113272.4]
  assign io_ctrl_dmactive = dmOuter_io_ctrl_dmactive; // @[Debug.scala 367:13:shc.marmotcaravel.MarmotCaravelConfig.fir@113272.4]
  assign io_innerCtrl_mem_0_resumereq = AsyncQueueSource_io_async_mem_0_resumereq; // @[Debug.scala 368:18:shc.marmotcaravel.MarmotCaravelConfig.fir@113279.4]
  assign io_innerCtrl_mem_0_hartsel = AsyncQueueSource_io_async_mem_0_hartsel; // @[Debug.scala 368:18:shc.marmotcaravel.MarmotCaravelConfig.fir@113279.4]
  assign io_innerCtrl_mem_0_ackhavereset = AsyncQueueSource_io_async_mem_0_ackhavereset; // @[Debug.scala 368:18:shc.marmotcaravel.MarmotCaravelConfig.fir@113279.4]
  assign io_innerCtrl_widx = AsyncQueueSource_io_async_widx; // @[Debug.scala 368:18:shc.marmotcaravel.MarmotCaravelConfig.fir@113279.4]
  assign io_innerCtrl_safe_widx_valid = AsyncQueueSource_io_async_safe_widx_valid; // @[Debug.scala 368:18:shc.marmotcaravel.MarmotCaravelConfig.fir@113279.4]
  assign io_innerCtrl_safe_source_reset_n = AsyncQueueSource_io_async_safe_source_reset_n; // @[Debug.scala 368:18:shc.marmotcaravel.MarmotCaravelConfig.fir@113279.4]
  assign dmi2tl_auto_out_a_ready = dmiXbar_auto_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113265.4]
  assign dmi2tl_auto_out_d_valid = dmiXbar_auto_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113265.4]
  assign dmi2tl_auto_out_d_bits_denied = dmiXbar_auto_in_d_bits_denied; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113265.4]
  assign dmi2tl_auto_out_d_bits_data = dmiXbar_auto_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113265.4]
  assign dmi2tl_auto_out_d_bits_corrupt = dmiXbar_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113265.4]
  assign dmi2tl_io_dmi_req_valid = io_dmi_req_valid; // @[Debug.scala 365:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113271.4]
  assign dmi2tl_io_dmi_req_bits_addr = io_dmi_req_bits_addr; // @[Debug.scala 365:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113271.4]
  assign dmi2tl_io_dmi_req_bits_data = io_dmi_req_bits_data; // @[Debug.scala 365:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113271.4]
  assign dmi2tl_io_dmi_req_bits_op = io_dmi_req_bits_op; // @[Debug.scala 365:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113271.4]
  assign dmi2tl_io_dmi_resp_ready = io_dmi_resp_ready; // @[Debug.scala 365:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113271.4]
  assign dmiXbar_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113244.4]
  assign dmiXbar_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113245.4]
  assign dmiXbar_auto_in_a_valid = dmi2tl_auto_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113265.4]
  assign dmiXbar_auto_in_a_bits_opcode = dmi2tl_auto_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113265.4]
  assign dmiXbar_auto_in_a_bits_address = dmi2tl_auto_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113265.4]
  assign dmiXbar_auto_in_a_bits_mask = dmi2tl_auto_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113265.4]
  assign dmiXbar_auto_in_a_bits_data = dmi2tl_auto_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113265.4]
  assign dmiXbar_auto_in_d_ready = dmi2tl_auto_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113265.4]
  assign dmiXbar_auto_out_1_a_ready = dmOuter_auto_dmi_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113267.4]
  assign dmiXbar_auto_out_1_d_valid = dmOuter_auto_dmi_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113267.4]
  assign dmiXbar_auto_out_1_d_bits_opcode = dmOuter_auto_dmi_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113267.4]
  assign dmiXbar_auto_out_1_d_bits_data = dmOuter_auto_dmi_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113267.4]
  assign dmiXbar_auto_out_0_a_ready = asource_auto_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
  assign dmiXbar_auto_out_0_d_valid = asource_auto_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
  assign dmiXbar_auto_out_0_d_bits_opcode = asource_auto_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
  assign dmiXbar_auto_out_0_d_bits_param = asource_auto_in_d_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
  assign dmiXbar_auto_out_0_d_bits_size = asource_auto_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
  assign dmiXbar_auto_out_0_d_bits_source = asource_auto_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
  assign dmiXbar_auto_out_0_d_bits_sink = asource_auto_in_d_bits_sink; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
  assign dmiXbar_auto_out_0_d_bits_denied = asource_auto_in_d_bits_denied; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
  assign dmiXbar_auto_out_0_d_bits_data = asource_auto_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
  assign dmiXbar_auto_out_0_d_bits_corrupt = asource_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
  assign dmOuter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113251.4]
  assign dmOuter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113252.4]
  assign dmOuter_auto_dmi_in_a_valid = dmiXbar_auto_out_1_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113267.4]
  assign dmOuter_auto_dmi_in_a_bits_opcode = dmiXbar_auto_out_1_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113267.4]
  assign dmOuter_auto_dmi_in_a_bits_address = dmiXbar_auto_out_1_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113267.4]
  assign dmOuter_auto_dmi_in_a_bits_mask = dmiXbar_auto_out_1_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113267.4]
  assign dmOuter_auto_dmi_in_a_bits_data = dmiXbar_auto_out_1_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113267.4]
  assign dmOuter_auto_dmi_in_d_ready = dmiXbar_auto_out_1_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113267.4]
  assign intsource_auto_in_0 = dmOuter_auto_int_out_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113268.4]
  assign asource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113263.4]
  assign asource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113264.4]
  assign asource_auto_in_a_valid = dmiXbar_auto_out_0_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
  assign asource_auto_in_a_bits_opcode = dmiXbar_auto_out_0_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
  assign asource_auto_in_a_bits_address = dmiXbar_auto_out_0_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
  assign asource_auto_in_a_bits_mask = dmiXbar_auto_out_0_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
  assign asource_auto_in_a_bits_data = dmiXbar_auto_out_0_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
  assign asource_auto_in_d_ready = dmiXbar_auto_out_0_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@113266.4]
  assign asource_auto_out_a_ridx = auto_asource_out_a_ridx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
  assign asource_auto_out_a_safe_ridx_valid = auto_asource_out_a_safe_ridx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
  assign asource_auto_out_a_safe_sink_reset_n = auto_asource_out_a_safe_sink_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
  assign asource_auto_out_d_mem_0_opcode = auto_asource_out_d_mem_0_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
  assign asource_auto_out_d_mem_0_size = auto_asource_out_d_mem_0_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
  assign asource_auto_out_d_mem_0_source = auto_asource_out_d_mem_0_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
  assign asource_auto_out_d_mem_0_data = auto_asource_out_d_mem_0_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
  assign asource_auto_out_d_widx = auto_asource_out_d_widx; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
  assign asource_auto_out_d_safe_widx_valid = auto_asource_out_d_safe_widx_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
  assign asource_auto_out_d_safe_source_reset_n = auto_asource_out_d_safe_source_reset_n; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113270.4]
  assign AsyncQueueSource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113274.4]
  assign AsyncQueueSource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113275.4]
  assign AsyncQueueSource_io_enq_valid = dmOuter_io_innerCtrl_valid; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@113277.4]
  assign AsyncQueueSource_io_enq_bits_resumereq = dmOuter_io_innerCtrl_bits_resumereq; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@113276.4]
  assign AsyncQueueSource_io_enq_bits_hartsel = dmOuter_io_innerCtrl_bits_hartsel; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@113276.4]
  assign AsyncQueueSource_io_enq_bits_ackhavereset = dmOuter_io_innerCtrl_bits_ackhavereset; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@113276.4]
  assign AsyncQueueSource_io_async_ridx = io_innerCtrl_ridx; // @[Debug.scala 368:18:shc.marmotcaravel.MarmotCaravelConfig.fir@113279.4]
  assign AsyncQueueSource_io_async_safe_ridx_valid = io_innerCtrl_safe_ridx_valid; // @[Debug.scala 368:18:shc.marmotcaravel.MarmotCaravelConfig.fir@113279.4]
  assign AsyncQueueSource_io_async_safe_sink_reset_n = io_innerCtrl_safe_sink_reset_n; // @[Debug.scala 368:18:shc.marmotcaravel.MarmotCaravelConfig.fir@113279.4]
endmodule
module TLMonitor_51( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113288.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113289.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113290.4]
  input        io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
  input        io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
  input  [2:0] io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
  input  [2:0] io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
  input  [1:0] io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
  input        io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
  input  [8:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
  input  [3:0] io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
  input        io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
  input        io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
  input        io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
  input  [2:0] io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
  input  [1:0] io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
  input        io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@113291.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@114685.4]
  wire  _T_20; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@113306.6]
  wire [4:0] _T_29; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@113311.6]
  wire [1:0] _T_30; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@113312.6]
  wire [1:0] _T_31; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@113313.6]
  wire [8:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@113314.6]
  wire [8:0] _T_32; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@113314.6]
  wire  _T_33; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113315.6]
  wire  _T_35; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113317.6]
  wire [1:0] _T_36; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@113318.6]
  wire [1:0] _T_38; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@113320.6]
  wire  _T_39; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113321.6]
  wire  _T_40; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113322.6]
  wire  _T_41; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113323.6]
  wire  _T_42; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@113324.6]
  wire  _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@113326.6]
  wire  _T_45; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113327.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@113329.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113330.6]
  wire  _T_49; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113331.6]
  wire  _T_50; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113332.6]
  wire  _T_51; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@113333.6]
  wire  _T_52; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113334.6]
  wire  _T_53; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@113335.6]
  wire  _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113336.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113337.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@113338.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113339.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113340.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@113341.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113342.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113343.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@113344.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113345.6]
  wire [1:0] _T_64; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@113346.6]
  wire [1:0] _T_65; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@113347.6]
  wire [3:0] _T_66; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@113348.6]
  wire [9:0] _T_70; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113352.6]
  wire  _T_78; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113364.6]
  wire [9:0] _T_82; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113369.8]
  wire [9:0] _T_83; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113370.8]
  wire  _T_84; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113371.8]
  wire [8:0] _T_85; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113372.8]
  wire [9:0] _T_86; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113373.8]
  wire [9:0] _T_87; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113374.8]
  wire [9:0] _T_88; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113375.8]
  wire  _T_89; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113376.8]
  wire [8:0] _T_90; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113377.8]
  wire [9:0] _T_91; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113378.8]
  wire [9:0] _T_92; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113379.8]
  wire [9:0] _T_93; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113380.8]
  wire  _T_94; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113381.8]
  wire [8:0] _T_95; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113382.8]
  wire [9:0] _T_96; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113383.8]
  wire [9:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113384.8]
  wire [9:0] _T_98; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113385.8]
  wire  _T_99; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113386.8]
  wire [8:0] _T_100; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113387.8]
  wire [9:0] _T_101; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113388.8]
  wire [9:0] _T_102; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113389.8]
  wire [9:0] _T_103; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113390.8]
  wire  _T_104; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113391.8]
  wire [8:0] _T_105; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113392.8]
  wire [9:0] _T_106; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113393.8]
  wire [9:0] _T_107; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113394.8]
  wire [9:0] _T_108; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113395.8]
  wire  _T_109; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113396.8]
  wire [8:0] _T_110; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113397.8]
  wire [9:0] _T_111; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113398.8]
  wire [9:0] _T_112; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113399.8]
  wire [9:0] _T_113; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113400.8]
  wire  _T_114; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113401.8]
  wire  _T_115; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113402.8]
  wire  _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113403.8]
  wire  _T_117; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113404.8]
  wire  _T_118; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113405.8]
  wire  _T_119; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113406.8]
  wire  _T_120; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113407.8]
  wire  _T_125; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113412.8]
  wire  _T_130; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113425.8]
  wire  _T_131; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113426.8]
  wire  _T_134; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113433.8]
  wire  _T_135; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113434.8]
  wire  _T_137; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113440.8]
  wire  _T_138; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113441.8]
  wire  _T_139; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113446.8]
  wire  _T_141; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113448.8]
  wire  _T_142; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113449.8]
  wire [3:0] _T_143; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@113454.8]
  wire  _T_144; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113455.8]
  wire  _T_146; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113457.8]
  wire  _T_147; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113458.8]
  wire  _T_148; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@113463.8]
  wire  _T_150; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113465.8]
  wire  _T_151; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113466.8]
  wire  _T_152; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113472.6]
  wire  _T_217; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113562.8]
  wire  _T_219; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113564.8]
  wire  _T_220; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113565.8]
  wire  _T_230; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113588.6]
  wire  _T_232; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113591.8]
  wire  _T_276; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@113635.8]
  wire  _T_279; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113638.8]
  wire  _T_280; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113639.8]
  wire  _T_287; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113658.8]
  wire  _T_289; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113660.8]
  wire  _T_290; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113661.8]
  wire  _T_291; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113666.8]
  wire  _T_293; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113668.8]
  wire  _T_294; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113669.8]
  wire  _T_299; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113683.6]
  wire  _T_364; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113770.6]
  wire [3:0] _T_425; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113848.8]
  wire [3:0] _T_426; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113849.8]
  wire  _T_427; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@113850.8]
  wire  _T_429; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113852.8]
  wire  _T_430; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113853.8]
  wire  _T_431; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113859.6]
  wire  _T_485; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@113926.8]
  wire  _T_487; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113928.8]
  wire  _T_488; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113929.8]
  wire  _T_493; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113943.6]
  wire  _T_547; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@114010.8]
  wire  _T_549; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114012.8]
  wire  _T_550; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114013.8]
  wire  _T_555; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114027.6]
  wire  _T_617; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114113.6]
  wire  _T_619; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114115.6]
  wire  _T_620; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114116.6]
  wire  _T_621; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@114121.6]
  wire  _T_630; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114126.6]
  wire  _T_632; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114129.8]
  wire  _T_633; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114130.8]
  wire  _T_634; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114135.8]
  wire  _T_636; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114137.8]
  wire  _T_637; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114138.8]
  wire  _T_650; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114168.6]
  wire  _T_678; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114226.6]
  wire  _T_707; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114285.6]
  wire  _T_724; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114320.6]
  wire  _T_742; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114356.6]
  wire  _T_771; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114416.4]
  reg  _T_781; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114425.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_782; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114426.4]
  wire [1:0] _T_783; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114427.4]
  wire  _T_784; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114428.4]
  wire  _T_785; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114429.4]
  reg [2:0] _T_794; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114440.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_796; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114441.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_798; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114442.4]
  reg [31:0] _RAND_3;
  reg  _T_800; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114443.4]
  reg [31:0] _RAND_4;
  reg [8:0] _T_802; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114444.4]
  reg [31:0] _RAND_5;
  wire  _T_803; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114445.4]
  wire  _T_804; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@114446.4]
  wire  _T_805; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114448.6]
  wire  _T_807; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114450.6]
  wire  _T_808; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114451.6]
  wire  _T_809; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114456.6]
  wire  _T_811; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114458.6]
  wire  _T_812; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114459.6]
  wire  _T_813; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114464.6]
  wire  _T_815; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114466.6]
  wire  _T_816; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114467.6]
  wire  _T_817; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114472.6]
  wire  _T_819; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114474.6]
  wire  _T_820; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114475.6]
  wire  _T_821; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114480.6]
  wire  _T_823; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114482.6]
  wire  _T_824; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114483.6]
  wire  _T_826; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@114490.4]
  wire  _T_827; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114498.4]
  reg  _T_836; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114506.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_837; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114507.4]
  wire [1:0] _T_838; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114508.4]
  wire  _T_839; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114509.4]
  wire  _T_840; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114510.4]
  reg [2:0] _T_849; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114521.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_853; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114523.4]
  reg [31:0] _RAND_8;
  reg  _T_855; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114524.4]
  reg [31:0] _RAND_9;
  wire  _T_860; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114527.4]
  wire  _T_861; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@114528.4]
  wire  _T_862; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114530.6]
  wire  _T_864; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114532.6]
  wire  _T_865; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114533.6]
  wire  _T_870; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114546.6]
  wire  _T_872; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114548.6]
  wire  _T_873; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114549.6]
  wire  _T_874; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114554.6]
  wire  _T_876; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114556.6]
  wire  _T_877; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114557.6]
  wire  _T_887; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@114580.4]
  reg  _T_889; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114589.4]
  reg [31:0] _RAND_10;
  reg  _T_900; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114599.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_901; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114600.4]
  wire [1:0] _T_902; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114601.4]
  wire  _T_903; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114602.4]
  wire  _T_904; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114603.4]
  reg  _T_921; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114622.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_922; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114623.4]
  wire [1:0] _T_923; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114624.4]
  wire  _T_924; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114625.4]
  wire  _T_925; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114626.4]
  wire  _T_936; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114641.4]
  wire [1:0] _T_938; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@114644.6]
  wire  _T_939; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@114646.6]
  wire  _T_941; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114648.6]
  wire  _T_943; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114650.6]
  wire  _T_944; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114651.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@114643.4]
  wire  _T_949; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114662.4]
  wire  _T_951; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@114664.4]
  wire  _T_952; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@114665.4]
  wire [1:0] _T_953; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@114667.6]
  wire  _T_934; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114637.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@114639.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114645.6]
  wire  _T_954; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@114669.6]
  wire  _T_955; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@114670.6]
  wire  _T_958; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114673.6]
  wire  _T_959; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114674.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@114666.4]
  wire  _T_960; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114680.4]
  wire  _T_946; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114657.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@114659.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114668.6]
  wire  _T_961; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114681.4]
  wire  _T_962; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@114682.4]
  reg [31:0] _T_964; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114684.4]
  reg [31:0] _RAND_13;
  wire  _T_966; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114688.4]
  wire  _T_967; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@114689.4]
  wire  _T_968; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114690.4]
  wire  _T_969; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@114691.4]
  wire  _T_970; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@114692.4]
  wire  _T_972; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114694.4]
  wire  _T_973; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114695.4]
  wire [31:0] _T_975; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@114701.4]
  wire  _T_978; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114705.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113414.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113522.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113641.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113736.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113823.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113909.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113993.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114077.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114132.10]
  wire  _GEN_119; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114174.10]
  wire  _GEN_125; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114232.10]
  wire  _GEN_131; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114291.10]
  wire  _GEN_133; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114326.10]
  wire  _GEN_135; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114362.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@114685.4]
    .out(plusarg_reader_out)
  );
  assign _T_20 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@113306.6]
  assign _T_29 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@113311.6]
  assign _T_30 = _T_29[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@113312.6]
  assign _T_31 = ~ _T_30; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@113313.6]
  assign _GEN_18 = {{7'd0}, _T_31}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@113314.6]
  assign _T_32 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@113314.6]
  assign _T_33 = _T_32 == 9'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@113315.6]
  assign _T_35 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113317.6]
  assign _T_36 = 2'h1 << _T_35; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@113318.6]
  assign _T_38 = _T_36 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@113320.6]
  assign _T_39 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@113321.6]
  assign _T_40 = _T_38[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113322.6]
  assign _T_41 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113323.6]
  assign _T_42 = _T_41 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@113324.6]
  assign _T_44 = _T_40 & _T_42; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@113326.6]
  assign _T_45 = _T_39 | _T_44; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113327.6]
  assign _T_47 = _T_40 & _T_41; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@113329.6]
  assign _T_48 = _T_39 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113330.6]
  assign _T_49 = _T_38[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113331.6]
  assign _T_50 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@113332.6]
  assign _T_51 = _T_50 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@113333.6]
  assign _T_52 = _T_42 & _T_51; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113334.6]
  assign _T_53 = _T_49 & _T_52; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@113335.6]
  assign _T_54 = _T_45 | _T_53; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113336.6]
  assign _T_55 = _T_42 & _T_50; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113337.6]
  assign _T_56 = _T_49 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@113338.6]
  assign _T_57 = _T_45 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113339.6]
  assign _T_58 = _T_41 & _T_51; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113340.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@113341.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113342.6]
  assign _T_61 = _T_41 & _T_50; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113343.6]
  assign _T_62 = _T_49 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@113344.6]
  assign _T_63 = _T_48 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@113345.6]
  assign _T_64 = {_T_57,_T_54}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@113346.6]
  assign _T_65 = {_T_63,_T_60}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@113347.6]
  assign _T_66 = {_T_65,_T_64}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@113348.6]
  assign _T_70 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113352.6]
  assign _T_78 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113364.6]
  assign _T_82 = $signed(_T_70) & $signed(-10'sh40); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113369.8]
  assign _T_83 = $signed(_T_82); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113370.8]
  assign _T_84 = $signed(_T_83) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113371.8]
  assign _T_85 = io_in_a_bits_address ^ 9'h44; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113372.8]
  assign _T_86 = {1'b0,$signed(_T_85)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113373.8]
  assign _T_87 = $signed(_T_86) & $signed(-10'sh4); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113374.8]
  assign _T_88 = $signed(_T_87); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113375.8]
  assign _T_89 = $signed(_T_88) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113376.8]
  assign _T_90 = io_in_a_bits_address ^ 9'h48; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113377.8]
  assign _T_91 = {1'b0,$signed(_T_90)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113378.8]
  assign _T_92 = $signed(_T_91) & $signed(-10'sh8); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113379.8]
  assign _T_93 = $signed(_T_92); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113380.8]
  assign _T_94 = $signed(_T_93) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113381.8]
  assign _T_95 = io_in_a_bits_address ^ 9'h50; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113382.8]
  assign _T_96 = {1'b0,$signed(_T_95)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113383.8]
  assign _T_97 = $signed(_T_96) & $signed(-10'sh10); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113384.8]
  assign _T_98 = $signed(_T_97); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113385.8]
  assign _T_99 = $signed(_T_98) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113386.8]
  assign _T_100 = io_in_a_bits_address ^ 9'h60; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113387.8]
  assign _T_101 = {1'b0,$signed(_T_100)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113388.8]
  assign _T_102 = $signed(_T_101) & $signed(-10'sh20); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113389.8]
  assign _T_103 = $signed(_T_102); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113390.8]
  assign _T_104 = $signed(_T_103) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113391.8]
  assign _T_105 = io_in_a_bits_address ^ 9'h80; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113392.8]
  assign _T_106 = {1'b0,$signed(_T_105)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113393.8]
  assign _T_107 = $signed(_T_106) & $signed(-10'sh80); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113394.8]
  assign _T_108 = $signed(_T_107); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113395.8]
  assign _T_109 = $signed(_T_108) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113396.8]
  assign _T_110 = io_in_a_bits_address ^ 9'h100; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@113397.8]
  assign _T_111 = {1'b0,$signed(_T_110)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@113398.8]
  assign _T_112 = $signed(_T_111) & $signed(-10'sh100); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113399.8]
  assign _T_113 = $signed(_T_112); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@113400.8]
  assign _T_114 = $signed(_T_113) == $signed(10'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@113401.8]
  assign _T_115 = _T_84 | _T_89; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113402.8]
  assign _T_116 = _T_115 | _T_94; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113403.8]
  assign _T_117 = _T_116 | _T_99; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113404.8]
  assign _T_118 = _T_117 | _T_104; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113405.8]
  assign _T_119 = _T_118 | _T_109; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113406.8]
  assign _T_120 = _T_119 | _T_114; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113407.8]
  assign _T_125 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113412.8]
  assign _T_130 = _T_20 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113425.8]
  assign _T_131 = _T_130 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113426.8]
  assign _T_134 = _T_39 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113433.8]
  assign _T_135 = _T_134 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113434.8]
  assign _T_137 = _T_33 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113440.8]
  assign _T_138 = _T_137 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113441.8]
  assign _T_139 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113446.8]
  assign _T_141 = _T_139 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113448.8]
  assign _T_142 = _T_141 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113449.8]
  assign _T_143 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@113454.8]
  assign _T_144 = _T_143 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113455.8]
  assign _T_146 = _T_144 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113457.8]
  assign _T_147 = _T_146 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113458.8]
  assign _T_148 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@113463.8]
  assign _T_150 = _T_148 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113465.8]
  assign _T_151 = _T_150 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113466.8]
  assign _T_152 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113472.6]
  assign _T_217 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113562.8]
  assign _T_219 = _T_217 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113564.8]
  assign _T_220 = _T_219 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113565.8]
  assign _T_230 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113588.6]
  assign _T_232 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@113591.8]
  assign _T_276 = _T_232 & _T_120; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@113635.8]
  assign _T_279 = _T_276 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113638.8]
  assign _T_280 = _T_279 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113639.8]
  assign _T_287 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113658.8]
  assign _T_289 = _T_287 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113660.8]
  assign _T_290 = _T_289 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113661.8]
  assign _T_291 = io_in_a_bits_mask == _T_66; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@113666.8]
  assign _T_293 = _T_291 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113668.8]
  assign _T_294 = _T_293 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113669.8]
  assign _T_299 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113683.6]
  assign _T_364 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113770.6]
  assign _T_425 = ~ _T_66; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@113848.8]
  assign _T_426 = io_in_a_bits_mask & _T_425; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@113849.8]
  assign _T_427 = _T_426 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@113850.8]
  assign _T_429 = _T_427 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113852.8]
  assign _T_430 = _T_429 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113853.8]
  assign _T_431 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113859.6]
  assign _T_485 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@113926.8]
  assign _T_487 = _T_485 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113928.8]
  assign _T_488 = _T_487 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113929.8]
  assign _T_493 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@113943.6]
  assign _T_547 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@114010.8]
  assign _T_549 = _T_547 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114012.8]
  assign _T_550 = _T_549 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114013.8]
  assign _T_555 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114027.6]
  assign _T_617 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114113.6]
  assign _T_619 = _T_617 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114115.6]
  assign _T_620 = _T_619 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114116.6]
  assign _T_621 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@114121.6]
  assign _T_630 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114126.6]
  assign _T_632 = _T_621 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114129.8]
  assign _T_633 = _T_632 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114130.8]
  assign _T_634 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114135.8]
  assign _T_636 = _T_634 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114137.8]
  assign _T_637 = _T_636 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114138.8]
  assign _T_650 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114168.6]
  assign _T_678 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114226.6]
  assign _T_707 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114285.6]
  assign _T_724 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114320.6]
  assign _T_742 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114356.6]
  assign _T_771 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114416.4]
  assign _T_782 = _T_781 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114426.4]
  assign _T_783 = $unsigned(_T_782); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114427.4]
  assign _T_784 = _T_783[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114428.4]
  assign _T_785 = _T_781 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114429.4]
  assign _T_803 = _T_785 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114445.4]
  assign _T_804 = io_in_a_valid & _T_803; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@114446.4]
  assign _T_805 = io_in_a_bits_opcode == _T_794; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114448.6]
  assign _T_807 = _T_805 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114450.6]
  assign _T_808 = _T_807 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114451.6]
  assign _T_809 = io_in_a_bits_param == _T_796; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114456.6]
  assign _T_811 = _T_809 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114458.6]
  assign _T_812 = _T_811 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114459.6]
  assign _T_813 = io_in_a_bits_size == _T_798; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114464.6]
  assign _T_815 = _T_813 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114466.6]
  assign _T_816 = _T_815 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114467.6]
  assign _T_817 = io_in_a_bits_source == _T_800; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114472.6]
  assign _T_819 = _T_817 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114474.6]
  assign _T_820 = _T_819 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114475.6]
  assign _T_821 = io_in_a_bits_address == _T_802; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114480.6]
  assign _T_823 = _T_821 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114482.6]
  assign _T_824 = _T_823 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114483.6]
  assign _T_826 = _T_771 & _T_785; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@114490.4]
  assign _T_827 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114498.4]
  assign _T_837 = _T_836 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114507.4]
  assign _T_838 = $unsigned(_T_837); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114508.4]
  assign _T_839 = _T_838[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114509.4]
  assign _T_840 = _T_836 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114510.4]
  assign _T_860 = _T_840 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@114527.4]
  assign _T_861 = io_in_d_valid & _T_860; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@114528.4]
  assign _T_862 = io_in_d_bits_opcode == _T_849; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114530.6]
  assign _T_864 = _T_862 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114532.6]
  assign _T_865 = _T_864 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114533.6]
  assign _T_870 = io_in_d_bits_size == _T_853; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114546.6]
  assign _T_872 = _T_870 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114548.6]
  assign _T_873 = _T_872 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114549.6]
  assign _T_874 = io_in_d_bits_source == _T_855; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114554.6]
  assign _T_876 = _T_874 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114556.6]
  assign _T_877 = _T_876 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114557.6]
  assign _T_887 = _T_827 & _T_840; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@114580.4]
  assign _T_901 = _T_900 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114600.4]
  assign _T_902 = $unsigned(_T_901); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114601.4]
  assign _T_903 = _T_902[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114602.4]
  assign _T_904 = _T_900 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114603.4]
  assign _T_922 = _T_921 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114623.4]
  assign _T_923 = $unsigned(_T_922); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114624.4]
  assign _T_924 = _T_923[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114625.4]
  assign _T_925 = _T_921 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114626.4]
  assign _T_936 = _T_771 & _T_904; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114641.4]
  assign _T_938 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@114644.6]
  assign _T_939 = _T_889 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@114646.6]
  assign _T_941 = _T_939 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114648.6]
  assign _T_943 = _T_941 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114650.6]
  assign _T_944 = _T_943 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114651.6]
  assign _GEN_15 = _T_936 ? _T_938 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@114643.4]
  assign _T_949 = _T_827 & _T_925; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114662.4]
  assign _T_951 = _T_630 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@114664.4]
  assign _T_952 = _T_949 & _T_951; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@114665.4]
  assign _T_953 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@114667.6]
  assign _T_934 = _GEN_15[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114637.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@114639.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114645.6]
  assign _T_954 = _T_934 | _T_889; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@114669.6]
  assign _T_955 = _T_954 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@114670.6]
  assign _T_958 = _T_955 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114673.6]
  assign _T_959 = _T_958 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114674.6]
  assign _GEN_16 = _T_952 ? _T_953 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@114666.4]
  assign _T_960 = _T_889 | _T_934; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114680.4]
  assign _T_946 = _GEN_16[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114657.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@114659.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114668.6]
  assign _T_961 = ~ _T_946; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114681.4]
  assign _T_962 = _T_960 & _T_961; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@114682.4]
  assign _T_966 = _T_889 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114688.4]
  assign _T_967 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@114689.4]
  assign _T_968 = _T_966 | _T_967; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114690.4]
  assign _T_969 = _T_964 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@114691.4]
  assign _T_970 = _T_968 | _T_969; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@114692.4]
  assign _T_972 = _T_970 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114694.4]
  assign _T_973 = _T_972 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114695.4]
  assign _T_975 = _T_964 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@114701.4]
  assign _T_978 = _T_771 | _T_827; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114705.4]
  assign _GEN_19 = io_in_a_valid & _T_78; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113414.10]
  assign _GEN_35 = io_in_a_valid & _T_152; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113522.10]
  assign _GEN_53 = io_in_a_valid & _T_230; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113641.10]
  assign _GEN_65 = io_in_a_valid & _T_299; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113736.10]
  assign _GEN_75 = io_in_a_valid & _T_364; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113823.10]
  assign _GEN_85 = io_in_a_valid & _T_431; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113909.10]
  assign _GEN_95 = io_in_a_valid & _T_493; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113993.10]
  assign _GEN_105 = io_in_a_valid & _T_555; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114077.10]
  assign _GEN_115 = io_in_d_valid & _T_630; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114132.10]
  assign _GEN_119 = io_in_d_valid & _T_650; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114174.10]
  assign _GEN_125 = io_in_d_valid & _T_678; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114232.10]
  assign _GEN_131 = io_in_d_valid & _T_707; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114291.10]
  assign _GEN_133 = io_in_d_valid & _T_724; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114326.10]
  assign _GEN_135 = io_in_d_valid & _T_742; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114362.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_781 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_794 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_796 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_798 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_800 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_802 = _RAND_5[8:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_836 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_849 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_853 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_855 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_889 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_900 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_921 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_964 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_781 <= 1'h0;
    end else begin
      if (_T_771) begin
        if (_T_785) begin
          _T_781 <= 1'h0;
        end else begin
          _T_781 <= _T_784;
        end
      end
    end
    if (_T_826) begin
      _T_794 <= io_in_a_bits_opcode;
    end
    if (_T_826) begin
      _T_796 <= io_in_a_bits_param;
    end
    if (_T_826) begin
      _T_798 <= io_in_a_bits_size;
    end
    if (_T_826) begin
      _T_800 <= io_in_a_bits_source;
    end
    if (_T_826) begin
      _T_802 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_836 <= 1'h0;
    end else begin
      if (_T_827) begin
        if (_T_840) begin
          _T_836 <= 1'h0;
        end else begin
          _T_836 <= _T_839;
        end
      end
    end
    if (_T_887) begin
      _T_849 <= io_in_d_bits_opcode;
    end
    if (_T_887) begin
      _T_853 <= io_in_d_bits_size;
    end
    if (_T_887) begin
      _T_855 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_889 <= 1'h0;
    end else begin
      _T_889 <= _T_962;
    end
    if (reset) begin
      _T_900 <= 1'h0;
    end else begin
      if (_T_771) begin
        if (_T_904) begin
          _T_900 <= 1'h0;
        end else begin
          _T_900 <= _T_903;
        end
      end
    end
    if (reset) begin
      _T_921 <= 1'h0;
    end else begin
      if (_T_827) begin
        if (_T_925) begin
          _T_921 <= 1'h0;
        end else begin
          _T_921 <= _T_924;
        end
      end
    end
    if (reset) begin
      _T_964 <= 32'h0;
    end else begin
      if (_T_978) begin
        _T_964 <= 32'h0;
      end else begin
        _T_964 <= _T_975;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at Debug.scala:1058:19)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@113303.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@113304.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@113361.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@113362.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at Debug.scala:1058:19)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113414.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113415.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Debug.scala:1058:19)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113421.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113422.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_131) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113428.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_131) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113429.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_135) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Debug.scala:1058:19)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113436.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_135) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113437.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_138) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Debug.scala:1058:19)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113443.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_138) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113444.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_142) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Debug.scala:1058:19)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113451.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_142) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113452.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_147) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Debug.scala:1058:19)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113460.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_147) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113461.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_151) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Debug.scala:1058:19)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113468.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_151) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113469.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at Debug.scala:1058:19)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113522.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_125) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113523.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Debug.scala:1058:19)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113529.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_125) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113530.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_131) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113536.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_131) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113537.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_135) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Debug.scala:1058:19)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113544.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_135) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113545.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_138) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Debug.scala:1058:19)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113551.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_138) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113552.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_142) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Debug.scala:1058:19)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113559.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_142) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113560.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_220) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Debug.scala:1058:19)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113567.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_220) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113568.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_147) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Debug.scala:1058:19)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113576.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_147) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113577.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_151) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Debug.scala:1058:19)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113584.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_151) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113585.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_280) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at Debug.scala:1058:19)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113641.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_280) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113642.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_131) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113648.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_131) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113649.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_138) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at Debug.scala:1058:19)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113655.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_138) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113656.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_290) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at Debug.scala:1058:19)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113663.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_290) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113664.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_294) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at Debug.scala:1058:19)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113671.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_294) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113672.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_151) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at Debug.scala:1058:19)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113679.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_151) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113680.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_280) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at Debug.scala:1058:19)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113736.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_280) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113737.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_131) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113743.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_131) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113744.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_138) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at Debug.scala:1058:19)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113750.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_138) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113751.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_290) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at Debug.scala:1058:19)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113758.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_290) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113759.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_294) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at Debug.scala:1058:19)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113766.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_294) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113767.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_280) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at Debug.scala:1058:19)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113823.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_280) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113824.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_131) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113830.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_131) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113831.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_138) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Debug.scala:1058:19)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113837.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_138) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113838.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_290) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at Debug.scala:1058:19)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113845.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_290) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113846.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_430) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Debug.scala:1058:19)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113855.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_430) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113856.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at Debug.scala:1058:19)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113909.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_125) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113910.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_131) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113916.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_131) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113917.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_138) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Debug.scala:1058:19)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113923.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_138) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113924.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_488) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Debug.scala:1058:19)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113931.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_488) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113932.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_294) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Debug.scala:1058:19)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113939.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_294) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113940.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at Debug.scala:1058:19)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113993.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_125) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@113994.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_131) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114000.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_131) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114001.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_138) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at Debug.scala:1058:19)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114007.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_138) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114008.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_550) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Debug.scala:1058:19)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114015.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_550) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114016.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_294) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at Debug.scala:1058:19)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114023.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_294) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114024.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at Debug.scala:1058:19)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114077.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_125) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114078.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_131) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114084.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_131) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114085.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_138) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at Debug.scala:1058:19)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114091.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_138) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114092.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_294) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at Debug.scala:1058:19)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114099.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_294) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114100.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_151) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at Debug.scala:1058:19)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114107.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_151) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114108.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_620) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at Debug.scala:1058:19)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114118.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_620) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114119.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_633) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114132.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_633) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114133.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_637) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Debug.scala:1058:19)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114140.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_637) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114141.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at Debug.scala:1058:19)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114148.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114149.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at Debug.scala:1058:19)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114156.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114157.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at Debug.scala:1058:19)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114164.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114165.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_633) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114174.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_633) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114175.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114181.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_125) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114182.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_637) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at Debug.scala:1058:19)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114189.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_637) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114190.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at Debug.scala:1058:19)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114197.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114198.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at Debug.scala:1058:19)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114205.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114206.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at Debug.scala:1058:19)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114213.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114214.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at Debug.scala:1058:19)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114222.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114223.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_633) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114232.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_633) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114233.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114239.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_125) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114240.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_637) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at Debug.scala:1058:19)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114247.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_637) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114248.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at Debug.scala:1058:19)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114255.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114256.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at Debug.scala:1058:19)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114263.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114264.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at Debug.scala:1058:19)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114272.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114273.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at Debug.scala:1058:19)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114281.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114282.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_131 & _T_633) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114291.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_131 & _T_633) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114292.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at Debug.scala:1058:19)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114299.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114300.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at Debug.scala:1058:19)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114307.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114308.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at Debug.scala:1058:19)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114316.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114317.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_133 & _T_633) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114326.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_133 & _T_633) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114327.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at Debug.scala:1058:19)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114334.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114335.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at Debug.scala:1058:19)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114343.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114344.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at Debug.scala:1058:19)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114352.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114353.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_135 & _T_633) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114362.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_135 & _T_633) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114363.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at Debug.scala:1058:19)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114370.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114371.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at Debug.scala:1058:19)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114378.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114379.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at Debug.scala:1058:19)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114387.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114388.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at Debug.scala:1058:19)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114397.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114398.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at Debug.scala:1058:19)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114405.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114406.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at Debug.scala:1058:19)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114413.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114414.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_804 & _T_808) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Debug.scala:1058:19)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114453.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_804 & _T_808) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114454.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_804 & _T_812) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at Debug.scala:1058:19)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114461.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_804 & _T_812) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114462.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_804 & _T_816) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at Debug.scala:1058:19)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114469.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_804 & _T_816) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114470.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_804 & _T_820) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at Debug.scala:1058:19)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114477.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_804 & _T_820) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114478.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_804 & _T_824) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at Debug.scala:1058:19)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114485.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_804 & _T_824) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114486.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_861 & _T_865) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Debug.scala:1058:19)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114535.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_861 & _T_865) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114536.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at Debug.scala:1058:19)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114543.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114544.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_861 & _T_873) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at Debug.scala:1058:19)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114551.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_861 & _T_873) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114552.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_861 & _T_877) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at Debug.scala:1058:19)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114559.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_861 & _T_877) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114560.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at Debug.scala:1058:19)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114567.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114568.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at Debug.scala:1058:19)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114575.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114576.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_936 & _T_944) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at Debug.scala:1058:19)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114653.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_936 & _T_944) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114654.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_952 & _T_959) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Debug.scala:1058:19)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114676.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_952 & _T_959) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@114677.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_973) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at Debug.scala:1058:19)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114697.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_973) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114698.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_52( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114717.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114718.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114719.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
  input  [11:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@114720.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@115847.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@114747.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@114748.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@114749.6]
  wire [11:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114750.6]
  wire [11:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114750.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114751.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@114753.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114754.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@114756.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@114757.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@114758.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@114759.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@114760.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114762.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114763.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114765.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114766.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@114767.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@114768.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@114769.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114770.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114771.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114772.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114773.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114774.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114775.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114776.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114777.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114778.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114779.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114780.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114781.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114782.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114783.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114784.6]
  wire [12:0] _T_84; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@114795.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114807.6]
  wire [12:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114812.8]
  wire [12:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114813.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@114814.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114819.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114840.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114841.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114847.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114848.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114853.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114855.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114856.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@114861.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114862.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114864.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114865.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@114870.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114872.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114873.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114879.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114933.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114935.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114936.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114959.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@114962.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@114970.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114973.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114974.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114993.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114995.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114996.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115001.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115003.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115004.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115018.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115069.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@115111.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115112.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@115113.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115115.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115116.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115122.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@115153.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115155.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115156.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115170.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@115201.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115203.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115204.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115218.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@115268.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115270.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115271.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115288.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115297.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115299.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115300.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115330.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115388.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115578.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115587.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115588.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115589.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115590.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115591.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115602.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115603.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115604.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115605.4]
  reg [31:0] _RAND_4;
  reg [11:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115606.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115607.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115608.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115610.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115612.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115613.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115618.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115620.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115621.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115626.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115628.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115629.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115634.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115636.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115637.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115642.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115644.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115645.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@115652.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115660.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115668.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115669.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115670.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115671.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115672.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115683.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115685.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115686.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115689.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115690.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115692.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115694.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115695.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115708.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115710.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115711.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115716.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115718.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115719.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@115742.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115751.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115761.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115762.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115763.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115764.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115765.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115784.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115785.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115786.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115787.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115788.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115803.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@115806.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@115808.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@115809.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115810.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115812.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115813.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@115805.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115824.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@115826.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@115827.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@115829.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@115831.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@115832.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@115833.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115835.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115836.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@115828.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115842.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@115843.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@115844.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115846.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@115849.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115850.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@115851.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115852.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@115853.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@115854.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115856.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115857.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@115863.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115867.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114821.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114893.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114976.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115035.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115086.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115136.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115184.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115232.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115302.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115343.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115401.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@115847.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@114747.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@114748.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@114749.6]
  assign _GEN_18 = {{10'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114750.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@114750.6]
  assign _T_40 = _T_39 == 12'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@114751.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@114753.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114754.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@114756.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@114757.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@114758.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@114759.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@114760.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114762.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114763.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114765.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114766.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@114767.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@114768.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@114769.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114770.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114771.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114772.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114773.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114774.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114775.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114776.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114777.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114778.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114779.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@114780.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@114781.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114782.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114783.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@114784.6]
  assign _T_84 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@114795.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114807.6]
  assign _T_96 = $signed(_T_84) & $signed(-13'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114812.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@114813.8]
  assign _T_98 = $signed(_T_97) == $signed(13'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@114814.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114819.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114840.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114841.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114847.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114848.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@114853.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114855.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114856.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@114861.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114862.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114864.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114865.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@114870.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114872.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114873.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114879.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114933.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114935.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114936.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@114959.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@114962.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@114970.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114973.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114974.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@114993.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114995.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114996.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115001.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115003.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115004.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115018.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115069.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@115111.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115112.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@115113.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115115.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115116.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115122.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@115153.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115155.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115156.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115170.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@115201.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115203.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115204.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115218.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@115268.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115270.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115271.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115288.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115297.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115299.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115300.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115330.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115388.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115578.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115588.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115589.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115590.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115591.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115607.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115608.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115610.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115612.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115613.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115618.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115620.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115621.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115626.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115628.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115629.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115634.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115636.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115637.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115642.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115644.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115645.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@115652.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115660.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115669.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115670.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115671.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115672.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@115689.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115690.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115692.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115694.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115695.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115708.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115710.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115711.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@115716.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115718.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115719.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@115742.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115762.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115763.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115764.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115765.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115785.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115786.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@115787.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115788.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115803.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@115806.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@115808.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@115809.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115810.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115812.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115813.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@115805.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115824.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@115826.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@115827.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@115829.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@115831.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@115832.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@115833.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115835.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115836.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@115828.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115842.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@115843.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@115844.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@115849.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115850.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@115851.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115852.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@115853.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@115854.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115856.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115857.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@115863.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@115867.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114821.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114893.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114976.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115035.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115086.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115136.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115184.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115232.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115302.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115343.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115401.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_514 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_527 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_529 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_531 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_533 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_535 = _RAND_5[11:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_569 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_582 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_586 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_588 = _RAND_9[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {2{`RANDOM}};
  _T_622 = _RAND_10[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_633 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_654 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_697 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_514 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_518) begin
          _T_514 <= 1'h0;
        end else begin
          _T_514 <= _T_517;
        end
      end
    end
    if (_T_559) begin
      _T_527 <= io_in_a_bits_opcode;
    end
    if (_T_559) begin
      _T_529 <= io_in_a_bits_param;
    end
    if (_T_559) begin
      _T_531 <= io_in_a_bits_size;
    end
    if (_T_559) begin
      _T_533 <= io_in_a_bits_source;
    end
    if (_T_559) begin
      _T_535 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_569 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_573) begin
          _T_569 <= 1'h0;
        end else begin
          _T_569 <= _T_572;
        end
      end
    end
    if (_T_620) begin
      _T_582 <= io_in_d_bits_opcode;
    end
    if (_T_620) begin
      _T_586 <= io_in_d_bits_size;
    end
    if (_T_620) begin
      _T_588 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_622 <= 64'h0;
    end else begin
      _T_622 <= _T_695;
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_654 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_658) begin
          _T_654 <= 1'h0;
        end else begin
          _T_654 <= _T_657;
        end
      end
    end
    if (reset) begin
      _T_697 <= 32'h0;
    end else begin
      if (_T_711) begin
        _T_697 <= 32'h0;
      end else begin
        _T_697 <= _T_708;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114732.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114733.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114804.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@114805.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114821.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114822.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114828.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114829.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114835.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114836.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114843.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114844.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114850.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114851.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114858.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114859.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114867.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114868.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114875.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114876.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114893.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114894.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114900.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114901.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114907.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114908.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114915.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114916.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114922.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114923.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114930.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114931.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114938.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114939.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114947.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114948.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114955.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114956.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114976.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114977.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114983.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114984.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114990.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114991.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114998.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@114999.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115006.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115007.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115014.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115015.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115035.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115036.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115042.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115043.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115049.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115050.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115057.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115058.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115065.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115066.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115086.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115087.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115093.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115094.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115100.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115101.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115108.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115109.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115118.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115119.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115136.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115137.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115143.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115144.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115150.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115151.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115158.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115159.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115166.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115167.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115184.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115185.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115191.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115192.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115198.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115199.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115206.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115207.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115214.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115215.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115232.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115233.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115239.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115240.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115246.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115247.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115254.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115255.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115262.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115263.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115273.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115274.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115294.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115295.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115302.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115303.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115310.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115311.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115318.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115319.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115326.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115327.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115336.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115337.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115343.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115344.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115351.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115352.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115359.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115360.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115367.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115368.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115375.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115376.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115384.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115385.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115394.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115395.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115401.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115402.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115409.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115410.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115417.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115418.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115425.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115426.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115434.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115435.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115443.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115444.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115453.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115454.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115461.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115462.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115469.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115470.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115478.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115479.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115488.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115489.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115496.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115497.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115505.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115506.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115514.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115515.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115524.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115525.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115532.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115533.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115540.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115541.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115549.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115550.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115559.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115560.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115567.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115568.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115575.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115576.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115615.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115616.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115623.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115624.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115631.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115632.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115639.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115640.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115647.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115648.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115697.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115698.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115705.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115706.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115713.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115714.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115721.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115722.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115729.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115730.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115737.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@115738.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115815.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115816.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115838.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@115839.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_706) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:71:11)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115859.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_706) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@115860.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLDebugModuleInner( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115872.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115873.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115874.4]
  output        auto_tl_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  input         auto_tl_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  input  [2:0]  auto_tl_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  input  [2:0]  auto_tl_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  input  [1:0]  auto_tl_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  input  [5:0]  auto_tl_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  input  [11:0] auto_tl_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  input  [3:0]  auto_tl_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  input  [31:0] auto_tl_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  input         auto_tl_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  input         auto_tl_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  output        auto_tl_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  output [2:0]  auto_tl_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  output [1:0]  auto_tl_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  output [5:0]  auto_tl_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  output [31:0] auto_tl_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  output        auto_dmi_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  input         auto_dmi_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  input  [2:0]  auto_dmi_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  input  [2:0]  auto_dmi_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  input  [1:0]  auto_dmi_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  input         auto_dmi_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  input  [8:0]  auto_dmi_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  input  [3:0]  auto_dmi_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  input  [31:0] auto_dmi_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  input         auto_dmi_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  input         auto_dmi_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  output        auto_dmi_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  output [2:0]  auto_dmi_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  output [1:0]  auto_dmi_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  output        auto_dmi_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  output [31:0] auto_dmi_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115875.4]
  input         io_dmactive, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115876.4]
  output        io_innerCtrl_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115876.4]
  input         io_innerCtrl_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115876.4]
  input         io_innerCtrl_bits_resumereq, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115876.4]
  input  [9:0]  io_innerCtrl_bits_hartsel, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115876.4]
  input         io_innerCtrl_bits_ackhavereset // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115876.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
  wire [8:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
  wire  TLMonitor_1_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
  wire  TLMonitor_1_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
  wire  TLMonitor_1_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
  wire  TLMonitor_1_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
  wire [2:0] TLMonitor_1_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
  wire [2:0] TLMonitor_1_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
  wire [1:0] TLMonitor_1_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
  wire [5:0] TLMonitor_1_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
  wire [11:0] TLMonitor_1_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
  wire [3:0] TLMonitor_1_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
  wire  TLMonitor_1_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
  wire  TLMonitor_1_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
  wire  TLMonitor_1_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
  wire [2:0] TLMonitor_1_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
  wire [1:0] TLMonitor_1_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
  wire [5:0] TLMonitor_1_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
  reg  haltedBitRegs_0; // @[Debug.scala 432:35:shc.marmotcaravel.MarmotCaravelConfig.fir@115968.4]
  reg [31:0] _RAND_0;
  reg  resumeReqRegs_0; // @[Debug.scala 433:35:shc.marmotcaravel.MarmotCaravelConfig.fir@115972.4]
  reg [31:0] _RAND_1;
  reg  haveResetBitRegs_0; // @[Debug.scala 434:35:shc.marmotcaravel.MarmotCaravelConfig.fir@115976.4]
  reg [31:0] _RAND_2;
  reg [9:0] selectedHartReg; // @[Debug.scala 459:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116155.4]
  reg [31:0] _RAND_3;
  wire  _T_1306; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@116156.4]
  wire  DMSTATUSRdData_anynonexistent; // @[Debug.scala 477:27:shc.marmotcaravel.MarmotCaravelConfig.fir@116211.4]
  wire  _GEN_3; // @[Debug.scala 483:49:shc.marmotcaravel.MarmotCaravelConfig.fir@116222.8]
  wire  DMSTATUSRdData_allhalted; // @[Debug.scala 477:45:shc.marmotcaravel.MarmotCaravelConfig.fir@116212.4]
  wire  DMSTATUSRdData_allrunning; // @[Debug.scala 477:45:shc.marmotcaravel.MarmotCaravelConfig.fir@116212.4]
  wire  resumereq; // @[Debug.scala 493:41:shc.marmotcaravel.MarmotCaravelConfig.fir@116233.4]
  wire  _T_1352; // @[Debug.scala 501:36:shc.marmotcaravel.MarmotCaravelConfig.fir@116240.4]
  wire  _T_1353; // @[Debug.scala 501:71:shc.marmotcaravel.MarmotCaravelConfig.fir@116241.4]
  wire  DMSTATUSRdData_allresumeack; // @[Debug.scala 501:68:shc.marmotcaravel.MarmotCaravelConfig.fir@116242.4]
  wire [31:0] haltedStatus_0; // @[Debug.scala 519:30:shc.marmotcaravel.MarmotCaravelConfig.fir@116274.4 Debug.scala 522:24:shc.marmotcaravel.MarmotCaravelConfig.fir@116276.4]
  wire  haltedSummary; // @[Debug.scala 525:48:shc.marmotcaravel.MarmotCaravelConfig.fir@116277.4]
  wire [31:0] HALTSUM1RdData_haltsum1; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116280.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@116282.4]
  wire [4:0] _T_1384; // @[Debug.scala 528:53:shc.marmotcaravel.MarmotCaravelConfig.fir@116285.4]
  wire  _T_1385; // @[Debug.scala 528:59:shc.marmotcaravel.MarmotCaravelConfig.fir@116286.4]
  wire [31:0] selectedHaltedStatus; // @[Debug.scala 528:35:shc.marmotcaravel.MarmotCaravelConfig.fir@116288.4]
  reg [2:0] ABSTRACTCSReg_cmderr; // @[Debug.scala 539:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116322.4]
  reg [31:0] _RAND_4;
  wire  _T_2720; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@116962.4]
  wire [6:0] _T_2721; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116964.4]
  wire  _T_5124; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119401.4]
  wire  _T_5122; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119399.4]
  wire [1:0] _T_5127; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119404.4]
  wire  _T_5121; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119398.4]
  wire [2:0] _T_5128; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119405.4]
  wire  _T_5120; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119397.4]
  wire  _T_5119; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119396.4]
  wire [1:0] _T_5126; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119403.4]
  wire [4:0] _T_5129; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119406.4]
  wire [6:0] _T_2738; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@116976.4]
  wire  _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117024.4]
  wire  _T_2742; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@116980.4]
  wire  _T_2760; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@116998.4]
  wire  _T_5913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120496.4]
  wire  _T_5914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120497.4]
  wire  _T_5915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120498.4]
  wire [31:0] _T_5174; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@119451.4]
  wire  _T_5181; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119458.4]
  wire  _T_5954; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120551.4]
  wire  _T_5955; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120552.4]
  wire  _T_3130; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@117052.4]
  wire [7:0] _T_3138; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@117060.4]
  wire  _T_3129; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@117051.4]
  wire [7:0] _T_3136; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@117058.4]
  wire [15:0] _T_3140; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117062.4]
  wire  _T_3128; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@117050.4]
  wire [7:0] _T_3134; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@117056.4]
  wire  _T_3127; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@117049.4]
  wire [7:0] _T_3132; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@117054.4]
  wire [15:0] _T_3139; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117061.4]
  wire [31:0] _T_3141; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117063.4]
  wire [31:0] _T_4179; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118286.4]
  wire  _T_4180; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118287.4]
  wire  ABSTRACTCSWrEnMaybe; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118291.4]
  wire [31:0] ABSTRACTCSWrDataVal; // @[Debug.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118295.4]
  wire [2:0] ABSTRACTCSWrData_cmderr; // @[Debug.scala 541:64:shc.marmotcaravel.MarmotCaravelConfig.fir@116335.4]
  reg [1:0] ctrlStateReg; // @[Debug.scala 931:27:shc.marmotcaravel.MarmotCaravelConfig.fir@191401.4]
  reg [31:0] _RAND_5;
  wire  ABSTRACTCSWrEnLegal; // @[Debug.scala 941:44:shc.marmotcaravel.MarmotCaravelConfig.fir@191407.4]
  wire  ABSTRACTCSWrEn; // @[Debug.scala 548:51:shc.marmotcaravel.MarmotCaravelConfig.fir@116359.4]
  wire  _T_1429; // @[Debug.scala 555:10:shc.marmotcaravel.MarmotCaravelConfig.fir@116372.4]
  wire [2:0] _T_1430; // @[Debug.scala 568:58:shc.marmotcaravel.MarmotCaravelConfig.fir@116394.16]
  wire [2:0] _T_1431; // @[Debug.scala 568:56:shc.marmotcaravel.MarmotCaravelConfig.fir@116395.16]
  wire  _T_76325; // @[Debug.scala 994:30:shc.marmotcaravel.MarmotCaravelConfig.fir@191484.6]
  reg [7:0] COMMANDRdData_cmdtype; // @[Debug.scala 618:25:shc.marmotcaravel.MarmotCaravelConfig.fir@116854.4]
  reg [31:0] _RAND_6;
  wire  commandRegIsAccessRegister; // @[Debug.scala 955:58:shc.marmotcaravel.MarmotCaravelConfig.fir@191433.4]
  reg [23:0] COMMANDRdData_control; // @[Debug.scala 618:25:shc.marmotcaravel.MarmotCaravelConfig.fir@116854.4]
  reg [31:0] _RAND_7;
  wire [31:0] _T_20900; // @[Debug.scala 791:104:shc.marmotcaravel.MarmotCaravelConfig.fir@133675.4]
  wire  accessRegisterCommandReg_transfer; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@133685.4]
  wire  accessRegisterCommandReg_write; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@133683.4]
  wire  _T_76315; // @[Debug.scala 973:19:shc.marmotcaravel.MarmotCaravelConfig.fir@191453.8]
  wire [15:0] accessRegisterCommandReg_regno; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@133681.4]
  wire  _T_76310; // @[Debug.scala 963:58:shc.marmotcaravel.MarmotCaravelConfig.fir@191442.4]
  wire  _T_76311; // @[Debug.scala 963:104:shc.marmotcaravel.MarmotCaravelConfig.fir@191443.4]
  wire  accessRegIsGPR; // @[Debug.scala 963:70:shc.marmotcaravel.MarmotCaravelConfig.fir@191444.4]
  wire  _T_76316; // @[Debug.scala 973:54:shc.marmotcaravel.MarmotCaravelConfig.fir@191454.8]
  wire  _GEN_5644; // @[Debug.scala 973:73:shc.marmotcaravel.MarmotCaravelConfig.fir@191455.8]
  wire  commandRegIsUnsupported; // @[Debug.scala 970:39:shc.marmotcaravel.MarmotCaravelConfig.fir@191445.4]
  wire  _T_76317; // @[Debug.scala 975:36:shc.marmotcaravel.MarmotCaravelConfig.fir@191457.10]
  wire  _GEN_5645; // @[Debug.scala 973:73:shc.marmotcaravel.MarmotCaravelConfig.fir@191455.8]
  wire  commandRegBadHaltResume; // @[Debug.scala 970:39:shc.marmotcaravel.MarmotCaravelConfig.fir@191445.4]
  wire  _GEN_5661; // @[Debug.scala 1001:38:shc.marmotcaravel.MarmotCaravelConfig.fir@191486.8]
  wire  _GEN_5674; // @[Debug.scala 994:59:shc.marmotcaravel.MarmotCaravelConfig.fir@191485.6]
  wire  errorHaltResume; // @[Debug.scala 986:47:shc.marmotcaravel.MarmotCaravelConfig.fir@191468.4]
  wire  _T_5182; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119459.4]
  wire  _T_5960; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120559.4]
  wire  _T_5961; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120560.4]
  wire  COMMANDWrEnMaybe; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118976.4]
  wire  COMMANDWrEn; // @[Debug.scala 626:40:shc.marmotcaravel.MarmotCaravelConfig.fir@116879.4]
  wire [31:0] COMMANDWrDataVal; // @[Debug.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118980.4]
  wire [7:0] COMMANDWrData_cmdtype; // @[Debug.scala 621:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116865.4]
  wire  commandWrIsAccessRegister; // @[Debug.scala 954:60:shc.marmotcaravel.MarmotCaravelConfig.fir@191432.4]
  wire  _T_76318; // @[Debug.scala 979:48:shc.marmotcaravel.MarmotCaravelConfig.fir@191461.4]
  wire  _T_76319; // @[Debug.scala 979:103:shc.marmotcaravel.MarmotCaravelConfig.fir@191462.4]
  wire  wrAccessRegisterCommand; // @[Debug.scala 979:78:shc.marmotcaravel.MarmotCaravelConfig.fir@191463.4]
  wire  _T_5179; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119456.4]
  wire  _T_5942; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120533.4]
  wire  _T_5943; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120534.4]
  wire [7:0] _T_4914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119151.4]
  wire [7:0] _T_4915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119152.4]
  wire  _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119153.4]
  wire  dmiAbstractDataWrEnMaybe_0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119157.4]
  wire  _T_5679; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120160.4]
  wire  _T_5706; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120195.4]
  wire  _T_5707; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120196.4]
  wire  _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119150.4]
  wire  dmiAbstractDataRdEn_0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119155.4]
  wire  dmiAbstractDataAccessVec_0; // @[Debug.scala 599:105:shc.marmotcaravel.MarmotCaravelConfig.fir@116466.4]
  reg [11:0] ABSTRACTAUTOReg_autoexecdata; // @[Debug.scala 580:36:shc.marmotcaravel.MarmotCaravelConfig.fir@116418.4]
  reg [31:0] _RAND_8;
  wire  _T_2156; // @[Debug.scala 610:54:shc.marmotcaravel.MarmotCaravelConfig.fir@116764.4]
  wire  autoexecData_0; // @[Debug.scala 610:140:shc.marmotcaravel.MarmotCaravelConfig.fir@116776.4]
  wire  _T_5191; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119468.4]
  wire  _T_6014; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120624.4]
  wire  _T_6015; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120625.4]
  wire  dmiProgramBufferWrEnMaybe_0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117863.4]
  wire  _T_5778; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120286.4]
  wire  _T_5779; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120287.4]
  wire  dmiProgramBufferRdEn_0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117861.4]
  wire  dmiProgramBufferAccessVec_0; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116543.4]
  reg [15:0] ABSTRACTAUTOReg_autoexecprogbuf; // @[Debug.scala 580:36:shc.marmotcaravel.MarmotCaravelConfig.fir@116418.4]
  reg [31:0] _RAND_9;
  wire  _T_2169; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116778.4]
  wire  autoexecProg_0; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116794.4]
  wire  _T_5192; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119469.4]
  wire  _T_6020; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120635.4]
  wire  _T_6021; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120636.4]
  wire  dmiProgramBufferWrEnMaybe_4; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117611.4]
  wire  _T_5784; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120297.4]
  wire  _T_5785; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120298.4]
  wire  dmiProgramBufferRdEn_4; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117609.4]
  wire  dmiProgramBufferAccessVec_4; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116547.4]
  wire  _T_2170; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116779.4]
  wire  autoexecProg_1; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116796.4]
  wire  _T_2201; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116826.4]
  wire  _T_5193; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119470.4]
  wire  _T_6026; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120646.4]
  wire  _T_6027; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120647.4]
  wire  dmiProgramBufferWrEnMaybe_8; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117989.4]
  wire  _T_5790; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120308.4]
  wire  _T_5791; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120309.4]
  wire  dmiProgramBufferRdEn_8; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117987.4]
  wire  dmiProgramBufferAccessVec_8; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116551.4]
  wire  _T_2171; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116780.4]
  wire  autoexecProg_2; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116798.4]
  wire  _T_2202; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116827.4]
  wire  _T_5194; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119471.4]
  wire  _T_6032; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120657.4]
  wire  _T_6033; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120658.4]
  wire  dmiProgramBufferWrEnMaybe_12; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118573.4]
  wire  _T_5796; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120319.4]
  wire  _T_5797; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120320.4]
  wire  dmiProgramBufferRdEn_12; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118571.4]
  wire  dmiProgramBufferAccessVec_12; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116555.4]
  wire  _T_2172; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116781.4]
  wire  autoexecProg_3; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116800.4]
  wire  _T_2203; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116828.4]
  wire  _T_5195; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119472.4]
  wire  _T_6038; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120668.4]
  wire  _T_6039; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120669.4]
  wire  dmiProgramBufferWrEnMaybe_16; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119006.4]
  wire  _T_5802; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120330.4]
  wire  _T_5803; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120331.4]
  wire  dmiProgramBufferRdEn_16; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119004.4]
  wire  dmiProgramBufferAccessVec_16; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116559.4]
  wire  _T_2173; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116782.4]
  wire  autoexecProg_4; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116802.4]
  wire  _T_2204; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116829.4]
  wire  _T_5196; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119473.4]
  wire  _T_6044; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120679.4]
  wire  _T_6045; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120680.4]
  wire  dmiProgramBufferWrEnMaybe_20; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117233.4]
  wire  _T_5808; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120341.4]
  wire  _T_5809; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120342.4]
  wire  dmiProgramBufferRdEn_20; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117231.4]
  wire  dmiProgramBufferAccessVec_20; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116563.4]
  wire  _T_2174; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116783.4]
  wire  autoexecProg_5; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116804.4]
  wire  _T_2205; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116830.4]
  wire  _T_5197; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119474.4]
  wire  _T_6050; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120690.4]
  wire  _T_6051; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120691.4]
  wire  dmiProgramBufferWrEnMaybe_24; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117485.4]
  wire  _T_5814; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120352.4]
  wire  _T_5815; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120353.4]
  wire  dmiProgramBufferRdEn_24; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117483.4]
  wire  dmiProgramBufferAccessVec_24; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116567.4]
  wire  _T_2175; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116784.4]
  wire  autoexecProg_6; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116806.4]
  wire  _T_2206; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116831.4]
  wire  _T_5198; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119475.4]
  wire  _T_6056; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120701.4]
  wire  _T_6057; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120702.4]
  wire  dmiProgramBufferWrEnMaybe_28; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118447.4]
  wire  _T_5820; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120363.4]
  wire  _T_5821; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120364.4]
  wire  dmiProgramBufferRdEn_28; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118445.4]
  wire  dmiProgramBufferAccessVec_28; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116571.4]
  wire  _T_2176; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116785.4]
  wire  autoexecProg_7; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116808.4]
  wire  _T_2207; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116832.4]
  wire  _T_5199; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119476.4]
  wire  _T_6062; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120712.4]
  wire  _T_6063; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120713.4]
  wire  dmiProgramBufferWrEnMaybe_32; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118850.4]
  wire  _T_5826; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120374.4]
  wire  _T_5827; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120375.4]
  wire  dmiProgramBufferRdEn_32; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118848.4]
  wire  dmiProgramBufferAccessVec_32; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116575.4]
  wire  _T_2177; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116786.4]
  wire  autoexecProg_8; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116810.4]
  wire  _T_2208; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116833.4]
  wire  _T_5200; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119477.4]
  wire  _T_6068; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120723.4]
  wire  _T_6069; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120724.4]
  wire  dmiProgramBufferWrEnMaybe_36; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117737.4]
  wire  _T_5832; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120385.4]
  wire  _T_5833; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120386.4]
  wire  dmiProgramBufferRdEn_36; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117735.4]
  wire  dmiProgramBufferAccessVec_36; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116579.4]
  wire  _T_2178; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116787.4]
  wire  autoexecProg_9; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116812.4]
  wire  _T_2209; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116834.4]
  wire  _T_5201; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119478.4]
  wire  _T_6074; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120734.4]
  wire  _T_6075; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120735.4]
  wire  dmiProgramBufferWrEnMaybe_40; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117077.4]
  wire  _T_5838; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120396.4]
  wire  _T_5839; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120397.4]
  wire  dmiProgramBufferRdEn_40; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117075.4]
  wire  dmiProgramBufferAccessVec_40; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116583.4]
  wire  _T_2179; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116788.4]
  wire  autoexecProg_10; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116814.4]
  wire  _T_2210; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116835.4]
  wire  _T_5202; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119479.4]
  wire  _T_6080; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120745.4]
  wire  _T_6081; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120746.4]
  wire  dmiProgramBufferWrEnMaybe_44; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118724.4]
  wire  _T_5844; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120407.4]
  wire  _T_5845; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120408.4]
  wire  dmiProgramBufferRdEn_44; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118722.4]
  wire  dmiProgramBufferAccessVec_44; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116587.4]
  wire  _T_2180; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116789.4]
  wire  autoexecProg_11; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116816.4]
  wire  _T_2211; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116836.4]
  wire  _T_5203; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119480.4]
  wire  _T_6086; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120756.4]
  wire  _T_6087; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120757.4]
  wire  dmiProgramBufferWrEnMaybe_48; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118321.4]
  wire  _T_5850; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120418.4]
  wire  _T_5851; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120419.4]
  wire  dmiProgramBufferRdEn_48; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118319.4]
  wire  dmiProgramBufferAccessVec_48; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116591.4]
  wire  _T_2181; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116790.4]
  wire  autoexecProg_12; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116818.4]
  wire  _T_2212; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116837.4]
  wire  _T_5204; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119481.4]
  wire  _T_6092; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120767.4]
  wire  _T_6093; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120768.4]
  wire  dmiProgramBufferWrEnMaybe_52; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118115.4]
  wire  _T_5856; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120429.4]
  wire  _T_5857; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120430.4]
  wire  dmiProgramBufferRdEn_52; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118113.4]
  wire  dmiProgramBufferAccessVec_52; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116595.4]
  wire  _T_2182; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116791.4]
  wire  autoexecProg_13; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116820.4]
  wire  _T_2213; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116838.4]
  wire  _T_5205; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119482.4]
  wire  _T_6098; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120778.4]
  wire  _T_6099; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120779.4]
  wire  dmiProgramBufferWrEnMaybe_56; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117359.4]
  wire  _T_5862; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120440.4]
  wire  _T_5863; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120441.4]
  wire  dmiProgramBufferRdEn_56; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117357.4]
  wire  dmiProgramBufferAccessVec_56; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116599.4]
  wire  _T_2183; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116792.4]
  wire  autoexecProg_14; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116822.4]
  wire  _T_2214; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116839.4]
  wire  _T_5206; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119483.4]
  wire  _T_6104; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120789.4]
  wire  _T_6105; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120790.4]
  wire  dmiProgramBufferWrEnMaybe_60; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119283.4]
  wire  _T_5868; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120451.4]
  wire  _T_5869; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120452.4]
  wire  dmiProgramBufferRdEn_60; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119281.4]
  wire  dmiProgramBufferAccessVec_60; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116603.4]
  wire  _T_2184; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116793.4]
  wire  autoexecProg_15; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116824.4]
  wire  _T_2215; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116840.4]
  wire  autoexec; // @[Debug.scala 613:48:shc.marmotcaravel.MarmotCaravelConfig.fir@116841.4]
  wire  _T_76320; // @[Debug.scala 980:48:shc.marmotcaravel.MarmotCaravelConfig.fir@191464.4]
  wire  regAccessRegisterCommand; // @[Debug.scala 980:78:shc.marmotcaravel.MarmotCaravelConfig.fir@191466.4]
  wire  _T_76323; // @[Debug.scala 987:37:shc.marmotcaravel.MarmotCaravelConfig.fir@191469.6]
  wire  _T_76307; // @[Debug.scala 957:49:shc.marmotcaravel.MarmotCaravelConfig.fir@191434.4]
  wire  commandWrIsUnsupported; // @[Debug.scala 957:46:shc.marmotcaravel.MarmotCaravelConfig.fir@191435.4]
  wire  _T_76324; // @[Debug.scala 991:28:shc.marmotcaravel.MarmotCaravelConfig.fir@191478.10]
  wire  _GEN_5651; // @[Debug.scala 989:43:shc.marmotcaravel.MarmotCaravelConfig.fir@191474.8]
  wire  _GEN_5653; // @[Debug.scala 987:66:shc.marmotcaravel.MarmotCaravelConfig.fir@191470.6]
  wire  _GEN_5672; // @[Debug.scala 994:59:shc.marmotcaravel.MarmotCaravelConfig.fir@191485.6]
  wire  errorUnsupported; // @[Debug.scala 986:47:shc.marmotcaravel.MarmotCaravelConfig.fir@191468.4]
  wire  _T_76326; // @[Debug.scala 1015:30:shc.marmotcaravel.MarmotCaravelConfig.fir@191506.8]
  wire  _T_23037; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@135850.4]
  wire [9:0] _T_23038; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@135852.4]
  wire  _T_59792; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168065.4]
  wire  _T_59791; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168064.4]
  wire [1:0] _T_59798; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168071.4]
  wire  _T_59790; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168063.4]
  wire [2:0] _T_59799; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168072.4]
  wire  _T_59789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168062.4]
  wire  _T_59788; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168061.4]
  wire [1:0] _T_59797; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168070.4]
  wire [4:0] _T_59800; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168073.4]
  wire  _T_59787; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168060.4]
  wire  _T_59786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168059.4]
  wire [1:0] _T_59795; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168068.4]
  wire  _T_59785; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168058.4]
  wire  _T_59784; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168057.4]
  wire [1:0] _T_59794; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168067.4]
  wire [3:0] _T_59796; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168069.4]
  wire [8:0] _T_59801; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168074.4]
  wire [9:0] _T_23055; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@135864.4]
  wire  _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@135898.4]
  wire  _T_23609; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136418.4]
  wire  _T_71632; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@184975.4]
  wire  _T_71633; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@184976.4]
  wire  _T_71634; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@184977.4]
  wire [511:0] _T_60333; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@168606.4]
  wire  _T_60401; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168674.4]
  wire  _T_72039; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185536.4]
  wire  _T_72040; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185537.4]
  wire  _T_28433; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@136494.4]
  wire [7:0] _T_28441; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@136502.4]
  wire  _T_28432; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@136493.4]
  wire [7:0] _T_28439; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@136500.4]
  wire [15:0] _T_28443; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136504.4]
  wire  _T_28431; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@136492.4]
  wire [7:0] _T_28437; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@136498.4]
  wire  _T_28430; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@136491.4]
  wire [7:0] _T_28435; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@136496.4]
  wire [15:0] _T_28442; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136503.4]
  wire [31:0] _T_28444; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136505.4]
  wire [9:0] _T_50731; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@158942.4]
  wire [9:0] _T_50732; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@158943.4]
  wire  _T_50733; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@158944.4]
  wire  hartExceptionWrEn; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@158948.4]
  wire  _GEN_5670; // @[Debug.scala 1015:51:shc.marmotcaravel.MarmotCaravelConfig.fir@191507.8]
  wire  _GEN_5676; // @[Debug.scala 994:59:shc.marmotcaravel.MarmotCaravelConfig.fir@191485.6]
  wire  errorException; // @[Debug.scala 986:47:shc.marmotcaravel.MarmotCaravelConfig.fir@191468.4]
  wire  _T_76293; // @[Debug.scala 947:45:shc.marmotcaravel.MarmotCaravelConfig.fir@191417.4]
  wire  _T_76294; // @[Debug.scala 947:42:shc.marmotcaravel.MarmotCaravelConfig.fir@191418.4]
  wire  _T_5183; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119460.4]
  wire  _T_5966; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120567.4]
  wire  _T_5967; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120568.4]
  wire  ABSTRACTAUTOWrEnMaybe; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117203.4]
  wire  _T_76296; // @[Debug.scala 948:42:shc.marmotcaravel.MarmotCaravelConfig.fir@191420.4]
  wire  _T_76297; // @[Debug.scala 947:74:shc.marmotcaravel.MarmotCaravelConfig.fir@191421.4]
  wire  _T_76299; // @[Debug.scala 949:42:shc.marmotcaravel.MarmotCaravelConfig.fir@191423.4]
  wire  _T_76300; // @[Debug.scala 948:74:shc.marmotcaravel.MarmotCaravelConfig.fir@191424.4]
  wire [7:0] _T_4939; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119181.4]
  wire [7:0] _T_4940; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119182.4]
  wire  _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119183.4]
  wire  dmiAbstractDataWrEnMaybe_1; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119187.4]
  wire  _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119180.4]
  wire  dmiAbstractDataRdEn_1; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119185.4]
  wire  dmiAbstractDataAccessVec_1; // @[Debug.scala 599:105:shc.marmotcaravel.MarmotCaravelConfig.fir@116467.4]
  wire  _T_1962; // @[Debug.scala 604:68:shc.marmotcaravel.MarmotCaravelConfig.fir@116671.4]
  wire [7:0] _T_4966; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119213.4]
  wire [7:0] _T_4967; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119214.4]
  wire  _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119215.4]
  wire  dmiAbstractDataWrEnMaybe_2; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119219.4]
  wire  _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119212.4]
  wire  dmiAbstractDataRdEn_2; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119217.4]
  wire  dmiAbstractDataAccessVec_2; // @[Debug.scala 599:105:shc.marmotcaravel.MarmotCaravelConfig.fir@116468.4]
  wire  _T_1963; // @[Debug.scala 604:68:shc.marmotcaravel.MarmotCaravelConfig.fir@116672.4]
  wire [7:0] _T_4993; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119245.4]
  wire [7:0] _T_4994; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119246.4]
  wire  _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119247.4]
  wire  dmiAbstractDataWrEnMaybe_3; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119251.4]
  wire  _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119244.4]
  wire  dmiAbstractDataRdEn_3; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119249.4]
  wire  dmiAbstractDataAccessVec_3; // @[Debug.scala 599:105:shc.marmotcaravel.MarmotCaravelConfig.fir@116469.4]
  wire  dmiAbstractDataAccess; // @[Debug.scala 604:68:shc.marmotcaravel.MarmotCaravelConfig.fir@116673.4]
  wire  _T_76302; // @[Debug.scala 950:42:shc.marmotcaravel.MarmotCaravelConfig.fir@191426.4]
  wire  _T_76303; // @[Debug.scala 949:74:shc.marmotcaravel.MarmotCaravelConfig.fir@191427.4]
  wire  dmiProgramBufferWrEnMaybe_1; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117893.4]
  wire  dmiProgramBufferRdEn_1; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117891.4]
  wire  dmiProgramBufferAccessVec_1; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116544.4]
  wire  _T_1964; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116674.4]
  wire  dmiProgramBufferWrEnMaybe_2; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117925.4]
  wire  dmiProgramBufferRdEn_2; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117923.4]
  wire  dmiProgramBufferAccessVec_2; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116545.4]
  wire  _T_1965; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116675.4]
  wire  dmiProgramBufferWrEnMaybe_3; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117957.4]
  wire  dmiProgramBufferRdEn_3; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117955.4]
  wire  dmiProgramBufferAccessVec_3; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116546.4]
  wire  _T_1966; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116676.4]
  wire  _T_1967; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116677.4]
  wire  dmiProgramBufferWrEnMaybe_5; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117641.4]
  wire  dmiProgramBufferRdEn_5; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117639.4]
  wire  dmiProgramBufferAccessVec_5; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116548.4]
  wire  _T_1968; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116678.4]
  wire  dmiProgramBufferWrEnMaybe_6; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117673.4]
  wire  dmiProgramBufferRdEn_6; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117671.4]
  wire  dmiProgramBufferAccessVec_6; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116549.4]
  wire  _T_1969; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116679.4]
  wire  dmiProgramBufferWrEnMaybe_7; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117705.4]
  wire  dmiProgramBufferRdEn_7; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117703.4]
  wire  dmiProgramBufferAccessVec_7; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116550.4]
  wire  _T_1970; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116680.4]
  wire  _T_1971; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116681.4]
  wire  dmiProgramBufferWrEnMaybe_9; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118019.4]
  wire  dmiProgramBufferRdEn_9; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118017.4]
  wire  dmiProgramBufferAccessVec_9; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116552.4]
  wire  _T_1972; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116682.4]
  wire  dmiProgramBufferWrEnMaybe_10; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118051.4]
  wire  dmiProgramBufferRdEn_10; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118049.4]
  wire  dmiProgramBufferAccessVec_10; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116553.4]
  wire  _T_1973; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116683.4]
  wire  dmiProgramBufferWrEnMaybe_11; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118083.4]
  wire  dmiProgramBufferRdEn_11; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118081.4]
  wire  dmiProgramBufferAccessVec_11; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116554.4]
  wire  _T_1974; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116684.4]
  wire  _T_1975; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116685.4]
  wire  dmiProgramBufferWrEnMaybe_13; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118603.4]
  wire  dmiProgramBufferRdEn_13; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118601.4]
  wire  dmiProgramBufferAccessVec_13; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116556.4]
  wire  _T_1976; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116686.4]
  wire  dmiProgramBufferWrEnMaybe_14; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118635.4]
  wire  dmiProgramBufferRdEn_14; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118633.4]
  wire  dmiProgramBufferAccessVec_14; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116557.4]
  wire  _T_1977; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116687.4]
  wire  dmiProgramBufferWrEnMaybe_15; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118667.4]
  wire  dmiProgramBufferRdEn_15; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118665.4]
  wire  dmiProgramBufferAccessVec_15; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116558.4]
  wire  _T_1978; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116688.4]
  wire  _T_1979; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116689.4]
  wire  dmiProgramBufferWrEnMaybe_17; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119036.4]
  wire  dmiProgramBufferRdEn_17; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119034.4]
  wire  dmiProgramBufferAccessVec_17; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116560.4]
  wire  _T_1980; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116690.4]
  wire  dmiProgramBufferWrEnMaybe_18; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119068.4]
  wire  dmiProgramBufferRdEn_18; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119066.4]
  wire  dmiProgramBufferAccessVec_18; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116561.4]
  wire  _T_1981; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116691.4]
  wire  dmiProgramBufferWrEnMaybe_19; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119100.4]
  wire  dmiProgramBufferRdEn_19; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119098.4]
  wire  dmiProgramBufferAccessVec_19; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116562.4]
  wire  _T_1982; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116692.4]
  wire  _T_1983; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116693.4]
  wire  dmiProgramBufferWrEnMaybe_21; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117263.4]
  wire  dmiProgramBufferRdEn_21; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117261.4]
  wire  dmiProgramBufferAccessVec_21; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116564.4]
  wire  _T_1984; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116694.4]
  wire  dmiProgramBufferWrEnMaybe_22; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117295.4]
  wire  dmiProgramBufferRdEn_22; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117293.4]
  wire  dmiProgramBufferAccessVec_22; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116565.4]
  wire  _T_1985; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116695.4]
  wire  dmiProgramBufferWrEnMaybe_23; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117327.4]
  wire  dmiProgramBufferRdEn_23; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117325.4]
  wire  dmiProgramBufferAccessVec_23; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116566.4]
  wire  _T_1986; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116696.4]
  wire  _T_1987; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116697.4]
  wire  dmiProgramBufferWrEnMaybe_25; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117515.4]
  wire  dmiProgramBufferRdEn_25; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117513.4]
  wire  dmiProgramBufferAccessVec_25; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116568.4]
  wire  _T_1988; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116698.4]
  wire  dmiProgramBufferWrEnMaybe_26; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117547.4]
  wire  dmiProgramBufferRdEn_26; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117545.4]
  wire  dmiProgramBufferAccessVec_26; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116569.4]
  wire  _T_1989; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116699.4]
  wire  dmiProgramBufferWrEnMaybe_27; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117579.4]
  wire  dmiProgramBufferRdEn_27; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117577.4]
  wire  dmiProgramBufferAccessVec_27; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116570.4]
  wire  _T_1990; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116700.4]
  wire  _T_1991; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116701.4]
  wire  dmiProgramBufferWrEnMaybe_29; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118477.4]
  wire  dmiProgramBufferRdEn_29; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118475.4]
  wire  dmiProgramBufferAccessVec_29; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116572.4]
  wire  _T_1992; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116702.4]
  wire  dmiProgramBufferWrEnMaybe_30; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118509.4]
  wire  dmiProgramBufferRdEn_30; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118507.4]
  wire  dmiProgramBufferAccessVec_30; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116573.4]
  wire  _T_1993; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116703.4]
  wire  dmiProgramBufferWrEnMaybe_31; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118541.4]
  wire  dmiProgramBufferRdEn_31; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118539.4]
  wire  dmiProgramBufferAccessVec_31; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116574.4]
  wire  _T_1994; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116704.4]
  wire  _T_1995; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116705.4]
  wire  dmiProgramBufferWrEnMaybe_33; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118880.4]
  wire  dmiProgramBufferRdEn_33; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118878.4]
  wire  dmiProgramBufferAccessVec_33; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116576.4]
  wire  _T_1996; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116706.4]
  wire  dmiProgramBufferWrEnMaybe_34; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118912.4]
  wire  dmiProgramBufferRdEn_34; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118910.4]
  wire  dmiProgramBufferAccessVec_34; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116577.4]
  wire  _T_1997; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116707.4]
  wire  dmiProgramBufferWrEnMaybe_35; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118944.4]
  wire  dmiProgramBufferRdEn_35; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118942.4]
  wire  dmiProgramBufferAccessVec_35; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116578.4]
  wire  _T_1998; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116708.4]
  wire  _T_1999; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116709.4]
  wire  dmiProgramBufferWrEnMaybe_37; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117767.4]
  wire  dmiProgramBufferRdEn_37; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117765.4]
  wire  dmiProgramBufferAccessVec_37; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116580.4]
  wire  _T_2000; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116710.4]
  wire  dmiProgramBufferWrEnMaybe_38; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117799.4]
  wire  dmiProgramBufferRdEn_38; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117797.4]
  wire  dmiProgramBufferAccessVec_38; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116581.4]
  wire  _T_2001; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116711.4]
  wire  dmiProgramBufferWrEnMaybe_39; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117831.4]
  wire  dmiProgramBufferRdEn_39; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117829.4]
  wire  dmiProgramBufferAccessVec_39; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116582.4]
  wire  _T_2002; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116712.4]
  wire  _T_2003; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116713.4]
  wire  dmiProgramBufferWrEnMaybe_41; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117107.4]
  wire  dmiProgramBufferRdEn_41; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117105.4]
  wire  dmiProgramBufferAccessVec_41; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116584.4]
  wire  _T_2004; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116714.4]
  wire  dmiProgramBufferWrEnMaybe_42; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117139.4]
  wire  dmiProgramBufferRdEn_42; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117137.4]
  wire  dmiProgramBufferAccessVec_42; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116585.4]
  wire  _T_2005; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116715.4]
  wire  dmiProgramBufferWrEnMaybe_43; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117171.4]
  wire  dmiProgramBufferRdEn_43; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117169.4]
  wire  dmiProgramBufferAccessVec_43; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116586.4]
  wire  _T_2006; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116716.4]
  wire  _T_2007; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116717.4]
  wire  dmiProgramBufferWrEnMaybe_45; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118754.4]
  wire  dmiProgramBufferRdEn_45; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118752.4]
  wire  dmiProgramBufferAccessVec_45; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116588.4]
  wire  _T_2008; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116718.4]
  wire  dmiProgramBufferWrEnMaybe_46; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118786.4]
  wire  dmiProgramBufferRdEn_46; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118784.4]
  wire  dmiProgramBufferAccessVec_46; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116589.4]
  wire  _T_2009; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116719.4]
  wire  dmiProgramBufferWrEnMaybe_47; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118818.4]
  wire  dmiProgramBufferRdEn_47; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118816.4]
  wire  dmiProgramBufferAccessVec_47; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116590.4]
  wire  _T_2010; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116720.4]
  wire  _T_2011; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116721.4]
  wire  dmiProgramBufferWrEnMaybe_49; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118351.4]
  wire  dmiProgramBufferRdEn_49; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118349.4]
  wire  dmiProgramBufferAccessVec_49; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116592.4]
  wire  _T_2012; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116722.4]
  wire  dmiProgramBufferWrEnMaybe_50; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118383.4]
  wire  dmiProgramBufferRdEn_50; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118381.4]
  wire  dmiProgramBufferAccessVec_50; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116593.4]
  wire  _T_2013; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116723.4]
  wire  dmiProgramBufferWrEnMaybe_51; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118415.4]
  wire  dmiProgramBufferRdEn_51; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118413.4]
  wire  dmiProgramBufferAccessVec_51; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116594.4]
  wire  _T_2014; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116724.4]
  wire  _T_2015; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116725.4]
  wire  dmiProgramBufferWrEnMaybe_53; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118145.4]
  wire  dmiProgramBufferRdEn_53; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118143.4]
  wire  dmiProgramBufferAccessVec_53; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116596.4]
  wire  _T_2016; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116726.4]
  wire  dmiProgramBufferWrEnMaybe_54; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118177.4]
  wire  dmiProgramBufferRdEn_54; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118175.4]
  wire  dmiProgramBufferAccessVec_54; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116597.4]
  wire  _T_2017; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116727.4]
  wire  dmiProgramBufferWrEnMaybe_55; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118209.4]
  wire  dmiProgramBufferRdEn_55; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118207.4]
  wire  dmiProgramBufferAccessVec_55; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116598.4]
  wire  _T_2018; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116728.4]
  wire  _T_2019; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116729.4]
  wire  dmiProgramBufferWrEnMaybe_57; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117389.4]
  wire  dmiProgramBufferRdEn_57; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117387.4]
  wire  dmiProgramBufferAccessVec_57; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116600.4]
  wire  _T_2020; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116730.4]
  wire  dmiProgramBufferWrEnMaybe_58; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117421.4]
  wire  dmiProgramBufferRdEn_58; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117419.4]
  wire  dmiProgramBufferAccessVec_58; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116601.4]
  wire  _T_2021; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116731.4]
  wire  dmiProgramBufferWrEnMaybe_59; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117453.4]
  wire  dmiProgramBufferRdEn_59; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117451.4]
  wire  dmiProgramBufferAccessVec_59; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116602.4]
  wire  _T_2022; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116732.4]
  wire  _T_2023; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116733.4]
  wire  dmiProgramBufferWrEnMaybe_61; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119313.4]
  wire  dmiProgramBufferRdEn_61; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119311.4]
  wire  dmiProgramBufferAccessVec_61; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116604.4]
  wire  _T_2024; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116734.4]
  wire  dmiProgramBufferWrEnMaybe_62; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119345.4]
  wire  dmiProgramBufferRdEn_62; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119343.4]
  wire  dmiProgramBufferAccessVec_62; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116605.4]
  wire  _T_2025; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116735.4]
  wire  dmiProgramBufferWrEnMaybe_63; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119377.4]
  wire  dmiProgramBufferRdEn_63; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119375.4]
  wire  dmiProgramBufferAccessVec_63; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116606.4]
  wire  dmiProgramBufferAccess; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116736.4]
  wire  _T_76305; // @[Debug.scala 951:42:shc.marmotcaravel.MarmotCaravelConfig.fir@191429.4]
  wire  errorBusy; // @[Debug.scala 950:74:shc.marmotcaravel.MarmotCaravelConfig.fir@191430.4]
  wire [31:0] ABSTRACTAUTOWrDataVal; // @[Debug.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117207.4]
  wire [11:0] ABSTRACTAUTOWrData_autoexecdata; // @[Debug.scala 582:68:shc.marmotcaravel.MarmotCaravelConfig.fir@116427.4]
  wire [15:0] ABSTRACTAUTOWrData_autoexecprogbuf; // @[Debug.scala 582:68:shc.marmotcaravel.MarmotCaravelConfig.fir@116431.4]
  wire  ABSTRACTAUTOWrEn; // @[Debug.scala 589:55:shc.marmotcaravel.MarmotCaravelConfig.fir@116445.4]
  wire [11:0] _T_1457; // @[Debug.scala 595:71:shc.marmotcaravel.MarmotCaravelConfig.fir@116454.8]
  wire [23:0] COMMANDWrData_control; // @[Debug.scala 621:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116863.4]
  reg [7:0] abstractDataMem_0; // @[Debug.scala 641:36:shc.marmotcaravel.MarmotCaravelConfig.fir@116889.4]
  reg [31:0] _RAND_10;
  reg [7:0] abstractDataMem_1; // @[Debug.scala 641:36:shc.marmotcaravel.MarmotCaravelConfig.fir@116889.4]
  reg [31:0] _RAND_11;
  reg [7:0] abstractDataMem_2; // @[Debug.scala 641:36:shc.marmotcaravel.MarmotCaravelConfig.fir@116889.4]
  reg [31:0] _RAND_12;
  reg [7:0] abstractDataMem_3; // @[Debug.scala 641:36:shc.marmotcaravel.MarmotCaravelConfig.fir@116889.4]
  reg [31:0] _RAND_13;
  reg [7:0] programBufferMem_0; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_14;
  reg [7:0] programBufferMem_1; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_15;
  reg [7:0] programBufferMem_2; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_16;
  reg [7:0] programBufferMem_3; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_17;
  reg [7:0] programBufferMem_4; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_18;
  reg [7:0] programBufferMem_5; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_19;
  reg [7:0] programBufferMem_6; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_20;
  reg [7:0] programBufferMem_7; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_21;
  reg [7:0] programBufferMem_8; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_22;
  reg [7:0] programBufferMem_9; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_23;
  reg [7:0] programBufferMem_10; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_24;
  reg [7:0] programBufferMem_11; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_25;
  reg [7:0] programBufferMem_12; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_26;
  reg [7:0] programBufferMem_13; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_27;
  reg [7:0] programBufferMem_14; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_28;
  reg [7:0] programBufferMem_15; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_29;
  reg [7:0] programBufferMem_16; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_30;
  reg [7:0] programBufferMem_17; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_31;
  reg [7:0] programBufferMem_18; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_32;
  reg [7:0] programBufferMem_19; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_33;
  reg [7:0] programBufferMem_20; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_34;
  reg [7:0] programBufferMem_21; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_35;
  reg [7:0] programBufferMem_22; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_36;
  reg [7:0] programBufferMem_23; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_37;
  reg [7:0] programBufferMem_24; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_38;
  reg [7:0] programBufferMem_25; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_39;
  reg [7:0] programBufferMem_26; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_40;
  reg [7:0] programBufferMem_27; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_41;
  reg [7:0] programBufferMem_28; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_42;
  reg [7:0] programBufferMem_29; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_43;
  reg [7:0] programBufferMem_30; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_44;
  reg [7:0] programBufferMem_31; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_45;
  reg [7:0] programBufferMem_32; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_46;
  reg [7:0] programBufferMem_33; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_47;
  reg [7:0] programBufferMem_34; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_48;
  reg [7:0] programBufferMem_35; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_49;
  reg [7:0] programBufferMem_36; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_50;
  reg [7:0] programBufferMem_37; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_51;
  reg [7:0] programBufferMem_38; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_52;
  reg [7:0] programBufferMem_39; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_53;
  reg [7:0] programBufferMem_40; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_54;
  reg [7:0] programBufferMem_41; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_55;
  reg [7:0] programBufferMem_42; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_56;
  reg [7:0] programBufferMem_43; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_57;
  reg [7:0] programBufferMem_44; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_58;
  reg [7:0] programBufferMem_45; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_59;
  reg [7:0] programBufferMem_46; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_60;
  reg [7:0] programBufferMem_47; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_61;
  reg [7:0] programBufferMem_48; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_62;
  reg [7:0] programBufferMem_49; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_63;
  reg [7:0] programBufferMem_50; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_64;
  reg [7:0] programBufferMem_51; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_65;
  reg [7:0] programBufferMem_52; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_66;
  reg [7:0] programBufferMem_53; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_67;
  reg [7:0] programBufferMem_54; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_68;
  reg [7:0] programBufferMem_55; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_69;
  reg [7:0] programBufferMem_56; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_70;
  reg [7:0] programBufferMem_57; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_71;
  reg [7:0] programBufferMem_58; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_72;
  reg [7:0] programBufferMem_59; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_73;
  reg [7:0] programBufferMem_60; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_74;
  reg [7:0] programBufferMem_61; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_75;
  reg [7:0] programBufferMem_62; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_76;
  reg [7:0] programBufferMem_63; // @[Debug.scala 645:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116893.4]
  reg [31:0] _RAND_77;
  wire [9:0] hartHaltedId; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@151097.4]
  wire  _T_2673; // @[Debug.scala 660:60:shc.marmotcaravel.MarmotCaravelConfig.fir@116904.8]
  wire  _T_60400; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168673.4]
  wire  _T_72033; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185528.4]
  wire  _T_72034; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185529.4]
  wire  hartResumingWrEn; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@155399.4]
  wire  _T_60398; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168671.4]
  wire  _T_72021; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185512.4]
  wire  _T_72022; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185513.4]
  wire  hartHaltedWrEn; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@151096.4]
  wire [1:0] _T_2683; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116930.4]
  wire [1:0] _T_2684; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116931.4]
  wire [2:0] _T_2685; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116932.4]
  wire [4:0] _T_2686; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116933.4]
  wire [12:0] _T_2687; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116934.4]
  wire [1:0] _T_2688; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116935.4]
  wire [1:0] _T_2689; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116936.4]
  wire [2:0] _T_2690; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116937.4]
  wire [4:0] _T_2691; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116938.4]
  wire [1:0] _T_2692; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116939.4]
  wire [13:0] _T_2695; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116942.4]
  wire [18:0] _T_2696; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116943.4]
  wire [31:0] _T_2697; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116944.4]
  wire [3:0] _T_2704; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116951.4]
  wire [11:0] _T_2705; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116952.4]
  wire  abstractCommandBusy; // @[Debug.scala 939:42:shc.marmotcaravel.MarmotCaravelConfig.fir@191405.4]
  wire [11:0] _T_2706; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116953.4]
  wire [19:0] _T_2708; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116955.4]
  wire [31:0] _T_2709; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116956.4]
  wire [19:0] _T_2710; // @[Debug.scala 700:75:shc.marmotcaravel.MarmotCaravelConfig.fir@116957.4]
  wire [31:0] _T_2711; // @[Debug.scala 700:75:shc.marmotcaravel.MarmotCaravelConfig.fir@116958.4]
  wire [2:0] _T_2722; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@116968.4]
  wire [7:0] _T_3156; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117079.4]
  wire [7:0] _T_3181; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117109.4]
  wire [15:0] _T_3191; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117123.4]
  wire [7:0] _T_3208; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117141.4]
  wire [23:0] _T_3218; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117155.4]
  wire [7:0] _T_3235; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117173.4]
  wire [31:0] _T_3245; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117187.4]
  wire [15:0] _T_3322; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117279.4]
  wire [23:0] _T_3349; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117311.4]
  wire [31:0] _T_3376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117343.4]
  wire [15:0] _T_3428; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117405.4]
  wire [23:0] _T_3455; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117437.4]
  wire [31:0] _T_3482; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117469.4]
  wire [15:0] _T_3534; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117531.4]
  wire [23:0] _T_3561; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117563.4]
  wire [31:0] _T_3588; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117595.4]
  wire [15:0] _T_3640; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117657.4]
  wire [23:0] _T_3667; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117689.4]
  wire [31:0] _T_3694; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117721.4]
  wire [15:0] _T_3746; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117783.4]
  wire [23:0] _T_3773; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117815.4]
  wire [31:0] _T_3800; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117847.4]
  wire [15:0] _T_3852; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117909.4]
  wire [23:0] _T_3879; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117941.4]
  wire [31:0] _T_3906; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117973.4]
  wire [15:0] _T_3958; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118035.4]
  wire [23:0] _T_3985; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118067.4]
  wire [31:0] _T_4012; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118099.4]
  wire [15:0] _T_4064; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118161.4]
  wire [23:0] _T_4091; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118193.4]
  wire [31:0] _T_4118; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118225.4]
  wire [15:0] _T_4245; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118367.4]
  wire [23:0] _T_4272; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118399.4]
  wire [31:0] _T_4299; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118431.4]
  wire [15:0] _T_4351; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118493.4]
  wire [23:0] _T_4378; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118525.4]
  wire [31:0] _T_4405; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118557.4]
  wire [15:0] _T_4457; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118619.4]
  wire [23:0] _T_4484; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118651.4]
  wire [31:0] _T_4511; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118683.4]
  wire [15:0] _T_4588; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118770.4]
  wire [23:0] _T_4615; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118802.4]
  wire [31:0] _T_4642; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118834.4]
  wire [15:0] _T_4694; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118896.4]
  wire [23:0] _T_4721; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118928.4]
  wire [31:0] _T_4748; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118960.4]
  wire [15:0] _T_4825; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119052.4]
  wire [23:0] _T_4852; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119084.4]
  wire [31:0] _T_4879; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119116.4]
  wire [15:0] _T_4956; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119203.4]
  wire [23:0] _T_4983; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119235.4]
  wire [31:0] _T_5010; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119267.4]
  wire [15:0] _T_5062; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119329.4]
  wire [23:0] _T_5089; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119361.4]
  wire [31:0] _T_5116; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119393.4]
  wire  _GEN_252; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_253; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_254; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_255; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_256; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_257; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_258; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_259; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_260; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_261; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_262; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_263; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_264; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_265; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_266; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_267; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_268; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_269; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_270; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_271; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_272; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_273; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_274; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_275; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_276; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_277; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_278; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_279; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_280; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_281; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire  _GEN_282; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  wire [31:0] _GEN_284; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_285; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_286; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_287; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_288; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_289; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_290; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_291; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_292; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_293; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_294; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_295; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_296; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_297; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_298; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_299; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_300; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_301; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_302; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_303; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_304; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_305; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_306; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_307; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_308; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_309; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_310; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_311; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_312; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_313; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire [31:0] _GEN_314; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  wire  _T_6243; // @[Debug.scala 725:41:shc.marmotcaravel.MarmotCaravelConfig.fir@120943.4]
  wire  _T_6244; // @[Debug.scala 725:41:shc.marmotcaravel.MarmotCaravelConfig.fir@120947.4]
  wire  _T_6245; // @[Debug.scala 725:41:shc.marmotcaravel.MarmotCaravelConfig.fir@120951.4]
  wire  _T_6246; // @[Debug.scala 725:41:shc.marmotcaravel.MarmotCaravelConfig.fir@120955.4]
  wire  _T_6247; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120959.4]
  wire  _T_6248; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120963.4]
  wire  _T_6249; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120967.4]
  wire  _T_6250; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120971.4]
  wire  _T_6251; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120975.4]
  wire  _T_6252; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120979.4]
  wire  _T_6253; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120983.4]
  wire  _T_6254; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120987.4]
  wire  _T_6255; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120991.4]
  wire  _T_6256; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120995.4]
  wire  _T_6257; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120999.4]
  wire  _T_6258; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121003.4]
  wire  _T_6259; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121007.4]
  wire  _T_6260; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121011.4]
  wire  _T_6261; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121015.4]
  wire  _T_6262; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121019.4]
  wire  _T_6263; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121023.4]
  wire  _T_6264; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121027.4]
  wire  _T_6265; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121031.4]
  wire  _T_6266; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121035.4]
  wire  _T_6267; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121039.4]
  wire  _T_6268; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121043.4]
  wire  _T_6269; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121047.4]
  wire  _T_6270; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121051.4]
  wire  _T_6271; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121055.4]
  wire  _T_6272; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121059.4]
  wire  _T_6273; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121063.4]
  wire  _T_6274; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121067.4]
  wire  _T_6275; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121071.4]
  wire  _T_6276; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121075.4]
  wire  _T_6277; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121079.4]
  wire  _T_6278; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121083.4]
  wire  _T_6279; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121087.4]
  wire  _T_6280; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121091.4]
  wire  _T_6281; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121095.4]
  wire  _T_6282; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121099.4]
  wire  _T_6283; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121103.4]
  wire  _T_6284; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121107.4]
  wire  _T_6285; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121111.4]
  wire  _T_6286; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121115.4]
  wire  _T_6287; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121119.4]
  wire  _T_6288; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121123.4]
  wire  _T_6289; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121127.4]
  wire  _T_6290; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121131.4]
  wire  _T_6291; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121135.4]
  wire  _T_6292; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121139.4]
  wire  _T_6293; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121143.4]
  wire  _T_6294; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121147.4]
  wire  _T_6295; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121151.4]
  wire  _T_6296; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121155.4]
  wire  _T_6297; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121159.4]
  wire  _T_6298; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121163.4]
  wire  _T_6299; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121167.4]
  wire  _T_6300; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121171.4]
  wire  _T_6301; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121175.4]
  wire  _T_6302; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121179.4]
  wire  _T_6303; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121183.4]
  wire  _T_6304; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121187.4]
  wire  _T_6305; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121191.4]
  wire  _T_6306; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121195.4]
  wire  _T_6307; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121199.4]
  wire  _T_6308; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121203.4]
  wire  _T_6309; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121207.4]
  wire  _T_6310; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121211.4]
  reg  goReg; // @[Debug.scala 754:27:shc.marmotcaravel.MarmotCaravelConfig.fir@121215.4]
  reg [31:0] _RAND_78;
  wire  _T_6518; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121333.10]
  wire  _T_6519; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121334.10]
  wire  _T_60399; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168672.4]
  wire  _T_72027; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185520.4]
  wire  _T_72028; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185521.4]
  wire  hartGoingWrEn; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@146381.4]
  wire  _GEN_5658; // @[Debug.scala 1004:43:shc.marmotcaravel.MarmotCaravelConfig.fir@191491.10]
  wire  _GEN_5662; // @[Debug.scala 1001:38:shc.marmotcaravel.MarmotCaravelConfig.fir@191486.8]
  wire  _GEN_5675; // @[Debug.scala 994:59:shc.marmotcaravel.MarmotCaravelConfig.fir@191485.6]
  wire  goAbstract; // @[Debug.scala 986:47:shc.marmotcaravel.MarmotCaravelConfig.fir@191468.4]
  wire  flags_0_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_1_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_2_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_3_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_4_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_5_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_6_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_7_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_8_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_9_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_10_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_11_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_12_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_13_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_14_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_15_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_16_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_17_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_18_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_19_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_20_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_21_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_22_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_23_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_24_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_25_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_26_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_27_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_28_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_29_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_30_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_31_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_32_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_33_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_34_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_35_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_36_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_37_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_38_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_39_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_40_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_41_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_42_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_43_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_44_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_45_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_46_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_47_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_48_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_49_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_50_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_51_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_52_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_53_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_54_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_55_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_56_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_57_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_58_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_59_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_60_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_61_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_62_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_63_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_64_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_65_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_66_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_67_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_68_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_69_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_70_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_71_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_72_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_73_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_74_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_75_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_76_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_77_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_78_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_79_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_80_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_81_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_82_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_83_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_84_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_85_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_86_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_87_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_88_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_89_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_90_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_91_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_92_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_93_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_94_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_95_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_96_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_97_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_98_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_99_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_100_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_101_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_102_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_103_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_104_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_105_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_106_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_107_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_108_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_109_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_110_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_111_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_112_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_113_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_114_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_115_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_116_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_117_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_118_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_119_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_120_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_121_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_122_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_123_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_124_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_125_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_126_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_127_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_128_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_129_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_130_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_131_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_132_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_133_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_134_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_135_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_136_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_137_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_138_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_139_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_140_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_141_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_142_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_143_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_144_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_145_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_146_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_147_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_148_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_149_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_150_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_151_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_152_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_153_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_154_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_155_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_156_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_157_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_158_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_159_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_160_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_161_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_162_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_163_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_164_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_165_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_166_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_167_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_168_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_169_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_170_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_171_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_172_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_173_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_174_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_175_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_176_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_177_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_178_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_179_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_180_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_181_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_182_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_183_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_184_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_185_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_186_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_187_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_188_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_189_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_190_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_191_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_192_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_193_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_194_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_195_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_196_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_197_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_198_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_199_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_200_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_201_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_202_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_203_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_204_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_205_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_206_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_207_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_208_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_209_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_210_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_211_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_212_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_213_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_214_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_215_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_216_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_217_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_218_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_219_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_220_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_221_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_222_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_223_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_224_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_225_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_226_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_227_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_228_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_229_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_230_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_231_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_232_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_233_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_234_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_235_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_236_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_237_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_238_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_239_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_240_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_241_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_242_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_243_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_244_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_245_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_246_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_247_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_248_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_249_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_250_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_251_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_252_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_253_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_254_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_255_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_256_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_257_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_258_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_259_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_260_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_261_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_262_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_263_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_264_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_265_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_266_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_267_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_268_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_269_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_270_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_271_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_272_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_273_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_274_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_275_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_276_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_277_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_278_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_279_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_280_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_281_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_282_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_283_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_284_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_285_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_286_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_287_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_288_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_289_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_290_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_291_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_292_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_293_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_294_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_295_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_296_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_297_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_298_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_299_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_300_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_301_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_302_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_303_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_304_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_305_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_306_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_307_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_308_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_309_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_310_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_311_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_312_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_313_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_314_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_315_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_316_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_317_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_318_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_319_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_320_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_321_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_322_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_323_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_324_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_325_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_326_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_327_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_328_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_329_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_330_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_331_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_332_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_333_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_334_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_335_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_336_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_337_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_338_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_339_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_340_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_341_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_342_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_343_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_344_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_345_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_346_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_347_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_348_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_349_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_350_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_351_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_352_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_353_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_354_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_355_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_356_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_357_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_358_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_359_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_360_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_361_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_362_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_363_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_364_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_365_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_366_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_367_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_368_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_369_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_370_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_371_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_372_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_373_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_374_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_375_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_376_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_377_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_378_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_379_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_380_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_381_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_382_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_383_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_384_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_385_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_386_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_387_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_388_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_389_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_390_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_391_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_392_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_393_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_394_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_395_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_396_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_397_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_398_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_399_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_400_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_401_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_402_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_403_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_404_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_405_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_406_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_407_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_408_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_409_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_410_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_411_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_412_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_413_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_414_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_415_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_416_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_417_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_418_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_419_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_420_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_421_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_422_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_423_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_424_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_425_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_426_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_427_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_428_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_429_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_430_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_431_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_432_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_433_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_434_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_435_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_436_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_437_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_438_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_439_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_440_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_441_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_442_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_443_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_444_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_445_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_446_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_447_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_448_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_449_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_450_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_451_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_452_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_453_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_454_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_455_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_456_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_457_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_458_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_459_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_460_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_461_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_462_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_463_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_464_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_465_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_466_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_467_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_468_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_469_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_470_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_471_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_472_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_473_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_474_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_475_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_476_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_477_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_478_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_479_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_480_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_481_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_482_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_483_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_484_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_485_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_486_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_487_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_488_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_489_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_490_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_491_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_492_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_493_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_494_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_495_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_496_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_497_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_498_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_499_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_500_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_501_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_502_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_503_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_504_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_505_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_506_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_507_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_508_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_509_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_510_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_511_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_512_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_513_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_514_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_515_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_516_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_517_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_518_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_519_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_520_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_521_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_522_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_523_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_524_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_525_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_526_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_527_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_528_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_529_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_530_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_531_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_532_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_533_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_534_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_535_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_536_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_537_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_538_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_539_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_540_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_541_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_542_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_543_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_544_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_545_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_546_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_547_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_548_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_549_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_550_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_551_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_552_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_553_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_554_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_555_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_556_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_557_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_558_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_559_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_560_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_561_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_562_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_563_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_564_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_565_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_566_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_567_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_568_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_569_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_570_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_571_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_572_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_573_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_574_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_575_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_576_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_577_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_578_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_579_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_580_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_581_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_582_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_583_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_584_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_585_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_586_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_587_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_588_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_589_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_590_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_591_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_592_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_593_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_594_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_595_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_596_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_597_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_598_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_599_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_600_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_601_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_602_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_603_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_604_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_605_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_606_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_607_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_608_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_609_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_610_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_611_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_612_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_613_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_614_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_615_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_616_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_617_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_618_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_619_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_620_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_621_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_622_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_623_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_624_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_625_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_626_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_627_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_628_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_629_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_630_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_631_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_632_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_633_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_634_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_635_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_636_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_637_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_638_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_639_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_640_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_641_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_642_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_643_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_644_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_645_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_646_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_647_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_648_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_649_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_650_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_651_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_652_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_653_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_654_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_655_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_656_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_657_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_658_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_659_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_660_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_661_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_662_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_663_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_664_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_665_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_666_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_667_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_668_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_669_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_670_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_671_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_672_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_673_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_674_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_675_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_676_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_677_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_678_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_679_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_680_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_681_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_682_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_683_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_684_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_685_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_686_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_687_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_688_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_689_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_690_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_691_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_692_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_693_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_694_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_695_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_696_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_697_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_698_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_699_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_700_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_701_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_702_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_703_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_704_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_705_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_706_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_707_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_708_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_709_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_710_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_711_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_712_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_713_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_714_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_715_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_716_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_717_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_718_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_719_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_720_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_721_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_722_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_723_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_724_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_725_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_726_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_727_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_728_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_729_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_730_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_731_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_732_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_733_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_734_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_735_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_736_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_737_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_738_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_739_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_740_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_741_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_742_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_743_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_744_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_745_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_746_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_747_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_748_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_749_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_750_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_751_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_752_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_753_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_754_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_755_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_756_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_757_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_758_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_759_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_760_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_761_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_762_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_763_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_764_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_765_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_766_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_767_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_768_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_769_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_770_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_771_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_772_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_773_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_774_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_775_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_776_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_777_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_778_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_779_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_780_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_781_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_782_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_783_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_784_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_785_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_786_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_787_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_788_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_789_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_790_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_791_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_792_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_793_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_794_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_795_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_796_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_797_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_798_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_799_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_800_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_801_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_802_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_803_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_804_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_805_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_806_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_807_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_808_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_809_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_810_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_811_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_812_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_813_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_814_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_815_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_816_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_817_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_818_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_819_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_820_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_821_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_822_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_823_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_824_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_825_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_826_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_827_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_828_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_829_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_830_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_831_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_832_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_833_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_834_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_835_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_836_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_837_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_838_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_839_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_840_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_841_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_842_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_843_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_844_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_845_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_846_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_847_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_848_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_849_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_850_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_851_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_852_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_853_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_854_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_855_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_856_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_857_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_858_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_859_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_860_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_861_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_862_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_863_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_864_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_865_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_866_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_867_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_868_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_869_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_870_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_871_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_872_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_873_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_874_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_875_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_876_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_877_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_878_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_879_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_880_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_881_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_882_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_883_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_884_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_885_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_886_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_887_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_888_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_889_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_890_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_891_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_892_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_893_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_894_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_895_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_896_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_897_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_898_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_899_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_900_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_901_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_902_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_903_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_904_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_905_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_906_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_907_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_908_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_909_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_910_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_911_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_912_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_913_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_914_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_915_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_916_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_917_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_918_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_919_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_920_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_921_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_922_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_923_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_924_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_925_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_926_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_927_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_928_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_929_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_930_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_931_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_932_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_933_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_934_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_935_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_936_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_937_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_938_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_939_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_940_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_941_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_942_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_943_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_944_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_945_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_946_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_947_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_948_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_949_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_950_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_951_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_952_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_953_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_954_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_955_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_956_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_957_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_958_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_959_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_960_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_961_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_962_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_963_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_964_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_965_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_966_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_967_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_968_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_969_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_970_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_971_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_972_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_973_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_974_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_975_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_976_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_977_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_978_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_979_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_980_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_981_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_982_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_983_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_984_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_985_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_986_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_987_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_988_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_989_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_990_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_991_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_992_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_993_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_994_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_995_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_996_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_997_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_998_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_999_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_1000_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_1001_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_1002_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_1003_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_1004_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_1005_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_1006_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_1007_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_1008_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_1009_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_1010_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_1011_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_1012_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_1013_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_1014_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_1015_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_1016_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_1017_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_1018_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_1019_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_1020_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_1021_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_1022_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  flags_1023_go; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  wire  accessRegisterCommandReg_postexec; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@133687.4]
  wire [2:0] accessRegisterCommandReg_size; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@133691.4]
  reg [31:0] abstractGeneratedMem_0; // @[Debug.scala 834:35:shc.marmotcaravel.MarmotCaravelConfig.fir@133700.4]
  reg [31:0] _RAND_79;
  reg [31:0] abstractGeneratedMem_1; // @[Debug.scala 834:35:shc.marmotcaravel.MarmotCaravelConfig.fir@133700.4]
  reg [31:0] _RAND_80;
  wire [15:0] _T_20934; // @[Debug.scala 840:66:shc.marmotcaravel.MarmotCaravelConfig.fir@133723.4]
  wire [4:0] abstractGeneratedI_rd; // @[Debug.scala 835:34:shc.marmotcaravel.MarmotCaravelConfig.fir@133701.4 Debug.scala 840:31:shc.marmotcaravel.MarmotCaravelConfig.fir@133724.4]
  wire [11:0] _T_20957; // @[Debug.scala 861:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133772.6]
  wire [19:0] _T_20959; // @[Debug.scala 861:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133774.6]
  wire [31:0] _T_20960; // @[Debug.scala 861:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133775.6]
  wire [7:0] _T_20961; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133776.6]
  wire [14:0] _T_20962; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133777.6]
  wire [11:0] _T_20963; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133778.6]
  wire [16:0] _T_20964; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133779.6]
  wire [31:0] _T_20965; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133780.6]
  wire [6:0] _T_20982; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133800.4]
  wire [7:0] _T_20983; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133801.4]
  wire [7:0] _T_20985; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133803.4]
  wire [7:0] _T_20987; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133805.4]
  wire [7:0] _T_20989; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133807.4]
  wire [7:0] _T_20991; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133809.4]
  wire [7:0] _T_20993; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133811.4]
  wire [7:0] _T_20995; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133813.4]
  wire [7:0] _T_20997; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133815.4]
  wire [7:0] _T_20999; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133817.4]
  wire [7:0] _T_21001; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133819.4]
  wire [7:0] _T_21003; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133821.4]
  wire [7:0] _T_21005; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133823.4]
  wire [7:0] _T_21007; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133825.4]
  wire [7:0] _T_21009; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133827.4]
  wire [7:0] _T_21011; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133829.4]
  wire [7:0] _T_21013; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133831.4]
  wire [7:0] _T_21015; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133833.4]
  wire [7:0] _T_21017; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133835.4]
  wire [7:0] _T_21019; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133837.4]
  wire [7:0] _T_21021; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133839.4]
  wire [7:0] _T_21023; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133841.4]
  wire [7:0] _T_21025; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133843.4]
  wire [7:0] _T_21027; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133845.4]
  wire [7:0] _T_21029; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133847.4]
  wire [7:0] _T_21031; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133849.4]
  wire [7:0] _T_21033; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133851.4]
  wire [7:0] _T_21035; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133853.4]
  wire [7:0] _T_21037; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133855.4]
  wire [7:0] _T_21039; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133857.4]
  wire [7:0] _T_21041; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133859.4]
  wire [7:0] _T_21043; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133861.4]
  wire [7:0] _T_21045; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133863.4]
  wire [7:0] _T_21047; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133865.4]
  wire [7:0] _T_21049; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133867.4]
  wire [7:0] _T_21051; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133869.4]
  wire [7:0] _T_21053; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133871.4]
  wire [7:0] _T_21055; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133873.4]
  wire [7:0] _T_21057; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133875.4]
  wire [7:0] _T_21059; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133877.4]
  wire [7:0] _T_21061; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133879.4]
  wire [7:0] _T_21063; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133881.4]
  wire [7:0] _T_21065; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133883.4]
  wire [7:0] _T_21067; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133885.4]
  wire [7:0] _T_21069; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133887.4]
  wire [7:0] _T_21071; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133889.4]
  wire [7:0] _T_21073; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133891.4]
  wire [7:0] _T_21075; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133893.4]
  wire [7:0] _T_21077; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133895.4]
  wire [7:0] _T_21079; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133897.4]
  wire [7:0] _T_21081; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133899.4]
  wire [7:0] _T_21083; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133901.4]
  wire [7:0] _T_21085; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133903.4]
  wire [7:0] _T_21087; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133905.4]
  wire [7:0] _T_21089; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133907.4]
  wire [7:0] _T_21091; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133909.4]
  wire [7:0] _T_21093; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133911.4]
  wire [7:0] _T_21095; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133913.4]
  wire [7:0] _T_21097; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133915.4]
  wire [7:0] _T_21099; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133917.4]
  wire [7:0] _T_21101; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133919.4]
  wire [7:0] _T_21103; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133921.4]
  wire [7:0] _T_21105; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133923.4]
  wire [7:0] _T_21107; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133925.4]
  wire [7:0] _T_21109; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133927.4]
  wire [7:0] _T_21111; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133929.4]
  wire [7:0] _T_21113; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133931.4]
  wire [7:0] _T_21115; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133933.4]
  wire [7:0] _T_21117; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133935.4]
  wire [7:0] _T_21119; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133937.4]
  wire [7:0] _T_21121; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133939.4]
  wire [7:0] _T_21123; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133941.4]
  wire [7:0] _T_21125; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133943.4]
  wire [7:0] _T_21127; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133945.4]
  wire [7:0] _T_21129; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133947.4]
  wire [7:0] _T_21131; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133949.4]
  wire [7:0] _T_21133; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133951.4]
  wire [7:0] _T_21135; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133953.4]
  wire [7:0] _T_21137; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133955.4]
  wire [7:0] _T_21139; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133957.4]
  wire [7:0] _T_21141; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133959.4]
  wire [7:0] _T_21143; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133961.4]
  wire [7:0] _T_21145; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133963.4]
  wire [7:0] _T_21147; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133965.4]
  wire [7:0] _T_21149; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133967.4]
  wire [7:0] _T_21151; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133969.4]
  wire [7:0] _T_21153; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133971.4]
  wire [7:0] _T_21155; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133973.4]
  wire [7:0] _T_21157; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133975.4]
  wire [7:0] _T_21159; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133977.4]
  wire [7:0] _T_21161; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133979.4]
  wire [7:0] _T_21163; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133981.4]
  wire [7:0] _T_21165; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133983.4]
  wire [7:0] _T_21167; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133985.4]
  wire [7:0] _T_21169; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133987.4]
  wire [7:0] _T_21171; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133989.4]
  wire [7:0] _T_21173; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133991.4]
  wire [7:0] _T_21175; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133993.4]
  wire [7:0] _T_21177; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133995.4]
  wire [7:0] _T_21179; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133997.4]
  wire [7:0] _T_21181; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133999.4]
  wire [7:0] _T_21183; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134001.4]
  wire [7:0] _T_21185; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134003.4]
  wire [7:0] _T_21187; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134005.4]
  wire [7:0] _T_21189; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134007.4]
  wire [7:0] _T_21191; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134009.4]
  wire [7:0] _T_21193; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134011.4]
  wire [7:0] _T_21195; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134013.4]
  wire [7:0] _T_21197; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134015.4]
  wire [7:0] _T_21199; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134017.4]
  wire [7:0] _T_21201; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134019.4]
  wire [7:0] _T_21203; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134021.4]
  wire [7:0] _T_21205; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134023.4]
  wire [7:0] _T_21207; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134025.4]
  wire [7:0] _T_21209; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134027.4]
  wire [7:0] _T_21211; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134029.4]
  wire [7:0] _T_21213; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134031.4]
  wire [7:0] _T_21215; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134033.4]
  wire [7:0] _T_21217; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134035.4]
  wire [7:0] _T_21219; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134037.4]
  wire [7:0] _T_21221; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134039.4]
  wire [7:0] _T_21223; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134041.4]
  wire [7:0] _T_21225; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134043.4]
  wire [7:0] _T_21227; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134045.4]
  wire [7:0] _T_21229; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134047.4]
  wire [7:0] _T_21231; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134049.4]
  wire [7:0] _T_21233; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134051.4]
  wire [7:0] _T_21235; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134053.4]
  wire [7:0] _T_21237; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134055.4]
  wire [7:0] _T_21239; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134057.4]
  wire [7:0] _T_21241; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134059.4]
  wire [7:0] _T_21243; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134061.4]
  wire [7:0] _T_21245; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134063.4]
  wire [7:0] _T_21247; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134065.4]
  wire [7:0] _T_21249; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134067.4]
  wire [7:0] _T_21251; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134069.4]
  wire [7:0] _T_21253; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134071.4]
  wire [7:0] _T_21255; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134073.4]
  wire [7:0] _T_21257; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134075.4]
  wire [7:0] _T_21259; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134077.4]
  wire [7:0] _T_21261; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134079.4]
  wire [7:0] _T_21263; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134081.4]
  wire [7:0] _T_21265; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134083.4]
  wire [7:0] _T_21267; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134085.4]
  wire [7:0] _T_21269; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134087.4]
  wire [7:0] _T_21271; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134089.4]
  wire [7:0] _T_21273; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134091.4]
  wire [7:0] _T_21275; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134093.4]
  wire [7:0] _T_21277; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134095.4]
  wire [7:0] _T_21279; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134097.4]
  wire [7:0] _T_21281; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134099.4]
  wire [7:0] _T_21283; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134101.4]
  wire [7:0] _T_21285; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134103.4]
  wire [7:0] _T_21287; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134105.4]
  wire [7:0] _T_21289; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134107.4]
  wire [7:0] _T_21291; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134109.4]
  wire [7:0] _T_21293; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134111.4]
  wire [7:0] _T_21295; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134113.4]
  wire [7:0] _T_21297; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134115.4]
  wire [7:0] _T_21299; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134117.4]
  wire [7:0] _T_21301; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134119.4]
  wire [7:0] _T_21303; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134121.4]
  wire [7:0] _T_21305; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134123.4]
  wire [7:0] _T_21307; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134125.4]
  wire [7:0] _T_21309; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134127.4]
  wire [7:0] _T_21311; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134129.4]
  wire [7:0] _T_21313; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134131.4]
  wire [7:0] _T_21315; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134133.4]
  wire [7:0] _T_21317; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134135.4]
  wire [7:0] _T_21319; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134137.4]
  wire [7:0] _T_21321; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134139.4]
  wire [7:0] _T_21323; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134141.4]
  wire [7:0] _T_21325; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134143.4]
  wire [7:0] _T_21327; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134145.4]
  wire [7:0] _T_21329; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134147.4]
  wire [7:0] _T_21331; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134149.4]
  wire [7:0] _T_21333; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134151.4]
  wire [7:0] _T_21335; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134153.4]
  wire [7:0] _T_21337; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134155.4]
  wire [7:0] _T_21339; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134157.4]
  wire [7:0] _T_21341; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134159.4]
  wire [7:0] _T_21343; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134161.4]
  wire [7:0] _T_21345; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134163.4]
  wire [7:0] _T_21347; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134165.4]
  wire [7:0] _T_21349; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134167.4]
  wire [7:0] _T_21351; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134169.4]
  wire [7:0] _T_21353; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134171.4]
  wire [7:0] _T_21355; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134173.4]
  wire [7:0] _T_21357; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134175.4]
  wire [7:0] _T_21359; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134177.4]
  wire [7:0] _T_21361; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134179.4]
  wire [7:0] _T_21363; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134181.4]
  wire [7:0] _T_21365; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134183.4]
  wire [7:0] _T_21367; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134185.4]
  wire [7:0] _T_21369; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134187.4]
  wire [7:0] _T_21371; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134189.4]
  wire [7:0] _T_21373; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134191.4]
  wire [7:0] _T_21375; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134193.4]
  wire [7:0] _T_21377; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134195.4]
  wire [7:0] _T_21379; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134197.4]
  wire [7:0] _T_21381; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134199.4]
  wire [7:0] _T_21383; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134201.4]
  wire [7:0] _T_21385; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134203.4]
  wire [7:0] _T_21387; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134205.4]
  wire [7:0] _T_21389; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134207.4]
  wire [7:0] _T_21391; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134209.4]
  wire [7:0] _T_21393; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134211.4]
  wire [7:0] _T_21395; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134213.4]
  wire [7:0] _T_21397; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134215.4]
  wire [7:0] _T_21399; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134217.4]
  wire [7:0] _T_21401; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134219.4]
  wire [7:0] _T_21403; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134221.4]
  wire [7:0] _T_21405; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134223.4]
  wire [7:0] _T_21407; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134225.4]
  wire [7:0] _T_21409; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134227.4]
  wire [7:0] _T_21411; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134229.4]
  wire [7:0] _T_21413; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134231.4]
  wire [7:0] _T_21415; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134233.4]
  wire [7:0] _T_21417; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134235.4]
  wire [7:0] _T_21419; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134237.4]
  wire [7:0] _T_21421; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134239.4]
  wire [7:0] _T_21423; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134241.4]
  wire [7:0] _T_21425; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134243.4]
  wire [7:0] _T_21427; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134245.4]
  wire [7:0] _T_21429; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134247.4]
  wire [7:0] _T_21431; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134249.4]
  wire [7:0] _T_21433; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134251.4]
  wire [7:0] _T_21435; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134253.4]
  wire [7:0] _T_21437; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134255.4]
  wire [7:0] _T_21439; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134257.4]
  wire [7:0] _T_21441; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134259.4]
  wire [7:0] _T_21443; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134261.4]
  wire [7:0] _T_21445; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134263.4]
  wire [7:0] _T_21447; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134265.4]
  wire [7:0] _T_21449; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134267.4]
  wire [7:0] _T_21451; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134269.4]
  wire [7:0] _T_21453; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134271.4]
  wire [7:0] _T_21455; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134273.4]
  wire [7:0] _T_21457; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134275.4]
  wire [7:0] _T_21459; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134277.4]
  wire [7:0] _T_21461; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134279.4]
  wire [7:0] _T_21463; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134281.4]
  wire [7:0] _T_21465; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134283.4]
  wire [7:0] _T_21467; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134285.4]
  wire [7:0] _T_21469; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134287.4]
  wire [7:0] _T_21471; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134289.4]
  wire [7:0] _T_21473; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134291.4]
  wire [7:0] _T_21475; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134293.4]
  wire [7:0] _T_21477; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134295.4]
  wire [7:0] _T_21479; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134297.4]
  wire [7:0] _T_21481; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134299.4]
  wire [7:0] _T_21483; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134301.4]
  wire [7:0] _T_21485; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134303.4]
  wire [7:0] _T_21487; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134305.4]
  wire [7:0] _T_21489; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134307.4]
  wire [7:0] _T_21491; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134309.4]
  wire [7:0] _T_21493; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134311.4]
  wire [7:0] _T_21495; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134313.4]
  wire [7:0] _T_21497; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134315.4]
  wire [7:0] _T_21499; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134317.4]
  wire [7:0] _T_21501; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134319.4]
  wire [7:0] _T_21503; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134321.4]
  wire [7:0] _T_21505; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134323.4]
  wire [7:0] _T_21507; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134325.4]
  wire [7:0] _T_21509; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134327.4]
  wire [7:0] _T_21511; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134329.4]
  wire [7:0] _T_21513; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134331.4]
  wire [7:0] _T_21515; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134333.4]
  wire [7:0] _T_21517; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134335.4]
  wire [7:0] _T_21519; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134337.4]
  wire [7:0] _T_21521; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134339.4]
  wire [7:0] _T_21523; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134341.4]
  wire [7:0] _T_21525; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134343.4]
  wire [7:0] _T_21527; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134345.4]
  wire [7:0] _T_21529; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134347.4]
  wire [7:0] _T_21531; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134349.4]
  wire [7:0] _T_21533; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134351.4]
  wire [7:0] _T_21535; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134353.4]
  wire [7:0] _T_21537; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134355.4]
  wire [7:0] _T_21539; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134357.4]
  wire [7:0] _T_21541; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134359.4]
  wire [7:0] _T_21543; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134361.4]
  wire [7:0] _T_21545; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134363.4]
  wire [7:0] _T_21547; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134365.4]
  wire [7:0] _T_21549; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134367.4]
  wire [7:0] _T_21551; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134369.4]
  wire [7:0] _T_21553; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134371.4]
  wire [7:0] _T_21555; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134373.4]
  wire [7:0] _T_21557; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134375.4]
  wire [7:0] _T_21559; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134377.4]
  wire [7:0] _T_21561; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134379.4]
  wire [7:0] _T_21563; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134381.4]
  wire [7:0] _T_21565; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134383.4]
  wire [7:0] _T_21567; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134385.4]
  wire [7:0] _T_21569; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134387.4]
  wire [7:0] _T_21571; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134389.4]
  wire [7:0] _T_21573; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134391.4]
  wire [7:0] _T_21575; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134393.4]
  wire [7:0] _T_21577; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134395.4]
  wire [7:0] _T_21579; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134397.4]
  wire [7:0] _T_21581; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134399.4]
  wire [7:0] _T_21583; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134401.4]
  wire [7:0] _T_21585; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134403.4]
  wire [7:0] _T_21587; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134405.4]
  wire [7:0] _T_21589; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134407.4]
  wire [7:0] _T_21591; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134409.4]
  wire [7:0] _T_21593; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134411.4]
  wire [7:0] _T_21595; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134413.4]
  wire [7:0] _T_21597; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134415.4]
  wire [7:0] _T_21599; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134417.4]
  wire [7:0] _T_21601; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134419.4]
  wire [7:0] _T_21603; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134421.4]
  wire [7:0] _T_21605; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134423.4]
  wire [7:0] _T_21607; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134425.4]
  wire [7:0] _T_21609; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134427.4]
  wire [7:0] _T_21611; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134429.4]
  wire [7:0] _T_21613; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134431.4]
  wire [7:0] _T_21615; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134433.4]
  wire [7:0] _T_21617; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134435.4]
  wire [7:0] _T_21619; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134437.4]
  wire [7:0] _T_21621; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134439.4]
  wire [7:0] _T_21623; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134441.4]
  wire [7:0] _T_21625; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134443.4]
  wire [7:0] _T_21627; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134445.4]
  wire [7:0] _T_21629; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134447.4]
  wire [7:0] _T_21631; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134449.4]
  wire [7:0] _T_21633; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134451.4]
  wire [7:0] _T_21635; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134453.4]
  wire [7:0] _T_21637; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134455.4]
  wire [7:0] _T_21639; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134457.4]
  wire [7:0] _T_21641; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134459.4]
  wire [7:0] _T_21643; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134461.4]
  wire [7:0] _T_21645; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134463.4]
  wire [7:0] _T_21647; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134465.4]
  wire [7:0] _T_21649; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134467.4]
  wire [7:0] _T_21651; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134469.4]
  wire [7:0] _T_21653; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134471.4]
  wire [7:0] _T_21655; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134473.4]
  wire [7:0] _T_21657; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134475.4]
  wire [7:0] _T_21659; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134477.4]
  wire [7:0] _T_21661; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134479.4]
  wire [7:0] _T_21663; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134481.4]
  wire [7:0] _T_21665; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134483.4]
  wire [7:0] _T_21667; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134485.4]
  wire [7:0] _T_21669; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134487.4]
  wire [7:0] _T_21671; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134489.4]
  wire [7:0] _T_21673; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134491.4]
  wire [7:0] _T_21675; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134493.4]
  wire [7:0] _T_21677; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134495.4]
  wire [7:0] _T_21679; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134497.4]
  wire [7:0] _T_21681; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134499.4]
  wire [7:0] _T_21683; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134501.4]
  wire [7:0] _T_21685; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134503.4]
  wire [7:0] _T_21687; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134505.4]
  wire [7:0] _T_21689; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134507.4]
  wire [7:0] _T_21691; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134509.4]
  wire [7:0] _T_21693; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134511.4]
  wire [7:0] _T_21695; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134513.4]
  wire [7:0] _T_21697; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134515.4]
  wire [7:0] _T_21699; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134517.4]
  wire [7:0] _T_21701; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134519.4]
  wire [7:0] _T_21703; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134521.4]
  wire [7:0] _T_21705; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134523.4]
  wire [7:0] _T_21707; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134525.4]
  wire [7:0] _T_21709; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134527.4]
  wire [7:0] _T_21711; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134529.4]
  wire [7:0] _T_21713; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134531.4]
  wire [7:0] _T_21715; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134533.4]
  wire [7:0] _T_21717; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134535.4]
  wire [7:0] _T_21719; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134537.4]
  wire [7:0] _T_21721; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134539.4]
  wire [7:0] _T_21723; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134541.4]
  wire [7:0] _T_21725; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134543.4]
  wire [7:0] _T_21727; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134545.4]
  wire [7:0] _T_21729; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134547.4]
  wire [7:0] _T_21731; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134549.4]
  wire [7:0] _T_21733; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134551.4]
  wire [7:0] _T_21735; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134553.4]
  wire [7:0] _T_21737; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134555.4]
  wire [7:0] _T_21739; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134557.4]
  wire [7:0] _T_21741; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134559.4]
  wire [7:0] _T_21743; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134561.4]
  wire [7:0] _T_21745; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134563.4]
  wire [7:0] _T_21747; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134565.4]
  wire [7:0] _T_21749; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134567.4]
  wire [7:0] _T_21751; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134569.4]
  wire [7:0] _T_21753; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134571.4]
  wire [7:0] _T_21755; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134573.4]
  wire [7:0] _T_21757; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134575.4]
  wire [7:0] _T_21759; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134577.4]
  wire [7:0] _T_21761; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134579.4]
  wire [7:0] _T_21763; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134581.4]
  wire [7:0] _T_21765; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134583.4]
  wire [7:0] _T_21767; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134585.4]
  wire [7:0] _T_21769; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134587.4]
  wire [7:0] _T_21771; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134589.4]
  wire [7:0] _T_21773; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134591.4]
  wire [7:0] _T_21775; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134593.4]
  wire [7:0] _T_21777; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134595.4]
  wire [7:0] _T_21779; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134597.4]
  wire [7:0] _T_21781; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134599.4]
  wire [7:0] _T_21783; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134601.4]
  wire [7:0] _T_21785; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134603.4]
  wire [7:0] _T_21787; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134605.4]
  wire [7:0] _T_21789; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134607.4]
  wire [7:0] _T_21791; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134609.4]
  wire [7:0] _T_21793; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134611.4]
  wire [7:0] _T_21795; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134613.4]
  wire [7:0] _T_21797; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134615.4]
  wire [7:0] _T_21799; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134617.4]
  wire [7:0] _T_21801; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134619.4]
  wire [7:0] _T_21803; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134621.4]
  wire [7:0] _T_21805; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134623.4]
  wire [7:0] _T_21807; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134625.4]
  wire [7:0] _T_21809; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134627.4]
  wire [7:0] _T_21811; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134629.4]
  wire [7:0] _T_21813; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134631.4]
  wire [7:0] _T_21815; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134633.4]
  wire [7:0] _T_21817; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134635.4]
  wire [7:0] _T_21819; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134637.4]
  wire [7:0] _T_21821; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134639.4]
  wire [7:0] _T_21823; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134641.4]
  wire [7:0] _T_21825; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134643.4]
  wire [7:0] _T_21827; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134645.4]
  wire [7:0] _T_21829; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134647.4]
  wire [7:0] _T_21831; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134649.4]
  wire [7:0] _T_21833; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134651.4]
  wire [7:0] _T_21835; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134653.4]
  wire [7:0] _T_21837; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134655.4]
  wire [7:0] _T_21839; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134657.4]
  wire [7:0] _T_21841; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134659.4]
  wire [7:0] _T_21843; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134661.4]
  wire [7:0] _T_21845; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134663.4]
  wire [7:0] _T_21847; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134665.4]
  wire [7:0] _T_21849; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134667.4]
  wire [7:0] _T_21851; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134669.4]
  wire [7:0] _T_21853; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134671.4]
  wire [7:0] _T_21855; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134673.4]
  wire [7:0] _T_21857; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134675.4]
  wire [7:0] _T_21859; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134677.4]
  wire [7:0] _T_21861; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134679.4]
  wire [7:0] _T_21863; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134681.4]
  wire [7:0] _T_21865; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134683.4]
  wire [7:0] _T_21867; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134685.4]
  wire [7:0] _T_21869; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134687.4]
  wire [7:0] _T_21871; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134689.4]
  wire [7:0] _T_21873; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134691.4]
  wire [7:0] _T_21875; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134693.4]
  wire [7:0] _T_21877; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134695.4]
  wire [7:0] _T_21879; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134697.4]
  wire [7:0] _T_21881; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134699.4]
  wire [7:0] _T_21883; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134701.4]
  wire [7:0] _T_21885; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134703.4]
  wire [7:0] _T_21887; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134705.4]
  wire [7:0] _T_21889; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134707.4]
  wire [7:0] _T_21891; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134709.4]
  wire [7:0] _T_21893; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134711.4]
  wire [7:0] _T_21895; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134713.4]
  wire [7:0] _T_21897; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134715.4]
  wire [7:0] _T_21899; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134717.4]
  wire [7:0] _T_21901; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134719.4]
  wire [7:0] _T_21903; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134721.4]
  wire [7:0] _T_21905; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134723.4]
  wire [7:0] _T_21907; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134725.4]
  wire [7:0] _T_21909; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134727.4]
  wire [7:0] _T_21911; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134729.4]
  wire [7:0] _T_21913; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134731.4]
  wire [7:0] _T_21915; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134733.4]
  wire [7:0] _T_21917; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134735.4]
  wire [7:0] _T_21919; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134737.4]
  wire [7:0] _T_21921; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134739.4]
  wire [7:0] _T_21923; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134741.4]
  wire [7:0] _T_21925; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134743.4]
  wire [7:0] _T_21927; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134745.4]
  wire [7:0] _T_21929; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134747.4]
  wire [7:0] _T_21931; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134749.4]
  wire [7:0] _T_21933; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134751.4]
  wire [7:0] _T_21935; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134753.4]
  wire [7:0] _T_21937; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134755.4]
  wire [7:0] _T_21939; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134757.4]
  wire [7:0] _T_21941; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134759.4]
  wire [7:0] _T_21943; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134761.4]
  wire [7:0] _T_21945; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134763.4]
  wire [7:0] _T_21947; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134765.4]
  wire [7:0] _T_21949; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134767.4]
  wire [7:0] _T_21951; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134769.4]
  wire [7:0] _T_21953; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134771.4]
  wire [7:0] _T_21955; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134773.4]
  wire [7:0] _T_21957; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134775.4]
  wire [7:0] _T_21959; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134777.4]
  wire [7:0] _T_21961; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134779.4]
  wire [7:0] _T_21963; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134781.4]
  wire [7:0] _T_21965; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134783.4]
  wire [7:0] _T_21967; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134785.4]
  wire [7:0] _T_21969; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134787.4]
  wire [7:0] _T_21971; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134789.4]
  wire [7:0] _T_21973; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134791.4]
  wire [7:0] _T_21975; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134793.4]
  wire [7:0] _T_21977; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134795.4]
  wire [7:0] _T_21979; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134797.4]
  wire [7:0] _T_21981; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134799.4]
  wire [7:0] _T_21983; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134801.4]
  wire [7:0] _T_21985; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134803.4]
  wire [7:0] _T_21987; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134805.4]
  wire [7:0] _T_21989; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134807.4]
  wire [7:0] _T_21991; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134809.4]
  wire [7:0] _T_21993; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134811.4]
  wire [7:0] _T_21995; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134813.4]
  wire [7:0] _T_21997; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134815.4]
  wire [7:0] _T_21999; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134817.4]
  wire [7:0] _T_22001; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134819.4]
  wire [7:0] _T_22003; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134821.4]
  wire [7:0] _T_22005; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134823.4]
  wire [7:0] _T_22007; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134825.4]
  wire [7:0] _T_22009; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134827.4]
  wire [7:0] _T_22011; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134829.4]
  wire [7:0] _T_22013; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134831.4]
  wire [7:0] _T_22015; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134833.4]
  wire [7:0] _T_22017; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134835.4]
  wire [7:0] _T_22019; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134837.4]
  wire [7:0] _T_22021; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134839.4]
  wire [7:0] _T_22023; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134841.4]
  wire [7:0] _T_22025; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134843.4]
  wire [7:0] _T_22027; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134845.4]
  wire [7:0] _T_22029; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134847.4]
  wire [7:0] _T_22031; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134849.4]
  wire [7:0] _T_22033; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134851.4]
  wire [7:0] _T_22035; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134853.4]
  wire [7:0] _T_22037; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134855.4]
  wire [7:0] _T_22039; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134857.4]
  wire [7:0] _T_22041; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134859.4]
  wire [7:0] _T_22043; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134861.4]
  wire [7:0] _T_22045; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134863.4]
  wire [7:0] _T_22047; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134865.4]
  wire [7:0] _T_22049; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134867.4]
  wire [7:0] _T_22051; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134869.4]
  wire [7:0] _T_22053; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134871.4]
  wire [7:0] _T_22055; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134873.4]
  wire [7:0] _T_22057; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134875.4]
  wire [7:0] _T_22059; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134877.4]
  wire [7:0] _T_22061; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134879.4]
  wire [7:0] _T_22063; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134881.4]
  wire [7:0] _T_22065; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134883.4]
  wire [7:0] _T_22067; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134885.4]
  wire [7:0] _T_22069; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134887.4]
  wire [7:0] _T_22071; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134889.4]
  wire [7:0] _T_22073; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134891.4]
  wire [7:0] _T_22075; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134893.4]
  wire [7:0] _T_22077; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134895.4]
  wire [7:0] _T_22079; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134897.4]
  wire [7:0] _T_22081; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134899.4]
  wire [7:0] _T_22083; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134901.4]
  wire [7:0] _T_22085; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134903.4]
  wire [7:0] _T_22087; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134905.4]
  wire [7:0] _T_22089; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134907.4]
  wire [7:0] _T_22091; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134909.4]
  wire [7:0] _T_22093; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134911.4]
  wire [7:0] _T_22095; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134913.4]
  wire [7:0] _T_22097; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134915.4]
  wire [7:0] _T_22099; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134917.4]
  wire [7:0] _T_22101; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134919.4]
  wire [7:0] _T_22103; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134921.4]
  wire [7:0] _T_22105; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134923.4]
  wire [7:0] _T_22107; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134925.4]
  wire [7:0] _T_22109; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134927.4]
  wire [7:0] _T_22111; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134929.4]
  wire [7:0] _T_22113; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134931.4]
  wire [7:0] _T_22115; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134933.4]
  wire [7:0] _T_22117; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134935.4]
  wire [7:0] _T_22119; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134937.4]
  wire [7:0] _T_22121; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134939.4]
  wire [7:0] _T_22123; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134941.4]
  wire [7:0] _T_22125; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134943.4]
  wire [7:0] _T_22127; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134945.4]
  wire [7:0] _T_22129; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134947.4]
  wire [7:0] _T_22131; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134949.4]
  wire [7:0] _T_22133; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134951.4]
  wire [7:0] _T_22135; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134953.4]
  wire [7:0] _T_22137; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134955.4]
  wire [7:0] _T_22139; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134957.4]
  wire [7:0] _T_22141; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134959.4]
  wire [7:0] _T_22143; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134961.4]
  wire [7:0] _T_22145; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134963.4]
  wire [7:0] _T_22147; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134965.4]
  wire [7:0] _T_22149; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134967.4]
  wire [7:0] _T_22151; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134969.4]
  wire [7:0] _T_22153; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134971.4]
  wire [7:0] _T_22155; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134973.4]
  wire [7:0] _T_22157; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134975.4]
  wire [7:0] _T_22159; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134977.4]
  wire [7:0] _T_22161; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134979.4]
  wire [7:0] _T_22163; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134981.4]
  wire [7:0] _T_22165; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134983.4]
  wire [7:0] _T_22167; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134985.4]
  wire [7:0] _T_22169; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134987.4]
  wire [7:0] _T_22171; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134989.4]
  wire [7:0] _T_22173; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134991.4]
  wire [7:0] _T_22175; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134993.4]
  wire [7:0] _T_22177; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134995.4]
  wire [7:0] _T_22179; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134997.4]
  wire [7:0] _T_22181; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134999.4]
  wire [7:0] _T_22183; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135001.4]
  wire [7:0] _T_22185; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135003.4]
  wire [7:0] _T_22187; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135005.4]
  wire [7:0] _T_22189; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135007.4]
  wire [7:0] _T_22191; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135009.4]
  wire [7:0] _T_22193; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135011.4]
  wire [7:0] _T_22195; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135013.4]
  wire [7:0] _T_22197; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135015.4]
  wire [7:0] _T_22199; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135017.4]
  wire [7:0] _T_22201; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135019.4]
  wire [7:0] _T_22203; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135021.4]
  wire [7:0] _T_22205; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135023.4]
  wire [7:0] _T_22207; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135025.4]
  wire [7:0] _T_22209; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135027.4]
  wire [7:0] _T_22211; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135029.4]
  wire [7:0] _T_22213; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135031.4]
  wire [7:0] _T_22215; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135033.4]
  wire [7:0] _T_22217; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135035.4]
  wire [7:0] _T_22219; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135037.4]
  wire [7:0] _T_22221; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135039.4]
  wire [7:0] _T_22223; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135041.4]
  wire [7:0] _T_22225; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135043.4]
  wire [7:0] _T_22227; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135045.4]
  wire [7:0] _T_22229; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135047.4]
  wire [7:0] _T_22231; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135049.4]
  wire [7:0] _T_22233; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135051.4]
  wire [7:0] _T_22235; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135053.4]
  wire [7:0] _T_22237; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135055.4]
  wire [7:0] _T_22239; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135057.4]
  wire [7:0] _T_22241; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135059.4]
  wire [7:0] _T_22243; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135061.4]
  wire [7:0] _T_22245; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135063.4]
  wire [7:0] _T_22247; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135065.4]
  wire [7:0] _T_22249; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135067.4]
  wire [7:0] _T_22251; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135069.4]
  wire [7:0] _T_22253; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135071.4]
  wire [7:0] _T_22255; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135073.4]
  wire [7:0] _T_22257; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135075.4]
  wire [7:0] _T_22259; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135077.4]
  wire [7:0] _T_22261; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135079.4]
  wire [7:0] _T_22263; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135081.4]
  wire [7:0] _T_22265; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135083.4]
  wire [7:0] _T_22267; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135085.4]
  wire [7:0] _T_22269; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135087.4]
  wire [7:0] _T_22271; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135089.4]
  wire [7:0] _T_22273; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135091.4]
  wire [7:0] _T_22275; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135093.4]
  wire [7:0] _T_22277; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135095.4]
  wire [7:0] _T_22279; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135097.4]
  wire [7:0] _T_22281; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135099.4]
  wire [7:0] _T_22283; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135101.4]
  wire [7:0] _T_22285; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135103.4]
  wire [7:0] _T_22287; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135105.4]
  wire [7:0] _T_22289; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135107.4]
  wire [7:0] _T_22291; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135109.4]
  wire [7:0] _T_22293; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135111.4]
  wire [7:0] _T_22295; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135113.4]
  wire [7:0] _T_22297; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135115.4]
  wire [7:0] _T_22299; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135117.4]
  wire [7:0] _T_22301; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135119.4]
  wire [7:0] _T_22303; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135121.4]
  wire [7:0] _T_22305; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135123.4]
  wire [7:0] _T_22307; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135125.4]
  wire [7:0] _T_22309; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135127.4]
  wire [7:0] _T_22311; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135129.4]
  wire [7:0] _T_22313; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135131.4]
  wire [7:0] _T_22315; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135133.4]
  wire [7:0] _T_22317; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135135.4]
  wire [7:0] _T_22319; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135137.4]
  wire [7:0] _T_22321; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135139.4]
  wire [7:0] _T_22323; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135141.4]
  wire [7:0] _T_22325; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135143.4]
  wire [7:0] _T_22327; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135145.4]
  wire [7:0] _T_22329; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135147.4]
  wire [7:0] _T_22331; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135149.4]
  wire [7:0] _T_22333; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135151.4]
  wire [7:0] _T_22335; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135153.4]
  wire [7:0] _T_22337; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135155.4]
  wire [7:0] _T_22339; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135157.4]
  wire [7:0] _T_22341; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135159.4]
  wire [7:0] _T_22343; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135161.4]
  wire [7:0] _T_22345; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135163.4]
  wire [7:0] _T_22347; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135165.4]
  wire [7:0] _T_22349; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135167.4]
  wire [7:0] _T_22351; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135169.4]
  wire [7:0] _T_22353; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135171.4]
  wire [7:0] _T_22355; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135173.4]
  wire [7:0] _T_22357; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135175.4]
  wire [7:0] _T_22359; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135177.4]
  wire [7:0] _T_22361; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135179.4]
  wire [7:0] _T_22363; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135181.4]
  wire [7:0] _T_22365; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135183.4]
  wire [7:0] _T_22367; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135185.4]
  wire [7:0] _T_22369; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135187.4]
  wire [7:0] _T_22371; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135189.4]
  wire [7:0] _T_22373; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135191.4]
  wire [7:0] _T_22375; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135193.4]
  wire [7:0] _T_22377; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135195.4]
  wire [7:0] _T_22379; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135197.4]
  wire [7:0] _T_22381; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135199.4]
  wire [7:0] _T_22383; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135201.4]
  wire [7:0] _T_22385; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135203.4]
  wire [7:0] _T_22387; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135205.4]
  wire [7:0] _T_22389; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135207.4]
  wire [7:0] _T_22391; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135209.4]
  wire [7:0] _T_22393; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135211.4]
  wire [7:0] _T_22395; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135213.4]
  wire [7:0] _T_22397; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135215.4]
  wire [7:0] _T_22399; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135217.4]
  wire [7:0] _T_22401; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135219.4]
  wire [7:0] _T_22403; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135221.4]
  wire [7:0] _T_22405; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135223.4]
  wire [7:0] _T_22407; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135225.4]
  wire [7:0] _T_22409; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135227.4]
  wire [7:0] _T_22411; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135229.4]
  wire [7:0] _T_22413; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135231.4]
  wire [7:0] _T_22415; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135233.4]
  wire [7:0] _T_22417; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135235.4]
  wire [7:0] _T_22419; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135237.4]
  wire [7:0] _T_22421; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135239.4]
  wire [7:0] _T_22423; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135241.4]
  wire [7:0] _T_22425; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135243.4]
  wire [7:0] _T_22427; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135245.4]
  wire [7:0] _T_22429; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135247.4]
  wire [7:0] _T_22431; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135249.4]
  wire [7:0] _T_22433; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135251.4]
  wire [7:0] _T_22435; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135253.4]
  wire [7:0] _T_22437; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135255.4]
  wire [7:0] _T_22439; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135257.4]
  wire [7:0] _T_22441; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135259.4]
  wire [7:0] _T_22443; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135261.4]
  wire [7:0] _T_22445; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135263.4]
  wire [7:0] _T_22447; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135265.4]
  wire [7:0] _T_22449; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135267.4]
  wire [7:0] _T_22451; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135269.4]
  wire [7:0] _T_22453; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135271.4]
  wire [7:0] _T_22455; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135273.4]
  wire [7:0] _T_22457; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135275.4]
  wire [7:0] _T_22459; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135277.4]
  wire [7:0] _T_22461; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135279.4]
  wire [7:0] _T_22463; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135281.4]
  wire [7:0] _T_22465; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135283.4]
  wire [7:0] _T_22467; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135285.4]
  wire [7:0] _T_22469; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135287.4]
  wire [7:0] _T_22471; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135289.4]
  wire [7:0] _T_22473; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135291.4]
  wire [7:0] _T_22475; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135293.4]
  wire [7:0] _T_22477; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135295.4]
  wire [7:0] _T_22479; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135297.4]
  wire [7:0] _T_22481; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135299.4]
  wire [7:0] _T_22483; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135301.4]
  wire [7:0] _T_22485; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135303.4]
  wire [7:0] _T_22487; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135305.4]
  wire [7:0] _T_22489; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135307.4]
  wire [7:0] _T_22491; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135309.4]
  wire [7:0] _T_22493; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135311.4]
  wire [7:0] _T_22495; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135313.4]
  wire [7:0] _T_22497; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135315.4]
  wire [7:0] _T_22499; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135317.4]
  wire [7:0] _T_22501; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135319.4]
  wire [7:0] _T_22503; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135321.4]
  wire [7:0] _T_22505; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135323.4]
  wire [7:0] _T_22507; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135325.4]
  wire [7:0] _T_22509; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135327.4]
  wire [7:0] _T_22511; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135329.4]
  wire [7:0] _T_22513; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135331.4]
  wire [7:0] _T_22515; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135333.4]
  wire [7:0] _T_22517; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135335.4]
  wire [7:0] _T_22519; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135337.4]
  wire [7:0] _T_22521; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135339.4]
  wire [7:0] _T_22523; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135341.4]
  wire [7:0] _T_22525; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135343.4]
  wire [7:0] _T_22527; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135345.4]
  wire [7:0] _T_22529; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135347.4]
  wire [7:0] _T_22531; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135349.4]
  wire [7:0] _T_22533; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135351.4]
  wire [7:0] _T_22535; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135353.4]
  wire [7:0] _T_22537; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135355.4]
  wire [7:0] _T_22539; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135357.4]
  wire [7:0] _T_22541; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135359.4]
  wire [7:0] _T_22543; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135361.4]
  wire [7:0] _T_22545; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135363.4]
  wire [7:0] _T_22547; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135365.4]
  wire [7:0] _T_22549; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135367.4]
  wire [7:0] _T_22551; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135369.4]
  wire [7:0] _T_22553; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135371.4]
  wire [7:0] _T_22555; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135373.4]
  wire [7:0] _T_22557; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135375.4]
  wire [7:0] _T_22559; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135377.4]
  wire [7:0] _T_22561; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135379.4]
  wire [7:0] _T_22563; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135381.4]
  wire [7:0] _T_22565; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135383.4]
  wire [7:0] _T_22567; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135385.4]
  wire [7:0] _T_22569; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135387.4]
  wire [7:0] _T_22571; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135389.4]
  wire [7:0] _T_22573; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135391.4]
  wire [7:0] _T_22575; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135393.4]
  wire [7:0] _T_22577; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135395.4]
  wire [7:0] _T_22579; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135397.4]
  wire [7:0] _T_22581; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135399.4]
  wire [7:0] _T_22583; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135401.4]
  wire [7:0] _T_22585; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135403.4]
  wire [7:0] _T_22587; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135405.4]
  wire [7:0] _T_22589; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135407.4]
  wire [7:0] _T_22591; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135409.4]
  wire [7:0] _T_22593; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135411.4]
  wire [7:0] _T_22595; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135413.4]
  wire [7:0] _T_22597; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135415.4]
  wire [7:0] _T_22599; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135417.4]
  wire [7:0] _T_22601; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135419.4]
  wire [7:0] _T_22603; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135421.4]
  wire [7:0] _T_22605; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135423.4]
  wire [7:0] _T_22607; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135425.4]
  wire [7:0] _T_22609; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135427.4]
  wire [7:0] _T_22611; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135429.4]
  wire [7:0] _T_22613; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135431.4]
  wire [7:0] _T_22615; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135433.4]
  wire [7:0] _T_22617; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135435.4]
  wire [7:0] _T_22619; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135437.4]
  wire [7:0] _T_22621; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135439.4]
  wire [7:0] _T_22623; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135441.4]
  wire [7:0] _T_22625; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135443.4]
  wire [7:0] _T_22627; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135445.4]
  wire [7:0] _T_22629; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135447.4]
  wire [7:0] _T_22631; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135449.4]
  wire [7:0] _T_22633; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135451.4]
  wire [7:0] _T_22635; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135453.4]
  wire [7:0] _T_22637; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135455.4]
  wire [7:0] _T_22639; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135457.4]
  wire [7:0] _T_22641; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135459.4]
  wire [7:0] _T_22643; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135461.4]
  wire [7:0] _T_22645; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135463.4]
  wire [7:0] _T_22647; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135465.4]
  wire [7:0] _T_22649; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135467.4]
  wire [7:0] _T_22651; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135469.4]
  wire [7:0] _T_22653; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135471.4]
  wire [7:0] _T_22655; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135473.4]
  wire [7:0] _T_22657; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135475.4]
  wire [7:0] _T_22659; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135477.4]
  wire [7:0] _T_22661; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135479.4]
  wire [7:0] _T_22663; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135481.4]
  wire [7:0] _T_22665; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135483.4]
  wire [7:0] _T_22667; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135485.4]
  wire [7:0] _T_22669; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135487.4]
  wire [7:0] _T_22671; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135489.4]
  wire [7:0] _T_22673; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135491.4]
  wire [7:0] _T_22675; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135493.4]
  wire [7:0] _T_22677; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135495.4]
  wire [7:0] _T_22679; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135497.4]
  wire [7:0] _T_22681; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135499.4]
  wire [7:0] _T_22683; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135501.4]
  wire [7:0] _T_22685; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135503.4]
  wire [7:0] _T_22687; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135505.4]
  wire [7:0] _T_22689; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135507.4]
  wire [7:0] _T_22691; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135509.4]
  wire [7:0] _T_22693; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135511.4]
  wire [7:0] _T_22695; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135513.4]
  wire [7:0] _T_22697; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135515.4]
  wire [7:0] _T_22699; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135517.4]
  wire [7:0] _T_22701; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135519.4]
  wire [7:0] _T_22703; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135521.4]
  wire [7:0] _T_22705; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135523.4]
  wire [7:0] _T_22707; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135525.4]
  wire [7:0] _T_22709; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135527.4]
  wire [7:0] _T_22711; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135529.4]
  wire [7:0] _T_22713; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135531.4]
  wire [7:0] _T_22715; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135533.4]
  wire [7:0] _T_22717; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135535.4]
  wire [7:0] _T_22719; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135537.4]
  wire [7:0] _T_22721; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135539.4]
  wire [7:0] _T_22723; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135541.4]
  wire [7:0] _T_22725; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135543.4]
  wire [7:0] _T_22727; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135545.4]
  wire [7:0] _T_22729; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135547.4]
  wire [7:0] _T_22731; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135549.4]
  wire [7:0] _T_22733; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135551.4]
  wire [7:0] _T_22735; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135553.4]
  wire [7:0] _T_22737; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135555.4]
  wire [7:0] _T_22739; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135557.4]
  wire [7:0] _T_22741; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135559.4]
  wire [7:0] _T_22743; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135561.4]
  wire [7:0] _T_22745; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135563.4]
  wire [7:0] _T_22747; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135565.4]
  wire [7:0] _T_22749; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135567.4]
  wire [7:0] _T_22751; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135569.4]
  wire [7:0] _T_22753; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135571.4]
  wire [7:0] _T_22755; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135573.4]
  wire [7:0] _T_22757; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135575.4]
  wire [7:0] _T_22759; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135577.4]
  wire [7:0] _T_22761; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135579.4]
  wire [7:0] _T_22763; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135581.4]
  wire [7:0] _T_22765; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135583.4]
  wire [7:0] _T_22767; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135585.4]
  wire [7:0] _T_22769; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135587.4]
  wire [7:0] _T_22771; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135589.4]
  wire [7:0] _T_22773; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135591.4]
  wire [7:0] _T_22775; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135593.4]
  wire [7:0] _T_22777; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135595.4]
  wire [7:0] _T_22779; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135597.4]
  wire [7:0] _T_22781; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135599.4]
  wire [7:0] _T_22783; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135601.4]
  wire [7:0] _T_22785; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135603.4]
  wire [7:0] _T_22787; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135605.4]
  wire [7:0] _T_22789; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135607.4]
  wire [7:0] _T_22791; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135609.4]
  wire [7:0] _T_22793; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135611.4]
  wire [7:0] _T_22795; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135613.4]
  wire [7:0] _T_22797; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135615.4]
  wire [7:0] _T_22799; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135617.4]
  wire [7:0] _T_22801; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135619.4]
  wire [7:0] _T_22803; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135621.4]
  wire [7:0] _T_22805; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135623.4]
  wire [7:0] _T_22807; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135625.4]
  wire [7:0] _T_22809; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135627.4]
  wire [7:0] _T_22811; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135629.4]
  wire [7:0] _T_22813; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135631.4]
  wire [7:0] _T_22815; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135633.4]
  wire [7:0] _T_22817; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135635.4]
  wire [7:0] _T_22819; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135637.4]
  wire [7:0] _T_22821; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135639.4]
  wire [7:0] _T_22823; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135641.4]
  wire [7:0] _T_22825; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135643.4]
  wire [7:0] _T_22827; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135645.4]
  wire [7:0] _T_22829; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135647.4]
  wire [7:0] _T_22831; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135649.4]
  wire [7:0] _T_22833; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135651.4]
  wire [7:0] _T_22835; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135653.4]
  wire [7:0] _T_22837; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135655.4]
  wire [7:0] _T_22839; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135657.4]
  wire [7:0] _T_22841; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135659.4]
  wire [7:0] _T_22843; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135661.4]
  wire [7:0] _T_22845; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135663.4]
  wire [7:0] _T_22847; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135665.4]
  wire [7:0] _T_22849; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135667.4]
  wire [7:0] _T_22851; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135669.4]
  wire [7:0] _T_22853; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135671.4]
  wire [7:0] _T_22855; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135673.4]
  wire [7:0] _T_22857; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135675.4]
  wire [7:0] _T_22859; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135677.4]
  wire [7:0] _T_22861; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135679.4]
  wire [7:0] _T_22863; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135681.4]
  wire [7:0] _T_22865; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135683.4]
  wire [7:0] _T_22867; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135685.4]
  wire [7:0] _T_22869; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135687.4]
  wire [7:0] _T_22871; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135689.4]
  wire [7:0] _T_22873; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135691.4]
  wire [7:0] _T_22875; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135693.4]
  wire [7:0] _T_22877; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135695.4]
  wire [7:0] _T_22879; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135697.4]
  wire [7:0] _T_22881; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135699.4]
  wire [7:0] _T_22883; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135701.4]
  wire [7:0] _T_22885; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135703.4]
  wire [7:0] _T_22887; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135705.4]
  wire [7:0] _T_22889; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135707.4]
  wire [7:0] _T_22891; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135709.4]
  wire [7:0] _T_22893; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135711.4]
  wire [7:0] _T_22895; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135713.4]
  wire [7:0] _T_22897; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135715.4]
  wire [7:0] _T_22899; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135717.4]
  wire [7:0] _T_22901; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135719.4]
  wire [7:0] _T_22903; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135721.4]
  wire [7:0] _T_22905; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135723.4]
  wire [7:0] _T_22907; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135725.4]
  wire [7:0] _T_22909; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135727.4]
  wire [7:0] _T_22911; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135729.4]
  wire [7:0] _T_22913; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135731.4]
  wire [7:0] _T_22915; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135733.4]
  wire [7:0] _T_22917; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135735.4]
  wire [7:0] _T_22919; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135737.4]
  wire [7:0] _T_22921; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135739.4]
  wire [7:0] _T_22923; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135741.4]
  wire [7:0] _T_22925; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135743.4]
  wire [7:0] _T_22927; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135745.4]
  wire [7:0] _T_22929; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135747.4]
  wire [7:0] _T_22931; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135749.4]
  wire [7:0] _T_22933; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135751.4]
  wire [7:0] _T_22935; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135753.4]
  wire [7:0] _T_22937; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135755.4]
  wire [7:0] _T_22939; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135757.4]
  wire [7:0] _T_22941; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135759.4]
  wire [7:0] _T_22943; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135761.4]
  wire [7:0] _T_22945; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135763.4]
  wire [7:0] _T_22947; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135765.4]
  wire [7:0] _T_22949; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135767.4]
  wire [7:0] _T_22951; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135769.4]
  wire [7:0] _T_22953; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135771.4]
  wire [7:0] _T_22955; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135773.4]
  wire [7:0] _T_22957; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135775.4]
  wire [7:0] _T_22959; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135777.4]
  wire [7:0] _T_22961; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135779.4]
  wire [7:0] _T_22963; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135781.4]
  wire [7:0] _T_22965; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135783.4]
  wire [7:0] _T_22967; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135785.4]
  wire [7:0] _T_22969; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135787.4]
  wire [7:0] _T_22971; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135789.4]
  wire [7:0] _T_22973; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135791.4]
  wire [7:0] _T_22975; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135793.4]
  wire [7:0] _T_22977; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135795.4]
  wire [7:0] _T_22979; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135797.4]
  wire [7:0] _T_22981; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135799.4]
  wire [7:0] _T_22983; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135801.4]
  wire [7:0] _T_22985; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135803.4]
  wire [7:0] _T_22987; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135805.4]
  wire [7:0] _T_22989; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135807.4]
  wire [7:0] _T_22991; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135809.4]
  wire [7:0] _T_22993; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135811.4]
  wire [7:0] _T_22995; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135813.4]
  wire [7:0] _T_22997; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135815.4]
  wire [7:0] _T_22999; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135817.4]
  wire [7:0] _T_23001; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135819.4]
  wire [7:0] _T_23003; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135821.4]
  wire [7:0] _T_23005; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135823.4]
  wire [7:0] _T_23007; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135825.4]
  wire [7:0] _T_23009; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135827.4]
  wire [7:0] _T_23011; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135829.4]
  wire [7:0] _T_23013; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135831.4]
  wire [7:0] _T_23015; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135833.4]
  wire [7:0] _T_23017; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135835.4]
  wire [7:0] _T_23019; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135837.4]
  wire [7:0] _T_23021; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135839.4]
  wire [7:0] _T_23023; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135841.4]
  wire [7:0] _T_23025; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135843.4]
  wire [7:0] _T_23027; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135845.4]
  wire [7:0] _T_23029; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135847.4]
  wire [7:0] _T_23039; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@135856.4]
  wire [7:0] _T_28445; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136506.4]
  wire [7:0] _T_28448; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136509.4]
  wire  _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136510.4]
  wire [7:0] _T_28459; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136520.4]
  wire [7:0] _T_28470; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136531.4]
  wire [7:0] _T_28473; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136534.4]
  wire  _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136535.4]
  wire [7:0] _T_28484; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136545.4]
  wire [15:0] _T_28494; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136555.4]
  wire [7:0] _T_28497; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136558.4]
  wire [7:0] _T_28500; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136561.4]
  wire  _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136562.4]
  wire [7:0] _T_28511; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136572.4]
  wire [23:0] _T_28521; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136582.4]
  wire [7:0] _T_28524; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136585.4]
  wire [7:0] _T_28527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136588.4]
  wire  _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136589.4]
  wire [7:0] _T_28538; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136599.4]
  wire [31:0] _T_28548; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136609.4]
  wire [15:0] _T_28600; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136661.4]
  wire [23:0] _T_28627; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136688.4]
  wire [31:0] _T_28654; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136715.4]
  wire [15:0] _T_28706; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136767.4]
  wire [23:0] _T_28733; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136794.4]
  wire [31:0] _T_28760; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136821.4]
  wire [15:0] _T_28812; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136873.4]
  wire [23:0] _T_28839; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136900.4]
  wire [31:0] _T_28866; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136927.4]
  wire [15:0] _T_29024; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137085.4]
  wire [23:0] _T_29051; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137112.4]
  wire [31:0] _T_29078; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137139.4]
  wire [15:0] _T_29130; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137191.4]
  wire [23:0] _T_29157; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137218.4]
  wire [31:0] _T_29184; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137245.4]
  wire [15:0] _T_29236; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137297.4]
  wire [23:0] _T_29263; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137324.4]
  wire [31:0] _T_29290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137351.4]
  wire [15:0] _T_29342; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137403.4]
  wire [23:0] _T_29369; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137430.4]
  wire [31:0] _T_29396; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137457.4]
  wire  _T_60038; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168311.4]
  wire  _T_65748; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176055.4]
  wire  _T_65749; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176056.4]
  wire  _T_29517; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@137578.4]
  wire  _T_29542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@137606.4]
  wire  _T_29569; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@137636.4]
  wire  _T_29596; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@137666.4]
  wire [15:0] _T_29660; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137733.4]
  wire [23:0] _T_29687; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137760.4]
  wire [31:0] _T_29714; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137787.4]
  wire [15:0] _T_29766; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137839.4]
  wire [23:0] _T_29793; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137866.4]
  wire [31:0] _T_29820; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137893.4]
  wire [15:0] _T_29872; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137945.4]
  wire [23:0] _T_29899; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137972.4]
  wire [31:0] _T_29926; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137999.4]
  wire [15:0] _T_29978; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138051.4]
  wire [23:0] _T_30005; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138078.4]
  wire [31:0] _T_30032; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138105.4]
  wire [15:0] _T_30084; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138157.4]
  wire [23:0] _T_30111; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138184.4]
  wire [31:0] _T_30138; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138211.4]
  wire [15:0] _T_30190; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138263.4]
  wire [23:0] _T_30217; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138290.4]
  wire [31:0] _T_30244; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138317.4]
  wire [15:0] _T_30296; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138369.4]
  wire [23:0] _T_30323; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138396.4]
  wire [31:0] _T_30350; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138423.4]
  wire [15:0] _T_30402; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138475.4]
  wire [23:0] _T_30429; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138502.4]
  wire [31:0] _T_30456; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138529.4]
  wire [15:0] _T_30508; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138581.4]
  wire [23:0] _T_30535; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138608.4]
  wire [31:0] _T_30562; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138635.4]
  wire [15:0] _T_30614; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138687.4]
  wire [23:0] _T_30641; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138714.4]
  wire [31:0] _T_30668; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138741.4]
  wire [15:0] _T_30720; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138793.4]
  wire [23:0] _T_30747; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138820.4]
  wire [31:0] _T_30774; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138847.4]
  wire [15:0] _T_30826; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138899.4]
  wire [23:0] _T_30853; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138926.4]
  wire [31:0] _T_30880; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138953.4]
  wire [15:0] _T_30932; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139005.4]
  wire [23:0] _T_30959; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139032.4]
  wire [31:0] _T_30986; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139059.4]
  wire [15:0] _T_31038; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139111.4]
  wire [23:0] _T_31065; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139138.4]
  wire [31:0] _T_31092; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139165.4]
  wire [15:0] _T_31144; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139217.4]
  wire [23:0] _T_31171; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139244.4]
  wire [31:0] _T_31198; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139271.4]
  wire [15:0] _T_31250; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139323.4]
  wire [23:0] _T_31277; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139350.4]
  wire [31:0] _T_31304; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139377.4]
  wire [15:0] _T_31356; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139429.4]
  wire [23:0] _T_31383; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139456.4]
  wire [31:0] _T_31410; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139483.4]
  wire [15:0] _T_31462; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139535.4]
  wire [23:0] _T_31489; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139562.4]
  wire [31:0] _T_31516; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139589.4]
  wire [15:0] _T_31568; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139641.4]
  wire [23:0] _T_31595; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139668.4]
  wire [31:0] _T_31622; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139695.4]
  wire [15:0] _T_31674; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139747.4]
  wire [23:0] _T_31701; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139774.4]
  wire [31:0] _T_31728; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139801.4]
  wire [15:0] _T_31780; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139853.4]
  wire [23:0] _T_31807; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139880.4]
  wire [31:0] _T_31834; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139907.4]
  wire [15:0] _T_31886; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139959.4]
  wire [23:0] _T_31913; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139986.4]
  wire [31:0] _T_31940; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140013.4]
  wire [15:0] _T_31992; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140065.4]
  wire [23:0] _T_32019; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140092.4]
  wire [31:0] _T_32046; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140119.4]
  wire [15:0] _T_32098; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140171.4]
  wire [23:0] _T_32125; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140198.4]
  wire [31:0] _T_32152; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140225.4]
  wire [15:0] _T_32204; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140277.4]
  wire [23:0] _T_32231; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140304.4]
  wire [31:0] _T_32258; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140331.4]
  wire [15:0] _T_32310; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140383.4]
  wire [23:0] _T_32337; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140410.4]
  wire [31:0] _T_32364; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140437.4]
  wire [15:0] _T_32416; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140489.4]
  wire [23:0] _T_32443; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140516.4]
  wire [31:0] _T_32470; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140543.4]
  wire [15:0] _T_32522; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140595.4]
  wire [23:0] _T_32549; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140622.4]
  wire [31:0] _T_32576; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140649.4]
  wire [15:0] _T_32628; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140701.4]
  wire [23:0] _T_32655; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140728.4]
  wire [31:0] _T_32682; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140755.4]
  wire [15:0] _T_32734; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140807.4]
  wire [23:0] _T_32761; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140834.4]
  wire [31:0] _T_32788; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140861.4]
  wire [15:0] _T_32840; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140913.4]
  wire [23:0] _T_32867; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140940.4]
  wire [31:0] _T_32894; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140967.4]
  wire [15:0] _T_32946; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141019.4]
  wire [23:0] _T_32973; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141046.4]
  wire [31:0] _T_33000; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141073.4]
  wire [15:0] _T_33052; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141125.4]
  wire [23:0] _T_33079; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141152.4]
  wire [31:0] _T_33106; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141179.4]
  wire  _T_60037; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168310.4]
  wire  _T_65742; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176044.4]
  wire  _T_65743; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176045.4]
  wire  _T_33121; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141194.4]
  wire  _T_33146; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141222.4]
  wire  _T_33173; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141252.4]
  wire  _T_33200; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141282.4]
  wire [15:0] _T_33264; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141349.4]
  wire [23:0] _T_33291; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141376.4]
  wire [31:0] _T_33318; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141403.4]
  wire [15:0] _T_33370; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141455.4]
  wire [23:0] _T_33397; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141482.4]
  wire [31:0] _T_33424; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141509.4]
  wire [15:0] _T_33476; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141561.4]
  wire [23:0] _T_33503; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141588.4]
  wire [31:0] _T_33530; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141615.4]
  wire [15:0] _T_33582; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141667.4]
  wire [23:0] _T_33609; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141694.4]
  wire [31:0] _T_33636; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141721.4]
  wire [15:0] _T_33688; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141773.4]
  wire [23:0] _T_33715; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141800.4]
  wire [31:0] _T_33742; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141827.4]
  wire  _T_60032; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168305.4]
  wire  _T_65712; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175989.4]
  wire  _T_65713; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175990.4]
  wire  _T_33757; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141842.4]
  wire  _T_33782; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141870.4]
  wire  _T_33809; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141900.4]
  wire  _T_33836; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141930.4]
  wire [15:0] _T_33900; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141997.4]
  wire [23:0] _T_33927; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142024.4]
  wire [31:0] _T_33954; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142051.4]
  wire [15:0] _T_34112; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142209.4]
  wire [23:0] _T_34139; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142236.4]
  wire [31:0] _T_34166; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142263.4]
  wire [15:0] _T_34218; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142315.4]
  wire [23:0] _T_34245; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142342.4]
  wire [31:0] _T_34272; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142369.4]
  wire [15:0] _T_34324; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142421.4]
  wire [23:0] _T_34351; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142448.4]
  wire [31:0] _T_34378; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142475.4]
  wire [15:0] _T_34430; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142527.4]
  wire [23:0] _T_34457; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142554.4]
  wire [31:0] _T_34484; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142581.4]
  wire [15:0] _T_34536; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142633.4]
  wire [23:0] _T_34563; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142660.4]
  wire [31:0] _T_34590; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142687.4]
  wire  _T_60042; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168315.4]
  wire  _T_65772; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176099.4]
  wire  _T_65773; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176100.4]
  wire  _T_34605; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@142702.4]
  wire  _T_34630; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@142730.4]
  wire  _T_34657; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@142760.4]
  wire  _T_34684; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@142790.4]
  wire [15:0] _T_34748; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142857.4]
  wire [23:0] _T_34775; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142884.4]
  wire [31:0] _T_34802; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142911.4]
  wire [15:0] _T_34854; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142963.4]
  wire [23:0] _T_34881; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142990.4]
  wire [31:0] _T_34908; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143017.4]
  wire [15:0] _T_34960; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143069.4]
  wire [23:0] _T_34987; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143096.4]
  wire [31:0] _T_35014; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143123.4]
  wire [15:0] _T_35066; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143175.4]
  wire [23:0] _T_35093; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143202.4]
  wire [31:0] _T_35120; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143229.4]
  wire [15:0] _T_35172; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143281.4]
  wire [23:0] _T_35199; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143308.4]
  wire [31:0] _T_35226; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143335.4]
  wire [15:0] _T_35278; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143387.4]
  wire [23:0] _T_35305; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143414.4]
  wire [31:0] _T_35332; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143441.4]
  wire [15:0] _T_35384; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143493.4]
  wire [23:0] _T_35411; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143520.4]
  wire [31:0] _T_35438; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143547.4]
  wire [15:0] _T_35596; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143705.4]
  wire [23:0] _T_35623; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143732.4]
  wire [31:0] _T_35650; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143759.4]
  wire [15:0] _T_35727; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143836.4]
  wire [23:0] _T_35754; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143863.4]
  wire [31:0] _T_35781; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143890.4]
  wire [15:0] _T_35833; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143942.4]
  wire [23:0] _T_35860; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143969.4]
  wire [31:0] _T_35887; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143996.4]
  wire [15:0] _T_35939; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144048.4]
  wire [23:0] _T_35966; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144075.4]
  wire [31:0] _T_35993; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144102.4]
  wire [15:0] _T_36045; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144154.4]
  wire [23:0] _T_36072; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144181.4]
  wire [31:0] _T_36099; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144208.4]
  wire [15:0] _T_36257; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144366.4]
  wire [23:0] _T_36284; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144393.4]
  wire [31:0] _T_36311; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144420.4]
  wire [15:0] _T_36363; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144472.4]
  wire [23:0] _T_36390; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144499.4]
  wire [31:0] _T_36417; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144526.4]
  wire [15:0] _T_36575; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144684.4]
  wire [23:0] _T_36602; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144711.4]
  wire [31:0] _T_36629; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144738.4]
  wire  _T_60041; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168314.4]
  wire  _T_65766; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176088.4]
  wire  _T_65767; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176089.4]
  wire  _T_36644; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@144753.4]
  wire  _T_36669; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@144781.4]
  wire  _T_36696; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@144811.4]
  wire  _T_36723; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@144841.4]
  wire [15:0] _T_36787; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144908.4]
  wire [23:0] _T_36814; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144935.4]
  wire [31:0] _T_36841; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144962.4]
  wire [15:0] _T_36893; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145014.4]
  wire [23:0] _T_36920; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145041.4]
  wire [31:0] _T_36947; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145068.4]
  wire [15:0] _T_36999; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145120.4]
  wire [23:0] _T_37026; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145147.4]
  wire [31:0] _T_37053; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145174.4]
  wire [15:0] _T_37105; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145226.4]
  wire [23:0] _T_37132; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145253.4]
  wire [31:0] _T_37159; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145280.4]
  wire [15:0] _T_37211; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145332.4]
  wire [23:0] _T_37238; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145359.4]
  wire [31:0] _T_37265; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145386.4]
  wire [15:0] _T_37317; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145438.4]
  wire [23:0] _T_37344; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145465.4]
  wire [31:0] _T_37371; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145492.4]
  wire [15:0] _T_37423; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145544.4]
  wire [23:0] _T_37450; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145571.4]
  wire [31:0] _T_37477; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145598.4]
  wire [15:0] _T_37529; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145650.4]
  wire [23:0] _T_37556; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145677.4]
  wire [31:0] _T_37583; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145704.4]
  wire [15:0] _T_37660; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145781.4]
  wire [23:0] _T_37687; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145808.4]
  wire [31:0] _T_37714; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145835.4]
  wire [15:0] _T_37766; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145887.4]
  wire [23:0] _T_37793; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145914.4]
  wire [31:0] _T_37820; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145941.4]
  wire [15:0] _T_37872; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145993.4]
  wire [23:0] _T_37899; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146020.4]
  wire [31:0] _T_37926; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146047.4]
  wire [15:0] _T_37978; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146099.4]
  wire [23:0] _T_38005; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146126.4]
  wire [31:0] _T_38032; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146153.4]
  wire [15:0] _T_38084; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146205.4]
  wire [23:0] _T_38111; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146232.4]
  wire [31:0] _T_38138; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146259.4]
  wire [15:0] _T_38190; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146311.4]
  wire [23:0] _T_38217; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146338.4]
  wire [31:0] _T_38244; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146365.4]
  wire [15:0] _T_38321; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146444.4]
  wire [23:0] _T_38348; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146471.4]
  wire [31:0] _T_38375; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146498.4]
  wire [15:0] _T_38427; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146550.4]
  wire [23:0] _T_38454; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146577.4]
  wire [31:0] _T_38481; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146604.4]
  wire [15:0] _T_38639; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146762.4]
  wire [23:0] _T_38666; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146789.4]
  wire [31:0] _T_38693; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146816.4]
  wire [15:0] _T_38745; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146868.4]
  wire [23:0] _T_38772; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146895.4]
  wire [31:0] _T_38799; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146922.4]
  wire [15:0] _T_38851; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146974.4]
  wire [23:0] _T_38878; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147001.4]
  wire [31:0] _T_38905; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147028.4]
  wire [15:0] _T_38957; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147080.4]
  wire [23:0] _T_38984; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147107.4]
  wire [31:0] _T_39011; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147134.4]
  wire [15:0] _T_39063; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147186.4]
  wire [23:0] _T_39090; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147213.4]
  wire [31:0] _T_39117; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147240.4]
  wire  _T_60045; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168318.4]
  wire  _T_65790; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176132.4]
  wire  _T_65791; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176133.4]
  wire  _T_39132; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147255.4]
  wire  _T_39157; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147283.4]
  wire  _T_39184; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147313.4]
  wire  _T_39211; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147343.4]
  wire [15:0] _T_39381; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147516.4]
  wire [23:0] _T_39408; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147543.4]
  wire [31:0] _T_39435; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147570.4]
  wire [15:0] _T_39487; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147622.4]
  wire [23:0] _T_39514; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147649.4]
  wire [31:0] _T_39541; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147676.4]
  wire [15:0] _T_39593; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147728.4]
  wire [23:0] _T_39620; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147755.4]
  wire [31:0] _T_39647; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147782.4]
  wire [15:0] _T_39699; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147834.4]
  wire [23:0] _T_39726; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147861.4]
  wire [31:0] _T_39753; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147888.4]
  wire [15:0] _T_39805; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147940.4]
  wire [23:0] _T_39832; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147967.4]
  wire [31:0] _T_39859; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147994.4]
  wire [15:0] _T_39911; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148046.4]
  wire [23:0] _T_39938; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148073.4]
  wire [31:0] _T_39965; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148100.4]
  wire [15:0] _T_40017; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148152.4]
  wire [23:0] _T_40044; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148179.4]
  wire [31:0] _T_40071; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148206.4]
  wire [15:0] _T_40123; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148258.4]
  wire [23:0] _T_40150; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148285.4]
  wire [31:0] _T_40177; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148312.4]
  wire [15:0] _T_40229; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148364.4]
  wire [23:0] _T_40256; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148391.4]
  wire [31:0] _T_40283; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148418.4]
  wire [15:0] _T_40335; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148470.4]
  wire [23:0] _T_40362; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148497.4]
  wire [31:0] _T_40389; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148524.4]
  wire [15:0] _T_40441; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148576.4]
  wire [23:0] _T_40468; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148603.4]
  wire [31:0] _T_40495; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148630.4]
  wire [15:0] _T_40547; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148682.4]
  wire [23:0] _T_40574; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148709.4]
  wire [31:0] _T_40601; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148736.4]
  wire [15:0] _T_40759; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148894.4]
  wire [23:0] _T_40786; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148921.4]
  wire [31:0] _T_40813; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148948.4]
  wire  _T_60033; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168306.4]
  wire  _T_65718; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176000.4]
  wire  _T_65719; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176001.4]
  wire  _T_40828; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@148963.4]
  wire  _T_40853; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@148991.4]
  wire  _T_40880; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@149021.4]
  wire  _T_40907; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@149051.4]
  wire [15:0] _T_40971; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149118.4]
  wire [23:0] _T_40998; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149145.4]
  wire [31:0] _T_41025; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149172.4]
  wire [15:0] _T_41183; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149330.4]
  wire [23:0] _T_41210; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149357.4]
  wire [31:0] _T_41237; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149384.4]
  wire [15:0] _T_41289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149436.4]
  wire [23:0] _T_41316; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149463.4]
  wire [31:0] _T_41343; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149490.4]
  wire [15:0] _T_41395; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149542.4]
  wire [23:0] _T_41422; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149569.4]
  wire [31:0] _T_41449; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149596.4]
  wire [15:0] _T_41501; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149648.4]
  wire [23:0] _T_41528; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149675.4]
  wire [31:0] _T_41555; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149702.4]
  wire [15:0] _T_41607; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149754.4]
  wire [23:0] _T_41634; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149781.4]
  wire [31:0] _T_41661; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149808.4]
  wire [15:0] _T_41713; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149860.4]
  wire [23:0] _T_41740; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149887.4]
  wire [31:0] _T_41767; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149914.4]
  wire [15:0] _T_41819; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149966.4]
  wire [23:0] _T_41846; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149993.4]
  wire [31:0] _T_41873; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150020.4]
  wire [15:0] _T_41925; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150072.4]
  wire [23:0] _T_41952; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150099.4]
  wire [31:0] _T_41979; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150126.4]
  wire [15:0] _T_42031; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150178.4]
  wire [23:0] _T_42058; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150205.4]
  wire [31:0] _T_42085; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150232.4]
  wire [15:0] _T_42243; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150390.4]
  wire [23:0] _T_42270; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150417.4]
  wire [31:0] _T_42297; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150444.4]
  wire [15:0] _T_42349; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150496.4]
  wire [23:0] _T_42376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150523.4]
  wire [31:0] _T_42403; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150550.4]
  wire [15:0] _T_42455; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150602.4]
  wire [23:0] _T_42482; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150629.4]
  wire [31:0] _T_42509; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150656.4]
  wire [15:0] _T_42667; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150814.4]
  wire [23:0] _T_42694; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150841.4]
  wire [31:0] _T_42721; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150868.4]
  wire [15:0] _T_42773; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150920.4]
  wire [23:0] _T_42800; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150947.4]
  wire [31:0] _T_42827; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150974.4]
  wire [15:0] _T_42879; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151026.4]
  wire [23:0] _T_42906; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151053.4]
  wire [31:0] _T_42933; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151080.4]
  wire [15:0] _T_43010; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151159.4]
  wire [23:0] _T_43037; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151186.4]
  wire [31:0] _T_43064; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151213.4]
  wire [15:0] _T_43116; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151265.4]
  wire [23:0] _T_43143; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151292.4]
  wire [31:0] _T_43170; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151319.4]
  wire [15:0] _T_43222; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151371.4]
  wire [23:0] _T_43249; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151398.4]
  wire [31:0] _T_43276; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151425.4]
  wire [15:0] _T_43328; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151477.4]
  wire [23:0] _T_43355; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151504.4]
  wire [31:0] _T_43382; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151531.4]
  wire [15:0] _T_43434; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151583.4]
  wire [23:0] _T_43461; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151610.4]
  wire [31:0] _T_43488; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151637.4]
  wire [15:0] _T_43540; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151689.4]
  wire [23:0] _T_43567; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151716.4]
  wire [31:0] _T_43594; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151743.4]
  wire [15:0] _T_43646; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151795.4]
  wire [23:0] _T_43673; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151822.4]
  wire [31:0] _T_43700; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151849.4]
  wire [15:0] _T_43752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151901.4]
  wire [23:0] _T_43779; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151928.4]
  wire [31:0] _T_43806; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151955.4]
  wire [15:0] _T_43858; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152007.4]
  wire [23:0] _T_43885; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152034.4]
  wire [31:0] _T_43912; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152061.4]
  wire [15:0] _T_43964; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152113.4]
  wire [23:0] _T_43991; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152140.4]
  wire [31:0] _T_44018; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152167.4]
  wire [15:0] _T_44070; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152219.4]
  wire [23:0] _T_44097; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152246.4]
  wire [31:0] _T_44124; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152273.4]
  wire [15:0] _T_44176; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152325.4]
  wire [23:0] _T_44203; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152352.4]
  wire [31:0] _T_44230; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152379.4]
  wire [15:0] _T_44282; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152431.4]
  wire [23:0] _T_44309; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152458.4]
  wire [31:0] _T_44336; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152485.4]
  wire [15:0] _T_44388; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152537.4]
  wire [23:0] _T_44415; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152564.4]
  wire [31:0] _T_44442; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152591.4]
  wire [15:0] _T_44494; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152643.4]
  wire [23:0] _T_44521; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152670.4]
  wire [31:0] _T_44548; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152697.4]
  wire [15:0] _T_44600; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152749.4]
  wire [23:0] _T_44627; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152776.4]
  wire [31:0] _T_44654; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152803.4]
  wire [15:0] _T_44706; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152855.4]
  wire [23:0] _T_44733; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152882.4]
  wire [31:0] _T_44760; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152909.4]
  wire [15:0] _T_44812; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152961.4]
  wire [23:0] _T_44839; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152988.4]
  wire [31:0] _T_44866; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153015.4]
  wire [15:0] _T_44918; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153067.4]
  wire [23:0] _T_44945; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153094.4]
  wire [31:0] _T_44972; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153121.4]
  wire  _T_60040; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168313.4]
  wire  _T_65760; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176077.4]
  wire  _T_65761; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176078.4]
  wire  _T_44987; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@153136.4]
  wire  _T_45012; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@153164.4]
  wire  _T_45039; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@153194.4]
  wire  _T_45066; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@153224.4]
  wire [15:0] _T_45130; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153291.4]
  wire [23:0] _T_45157; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153318.4]
  wire [31:0] _T_45184; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153345.4]
  wire [15:0] _T_45236; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153397.4]
  wire [23:0] _T_45263; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153424.4]
  wire [31:0] _T_45290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153451.4]
  wire [15:0] _T_45342; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153503.4]
  wire [23:0] _T_45369; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153530.4]
  wire [31:0] _T_45396; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153557.4]
  wire [15:0] _T_45448; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153609.4]
  wire [23:0] _T_45475; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153636.4]
  wire [31:0] _T_45502; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153663.4]
  wire [15:0] _T_45554; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153715.4]
  wire [23:0] _T_45581; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153742.4]
  wire [31:0] _T_45608; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153769.4]
  wire [15:0] _T_45660; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153821.4]
  wire [23:0] _T_45687; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153848.4]
  wire [31:0] _T_45714; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153875.4]
  wire [15:0] _T_45766; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153927.4]
  wire [23:0] _T_45793; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153954.4]
  wire [31:0] _T_45820; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153981.4]
  wire [15:0] _T_45872; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154033.4]
  wire [23:0] _T_45899; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154060.4]
  wire [31:0] _T_45926; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154087.4]
  wire [15:0] _T_45978; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154139.4]
  wire [23:0] _T_46005; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154166.4]
  wire [31:0] _T_46032; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154193.4]
  wire [15:0] _T_46084; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154245.4]
  wire [23:0] _T_46111; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154272.4]
  wire [31:0] _T_46138; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154299.4]
  wire  _T_60029; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168302.4]
  wire  _T_65694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175956.4]
  wire  _T_65695; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175957.4]
  wire  _T_46153; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@154314.4]
  wire  _T_46178; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@154342.4]
  wire  _T_46205; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@154372.4]
  wire  _T_46232; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@154402.4]
  wire [15:0] _T_46296; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154469.4]
  wire [23:0] _T_46323; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154496.4]
  wire [31:0] _T_46350; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154523.4]
  wire [15:0] _T_46402; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154575.4]
  wire [23:0] _T_46429; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154602.4]
  wire [31:0] _T_46456; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154629.4]
  wire [15:0] _T_46508; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154681.4]
  wire [23:0] _T_46535; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154708.4]
  wire [31:0] _T_46562; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154735.4]
  wire [15:0] _T_46614; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154787.4]
  wire [23:0] _T_46641; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154814.4]
  wire [31:0] _T_46668; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154841.4]
  wire [15:0] _T_46720; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154893.4]
  wire [23:0] _T_46747; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154920.4]
  wire [31:0] _T_46774; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154947.4]
  wire [15:0] _T_46826; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154999.4]
  wire [23:0] _T_46853; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155026.4]
  wire [31:0] _T_46880; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155053.4]
  wire  _T_60034; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168307.4]
  wire  _T_65724; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176011.4]
  wire  _T_65725; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176012.4]
  wire  _T_46895; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@155068.4]
  wire  _T_46920; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@155096.4]
  wire  _T_46947; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@155126.4]
  wire  _T_46974; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@155156.4]
  wire [15:0] _T_47038; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155223.4]
  wire [23:0] _T_47065; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155250.4]
  wire [31:0] _T_47092; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155277.4]
  wire [15:0] _T_47275; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155462.4]
  wire [23:0] _T_47302; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155489.4]
  wire [31:0] _T_47329; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155516.4]
  wire [15:0] _T_47381; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155568.4]
  wire [23:0] _T_47408; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155595.4]
  wire [31:0] _T_47435; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155622.4]
  wire [15:0] _T_47593; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155780.4]
  wire [23:0] _T_47620; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155807.4]
  wire [31:0] _T_47647; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155834.4]
  wire [15:0] _T_47699; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155886.4]
  wire [23:0] _T_47726; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155913.4]
  wire [31:0] _T_47753; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155940.4]
  wire [15:0] _T_47805; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155992.4]
  wire [23:0] _T_47832; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156019.4]
  wire [31:0] _T_47859; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156046.4]
  wire  _T_60044; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168317.4]
  wire  _T_65784; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176121.4]
  wire  _T_65785; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176122.4]
  wire  _T_47874; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@156061.4]
  wire  _T_47899; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@156089.4]
  wire  _T_47926; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@156119.4]
  wire  _T_47953; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@156149.4]
  wire [15:0] _T_48017; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156216.4]
  wire [23:0] _T_48044; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156243.4]
  wire [31:0] _T_48071; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156270.4]
  wire [15:0] _T_48123; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156322.4]
  wire [23:0] _T_48150; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156349.4]
  wire [31:0] _T_48177; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156376.4]
  wire [15:0] _T_48229; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156428.4]
  wire [23:0] _T_48256; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156455.4]
  wire [31:0] _T_48283; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156482.4]
  wire [15:0] _T_48335; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156534.4]
  wire [23:0] _T_48362; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156561.4]
  wire [31:0] _T_48389; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156588.4]
  wire [15:0] _T_48441; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156640.4]
  wire [23:0] _T_48468; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156667.4]
  wire [31:0] _T_48495; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156694.4]
  wire [15:0] _T_48547; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156746.4]
  wire [23:0] _T_48574; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156773.4]
  wire [31:0] _T_48601; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156800.4]
  wire [15:0] _T_48653; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156852.4]
  wire [23:0] _T_48680; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156879.4]
  wire [31:0] _T_48707; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156906.4]
  wire [15:0] _T_48759; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156958.4]
  wire [23:0] _T_48786; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156985.4]
  wire [31:0] _T_48813; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157012.4]
  wire [15:0] _T_48865; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157064.4]
  wire [23:0] _T_48892; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157091.4]
  wire [31:0] _T_48919; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157118.4]
  wire [15:0] _T_48971; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157170.4]
  wire [23:0] _T_48998; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157197.4]
  wire [31:0] _T_49025; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157224.4]
  wire [15:0] _T_49183; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157382.4]
  wire [23:0] _T_49210; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157409.4]
  wire [31:0] _T_49237; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157436.4]
  wire  _T_60030; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168303.4]
  wire  _T_65700; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175967.4]
  wire  _T_65701; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175968.4]
  wire  _T_49252; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@157451.4]
  wire  _T_49277; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@157479.4]
  wire  _T_49304; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@157509.4]
  wire  _T_49331; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@157539.4]
  wire [15:0] _T_49395; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157606.4]
  wire [23:0] _T_49422; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157633.4]
  wire [31:0] _T_49449; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157660.4]
  wire [15:0] _T_49607; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157818.4]
  wire [23:0] _T_49634; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157845.4]
  wire [31:0] _T_49661; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157872.4]
  wire [15:0] _T_49713; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157924.4]
  wire [23:0] _T_49740; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157951.4]
  wire [31:0] _T_49767; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157978.4]
  wire [15:0] _T_49819; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158030.4]
  wire [23:0] _T_49846; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158057.4]
  wire [31:0] _T_49873; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158084.4]
  wire [15:0] _T_50031; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158242.4]
  wire [23:0] _T_50058; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158269.4]
  wire [31:0] _T_50085; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158296.4]
  wire [15:0] _T_50137; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158348.4]
  wire [23:0] _T_50164; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158375.4]
  wire [31:0] _T_50191; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158402.4]
  wire [15:0] _T_50243; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158454.4]
  wire [23:0] _T_50270; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158481.4]
  wire [31:0] _T_50297; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158508.4]
  wire [15:0] _T_50349; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158560.4]
  wire [23:0] _T_50376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158587.4]
  wire [31:0] _T_50403; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158614.4]
  wire [15:0] _T_50455; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158666.4]
  wire [23:0] _T_50482; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158693.4]
  wire [31:0] _T_50509; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158720.4]
  wire [15:0] _T_50561; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158772.4]
  wire [23:0] _T_50588; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158799.4]
  wire [31:0] _T_50615; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158826.4]
  wire [15:0] _T_50667; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158878.4]
  wire [23:0] _T_50694; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158905.4]
  wire [31:0] _T_50721; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158932.4]
  wire [15:0] _T_50798; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159011.4]
  wire [23:0] _T_50825; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159038.4]
  wire [31:0] _T_50852; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159065.4]
  wire [15:0] _T_50904; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159117.4]
  wire [23:0] _T_50931; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159144.4]
  wire [31:0] _T_50958; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159171.4]
  wire [15:0] _T_51010; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159223.4]
  wire [23:0] _T_51037; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159250.4]
  wire [31:0] _T_51064; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159277.4]
  wire [15:0] _T_51116; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159329.4]
  wire [23:0] _T_51143; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159356.4]
  wire [31:0] _T_51170; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159383.4]
  wire [15:0] _T_51222; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159435.4]
  wire [23:0] _T_51249; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159462.4]
  wire [31:0] _T_51276; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159489.4]
  wire [15:0] _T_51328; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159541.4]
  wire [23:0] _T_51355; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159568.4]
  wire [31:0] _T_51382; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159595.4]
  wire [15:0] _T_51434; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159647.4]
  wire [23:0] _T_51461; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159674.4]
  wire [31:0] _T_51488; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159701.4]
  wire [15:0] _T_51540; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159753.4]
  wire [23:0] _T_51567; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159780.4]
  wire [31:0] _T_51594; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159807.4]
  wire [15:0] _T_51646; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159859.4]
  wire [23:0] _T_51673; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159886.4]
  wire [31:0] _T_51700; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159913.4]
  wire [15:0] _T_51752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159965.4]
  wire [23:0] _T_51779; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159992.4]
  wire [31:0] _T_51806; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160019.4]
  wire [15:0] _T_51858; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160071.4]
  wire [23:0] _T_51885; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160098.4]
  wire [31:0] _T_51912; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160125.4]
  wire [15:0] _T_51964; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160177.4]
  wire [23:0] _T_51991; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160204.4]
  wire [31:0] _T_52018; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160231.4]
  wire [15:0] _T_52070; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160283.4]
  wire [23:0] _T_52097; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160310.4]
  wire [31:0] _T_52124; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160337.4]
  wire [15:0] _T_52176; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160389.4]
  wire [23:0] _T_52203; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160416.4]
  wire [31:0] _T_52230; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160443.4]
  wire [15:0] _T_52282; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160495.4]
  wire [23:0] _T_52309; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160522.4]
  wire [31:0] _T_52336; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160549.4]
  wire [15:0] _T_52388; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160601.4]
  wire [23:0] _T_52415; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160628.4]
  wire [31:0] _T_52442; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160655.4]
  wire [15:0] _T_52494; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160707.4]
  wire [23:0] _T_52521; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160734.4]
  wire [31:0] _T_52548; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160761.4]
  wire [15:0] _T_52706; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160919.4]
  wire [23:0] _T_52733; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160946.4]
  wire [31:0] _T_52760; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160973.4]
  wire  _T_60039; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168312.4]
  wire  _T_65754; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176066.4]
  wire  _T_65755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176067.4]
  wire  _T_52775; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@160988.4]
  wire  _T_52800; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@161016.4]
  wire  _T_52827; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@161046.4]
  wire  _T_52854; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@161076.4]
  wire [15:0] _T_52918; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161143.4]
  wire [23:0] _T_52945; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161170.4]
  wire [31:0] _T_52972; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161197.4]
  wire [15:0] _T_53130; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161355.4]
  wire [23:0] _T_53157; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161382.4]
  wire [31:0] _T_53184; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161409.4]
  wire [15:0] _T_53236; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161461.4]
  wire [23:0] _T_53263; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161488.4]
  wire [31:0] _T_53290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161515.4]
  wire [15:0] _T_53342; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161567.4]
  wire [23:0] _T_53369; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161594.4]
  wire [31:0] _T_53396; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161621.4]
  wire [15:0] _T_53448; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161673.4]
  wire [23:0] _T_53475; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161700.4]
  wire [31:0] _T_53502; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161727.4]
  wire [15:0] _T_53554; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161779.4]
  wire [23:0] _T_53581; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161806.4]
  wire [31:0] _T_53608; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161833.4]
  wire [15:0] _T_53660; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161885.4]
  wire [23:0] _T_53687; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161912.4]
  wire [31:0] _T_53714; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161939.4]
  wire [15:0] _T_53766; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161991.4]
  wire [23:0] _T_53793; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162018.4]
  wire [31:0] _T_53820; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162045.4]
  wire [15:0] _T_53872; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162097.4]
  wire [23:0] _T_53899; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162124.4]
  wire [31:0] _T_53926; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162151.4]
  wire [15:0] _T_53978; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162203.4]
  wire [23:0] _T_54005; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162230.4]
  wire [31:0] _T_54032; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162257.4]
  wire [15:0] _T_54084; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162309.4]
  wire [23:0] _T_54111; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162336.4]
  wire [31:0] _T_54138; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162363.4]
  wire [15:0] _T_54190; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162415.4]
  wire [23:0] _T_54217; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162442.4]
  wire [31:0] _T_54244; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162469.4]
  wire [15:0] _T_54321; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162546.4]
  wire [23:0] _T_54348; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162573.4]
  wire [31:0] _T_54375; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162600.4]
  wire [15:0] _T_54427; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162652.4]
  wire [23:0] _T_54454; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162679.4]
  wire [31:0] _T_54481; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162706.4]
  wire [15:0] _T_54533; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162758.4]
  wire [23:0] _T_54560; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162785.4]
  wire [31:0] _T_54587; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162812.4]
  wire [15:0] _T_54639; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162864.4]
  wire [23:0] _T_54666; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162891.4]
  wire [31:0] _T_54693; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162918.4]
  wire  _T_60035; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168308.4]
  wire  _T_65730; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176022.4]
  wire  _T_65731; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176023.4]
  wire  _T_54708; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@162933.4]
  wire  _T_54733; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@162961.4]
  wire  _T_54760; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@162991.4]
  wire  _T_54787; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@163021.4]
  wire [15:0] _T_54851; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163088.4]
  wire [23:0] _T_54878; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163115.4]
  wire [31:0] _T_54905; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163142.4]
  wire [15:0] _T_54957; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163194.4]
  wire [23:0] _T_54984; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163221.4]
  wire [31:0] _T_55011; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163248.4]
  wire [15:0] _T_55063; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163300.4]
  wire [23:0] _T_55090; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163327.4]
  wire [31:0] _T_55117; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163354.4]
  wire [15:0] _T_55169; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163406.4]
  wire [23:0] _T_55196; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163433.4]
  wire [31:0] _T_55223; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163460.4]
  wire [15:0] _T_55275; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163512.4]
  wire [23:0] _T_55302; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163539.4]
  wire [31:0] _T_55329; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163566.4]
  wire [15:0] _T_55381; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163618.4]
  wire [23:0] _T_55408; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163645.4]
  wire [31:0] _T_55435; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163672.4]
  wire [15:0] _T_55487; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163724.4]
  wire [23:0] _T_55514; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163751.4]
  wire [31:0] _T_55541; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163778.4]
  wire [15:0] _T_55593; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163830.4]
  wire [23:0] _T_55620; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163857.4]
  wire [31:0] _T_55647; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163884.4]
  wire [15:0] _T_55699; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163936.4]
  wire [23:0] _T_55726; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163963.4]
  wire [31:0] _T_55753; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163990.4]
  wire [15:0] _T_55805; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164042.4]
  wire [23:0] _T_55832; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164069.4]
  wire [31:0] _T_55859; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164096.4]
  wire [15:0] _T_55911; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164148.4]
  wire [23:0] _T_55938; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164175.4]
  wire [31:0] _T_55965; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164202.4]
  wire [15:0] _T_56017; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164254.4]
  wire [23:0] _T_56044; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164281.4]
  wire [31:0] _T_56071; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164308.4]
  wire  _T_60031; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168304.4]
  wire  _T_65706; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175978.4]
  wire  _T_65707; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175979.4]
  wire  _T_56086; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@164323.4]
  wire  _T_56111; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@164351.4]
  wire  _T_56138; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@164381.4]
  wire  _T_56165; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@164411.4]
  wire [15:0] _T_56229; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164478.4]
  wire [23:0] _T_56256; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164505.4]
  wire [31:0] _T_56283; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164532.4]
  wire [15:0] _T_56335; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164584.4]
  wire [23:0] _T_56362; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164611.4]
  wire [31:0] _T_56389; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164638.4]
  wire [15:0] _T_56441; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164690.4]
  wire [23:0] _T_56468; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164717.4]
  wire [31:0] _T_56495; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164744.4]
  wire [15:0] _T_56547; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164796.4]
  wire [23:0] _T_56574; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164823.4]
  wire [31:0] _T_56601; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164850.4]
  wire [15:0] _T_56653; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164902.4]
  wire [23:0] _T_56680; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164929.4]
  wire [31:0] _T_56707; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164956.4]
  wire [15:0] _T_56759; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165008.4]
  wire [23:0] _T_56786; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165035.4]
  wire [31:0] _T_56813; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165062.4]
  wire [15:0] _T_56865; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165114.4]
  wire [23:0] _T_56892; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165141.4]
  wire [31:0] _T_56919; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165168.4]
  wire [15:0] _T_56971; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165220.4]
  wire [23:0] _T_56998; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165247.4]
  wire [31:0] _T_57025; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165274.4]
  wire [15:0] _T_57077; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165326.4]
  wire [23:0] _T_57104; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165353.4]
  wire [31:0] _T_57131; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165380.4]
  wire [15:0] _T_57289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165538.4]
  wire [23:0] _T_57316; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165565.4]
  wire [31:0] _T_57343; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165592.4]
  wire [15:0] _T_57395; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165644.4]
  wire [23:0] _T_57422; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165671.4]
  wire [31:0] _T_57449; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165698.4]
  wire [15:0] _T_57501; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165750.4]
  wire [23:0] _T_57528; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165777.4]
  wire [31:0] _T_57555; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165804.4]
  wire [15:0] _T_57607; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165856.4]
  wire [23:0] _T_57634; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165883.4]
  wire [31:0] _T_57661; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165910.4]
  wire [15:0] _T_57713; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165962.4]
  wire [23:0] _T_57740; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165989.4]
  wire [31:0] _T_57767; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166016.4]
  wire [15:0] _T_57819; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166068.4]
  wire [23:0] _T_57846; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166095.4]
  wire [31:0] _T_57873; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166122.4]
  wire [15:0] _T_58031; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166280.4]
  wire [23:0] _T_58058; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166307.4]
  wire [31:0] _T_58085; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166334.4]
  wire [15:0] _T_58137; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166386.4]
  wire [23:0] _T_58164; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166413.4]
  wire [31:0] _T_58191; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166440.4]
  wire [15:0] _T_58243; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166492.4]
  wire [23:0] _T_58270; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166519.4]
  wire [31:0] _T_58297; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166546.4]
  wire [15:0] _T_58349; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166598.4]
  wire [23:0] _T_58376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166625.4]
  wire [31:0] _T_58403; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166652.4]
  wire [15:0] _T_58455; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166704.4]
  wire [23:0] _T_58482; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166731.4]
  wire [31:0] _T_58509; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166758.4]
  wire [15:0] _T_58561; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166810.4]
  wire [23:0] _T_58588; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166837.4]
  wire [31:0] _T_58615; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166864.4]
  wire [15:0] _T_58667; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166916.4]
  wire [23:0] _T_58694; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166943.4]
  wire [31:0] _T_58721; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166970.4]
  wire [15:0] _T_58773; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167022.4]
  wire [23:0] _T_58800; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167049.4]
  wire [31:0] _T_58827; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167076.4]
  wire [15:0] _T_58879; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167128.4]
  wire [23:0] _T_58906; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167155.4]
  wire [31:0] _T_58933; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167182.4]
  wire [15:0] _T_58985; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167234.4]
  wire [23:0] _T_59012; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167261.4]
  wire [31:0] _T_59039; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167288.4]
  wire [15:0] _T_59091; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167340.4]
  wire [23:0] _T_59118; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167367.4]
  wire [31:0] _T_59145; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167394.4]
  wire  _T_60036; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168309.4]
  wire  _T_65736; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176033.4]
  wire  _T_65737; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176034.4]
  wire  _T_59160; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167409.4]
  wire  _T_59185; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167437.4]
  wire  _T_59212; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167467.4]
  wire  _T_59239; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167497.4]
  wire [15:0] _T_59303; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167564.4]
  wire [23:0] _T_59330; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167591.4]
  wire [31:0] _T_59357; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167618.4]
  wire  _T_60043; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168316.4]
  wire  _T_65778; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176110.4]
  wire  _T_65779; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176111.4]
  wire  _T_59372; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167633.4]
  wire  _T_59397; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167661.4]
  wire  _T_59424; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167691.4]
  wire  _T_59451; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167721.4]
  wire [15:0] _T_59515; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167788.4]
  wire [23:0] _T_59542; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167815.4]
  wire [31:0] _T_59569; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167842.4]
  wire [15:0] _T_59621; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167894.4]
  wire [23:0] _T_59648; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167921.4]
  wire [31:0] _T_59675; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167948.4]
  wire [15:0] _T_59727; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168000.4]
  wire [23:0] _T_59754; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168027.4]
  wire [31:0] _T_59781; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168054.4]
  wire  _GEN_4553; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4554; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4555; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4556; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4557; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4558; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4559; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4560; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4561; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4562; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4563; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4564; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4565; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4566; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4567; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4568; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4569; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4570; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4571; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4572; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4573; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4574; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4575; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4576; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4577; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4578; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4579; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4580; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4581; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4582; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4583; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4584; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4585; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4586; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4587; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4588; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4589; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4590; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4591; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4592; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4593; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4594; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4595; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4596; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4597; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4598; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4599; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4600; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4601; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4602; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4603; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4604; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4605; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4606; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4607; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4608; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4609; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4610; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4611; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4612; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4613; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4614; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4615; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4616; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4617; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4618; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4619; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4620; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4621; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4622; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4623; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4624; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4625; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4626; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4627; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4628; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4629; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4630; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4631; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4632; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4633; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4634; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4635; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4636; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4637; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4638; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4639; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4640; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4641; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4642; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4643; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4644; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4645; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4646; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4647; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4648; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4649; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4650; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4651; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4652; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4653; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4654; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4655; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4656; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4657; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4658; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4659; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4660; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4661; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4662; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4663; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4664; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4665; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4666; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4667; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4668; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4669; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4670; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4671; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4672; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4673; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4674; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4675; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4676; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4677; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4678; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4679; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4680; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4681; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4682; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4683; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4684; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4685; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4686; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4687; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4688; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4689; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4690; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4691; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4692; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4693; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4694; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4695; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4696; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4697; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4698; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4699; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4700; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4701; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4702; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4703; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4704; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4705; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4706; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4707; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4708; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4709; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4710; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4711; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4712; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4713; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4714; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4715; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4716; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4717; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4718; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4719; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4720; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4721; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4722; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4723; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4724; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4725; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4726; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4727; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4728; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4729; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4730; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4731; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4732; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4733; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4734; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4735; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4736; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4737; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4738; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4739; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4740; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4741; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4742; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4743; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4744; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4745; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4746; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4747; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4748; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4749; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4750; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4751; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4752; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4753; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4754; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4755; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4756; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4757; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4758; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4759; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4760; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4761; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4762; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4763; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4764; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4765; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4766; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4767; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4768; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4769; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4770; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4771; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4772; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4773; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4774; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4775; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4776; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4777; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4778; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4779; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4780; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4781; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4782; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4783; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4784; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4785; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4786; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4787; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4788; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4789; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4790; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4791; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4792; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4793; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4794; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4795; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4796; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4797; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4798; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4799; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4800; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4801; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4802; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4803; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4804; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4805; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4806; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4807; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4808; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4809; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4810; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4811; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4812; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4813; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4814; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4815; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4816; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4817; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4818; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4819; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4820; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4821; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4822; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4823; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4824; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4825; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4826; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4827; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4828; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4829; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4830; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4831; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4832; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4833; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4834; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4835; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4836; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4837; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4838; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4839; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4840; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4841; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4842; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4843; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4844; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4845; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4846; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4847; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4848; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4849; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4850; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4851; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4852; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4853; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4854; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4855; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4856; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4857; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4858; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4859; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4860; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4861; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4862; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4863; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4864; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4865; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4866; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4867; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4868; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4869; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4870; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4871; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4872; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4873; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4874; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4875; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4876; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4877; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4878; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4879; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4880; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4881; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4882; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4883; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4884; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4885; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4886; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4887; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4888; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4889; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4890; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4891; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4892; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4893; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4894; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4895; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4896; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4897; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4898; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4899; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4900; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4901; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4902; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4903; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4904; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4905; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4906; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4907; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4908; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4909; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4910; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4911; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4912; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4913; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4914; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4915; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4916; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4917; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4918; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4919; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4920; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4921; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4922; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4923; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4924; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4925; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4926; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4927; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4928; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4929; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4930; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4931; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4932; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4933; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4934; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4935; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4936; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4937; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4938; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4939; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4940; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4941; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4942; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4943; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4944; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4945; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4946; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4947; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4948; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4949; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4950; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4951; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4952; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4953; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4954; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4955; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4956; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4957; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4958; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4959; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4960; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4961; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4962; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4963; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4964; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4965; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4966; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4967; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4968; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4969; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4970; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4971; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4972; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4973; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4974; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4975; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4976; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4977; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4978; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4979; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4980; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4981; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4982; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4983; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4984; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4985; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4986; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4987; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4988; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4989; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4990; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4991; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4992; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4993; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4994; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4995; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4996; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4997; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4998; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_4999; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5000; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5001; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5002; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5003; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5004; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5005; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5006; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5007; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5008; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5009; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5010; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5011; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5012; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5013; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5014; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5015; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5016; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5017; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5018; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5019; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5020; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5021; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5022; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5023; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5024; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5025; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5026; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5027; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5028; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5029; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5030; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5031; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5032; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5033; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5034; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5035; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5036; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5037; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5038; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5039; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5040; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5041; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5042; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5043; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5044; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5045; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5046; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5047; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5048; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5049; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5050; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5051; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5052; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5053; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5054; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5055; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5056; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5057; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5058; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5059; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5060; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5061; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5062; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire  _GEN_5063; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  wire [31:0] _GEN_5065; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5066; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5067; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5068; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5069; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5070; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5071; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5072; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5073; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5074; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5075; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5076; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5077; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5078; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5079; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5080; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5081; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5082; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5083; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5084; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5085; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5086; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5087; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5088; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5089; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5090; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5091; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5092; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5093; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5094; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5095; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5096; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5097; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5098; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5099; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5100; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5101; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5102; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5103; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5104; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5105; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5106; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5107; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5108; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5109; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5110; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5111; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5112; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5113; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5114; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5115; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5116; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5117; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5118; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5119; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5120; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5121; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5122; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5123; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5124; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5125; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5126; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5127; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5128; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5129; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5130; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5131; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5132; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5133; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5134; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5135; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5136; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5137; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5138; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5139; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5140; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5141; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5142; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5143; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5144; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5145; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5146; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5147; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5148; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5149; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5150; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5151; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5152; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5153; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5154; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5155; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5156; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5157; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5158; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5159; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5160; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5161; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5162; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5163; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5164; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5165; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5167; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5168; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5180; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5181; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5196; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5197; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5199; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5200; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5201; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5202; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5203; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5204; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5205; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5206; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5207; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5208; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5209; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5210; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5211; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5212; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5213; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5214; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5215; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5216; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5217; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5218; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5219; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5220; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5221; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5222; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5223; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5224; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5225; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5226; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5227; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5228; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5229; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5230; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5231; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5232; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5233; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5234; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5235; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5236; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5237; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5238; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5239; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5240; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5241; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5242; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5243; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5244; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5245; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5246; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5247; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5248; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5249; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5250; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5251; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5252; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5253; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5254; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5255; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5256; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5257; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5258; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5259; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5260; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5261; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5262; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5263; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5264; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5265; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5266; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5267; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5268; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5269; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5270; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5271; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5272; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5273; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5274; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5275; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5276; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5277; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5278; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5279; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5280; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5281; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5282; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5283; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5284; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5285; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5286; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5287; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5288; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5289; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5290; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5291; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5292; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5293; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5294; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5295; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5296; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5297; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5298; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5299; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5300; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5301; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5302; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5303; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5304; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5305; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5306; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5307; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5308; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5309; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5310; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5311; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5312; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5313; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5314; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5315; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5316; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5317; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5318; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5319; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5320; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5321; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5322; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5323; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5324; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5325; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5326; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5327; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5328; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5329; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5330; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5331; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5332; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5333; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5334; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5335; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5336; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5337; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5338; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5339; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5340; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5341; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5342; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5343; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5344; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5345; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5346; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5347; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5348; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5349; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5350; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5351; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5352; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5353; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5354; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5355; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5356; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5357; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5358; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5359; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5360; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5361; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5362; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5363; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5364; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5365; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5366; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5367; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5368; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5369; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5370; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5371; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5372; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5373; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5374; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5375; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5376; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5377; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5378; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5379; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5380; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5381; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5382; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5383; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5384; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5385; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5386; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5387; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5388; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5389; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5390; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5391; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5392; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5393; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5394; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5395; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5396; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5397; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5398; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5399; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5400; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5401; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5402; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5403; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5404; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5405; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5406; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5407; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5408; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5409; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5410; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5411; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5412; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5413; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5414; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5415; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5416; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5417; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5418; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5419; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5420; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5421; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5422; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5423; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5424; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5425; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5426; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5427; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5428; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5429; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5430; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5431; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5432; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5433; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5434; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5435; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5436; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5437; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5438; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5439; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5440; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5441; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5442; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5443; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5444; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5445; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5446; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5447; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5448; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5449; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5450; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5451; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5452; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5453; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5454; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5455; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5456; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5457; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5458; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5459; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5460; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5461; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5462; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5463; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5464; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5465; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5466; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5467; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5468; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5469; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5470; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5471; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5472; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5473; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5474; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5475; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5476; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5477; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5478; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5479; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5480; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5481; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5482; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5483; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5484; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5485; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5486; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5487; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5488; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5489; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5490; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5491; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5492; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5493; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5494; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5495; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5496; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5497; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5498; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5499; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5500; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5501; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5502; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5503; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5504; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5505; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5506; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5507; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5508; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5509; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5510; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5511; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5512; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5513; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5514; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5515; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5516; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5517; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5518; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5519; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5520; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5521; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5522; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5523; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5524; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5525; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5526; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5527; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5528; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5529; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5530; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5531; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5532; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5533; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5534; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5535; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5536; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5537; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5538; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5539; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5540; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5541; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5542; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5543; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5544; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5545; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5546; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5547; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5548; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5549; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5550; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5551; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5552; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5553; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5554; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5555; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5556; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5557; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5558; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5559; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5560; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5561; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5562; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5563; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5564; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5565; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5566; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5567; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5568; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5569; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5570; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5571; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5572; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5573; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5574; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire [31:0] _GEN_5575; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  wire  _T_76327; // @[Debug.scala 1020:18:shc.marmotcaravel.MarmotCaravelConfig.fir@191508.10]
  wire  _T_76328; // @[Debug.scala 1020:30:shc.marmotcaravel.MarmotCaravelConfig.fir@191509.10]
  wire  _T_76329; // @[Debug.scala 1020:95:shc.marmotcaravel.MarmotCaravelConfig.fir@191510.10]
  wire  _T_76330; // @[Debug.scala 1020:48:shc.marmotcaravel.MarmotCaravelConfig.fir@191511.10]
  wire  _T_76335; // @[Debug.scala 1028:30:shc.marmotcaravel.MarmotCaravelConfig.fir@191529.10]
  wire  _T_76338; // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@191533.12]
  wire  _T_76341; // @[Debug.scala 1042:14:shc.marmotcaravel.MarmotCaravelConfig.fir@191551.4]
  wire  _T_76343; // @[Debug.scala 1042:33:shc.marmotcaravel.MarmotCaravelConfig.fir@191553.4]
  wire  _T_76345; // @[Debug.scala 1042:12:shc.marmotcaravel.MarmotCaravelConfig.fir@191555.4]
  wire  _T_76346; // @[Debug.scala 1042:12:shc.marmotcaravel.MarmotCaravelConfig.fir@191556.4]
  wire  _GEN_5685; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121336.12]
  wire  _GEN_5686; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121336.12]
  wire  _GEN_5687; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121336.12]
  wire  _GEN_5688; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121336.12]
  wire  _GEN_5693; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@191521.14]
  wire  _GEN_5694; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@191521.14]
  wire  _GEN_5695; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@191521.14]
  wire  _GEN_5696; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@191521.14]
  wire  _GEN_5697; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@191521.14]
  wire  _GEN_5706; // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@191535.14]
  wire  _GEN_5707; // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@191535.14]
  wire  _GEN_5708; // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@191535.14]
  TLMonitor_51 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115884.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  TLMonitor_52 TLMonitor_1 ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@115923.4]
    .clock(TLMonitor_1_clock),
    .reset(TLMonitor_1_reset),
    .io_in_a_ready(TLMonitor_1_io_in_a_ready),
    .io_in_a_valid(TLMonitor_1_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_1_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_1_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_1_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_1_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_1_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_1_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_1_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_1_io_in_d_ready),
    .io_in_d_valid(TLMonitor_1_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_1_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_1_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_1_io_in_d_bits_source)
  );
  assign _T_1306 = io_innerCtrl_ready & io_innerCtrl_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@116156.4]
  assign DMSTATUSRdData_anynonexistent = selectedHartReg >= 10'h1; // @[Debug.scala 477:27:shc.marmotcaravel.MarmotCaravelConfig.fir@116211.4]
  assign _GEN_3 = haltedBitRegs_0 ? 1'h0 : 1'h1; // @[Debug.scala 483:49:shc.marmotcaravel.MarmotCaravelConfig.fir@116222.8]
  assign DMSTATUSRdData_allhalted = DMSTATUSRdData_anynonexistent ? 1'h0 : haltedBitRegs_0; // @[Debug.scala 477:45:shc.marmotcaravel.MarmotCaravelConfig.fir@116212.4]
  assign DMSTATUSRdData_allrunning = DMSTATUSRdData_anynonexistent ? 1'h0 : _GEN_3; // @[Debug.scala 477:45:shc.marmotcaravel.MarmotCaravelConfig.fir@116212.4]
  assign resumereq = _T_1306 & io_innerCtrl_bits_resumereq; // @[Debug.scala 493:41:shc.marmotcaravel.MarmotCaravelConfig.fir@116233.4]
  assign _T_1352 = ~ resumeReqRegs_0; // @[Debug.scala 501:36:shc.marmotcaravel.MarmotCaravelConfig.fir@116240.4]
  assign _T_1353 = ~ resumereq; // @[Debug.scala 501:71:shc.marmotcaravel.MarmotCaravelConfig.fir@116241.4]
  assign DMSTATUSRdData_allresumeack = _T_1352 & _T_1353; // @[Debug.scala 501:68:shc.marmotcaravel.MarmotCaravelConfig.fir@116242.4]
  assign haltedStatus_0 = {{31'd0}, haltedBitRegs_0}; // @[Debug.scala 519:30:shc.marmotcaravel.MarmotCaravelConfig.fir@116274.4 Debug.scala 522:24:shc.marmotcaravel.MarmotCaravelConfig.fir@116276.4]
  assign haltedSummary = haltedStatus_0 != 32'h0; // @[Debug.scala 525:48:shc.marmotcaravel.MarmotCaravelConfig.fir@116277.4]
  assign HALTSUM1RdData_haltsum1 = {{31'd0}, haltedSummary}; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@116280.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@116282.4]
  assign _T_1384 = selectedHartReg[9:5]; // @[Debug.scala 528:53:shc.marmotcaravel.MarmotCaravelConfig.fir@116285.4]
  assign _T_1385 = _T_1384 > 5'h1; // @[Debug.scala 528:59:shc.marmotcaravel.MarmotCaravelConfig.fir@116286.4]
  assign selectedHaltedStatus = _T_1385 ? 32'h0 : haltedStatus_0; // @[Debug.scala 528:35:shc.marmotcaravel.MarmotCaravelConfig.fir@116288.4]
  assign _T_2720 = auto_dmi_in_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@116962.4]
  assign _T_2721 = auto_dmi_in_a_bits_address[8:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@116964.4]
  assign _T_5124 = _T_2721[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119401.4]
  assign _T_5122 = _T_2721[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119399.4]
  assign _T_5127 = {_T_5124,_T_5122}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119404.4]
  assign _T_5121 = _T_2721[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119398.4]
  assign _T_5128 = {_T_5127,_T_5121}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119405.4]
  assign _T_5120 = _T_2721[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119397.4]
  assign _T_5119 = _T_2721[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119396.4]
  assign _T_5126 = {_T_5120,_T_5119}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119403.4]
  assign _T_5129 = {_T_5128,_T_5126}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119406.4]
  assign _T_2738 = _T_2721 & 7'h50; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@116976.4]
  assign _T_2786 = _T_2738 == 7'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117024.4]
  assign _T_2742 = _T_2738 == 7'h10; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@116980.4]
  assign _T_2760 = _T_2738 == 7'h40; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@116998.4]
  assign _T_5913 = auto_dmi_in_a_valid & auto_dmi_in_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120496.4]
  assign _T_5914 = _T_2720 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120497.4]
  assign _T_5915 = _T_5913 & _T_5914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120498.4]
  assign _T_5174 = 32'h1 << _T_5129; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@119451.4]
  assign _T_5181 = _T_5174[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119458.4]
  assign _T_5954 = _T_5915 & _T_5181; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120551.4]
  assign _T_5955 = _T_5954 & _T_2742; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120552.4]
  assign _T_3130 = auto_dmi_in_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@117052.4]
  assign _T_3138 = _T_3130 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@117060.4]
  assign _T_3129 = auto_dmi_in_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@117051.4]
  assign _T_3136 = _T_3129 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@117058.4]
  assign _T_3140 = {_T_3138,_T_3136}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117062.4]
  assign _T_3128 = auto_dmi_in_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@117050.4]
  assign _T_3134 = _T_3128 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@117056.4]
  assign _T_3127 = auto_dmi_in_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@117049.4]
  assign _T_3132 = _T_3127 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@117054.4]
  assign _T_3139 = {_T_3134,_T_3132}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117061.4]
  assign _T_3141 = {_T_3140,_T_3139}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117063.4]
  assign _T_4179 = ~ _T_3141; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118286.4]
  assign _T_4180 = _T_4179 == 32'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118287.4]
  assign ABSTRACTCSWrEnMaybe = _T_5955 & _T_4180; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118291.4]
  assign ABSTRACTCSWrDataVal = ABSTRACTCSWrEnMaybe ? auto_dmi_in_a_bits_data : 32'h0; // @[Debug.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118295.4]
  assign ABSTRACTCSWrData_cmderr = ABSTRACTCSWrDataVal[10:8]; // @[Debug.scala 541:64:shc.marmotcaravel.MarmotCaravelConfig.fir@116335.4]
  assign ABSTRACTCSWrEnLegal = ctrlStateReg == 2'h0; // @[Debug.scala 941:44:shc.marmotcaravel.MarmotCaravelConfig.fir@191407.4]
  assign ABSTRACTCSWrEn = ABSTRACTCSWrEnMaybe & ABSTRACTCSWrEnLegal; // @[Debug.scala 548:51:shc.marmotcaravel.MarmotCaravelConfig.fir@116359.4]
  assign _T_1429 = ~ io_dmactive; // @[Debug.scala 555:10:shc.marmotcaravel.MarmotCaravelConfig.fir@116372.4]
  assign _T_1430 = ~ ABSTRACTCSWrData_cmderr; // @[Debug.scala 568:58:shc.marmotcaravel.MarmotCaravelConfig.fir@116394.16]
  assign _T_1431 = ABSTRACTCSReg_cmderr & _T_1430; // @[Debug.scala 568:56:shc.marmotcaravel.MarmotCaravelConfig.fir@116395.16]
  assign _T_76325 = ctrlStateReg == 2'h1; // @[Debug.scala 994:30:shc.marmotcaravel.MarmotCaravelConfig.fir@191484.6]
  assign commandRegIsAccessRegister = COMMANDRdData_cmdtype == 8'h0; // @[Debug.scala 955:58:shc.marmotcaravel.MarmotCaravelConfig.fir@191433.4]
  assign _T_20900 = {COMMANDRdData_cmdtype,COMMANDRdData_control}; // @[Debug.scala 791:104:shc.marmotcaravel.MarmotCaravelConfig.fir@133675.4]
  assign accessRegisterCommandReg_transfer = _T_20900[17]; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@133685.4]
  assign accessRegisterCommandReg_write = _T_20900[16]; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@133683.4]
  assign _T_76315 = accessRegisterCommandReg_transfer == 1'h0; // @[Debug.scala 973:19:shc.marmotcaravel.MarmotCaravelConfig.fir@191453.8]
  assign accessRegisterCommandReg_regno = _T_20900[15:0]; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@133681.4]
  assign _T_76310 = accessRegisterCommandReg_regno >= 16'h1000; // @[Debug.scala 963:58:shc.marmotcaravel.MarmotCaravelConfig.fir@191442.4]
  assign _T_76311 = accessRegisterCommandReg_regno <= 16'h101f; // @[Debug.scala 963:104:shc.marmotcaravel.MarmotCaravelConfig.fir@191443.4]
  assign accessRegIsGPR = _T_76310 & _T_76311; // @[Debug.scala 963:70:shc.marmotcaravel.MarmotCaravelConfig.fir@191444.4]
  assign _T_76316 = _T_76315 | accessRegIsGPR; // @[Debug.scala 973:54:shc.marmotcaravel.MarmotCaravelConfig.fir@191454.8]
  assign _GEN_5644 = _T_76316 ? 1'h0 : 1'h1; // @[Debug.scala 973:73:shc.marmotcaravel.MarmotCaravelConfig.fir@191455.8]
  assign commandRegIsUnsupported = commandRegIsAccessRegister ? _GEN_5644 : 1'h1; // @[Debug.scala 970:39:shc.marmotcaravel.MarmotCaravelConfig.fir@191445.4]
  assign _T_76317 = ~ haltedBitRegs_0; // @[Debug.scala 975:36:shc.marmotcaravel.MarmotCaravelConfig.fir@191457.10]
  assign _GEN_5645 = _T_76316 ? _T_76317 : 1'h0; // @[Debug.scala 973:73:shc.marmotcaravel.MarmotCaravelConfig.fir@191455.8]
  assign commandRegBadHaltResume = commandRegIsAccessRegister ? _GEN_5645 : 1'h0; // @[Debug.scala 970:39:shc.marmotcaravel.MarmotCaravelConfig.fir@191445.4]
  assign _GEN_5661 = commandRegIsUnsupported ? 1'h0 : commandRegBadHaltResume; // @[Debug.scala 1001:38:shc.marmotcaravel.MarmotCaravelConfig.fir@191486.8]
  assign _GEN_5674 = _T_76325 ? _GEN_5661 : 1'h0; // @[Debug.scala 994:59:shc.marmotcaravel.MarmotCaravelConfig.fir@191485.6]
  assign errorHaltResume = ABSTRACTCSWrEnLegal ? 1'h0 : _GEN_5674; // @[Debug.scala 986:47:shc.marmotcaravel.MarmotCaravelConfig.fir@191468.4]
  assign _T_5182 = _T_5174[7]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119459.4]
  assign _T_5960 = _T_5915 & _T_5182; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120559.4]
  assign _T_5961 = _T_5960 & _T_2742; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120560.4]
  assign COMMANDWrEnMaybe = _T_5961 & _T_4180; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118976.4]
  assign COMMANDWrEn = COMMANDWrEnMaybe & ABSTRACTCSWrEnLegal; // @[Debug.scala 626:40:shc.marmotcaravel.MarmotCaravelConfig.fir@116879.4]
  assign COMMANDWrDataVal = COMMANDWrEnMaybe ? auto_dmi_in_a_bits_data : 32'h0; // @[Debug.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118980.4]
  assign COMMANDWrData_cmdtype = COMMANDWrDataVal[31:24]; // @[Debug.scala 621:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116865.4]
  assign commandWrIsAccessRegister = COMMANDWrData_cmdtype == 8'h0; // @[Debug.scala 954:60:shc.marmotcaravel.MarmotCaravelConfig.fir@191432.4]
  assign _T_76318 = COMMANDWrEn & commandWrIsAccessRegister; // @[Debug.scala 979:48:shc.marmotcaravel.MarmotCaravelConfig.fir@191461.4]
  assign _T_76319 = ABSTRACTCSReg_cmderr == 3'h0; // @[Debug.scala 979:103:shc.marmotcaravel.MarmotCaravelConfig.fir@191462.4]
  assign wrAccessRegisterCommand = _T_76318 & _T_76319; // @[Debug.scala 979:78:shc.marmotcaravel.MarmotCaravelConfig.fir@191463.4]
  assign _T_5179 = _T_5174[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119456.4]
  assign _T_5942 = _T_5915 & _T_5179; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120533.4]
  assign _T_5943 = _T_5942 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120534.4]
  assign _T_4914 = _T_3141[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119151.4]
  assign _T_4915 = ~ _T_4914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119152.4]
  assign _T_4916 = _T_4915 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119153.4]
  assign dmiAbstractDataWrEnMaybe_0 = _T_5943 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119157.4]
  assign _T_5679 = _T_5913 & _T_2720; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120160.4]
  assign _T_5706 = _T_5679 & _T_5179; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120195.4]
  assign _T_5707 = _T_5706 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120196.4]
  assign _T_4913 = _T_4914 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119150.4]
  assign dmiAbstractDataRdEn_0 = _T_5707 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119155.4]
  assign dmiAbstractDataAccessVec_0 = dmiAbstractDataWrEnMaybe_0 | dmiAbstractDataRdEn_0; // @[Debug.scala 599:105:shc.marmotcaravel.MarmotCaravelConfig.fir@116466.4]
  assign _T_2156 = ABSTRACTAUTOReg_autoexecdata[0]; // @[Debug.scala 610:54:shc.marmotcaravel.MarmotCaravelConfig.fir@116764.4]
  assign autoexecData_0 = dmiAbstractDataAccessVec_0 & _T_2156; // @[Debug.scala 610:140:shc.marmotcaravel.MarmotCaravelConfig.fir@116776.4]
  assign _T_5191 = _T_5174[16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119468.4]
  assign _T_6014 = _T_5915 & _T_5191; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120624.4]
  assign _T_6015 = _T_6014 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120625.4]
  assign dmiProgramBufferWrEnMaybe_0 = _T_6015 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117863.4]
  assign _T_5778 = _T_5679 & _T_5191; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120286.4]
  assign _T_5779 = _T_5778 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120287.4]
  assign dmiProgramBufferRdEn_0 = _T_5779 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117861.4]
  assign dmiProgramBufferAccessVec_0 = dmiProgramBufferWrEnMaybe_0 | dmiProgramBufferRdEn_0; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116543.4]
  assign _T_2169 = ABSTRACTAUTOReg_autoexecprogbuf[0]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116778.4]
  assign autoexecProg_0 = dmiProgramBufferAccessVec_0 & _T_2169; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116794.4]
  assign _T_5192 = _T_5174[17]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119469.4]
  assign _T_6020 = _T_5915 & _T_5192; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120635.4]
  assign _T_6021 = _T_6020 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120636.4]
  assign dmiProgramBufferWrEnMaybe_4 = _T_6021 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117611.4]
  assign _T_5784 = _T_5679 & _T_5192; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120297.4]
  assign _T_5785 = _T_5784 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120298.4]
  assign dmiProgramBufferRdEn_4 = _T_5785 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117609.4]
  assign dmiProgramBufferAccessVec_4 = dmiProgramBufferWrEnMaybe_4 | dmiProgramBufferRdEn_4; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116547.4]
  assign _T_2170 = ABSTRACTAUTOReg_autoexecprogbuf[1]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116779.4]
  assign autoexecProg_1 = dmiProgramBufferAccessVec_4 & _T_2170; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116796.4]
  assign _T_2201 = autoexecProg_0 | autoexecProg_1; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116826.4]
  assign _T_5193 = _T_5174[18]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119470.4]
  assign _T_6026 = _T_5915 & _T_5193; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120646.4]
  assign _T_6027 = _T_6026 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120647.4]
  assign dmiProgramBufferWrEnMaybe_8 = _T_6027 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117989.4]
  assign _T_5790 = _T_5679 & _T_5193; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120308.4]
  assign _T_5791 = _T_5790 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120309.4]
  assign dmiProgramBufferRdEn_8 = _T_5791 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117987.4]
  assign dmiProgramBufferAccessVec_8 = dmiProgramBufferWrEnMaybe_8 | dmiProgramBufferRdEn_8; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116551.4]
  assign _T_2171 = ABSTRACTAUTOReg_autoexecprogbuf[2]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116780.4]
  assign autoexecProg_2 = dmiProgramBufferAccessVec_8 & _T_2171; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116798.4]
  assign _T_2202 = _T_2201 | autoexecProg_2; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116827.4]
  assign _T_5194 = _T_5174[19]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119471.4]
  assign _T_6032 = _T_5915 & _T_5194; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120657.4]
  assign _T_6033 = _T_6032 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120658.4]
  assign dmiProgramBufferWrEnMaybe_12 = _T_6033 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118573.4]
  assign _T_5796 = _T_5679 & _T_5194; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120319.4]
  assign _T_5797 = _T_5796 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120320.4]
  assign dmiProgramBufferRdEn_12 = _T_5797 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118571.4]
  assign dmiProgramBufferAccessVec_12 = dmiProgramBufferWrEnMaybe_12 | dmiProgramBufferRdEn_12; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116555.4]
  assign _T_2172 = ABSTRACTAUTOReg_autoexecprogbuf[3]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116781.4]
  assign autoexecProg_3 = dmiProgramBufferAccessVec_12 & _T_2172; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116800.4]
  assign _T_2203 = _T_2202 | autoexecProg_3; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116828.4]
  assign _T_5195 = _T_5174[20]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119472.4]
  assign _T_6038 = _T_5915 & _T_5195; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120668.4]
  assign _T_6039 = _T_6038 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120669.4]
  assign dmiProgramBufferWrEnMaybe_16 = _T_6039 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119006.4]
  assign _T_5802 = _T_5679 & _T_5195; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120330.4]
  assign _T_5803 = _T_5802 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120331.4]
  assign dmiProgramBufferRdEn_16 = _T_5803 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119004.4]
  assign dmiProgramBufferAccessVec_16 = dmiProgramBufferWrEnMaybe_16 | dmiProgramBufferRdEn_16; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116559.4]
  assign _T_2173 = ABSTRACTAUTOReg_autoexecprogbuf[4]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116782.4]
  assign autoexecProg_4 = dmiProgramBufferAccessVec_16 & _T_2173; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116802.4]
  assign _T_2204 = _T_2203 | autoexecProg_4; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116829.4]
  assign _T_5196 = _T_5174[21]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119473.4]
  assign _T_6044 = _T_5915 & _T_5196; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120679.4]
  assign _T_6045 = _T_6044 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120680.4]
  assign dmiProgramBufferWrEnMaybe_20 = _T_6045 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117233.4]
  assign _T_5808 = _T_5679 & _T_5196; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120341.4]
  assign _T_5809 = _T_5808 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120342.4]
  assign dmiProgramBufferRdEn_20 = _T_5809 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117231.4]
  assign dmiProgramBufferAccessVec_20 = dmiProgramBufferWrEnMaybe_20 | dmiProgramBufferRdEn_20; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116563.4]
  assign _T_2174 = ABSTRACTAUTOReg_autoexecprogbuf[5]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116783.4]
  assign autoexecProg_5 = dmiProgramBufferAccessVec_20 & _T_2174; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116804.4]
  assign _T_2205 = _T_2204 | autoexecProg_5; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116830.4]
  assign _T_5197 = _T_5174[22]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119474.4]
  assign _T_6050 = _T_5915 & _T_5197; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120690.4]
  assign _T_6051 = _T_6050 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120691.4]
  assign dmiProgramBufferWrEnMaybe_24 = _T_6051 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117485.4]
  assign _T_5814 = _T_5679 & _T_5197; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120352.4]
  assign _T_5815 = _T_5814 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120353.4]
  assign dmiProgramBufferRdEn_24 = _T_5815 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117483.4]
  assign dmiProgramBufferAccessVec_24 = dmiProgramBufferWrEnMaybe_24 | dmiProgramBufferRdEn_24; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116567.4]
  assign _T_2175 = ABSTRACTAUTOReg_autoexecprogbuf[6]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116784.4]
  assign autoexecProg_6 = dmiProgramBufferAccessVec_24 & _T_2175; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116806.4]
  assign _T_2206 = _T_2205 | autoexecProg_6; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116831.4]
  assign _T_5198 = _T_5174[23]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119475.4]
  assign _T_6056 = _T_5915 & _T_5198; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120701.4]
  assign _T_6057 = _T_6056 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120702.4]
  assign dmiProgramBufferWrEnMaybe_28 = _T_6057 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118447.4]
  assign _T_5820 = _T_5679 & _T_5198; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120363.4]
  assign _T_5821 = _T_5820 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120364.4]
  assign dmiProgramBufferRdEn_28 = _T_5821 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118445.4]
  assign dmiProgramBufferAccessVec_28 = dmiProgramBufferWrEnMaybe_28 | dmiProgramBufferRdEn_28; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116571.4]
  assign _T_2176 = ABSTRACTAUTOReg_autoexecprogbuf[7]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116785.4]
  assign autoexecProg_7 = dmiProgramBufferAccessVec_28 & _T_2176; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116808.4]
  assign _T_2207 = _T_2206 | autoexecProg_7; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116832.4]
  assign _T_5199 = _T_5174[24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119476.4]
  assign _T_6062 = _T_5915 & _T_5199; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120712.4]
  assign _T_6063 = _T_6062 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120713.4]
  assign dmiProgramBufferWrEnMaybe_32 = _T_6063 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118850.4]
  assign _T_5826 = _T_5679 & _T_5199; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120374.4]
  assign _T_5827 = _T_5826 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120375.4]
  assign dmiProgramBufferRdEn_32 = _T_5827 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118848.4]
  assign dmiProgramBufferAccessVec_32 = dmiProgramBufferWrEnMaybe_32 | dmiProgramBufferRdEn_32; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116575.4]
  assign _T_2177 = ABSTRACTAUTOReg_autoexecprogbuf[8]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116786.4]
  assign autoexecProg_8 = dmiProgramBufferAccessVec_32 & _T_2177; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116810.4]
  assign _T_2208 = _T_2207 | autoexecProg_8; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116833.4]
  assign _T_5200 = _T_5174[25]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119477.4]
  assign _T_6068 = _T_5915 & _T_5200; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120723.4]
  assign _T_6069 = _T_6068 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120724.4]
  assign dmiProgramBufferWrEnMaybe_36 = _T_6069 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117737.4]
  assign _T_5832 = _T_5679 & _T_5200; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120385.4]
  assign _T_5833 = _T_5832 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120386.4]
  assign dmiProgramBufferRdEn_36 = _T_5833 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117735.4]
  assign dmiProgramBufferAccessVec_36 = dmiProgramBufferWrEnMaybe_36 | dmiProgramBufferRdEn_36; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116579.4]
  assign _T_2178 = ABSTRACTAUTOReg_autoexecprogbuf[9]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116787.4]
  assign autoexecProg_9 = dmiProgramBufferAccessVec_36 & _T_2178; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116812.4]
  assign _T_2209 = _T_2208 | autoexecProg_9; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116834.4]
  assign _T_5201 = _T_5174[26]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119478.4]
  assign _T_6074 = _T_5915 & _T_5201; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120734.4]
  assign _T_6075 = _T_6074 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120735.4]
  assign dmiProgramBufferWrEnMaybe_40 = _T_6075 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117077.4]
  assign _T_5838 = _T_5679 & _T_5201; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120396.4]
  assign _T_5839 = _T_5838 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120397.4]
  assign dmiProgramBufferRdEn_40 = _T_5839 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117075.4]
  assign dmiProgramBufferAccessVec_40 = dmiProgramBufferWrEnMaybe_40 | dmiProgramBufferRdEn_40; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116583.4]
  assign _T_2179 = ABSTRACTAUTOReg_autoexecprogbuf[10]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116788.4]
  assign autoexecProg_10 = dmiProgramBufferAccessVec_40 & _T_2179; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116814.4]
  assign _T_2210 = _T_2209 | autoexecProg_10; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116835.4]
  assign _T_5202 = _T_5174[27]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119479.4]
  assign _T_6080 = _T_5915 & _T_5202; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120745.4]
  assign _T_6081 = _T_6080 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120746.4]
  assign dmiProgramBufferWrEnMaybe_44 = _T_6081 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118724.4]
  assign _T_5844 = _T_5679 & _T_5202; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120407.4]
  assign _T_5845 = _T_5844 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120408.4]
  assign dmiProgramBufferRdEn_44 = _T_5845 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118722.4]
  assign dmiProgramBufferAccessVec_44 = dmiProgramBufferWrEnMaybe_44 | dmiProgramBufferRdEn_44; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116587.4]
  assign _T_2180 = ABSTRACTAUTOReg_autoexecprogbuf[11]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116789.4]
  assign autoexecProg_11 = dmiProgramBufferAccessVec_44 & _T_2180; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116816.4]
  assign _T_2211 = _T_2210 | autoexecProg_11; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116836.4]
  assign _T_5203 = _T_5174[28]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119480.4]
  assign _T_6086 = _T_5915 & _T_5203; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120756.4]
  assign _T_6087 = _T_6086 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120757.4]
  assign dmiProgramBufferWrEnMaybe_48 = _T_6087 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118321.4]
  assign _T_5850 = _T_5679 & _T_5203; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120418.4]
  assign _T_5851 = _T_5850 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120419.4]
  assign dmiProgramBufferRdEn_48 = _T_5851 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118319.4]
  assign dmiProgramBufferAccessVec_48 = dmiProgramBufferWrEnMaybe_48 | dmiProgramBufferRdEn_48; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116591.4]
  assign _T_2181 = ABSTRACTAUTOReg_autoexecprogbuf[12]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116790.4]
  assign autoexecProg_12 = dmiProgramBufferAccessVec_48 & _T_2181; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116818.4]
  assign _T_2212 = _T_2211 | autoexecProg_12; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116837.4]
  assign _T_5204 = _T_5174[29]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119481.4]
  assign _T_6092 = _T_5915 & _T_5204; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120767.4]
  assign _T_6093 = _T_6092 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120768.4]
  assign dmiProgramBufferWrEnMaybe_52 = _T_6093 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118115.4]
  assign _T_5856 = _T_5679 & _T_5204; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120429.4]
  assign _T_5857 = _T_5856 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120430.4]
  assign dmiProgramBufferRdEn_52 = _T_5857 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118113.4]
  assign dmiProgramBufferAccessVec_52 = dmiProgramBufferWrEnMaybe_52 | dmiProgramBufferRdEn_52; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116595.4]
  assign _T_2182 = ABSTRACTAUTOReg_autoexecprogbuf[13]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116791.4]
  assign autoexecProg_13 = dmiProgramBufferAccessVec_52 & _T_2182; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116820.4]
  assign _T_2213 = _T_2212 | autoexecProg_13; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116838.4]
  assign _T_5205 = _T_5174[30]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119482.4]
  assign _T_6098 = _T_5915 & _T_5205; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120778.4]
  assign _T_6099 = _T_6098 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120779.4]
  assign dmiProgramBufferWrEnMaybe_56 = _T_6099 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117359.4]
  assign _T_5862 = _T_5679 & _T_5205; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120440.4]
  assign _T_5863 = _T_5862 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120441.4]
  assign dmiProgramBufferRdEn_56 = _T_5863 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117357.4]
  assign dmiProgramBufferAccessVec_56 = dmiProgramBufferWrEnMaybe_56 | dmiProgramBufferRdEn_56; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116599.4]
  assign _T_2183 = ABSTRACTAUTOReg_autoexecprogbuf[14]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116792.4]
  assign autoexecProg_14 = dmiProgramBufferAccessVec_56 & _T_2183; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116822.4]
  assign _T_2214 = _T_2213 | autoexecProg_14; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116839.4]
  assign _T_5206 = _T_5174[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119483.4]
  assign _T_6104 = _T_5915 & _T_5206; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120789.4]
  assign _T_6105 = _T_6104 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120790.4]
  assign dmiProgramBufferWrEnMaybe_60 = _T_6105 & _T_4916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119283.4]
  assign _T_5868 = _T_5679 & _T_5206; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120451.4]
  assign _T_5869 = _T_5868 & _T_2786; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120452.4]
  assign dmiProgramBufferRdEn_60 = _T_5869 & _T_4913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119281.4]
  assign dmiProgramBufferAccessVec_60 = dmiProgramBufferWrEnMaybe_60 | dmiProgramBufferRdEn_60; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116603.4]
  assign _T_2184 = ABSTRACTAUTOReg_autoexecprogbuf[15]; // @[Debug.scala 611:57:shc.marmotcaravel.MarmotCaravelConfig.fir@116793.4]
  assign autoexecProg_15 = dmiProgramBufferAccessVec_60 & _T_2184; // @[Debug.scala 611:144:shc.marmotcaravel.MarmotCaravelConfig.fir@116824.4]
  assign _T_2215 = _T_2214 | autoexecProg_15; // @[Debug.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116840.4]
  assign autoexec = autoexecData_0 | _T_2215; // @[Debug.scala 613:48:shc.marmotcaravel.MarmotCaravelConfig.fir@116841.4]
  assign _T_76320 = autoexec & commandRegIsAccessRegister; // @[Debug.scala 980:48:shc.marmotcaravel.MarmotCaravelConfig.fir@191464.4]
  assign regAccessRegisterCommand = _T_76320 & _T_76319; // @[Debug.scala 980:78:shc.marmotcaravel.MarmotCaravelConfig.fir@191466.4]
  assign _T_76323 = wrAccessRegisterCommand | regAccessRegisterCommand; // @[Debug.scala 987:37:shc.marmotcaravel.MarmotCaravelConfig.fir@191469.6]
  assign _T_76307 = commandWrIsAccessRegister == 1'h0; // @[Debug.scala 957:49:shc.marmotcaravel.MarmotCaravelConfig.fir@191434.4]
  assign commandWrIsUnsupported = COMMANDWrEn & _T_76307; // @[Debug.scala 957:46:shc.marmotcaravel.MarmotCaravelConfig.fir@191435.4]
  assign _T_76324 = autoexec & commandRegIsUnsupported; // @[Debug.scala 991:28:shc.marmotcaravel.MarmotCaravelConfig.fir@191478.10]
  assign _GEN_5651 = commandWrIsUnsupported ? 1'h1 : _T_76324; // @[Debug.scala 989:43:shc.marmotcaravel.MarmotCaravelConfig.fir@191474.8]
  assign _GEN_5653 = _T_76323 ? 1'h0 : _GEN_5651; // @[Debug.scala 987:66:shc.marmotcaravel.MarmotCaravelConfig.fir@191470.6]
  assign _GEN_5672 = _T_76325 ? commandRegIsUnsupported : 1'h0; // @[Debug.scala 994:59:shc.marmotcaravel.MarmotCaravelConfig.fir@191485.6]
  assign errorUnsupported = ABSTRACTCSWrEnLegal ? _GEN_5653 : _GEN_5672; // @[Debug.scala 986:47:shc.marmotcaravel.MarmotCaravelConfig.fir@191468.4]
  assign _T_76326 = ctrlStateReg == 2'h2; // @[Debug.scala 1015:30:shc.marmotcaravel.MarmotCaravelConfig.fir@191506.8]
  assign _T_23037 = auto_tl_in_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@135850.4]
  assign _T_23038 = auto_tl_in_a_bits_address[11:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@135852.4]
  assign _T_59792 = _T_23038[8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168065.4]
  assign _T_59791 = _T_23038[7]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168064.4]
  assign _T_59798 = {_T_59792,_T_59791}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168071.4]
  assign _T_59790 = _T_23038[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168063.4]
  assign _T_59799 = {_T_59798,_T_59790}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168072.4]
  assign _T_59789 = _T_23038[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168062.4]
  assign _T_59788 = _T_23038[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168061.4]
  assign _T_59797 = {_T_59789,_T_59788}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168070.4]
  assign _T_59800 = {_T_59799,_T_59797}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168073.4]
  assign _T_59787 = _T_23038[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168060.4]
  assign _T_59786 = _T_23038[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168059.4]
  assign _T_59795 = {_T_59787,_T_59786}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168068.4]
  assign _T_59785 = _T_23038[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168058.4]
  assign _T_59784 = _T_23038[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168057.4]
  assign _T_59794 = {_T_59785,_T_59784}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168067.4]
  assign _T_59796 = {_T_59795,_T_59794}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168069.4]
  assign _T_59801 = {_T_59800,_T_59796}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168074.4]
  assign _T_23055 = _T_23038 & 10'h200; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@135864.4]
  assign _T_23089 = _T_23055 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@135898.4]
  assign _T_23609 = _T_23055 == 10'h200; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136418.4]
  assign _T_71632 = auto_tl_in_a_valid & auto_tl_in_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@184975.4]
  assign _T_71633 = _T_23037 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@184976.4]
  assign _T_71634 = _T_71632 & _T_71633; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@184977.4]
  assign _T_60333 = 512'h1 << _T_59801; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@168606.4]
  assign _T_60401 = _T_60333[67]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168674.4]
  assign _T_72039 = _T_71634 & _T_60401; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185536.4]
  assign _T_72040 = _T_72039 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185537.4]
  assign _T_28433 = auto_tl_in_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@136494.4]
  assign _T_28441 = _T_28433 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@136502.4]
  assign _T_28432 = auto_tl_in_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@136493.4]
  assign _T_28439 = _T_28432 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@136500.4]
  assign _T_28443 = {_T_28441,_T_28439}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136504.4]
  assign _T_28431 = auto_tl_in_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@136492.4]
  assign _T_28437 = _T_28431 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@136498.4]
  assign _T_28430 = auto_tl_in_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@136491.4]
  assign _T_28435 = _T_28430 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@136496.4]
  assign _T_28442 = {_T_28437,_T_28435}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136503.4]
  assign _T_28444 = {_T_28443,_T_28442}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136505.4]
  assign _T_50731 = _T_28444[9:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@158942.4]
  assign _T_50732 = ~ _T_50731; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@158943.4]
  assign _T_50733 = _T_50732 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@158944.4]
  assign hartExceptionWrEn = _T_72040 & _T_50733; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@158948.4]
  assign _GEN_5670 = _T_76326 ? hartExceptionWrEn : 1'h0; // @[Debug.scala 1015:51:shc.marmotcaravel.MarmotCaravelConfig.fir@191507.8]
  assign _GEN_5676 = _T_76325 ? 1'h0 : _GEN_5670; // @[Debug.scala 994:59:shc.marmotcaravel.MarmotCaravelConfig.fir@191485.6]
  assign errorException = ABSTRACTCSWrEnLegal ? 1'h0 : _GEN_5676; // @[Debug.scala 986:47:shc.marmotcaravel.MarmotCaravelConfig.fir@191468.4]
  assign _T_76293 = ~ ABSTRACTCSWrEnLegal; // @[Debug.scala 947:45:shc.marmotcaravel.MarmotCaravelConfig.fir@191417.4]
  assign _T_76294 = ABSTRACTCSWrEnMaybe & _T_76293; // @[Debug.scala 947:42:shc.marmotcaravel.MarmotCaravelConfig.fir@191418.4]
  assign _T_5183 = _T_5174[8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119460.4]
  assign _T_5966 = _T_5915 & _T_5183; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120567.4]
  assign _T_5967 = _T_5966 & _T_2742; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@120568.4]
  assign ABSTRACTAUTOWrEnMaybe = _T_5967 & _T_4180; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117203.4]
  assign _T_76296 = ABSTRACTAUTOWrEnMaybe & _T_76293; // @[Debug.scala 948:42:shc.marmotcaravel.MarmotCaravelConfig.fir@191420.4]
  assign _T_76297 = _T_76294 | _T_76296; // @[Debug.scala 947:74:shc.marmotcaravel.MarmotCaravelConfig.fir@191421.4]
  assign _T_76299 = COMMANDWrEnMaybe & _T_76293; // @[Debug.scala 949:42:shc.marmotcaravel.MarmotCaravelConfig.fir@191423.4]
  assign _T_76300 = _T_76297 | _T_76299; // @[Debug.scala 948:74:shc.marmotcaravel.MarmotCaravelConfig.fir@191424.4]
  assign _T_4939 = _T_3141[15:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119181.4]
  assign _T_4940 = ~ _T_4939; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119182.4]
  assign _T_4941 = _T_4940 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119183.4]
  assign dmiAbstractDataWrEnMaybe_1 = _T_5943 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119187.4]
  assign _T_4938 = _T_4939 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119180.4]
  assign dmiAbstractDataRdEn_1 = _T_5707 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119185.4]
  assign dmiAbstractDataAccessVec_1 = dmiAbstractDataWrEnMaybe_1 | dmiAbstractDataRdEn_1; // @[Debug.scala 599:105:shc.marmotcaravel.MarmotCaravelConfig.fir@116467.4]
  assign _T_1962 = dmiAbstractDataAccessVec_0 | dmiAbstractDataAccessVec_1; // @[Debug.scala 604:68:shc.marmotcaravel.MarmotCaravelConfig.fir@116671.4]
  assign _T_4966 = _T_3141[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119213.4]
  assign _T_4967 = ~ _T_4966; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119214.4]
  assign _T_4968 = _T_4967 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119215.4]
  assign dmiAbstractDataWrEnMaybe_2 = _T_5943 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119219.4]
  assign _T_4965 = _T_4966 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119212.4]
  assign dmiAbstractDataRdEn_2 = _T_5707 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119217.4]
  assign dmiAbstractDataAccessVec_2 = dmiAbstractDataWrEnMaybe_2 | dmiAbstractDataRdEn_2; // @[Debug.scala 599:105:shc.marmotcaravel.MarmotCaravelConfig.fir@116468.4]
  assign _T_1963 = _T_1962 | dmiAbstractDataAccessVec_2; // @[Debug.scala 604:68:shc.marmotcaravel.MarmotCaravelConfig.fir@116672.4]
  assign _T_4993 = _T_3141[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119245.4]
  assign _T_4994 = ~ _T_4993; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119246.4]
  assign _T_4995 = _T_4994 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119247.4]
  assign dmiAbstractDataWrEnMaybe_3 = _T_5943 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119251.4]
  assign _T_4992 = _T_4993 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119244.4]
  assign dmiAbstractDataRdEn_3 = _T_5707 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119249.4]
  assign dmiAbstractDataAccessVec_3 = dmiAbstractDataWrEnMaybe_3 | dmiAbstractDataRdEn_3; // @[Debug.scala 599:105:shc.marmotcaravel.MarmotCaravelConfig.fir@116469.4]
  assign dmiAbstractDataAccess = _T_1963 | dmiAbstractDataAccessVec_3; // @[Debug.scala 604:68:shc.marmotcaravel.MarmotCaravelConfig.fir@116673.4]
  assign _T_76302 = dmiAbstractDataAccess & _T_76293; // @[Debug.scala 950:42:shc.marmotcaravel.MarmotCaravelConfig.fir@191426.4]
  assign _T_76303 = _T_76300 | _T_76302; // @[Debug.scala 949:74:shc.marmotcaravel.MarmotCaravelConfig.fir@191427.4]
  assign dmiProgramBufferWrEnMaybe_1 = _T_6015 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117893.4]
  assign dmiProgramBufferRdEn_1 = _T_5779 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117891.4]
  assign dmiProgramBufferAccessVec_1 = dmiProgramBufferWrEnMaybe_1 | dmiProgramBufferRdEn_1; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116544.4]
  assign _T_1964 = dmiProgramBufferAccessVec_0 | dmiProgramBufferAccessVec_1; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116674.4]
  assign dmiProgramBufferWrEnMaybe_2 = _T_6015 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117925.4]
  assign dmiProgramBufferRdEn_2 = _T_5779 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117923.4]
  assign dmiProgramBufferAccessVec_2 = dmiProgramBufferWrEnMaybe_2 | dmiProgramBufferRdEn_2; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116545.4]
  assign _T_1965 = _T_1964 | dmiProgramBufferAccessVec_2; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116675.4]
  assign dmiProgramBufferWrEnMaybe_3 = _T_6015 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117957.4]
  assign dmiProgramBufferRdEn_3 = _T_5779 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117955.4]
  assign dmiProgramBufferAccessVec_3 = dmiProgramBufferWrEnMaybe_3 | dmiProgramBufferRdEn_3; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116546.4]
  assign _T_1966 = _T_1965 | dmiProgramBufferAccessVec_3; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116676.4]
  assign _T_1967 = _T_1966 | dmiProgramBufferAccessVec_4; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116677.4]
  assign dmiProgramBufferWrEnMaybe_5 = _T_6021 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117641.4]
  assign dmiProgramBufferRdEn_5 = _T_5785 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117639.4]
  assign dmiProgramBufferAccessVec_5 = dmiProgramBufferWrEnMaybe_5 | dmiProgramBufferRdEn_5; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116548.4]
  assign _T_1968 = _T_1967 | dmiProgramBufferAccessVec_5; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116678.4]
  assign dmiProgramBufferWrEnMaybe_6 = _T_6021 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117673.4]
  assign dmiProgramBufferRdEn_6 = _T_5785 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117671.4]
  assign dmiProgramBufferAccessVec_6 = dmiProgramBufferWrEnMaybe_6 | dmiProgramBufferRdEn_6; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116549.4]
  assign _T_1969 = _T_1968 | dmiProgramBufferAccessVec_6; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116679.4]
  assign dmiProgramBufferWrEnMaybe_7 = _T_6021 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117705.4]
  assign dmiProgramBufferRdEn_7 = _T_5785 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117703.4]
  assign dmiProgramBufferAccessVec_7 = dmiProgramBufferWrEnMaybe_7 | dmiProgramBufferRdEn_7; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116550.4]
  assign _T_1970 = _T_1969 | dmiProgramBufferAccessVec_7; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116680.4]
  assign _T_1971 = _T_1970 | dmiProgramBufferAccessVec_8; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116681.4]
  assign dmiProgramBufferWrEnMaybe_9 = _T_6027 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118019.4]
  assign dmiProgramBufferRdEn_9 = _T_5791 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118017.4]
  assign dmiProgramBufferAccessVec_9 = dmiProgramBufferWrEnMaybe_9 | dmiProgramBufferRdEn_9; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116552.4]
  assign _T_1972 = _T_1971 | dmiProgramBufferAccessVec_9; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116682.4]
  assign dmiProgramBufferWrEnMaybe_10 = _T_6027 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118051.4]
  assign dmiProgramBufferRdEn_10 = _T_5791 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118049.4]
  assign dmiProgramBufferAccessVec_10 = dmiProgramBufferWrEnMaybe_10 | dmiProgramBufferRdEn_10; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116553.4]
  assign _T_1973 = _T_1972 | dmiProgramBufferAccessVec_10; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116683.4]
  assign dmiProgramBufferWrEnMaybe_11 = _T_6027 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118083.4]
  assign dmiProgramBufferRdEn_11 = _T_5791 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118081.4]
  assign dmiProgramBufferAccessVec_11 = dmiProgramBufferWrEnMaybe_11 | dmiProgramBufferRdEn_11; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116554.4]
  assign _T_1974 = _T_1973 | dmiProgramBufferAccessVec_11; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116684.4]
  assign _T_1975 = _T_1974 | dmiProgramBufferAccessVec_12; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116685.4]
  assign dmiProgramBufferWrEnMaybe_13 = _T_6033 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118603.4]
  assign dmiProgramBufferRdEn_13 = _T_5797 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118601.4]
  assign dmiProgramBufferAccessVec_13 = dmiProgramBufferWrEnMaybe_13 | dmiProgramBufferRdEn_13; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116556.4]
  assign _T_1976 = _T_1975 | dmiProgramBufferAccessVec_13; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116686.4]
  assign dmiProgramBufferWrEnMaybe_14 = _T_6033 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118635.4]
  assign dmiProgramBufferRdEn_14 = _T_5797 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118633.4]
  assign dmiProgramBufferAccessVec_14 = dmiProgramBufferWrEnMaybe_14 | dmiProgramBufferRdEn_14; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116557.4]
  assign _T_1977 = _T_1976 | dmiProgramBufferAccessVec_14; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116687.4]
  assign dmiProgramBufferWrEnMaybe_15 = _T_6033 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118667.4]
  assign dmiProgramBufferRdEn_15 = _T_5797 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118665.4]
  assign dmiProgramBufferAccessVec_15 = dmiProgramBufferWrEnMaybe_15 | dmiProgramBufferRdEn_15; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116558.4]
  assign _T_1978 = _T_1977 | dmiProgramBufferAccessVec_15; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116688.4]
  assign _T_1979 = _T_1978 | dmiProgramBufferAccessVec_16; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116689.4]
  assign dmiProgramBufferWrEnMaybe_17 = _T_6039 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119036.4]
  assign dmiProgramBufferRdEn_17 = _T_5803 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119034.4]
  assign dmiProgramBufferAccessVec_17 = dmiProgramBufferWrEnMaybe_17 | dmiProgramBufferRdEn_17; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116560.4]
  assign _T_1980 = _T_1979 | dmiProgramBufferAccessVec_17; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116690.4]
  assign dmiProgramBufferWrEnMaybe_18 = _T_6039 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119068.4]
  assign dmiProgramBufferRdEn_18 = _T_5803 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119066.4]
  assign dmiProgramBufferAccessVec_18 = dmiProgramBufferWrEnMaybe_18 | dmiProgramBufferRdEn_18; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116561.4]
  assign _T_1981 = _T_1980 | dmiProgramBufferAccessVec_18; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116691.4]
  assign dmiProgramBufferWrEnMaybe_19 = _T_6039 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119100.4]
  assign dmiProgramBufferRdEn_19 = _T_5803 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119098.4]
  assign dmiProgramBufferAccessVec_19 = dmiProgramBufferWrEnMaybe_19 | dmiProgramBufferRdEn_19; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116562.4]
  assign _T_1982 = _T_1981 | dmiProgramBufferAccessVec_19; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116692.4]
  assign _T_1983 = _T_1982 | dmiProgramBufferAccessVec_20; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116693.4]
  assign dmiProgramBufferWrEnMaybe_21 = _T_6045 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117263.4]
  assign dmiProgramBufferRdEn_21 = _T_5809 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117261.4]
  assign dmiProgramBufferAccessVec_21 = dmiProgramBufferWrEnMaybe_21 | dmiProgramBufferRdEn_21; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116564.4]
  assign _T_1984 = _T_1983 | dmiProgramBufferAccessVec_21; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116694.4]
  assign dmiProgramBufferWrEnMaybe_22 = _T_6045 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117295.4]
  assign dmiProgramBufferRdEn_22 = _T_5809 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117293.4]
  assign dmiProgramBufferAccessVec_22 = dmiProgramBufferWrEnMaybe_22 | dmiProgramBufferRdEn_22; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116565.4]
  assign _T_1985 = _T_1984 | dmiProgramBufferAccessVec_22; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116695.4]
  assign dmiProgramBufferWrEnMaybe_23 = _T_6045 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117327.4]
  assign dmiProgramBufferRdEn_23 = _T_5809 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117325.4]
  assign dmiProgramBufferAccessVec_23 = dmiProgramBufferWrEnMaybe_23 | dmiProgramBufferRdEn_23; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116566.4]
  assign _T_1986 = _T_1985 | dmiProgramBufferAccessVec_23; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116696.4]
  assign _T_1987 = _T_1986 | dmiProgramBufferAccessVec_24; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116697.4]
  assign dmiProgramBufferWrEnMaybe_25 = _T_6051 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117515.4]
  assign dmiProgramBufferRdEn_25 = _T_5815 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117513.4]
  assign dmiProgramBufferAccessVec_25 = dmiProgramBufferWrEnMaybe_25 | dmiProgramBufferRdEn_25; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116568.4]
  assign _T_1988 = _T_1987 | dmiProgramBufferAccessVec_25; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116698.4]
  assign dmiProgramBufferWrEnMaybe_26 = _T_6051 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117547.4]
  assign dmiProgramBufferRdEn_26 = _T_5815 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117545.4]
  assign dmiProgramBufferAccessVec_26 = dmiProgramBufferWrEnMaybe_26 | dmiProgramBufferRdEn_26; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116569.4]
  assign _T_1989 = _T_1988 | dmiProgramBufferAccessVec_26; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116699.4]
  assign dmiProgramBufferWrEnMaybe_27 = _T_6051 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117579.4]
  assign dmiProgramBufferRdEn_27 = _T_5815 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117577.4]
  assign dmiProgramBufferAccessVec_27 = dmiProgramBufferWrEnMaybe_27 | dmiProgramBufferRdEn_27; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116570.4]
  assign _T_1990 = _T_1989 | dmiProgramBufferAccessVec_27; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116700.4]
  assign _T_1991 = _T_1990 | dmiProgramBufferAccessVec_28; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116701.4]
  assign dmiProgramBufferWrEnMaybe_29 = _T_6057 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118477.4]
  assign dmiProgramBufferRdEn_29 = _T_5821 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118475.4]
  assign dmiProgramBufferAccessVec_29 = dmiProgramBufferWrEnMaybe_29 | dmiProgramBufferRdEn_29; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116572.4]
  assign _T_1992 = _T_1991 | dmiProgramBufferAccessVec_29; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116702.4]
  assign dmiProgramBufferWrEnMaybe_30 = _T_6057 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118509.4]
  assign dmiProgramBufferRdEn_30 = _T_5821 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118507.4]
  assign dmiProgramBufferAccessVec_30 = dmiProgramBufferWrEnMaybe_30 | dmiProgramBufferRdEn_30; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116573.4]
  assign _T_1993 = _T_1992 | dmiProgramBufferAccessVec_30; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116703.4]
  assign dmiProgramBufferWrEnMaybe_31 = _T_6057 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118541.4]
  assign dmiProgramBufferRdEn_31 = _T_5821 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118539.4]
  assign dmiProgramBufferAccessVec_31 = dmiProgramBufferWrEnMaybe_31 | dmiProgramBufferRdEn_31; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116574.4]
  assign _T_1994 = _T_1993 | dmiProgramBufferAccessVec_31; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116704.4]
  assign _T_1995 = _T_1994 | dmiProgramBufferAccessVec_32; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116705.4]
  assign dmiProgramBufferWrEnMaybe_33 = _T_6063 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118880.4]
  assign dmiProgramBufferRdEn_33 = _T_5827 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118878.4]
  assign dmiProgramBufferAccessVec_33 = dmiProgramBufferWrEnMaybe_33 | dmiProgramBufferRdEn_33; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116576.4]
  assign _T_1996 = _T_1995 | dmiProgramBufferAccessVec_33; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116706.4]
  assign dmiProgramBufferWrEnMaybe_34 = _T_6063 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118912.4]
  assign dmiProgramBufferRdEn_34 = _T_5827 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118910.4]
  assign dmiProgramBufferAccessVec_34 = dmiProgramBufferWrEnMaybe_34 | dmiProgramBufferRdEn_34; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116577.4]
  assign _T_1997 = _T_1996 | dmiProgramBufferAccessVec_34; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116707.4]
  assign dmiProgramBufferWrEnMaybe_35 = _T_6063 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118944.4]
  assign dmiProgramBufferRdEn_35 = _T_5827 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118942.4]
  assign dmiProgramBufferAccessVec_35 = dmiProgramBufferWrEnMaybe_35 | dmiProgramBufferRdEn_35; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116578.4]
  assign _T_1998 = _T_1997 | dmiProgramBufferAccessVec_35; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116708.4]
  assign _T_1999 = _T_1998 | dmiProgramBufferAccessVec_36; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116709.4]
  assign dmiProgramBufferWrEnMaybe_37 = _T_6069 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117767.4]
  assign dmiProgramBufferRdEn_37 = _T_5833 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117765.4]
  assign dmiProgramBufferAccessVec_37 = dmiProgramBufferWrEnMaybe_37 | dmiProgramBufferRdEn_37; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116580.4]
  assign _T_2000 = _T_1999 | dmiProgramBufferAccessVec_37; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116710.4]
  assign dmiProgramBufferWrEnMaybe_38 = _T_6069 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117799.4]
  assign dmiProgramBufferRdEn_38 = _T_5833 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117797.4]
  assign dmiProgramBufferAccessVec_38 = dmiProgramBufferWrEnMaybe_38 | dmiProgramBufferRdEn_38; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116581.4]
  assign _T_2001 = _T_2000 | dmiProgramBufferAccessVec_38; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116711.4]
  assign dmiProgramBufferWrEnMaybe_39 = _T_6069 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117831.4]
  assign dmiProgramBufferRdEn_39 = _T_5833 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117829.4]
  assign dmiProgramBufferAccessVec_39 = dmiProgramBufferWrEnMaybe_39 | dmiProgramBufferRdEn_39; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116582.4]
  assign _T_2002 = _T_2001 | dmiProgramBufferAccessVec_39; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116712.4]
  assign _T_2003 = _T_2002 | dmiProgramBufferAccessVec_40; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116713.4]
  assign dmiProgramBufferWrEnMaybe_41 = _T_6075 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117107.4]
  assign dmiProgramBufferRdEn_41 = _T_5839 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117105.4]
  assign dmiProgramBufferAccessVec_41 = dmiProgramBufferWrEnMaybe_41 | dmiProgramBufferRdEn_41; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116584.4]
  assign _T_2004 = _T_2003 | dmiProgramBufferAccessVec_41; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116714.4]
  assign dmiProgramBufferWrEnMaybe_42 = _T_6075 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117139.4]
  assign dmiProgramBufferRdEn_42 = _T_5839 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117137.4]
  assign dmiProgramBufferAccessVec_42 = dmiProgramBufferWrEnMaybe_42 | dmiProgramBufferRdEn_42; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116585.4]
  assign _T_2005 = _T_2004 | dmiProgramBufferAccessVec_42; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116715.4]
  assign dmiProgramBufferWrEnMaybe_43 = _T_6075 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117171.4]
  assign dmiProgramBufferRdEn_43 = _T_5839 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117169.4]
  assign dmiProgramBufferAccessVec_43 = dmiProgramBufferWrEnMaybe_43 | dmiProgramBufferRdEn_43; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116586.4]
  assign _T_2006 = _T_2005 | dmiProgramBufferAccessVec_43; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116716.4]
  assign _T_2007 = _T_2006 | dmiProgramBufferAccessVec_44; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116717.4]
  assign dmiProgramBufferWrEnMaybe_45 = _T_6081 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118754.4]
  assign dmiProgramBufferRdEn_45 = _T_5845 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118752.4]
  assign dmiProgramBufferAccessVec_45 = dmiProgramBufferWrEnMaybe_45 | dmiProgramBufferRdEn_45; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116588.4]
  assign _T_2008 = _T_2007 | dmiProgramBufferAccessVec_45; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116718.4]
  assign dmiProgramBufferWrEnMaybe_46 = _T_6081 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118786.4]
  assign dmiProgramBufferRdEn_46 = _T_5845 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118784.4]
  assign dmiProgramBufferAccessVec_46 = dmiProgramBufferWrEnMaybe_46 | dmiProgramBufferRdEn_46; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116589.4]
  assign _T_2009 = _T_2008 | dmiProgramBufferAccessVec_46; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116719.4]
  assign dmiProgramBufferWrEnMaybe_47 = _T_6081 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118818.4]
  assign dmiProgramBufferRdEn_47 = _T_5845 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118816.4]
  assign dmiProgramBufferAccessVec_47 = dmiProgramBufferWrEnMaybe_47 | dmiProgramBufferRdEn_47; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116590.4]
  assign _T_2010 = _T_2009 | dmiProgramBufferAccessVec_47; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116720.4]
  assign _T_2011 = _T_2010 | dmiProgramBufferAccessVec_48; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116721.4]
  assign dmiProgramBufferWrEnMaybe_49 = _T_6087 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118351.4]
  assign dmiProgramBufferRdEn_49 = _T_5851 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118349.4]
  assign dmiProgramBufferAccessVec_49 = dmiProgramBufferWrEnMaybe_49 | dmiProgramBufferRdEn_49; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116592.4]
  assign _T_2012 = _T_2011 | dmiProgramBufferAccessVec_49; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116722.4]
  assign dmiProgramBufferWrEnMaybe_50 = _T_6087 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118383.4]
  assign dmiProgramBufferRdEn_50 = _T_5851 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118381.4]
  assign dmiProgramBufferAccessVec_50 = dmiProgramBufferWrEnMaybe_50 | dmiProgramBufferRdEn_50; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116593.4]
  assign _T_2013 = _T_2012 | dmiProgramBufferAccessVec_50; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116723.4]
  assign dmiProgramBufferWrEnMaybe_51 = _T_6087 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118415.4]
  assign dmiProgramBufferRdEn_51 = _T_5851 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118413.4]
  assign dmiProgramBufferAccessVec_51 = dmiProgramBufferWrEnMaybe_51 | dmiProgramBufferRdEn_51; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116594.4]
  assign _T_2014 = _T_2013 | dmiProgramBufferAccessVec_51; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116724.4]
  assign _T_2015 = _T_2014 | dmiProgramBufferAccessVec_52; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116725.4]
  assign dmiProgramBufferWrEnMaybe_53 = _T_6093 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118145.4]
  assign dmiProgramBufferRdEn_53 = _T_5857 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118143.4]
  assign dmiProgramBufferAccessVec_53 = dmiProgramBufferWrEnMaybe_53 | dmiProgramBufferRdEn_53; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116596.4]
  assign _T_2016 = _T_2015 | dmiProgramBufferAccessVec_53; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116726.4]
  assign dmiProgramBufferWrEnMaybe_54 = _T_6093 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118177.4]
  assign dmiProgramBufferRdEn_54 = _T_5857 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118175.4]
  assign dmiProgramBufferAccessVec_54 = dmiProgramBufferWrEnMaybe_54 | dmiProgramBufferRdEn_54; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116597.4]
  assign _T_2017 = _T_2016 | dmiProgramBufferAccessVec_54; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116727.4]
  assign dmiProgramBufferWrEnMaybe_55 = _T_6093 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118209.4]
  assign dmiProgramBufferRdEn_55 = _T_5857 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@118207.4]
  assign dmiProgramBufferAccessVec_55 = dmiProgramBufferWrEnMaybe_55 | dmiProgramBufferRdEn_55; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116598.4]
  assign _T_2018 = _T_2017 | dmiProgramBufferAccessVec_55; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116728.4]
  assign _T_2019 = _T_2018 | dmiProgramBufferAccessVec_56; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116729.4]
  assign dmiProgramBufferWrEnMaybe_57 = _T_6099 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117389.4]
  assign dmiProgramBufferRdEn_57 = _T_5863 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117387.4]
  assign dmiProgramBufferAccessVec_57 = dmiProgramBufferWrEnMaybe_57 | dmiProgramBufferRdEn_57; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116600.4]
  assign _T_2020 = _T_2019 | dmiProgramBufferAccessVec_57; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116730.4]
  assign dmiProgramBufferWrEnMaybe_58 = _T_6099 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117421.4]
  assign dmiProgramBufferRdEn_58 = _T_5863 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117419.4]
  assign dmiProgramBufferAccessVec_58 = dmiProgramBufferWrEnMaybe_58 | dmiProgramBufferRdEn_58; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116601.4]
  assign _T_2021 = _T_2020 | dmiProgramBufferAccessVec_58; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116731.4]
  assign dmiProgramBufferWrEnMaybe_59 = _T_6099 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117453.4]
  assign dmiProgramBufferRdEn_59 = _T_5863 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117451.4]
  assign dmiProgramBufferAccessVec_59 = dmiProgramBufferWrEnMaybe_59 | dmiProgramBufferRdEn_59; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116602.4]
  assign _T_2022 = _T_2021 | dmiProgramBufferAccessVec_59; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116732.4]
  assign _T_2023 = _T_2022 | dmiProgramBufferAccessVec_60; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116733.4]
  assign dmiProgramBufferWrEnMaybe_61 = _T_6105 & _T_4941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119313.4]
  assign dmiProgramBufferRdEn_61 = _T_5869 & _T_4938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119311.4]
  assign dmiProgramBufferAccessVec_61 = dmiProgramBufferWrEnMaybe_61 | dmiProgramBufferRdEn_61; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116604.4]
  assign _T_2024 = _T_2023 | dmiProgramBufferAccessVec_61; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116734.4]
  assign dmiProgramBufferWrEnMaybe_62 = _T_6105 & _T_4968; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119345.4]
  assign dmiProgramBufferRdEn_62 = _T_5869 & _T_4965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119343.4]
  assign dmiProgramBufferAccessVec_62 = dmiProgramBufferWrEnMaybe_62 | dmiProgramBufferRdEn_62; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116605.4]
  assign _T_2025 = _T_2024 | dmiProgramBufferAccessVec_62; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116735.4]
  assign dmiProgramBufferWrEnMaybe_63 = _T_6105 & _T_4995; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119377.4]
  assign dmiProgramBufferRdEn_63 = _T_5869 & _T_4992; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@119375.4]
  assign dmiProgramBufferAccessVec_63 = dmiProgramBufferWrEnMaybe_63 | dmiProgramBufferRdEn_63; // @[Debug.scala 602:108:shc.marmotcaravel.MarmotCaravelConfig.fir@116606.4]
  assign dmiProgramBufferAccess = _T_2025 | dmiProgramBufferAccessVec_63; // @[Debug.scala 605:69:shc.marmotcaravel.MarmotCaravelConfig.fir@116736.4]
  assign _T_76305 = dmiProgramBufferAccess & _T_76293; // @[Debug.scala 951:42:shc.marmotcaravel.MarmotCaravelConfig.fir@191429.4]
  assign errorBusy = _T_76303 | _T_76305; // @[Debug.scala 950:74:shc.marmotcaravel.MarmotCaravelConfig.fir@191430.4]
  assign ABSTRACTAUTOWrDataVal = ABSTRACTAUTOWrEnMaybe ? auto_dmi_in_a_bits_data : 32'h0; // @[Debug.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117207.4]
  assign ABSTRACTAUTOWrData_autoexecdata = ABSTRACTAUTOWrDataVal[11:0]; // @[Debug.scala 582:68:shc.marmotcaravel.MarmotCaravelConfig.fir@116427.4]
  assign ABSTRACTAUTOWrData_autoexecprogbuf = ABSTRACTAUTOWrDataVal[31:16]; // @[Debug.scala 582:68:shc.marmotcaravel.MarmotCaravelConfig.fir@116431.4]
  assign ABSTRACTAUTOWrEn = ABSTRACTAUTOWrEnMaybe & ABSTRACTCSWrEnLegal; // @[Debug.scala 589:55:shc.marmotcaravel.MarmotCaravelConfig.fir@116445.4]
  assign _T_1457 = ABSTRACTAUTOWrData_autoexecdata & 12'h1; // @[Debug.scala 595:71:shc.marmotcaravel.MarmotCaravelConfig.fir@116454.8]
  assign COMMANDWrData_control = COMMANDWrDataVal[23:0]; // @[Debug.scala 621:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116863.4]
  assign hartHaltedId = auto_tl_in_a_bits_data[9:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@151097.4]
  assign _T_2673 = hartHaltedId == 10'h0; // @[Debug.scala 660:60:shc.marmotcaravel.MarmotCaravelConfig.fir@116904.8]
  assign _T_60400 = _T_60333[66]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168673.4]
  assign _T_72033 = _T_71634 & _T_60400; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185528.4]
  assign _T_72034 = _T_72033 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185529.4]
  assign hartResumingWrEn = _T_72034 & _T_50733; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@155399.4]
  assign _T_60398 = _T_60333[64]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168671.4]
  assign _T_72021 = _T_71634 & _T_60398; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185512.4]
  assign _T_72022 = _T_72021 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185513.4]
  assign hartHaltedWrEn = _T_72022 & _T_50733; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@151096.4]
  assign _T_2683 = {DMSTATUSRdData_allhalted,DMSTATUSRdData_allhalted}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116930.4]
  assign _T_2684 = {1'h0,DMSTATUSRdData_allrunning}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116931.4]
  assign _T_2685 = {_T_2684,DMSTATUSRdData_allrunning}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116932.4]
  assign _T_2686 = {_T_2685,_T_2683}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116933.4]
  assign _T_2687 = {_T_2686,8'h82}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116934.4]
  assign _T_2688 = {DMSTATUSRdData_anynonexistent,1'h0}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116935.4]
  assign _T_2689 = {DMSTATUSRdData_allresumeack,DMSTATUSRdData_allresumeack}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116936.4]
  assign _T_2690 = {_T_2689,DMSTATUSRdData_anynonexistent}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116937.4]
  assign _T_2691 = {_T_2690,_T_2688}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116938.4]
  assign _T_2692 = {haveResetBitRegs_0,haveResetBitRegs_0}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116939.4]
  assign _T_2695 = {12'h0,_T_2692}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116942.4]
  assign _T_2696 = {_T_2695,_T_2691}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116943.4]
  assign _T_2697 = {_T_2696,_T_2687}; // @[Debug.scala 693:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116944.4]
  assign _T_2704 = {1'h0,ABSTRACTCSReg_cmderr}; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116951.4]
  assign _T_2705 = {_T_2704,8'h1}; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116952.4]
  assign abstractCommandBusy = ctrlStateReg != 2'h0; // @[Debug.scala 939:42:shc.marmotcaravel.MarmotCaravelConfig.fir@191405.4]
  assign _T_2706 = {11'h0,abstractCommandBusy}; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116953.4]
  assign _T_2708 = {8'h10,_T_2706}; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116955.4]
  assign _T_2709 = {_T_2708,_T_2705}; // @[Debug.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@116956.4]
  assign _T_2710 = {ABSTRACTAUTOReg_autoexecprogbuf,4'h0}; // @[Debug.scala 700:75:shc.marmotcaravel.MarmotCaravelConfig.fir@116957.4]
  assign _T_2711 = {_T_2710,ABSTRACTAUTOReg_autoexecdata}; // @[Debug.scala 700:75:shc.marmotcaravel.MarmotCaravelConfig.fir@116958.4]
  assign _T_2722 = {auto_dmi_in_a_bits_source,auto_dmi_in_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@116968.4]
  assign _T_3156 = auto_dmi_in_a_bits_data[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117079.4]
  assign _T_3181 = auto_dmi_in_a_bits_data[15:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117109.4]
  assign _T_3191 = {programBufferMem_41,programBufferMem_40}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117123.4]
  assign _T_3208 = auto_dmi_in_a_bits_data[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117141.4]
  assign _T_3218 = {programBufferMem_42,_T_3191}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117155.4]
  assign _T_3235 = auto_dmi_in_a_bits_data[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@117173.4]
  assign _T_3245 = {programBufferMem_43,_T_3218}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117187.4]
  assign _T_3322 = {programBufferMem_21,programBufferMem_20}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117279.4]
  assign _T_3349 = {programBufferMem_22,_T_3322}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117311.4]
  assign _T_3376 = {programBufferMem_23,_T_3349}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117343.4]
  assign _T_3428 = {programBufferMem_57,programBufferMem_56}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117405.4]
  assign _T_3455 = {programBufferMem_58,_T_3428}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117437.4]
  assign _T_3482 = {programBufferMem_59,_T_3455}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117469.4]
  assign _T_3534 = {programBufferMem_25,programBufferMem_24}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117531.4]
  assign _T_3561 = {programBufferMem_26,_T_3534}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117563.4]
  assign _T_3588 = {programBufferMem_27,_T_3561}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117595.4]
  assign _T_3640 = {programBufferMem_5,programBufferMem_4}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117657.4]
  assign _T_3667 = {programBufferMem_6,_T_3640}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117689.4]
  assign _T_3694 = {programBufferMem_7,_T_3667}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117721.4]
  assign _T_3746 = {programBufferMem_37,programBufferMem_36}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117783.4]
  assign _T_3773 = {programBufferMem_38,_T_3746}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117815.4]
  assign _T_3800 = {programBufferMem_39,_T_3773}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117847.4]
  assign _T_3852 = {programBufferMem_1,programBufferMem_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117909.4]
  assign _T_3879 = {programBufferMem_2,_T_3852}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117941.4]
  assign _T_3906 = {programBufferMem_3,_T_3879}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@117973.4]
  assign _T_3958 = {programBufferMem_9,programBufferMem_8}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118035.4]
  assign _T_3985 = {programBufferMem_10,_T_3958}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118067.4]
  assign _T_4012 = {programBufferMem_11,_T_3985}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118099.4]
  assign _T_4064 = {programBufferMem_53,programBufferMem_52}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118161.4]
  assign _T_4091 = {programBufferMem_54,_T_4064}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118193.4]
  assign _T_4118 = {programBufferMem_55,_T_4091}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118225.4]
  assign _T_4245 = {programBufferMem_49,programBufferMem_48}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118367.4]
  assign _T_4272 = {programBufferMem_50,_T_4245}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118399.4]
  assign _T_4299 = {programBufferMem_51,_T_4272}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118431.4]
  assign _T_4351 = {programBufferMem_29,programBufferMem_28}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118493.4]
  assign _T_4378 = {programBufferMem_30,_T_4351}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118525.4]
  assign _T_4405 = {programBufferMem_31,_T_4378}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118557.4]
  assign _T_4457 = {programBufferMem_13,programBufferMem_12}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118619.4]
  assign _T_4484 = {programBufferMem_14,_T_4457}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118651.4]
  assign _T_4511 = {programBufferMem_15,_T_4484}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118683.4]
  assign _T_4588 = {programBufferMem_45,programBufferMem_44}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118770.4]
  assign _T_4615 = {programBufferMem_46,_T_4588}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118802.4]
  assign _T_4642 = {programBufferMem_47,_T_4615}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118834.4]
  assign _T_4694 = {programBufferMem_33,programBufferMem_32}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118896.4]
  assign _T_4721 = {programBufferMem_34,_T_4694}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118928.4]
  assign _T_4748 = {programBufferMem_35,_T_4721}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@118960.4]
  assign _T_4825 = {programBufferMem_17,programBufferMem_16}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119052.4]
  assign _T_4852 = {programBufferMem_18,_T_4825}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119084.4]
  assign _T_4879 = {programBufferMem_19,_T_4852}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119116.4]
  assign _T_4956 = {abstractDataMem_1,abstractDataMem_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119203.4]
  assign _T_4983 = {abstractDataMem_2,_T_4956}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119235.4]
  assign _T_5010 = {abstractDataMem_3,_T_4983}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119267.4]
  assign _T_5062 = {programBufferMem_61,programBufferMem_60}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119329.4]
  assign _T_5089 = {programBufferMem_62,_T_5062}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119361.4]
  assign _T_5116 = {programBufferMem_63,_T_5089}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@119393.4]
  assign _GEN_252 = 5'h1 == _T_5129 ? _T_2742 : _T_2760; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_253 = 5'h2 == _T_5129 ? _T_2742 : _GEN_252; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_254 = 5'h3 == _T_5129 ? _T_2742 : _GEN_253; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_255 = 5'h4 == _T_5129 ? _T_2786 : _GEN_254; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_256 = 5'h5 == _T_5129 ? 1'h1 : _GEN_255; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_257 = 5'h6 == _T_5129 ? _T_2742 : _GEN_256; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_258 = 5'h7 == _T_5129 ? _T_2742 : _GEN_257; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_259 = 5'h8 == _T_5129 ? _T_2742 : _GEN_258; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_260 = 5'h9 == _T_5129 ? 1'h1 : _GEN_259; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_261 = 5'ha == _T_5129 ? 1'h1 : _GEN_260; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_262 = 5'hb == _T_5129 ? 1'h1 : _GEN_261; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_263 = 5'hc == _T_5129 ? 1'h1 : _GEN_262; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_264 = 5'hd == _T_5129 ? 1'h1 : _GEN_263; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_265 = 5'he == _T_5129 ? 1'h1 : _GEN_264; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_266 = 5'hf == _T_5129 ? 1'h1 : _GEN_265; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_267 = 5'h10 == _T_5129 ? _T_2786 : _GEN_266; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_268 = 5'h11 == _T_5129 ? _T_2786 : _GEN_267; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_269 = 5'h12 == _T_5129 ? _T_2786 : _GEN_268; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_270 = 5'h13 == _T_5129 ? _T_2786 : _GEN_269; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_271 = 5'h14 == _T_5129 ? _T_2786 : _GEN_270; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_272 = 5'h15 == _T_5129 ? _T_2786 : _GEN_271; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_273 = 5'h16 == _T_5129 ? _T_2786 : _GEN_272; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_274 = 5'h17 == _T_5129 ? _T_2786 : _GEN_273; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_275 = 5'h18 == _T_5129 ? _T_2786 : _GEN_274; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_276 = 5'h19 == _T_5129 ? _T_2786 : _GEN_275; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_277 = 5'h1a == _T_5129 ? _T_2786 : _GEN_276; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_278 = 5'h1b == _T_5129 ? _T_2786 : _GEN_277; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_279 = 5'h1c == _T_5129 ? _T_2786 : _GEN_278; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_280 = 5'h1d == _T_5129 ? _T_2786 : _GEN_279; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_281 = 5'h1e == _T_5129 ? _T_2786 : _GEN_280; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_282 = 5'h1f == _T_5129 ? _T_2786 : _GEN_281; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120880.4]
  assign _GEN_284 = 5'h1 == _T_5129 ? _T_2697 : selectedHaltedStatus; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_285 = 5'h2 == _T_5129 ? 32'h111380 : _GEN_284; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_286 = 5'h3 == _T_5129 ? HALTSUM1RdData_haltsum1 : _GEN_285; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_287 = 5'h4 == _T_5129 ? _T_5010 : _GEN_286; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_288 = 5'h5 == _T_5129 ? 32'h0 : _GEN_287; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_289 = 5'h6 == _T_5129 ? _T_2709 : _GEN_288; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_290 = 5'h7 == _T_5129 ? _T_20900 : _GEN_289; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_291 = 5'h8 == _T_5129 ? _T_2711 : _GEN_290; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_292 = 5'h9 == _T_5129 ? 32'h0 : _GEN_291; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_293 = 5'ha == _T_5129 ? 32'h0 : _GEN_292; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_294 = 5'hb == _T_5129 ? 32'h0 : _GEN_293; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_295 = 5'hc == _T_5129 ? 32'h0 : _GEN_294; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_296 = 5'hd == _T_5129 ? 32'h0 : _GEN_295; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_297 = 5'he == _T_5129 ? 32'h0 : _GEN_296; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_298 = 5'hf == _T_5129 ? 32'h0 : _GEN_297; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_299 = 5'h10 == _T_5129 ? _T_3906 : _GEN_298; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_300 = 5'h11 == _T_5129 ? _T_3694 : _GEN_299; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_301 = 5'h12 == _T_5129 ? _T_4012 : _GEN_300; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_302 = 5'h13 == _T_5129 ? _T_4511 : _GEN_301; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_303 = 5'h14 == _T_5129 ? _T_4879 : _GEN_302; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_304 = 5'h15 == _T_5129 ? _T_3376 : _GEN_303; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_305 = 5'h16 == _T_5129 ? _T_3588 : _GEN_304; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_306 = 5'h17 == _T_5129 ? _T_4405 : _GEN_305; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_307 = 5'h18 == _T_5129 ? _T_4748 : _GEN_306; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_308 = 5'h19 == _T_5129 ? _T_3800 : _GEN_307; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_309 = 5'h1a == _T_5129 ? _T_3245 : _GEN_308; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_310 = 5'h1b == _T_5129 ? _T_4642 : _GEN_309; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_311 = 5'h1c == _T_5129 ? _T_4299 : _GEN_310; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_312 = 5'h1d == _T_5129 ? _T_4118 : _GEN_311; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_313 = 5'h1e == _T_5129 ? _T_3482 : _GEN_312; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _GEN_314 = 5'h1f == _T_5129 ? _T_5116 : _GEN_313; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@120916.4]
  assign _T_6243 = dmiAbstractDataWrEnMaybe_0 & ABSTRACTCSWrEnLegal; // @[Debug.scala 725:41:shc.marmotcaravel.MarmotCaravelConfig.fir@120943.4]
  assign _T_6244 = dmiAbstractDataWrEnMaybe_1 & ABSTRACTCSWrEnLegal; // @[Debug.scala 725:41:shc.marmotcaravel.MarmotCaravelConfig.fir@120947.4]
  assign _T_6245 = dmiAbstractDataWrEnMaybe_2 & ABSTRACTCSWrEnLegal; // @[Debug.scala 725:41:shc.marmotcaravel.MarmotCaravelConfig.fir@120951.4]
  assign _T_6246 = dmiAbstractDataWrEnMaybe_3 & ABSTRACTCSWrEnLegal; // @[Debug.scala 725:41:shc.marmotcaravel.MarmotCaravelConfig.fir@120955.4]
  assign _T_6247 = dmiProgramBufferWrEnMaybe_0 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120959.4]
  assign _T_6248 = dmiProgramBufferWrEnMaybe_1 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120963.4]
  assign _T_6249 = dmiProgramBufferWrEnMaybe_2 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120967.4]
  assign _T_6250 = dmiProgramBufferWrEnMaybe_3 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120971.4]
  assign _T_6251 = dmiProgramBufferWrEnMaybe_4 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120975.4]
  assign _T_6252 = dmiProgramBufferWrEnMaybe_5 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120979.4]
  assign _T_6253 = dmiProgramBufferWrEnMaybe_6 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120983.4]
  assign _T_6254 = dmiProgramBufferWrEnMaybe_7 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120987.4]
  assign _T_6255 = dmiProgramBufferWrEnMaybe_8 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120991.4]
  assign _T_6256 = dmiProgramBufferWrEnMaybe_9 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120995.4]
  assign _T_6257 = dmiProgramBufferWrEnMaybe_10 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@120999.4]
  assign _T_6258 = dmiProgramBufferWrEnMaybe_11 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121003.4]
  assign _T_6259 = dmiProgramBufferWrEnMaybe_12 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121007.4]
  assign _T_6260 = dmiProgramBufferWrEnMaybe_13 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121011.4]
  assign _T_6261 = dmiProgramBufferWrEnMaybe_14 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121015.4]
  assign _T_6262 = dmiProgramBufferWrEnMaybe_15 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121019.4]
  assign _T_6263 = dmiProgramBufferWrEnMaybe_16 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121023.4]
  assign _T_6264 = dmiProgramBufferWrEnMaybe_17 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121027.4]
  assign _T_6265 = dmiProgramBufferWrEnMaybe_18 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121031.4]
  assign _T_6266 = dmiProgramBufferWrEnMaybe_19 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121035.4]
  assign _T_6267 = dmiProgramBufferWrEnMaybe_20 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121039.4]
  assign _T_6268 = dmiProgramBufferWrEnMaybe_21 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121043.4]
  assign _T_6269 = dmiProgramBufferWrEnMaybe_22 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121047.4]
  assign _T_6270 = dmiProgramBufferWrEnMaybe_23 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121051.4]
  assign _T_6271 = dmiProgramBufferWrEnMaybe_24 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121055.4]
  assign _T_6272 = dmiProgramBufferWrEnMaybe_25 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121059.4]
  assign _T_6273 = dmiProgramBufferWrEnMaybe_26 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121063.4]
  assign _T_6274 = dmiProgramBufferWrEnMaybe_27 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121067.4]
  assign _T_6275 = dmiProgramBufferWrEnMaybe_28 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121071.4]
  assign _T_6276 = dmiProgramBufferWrEnMaybe_29 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121075.4]
  assign _T_6277 = dmiProgramBufferWrEnMaybe_30 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121079.4]
  assign _T_6278 = dmiProgramBufferWrEnMaybe_31 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121083.4]
  assign _T_6279 = dmiProgramBufferWrEnMaybe_32 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121087.4]
  assign _T_6280 = dmiProgramBufferWrEnMaybe_33 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121091.4]
  assign _T_6281 = dmiProgramBufferWrEnMaybe_34 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121095.4]
  assign _T_6282 = dmiProgramBufferWrEnMaybe_35 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121099.4]
  assign _T_6283 = dmiProgramBufferWrEnMaybe_36 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121103.4]
  assign _T_6284 = dmiProgramBufferWrEnMaybe_37 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121107.4]
  assign _T_6285 = dmiProgramBufferWrEnMaybe_38 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121111.4]
  assign _T_6286 = dmiProgramBufferWrEnMaybe_39 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121115.4]
  assign _T_6287 = dmiProgramBufferWrEnMaybe_40 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121119.4]
  assign _T_6288 = dmiProgramBufferWrEnMaybe_41 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121123.4]
  assign _T_6289 = dmiProgramBufferWrEnMaybe_42 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121127.4]
  assign _T_6290 = dmiProgramBufferWrEnMaybe_43 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121131.4]
  assign _T_6291 = dmiProgramBufferWrEnMaybe_44 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121135.4]
  assign _T_6292 = dmiProgramBufferWrEnMaybe_45 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121139.4]
  assign _T_6293 = dmiProgramBufferWrEnMaybe_46 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121143.4]
  assign _T_6294 = dmiProgramBufferWrEnMaybe_47 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121147.4]
  assign _T_6295 = dmiProgramBufferWrEnMaybe_48 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121151.4]
  assign _T_6296 = dmiProgramBufferWrEnMaybe_49 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121155.4]
  assign _T_6297 = dmiProgramBufferWrEnMaybe_50 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121159.4]
  assign _T_6298 = dmiProgramBufferWrEnMaybe_51 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121163.4]
  assign _T_6299 = dmiProgramBufferWrEnMaybe_52 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121167.4]
  assign _T_6300 = dmiProgramBufferWrEnMaybe_53 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121171.4]
  assign _T_6301 = dmiProgramBufferWrEnMaybe_54 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121175.4]
  assign _T_6302 = dmiProgramBufferWrEnMaybe_55 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121179.4]
  assign _T_6303 = dmiProgramBufferWrEnMaybe_56 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121183.4]
  assign _T_6304 = dmiProgramBufferWrEnMaybe_57 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121187.4]
  assign _T_6305 = dmiProgramBufferWrEnMaybe_58 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121191.4]
  assign _T_6306 = dmiProgramBufferWrEnMaybe_59 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121195.4]
  assign _T_6307 = dmiProgramBufferWrEnMaybe_60 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121199.4]
  assign _T_6308 = dmiProgramBufferWrEnMaybe_61 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121203.4]
  assign _T_6309 = dmiProgramBufferWrEnMaybe_62 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121207.4]
  assign _T_6310 = dmiProgramBufferWrEnMaybe_63 & ABSTRACTCSWrEnLegal; // @[Debug.scala 745:42:shc.marmotcaravel.MarmotCaravelConfig.fir@121211.4]
  assign _T_6518 = _T_2673 | reset; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121333.10]
  assign _T_6519 = _T_6518 == 1'h0; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121334.10]
  assign _T_60399 = _T_60333[65]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168672.4]
  assign _T_72027 = _T_71634 & _T_60399; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185520.4]
  assign _T_72028 = _T_72027 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@185521.4]
  assign hartGoingWrEn = _T_72028 & _T_50733; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@146381.4]
  assign _GEN_5658 = commandRegBadHaltResume ? 1'h0 : 1'h1; // @[Debug.scala 1004:43:shc.marmotcaravel.MarmotCaravelConfig.fir@191491.10]
  assign _GEN_5662 = commandRegIsUnsupported ? 1'h0 : _GEN_5658; // @[Debug.scala 1001:38:shc.marmotcaravel.MarmotCaravelConfig.fir@191486.8]
  assign _GEN_5675 = _T_76325 ? _GEN_5662 : 1'h0; // @[Debug.scala 994:59:shc.marmotcaravel.MarmotCaravelConfig.fir@191485.6]
  assign goAbstract = ABSTRACTCSWrEnLegal ? 1'h0 : _GEN_5675; // @[Debug.scala 986:47:shc.marmotcaravel.MarmotCaravelConfig.fir@191468.4]
  assign flags_0_go = 10'h0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_1_go = 10'h1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_2_go = 10'h2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_3_go = 10'h3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_4_go = 10'h4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_5_go = 10'h5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_6_go = 10'h6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_7_go = 10'h7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_8_go = 10'h8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_9_go = 10'h9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_10_go = 10'ha == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_11_go = 10'hb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_12_go = 10'hc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_13_go = 10'hd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_14_go = 10'he == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_15_go = 10'hf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_16_go = 10'h10 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_17_go = 10'h11 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_18_go = 10'h12 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_19_go = 10'h13 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_20_go = 10'h14 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_21_go = 10'h15 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_22_go = 10'h16 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_23_go = 10'h17 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_24_go = 10'h18 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_25_go = 10'h19 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_26_go = 10'h1a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_27_go = 10'h1b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_28_go = 10'h1c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_29_go = 10'h1d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_30_go = 10'h1e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_31_go = 10'h1f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_32_go = 10'h20 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_33_go = 10'h21 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_34_go = 10'h22 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_35_go = 10'h23 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_36_go = 10'h24 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_37_go = 10'h25 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_38_go = 10'h26 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_39_go = 10'h27 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_40_go = 10'h28 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_41_go = 10'h29 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_42_go = 10'h2a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_43_go = 10'h2b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_44_go = 10'h2c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_45_go = 10'h2d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_46_go = 10'h2e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_47_go = 10'h2f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_48_go = 10'h30 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_49_go = 10'h31 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_50_go = 10'h32 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_51_go = 10'h33 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_52_go = 10'h34 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_53_go = 10'h35 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_54_go = 10'h36 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_55_go = 10'h37 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_56_go = 10'h38 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_57_go = 10'h39 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_58_go = 10'h3a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_59_go = 10'h3b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_60_go = 10'h3c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_61_go = 10'h3d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_62_go = 10'h3e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_63_go = 10'h3f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_64_go = 10'h40 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_65_go = 10'h41 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_66_go = 10'h42 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_67_go = 10'h43 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_68_go = 10'h44 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_69_go = 10'h45 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_70_go = 10'h46 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_71_go = 10'h47 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_72_go = 10'h48 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_73_go = 10'h49 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_74_go = 10'h4a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_75_go = 10'h4b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_76_go = 10'h4c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_77_go = 10'h4d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_78_go = 10'h4e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_79_go = 10'h4f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_80_go = 10'h50 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_81_go = 10'h51 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_82_go = 10'h52 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_83_go = 10'h53 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_84_go = 10'h54 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_85_go = 10'h55 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_86_go = 10'h56 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_87_go = 10'h57 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_88_go = 10'h58 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_89_go = 10'h59 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_90_go = 10'h5a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_91_go = 10'h5b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_92_go = 10'h5c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_93_go = 10'h5d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_94_go = 10'h5e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_95_go = 10'h5f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_96_go = 10'h60 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_97_go = 10'h61 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_98_go = 10'h62 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_99_go = 10'h63 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_100_go = 10'h64 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_101_go = 10'h65 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_102_go = 10'h66 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_103_go = 10'h67 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_104_go = 10'h68 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_105_go = 10'h69 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_106_go = 10'h6a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_107_go = 10'h6b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_108_go = 10'h6c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_109_go = 10'h6d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_110_go = 10'h6e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_111_go = 10'h6f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_112_go = 10'h70 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_113_go = 10'h71 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_114_go = 10'h72 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_115_go = 10'h73 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_116_go = 10'h74 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_117_go = 10'h75 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_118_go = 10'h76 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_119_go = 10'h77 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_120_go = 10'h78 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_121_go = 10'h79 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_122_go = 10'h7a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_123_go = 10'h7b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_124_go = 10'h7c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_125_go = 10'h7d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_126_go = 10'h7e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_127_go = 10'h7f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_128_go = 10'h80 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_129_go = 10'h81 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_130_go = 10'h82 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_131_go = 10'h83 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_132_go = 10'h84 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_133_go = 10'h85 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_134_go = 10'h86 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_135_go = 10'h87 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_136_go = 10'h88 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_137_go = 10'h89 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_138_go = 10'h8a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_139_go = 10'h8b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_140_go = 10'h8c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_141_go = 10'h8d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_142_go = 10'h8e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_143_go = 10'h8f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_144_go = 10'h90 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_145_go = 10'h91 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_146_go = 10'h92 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_147_go = 10'h93 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_148_go = 10'h94 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_149_go = 10'h95 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_150_go = 10'h96 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_151_go = 10'h97 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_152_go = 10'h98 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_153_go = 10'h99 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_154_go = 10'h9a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_155_go = 10'h9b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_156_go = 10'h9c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_157_go = 10'h9d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_158_go = 10'h9e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_159_go = 10'h9f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_160_go = 10'ha0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_161_go = 10'ha1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_162_go = 10'ha2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_163_go = 10'ha3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_164_go = 10'ha4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_165_go = 10'ha5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_166_go = 10'ha6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_167_go = 10'ha7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_168_go = 10'ha8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_169_go = 10'ha9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_170_go = 10'haa == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_171_go = 10'hab == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_172_go = 10'hac == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_173_go = 10'had == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_174_go = 10'hae == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_175_go = 10'haf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_176_go = 10'hb0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_177_go = 10'hb1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_178_go = 10'hb2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_179_go = 10'hb3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_180_go = 10'hb4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_181_go = 10'hb5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_182_go = 10'hb6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_183_go = 10'hb7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_184_go = 10'hb8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_185_go = 10'hb9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_186_go = 10'hba == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_187_go = 10'hbb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_188_go = 10'hbc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_189_go = 10'hbd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_190_go = 10'hbe == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_191_go = 10'hbf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_192_go = 10'hc0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_193_go = 10'hc1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_194_go = 10'hc2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_195_go = 10'hc3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_196_go = 10'hc4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_197_go = 10'hc5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_198_go = 10'hc6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_199_go = 10'hc7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_200_go = 10'hc8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_201_go = 10'hc9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_202_go = 10'hca == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_203_go = 10'hcb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_204_go = 10'hcc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_205_go = 10'hcd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_206_go = 10'hce == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_207_go = 10'hcf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_208_go = 10'hd0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_209_go = 10'hd1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_210_go = 10'hd2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_211_go = 10'hd3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_212_go = 10'hd4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_213_go = 10'hd5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_214_go = 10'hd6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_215_go = 10'hd7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_216_go = 10'hd8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_217_go = 10'hd9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_218_go = 10'hda == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_219_go = 10'hdb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_220_go = 10'hdc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_221_go = 10'hdd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_222_go = 10'hde == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_223_go = 10'hdf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_224_go = 10'he0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_225_go = 10'he1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_226_go = 10'he2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_227_go = 10'he3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_228_go = 10'he4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_229_go = 10'he5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_230_go = 10'he6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_231_go = 10'he7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_232_go = 10'he8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_233_go = 10'he9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_234_go = 10'hea == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_235_go = 10'heb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_236_go = 10'hec == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_237_go = 10'hed == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_238_go = 10'hee == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_239_go = 10'hef == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_240_go = 10'hf0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_241_go = 10'hf1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_242_go = 10'hf2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_243_go = 10'hf3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_244_go = 10'hf4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_245_go = 10'hf5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_246_go = 10'hf6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_247_go = 10'hf7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_248_go = 10'hf8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_249_go = 10'hf9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_250_go = 10'hfa == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_251_go = 10'hfb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_252_go = 10'hfc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_253_go = 10'hfd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_254_go = 10'hfe == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_255_go = 10'hff == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_256_go = 10'h100 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_257_go = 10'h101 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_258_go = 10'h102 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_259_go = 10'h103 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_260_go = 10'h104 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_261_go = 10'h105 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_262_go = 10'h106 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_263_go = 10'h107 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_264_go = 10'h108 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_265_go = 10'h109 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_266_go = 10'h10a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_267_go = 10'h10b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_268_go = 10'h10c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_269_go = 10'h10d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_270_go = 10'h10e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_271_go = 10'h10f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_272_go = 10'h110 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_273_go = 10'h111 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_274_go = 10'h112 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_275_go = 10'h113 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_276_go = 10'h114 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_277_go = 10'h115 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_278_go = 10'h116 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_279_go = 10'h117 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_280_go = 10'h118 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_281_go = 10'h119 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_282_go = 10'h11a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_283_go = 10'h11b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_284_go = 10'h11c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_285_go = 10'h11d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_286_go = 10'h11e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_287_go = 10'h11f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_288_go = 10'h120 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_289_go = 10'h121 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_290_go = 10'h122 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_291_go = 10'h123 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_292_go = 10'h124 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_293_go = 10'h125 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_294_go = 10'h126 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_295_go = 10'h127 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_296_go = 10'h128 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_297_go = 10'h129 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_298_go = 10'h12a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_299_go = 10'h12b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_300_go = 10'h12c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_301_go = 10'h12d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_302_go = 10'h12e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_303_go = 10'h12f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_304_go = 10'h130 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_305_go = 10'h131 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_306_go = 10'h132 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_307_go = 10'h133 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_308_go = 10'h134 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_309_go = 10'h135 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_310_go = 10'h136 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_311_go = 10'h137 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_312_go = 10'h138 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_313_go = 10'h139 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_314_go = 10'h13a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_315_go = 10'h13b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_316_go = 10'h13c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_317_go = 10'h13d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_318_go = 10'h13e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_319_go = 10'h13f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_320_go = 10'h140 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_321_go = 10'h141 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_322_go = 10'h142 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_323_go = 10'h143 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_324_go = 10'h144 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_325_go = 10'h145 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_326_go = 10'h146 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_327_go = 10'h147 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_328_go = 10'h148 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_329_go = 10'h149 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_330_go = 10'h14a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_331_go = 10'h14b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_332_go = 10'h14c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_333_go = 10'h14d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_334_go = 10'h14e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_335_go = 10'h14f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_336_go = 10'h150 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_337_go = 10'h151 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_338_go = 10'h152 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_339_go = 10'h153 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_340_go = 10'h154 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_341_go = 10'h155 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_342_go = 10'h156 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_343_go = 10'h157 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_344_go = 10'h158 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_345_go = 10'h159 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_346_go = 10'h15a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_347_go = 10'h15b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_348_go = 10'h15c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_349_go = 10'h15d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_350_go = 10'h15e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_351_go = 10'h15f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_352_go = 10'h160 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_353_go = 10'h161 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_354_go = 10'h162 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_355_go = 10'h163 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_356_go = 10'h164 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_357_go = 10'h165 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_358_go = 10'h166 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_359_go = 10'h167 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_360_go = 10'h168 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_361_go = 10'h169 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_362_go = 10'h16a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_363_go = 10'h16b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_364_go = 10'h16c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_365_go = 10'h16d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_366_go = 10'h16e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_367_go = 10'h16f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_368_go = 10'h170 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_369_go = 10'h171 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_370_go = 10'h172 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_371_go = 10'h173 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_372_go = 10'h174 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_373_go = 10'h175 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_374_go = 10'h176 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_375_go = 10'h177 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_376_go = 10'h178 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_377_go = 10'h179 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_378_go = 10'h17a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_379_go = 10'h17b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_380_go = 10'h17c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_381_go = 10'h17d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_382_go = 10'h17e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_383_go = 10'h17f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_384_go = 10'h180 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_385_go = 10'h181 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_386_go = 10'h182 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_387_go = 10'h183 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_388_go = 10'h184 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_389_go = 10'h185 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_390_go = 10'h186 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_391_go = 10'h187 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_392_go = 10'h188 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_393_go = 10'h189 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_394_go = 10'h18a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_395_go = 10'h18b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_396_go = 10'h18c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_397_go = 10'h18d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_398_go = 10'h18e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_399_go = 10'h18f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_400_go = 10'h190 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_401_go = 10'h191 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_402_go = 10'h192 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_403_go = 10'h193 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_404_go = 10'h194 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_405_go = 10'h195 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_406_go = 10'h196 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_407_go = 10'h197 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_408_go = 10'h198 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_409_go = 10'h199 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_410_go = 10'h19a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_411_go = 10'h19b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_412_go = 10'h19c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_413_go = 10'h19d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_414_go = 10'h19e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_415_go = 10'h19f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_416_go = 10'h1a0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_417_go = 10'h1a1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_418_go = 10'h1a2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_419_go = 10'h1a3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_420_go = 10'h1a4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_421_go = 10'h1a5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_422_go = 10'h1a6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_423_go = 10'h1a7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_424_go = 10'h1a8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_425_go = 10'h1a9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_426_go = 10'h1aa == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_427_go = 10'h1ab == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_428_go = 10'h1ac == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_429_go = 10'h1ad == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_430_go = 10'h1ae == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_431_go = 10'h1af == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_432_go = 10'h1b0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_433_go = 10'h1b1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_434_go = 10'h1b2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_435_go = 10'h1b3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_436_go = 10'h1b4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_437_go = 10'h1b5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_438_go = 10'h1b6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_439_go = 10'h1b7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_440_go = 10'h1b8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_441_go = 10'h1b9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_442_go = 10'h1ba == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_443_go = 10'h1bb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_444_go = 10'h1bc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_445_go = 10'h1bd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_446_go = 10'h1be == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_447_go = 10'h1bf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_448_go = 10'h1c0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_449_go = 10'h1c1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_450_go = 10'h1c2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_451_go = 10'h1c3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_452_go = 10'h1c4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_453_go = 10'h1c5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_454_go = 10'h1c6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_455_go = 10'h1c7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_456_go = 10'h1c8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_457_go = 10'h1c9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_458_go = 10'h1ca == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_459_go = 10'h1cb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_460_go = 10'h1cc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_461_go = 10'h1cd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_462_go = 10'h1ce == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_463_go = 10'h1cf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_464_go = 10'h1d0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_465_go = 10'h1d1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_466_go = 10'h1d2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_467_go = 10'h1d3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_468_go = 10'h1d4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_469_go = 10'h1d5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_470_go = 10'h1d6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_471_go = 10'h1d7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_472_go = 10'h1d8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_473_go = 10'h1d9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_474_go = 10'h1da == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_475_go = 10'h1db == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_476_go = 10'h1dc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_477_go = 10'h1dd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_478_go = 10'h1de == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_479_go = 10'h1df == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_480_go = 10'h1e0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_481_go = 10'h1e1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_482_go = 10'h1e2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_483_go = 10'h1e3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_484_go = 10'h1e4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_485_go = 10'h1e5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_486_go = 10'h1e6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_487_go = 10'h1e7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_488_go = 10'h1e8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_489_go = 10'h1e9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_490_go = 10'h1ea == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_491_go = 10'h1eb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_492_go = 10'h1ec == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_493_go = 10'h1ed == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_494_go = 10'h1ee == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_495_go = 10'h1ef == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_496_go = 10'h1f0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_497_go = 10'h1f1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_498_go = 10'h1f2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_499_go = 10'h1f3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_500_go = 10'h1f4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_501_go = 10'h1f5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_502_go = 10'h1f6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_503_go = 10'h1f7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_504_go = 10'h1f8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_505_go = 10'h1f9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_506_go = 10'h1fa == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_507_go = 10'h1fb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_508_go = 10'h1fc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_509_go = 10'h1fd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_510_go = 10'h1fe == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_511_go = 10'h1ff == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_512_go = 10'h200 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_513_go = 10'h201 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_514_go = 10'h202 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_515_go = 10'h203 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_516_go = 10'h204 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_517_go = 10'h205 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_518_go = 10'h206 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_519_go = 10'h207 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_520_go = 10'h208 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_521_go = 10'h209 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_522_go = 10'h20a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_523_go = 10'h20b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_524_go = 10'h20c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_525_go = 10'h20d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_526_go = 10'h20e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_527_go = 10'h20f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_528_go = 10'h210 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_529_go = 10'h211 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_530_go = 10'h212 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_531_go = 10'h213 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_532_go = 10'h214 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_533_go = 10'h215 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_534_go = 10'h216 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_535_go = 10'h217 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_536_go = 10'h218 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_537_go = 10'h219 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_538_go = 10'h21a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_539_go = 10'h21b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_540_go = 10'h21c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_541_go = 10'h21d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_542_go = 10'h21e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_543_go = 10'h21f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_544_go = 10'h220 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_545_go = 10'h221 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_546_go = 10'h222 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_547_go = 10'h223 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_548_go = 10'h224 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_549_go = 10'h225 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_550_go = 10'h226 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_551_go = 10'h227 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_552_go = 10'h228 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_553_go = 10'h229 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_554_go = 10'h22a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_555_go = 10'h22b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_556_go = 10'h22c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_557_go = 10'h22d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_558_go = 10'h22e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_559_go = 10'h22f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_560_go = 10'h230 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_561_go = 10'h231 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_562_go = 10'h232 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_563_go = 10'h233 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_564_go = 10'h234 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_565_go = 10'h235 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_566_go = 10'h236 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_567_go = 10'h237 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_568_go = 10'h238 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_569_go = 10'h239 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_570_go = 10'h23a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_571_go = 10'h23b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_572_go = 10'h23c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_573_go = 10'h23d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_574_go = 10'h23e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_575_go = 10'h23f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_576_go = 10'h240 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_577_go = 10'h241 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_578_go = 10'h242 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_579_go = 10'h243 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_580_go = 10'h244 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_581_go = 10'h245 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_582_go = 10'h246 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_583_go = 10'h247 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_584_go = 10'h248 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_585_go = 10'h249 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_586_go = 10'h24a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_587_go = 10'h24b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_588_go = 10'h24c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_589_go = 10'h24d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_590_go = 10'h24e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_591_go = 10'h24f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_592_go = 10'h250 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_593_go = 10'h251 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_594_go = 10'h252 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_595_go = 10'h253 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_596_go = 10'h254 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_597_go = 10'h255 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_598_go = 10'h256 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_599_go = 10'h257 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_600_go = 10'h258 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_601_go = 10'h259 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_602_go = 10'h25a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_603_go = 10'h25b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_604_go = 10'h25c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_605_go = 10'h25d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_606_go = 10'h25e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_607_go = 10'h25f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_608_go = 10'h260 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_609_go = 10'h261 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_610_go = 10'h262 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_611_go = 10'h263 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_612_go = 10'h264 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_613_go = 10'h265 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_614_go = 10'h266 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_615_go = 10'h267 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_616_go = 10'h268 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_617_go = 10'h269 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_618_go = 10'h26a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_619_go = 10'h26b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_620_go = 10'h26c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_621_go = 10'h26d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_622_go = 10'h26e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_623_go = 10'h26f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_624_go = 10'h270 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_625_go = 10'h271 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_626_go = 10'h272 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_627_go = 10'h273 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_628_go = 10'h274 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_629_go = 10'h275 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_630_go = 10'h276 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_631_go = 10'h277 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_632_go = 10'h278 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_633_go = 10'h279 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_634_go = 10'h27a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_635_go = 10'h27b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_636_go = 10'h27c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_637_go = 10'h27d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_638_go = 10'h27e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_639_go = 10'h27f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_640_go = 10'h280 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_641_go = 10'h281 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_642_go = 10'h282 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_643_go = 10'h283 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_644_go = 10'h284 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_645_go = 10'h285 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_646_go = 10'h286 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_647_go = 10'h287 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_648_go = 10'h288 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_649_go = 10'h289 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_650_go = 10'h28a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_651_go = 10'h28b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_652_go = 10'h28c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_653_go = 10'h28d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_654_go = 10'h28e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_655_go = 10'h28f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_656_go = 10'h290 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_657_go = 10'h291 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_658_go = 10'h292 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_659_go = 10'h293 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_660_go = 10'h294 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_661_go = 10'h295 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_662_go = 10'h296 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_663_go = 10'h297 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_664_go = 10'h298 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_665_go = 10'h299 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_666_go = 10'h29a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_667_go = 10'h29b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_668_go = 10'h29c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_669_go = 10'h29d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_670_go = 10'h29e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_671_go = 10'h29f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_672_go = 10'h2a0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_673_go = 10'h2a1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_674_go = 10'h2a2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_675_go = 10'h2a3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_676_go = 10'h2a4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_677_go = 10'h2a5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_678_go = 10'h2a6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_679_go = 10'h2a7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_680_go = 10'h2a8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_681_go = 10'h2a9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_682_go = 10'h2aa == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_683_go = 10'h2ab == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_684_go = 10'h2ac == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_685_go = 10'h2ad == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_686_go = 10'h2ae == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_687_go = 10'h2af == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_688_go = 10'h2b0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_689_go = 10'h2b1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_690_go = 10'h2b2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_691_go = 10'h2b3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_692_go = 10'h2b4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_693_go = 10'h2b5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_694_go = 10'h2b6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_695_go = 10'h2b7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_696_go = 10'h2b8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_697_go = 10'h2b9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_698_go = 10'h2ba == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_699_go = 10'h2bb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_700_go = 10'h2bc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_701_go = 10'h2bd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_702_go = 10'h2be == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_703_go = 10'h2bf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_704_go = 10'h2c0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_705_go = 10'h2c1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_706_go = 10'h2c2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_707_go = 10'h2c3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_708_go = 10'h2c4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_709_go = 10'h2c5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_710_go = 10'h2c6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_711_go = 10'h2c7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_712_go = 10'h2c8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_713_go = 10'h2c9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_714_go = 10'h2ca == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_715_go = 10'h2cb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_716_go = 10'h2cc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_717_go = 10'h2cd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_718_go = 10'h2ce == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_719_go = 10'h2cf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_720_go = 10'h2d0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_721_go = 10'h2d1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_722_go = 10'h2d2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_723_go = 10'h2d3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_724_go = 10'h2d4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_725_go = 10'h2d5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_726_go = 10'h2d6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_727_go = 10'h2d7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_728_go = 10'h2d8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_729_go = 10'h2d9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_730_go = 10'h2da == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_731_go = 10'h2db == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_732_go = 10'h2dc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_733_go = 10'h2dd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_734_go = 10'h2de == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_735_go = 10'h2df == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_736_go = 10'h2e0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_737_go = 10'h2e1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_738_go = 10'h2e2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_739_go = 10'h2e3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_740_go = 10'h2e4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_741_go = 10'h2e5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_742_go = 10'h2e6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_743_go = 10'h2e7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_744_go = 10'h2e8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_745_go = 10'h2e9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_746_go = 10'h2ea == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_747_go = 10'h2eb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_748_go = 10'h2ec == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_749_go = 10'h2ed == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_750_go = 10'h2ee == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_751_go = 10'h2ef == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_752_go = 10'h2f0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_753_go = 10'h2f1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_754_go = 10'h2f2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_755_go = 10'h2f3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_756_go = 10'h2f4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_757_go = 10'h2f5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_758_go = 10'h2f6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_759_go = 10'h2f7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_760_go = 10'h2f8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_761_go = 10'h2f9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_762_go = 10'h2fa == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_763_go = 10'h2fb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_764_go = 10'h2fc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_765_go = 10'h2fd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_766_go = 10'h2fe == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_767_go = 10'h2ff == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_768_go = 10'h300 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_769_go = 10'h301 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_770_go = 10'h302 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_771_go = 10'h303 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_772_go = 10'h304 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_773_go = 10'h305 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_774_go = 10'h306 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_775_go = 10'h307 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_776_go = 10'h308 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_777_go = 10'h309 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_778_go = 10'h30a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_779_go = 10'h30b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_780_go = 10'h30c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_781_go = 10'h30d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_782_go = 10'h30e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_783_go = 10'h30f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_784_go = 10'h310 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_785_go = 10'h311 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_786_go = 10'h312 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_787_go = 10'h313 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_788_go = 10'h314 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_789_go = 10'h315 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_790_go = 10'h316 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_791_go = 10'h317 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_792_go = 10'h318 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_793_go = 10'h319 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_794_go = 10'h31a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_795_go = 10'h31b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_796_go = 10'h31c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_797_go = 10'h31d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_798_go = 10'h31e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_799_go = 10'h31f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_800_go = 10'h320 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_801_go = 10'h321 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_802_go = 10'h322 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_803_go = 10'h323 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_804_go = 10'h324 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_805_go = 10'h325 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_806_go = 10'h326 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_807_go = 10'h327 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_808_go = 10'h328 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_809_go = 10'h329 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_810_go = 10'h32a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_811_go = 10'h32b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_812_go = 10'h32c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_813_go = 10'h32d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_814_go = 10'h32e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_815_go = 10'h32f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_816_go = 10'h330 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_817_go = 10'h331 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_818_go = 10'h332 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_819_go = 10'h333 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_820_go = 10'h334 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_821_go = 10'h335 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_822_go = 10'h336 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_823_go = 10'h337 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_824_go = 10'h338 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_825_go = 10'h339 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_826_go = 10'h33a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_827_go = 10'h33b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_828_go = 10'h33c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_829_go = 10'h33d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_830_go = 10'h33e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_831_go = 10'h33f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_832_go = 10'h340 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_833_go = 10'h341 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_834_go = 10'h342 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_835_go = 10'h343 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_836_go = 10'h344 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_837_go = 10'h345 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_838_go = 10'h346 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_839_go = 10'h347 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_840_go = 10'h348 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_841_go = 10'h349 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_842_go = 10'h34a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_843_go = 10'h34b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_844_go = 10'h34c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_845_go = 10'h34d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_846_go = 10'h34e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_847_go = 10'h34f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_848_go = 10'h350 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_849_go = 10'h351 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_850_go = 10'h352 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_851_go = 10'h353 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_852_go = 10'h354 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_853_go = 10'h355 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_854_go = 10'h356 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_855_go = 10'h357 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_856_go = 10'h358 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_857_go = 10'h359 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_858_go = 10'h35a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_859_go = 10'h35b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_860_go = 10'h35c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_861_go = 10'h35d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_862_go = 10'h35e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_863_go = 10'h35f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_864_go = 10'h360 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_865_go = 10'h361 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_866_go = 10'h362 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_867_go = 10'h363 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_868_go = 10'h364 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_869_go = 10'h365 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_870_go = 10'h366 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_871_go = 10'h367 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_872_go = 10'h368 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_873_go = 10'h369 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_874_go = 10'h36a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_875_go = 10'h36b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_876_go = 10'h36c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_877_go = 10'h36d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_878_go = 10'h36e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_879_go = 10'h36f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_880_go = 10'h370 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_881_go = 10'h371 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_882_go = 10'h372 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_883_go = 10'h373 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_884_go = 10'h374 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_885_go = 10'h375 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_886_go = 10'h376 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_887_go = 10'h377 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_888_go = 10'h378 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_889_go = 10'h379 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_890_go = 10'h37a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_891_go = 10'h37b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_892_go = 10'h37c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_893_go = 10'h37d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_894_go = 10'h37e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_895_go = 10'h37f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_896_go = 10'h380 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_897_go = 10'h381 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_898_go = 10'h382 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_899_go = 10'h383 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_900_go = 10'h384 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_901_go = 10'h385 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_902_go = 10'h386 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_903_go = 10'h387 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_904_go = 10'h388 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_905_go = 10'h389 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_906_go = 10'h38a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_907_go = 10'h38b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_908_go = 10'h38c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_909_go = 10'h38d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_910_go = 10'h38e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_911_go = 10'h38f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_912_go = 10'h390 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_913_go = 10'h391 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_914_go = 10'h392 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_915_go = 10'h393 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_916_go = 10'h394 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_917_go = 10'h395 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_918_go = 10'h396 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_919_go = 10'h397 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_920_go = 10'h398 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_921_go = 10'h399 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_922_go = 10'h39a == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_923_go = 10'h39b == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_924_go = 10'h39c == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_925_go = 10'h39d == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_926_go = 10'h39e == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_927_go = 10'h39f == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_928_go = 10'h3a0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_929_go = 10'h3a1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_930_go = 10'h3a2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_931_go = 10'h3a3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_932_go = 10'h3a4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_933_go = 10'h3a5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_934_go = 10'h3a6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_935_go = 10'h3a7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_936_go = 10'h3a8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_937_go = 10'h3a9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_938_go = 10'h3aa == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_939_go = 10'h3ab == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_940_go = 10'h3ac == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_941_go = 10'h3ad == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_942_go = 10'h3ae == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_943_go = 10'h3af == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_944_go = 10'h3b0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_945_go = 10'h3b1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_946_go = 10'h3b2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_947_go = 10'h3b3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_948_go = 10'h3b4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_949_go = 10'h3b5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_950_go = 10'h3b6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_951_go = 10'h3b7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_952_go = 10'h3b8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_953_go = 10'h3b9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_954_go = 10'h3ba == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_955_go = 10'h3bb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_956_go = 10'h3bc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_957_go = 10'h3bd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_958_go = 10'h3be == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_959_go = 10'h3bf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_960_go = 10'h3c0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_961_go = 10'h3c1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_962_go = 10'h3c2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_963_go = 10'h3c3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_964_go = 10'h3c4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_965_go = 10'h3c5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_966_go = 10'h3c6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_967_go = 10'h3c7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_968_go = 10'h3c8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_969_go = 10'h3c9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_970_go = 10'h3ca == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_971_go = 10'h3cb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_972_go = 10'h3cc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_973_go = 10'h3cd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_974_go = 10'h3ce == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_975_go = 10'h3cf == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_976_go = 10'h3d0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_977_go = 10'h3d1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_978_go = 10'h3d2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_979_go = 10'h3d3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_980_go = 10'h3d4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_981_go = 10'h3d5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_982_go = 10'h3d6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_983_go = 10'h3d7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_984_go = 10'h3d8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_985_go = 10'h3d9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_986_go = 10'h3da == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_987_go = 10'h3db == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_988_go = 10'h3dc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_989_go = 10'h3dd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_990_go = 10'h3de == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_991_go = 10'h3df == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_992_go = 10'h3e0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_993_go = 10'h3e1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_994_go = 10'h3e2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_995_go = 10'h3e3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_996_go = 10'h3e4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_997_go = 10'h3e5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_998_go = 10'h3e6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_999_go = 10'h3e7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_1000_go = 10'h3e8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_1001_go = 10'h3e9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_1002_go = 10'h3ea == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_1003_go = 10'h3eb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_1004_go = 10'h3ec == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_1005_go = 10'h3ed == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_1006_go = 10'h3ee == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_1007_go = 10'h3ef == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_1008_go = 10'h3f0 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_1009_go = 10'h3f1 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_1010_go = 10'h3f2 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_1011_go = 10'h3f3 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_1012_go = 10'h3f4 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_1013_go = 10'h3f5 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_1014_go = 10'h3f6 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_1015_go = 10'h3f7 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_1016_go = 10'h3f8 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_1017_go = 10'h3f9 == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_1018_go = 10'h3fa == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_1019_go = 10'h3fb == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_1020_go = 10'h3fc == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_1021_go = 10'h3fd == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_1022_go = 10'h3fe == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign flags_1023_go = 10'h3ff == selectedHartReg ? goReg : 1'h0; // @[Debug.scala 780:61:shc.marmotcaravel.MarmotCaravelConfig.fir@133643.4]
  assign accessRegisterCommandReg_postexec = _T_20900[18]; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@133687.4]
  assign accessRegisterCommandReg_size = _T_20900[22:20]; // @[Debug.scala 791:86:shc.marmotcaravel.MarmotCaravelConfig.fir@133691.4]
  assign _T_20934 = accessRegisterCommandReg_regno & 16'h1f; // @[Debug.scala 840:66:shc.marmotcaravel.MarmotCaravelConfig.fir@133723.4]
  assign abstractGeneratedI_rd = _T_20934[4:0]; // @[Debug.scala 835:34:shc.marmotcaravel.MarmotCaravelConfig.fir@133701.4 Debug.scala 840:31:shc.marmotcaravel.MarmotCaravelConfig.fir@133724.4]
  assign _T_20957 = {abstractGeneratedI_rd,7'h3}; // @[Debug.scala 861:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133772.6]
  assign _T_20959 = {17'h7000,accessRegisterCommandReg_size}; // @[Debug.scala 861:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133774.6]
  assign _T_20960 = {_T_20959,_T_20957}; // @[Debug.scala 861:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133775.6]
  assign _T_20961 = {accessRegisterCommandReg_size,5'h0}; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133776.6]
  assign _T_20962 = {_T_20961,7'h23}; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133777.6]
  assign _T_20963 = {7'h1c,abstractGeneratedI_rd}; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133778.6]
  assign _T_20964 = {_T_20963,5'h0}; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133779.6]
  assign _T_20965 = {_T_20964,_T_20962}; // @[Debug.scala 863:36:shc.marmotcaravel.MarmotCaravelConfig.fir@133780.6]
  assign _T_20982 = {6'h0,resumeReqRegs_0}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133800.4]
  assign _T_20983 = {_T_20982,flags_0_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133801.4]
  assign _T_20985 = {7'h0,flags_1_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133803.4]
  assign _T_20987 = {7'h0,flags_2_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133805.4]
  assign _T_20989 = {7'h0,flags_3_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133807.4]
  assign _T_20991 = {7'h0,flags_4_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133809.4]
  assign _T_20993 = {7'h0,flags_5_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133811.4]
  assign _T_20995 = {7'h0,flags_6_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133813.4]
  assign _T_20997 = {7'h0,flags_7_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133815.4]
  assign _T_20999 = {7'h0,flags_8_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133817.4]
  assign _T_21001 = {7'h0,flags_9_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133819.4]
  assign _T_21003 = {7'h0,flags_10_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133821.4]
  assign _T_21005 = {7'h0,flags_11_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133823.4]
  assign _T_21007 = {7'h0,flags_12_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133825.4]
  assign _T_21009 = {7'h0,flags_13_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133827.4]
  assign _T_21011 = {7'h0,flags_14_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133829.4]
  assign _T_21013 = {7'h0,flags_15_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133831.4]
  assign _T_21015 = {7'h0,flags_16_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133833.4]
  assign _T_21017 = {7'h0,flags_17_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133835.4]
  assign _T_21019 = {7'h0,flags_18_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133837.4]
  assign _T_21021 = {7'h0,flags_19_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133839.4]
  assign _T_21023 = {7'h0,flags_20_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133841.4]
  assign _T_21025 = {7'h0,flags_21_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133843.4]
  assign _T_21027 = {7'h0,flags_22_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133845.4]
  assign _T_21029 = {7'h0,flags_23_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133847.4]
  assign _T_21031 = {7'h0,flags_24_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133849.4]
  assign _T_21033 = {7'h0,flags_25_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133851.4]
  assign _T_21035 = {7'h0,flags_26_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133853.4]
  assign _T_21037 = {7'h0,flags_27_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133855.4]
  assign _T_21039 = {7'h0,flags_28_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133857.4]
  assign _T_21041 = {7'h0,flags_29_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133859.4]
  assign _T_21043 = {7'h0,flags_30_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133861.4]
  assign _T_21045 = {7'h0,flags_31_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133863.4]
  assign _T_21047 = {7'h0,flags_32_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133865.4]
  assign _T_21049 = {7'h0,flags_33_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133867.4]
  assign _T_21051 = {7'h0,flags_34_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133869.4]
  assign _T_21053 = {7'h0,flags_35_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133871.4]
  assign _T_21055 = {7'h0,flags_36_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133873.4]
  assign _T_21057 = {7'h0,flags_37_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133875.4]
  assign _T_21059 = {7'h0,flags_38_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133877.4]
  assign _T_21061 = {7'h0,flags_39_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133879.4]
  assign _T_21063 = {7'h0,flags_40_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133881.4]
  assign _T_21065 = {7'h0,flags_41_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133883.4]
  assign _T_21067 = {7'h0,flags_42_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133885.4]
  assign _T_21069 = {7'h0,flags_43_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133887.4]
  assign _T_21071 = {7'h0,flags_44_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133889.4]
  assign _T_21073 = {7'h0,flags_45_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133891.4]
  assign _T_21075 = {7'h0,flags_46_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133893.4]
  assign _T_21077 = {7'h0,flags_47_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133895.4]
  assign _T_21079 = {7'h0,flags_48_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133897.4]
  assign _T_21081 = {7'h0,flags_49_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133899.4]
  assign _T_21083 = {7'h0,flags_50_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133901.4]
  assign _T_21085 = {7'h0,flags_51_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133903.4]
  assign _T_21087 = {7'h0,flags_52_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133905.4]
  assign _T_21089 = {7'h0,flags_53_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133907.4]
  assign _T_21091 = {7'h0,flags_54_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133909.4]
  assign _T_21093 = {7'h0,flags_55_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133911.4]
  assign _T_21095 = {7'h0,flags_56_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133913.4]
  assign _T_21097 = {7'h0,flags_57_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133915.4]
  assign _T_21099 = {7'h0,flags_58_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133917.4]
  assign _T_21101 = {7'h0,flags_59_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133919.4]
  assign _T_21103 = {7'h0,flags_60_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133921.4]
  assign _T_21105 = {7'h0,flags_61_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133923.4]
  assign _T_21107 = {7'h0,flags_62_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133925.4]
  assign _T_21109 = {7'h0,flags_63_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133927.4]
  assign _T_21111 = {7'h0,flags_64_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133929.4]
  assign _T_21113 = {7'h0,flags_65_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133931.4]
  assign _T_21115 = {7'h0,flags_66_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133933.4]
  assign _T_21117 = {7'h0,flags_67_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133935.4]
  assign _T_21119 = {7'h0,flags_68_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133937.4]
  assign _T_21121 = {7'h0,flags_69_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133939.4]
  assign _T_21123 = {7'h0,flags_70_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133941.4]
  assign _T_21125 = {7'h0,flags_71_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133943.4]
  assign _T_21127 = {7'h0,flags_72_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133945.4]
  assign _T_21129 = {7'h0,flags_73_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133947.4]
  assign _T_21131 = {7'h0,flags_74_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133949.4]
  assign _T_21133 = {7'h0,flags_75_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133951.4]
  assign _T_21135 = {7'h0,flags_76_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133953.4]
  assign _T_21137 = {7'h0,flags_77_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133955.4]
  assign _T_21139 = {7'h0,flags_78_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133957.4]
  assign _T_21141 = {7'h0,flags_79_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133959.4]
  assign _T_21143 = {7'h0,flags_80_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133961.4]
  assign _T_21145 = {7'h0,flags_81_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133963.4]
  assign _T_21147 = {7'h0,flags_82_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133965.4]
  assign _T_21149 = {7'h0,flags_83_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133967.4]
  assign _T_21151 = {7'h0,flags_84_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133969.4]
  assign _T_21153 = {7'h0,flags_85_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133971.4]
  assign _T_21155 = {7'h0,flags_86_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133973.4]
  assign _T_21157 = {7'h0,flags_87_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133975.4]
  assign _T_21159 = {7'h0,flags_88_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133977.4]
  assign _T_21161 = {7'h0,flags_89_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133979.4]
  assign _T_21163 = {7'h0,flags_90_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133981.4]
  assign _T_21165 = {7'h0,flags_91_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133983.4]
  assign _T_21167 = {7'h0,flags_92_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133985.4]
  assign _T_21169 = {7'h0,flags_93_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133987.4]
  assign _T_21171 = {7'h0,flags_94_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133989.4]
  assign _T_21173 = {7'h0,flags_95_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133991.4]
  assign _T_21175 = {7'h0,flags_96_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133993.4]
  assign _T_21177 = {7'h0,flags_97_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133995.4]
  assign _T_21179 = {7'h0,flags_98_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133997.4]
  assign _T_21181 = {7'h0,flags_99_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@133999.4]
  assign _T_21183 = {7'h0,flags_100_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134001.4]
  assign _T_21185 = {7'h0,flags_101_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134003.4]
  assign _T_21187 = {7'h0,flags_102_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134005.4]
  assign _T_21189 = {7'h0,flags_103_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134007.4]
  assign _T_21191 = {7'h0,flags_104_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134009.4]
  assign _T_21193 = {7'h0,flags_105_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134011.4]
  assign _T_21195 = {7'h0,flags_106_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134013.4]
  assign _T_21197 = {7'h0,flags_107_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134015.4]
  assign _T_21199 = {7'h0,flags_108_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134017.4]
  assign _T_21201 = {7'h0,flags_109_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134019.4]
  assign _T_21203 = {7'h0,flags_110_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134021.4]
  assign _T_21205 = {7'h0,flags_111_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134023.4]
  assign _T_21207 = {7'h0,flags_112_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134025.4]
  assign _T_21209 = {7'h0,flags_113_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134027.4]
  assign _T_21211 = {7'h0,flags_114_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134029.4]
  assign _T_21213 = {7'h0,flags_115_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134031.4]
  assign _T_21215 = {7'h0,flags_116_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134033.4]
  assign _T_21217 = {7'h0,flags_117_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134035.4]
  assign _T_21219 = {7'h0,flags_118_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134037.4]
  assign _T_21221 = {7'h0,flags_119_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134039.4]
  assign _T_21223 = {7'h0,flags_120_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134041.4]
  assign _T_21225 = {7'h0,flags_121_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134043.4]
  assign _T_21227 = {7'h0,flags_122_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134045.4]
  assign _T_21229 = {7'h0,flags_123_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134047.4]
  assign _T_21231 = {7'h0,flags_124_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134049.4]
  assign _T_21233 = {7'h0,flags_125_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134051.4]
  assign _T_21235 = {7'h0,flags_126_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134053.4]
  assign _T_21237 = {7'h0,flags_127_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134055.4]
  assign _T_21239 = {7'h0,flags_128_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134057.4]
  assign _T_21241 = {7'h0,flags_129_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134059.4]
  assign _T_21243 = {7'h0,flags_130_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134061.4]
  assign _T_21245 = {7'h0,flags_131_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134063.4]
  assign _T_21247 = {7'h0,flags_132_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134065.4]
  assign _T_21249 = {7'h0,flags_133_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134067.4]
  assign _T_21251 = {7'h0,flags_134_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134069.4]
  assign _T_21253 = {7'h0,flags_135_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134071.4]
  assign _T_21255 = {7'h0,flags_136_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134073.4]
  assign _T_21257 = {7'h0,flags_137_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134075.4]
  assign _T_21259 = {7'h0,flags_138_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134077.4]
  assign _T_21261 = {7'h0,flags_139_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134079.4]
  assign _T_21263 = {7'h0,flags_140_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134081.4]
  assign _T_21265 = {7'h0,flags_141_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134083.4]
  assign _T_21267 = {7'h0,flags_142_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134085.4]
  assign _T_21269 = {7'h0,flags_143_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134087.4]
  assign _T_21271 = {7'h0,flags_144_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134089.4]
  assign _T_21273 = {7'h0,flags_145_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134091.4]
  assign _T_21275 = {7'h0,flags_146_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134093.4]
  assign _T_21277 = {7'h0,flags_147_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134095.4]
  assign _T_21279 = {7'h0,flags_148_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134097.4]
  assign _T_21281 = {7'h0,flags_149_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134099.4]
  assign _T_21283 = {7'h0,flags_150_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134101.4]
  assign _T_21285 = {7'h0,flags_151_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134103.4]
  assign _T_21287 = {7'h0,flags_152_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134105.4]
  assign _T_21289 = {7'h0,flags_153_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134107.4]
  assign _T_21291 = {7'h0,flags_154_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134109.4]
  assign _T_21293 = {7'h0,flags_155_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134111.4]
  assign _T_21295 = {7'h0,flags_156_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134113.4]
  assign _T_21297 = {7'h0,flags_157_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134115.4]
  assign _T_21299 = {7'h0,flags_158_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134117.4]
  assign _T_21301 = {7'h0,flags_159_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134119.4]
  assign _T_21303 = {7'h0,flags_160_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134121.4]
  assign _T_21305 = {7'h0,flags_161_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134123.4]
  assign _T_21307 = {7'h0,flags_162_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134125.4]
  assign _T_21309 = {7'h0,flags_163_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134127.4]
  assign _T_21311 = {7'h0,flags_164_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134129.4]
  assign _T_21313 = {7'h0,flags_165_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134131.4]
  assign _T_21315 = {7'h0,flags_166_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134133.4]
  assign _T_21317 = {7'h0,flags_167_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134135.4]
  assign _T_21319 = {7'h0,flags_168_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134137.4]
  assign _T_21321 = {7'h0,flags_169_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134139.4]
  assign _T_21323 = {7'h0,flags_170_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134141.4]
  assign _T_21325 = {7'h0,flags_171_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134143.4]
  assign _T_21327 = {7'h0,flags_172_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134145.4]
  assign _T_21329 = {7'h0,flags_173_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134147.4]
  assign _T_21331 = {7'h0,flags_174_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134149.4]
  assign _T_21333 = {7'h0,flags_175_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134151.4]
  assign _T_21335 = {7'h0,flags_176_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134153.4]
  assign _T_21337 = {7'h0,flags_177_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134155.4]
  assign _T_21339 = {7'h0,flags_178_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134157.4]
  assign _T_21341 = {7'h0,flags_179_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134159.4]
  assign _T_21343 = {7'h0,flags_180_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134161.4]
  assign _T_21345 = {7'h0,flags_181_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134163.4]
  assign _T_21347 = {7'h0,flags_182_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134165.4]
  assign _T_21349 = {7'h0,flags_183_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134167.4]
  assign _T_21351 = {7'h0,flags_184_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134169.4]
  assign _T_21353 = {7'h0,flags_185_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134171.4]
  assign _T_21355 = {7'h0,flags_186_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134173.4]
  assign _T_21357 = {7'h0,flags_187_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134175.4]
  assign _T_21359 = {7'h0,flags_188_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134177.4]
  assign _T_21361 = {7'h0,flags_189_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134179.4]
  assign _T_21363 = {7'h0,flags_190_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134181.4]
  assign _T_21365 = {7'h0,flags_191_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134183.4]
  assign _T_21367 = {7'h0,flags_192_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134185.4]
  assign _T_21369 = {7'h0,flags_193_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134187.4]
  assign _T_21371 = {7'h0,flags_194_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134189.4]
  assign _T_21373 = {7'h0,flags_195_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134191.4]
  assign _T_21375 = {7'h0,flags_196_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134193.4]
  assign _T_21377 = {7'h0,flags_197_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134195.4]
  assign _T_21379 = {7'h0,flags_198_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134197.4]
  assign _T_21381 = {7'h0,flags_199_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134199.4]
  assign _T_21383 = {7'h0,flags_200_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134201.4]
  assign _T_21385 = {7'h0,flags_201_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134203.4]
  assign _T_21387 = {7'h0,flags_202_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134205.4]
  assign _T_21389 = {7'h0,flags_203_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134207.4]
  assign _T_21391 = {7'h0,flags_204_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134209.4]
  assign _T_21393 = {7'h0,flags_205_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134211.4]
  assign _T_21395 = {7'h0,flags_206_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134213.4]
  assign _T_21397 = {7'h0,flags_207_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134215.4]
  assign _T_21399 = {7'h0,flags_208_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134217.4]
  assign _T_21401 = {7'h0,flags_209_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134219.4]
  assign _T_21403 = {7'h0,flags_210_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134221.4]
  assign _T_21405 = {7'h0,flags_211_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134223.4]
  assign _T_21407 = {7'h0,flags_212_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134225.4]
  assign _T_21409 = {7'h0,flags_213_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134227.4]
  assign _T_21411 = {7'h0,flags_214_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134229.4]
  assign _T_21413 = {7'h0,flags_215_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134231.4]
  assign _T_21415 = {7'h0,flags_216_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134233.4]
  assign _T_21417 = {7'h0,flags_217_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134235.4]
  assign _T_21419 = {7'h0,flags_218_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134237.4]
  assign _T_21421 = {7'h0,flags_219_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134239.4]
  assign _T_21423 = {7'h0,flags_220_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134241.4]
  assign _T_21425 = {7'h0,flags_221_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134243.4]
  assign _T_21427 = {7'h0,flags_222_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134245.4]
  assign _T_21429 = {7'h0,flags_223_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134247.4]
  assign _T_21431 = {7'h0,flags_224_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134249.4]
  assign _T_21433 = {7'h0,flags_225_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134251.4]
  assign _T_21435 = {7'h0,flags_226_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134253.4]
  assign _T_21437 = {7'h0,flags_227_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134255.4]
  assign _T_21439 = {7'h0,flags_228_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134257.4]
  assign _T_21441 = {7'h0,flags_229_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134259.4]
  assign _T_21443 = {7'h0,flags_230_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134261.4]
  assign _T_21445 = {7'h0,flags_231_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134263.4]
  assign _T_21447 = {7'h0,flags_232_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134265.4]
  assign _T_21449 = {7'h0,flags_233_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134267.4]
  assign _T_21451 = {7'h0,flags_234_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134269.4]
  assign _T_21453 = {7'h0,flags_235_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134271.4]
  assign _T_21455 = {7'h0,flags_236_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134273.4]
  assign _T_21457 = {7'h0,flags_237_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134275.4]
  assign _T_21459 = {7'h0,flags_238_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134277.4]
  assign _T_21461 = {7'h0,flags_239_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134279.4]
  assign _T_21463 = {7'h0,flags_240_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134281.4]
  assign _T_21465 = {7'h0,flags_241_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134283.4]
  assign _T_21467 = {7'h0,flags_242_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134285.4]
  assign _T_21469 = {7'h0,flags_243_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134287.4]
  assign _T_21471 = {7'h0,flags_244_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134289.4]
  assign _T_21473 = {7'h0,flags_245_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134291.4]
  assign _T_21475 = {7'h0,flags_246_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134293.4]
  assign _T_21477 = {7'h0,flags_247_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134295.4]
  assign _T_21479 = {7'h0,flags_248_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134297.4]
  assign _T_21481 = {7'h0,flags_249_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134299.4]
  assign _T_21483 = {7'h0,flags_250_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134301.4]
  assign _T_21485 = {7'h0,flags_251_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134303.4]
  assign _T_21487 = {7'h0,flags_252_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134305.4]
  assign _T_21489 = {7'h0,flags_253_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134307.4]
  assign _T_21491 = {7'h0,flags_254_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134309.4]
  assign _T_21493 = {7'h0,flags_255_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134311.4]
  assign _T_21495 = {7'h0,flags_256_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134313.4]
  assign _T_21497 = {7'h0,flags_257_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134315.4]
  assign _T_21499 = {7'h0,flags_258_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134317.4]
  assign _T_21501 = {7'h0,flags_259_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134319.4]
  assign _T_21503 = {7'h0,flags_260_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134321.4]
  assign _T_21505 = {7'h0,flags_261_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134323.4]
  assign _T_21507 = {7'h0,flags_262_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134325.4]
  assign _T_21509 = {7'h0,flags_263_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134327.4]
  assign _T_21511 = {7'h0,flags_264_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134329.4]
  assign _T_21513 = {7'h0,flags_265_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134331.4]
  assign _T_21515 = {7'h0,flags_266_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134333.4]
  assign _T_21517 = {7'h0,flags_267_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134335.4]
  assign _T_21519 = {7'h0,flags_268_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134337.4]
  assign _T_21521 = {7'h0,flags_269_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134339.4]
  assign _T_21523 = {7'h0,flags_270_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134341.4]
  assign _T_21525 = {7'h0,flags_271_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134343.4]
  assign _T_21527 = {7'h0,flags_272_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134345.4]
  assign _T_21529 = {7'h0,flags_273_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134347.4]
  assign _T_21531 = {7'h0,flags_274_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134349.4]
  assign _T_21533 = {7'h0,flags_275_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134351.4]
  assign _T_21535 = {7'h0,flags_276_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134353.4]
  assign _T_21537 = {7'h0,flags_277_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134355.4]
  assign _T_21539 = {7'h0,flags_278_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134357.4]
  assign _T_21541 = {7'h0,flags_279_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134359.4]
  assign _T_21543 = {7'h0,flags_280_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134361.4]
  assign _T_21545 = {7'h0,flags_281_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134363.4]
  assign _T_21547 = {7'h0,flags_282_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134365.4]
  assign _T_21549 = {7'h0,flags_283_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134367.4]
  assign _T_21551 = {7'h0,flags_284_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134369.4]
  assign _T_21553 = {7'h0,flags_285_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134371.4]
  assign _T_21555 = {7'h0,flags_286_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134373.4]
  assign _T_21557 = {7'h0,flags_287_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134375.4]
  assign _T_21559 = {7'h0,flags_288_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134377.4]
  assign _T_21561 = {7'h0,flags_289_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134379.4]
  assign _T_21563 = {7'h0,flags_290_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134381.4]
  assign _T_21565 = {7'h0,flags_291_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134383.4]
  assign _T_21567 = {7'h0,flags_292_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134385.4]
  assign _T_21569 = {7'h0,flags_293_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134387.4]
  assign _T_21571 = {7'h0,flags_294_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134389.4]
  assign _T_21573 = {7'h0,flags_295_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134391.4]
  assign _T_21575 = {7'h0,flags_296_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134393.4]
  assign _T_21577 = {7'h0,flags_297_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134395.4]
  assign _T_21579 = {7'h0,flags_298_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134397.4]
  assign _T_21581 = {7'h0,flags_299_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134399.4]
  assign _T_21583 = {7'h0,flags_300_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134401.4]
  assign _T_21585 = {7'h0,flags_301_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134403.4]
  assign _T_21587 = {7'h0,flags_302_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134405.4]
  assign _T_21589 = {7'h0,flags_303_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134407.4]
  assign _T_21591 = {7'h0,flags_304_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134409.4]
  assign _T_21593 = {7'h0,flags_305_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134411.4]
  assign _T_21595 = {7'h0,flags_306_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134413.4]
  assign _T_21597 = {7'h0,flags_307_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134415.4]
  assign _T_21599 = {7'h0,flags_308_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134417.4]
  assign _T_21601 = {7'h0,flags_309_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134419.4]
  assign _T_21603 = {7'h0,flags_310_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134421.4]
  assign _T_21605 = {7'h0,flags_311_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134423.4]
  assign _T_21607 = {7'h0,flags_312_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134425.4]
  assign _T_21609 = {7'h0,flags_313_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134427.4]
  assign _T_21611 = {7'h0,flags_314_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134429.4]
  assign _T_21613 = {7'h0,flags_315_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134431.4]
  assign _T_21615 = {7'h0,flags_316_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134433.4]
  assign _T_21617 = {7'h0,flags_317_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134435.4]
  assign _T_21619 = {7'h0,flags_318_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134437.4]
  assign _T_21621 = {7'h0,flags_319_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134439.4]
  assign _T_21623 = {7'h0,flags_320_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134441.4]
  assign _T_21625 = {7'h0,flags_321_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134443.4]
  assign _T_21627 = {7'h0,flags_322_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134445.4]
  assign _T_21629 = {7'h0,flags_323_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134447.4]
  assign _T_21631 = {7'h0,flags_324_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134449.4]
  assign _T_21633 = {7'h0,flags_325_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134451.4]
  assign _T_21635 = {7'h0,flags_326_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134453.4]
  assign _T_21637 = {7'h0,flags_327_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134455.4]
  assign _T_21639 = {7'h0,flags_328_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134457.4]
  assign _T_21641 = {7'h0,flags_329_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134459.4]
  assign _T_21643 = {7'h0,flags_330_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134461.4]
  assign _T_21645 = {7'h0,flags_331_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134463.4]
  assign _T_21647 = {7'h0,flags_332_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134465.4]
  assign _T_21649 = {7'h0,flags_333_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134467.4]
  assign _T_21651 = {7'h0,flags_334_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134469.4]
  assign _T_21653 = {7'h0,flags_335_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134471.4]
  assign _T_21655 = {7'h0,flags_336_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134473.4]
  assign _T_21657 = {7'h0,flags_337_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134475.4]
  assign _T_21659 = {7'h0,flags_338_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134477.4]
  assign _T_21661 = {7'h0,flags_339_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134479.4]
  assign _T_21663 = {7'h0,flags_340_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134481.4]
  assign _T_21665 = {7'h0,flags_341_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134483.4]
  assign _T_21667 = {7'h0,flags_342_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134485.4]
  assign _T_21669 = {7'h0,flags_343_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134487.4]
  assign _T_21671 = {7'h0,flags_344_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134489.4]
  assign _T_21673 = {7'h0,flags_345_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134491.4]
  assign _T_21675 = {7'h0,flags_346_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134493.4]
  assign _T_21677 = {7'h0,flags_347_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134495.4]
  assign _T_21679 = {7'h0,flags_348_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134497.4]
  assign _T_21681 = {7'h0,flags_349_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134499.4]
  assign _T_21683 = {7'h0,flags_350_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134501.4]
  assign _T_21685 = {7'h0,flags_351_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134503.4]
  assign _T_21687 = {7'h0,flags_352_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134505.4]
  assign _T_21689 = {7'h0,flags_353_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134507.4]
  assign _T_21691 = {7'h0,flags_354_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134509.4]
  assign _T_21693 = {7'h0,flags_355_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134511.4]
  assign _T_21695 = {7'h0,flags_356_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134513.4]
  assign _T_21697 = {7'h0,flags_357_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134515.4]
  assign _T_21699 = {7'h0,flags_358_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134517.4]
  assign _T_21701 = {7'h0,flags_359_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134519.4]
  assign _T_21703 = {7'h0,flags_360_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134521.4]
  assign _T_21705 = {7'h0,flags_361_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134523.4]
  assign _T_21707 = {7'h0,flags_362_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134525.4]
  assign _T_21709 = {7'h0,flags_363_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134527.4]
  assign _T_21711 = {7'h0,flags_364_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134529.4]
  assign _T_21713 = {7'h0,flags_365_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134531.4]
  assign _T_21715 = {7'h0,flags_366_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134533.4]
  assign _T_21717 = {7'h0,flags_367_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134535.4]
  assign _T_21719 = {7'h0,flags_368_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134537.4]
  assign _T_21721 = {7'h0,flags_369_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134539.4]
  assign _T_21723 = {7'h0,flags_370_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134541.4]
  assign _T_21725 = {7'h0,flags_371_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134543.4]
  assign _T_21727 = {7'h0,flags_372_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134545.4]
  assign _T_21729 = {7'h0,flags_373_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134547.4]
  assign _T_21731 = {7'h0,flags_374_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134549.4]
  assign _T_21733 = {7'h0,flags_375_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134551.4]
  assign _T_21735 = {7'h0,flags_376_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134553.4]
  assign _T_21737 = {7'h0,flags_377_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134555.4]
  assign _T_21739 = {7'h0,flags_378_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134557.4]
  assign _T_21741 = {7'h0,flags_379_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134559.4]
  assign _T_21743 = {7'h0,flags_380_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134561.4]
  assign _T_21745 = {7'h0,flags_381_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134563.4]
  assign _T_21747 = {7'h0,flags_382_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134565.4]
  assign _T_21749 = {7'h0,flags_383_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134567.4]
  assign _T_21751 = {7'h0,flags_384_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134569.4]
  assign _T_21753 = {7'h0,flags_385_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134571.4]
  assign _T_21755 = {7'h0,flags_386_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134573.4]
  assign _T_21757 = {7'h0,flags_387_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134575.4]
  assign _T_21759 = {7'h0,flags_388_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134577.4]
  assign _T_21761 = {7'h0,flags_389_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134579.4]
  assign _T_21763 = {7'h0,flags_390_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134581.4]
  assign _T_21765 = {7'h0,flags_391_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134583.4]
  assign _T_21767 = {7'h0,flags_392_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134585.4]
  assign _T_21769 = {7'h0,flags_393_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134587.4]
  assign _T_21771 = {7'h0,flags_394_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134589.4]
  assign _T_21773 = {7'h0,flags_395_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134591.4]
  assign _T_21775 = {7'h0,flags_396_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134593.4]
  assign _T_21777 = {7'h0,flags_397_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134595.4]
  assign _T_21779 = {7'h0,flags_398_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134597.4]
  assign _T_21781 = {7'h0,flags_399_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134599.4]
  assign _T_21783 = {7'h0,flags_400_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134601.4]
  assign _T_21785 = {7'h0,flags_401_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134603.4]
  assign _T_21787 = {7'h0,flags_402_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134605.4]
  assign _T_21789 = {7'h0,flags_403_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134607.4]
  assign _T_21791 = {7'h0,flags_404_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134609.4]
  assign _T_21793 = {7'h0,flags_405_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134611.4]
  assign _T_21795 = {7'h0,flags_406_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134613.4]
  assign _T_21797 = {7'h0,flags_407_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134615.4]
  assign _T_21799 = {7'h0,flags_408_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134617.4]
  assign _T_21801 = {7'h0,flags_409_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134619.4]
  assign _T_21803 = {7'h0,flags_410_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134621.4]
  assign _T_21805 = {7'h0,flags_411_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134623.4]
  assign _T_21807 = {7'h0,flags_412_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134625.4]
  assign _T_21809 = {7'h0,flags_413_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134627.4]
  assign _T_21811 = {7'h0,flags_414_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134629.4]
  assign _T_21813 = {7'h0,flags_415_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134631.4]
  assign _T_21815 = {7'h0,flags_416_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134633.4]
  assign _T_21817 = {7'h0,flags_417_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134635.4]
  assign _T_21819 = {7'h0,flags_418_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134637.4]
  assign _T_21821 = {7'h0,flags_419_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134639.4]
  assign _T_21823 = {7'h0,flags_420_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134641.4]
  assign _T_21825 = {7'h0,flags_421_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134643.4]
  assign _T_21827 = {7'h0,flags_422_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134645.4]
  assign _T_21829 = {7'h0,flags_423_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134647.4]
  assign _T_21831 = {7'h0,flags_424_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134649.4]
  assign _T_21833 = {7'h0,flags_425_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134651.4]
  assign _T_21835 = {7'h0,flags_426_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134653.4]
  assign _T_21837 = {7'h0,flags_427_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134655.4]
  assign _T_21839 = {7'h0,flags_428_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134657.4]
  assign _T_21841 = {7'h0,flags_429_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134659.4]
  assign _T_21843 = {7'h0,flags_430_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134661.4]
  assign _T_21845 = {7'h0,flags_431_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134663.4]
  assign _T_21847 = {7'h0,flags_432_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134665.4]
  assign _T_21849 = {7'h0,flags_433_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134667.4]
  assign _T_21851 = {7'h0,flags_434_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134669.4]
  assign _T_21853 = {7'h0,flags_435_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134671.4]
  assign _T_21855 = {7'h0,flags_436_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134673.4]
  assign _T_21857 = {7'h0,flags_437_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134675.4]
  assign _T_21859 = {7'h0,flags_438_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134677.4]
  assign _T_21861 = {7'h0,flags_439_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134679.4]
  assign _T_21863 = {7'h0,flags_440_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134681.4]
  assign _T_21865 = {7'h0,flags_441_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134683.4]
  assign _T_21867 = {7'h0,flags_442_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134685.4]
  assign _T_21869 = {7'h0,flags_443_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134687.4]
  assign _T_21871 = {7'h0,flags_444_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134689.4]
  assign _T_21873 = {7'h0,flags_445_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134691.4]
  assign _T_21875 = {7'h0,flags_446_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134693.4]
  assign _T_21877 = {7'h0,flags_447_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134695.4]
  assign _T_21879 = {7'h0,flags_448_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134697.4]
  assign _T_21881 = {7'h0,flags_449_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134699.4]
  assign _T_21883 = {7'h0,flags_450_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134701.4]
  assign _T_21885 = {7'h0,flags_451_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134703.4]
  assign _T_21887 = {7'h0,flags_452_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134705.4]
  assign _T_21889 = {7'h0,flags_453_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134707.4]
  assign _T_21891 = {7'h0,flags_454_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134709.4]
  assign _T_21893 = {7'h0,flags_455_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134711.4]
  assign _T_21895 = {7'h0,flags_456_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134713.4]
  assign _T_21897 = {7'h0,flags_457_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134715.4]
  assign _T_21899 = {7'h0,flags_458_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134717.4]
  assign _T_21901 = {7'h0,flags_459_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134719.4]
  assign _T_21903 = {7'h0,flags_460_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134721.4]
  assign _T_21905 = {7'h0,flags_461_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134723.4]
  assign _T_21907 = {7'h0,flags_462_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134725.4]
  assign _T_21909 = {7'h0,flags_463_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134727.4]
  assign _T_21911 = {7'h0,flags_464_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134729.4]
  assign _T_21913 = {7'h0,flags_465_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134731.4]
  assign _T_21915 = {7'h0,flags_466_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134733.4]
  assign _T_21917 = {7'h0,flags_467_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134735.4]
  assign _T_21919 = {7'h0,flags_468_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134737.4]
  assign _T_21921 = {7'h0,flags_469_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134739.4]
  assign _T_21923 = {7'h0,flags_470_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134741.4]
  assign _T_21925 = {7'h0,flags_471_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134743.4]
  assign _T_21927 = {7'h0,flags_472_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134745.4]
  assign _T_21929 = {7'h0,flags_473_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134747.4]
  assign _T_21931 = {7'h0,flags_474_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134749.4]
  assign _T_21933 = {7'h0,flags_475_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134751.4]
  assign _T_21935 = {7'h0,flags_476_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134753.4]
  assign _T_21937 = {7'h0,flags_477_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134755.4]
  assign _T_21939 = {7'h0,flags_478_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134757.4]
  assign _T_21941 = {7'h0,flags_479_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134759.4]
  assign _T_21943 = {7'h0,flags_480_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134761.4]
  assign _T_21945 = {7'h0,flags_481_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134763.4]
  assign _T_21947 = {7'h0,flags_482_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134765.4]
  assign _T_21949 = {7'h0,flags_483_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134767.4]
  assign _T_21951 = {7'h0,flags_484_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134769.4]
  assign _T_21953 = {7'h0,flags_485_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134771.4]
  assign _T_21955 = {7'h0,flags_486_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134773.4]
  assign _T_21957 = {7'h0,flags_487_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134775.4]
  assign _T_21959 = {7'h0,flags_488_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134777.4]
  assign _T_21961 = {7'h0,flags_489_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134779.4]
  assign _T_21963 = {7'h0,flags_490_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134781.4]
  assign _T_21965 = {7'h0,flags_491_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134783.4]
  assign _T_21967 = {7'h0,flags_492_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134785.4]
  assign _T_21969 = {7'h0,flags_493_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134787.4]
  assign _T_21971 = {7'h0,flags_494_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134789.4]
  assign _T_21973 = {7'h0,flags_495_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134791.4]
  assign _T_21975 = {7'h0,flags_496_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134793.4]
  assign _T_21977 = {7'h0,flags_497_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134795.4]
  assign _T_21979 = {7'h0,flags_498_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134797.4]
  assign _T_21981 = {7'h0,flags_499_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134799.4]
  assign _T_21983 = {7'h0,flags_500_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134801.4]
  assign _T_21985 = {7'h0,flags_501_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134803.4]
  assign _T_21987 = {7'h0,flags_502_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134805.4]
  assign _T_21989 = {7'h0,flags_503_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134807.4]
  assign _T_21991 = {7'h0,flags_504_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134809.4]
  assign _T_21993 = {7'h0,flags_505_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134811.4]
  assign _T_21995 = {7'h0,flags_506_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134813.4]
  assign _T_21997 = {7'h0,flags_507_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134815.4]
  assign _T_21999 = {7'h0,flags_508_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134817.4]
  assign _T_22001 = {7'h0,flags_509_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134819.4]
  assign _T_22003 = {7'h0,flags_510_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134821.4]
  assign _T_22005 = {7'h0,flags_511_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134823.4]
  assign _T_22007 = {7'h0,flags_512_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134825.4]
  assign _T_22009 = {7'h0,flags_513_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134827.4]
  assign _T_22011 = {7'h0,flags_514_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134829.4]
  assign _T_22013 = {7'h0,flags_515_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134831.4]
  assign _T_22015 = {7'h0,flags_516_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134833.4]
  assign _T_22017 = {7'h0,flags_517_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134835.4]
  assign _T_22019 = {7'h0,flags_518_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134837.4]
  assign _T_22021 = {7'h0,flags_519_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134839.4]
  assign _T_22023 = {7'h0,flags_520_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134841.4]
  assign _T_22025 = {7'h0,flags_521_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134843.4]
  assign _T_22027 = {7'h0,flags_522_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134845.4]
  assign _T_22029 = {7'h0,flags_523_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134847.4]
  assign _T_22031 = {7'h0,flags_524_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134849.4]
  assign _T_22033 = {7'h0,flags_525_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134851.4]
  assign _T_22035 = {7'h0,flags_526_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134853.4]
  assign _T_22037 = {7'h0,flags_527_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134855.4]
  assign _T_22039 = {7'h0,flags_528_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134857.4]
  assign _T_22041 = {7'h0,flags_529_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134859.4]
  assign _T_22043 = {7'h0,flags_530_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134861.4]
  assign _T_22045 = {7'h0,flags_531_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134863.4]
  assign _T_22047 = {7'h0,flags_532_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134865.4]
  assign _T_22049 = {7'h0,flags_533_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134867.4]
  assign _T_22051 = {7'h0,flags_534_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134869.4]
  assign _T_22053 = {7'h0,flags_535_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134871.4]
  assign _T_22055 = {7'h0,flags_536_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134873.4]
  assign _T_22057 = {7'h0,flags_537_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134875.4]
  assign _T_22059 = {7'h0,flags_538_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134877.4]
  assign _T_22061 = {7'h0,flags_539_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134879.4]
  assign _T_22063 = {7'h0,flags_540_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134881.4]
  assign _T_22065 = {7'h0,flags_541_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134883.4]
  assign _T_22067 = {7'h0,flags_542_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134885.4]
  assign _T_22069 = {7'h0,flags_543_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134887.4]
  assign _T_22071 = {7'h0,flags_544_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134889.4]
  assign _T_22073 = {7'h0,flags_545_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134891.4]
  assign _T_22075 = {7'h0,flags_546_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134893.4]
  assign _T_22077 = {7'h0,flags_547_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134895.4]
  assign _T_22079 = {7'h0,flags_548_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134897.4]
  assign _T_22081 = {7'h0,flags_549_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134899.4]
  assign _T_22083 = {7'h0,flags_550_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134901.4]
  assign _T_22085 = {7'h0,flags_551_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134903.4]
  assign _T_22087 = {7'h0,flags_552_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134905.4]
  assign _T_22089 = {7'h0,flags_553_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134907.4]
  assign _T_22091 = {7'h0,flags_554_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134909.4]
  assign _T_22093 = {7'h0,flags_555_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134911.4]
  assign _T_22095 = {7'h0,flags_556_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134913.4]
  assign _T_22097 = {7'h0,flags_557_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134915.4]
  assign _T_22099 = {7'h0,flags_558_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134917.4]
  assign _T_22101 = {7'h0,flags_559_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134919.4]
  assign _T_22103 = {7'h0,flags_560_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134921.4]
  assign _T_22105 = {7'h0,flags_561_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134923.4]
  assign _T_22107 = {7'h0,flags_562_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134925.4]
  assign _T_22109 = {7'h0,flags_563_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134927.4]
  assign _T_22111 = {7'h0,flags_564_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134929.4]
  assign _T_22113 = {7'h0,flags_565_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134931.4]
  assign _T_22115 = {7'h0,flags_566_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134933.4]
  assign _T_22117 = {7'h0,flags_567_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134935.4]
  assign _T_22119 = {7'h0,flags_568_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134937.4]
  assign _T_22121 = {7'h0,flags_569_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134939.4]
  assign _T_22123 = {7'h0,flags_570_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134941.4]
  assign _T_22125 = {7'h0,flags_571_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134943.4]
  assign _T_22127 = {7'h0,flags_572_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134945.4]
  assign _T_22129 = {7'h0,flags_573_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134947.4]
  assign _T_22131 = {7'h0,flags_574_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134949.4]
  assign _T_22133 = {7'h0,flags_575_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134951.4]
  assign _T_22135 = {7'h0,flags_576_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134953.4]
  assign _T_22137 = {7'h0,flags_577_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134955.4]
  assign _T_22139 = {7'h0,flags_578_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134957.4]
  assign _T_22141 = {7'h0,flags_579_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134959.4]
  assign _T_22143 = {7'h0,flags_580_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134961.4]
  assign _T_22145 = {7'h0,flags_581_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134963.4]
  assign _T_22147 = {7'h0,flags_582_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134965.4]
  assign _T_22149 = {7'h0,flags_583_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134967.4]
  assign _T_22151 = {7'h0,flags_584_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134969.4]
  assign _T_22153 = {7'h0,flags_585_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134971.4]
  assign _T_22155 = {7'h0,flags_586_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134973.4]
  assign _T_22157 = {7'h0,flags_587_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134975.4]
  assign _T_22159 = {7'h0,flags_588_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134977.4]
  assign _T_22161 = {7'h0,flags_589_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134979.4]
  assign _T_22163 = {7'h0,flags_590_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134981.4]
  assign _T_22165 = {7'h0,flags_591_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134983.4]
  assign _T_22167 = {7'h0,flags_592_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134985.4]
  assign _T_22169 = {7'h0,flags_593_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134987.4]
  assign _T_22171 = {7'h0,flags_594_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134989.4]
  assign _T_22173 = {7'h0,flags_595_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134991.4]
  assign _T_22175 = {7'h0,flags_596_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134993.4]
  assign _T_22177 = {7'h0,flags_597_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134995.4]
  assign _T_22179 = {7'h0,flags_598_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134997.4]
  assign _T_22181 = {7'h0,flags_599_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@134999.4]
  assign _T_22183 = {7'h0,flags_600_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135001.4]
  assign _T_22185 = {7'h0,flags_601_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135003.4]
  assign _T_22187 = {7'h0,flags_602_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135005.4]
  assign _T_22189 = {7'h0,flags_603_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135007.4]
  assign _T_22191 = {7'h0,flags_604_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135009.4]
  assign _T_22193 = {7'h0,flags_605_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135011.4]
  assign _T_22195 = {7'h0,flags_606_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135013.4]
  assign _T_22197 = {7'h0,flags_607_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135015.4]
  assign _T_22199 = {7'h0,flags_608_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135017.4]
  assign _T_22201 = {7'h0,flags_609_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135019.4]
  assign _T_22203 = {7'h0,flags_610_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135021.4]
  assign _T_22205 = {7'h0,flags_611_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135023.4]
  assign _T_22207 = {7'h0,flags_612_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135025.4]
  assign _T_22209 = {7'h0,flags_613_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135027.4]
  assign _T_22211 = {7'h0,flags_614_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135029.4]
  assign _T_22213 = {7'h0,flags_615_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135031.4]
  assign _T_22215 = {7'h0,flags_616_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135033.4]
  assign _T_22217 = {7'h0,flags_617_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135035.4]
  assign _T_22219 = {7'h0,flags_618_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135037.4]
  assign _T_22221 = {7'h0,flags_619_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135039.4]
  assign _T_22223 = {7'h0,flags_620_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135041.4]
  assign _T_22225 = {7'h0,flags_621_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135043.4]
  assign _T_22227 = {7'h0,flags_622_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135045.4]
  assign _T_22229 = {7'h0,flags_623_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135047.4]
  assign _T_22231 = {7'h0,flags_624_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135049.4]
  assign _T_22233 = {7'h0,flags_625_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135051.4]
  assign _T_22235 = {7'h0,flags_626_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135053.4]
  assign _T_22237 = {7'h0,flags_627_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135055.4]
  assign _T_22239 = {7'h0,flags_628_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135057.4]
  assign _T_22241 = {7'h0,flags_629_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135059.4]
  assign _T_22243 = {7'h0,flags_630_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135061.4]
  assign _T_22245 = {7'h0,flags_631_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135063.4]
  assign _T_22247 = {7'h0,flags_632_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135065.4]
  assign _T_22249 = {7'h0,flags_633_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135067.4]
  assign _T_22251 = {7'h0,flags_634_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135069.4]
  assign _T_22253 = {7'h0,flags_635_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135071.4]
  assign _T_22255 = {7'h0,flags_636_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135073.4]
  assign _T_22257 = {7'h0,flags_637_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135075.4]
  assign _T_22259 = {7'h0,flags_638_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135077.4]
  assign _T_22261 = {7'h0,flags_639_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135079.4]
  assign _T_22263 = {7'h0,flags_640_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135081.4]
  assign _T_22265 = {7'h0,flags_641_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135083.4]
  assign _T_22267 = {7'h0,flags_642_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135085.4]
  assign _T_22269 = {7'h0,flags_643_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135087.4]
  assign _T_22271 = {7'h0,flags_644_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135089.4]
  assign _T_22273 = {7'h0,flags_645_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135091.4]
  assign _T_22275 = {7'h0,flags_646_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135093.4]
  assign _T_22277 = {7'h0,flags_647_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135095.4]
  assign _T_22279 = {7'h0,flags_648_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135097.4]
  assign _T_22281 = {7'h0,flags_649_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135099.4]
  assign _T_22283 = {7'h0,flags_650_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135101.4]
  assign _T_22285 = {7'h0,flags_651_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135103.4]
  assign _T_22287 = {7'h0,flags_652_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135105.4]
  assign _T_22289 = {7'h0,flags_653_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135107.4]
  assign _T_22291 = {7'h0,flags_654_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135109.4]
  assign _T_22293 = {7'h0,flags_655_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135111.4]
  assign _T_22295 = {7'h0,flags_656_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135113.4]
  assign _T_22297 = {7'h0,flags_657_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135115.4]
  assign _T_22299 = {7'h0,flags_658_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135117.4]
  assign _T_22301 = {7'h0,flags_659_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135119.4]
  assign _T_22303 = {7'h0,flags_660_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135121.4]
  assign _T_22305 = {7'h0,flags_661_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135123.4]
  assign _T_22307 = {7'h0,flags_662_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135125.4]
  assign _T_22309 = {7'h0,flags_663_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135127.4]
  assign _T_22311 = {7'h0,flags_664_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135129.4]
  assign _T_22313 = {7'h0,flags_665_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135131.4]
  assign _T_22315 = {7'h0,flags_666_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135133.4]
  assign _T_22317 = {7'h0,flags_667_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135135.4]
  assign _T_22319 = {7'h0,flags_668_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135137.4]
  assign _T_22321 = {7'h0,flags_669_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135139.4]
  assign _T_22323 = {7'h0,flags_670_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135141.4]
  assign _T_22325 = {7'h0,flags_671_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135143.4]
  assign _T_22327 = {7'h0,flags_672_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135145.4]
  assign _T_22329 = {7'h0,flags_673_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135147.4]
  assign _T_22331 = {7'h0,flags_674_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135149.4]
  assign _T_22333 = {7'h0,flags_675_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135151.4]
  assign _T_22335 = {7'h0,flags_676_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135153.4]
  assign _T_22337 = {7'h0,flags_677_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135155.4]
  assign _T_22339 = {7'h0,flags_678_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135157.4]
  assign _T_22341 = {7'h0,flags_679_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135159.4]
  assign _T_22343 = {7'h0,flags_680_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135161.4]
  assign _T_22345 = {7'h0,flags_681_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135163.4]
  assign _T_22347 = {7'h0,flags_682_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135165.4]
  assign _T_22349 = {7'h0,flags_683_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135167.4]
  assign _T_22351 = {7'h0,flags_684_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135169.4]
  assign _T_22353 = {7'h0,flags_685_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135171.4]
  assign _T_22355 = {7'h0,flags_686_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135173.4]
  assign _T_22357 = {7'h0,flags_687_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135175.4]
  assign _T_22359 = {7'h0,flags_688_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135177.4]
  assign _T_22361 = {7'h0,flags_689_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135179.4]
  assign _T_22363 = {7'h0,flags_690_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135181.4]
  assign _T_22365 = {7'h0,flags_691_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135183.4]
  assign _T_22367 = {7'h0,flags_692_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135185.4]
  assign _T_22369 = {7'h0,flags_693_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135187.4]
  assign _T_22371 = {7'h0,flags_694_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135189.4]
  assign _T_22373 = {7'h0,flags_695_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135191.4]
  assign _T_22375 = {7'h0,flags_696_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135193.4]
  assign _T_22377 = {7'h0,flags_697_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135195.4]
  assign _T_22379 = {7'h0,flags_698_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135197.4]
  assign _T_22381 = {7'h0,flags_699_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135199.4]
  assign _T_22383 = {7'h0,flags_700_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135201.4]
  assign _T_22385 = {7'h0,flags_701_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135203.4]
  assign _T_22387 = {7'h0,flags_702_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135205.4]
  assign _T_22389 = {7'h0,flags_703_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135207.4]
  assign _T_22391 = {7'h0,flags_704_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135209.4]
  assign _T_22393 = {7'h0,flags_705_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135211.4]
  assign _T_22395 = {7'h0,flags_706_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135213.4]
  assign _T_22397 = {7'h0,flags_707_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135215.4]
  assign _T_22399 = {7'h0,flags_708_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135217.4]
  assign _T_22401 = {7'h0,flags_709_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135219.4]
  assign _T_22403 = {7'h0,flags_710_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135221.4]
  assign _T_22405 = {7'h0,flags_711_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135223.4]
  assign _T_22407 = {7'h0,flags_712_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135225.4]
  assign _T_22409 = {7'h0,flags_713_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135227.4]
  assign _T_22411 = {7'h0,flags_714_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135229.4]
  assign _T_22413 = {7'h0,flags_715_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135231.4]
  assign _T_22415 = {7'h0,flags_716_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135233.4]
  assign _T_22417 = {7'h0,flags_717_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135235.4]
  assign _T_22419 = {7'h0,flags_718_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135237.4]
  assign _T_22421 = {7'h0,flags_719_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135239.4]
  assign _T_22423 = {7'h0,flags_720_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135241.4]
  assign _T_22425 = {7'h0,flags_721_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135243.4]
  assign _T_22427 = {7'h0,flags_722_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135245.4]
  assign _T_22429 = {7'h0,flags_723_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135247.4]
  assign _T_22431 = {7'h0,flags_724_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135249.4]
  assign _T_22433 = {7'h0,flags_725_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135251.4]
  assign _T_22435 = {7'h0,flags_726_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135253.4]
  assign _T_22437 = {7'h0,flags_727_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135255.4]
  assign _T_22439 = {7'h0,flags_728_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135257.4]
  assign _T_22441 = {7'h0,flags_729_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135259.4]
  assign _T_22443 = {7'h0,flags_730_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135261.4]
  assign _T_22445 = {7'h0,flags_731_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135263.4]
  assign _T_22447 = {7'h0,flags_732_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135265.4]
  assign _T_22449 = {7'h0,flags_733_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135267.4]
  assign _T_22451 = {7'h0,flags_734_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135269.4]
  assign _T_22453 = {7'h0,flags_735_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135271.4]
  assign _T_22455 = {7'h0,flags_736_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135273.4]
  assign _T_22457 = {7'h0,flags_737_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135275.4]
  assign _T_22459 = {7'h0,flags_738_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135277.4]
  assign _T_22461 = {7'h0,flags_739_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135279.4]
  assign _T_22463 = {7'h0,flags_740_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135281.4]
  assign _T_22465 = {7'h0,flags_741_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135283.4]
  assign _T_22467 = {7'h0,flags_742_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135285.4]
  assign _T_22469 = {7'h0,flags_743_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135287.4]
  assign _T_22471 = {7'h0,flags_744_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135289.4]
  assign _T_22473 = {7'h0,flags_745_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135291.4]
  assign _T_22475 = {7'h0,flags_746_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135293.4]
  assign _T_22477 = {7'h0,flags_747_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135295.4]
  assign _T_22479 = {7'h0,flags_748_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135297.4]
  assign _T_22481 = {7'h0,flags_749_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135299.4]
  assign _T_22483 = {7'h0,flags_750_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135301.4]
  assign _T_22485 = {7'h0,flags_751_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135303.4]
  assign _T_22487 = {7'h0,flags_752_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135305.4]
  assign _T_22489 = {7'h0,flags_753_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135307.4]
  assign _T_22491 = {7'h0,flags_754_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135309.4]
  assign _T_22493 = {7'h0,flags_755_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135311.4]
  assign _T_22495 = {7'h0,flags_756_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135313.4]
  assign _T_22497 = {7'h0,flags_757_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135315.4]
  assign _T_22499 = {7'h0,flags_758_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135317.4]
  assign _T_22501 = {7'h0,flags_759_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135319.4]
  assign _T_22503 = {7'h0,flags_760_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135321.4]
  assign _T_22505 = {7'h0,flags_761_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135323.4]
  assign _T_22507 = {7'h0,flags_762_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135325.4]
  assign _T_22509 = {7'h0,flags_763_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135327.4]
  assign _T_22511 = {7'h0,flags_764_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135329.4]
  assign _T_22513 = {7'h0,flags_765_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135331.4]
  assign _T_22515 = {7'h0,flags_766_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135333.4]
  assign _T_22517 = {7'h0,flags_767_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135335.4]
  assign _T_22519 = {7'h0,flags_768_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135337.4]
  assign _T_22521 = {7'h0,flags_769_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135339.4]
  assign _T_22523 = {7'h0,flags_770_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135341.4]
  assign _T_22525 = {7'h0,flags_771_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135343.4]
  assign _T_22527 = {7'h0,flags_772_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135345.4]
  assign _T_22529 = {7'h0,flags_773_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135347.4]
  assign _T_22531 = {7'h0,flags_774_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135349.4]
  assign _T_22533 = {7'h0,flags_775_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135351.4]
  assign _T_22535 = {7'h0,flags_776_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135353.4]
  assign _T_22537 = {7'h0,flags_777_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135355.4]
  assign _T_22539 = {7'h0,flags_778_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135357.4]
  assign _T_22541 = {7'h0,flags_779_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135359.4]
  assign _T_22543 = {7'h0,flags_780_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135361.4]
  assign _T_22545 = {7'h0,flags_781_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135363.4]
  assign _T_22547 = {7'h0,flags_782_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135365.4]
  assign _T_22549 = {7'h0,flags_783_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135367.4]
  assign _T_22551 = {7'h0,flags_784_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135369.4]
  assign _T_22553 = {7'h0,flags_785_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135371.4]
  assign _T_22555 = {7'h0,flags_786_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135373.4]
  assign _T_22557 = {7'h0,flags_787_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135375.4]
  assign _T_22559 = {7'h0,flags_788_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135377.4]
  assign _T_22561 = {7'h0,flags_789_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135379.4]
  assign _T_22563 = {7'h0,flags_790_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135381.4]
  assign _T_22565 = {7'h0,flags_791_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135383.4]
  assign _T_22567 = {7'h0,flags_792_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135385.4]
  assign _T_22569 = {7'h0,flags_793_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135387.4]
  assign _T_22571 = {7'h0,flags_794_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135389.4]
  assign _T_22573 = {7'h0,flags_795_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135391.4]
  assign _T_22575 = {7'h0,flags_796_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135393.4]
  assign _T_22577 = {7'h0,flags_797_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135395.4]
  assign _T_22579 = {7'h0,flags_798_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135397.4]
  assign _T_22581 = {7'h0,flags_799_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135399.4]
  assign _T_22583 = {7'h0,flags_800_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135401.4]
  assign _T_22585 = {7'h0,flags_801_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135403.4]
  assign _T_22587 = {7'h0,flags_802_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135405.4]
  assign _T_22589 = {7'h0,flags_803_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135407.4]
  assign _T_22591 = {7'h0,flags_804_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135409.4]
  assign _T_22593 = {7'h0,flags_805_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135411.4]
  assign _T_22595 = {7'h0,flags_806_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135413.4]
  assign _T_22597 = {7'h0,flags_807_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135415.4]
  assign _T_22599 = {7'h0,flags_808_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135417.4]
  assign _T_22601 = {7'h0,flags_809_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135419.4]
  assign _T_22603 = {7'h0,flags_810_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135421.4]
  assign _T_22605 = {7'h0,flags_811_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135423.4]
  assign _T_22607 = {7'h0,flags_812_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135425.4]
  assign _T_22609 = {7'h0,flags_813_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135427.4]
  assign _T_22611 = {7'h0,flags_814_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135429.4]
  assign _T_22613 = {7'h0,flags_815_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135431.4]
  assign _T_22615 = {7'h0,flags_816_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135433.4]
  assign _T_22617 = {7'h0,flags_817_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135435.4]
  assign _T_22619 = {7'h0,flags_818_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135437.4]
  assign _T_22621 = {7'h0,flags_819_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135439.4]
  assign _T_22623 = {7'h0,flags_820_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135441.4]
  assign _T_22625 = {7'h0,flags_821_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135443.4]
  assign _T_22627 = {7'h0,flags_822_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135445.4]
  assign _T_22629 = {7'h0,flags_823_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135447.4]
  assign _T_22631 = {7'h0,flags_824_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135449.4]
  assign _T_22633 = {7'h0,flags_825_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135451.4]
  assign _T_22635 = {7'h0,flags_826_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135453.4]
  assign _T_22637 = {7'h0,flags_827_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135455.4]
  assign _T_22639 = {7'h0,flags_828_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135457.4]
  assign _T_22641 = {7'h0,flags_829_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135459.4]
  assign _T_22643 = {7'h0,flags_830_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135461.4]
  assign _T_22645 = {7'h0,flags_831_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135463.4]
  assign _T_22647 = {7'h0,flags_832_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135465.4]
  assign _T_22649 = {7'h0,flags_833_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135467.4]
  assign _T_22651 = {7'h0,flags_834_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135469.4]
  assign _T_22653 = {7'h0,flags_835_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135471.4]
  assign _T_22655 = {7'h0,flags_836_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135473.4]
  assign _T_22657 = {7'h0,flags_837_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135475.4]
  assign _T_22659 = {7'h0,flags_838_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135477.4]
  assign _T_22661 = {7'h0,flags_839_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135479.4]
  assign _T_22663 = {7'h0,flags_840_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135481.4]
  assign _T_22665 = {7'h0,flags_841_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135483.4]
  assign _T_22667 = {7'h0,flags_842_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135485.4]
  assign _T_22669 = {7'h0,flags_843_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135487.4]
  assign _T_22671 = {7'h0,flags_844_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135489.4]
  assign _T_22673 = {7'h0,flags_845_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135491.4]
  assign _T_22675 = {7'h0,flags_846_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135493.4]
  assign _T_22677 = {7'h0,flags_847_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135495.4]
  assign _T_22679 = {7'h0,flags_848_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135497.4]
  assign _T_22681 = {7'h0,flags_849_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135499.4]
  assign _T_22683 = {7'h0,flags_850_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135501.4]
  assign _T_22685 = {7'h0,flags_851_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135503.4]
  assign _T_22687 = {7'h0,flags_852_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135505.4]
  assign _T_22689 = {7'h0,flags_853_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135507.4]
  assign _T_22691 = {7'h0,flags_854_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135509.4]
  assign _T_22693 = {7'h0,flags_855_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135511.4]
  assign _T_22695 = {7'h0,flags_856_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135513.4]
  assign _T_22697 = {7'h0,flags_857_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135515.4]
  assign _T_22699 = {7'h0,flags_858_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135517.4]
  assign _T_22701 = {7'h0,flags_859_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135519.4]
  assign _T_22703 = {7'h0,flags_860_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135521.4]
  assign _T_22705 = {7'h0,flags_861_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135523.4]
  assign _T_22707 = {7'h0,flags_862_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135525.4]
  assign _T_22709 = {7'h0,flags_863_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135527.4]
  assign _T_22711 = {7'h0,flags_864_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135529.4]
  assign _T_22713 = {7'h0,flags_865_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135531.4]
  assign _T_22715 = {7'h0,flags_866_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135533.4]
  assign _T_22717 = {7'h0,flags_867_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135535.4]
  assign _T_22719 = {7'h0,flags_868_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135537.4]
  assign _T_22721 = {7'h0,flags_869_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135539.4]
  assign _T_22723 = {7'h0,flags_870_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135541.4]
  assign _T_22725 = {7'h0,flags_871_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135543.4]
  assign _T_22727 = {7'h0,flags_872_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135545.4]
  assign _T_22729 = {7'h0,flags_873_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135547.4]
  assign _T_22731 = {7'h0,flags_874_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135549.4]
  assign _T_22733 = {7'h0,flags_875_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135551.4]
  assign _T_22735 = {7'h0,flags_876_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135553.4]
  assign _T_22737 = {7'h0,flags_877_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135555.4]
  assign _T_22739 = {7'h0,flags_878_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135557.4]
  assign _T_22741 = {7'h0,flags_879_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135559.4]
  assign _T_22743 = {7'h0,flags_880_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135561.4]
  assign _T_22745 = {7'h0,flags_881_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135563.4]
  assign _T_22747 = {7'h0,flags_882_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135565.4]
  assign _T_22749 = {7'h0,flags_883_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135567.4]
  assign _T_22751 = {7'h0,flags_884_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135569.4]
  assign _T_22753 = {7'h0,flags_885_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135571.4]
  assign _T_22755 = {7'h0,flags_886_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135573.4]
  assign _T_22757 = {7'h0,flags_887_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135575.4]
  assign _T_22759 = {7'h0,flags_888_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135577.4]
  assign _T_22761 = {7'h0,flags_889_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135579.4]
  assign _T_22763 = {7'h0,flags_890_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135581.4]
  assign _T_22765 = {7'h0,flags_891_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135583.4]
  assign _T_22767 = {7'h0,flags_892_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135585.4]
  assign _T_22769 = {7'h0,flags_893_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135587.4]
  assign _T_22771 = {7'h0,flags_894_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135589.4]
  assign _T_22773 = {7'h0,flags_895_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135591.4]
  assign _T_22775 = {7'h0,flags_896_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135593.4]
  assign _T_22777 = {7'h0,flags_897_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135595.4]
  assign _T_22779 = {7'h0,flags_898_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135597.4]
  assign _T_22781 = {7'h0,flags_899_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135599.4]
  assign _T_22783 = {7'h0,flags_900_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135601.4]
  assign _T_22785 = {7'h0,flags_901_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135603.4]
  assign _T_22787 = {7'h0,flags_902_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135605.4]
  assign _T_22789 = {7'h0,flags_903_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135607.4]
  assign _T_22791 = {7'h0,flags_904_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135609.4]
  assign _T_22793 = {7'h0,flags_905_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135611.4]
  assign _T_22795 = {7'h0,flags_906_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135613.4]
  assign _T_22797 = {7'h0,flags_907_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135615.4]
  assign _T_22799 = {7'h0,flags_908_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135617.4]
  assign _T_22801 = {7'h0,flags_909_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135619.4]
  assign _T_22803 = {7'h0,flags_910_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135621.4]
  assign _T_22805 = {7'h0,flags_911_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135623.4]
  assign _T_22807 = {7'h0,flags_912_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135625.4]
  assign _T_22809 = {7'h0,flags_913_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135627.4]
  assign _T_22811 = {7'h0,flags_914_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135629.4]
  assign _T_22813 = {7'h0,flags_915_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135631.4]
  assign _T_22815 = {7'h0,flags_916_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135633.4]
  assign _T_22817 = {7'h0,flags_917_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135635.4]
  assign _T_22819 = {7'h0,flags_918_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135637.4]
  assign _T_22821 = {7'h0,flags_919_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135639.4]
  assign _T_22823 = {7'h0,flags_920_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135641.4]
  assign _T_22825 = {7'h0,flags_921_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135643.4]
  assign _T_22827 = {7'h0,flags_922_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135645.4]
  assign _T_22829 = {7'h0,flags_923_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135647.4]
  assign _T_22831 = {7'h0,flags_924_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135649.4]
  assign _T_22833 = {7'h0,flags_925_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135651.4]
  assign _T_22835 = {7'h0,flags_926_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135653.4]
  assign _T_22837 = {7'h0,flags_927_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135655.4]
  assign _T_22839 = {7'h0,flags_928_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135657.4]
  assign _T_22841 = {7'h0,flags_929_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135659.4]
  assign _T_22843 = {7'h0,flags_930_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135661.4]
  assign _T_22845 = {7'h0,flags_931_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135663.4]
  assign _T_22847 = {7'h0,flags_932_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135665.4]
  assign _T_22849 = {7'h0,flags_933_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135667.4]
  assign _T_22851 = {7'h0,flags_934_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135669.4]
  assign _T_22853 = {7'h0,flags_935_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135671.4]
  assign _T_22855 = {7'h0,flags_936_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135673.4]
  assign _T_22857 = {7'h0,flags_937_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135675.4]
  assign _T_22859 = {7'h0,flags_938_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135677.4]
  assign _T_22861 = {7'h0,flags_939_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135679.4]
  assign _T_22863 = {7'h0,flags_940_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135681.4]
  assign _T_22865 = {7'h0,flags_941_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135683.4]
  assign _T_22867 = {7'h0,flags_942_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135685.4]
  assign _T_22869 = {7'h0,flags_943_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135687.4]
  assign _T_22871 = {7'h0,flags_944_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135689.4]
  assign _T_22873 = {7'h0,flags_945_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135691.4]
  assign _T_22875 = {7'h0,flags_946_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135693.4]
  assign _T_22877 = {7'h0,flags_947_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135695.4]
  assign _T_22879 = {7'h0,flags_948_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135697.4]
  assign _T_22881 = {7'h0,flags_949_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135699.4]
  assign _T_22883 = {7'h0,flags_950_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135701.4]
  assign _T_22885 = {7'h0,flags_951_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135703.4]
  assign _T_22887 = {7'h0,flags_952_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135705.4]
  assign _T_22889 = {7'h0,flags_953_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135707.4]
  assign _T_22891 = {7'h0,flags_954_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135709.4]
  assign _T_22893 = {7'h0,flags_955_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135711.4]
  assign _T_22895 = {7'h0,flags_956_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135713.4]
  assign _T_22897 = {7'h0,flags_957_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135715.4]
  assign _T_22899 = {7'h0,flags_958_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135717.4]
  assign _T_22901 = {7'h0,flags_959_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135719.4]
  assign _T_22903 = {7'h0,flags_960_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135721.4]
  assign _T_22905 = {7'h0,flags_961_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135723.4]
  assign _T_22907 = {7'h0,flags_962_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135725.4]
  assign _T_22909 = {7'h0,flags_963_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135727.4]
  assign _T_22911 = {7'h0,flags_964_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135729.4]
  assign _T_22913 = {7'h0,flags_965_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135731.4]
  assign _T_22915 = {7'h0,flags_966_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135733.4]
  assign _T_22917 = {7'h0,flags_967_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135735.4]
  assign _T_22919 = {7'h0,flags_968_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135737.4]
  assign _T_22921 = {7'h0,flags_969_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135739.4]
  assign _T_22923 = {7'h0,flags_970_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135741.4]
  assign _T_22925 = {7'h0,flags_971_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135743.4]
  assign _T_22927 = {7'h0,flags_972_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135745.4]
  assign _T_22929 = {7'h0,flags_973_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135747.4]
  assign _T_22931 = {7'h0,flags_974_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135749.4]
  assign _T_22933 = {7'h0,flags_975_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135751.4]
  assign _T_22935 = {7'h0,flags_976_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135753.4]
  assign _T_22937 = {7'h0,flags_977_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135755.4]
  assign _T_22939 = {7'h0,flags_978_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135757.4]
  assign _T_22941 = {7'h0,flags_979_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135759.4]
  assign _T_22943 = {7'h0,flags_980_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135761.4]
  assign _T_22945 = {7'h0,flags_981_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135763.4]
  assign _T_22947 = {7'h0,flags_982_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135765.4]
  assign _T_22949 = {7'h0,flags_983_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135767.4]
  assign _T_22951 = {7'h0,flags_984_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135769.4]
  assign _T_22953 = {7'h0,flags_985_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135771.4]
  assign _T_22955 = {7'h0,flags_986_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135773.4]
  assign _T_22957 = {7'h0,flags_987_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135775.4]
  assign _T_22959 = {7'h0,flags_988_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135777.4]
  assign _T_22961 = {7'h0,flags_989_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135779.4]
  assign _T_22963 = {7'h0,flags_990_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135781.4]
  assign _T_22965 = {7'h0,flags_991_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135783.4]
  assign _T_22967 = {7'h0,flags_992_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135785.4]
  assign _T_22969 = {7'h0,flags_993_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135787.4]
  assign _T_22971 = {7'h0,flags_994_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135789.4]
  assign _T_22973 = {7'h0,flags_995_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135791.4]
  assign _T_22975 = {7'h0,flags_996_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135793.4]
  assign _T_22977 = {7'h0,flags_997_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135795.4]
  assign _T_22979 = {7'h0,flags_998_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135797.4]
  assign _T_22981 = {7'h0,flags_999_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135799.4]
  assign _T_22983 = {7'h0,flags_1000_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135801.4]
  assign _T_22985 = {7'h0,flags_1001_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135803.4]
  assign _T_22987 = {7'h0,flags_1002_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135805.4]
  assign _T_22989 = {7'h0,flags_1003_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135807.4]
  assign _T_22991 = {7'h0,flags_1004_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135809.4]
  assign _T_22993 = {7'h0,flags_1005_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135811.4]
  assign _T_22995 = {7'h0,flags_1006_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135813.4]
  assign _T_22997 = {7'h0,flags_1007_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135815.4]
  assign _T_22999 = {7'h0,flags_1008_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135817.4]
  assign _T_23001 = {7'h0,flags_1009_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135819.4]
  assign _T_23003 = {7'h0,flags_1010_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135821.4]
  assign _T_23005 = {7'h0,flags_1011_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135823.4]
  assign _T_23007 = {7'h0,flags_1012_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135825.4]
  assign _T_23009 = {7'h0,flags_1013_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135827.4]
  assign _T_23011 = {7'h0,flags_1014_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135829.4]
  assign _T_23013 = {7'h0,flags_1015_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135831.4]
  assign _T_23015 = {7'h0,flags_1016_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135833.4]
  assign _T_23017 = {7'h0,flags_1017_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135835.4]
  assign _T_23019 = {7'h0,flags_1018_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135837.4]
  assign _T_23021 = {7'h0,flags_1019_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135839.4]
  assign _T_23023 = {7'h0,flags_1020_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135841.4]
  assign _T_23025 = {7'h0,flags_1021_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135843.4]
  assign _T_23027 = {7'h0,flags_1022_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135845.4]
  assign _T_23029 = {7'h0,flags_1023_go}; // @[Debug.scala 905:68:shc.marmotcaravel.MarmotCaravelConfig.fir@135847.4]
  assign _T_23039 = {auto_tl_in_a_bits_source,auto_tl_in_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@135856.4]
  assign _T_28445 = _T_28444[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136506.4]
  assign _T_28448 = ~ _T_28445; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136509.4]
  assign _T_28449 = _T_28448 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136510.4]
  assign _T_28459 = auto_tl_in_a_bits_data[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136520.4]
  assign _T_28470 = _T_28444[15:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136531.4]
  assign _T_28473 = ~ _T_28470; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136534.4]
  assign _T_28474 = _T_28473 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136535.4]
  assign _T_28484 = auto_tl_in_a_bits_data[15:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136545.4]
  assign _T_28494 = {_T_21857,_T_21855}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136555.4]
  assign _T_28497 = _T_28444[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136558.4]
  assign _T_28500 = ~ _T_28497; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136561.4]
  assign _T_28501 = _T_28500 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136562.4]
  assign _T_28511 = auto_tl_in_a_bits_data[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136572.4]
  assign _T_28521 = {_T_21859,_T_28494}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136582.4]
  assign _T_28524 = _T_28444[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136585.4]
  assign _T_28527 = ~ _T_28524; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136588.4]
  assign _T_28528 = _T_28527 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136589.4]
  assign _T_28538 = auto_tl_in_a_bits_data[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@136599.4]
  assign _T_28548 = {_T_21861,_T_28521}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136609.4]
  assign _T_28600 = {_T_22769,_T_22767}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136661.4]
  assign _T_28627 = {_T_22771,_T_28600}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136688.4]
  assign _T_28654 = {_T_22773,_T_28627}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136715.4]
  assign _T_28706 = {_T_21713,_T_21711}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136767.4]
  assign _T_28733 = {_T_21715,_T_28706}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136794.4]
  assign _T_28760 = {_T_21717,_T_28733}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136821.4]
  assign _T_28812 = {_T_21601,_T_21599}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136873.4]
  assign _T_28839 = {_T_21603,_T_28812}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136900.4]
  assign _T_28866 = {_T_21605,_T_28839}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@136927.4]
  assign _T_29024 = {_T_22681,_T_22679}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137085.4]
  assign _T_29051 = {_T_22683,_T_29024}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137112.4]
  assign _T_29078 = {_T_22685,_T_29051}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137139.4]
  assign _T_29130 = {_T_22785,_T_22783}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137191.4]
  assign _T_29157 = {_T_22787,_T_29130}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137218.4]
  assign _T_29184 = {_T_22789,_T_29157}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137245.4]
  assign _T_29236 = {_T_21753,_T_21751}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137297.4]
  assign _T_29263 = {_T_21755,_T_29236}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137324.4]
  assign _T_29290 = {_T_21757,_T_29263}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137351.4]
  assign _T_29342 = {_T_22201,_T_22199}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137403.4]
  assign _T_29369 = {_T_22203,_T_29342}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137430.4]
  assign _T_29396 = {_T_22205,_T_29369}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137457.4]
  assign _T_60038 = _T_60333[217]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168311.4]
  assign _T_65748 = _T_71634 & _T_60038; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176055.4]
  assign _T_65749 = _T_65748 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176056.4]
  assign _T_29517 = _T_65749 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@137578.4]
  assign _T_29542 = _T_65749 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@137606.4]
  assign _T_29569 = _T_65749 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@137636.4]
  assign _T_29596 = _T_65749 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@137666.4]
  assign _T_29660 = {_T_21145,_T_21143}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137733.4]
  assign _T_29687 = {_T_21147,_T_29660}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137760.4]
  assign _T_29714 = {_T_21149,_T_29687}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137787.4]
  assign _T_29766 = {_T_21401,_T_21399}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137839.4]
  assign _T_29793 = {_T_21403,_T_29766}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137866.4]
  assign _T_29820 = {_T_21405,_T_29793}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137893.4]
  assign _T_29872 = {_T_22529,_T_22527}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137945.4]
  assign _T_29899 = {_T_22531,_T_29872}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137972.4]
  assign _T_29926 = {_T_22533,_T_29899}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@137999.4]
  assign _T_29978 = {_T_21969,_T_21967}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138051.4]
  assign _T_30005 = {_T_21971,_T_29978}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138078.4]
  assign _T_30032 = {_T_21973,_T_30005}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138105.4]
  assign _T_30084 = {_T_22457,_T_22455}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138157.4]
  assign _T_30111 = {_T_22459,_T_30084}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138184.4]
  assign _T_30138 = {_T_22461,_T_30111}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138211.4]
  assign _T_30190 = {_T_23025,_T_23023}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138263.4]
  assign _T_30217 = {_T_23027,_T_30190}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138290.4]
  assign _T_30244 = {_T_23029,_T_30217}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138317.4]
  assign _T_30296 = {_T_21089,_T_21087}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138369.4]
  assign _T_30323 = {_T_21091,_T_30296}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138396.4]
  assign _T_30350 = {_T_21093,_T_30323}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138423.4]
  assign _T_30402 = {_T_22017,_T_22015}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138475.4]
  assign _T_30429 = {_T_22019,_T_30402}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138502.4]
  assign _T_30456 = {_T_22021,_T_30429}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138529.4]
  assign _T_30508 = {_T_22009,_T_22007}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138581.4]
  assign _T_30535 = {_T_22011,_T_30508}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138608.4]
  assign _T_30562 = {_T_22013,_T_30535}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138635.4]
  assign _T_30614 = {_T_22937,_T_22935}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138687.4]
  assign _T_30641 = {_T_22939,_T_30614}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138714.4]
  assign _T_30668 = {_T_22941,_T_30641}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138741.4]
  assign _T_30720 = {_T_22713,_T_22711}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138793.4]
  assign _T_30747 = {_T_22715,_T_30720}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138820.4]
  assign _T_30774 = {_T_22717,_T_30747}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138847.4]
  assign _T_30826 = {_T_21657,_T_21655}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138899.4]
  assign _T_30853 = {_T_21659,_T_30826}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138926.4]
  assign _T_30880 = {_T_21661,_T_30853}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@138953.4]
  assign _T_30932 = {_T_22169,_T_22167}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139005.4]
  assign _T_30959 = {_T_22171,_T_30932}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139032.4]
  assign _T_30986 = {_T_22173,_T_30959}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139059.4]
  assign _T_31038 = {_T_22273,_T_22271}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139111.4]
  assign _T_31065 = {_T_22275,_T_31038}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139138.4]
  assign _T_31092 = {_T_22277,_T_31065}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139165.4]
  assign _T_31144 = {_T_21241,_T_21239}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139217.4]
  assign _T_31171 = {_T_21243,_T_31144}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139244.4]
  assign _T_31198 = {_T_21245,_T_31171}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139271.4]
  assign _T_31250 = {_T_21345,_T_21343}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139323.4]
  assign _T_31277 = {_T_21347,_T_31250}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139350.4]
  assign _T_31304 = {_T_21349,_T_31277}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139377.4]
  assign _T_31356 = {_T_21497,_T_21495}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139429.4]
  assign _T_31383 = {_T_21499,_T_31356}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139456.4]
  assign _T_31410 = {_T_21501,_T_31383}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139483.4]
  assign _T_31462 = {_T_22425,_T_22423}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139535.4]
  assign _T_31489 = {_T_22427,_T_31462}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139562.4]
  assign _T_31516 = {_T_22429,_T_31489}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139589.4]
  assign _T_31568 = {_T_20993,_T_20991}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139641.4]
  assign _T_31595 = {_T_20995,_T_31568}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139668.4]
  assign _T_31622 = {_T_20997,_T_31595}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139695.4]
  assign _T_31674 = {_T_22049,_T_22047}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139747.4]
  assign _T_31701 = {_T_22051,_T_31674}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139774.4]
  assign _T_31728 = {_T_22053,_T_31701}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139801.4]
  assign _T_31780 = {_T_21913,_T_21911}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139853.4]
  assign _T_31807 = {_T_21915,_T_31780}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139880.4]
  assign _T_31834 = {_T_21917,_T_31807}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139907.4]
  assign _T_31886 = {_T_22969,_T_22967}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139959.4]
  assign _T_31913 = {_T_22971,_T_31886}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@139986.4]
  assign _T_31940 = {_T_22973,_T_31913}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140013.4]
  assign _T_31992 = {_T_21689,_T_21687}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140065.4]
  assign _T_32019 = {_T_21691,_T_31992}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140092.4]
  assign _T_32046 = {_T_21693,_T_32019}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140119.4]
  assign _T_32098 = {_T_21793,_T_21791}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140171.4]
  assign _T_32125 = {_T_21795,_T_32098}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140198.4]
  assign _T_32152 = {_T_21797,_T_32125}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140225.4]
  assign _T_32204 = {_T_22617,_T_22615}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140277.4]
  assign _T_32231 = {_T_22619,_T_32204}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140304.4]
  assign _T_32258 = {_T_22621,_T_32231}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140331.4]
  assign _T_32310 = {_T_22305,_T_22303}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140383.4]
  assign _T_32337 = {_T_22307,_T_32310}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140410.4]
  assign _T_32364 = {_T_22309,_T_32337}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140437.4]
  assign _T_32416 = {_T_21209,_T_21207}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140489.4]
  assign _T_32443 = {_T_21211,_T_32416}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140516.4]
  assign _T_32470 = {_T_21213,_T_32443}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140543.4]
  assign _T_32522 = {_T_22265,_T_22263}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140595.4]
  assign _T_32549 = {_T_22267,_T_32522}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140622.4]
  assign _T_32576 = {_T_22269,_T_32549}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140649.4]
  assign _T_32628 = {_T_21537,_T_21535}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140701.4]
  assign _T_32655 = {_T_21539,_T_32628}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140728.4]
  assign _T_32682 = {_T_21541,_T_32655}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140755.4]
  assign _T_32734 = {_T_21249,_T_21247}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140807.4]
  assign _T_32761 = {_T_21251,_T_32734}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140834.4]
  assign _T_32788 = {_T_21253,_T_32761}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140861.4]
  assign _T_32840 = {_T_22521,_T_22519}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140913.4]
  assign _T_32867 = {_T_22523,_T_32840}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140940.4]
  assign _T_32894 = {_T_22525,_T_32867}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@140967.4]
  assign _T_32946 = {_T_21465,_T_21463}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141019.4]
  assign _T_32973 = {_T_21467,_T_32946}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141046.4]
  assign _T_33000 = {_T_21469,_T_32973}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141073.4]
  assign _T_33052 = {_T_21025,_T_21023}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141125.4]
  assign _T_33079 = {_T_21027,_T_33052}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141152.4]
  assign _T_33106 = {_T_21029,_T_33079}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141179.4]
  assign _T_60037 = _T_60333[216]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168310.4]
  assign _T_65742 = _T_71634 & _T_60037; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176044.4]
  assign _T_65743 = _T_65742 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176045.4]
  assign _T_33121 = _T_65743 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141194.4]
  assign _T_33146 = _T_65743 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141222.4]
  assign _T_33173 = _T_65743 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141252.4]
  assign _T_33200 = _T_65743 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141282.4]
  assign _T_33264 = {_T_22737,_T_22735}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141349.4]
  assign _T_33291 = {_T_22739,_T_33264}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141376.4]
  assign _T_33318 = {_T_22741,_T_33291}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141403.4]
  assign _T_33370 = {_T_22873,_T_22871}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141455.4]
  assign _T_33397 = {_T_22875,_T_33370}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141482.4]
  assign _T_33424 = {_T_22877,_T_33397}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141509.4]
  assign _T_33476 = {_T_22481,_T_22479}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141561.4]
  assign _T_33503 = {_T_22483,_T_33476}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141588.4]
  assign _T_33530 = {_T_22485,_T_33503}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141615.4]
  assign _T_33582 = {_T_21505,_T_21503}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141667.4]
  assign _T_33609 = {_T_21507,_T_33582}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141694.4]
  assign _T_33636 = {_T_21509,_T_33609}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141721.4]
  assign _T_33688 = {_T_21945,_T_21943}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141773.4]
  assign _T_33715 = {_T_21947,_T_33688}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141800.4]
  assign _T_33742 = {_T_21949,_T_33715}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141827.4]
  assign _T_60032 = _T_60333[211]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168305.4]
  assign _T_65712 = _T_71634 & _T_60032; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175989.4]
  assign _T_65713 = _T_65712 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175990.4]
  assign _T_33757 = _T_65713 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141842.4]
  assign _T_33782 = _T_65713 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141870.4]
  assign _T_33809 = _T_65713 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141900.4]
  assign _T_33836 = _T_65713 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@141930.4]
  assign _T_33900 = {_T_22817,_T_22815}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@141997.4]
  assign _T_33927 = {_T_22819,_T_33900}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142024.4]
  assign _T_33954 = {_T_22821,_T_33927}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142051.4]
  assign _T_34112 = {_T_21721,_T_21719}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142209.4]
  assign _T_34139 = {_T_21723,_T_34112}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142236.4]
  assign _T_34166 = {_T_21725,_T_34139}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142263.4]
  assign _T_34218 = {_T_21761,_T_21759}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142315.4]
  assign _T_34245 = {_T_21763,_T_34218}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142342.4]
  assign _T_34272 = {_T_21765,_T_34245}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142369.4]
  assign _T_34324 = {_T_22777,_T_22775}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142421.4]
  assign _T_34351 = {_T_22779,_T_34324}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142448.4]
  assign _T_34378 = {_T_22781,_T_34351}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142475.4]
  assign _T_34430 = {_T_22113,_T_22111}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142527.4]
  assign _T_34457 = {_T_22115,_T_34430}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142554.4]
  assign _T_34484 = {_T_22117,_T_34457}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142581.4]
  assign _T_34536 = {_T_21177,_T_21175}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142633.4]
  assign _T_34563 = {_T_21179,_T_34536}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142660.4]
  assign _T_34590 = {_T_21181,_T_34563}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142687.4]
  assign _T_60042 = _T_60333[221]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168315.4]
  assign _T_65772 = _T_71634 & _T_60042; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176099.4]
  assign _T_65773 = _T_65772 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176100.4]
  assign _T_34605 = _T_65773 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@142702.4]
  assign _T_34630 = _T_65773 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@142730.4]
  assign _T_34657 = _T_65773 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@142760.4]
  assign _T_34684 = _T_65773 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@142790.4]
  assign _T_34748 = {_T_21281,_T_21279}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142857.4]
  assign _T_34775 = {_T_21283,_T_34748}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142884.4]
  assign _T_34802 = {_T_21285,_T_34775}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142911.4]
  assign _T_34854 = {_T_22561,_T_22559}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142963.4]
  assign _T_34881 = {_T_22563,_T_34854}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@142990.4]
  assign _T_34908 = {_T_22565,_T_34881}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143017.4]
  assign _T_34960 = {_T_22105,_T_22103}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143069.4]
  assign _T_34987 = {_T_22107,_T_34960}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143096.4]
  assign _T_35014 = {_T_22109,_T_34987}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143123.4]
  assign _T_35066 = {_T_22225,_T_22223}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143175.4]
  assign _T_35093 = {_T_22227,_T_35066}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143202.4]
  assign _T_35120 = {_T_22229,_T_35093}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143229.4]
  assign _T_35172 = {_T_22361,_T_22359}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143281.4]
  assign _T_35199 = {_T_22363,_T_35172}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143308.4]
  assign _T_35226 = {_T_22365,_T_35199}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143335.4]
  assign _T_35278 = {_T_21057,_T_21055}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143387.4]
  assign _T_35305 = {_T_21059,_T_35278}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143414.4]
  assign _T_35332 = {_T_21061,_T_35305}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143441.4]
  assign _T_35384 = {_T_22993,_T_22991}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143493.4]
  assign _T_35411 = {_T_22995,_T_35384}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143520.4]
  assign _T_35438 = {_T_22997,_T_35411}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143547.4]
  assign _T_35596 = {_T_21433,_T_21431}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143705.4]
  assign _T_35623 = {_T_21435,_T_35596}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143732.4]
  assign _T_35650 = {_T_21437,_T_35623}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143759.4]
  assign _T_35727 = {_T_21393,_T_21391}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143836.4]
  assign _T_35754 = {_T_21395,_T_35727}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143863.4]
  assign _T_35781 = {_T_21397,_T_35754}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143890.4]
  assign _T_35833 = {_T_21273,_T_21271}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143942.4]
  assign _T_35860 = {_T_21275,_T_35833}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143969.4]
  assign _T_35887 = {_T_21277,_T_35860}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@143996.4]
  assign _T_35939 = {_T_22553,_T_22551}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144048.4]
  assign _T_35966 = {_T_22555,_T_35939}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144075.4]
  assign _T_35993 = {_T_22557,_T_35966}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144102.4]
  assign _T_36045 = {_T_21977,_T_21975}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144154.4]
  assign _T_36072 = {_T_21979,_T_36045}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144181.4]
  assign _T_36099 = {_T_21981,_T_36072}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144208.4]
  assign _T_36257 = {_T_22449,_T_22447}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144366.4]
  assign _T_36284 = {_T_22451,_T_36257}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144393.4]
  assign _T_36311 = {_T_22453,_T_36284}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144420.4]
  assign _T_36363 = {_T_21097,_T_21095}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144472.4]
  assign _T_36390 = {_T_21099,_T_36363}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144499.4]
  assign _T_36417 = {_T_21101,_T_36390}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144526.4]
  assign _T_36575 = {_T_21985,_T_21983}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144684.4]
  assign _T_36602 = {_T_21987,_T_36575}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144711.4]
  assign _T_36629 = {_T_21989,_T_36602}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144738.4]
  assign _T_60041 = _T_60333[220]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168314.4]
  assign _T_65766 = _T_71634 & _T_60041; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176088.4]
  assign _T_65767 = _T_65766 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176089.4]
  assign _T_36644 = _T_65767 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@144753.4]
  assign _T_36669 = _T_65767 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@144781.4]
  assign _T_36696 = _T_65767 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@144811.4]
  assign _T_36723 = _T_65767 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@144841.4]
  assign _T_36787 = {_T_21865,_T_21863}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144908.4]
  assign _T_36814 = {_T_21867,_T_36787}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144935.4]
  assign _T_36841 = {_T_21869,_T_36814}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@144962.4]
  assign _T_36893 = {_T_21609,_T_21607}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145014.4]
  assign _T_36920 = {_T_21611,_T_36893}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145041.4]
  assign _T_36947 = {_T_21613,_T_36920}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145068.4]
  assign _T_36999 = {_T_21353,_T_21351}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145120.4]
  assign _T_37026 = {_T_21355,_T_36999}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145147.4]
  assign _T_37053 = {_T_21357,_T_37026}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145174.4]
  assign _T_37105 = {_T_21017,_T_21015}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145226.4]
  assign _T_37132 = {_T_21019,_T_37105}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145253.4]
  assign _T_37159 = {_T_21021,_T_37132}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145280.4]
  assign _T_37211 = {_T_21729,_T_21727}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145332.4]
  assign _T_37238 = {_T_21731,_T_37211}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145359.4]
  assign _T_37265 = {_T_21733,_T_37238}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145386.4]
  assign _T_37317 = {_T_22073,_T_22071}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145438.4]
  assign _T_37344 = {_T_22075,_T_37317}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145465.4]
  assign _T_37371 = {_T_22077,_T_37344}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145492.4]
  assign _T_37423 = {_T_21313,_T_21311}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145544.4]
  assign _T_37450 = {_T_21315,_T_37423}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145571.4]
  assign _T_37477 = {_T_21317,_T_37450}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145598.4]
  assign _T_37529 = {_T_22329,_T_22327}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145650.4]
  assign _T_37556 = {_T_22331,_T_37529}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145677.4]
  assign _T_37583 = {_T_22333,_T_37556}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145704.4]
  assign _T_37660 = {_T_22193,_T_22191}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145781.4]
  assign _T_37687 = {_T_22195,_T_37660}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145808.4]
  assign _T_37714 = {_T_22197,_T_37687}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145835.4]
  assign _T_37766 = {_T_22369,_T_22367}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145887.4]
  assign _T_37793 = {_T_22371,_T_37766}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145914.4]
  assign _T_37820 = {_T_22373,_T_37793}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145941.4]
  assign _T_37872 = {_T_21137,_T_21135}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@145993.4]
  assign _T_37899 = {_T_21139,_T_37872}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146020.4]
  assign _T_37926 = {_T_21141,_T_37899}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146047.4]
  assign _T_37978 = {_T_22673,_T_22671}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146099.4]
  assign _T_38005 = {_T_22675,_T_37978}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146126.4]
  assign _T_38032 = {_T_22677,_T_38005}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146153.4]
  assign _T_38084 = {_T_22809,_T_22807}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146205.4]
  assign _T_38111 = {_T_22811,_T_38084}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146232.4]
  assign _T_38138 = {_T_22813,_T_38111}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146259.4]
  assign _T_38190 = {_T_21825,_T_21823}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146311.4]
  assign _T_38217 = {_T_21827,_T_38190}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146338.4]
  assign _T_38244 = {_T_21829,_T_38217}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146365.4]
  assign _T_38321 = {_T_22417,_T_22415}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146444.4]
  assign _T_38348 = {_T_22419,_T_38321}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146471.4]
  assign _T_38375 = {_T_22421,_T_38348}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146498.4]
  assign _T_38427 = {_T_21569,_T_21567}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146550.4]
  assign _T_38454 = {_T_21571,_T_38427}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146577.4]
  assign _T_38481 = {_T_21573,_T_38454}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146604.4]
  assign _T_38639 = {_T_22625,_T_22623}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146762.4]
  assign _T_38666 = {_T_22627,_T_38639}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146789.4]
  assign _T_38693 = {_T_22629,_T_38666}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146816.4]
  assign _T_38745 = {_T_22881,_T_22879}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146868.4]
  assign _T_38772 = {_T_22883,_T_38745}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146895.4]
  assign _T_38799 = {_T_22885,_T_38772}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146922.4]
  assign _T_38851 = {_T_22585,_T_22583}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@146974.4]
  assign _T_38878 = {_T_22587,_T_38851}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147001.4]
  assign _T_38905 = {_T_22589,_T_38878}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147028.4]
  assign _T_38957 = {_T_21529,_T_21527}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147080.4]
  assign _T_38984 = {_T_21531,_T_38957}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147107.4]
  assign _T_39011 = {_T_21533,_T_38984}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147134.4]
  assign _T_39063 = {_T_21217,_T_21215}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147186.4]
  assign _T_39090 = {_T_21219,_T_39063}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147213.4]
  assign _T_39117 = {_T_21221,_T_39090}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147240.4]
  assign _T_60045 = _T_60333[224]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168318.4]
  assign _T_65790 = _T_71634 & _T_60045; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176132.4]
  assign _T_65791 = _T_65790 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176133.4]
  assign _T_39132 = _T_65791 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147255.4]
  assign _T_39157 = _T_65791 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147283.4]
  assign _T_39184 = _T_65791 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147313.4]
  assign _T_39211 = _T_65791 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@147343.4]
  assign _T_39381 = {_T_21473,_T_21471}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147516.4]
  assign _T_39408 = {_T_21475,_T_39381}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147543.4]
  assign _T_39435 = {_T_21477,_T_39408}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147570.4]
  assign _T_39487 = {_T_22161,_T_22159}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147622.4]
  assign _T_39514 = {_T_22163,_T_39487}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147649.4]
  assign _T_39541 = {_T_22165,_T_39514}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147676.4]
  assign _T_39593 = {_T_22041,_T_22039}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147728.4]
  assign _T_39620 = {_T_22043,_T_39593}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147755.4]
  assign _T_39647 = {_T_22045,_T_39620}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147782.4]
  assign _T_39699 = {_T_21785,_T_21783}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147834.4]
  assign _T_39726 = {_T_21787,_T_39699}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147861.4]
  assign _T_39753 = {_T_21789,_T_39726}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147888.4]
  assign _T_39805 = {_T_22297,_T_22295}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147940.4]
  assign _T_39832 = {_T_22299,_T_39805}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147967.4]
  assign _T_39859 = {_T_22301,_T_39832}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@147994.4]
  assign _T_39911 = {_T_22929,_T_22927}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148046.4]
  assign _T_39938 = {_T_22931,_T_39911}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148073.4]
  assign _T_39965 = {_T_22933,_T_39938}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148100.4]
  assign _T_40017 = {_T_21561,_T_21559}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148152.4]
  assign _T_40044 = {_T_21563,_T_40017}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148179.4]
  assign _T_40071 = {_T_21565,_T_40044}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148206.4]
  assign _T_40123 = {_T_22705,_T_22703}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148258.4]
  assign _T_40150 = {_T_22707,_T_40123}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148285.4]
  assign _T_40177 = {_T_22709,_T_40150}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148312.4]
  assign _T_40229 = {_T_20985,_T_20983}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148364.4]
  assign _T_40256 = {_T_20987,_T_40229}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148391.4]
  assign _T_40283 = {_T_20989,_T_40256}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148418.4]
  assign _T_40335 = {_T_22841,_T_22839}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148470.4]
  assign _T_40362 = {_T_22843,_T_40335}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148497.4]
  assign _T_40389 = {_T_22845,_T_40362}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148524.4]
  assign _T_40441 = {_T_21649,_T_21647}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148576.4]
  assign _T_40468 = {_T_21651,_T_40441}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148603.4]
  assign _T_40495 = {_T_21653,_T_40468}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148630.4]
  assign _T_40547 = {_T_22745,_T_22743}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148682.4]
  assign _T_40574 = {_T_22747,_T_40547}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148709.4]
  assign _T_40601 = {_T_22749,_T_40574}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148736.4]
  assign _T_40759 = {_T_22849,_T_22847}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148894.4]
  assign _T_40786 = {_T_22851,_T_40759}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148921.4]
  assign _T_40813 = {_T_22853,_T_40786}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@148948.4]
  assign _T_60033 = _T_60333[212]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168306.4]
  assign _T_65718 = _T_71634 & _T_60033; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176000.4]
  assign _T_65719 = _T_65718 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176001.4]
  assign _T_40828 = _T_65719 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@148963.4]
  assign _T_40853 = _T_65719 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@148991.4]
  assign _T_40880 = _T_65719 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@149021.4]
  assign _T_40907 = _T_65719 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@149051.4]
  assign _T_40971 = {_T_22081,_T_22079}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149118.4]
  assign _T_40998 = {_T_22083,_T_40971}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149145.4]
  assign _T_41025 = {_T_22085,_T_40998}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149172.4]
  assign _T_41183 = {_T_22593,_T_22591}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149330.4]
  assign _T_41210 = {_T_22595,_T_41183}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149357.4]
  assign _T_41237 = {_T_22597,_T_41210}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149384.4]
  assign _T_41289 = {_T_21905,_T_21903}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149436.4]
  assign _T_41316 = {_T_21907,_T_41289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149463.4]
  assign _T_41343 = {_T_21909,_T_41316}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149490.4]
  assign _T_41395 = {_T_22961,_T_22959}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149542.4]
  assign _T_41422 = {_T_22963,_T_41395}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149569.4]
  assign _T_41449 = {_T_22965,_T_41422}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149596.4]
  assign _T_41501 = {_T_21681,_T_21679}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149648.4]
  assign _T_41528 = {_T_21683,_T_41501}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149675.4]
  assign _T_41555 = {_T_21685,_T_41528}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149702.4]
  assign _T_41607 = {_T_21065,_T_21063}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149754.4]
  assign _T_41634 = {_T_21067,_T_41607}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149781.4]
  assign _T_41661 = {_T_21069,_T_41634}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149808.4]
  assign _T_41713 = {_T_21817,_T_21815}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149860.4]
  assign _T_41740 = {_T_21819,_T_41713}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149887.4]
  assign _T_41767 = {_T_21821,_T_41740}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149914.4]
  assign _T_41819 = {_T_23001,_T_22999}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149966.4]
  assign _T_41846 = {_T_23003,_T_41819}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@149993.4]
  assign _T_41873 = {_T_23005,_T_41846}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150020.4]
  assign _T_41925 = {_T_21425,_T_21423}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150072.4]
  assign _T_41952 = {_T_21427,_T_41925}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150099.4]
  assign _T_41979 = {_T_21429,_T_41952}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150126.4]
  assign _T_42031 = {_T_22121,_T_22119}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150178.4]
  assign _T_42058 = {_T_22123,_T_42031}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150205.4]
  assign _T_42085 = {_T_22125,_T_42058}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150232.4]
  assign _T_42243 = {_T_21321,_T_21319}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150390.4]
  assign _T_42270 = {_T_21323,_T_42243}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150417.4]
  assign _T_42297 = {_T_21325,_T_42270}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150444.4]
  assign _T_42349 = {_T_22233,_T_22231}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150496.4]
  assign _T_42376 = {_T_22235,_T_42349}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150523.4]
  assign _T_42403 = {_T_22237,_T_42376}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150550.4]
  assign _T_42455 = {_T_22337,_T_22335}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150602.4]
  assign _T_42482 = {_T_22339,_T_42455}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150629.4]
  assign _T_42509 = {_T_22341,_T_42482}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150656.4]
  assign _T_42667 = {_T_22377,_T_22375}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150814.4]
  assign _T_42694 = {_T_22379,_T_42667}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150841.4]
  assign _T_42721 = {_T_22381,_T_42694}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150868.4]
  assign _T_42773 = {_T_21049,_T_21047}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150920.4]
  assign _T_42800 = {_T_21051,_T_42773}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150947.4]
  assign _T_42827 = {_T_21053,_T_42800}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@150974.4]
  assign _T_42879 = {_T_21169,_T_21167}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151026.4]
  assign _T_42906 = {_T_21171,_T_42879}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151053.4]
  assign _T_42933 = {_T_21173,_T_42906}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151080.4]
  assign _T_43010 = {_T_21305,_T_21303}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151159.4]
  assign _T_43037 = {_T_21307,_T_43010}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151186.4]
  assign _T_43064 = {_T_21309,_T_43037}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151213.4]
  assign _T_43116 = {_T_22489,_T_22487}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151265.4]
  assign _T_43143 = {_T_22491,_T_43116}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151292.4]
  assign _T_43170 = {_T_22493,_T_43143}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151319.4]
  assign _T_43222 = {_T_21937,_T_21935}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151371.4]
  assign _T_43249 = {_T_21939,_T_43222}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151398.4]
  assign _T_43276 = {_T_21941,_T_43249}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151425.4]
  assign _T_43328 = {_T_22321,_T_22319}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151477.4]
  assign _T_43355 = {_T_22323,_T_43328}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151504.4]
  assign _T_43382 = {_T_22325,_T_43355}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151531.4]
  assign _T_43434 = {_T_22153,_T_22151}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151583.4]
  assign _T_43461 = {_T_22155,_T_43434}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151610.4]
  assign _T_43488 = {_T_22157,_T_43461}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151637.4]
  assign _T_43540 = {_T_21225,_T_21223}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151689.4]
  assign _T_43567 = {_T_21227,_T_43540}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151716.4]
  assign _T_43594 = {_T_21229,_T_43567}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151743.4]
  assign _T_43646 = {_T_21265,_T_21263}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151795.4]
  assign _T_43673 = {_T_21267,_T_43646}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151822.4]
  assign _T_43700 = {_T_21269,_T_43673}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151849.4]
  assign _T_43752 = {_T_21185,_T_21183}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151901.4]
  assign _T_43779 = {_T_21187,_T_43752}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151928.4]
  assign _T_43806 = {_T_21189,_T_43779}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@151955.4]
  assign _T_43858 = {_T_21009,_T_21007}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152007.4]
  assign _T_43885 = {_T_21011,_T_43858}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152034.4]
  assign _T_43912 = {_T_21013,_T_43885}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152061.4]
  assign _T_43964 = {_T_22241,_T_22239}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152113.4]
  assign _T_43991 = {_T_22243,_T_43964}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152140.4]
  assign _T_44018 = {_T_22245,_T_43991}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152167.4]
  assign _T_44070 = {_T_22065,_T_22063}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152219.4]
  assign _T_44097 = {_T_22067,_T_44070}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152246.4]
  assign _T_44124 = {_T_22069,_T_44097}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152273.4]
  assign _T_44176 = {_T_22497,_T_22495}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152325.4]
  assign _T_44203 = {_T_22499,_T_44176}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152352.4]
  assign _T_44230 = {_T_22501,_T_44203}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152379.4]
  assign _T_44282 = {_T_21993,_T_21991}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152431.4]
  assign _T_44309 = {_T_21995,_T_44282}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152458.4]
  assign _T_44336 = {_T_21997,_T_44309}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152485.4]
  assign _T_44388 = {_T_21441,_T_21439}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152537.4]
  assign _T_44415 = {_T_21443,_T_44388}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152564.4]
  assign _T_44442 = {_T_21445,_T_44415}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152591.4]
  assign _T_44494 = {_T_22921,_T_22919}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152643.4]
  assign _T_44521 = {_T_22923,_T_44494}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152670.4]
  assign _T_44548 = {_T_22925,_T_44521}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152697.4]
  assign _T_44600 = {_T_22665,_T_22663}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152749.4]
  assign _T_44627 = {_T_22667,_T_44600}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152776.4]
  assign _T_44654 = {_T_22669,_T_44627}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152803.4]
  assign _T_44706 = {_T_21617,_T_21615}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152855.4]
  assign _T_44733 = {_T_21619,_T_44706}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152882.4]
  assign _T_44760 = {_T_21621,_T_44733}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152909.4]
  assign _T_44812 = {_T_21737,_T_21735}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152961.4]
  assign _T_44839 = {_T_21739,_T_44812}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@152988.4]
  assign _T_44866 = {_T_21741,_T_44839}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153015.4]
  assign _T_44918 = {_T_22185,_T_22183}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153067.4]
  assign _T_44945 = {_T_22187,_T_44918}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153094.4]
  assign _T_44972 = {_T_22189,_T_44945}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153121.4]
  assign _T_60040 = _T_60333[219]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168313.4]
  assign _T_65760 = _T_71634 & _T_60040; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176077.4]
  assign _T_65761 = _T_65760 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176078.4]
  assign _T_44987 = _T_65761 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@153136.4]
  assign _T_45012 = _T_65761 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@153164.4]
  assign _T_45039 = _T_65761 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@153194.4]
  assign _T_45066 = _T_65761 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@153224.4]
  assign _T_45130 = {_T_21129,_T_21127}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153291.4]
  assign _T_45157 = {_T_21131,_T_45130}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153318.4]
  assign _T_45184 = {_T_21133,_T_45157}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153345.4]
  assign _T_45236 = {_T_22289,_T_22287}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153397.4]
  assign _T_45263 = {_T_22291,_T_45236}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153424.4]
  assign _T_45290 = {_T_22293,_T_45263}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153451.4]
  assign _T_45342 = {_T_21953,_T_21951}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153503.4]
  assign _T_45369 = {_T_21955,_T_45342}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153530.4]
  assign _T_45396 = {_T_21957,_T_45369}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153557.4]
  assign _T_45448 = {_T_21833,_T_21831}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153609.4]
  assign _T_45475 = {_T_21835,_T_45448}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153636.4]
  assign _T_45502 = {_T_21837,_T_45475}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153663.4]
  assign _T_45554 = {_T_22545,_T_22543}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153715.4]
  assign _T_45581 = {_T_22547,_T_45554}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153742.4]
  assign _T_45608 = {_T_22549,_T_45581}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153769.4]
  assign _T_45660 = {_T_21481,_T_21479}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153821.4]
  assign _T_45687 = {_T_21483,_T_45660}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153848.4]
  assign _T_45714 = {_T_21485,_T_45687}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153875.4]
  assign _T_45766 = {_T_23009,_T_23007}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153927.4]
  assign _T_45793 = {_T_23011,_T_45766}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153954.4]
  assign _T_45820 = {_T_23013,_T_45793}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@153981.4]
  assign _T_45872 = {_T_22409,_T_22407}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154033.4]
  assign _T_45899 = {_T_22411,_T_45872}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154060.4]
  assign _T_45926 = {_T_22413,_T_45899}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154087.4]
  assign _T_45978 = {_T_21361,_T_21359}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154139.4]
  assign _T_46005 = {_T_21363,_T_45978}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154166.4]
  assign _T_46032 = {_T_21365,_T_46005}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154193.4]
  assign _T_46084 = {_T_21105,_T_21103}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154245.4]
  assign _T_46111 = {_T_21107,_T_46084}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154272.4]
  assign _T_46138 = {_T_21109,_T_46111}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154299.4]
  assign _T_60029 = _T_60333[208]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168302.4]
  assign _T_65694 = _T_71634 & _T_60029; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175956.4]
  assign _T_65695 = _T_65694 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175957.4]
  assign _T_46153 = _T_65695 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@154314.4]
  assign _T_46178 = _T_65695 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@154342.4]
  assign _T_46205 = _T_65695 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@154372.4]
  assign _T_46232 = _T_65695 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@154402.4]
  assign _T_46296 = {_T_22753,_T_22751}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154469.4]
  assign _T_46323 = {_T_22755,_T_46296}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154496.4]
  assign _T_46350 = {_T_22757,_T_46323}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154523.4]
  assign _T_46402 = {_T_22033,_T_22031}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154575.4]
  assign _T_46429 = {_T_22035,_T_46402}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154602.4]
  assign _T_46456 = {_T_22037,_T_46429}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154629.4]
  assign _T_46508 = {_T_22889,_T_22887}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154681.4]
  assign _T_46535 = {_T_22891,_T_46508}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154708.4]
  assign _T_46562 = {_T_22893,_T_46535}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154735.4]
  assign _T_46614 = {_T_21697,_T_21695}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154787.4]
  assign _T_46641 = {_T_21699,_T_46614}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154814.4]
  assign _T_46668 = {_T_21701,_T_46641}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154841.4]
  assign _T_46720 = {_T_21873,_T_21871}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154893.4]
  assign _T_46747 = {_T_21875,_T_46720}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154920.4]
  assign _T_46774 = {_T_21877,_T_46747}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154947.4]
  assign _T_46826 = {_T_21521,_T_21519}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@154999.4]
  assign _T_46853 = {_T_21523,_T_46826}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155026.4]
  assign _T_46880 = {_T_21525,_T_46853}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155053.4]
  assign _T_60034 = _T_60333[213]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168307.4]
  assign _T_65724 = _T_71634 & _T_60034; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176011.4]
  assign _T_65725 = _T_65724 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176012.4]
  assign _T_46895 = _T_65725 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@155068.4]
  assign _T_46920 = _T_65725 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@155096.4]
  assign _T_46947 = _T_65725 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@155126.4]
  assign _T_46974 = _T_65725 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@155156.4]
  assign _T_47038 = {_T_22801,_T_22799}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155223.4]
  assign _T_47065 = {_T_22803,_T_47038}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155250.4]
  assign _T_47092 = {_T_22805,_T_47065}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155277.4]
  assign _T_47275 = {_T_21577,_T_21575}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155462.4]
  assign _T_47302 = {_T_21579,_T_47275}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155489.4]
  assign _T_47329 = {_T_21581,_T_47302}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155516.4]
  assign _T_47381 = {_T_22633,_T_22631}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155568.4]
  assign _T_47408 = {_T_22635,_T_47381}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155595.4]
  assign _T_47435 = {_T_22637,_T_47408}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155622.4]
  assign _T_47593 = {_T_22129,_T_22127}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155780.4]
  assign _T_47620 = {_T_22131,_T_47593}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155807.4]
  assign _T_47647 = {_T_22133,_T_47620}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155834.4]
  assign _T_47699 = {_T_21161,_T_21159}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155886.4]
  assign _T_47726 = {_T_21163,_T_47699}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155913.4]
  assign _T_47753 = {_T_21165,_T_47726}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155940.4]
  assign _T_47805 = {_T_22577,_T_22575}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@155992.4]
  assign _T_47832 = {_T_22579,_T_47805}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156019.4]
  assign _T_47859 = {_T_22581,_T_47832}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156046.4]
  assign _T_60044 = _T_60333[223]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168317.4]
  assign _T_65784 = _T_71634 & _T_60044; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176121.4]
  assign _T_65785 = _T_65784 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176122.4]
  assign _T_47874 = _T_65785 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@156061.4]
  assign _T_47899 = _T_65785 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@156089.4]
  assign _T_47926 = _T_65785 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@156119.4]
  assign _T_47953 = _T_65785 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@156149.4]
  assign _T_48017 = {_T_22089,_T_22087}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156216.4]
  assign _T_48044 = {_T_22091,_T_48017}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156243.4]
  assign _T_48071 = {_T_22093,_T_48044}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156270.4]
  assign _T_48123 = {_T_21385,_T_21383}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156322.4]
  assign _T_48150 = {_T_21387,_T_48123}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156349.4]
  assign _T_48177 = {_T_21389,_T_48150}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156376.4]
  assign _T_48229 = {_T_21329,_T_21327}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156428.4]
  assign _T_48256 = {_T_21331,_T_48229}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156455.4]
  assign _T_48283 = {_T_21333,_T_48256}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156482.4]
  assign _T_48335 = {_T_21073,_T_21071}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156534.4]
  assign _T_48362 = {_T_21075,_T_48335}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156561.4]
  assign _T_48389 = {_T_21077,_T_48362}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156588.4]
  assign _T_48441 = {_T_22977,_T_22975}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156640.4]
  assign _T_48468 = {_T_22979,_T_48441}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156667.4]
  assign _T_48495 = {_T_22981,_T_48468}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156694.4]
  assign _T_48547 = {_T_22441,_T_22439}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156746.4]
  assign _T_48574 = {_T_22443,_T_48547}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156773.4]
  assign _T_48601 = {_T_22445,_T_48574}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156800.4]
  assign _T_48653 = {_T_22385,_T_22383}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156852.4]
  assign _T_48680 = {_T_22387,_T_48653}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156879.4]
  assign _T_48707 = {_T_22389,_T_48680}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156906.4]
  assign _T_48759 = {_T_22721,_T_22719}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156958.4]
  assign _T_48786 = {_T_22723,_T_48759}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@156985.4]
  assign _T_48813 = {_T_22725,_T_48786}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157012.4]
  assign _T_48865 = {_T_22857,_T_22855}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157064.4]
  assign _T_48892 = {_T_22859,_T_48865}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157091.4]
  assign _T_48919 = {_T_22861,_T_48892}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157118.4]
  assign _T_48971 = {_T_22345,_T_22343}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157170.4]
  assign _T_48998 = {_T_22347,_T_48971}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157197.4]
  assign _T_49025 = {_T_22349,_T_48998}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157224.4]
  assign _T_49183 = {_T_21929,_T_21927}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157382.4]
  assign _T_49210 = {_T_21931,_T_49183}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157409.4]
  assign _T_49237 = {_T_21933,_T_49210}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157436.4]
  assign _T_60030 = _T_60333[209]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168303.4]
  assign _T_65700 = _T_71634 & _T_60030; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175967.4]
  assign _T_65701 = _T_65700 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175968.4]
  assign _T_49252 = _T_65701 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@157451.4]
  assign _T_49277 = _T_65701 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@157479.4]
  assign _T_49304 = _T_65701 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@157509.4]
  assign _T_49331 = _T_65701 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@157539.4]
  assign _T_49395 = {_T_22833,_T_22831}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157606.4]
  assign _T_49422 = {_T_22835,_T_49395}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157633.4]
  assign _T_49449 = {_T_22837,_T_49422}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157660.4]
  assign _T_49607 = {_T_21673,_T_21671}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157818.4]
  assign _T_49634 = {_T_21675,_T_49607}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157845.4]
  assign _T_49661 = {_T_21677,_T_49634}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157872.4]
  assign _T_49713 = {_T_21777,_T_21775}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157924.4]
  assign _T_49740 = {_T_21779,_T_49713}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157951.4]
  assign _T_49767 = {_T_21781,_T_49740}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@157978.4]
  assign _T_49819 = {_T_22601,_T_22599}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158030.4]
  assign _T_49846 = {_T_22603,_T_49819}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158057.4]
  assign _T_49873 = {_T_22605,_T_49846}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158084.4]
  assign _T_50031 = {_T_21297,_T_21295}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158242.4]
  assign _T_50058 = {_T_21299,_T_50031}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158269.4]
  assign _T_50085 = {_T_21301,_T_50058}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158296.4]
  assign _T_50137 = {_T_21193,_T_21191}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158348.4]
  assign _T_50164 = {_T_21195,_T_50137}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158375.4]
  assign _T_50191 = {_T_21197,_T_50164}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158402.4]
  assign _T_50243 = {_T_22249,_T_22247}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158454.4]
  assign _T_50270 = {_T_22251,_T_50243}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158481.4]
  assign _T_50297 = {_T_22253,_T_50270}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158508.4]
  assign _T_50349 = {_T_21553,_T_21551}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158560.4]
  assign _T_50376 = {_T_21555,_T_50349}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158587.4]
  assign _T_50403 = {_T_21557,_T_50376}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158614.4]
  assign _T_50455 = {_T_22209,_T_22207}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158666.4]
  assign _T_50482 = {_T_22211,_T_50455}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158693.4]
  assign _T_50509 = {_T_22213,_T_50482}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158720.4]
  assign _T_50561 = {_T_21041,_T_21039}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158772.4]
  assign _T_50588 = {_T_21043,_T_50561}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158799.4]
  assign _T_50615 = {_T_21045,_T_50588}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158826.4]
  assign _T_50667 = {_T_21417,_T_21415}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158878.4]
  assign _T_50694 = {_T_21419,_T_50667}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158905.4]
  assign _T_50721 = {_T_21421,_T_50694}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@158932.4]
  assign _T_50798 = {_T_21585,_T_21583}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159011.4]
  assign _T_50825 = {_T_21587,_T_50798}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159038.4]
  assign _T_50852 = {_T_21589,_T_50825}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159065.4]
  assign _T_50904 = {_T_22465,_T_22463}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159117.4]
  assign _T_50931 = {_T_22467,_T_50904}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159144.4]
  assign _T_50958 = {_T_22469,_T_50931}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159171.4]
  assign _T_51010 = {_T_21897,_T_21895}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159223.4]
  assign _T_51037 = {_T_21899,_T_51010}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159250.4]
  assign _T_51064 = {_T_21901,_T_51037}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159277.4]
  assign _T_51116 = {_T_22953,_T_22951}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159329.4]
  assign _T_51143 = {_T_22955,_T_51116}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159356.4]
  assign _T_51170 = {_T_22957,_T_51143}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159383.4]
  assign _T_51222 = {_T_22641,_T_22639}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159435.4]
  assign _T_51249 = {_T_22643,_T_51222}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159462.4]
  assign _T_51276 = {_T_22645,_T_51249}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159489.4]
  assign _T_51328 = {_T_21641,_T_21639}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159541.4]
  assign _T_51355 = {_T_21643,_T_51328}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159568.4]
  assign _T_51382 = {_T_21645,_T_51355}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159595.4]
  assign _T_51434 = {_T_22697,_T_22695}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159647.4]
  assign _T_51461 = {_T_22699,_T_51434}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159674.4]
  assign _T_51488 = {_T_22701,_T_51461}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159701.4]
  assign _T_51540 = {_T_21809,_T_21807}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159753.4]
  assign _T_51567 = {_T_21811,_T_51540}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159780.4]
  assign _T_51594 = {_T_21813,_T_51567}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159807.4]
  assign _T_51646 = {_T_21625,_T_21623}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159859.4]
  assign _T_51673 = {_T_21627,_T_51646}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159886.4]
  assign _T_51700 = {_T_21629,_T_51673}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159913.4]
  assign _T_51752 = {_T_22025,_T_22023}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159965.4]
  assign _T_51779 = {_T_22027,_T_51752}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@159992.4]
  assign _T_51806 = {_T_22029,_T_51779}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160019.4]
  assign _T_51858 = {_T_21449,_T_21447}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160071.4]
  assign _T_51885 = {_T_21451,_T_51858}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160098.4]
  assign _T_51912 = {_T_21453,_T_51885}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160125.4]
  assign _T_51964 = {_T_22505,_T_22503}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160177.4]
  assign _T_51991 = {_T_22507,_T_51964}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160204.4]
  assign _T_52018 = {_T_22509,_T_51991}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160231.4]
  assign _T_52070 = {_T_22913,_T_22911}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160283.4]
  assign _T_52097 = {_T_22915,_T_52070}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160310.4]
  assign _T_52124 = {_T_22917,_T_52097}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160337.4]
  assign _T_52176 = {_T_22657,_T_22655}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160389.4]
  assign _T_52203 = {_T_22659,_T_52176}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160416.4]
  assign _T_52230 = {_T_22661,_T_52203}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160443.4]
  assign _T_52282 = {_T_22537,_T_22535}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160495.4]
  assign _T_52309 = {_T_22539,_T_52282}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160522.4]
  assign _T_52336 = {_T_22541,_T_52309}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160549.4]
  assign _T_52388 = {_T_21841,_T_21839}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160601.4]
  assign _T_52415 = {_T_21843,_T_52388}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160628.4]
  assign _T_52442 = {_T_21845,_T_52415}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160655.4]
  assign _T_52494 = {_T_22793,_T_22791}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160707.4]
  assign _T_52521 = {_T_22795,_T_52494}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160734.4]
  assign _T_52548 = {_T_22797,_T_52521}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160761.4]
  assign _T_52706 = {_T_22897,_T_22895}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160919.4]
  assign _T_52733 = {_T_22899,_T_52706}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160946.4]
  assign _T_52760 = {_T_22901,_T_52733}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@160973.4]
  assign _T_60039 = _T_60333[218]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168312.4]
  assign _T_65754 = _T_71634 & _T_60039; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176066.4]
  assign _T_65755 = _T_65754 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176067.4]
  assign _T_52775 = _T_65755 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@160988.4]
  assign _T_52800 = _T_65755 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@161016.4]
  assign _T_52827 = _T_65755 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@161046.4]
  assign _T_52854 = _T_65755 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@161076.4]
  assign _T_52918 = {_T_21881,_T_21879}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161143.4]
  assign _T_52945 = {_T_21883,_T_52918}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161170.4]
  assign _T_52972 = {_T_21885,_T_52945}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161197.4]
  assign _T_53130 = {_T_21489,_T_21487}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161355.4]
  assign _T_53157 = {_T_21491,_T_53130}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161382.4]
  assign _T_53184 = {_T_21493,_T_53157}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161409.4]
  assign _T_53236 = {_T_21369,_T_21367}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161461.4]
  assign _T_53263 = {_T_21371,_T_53236}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161488.4]
  assign _T_53290 = {_T_21373,_T_53263}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161515.4]
  assign _T_53342 = {_T_21001,_T_20999}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161567.4]
  assign _T_53369 = {_T_21003,_T_53342}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161594.4]
  assign _T_53396 = {_T_21005,_T_53369}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161621.4]
  assign _T_53448 = {_T_21745,_T_21743}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161673.4]
  assign _T_53475 = {_T_21747,_T_53448}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161700.4]
  assign _T_53502 = {_T_21749,_T_53475}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161727.4]
  assign _T_53554 = {_T_22057,_T_22055}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161779.4]
  assign _T_53581 = {_T_22059,_T_53554}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161806.4]
  assign _T_53608 = {_T_22061,_T_53581}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161833.4]
  assign _T_53660 = {_T_22145,_T_22143}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161885.4]
  assign _T_53687 = {_T_22147,_T_53660}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161912.4]
  assign _T_53714 = {_T_22149,_T_53687}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161939.4]
  assign _T_53766 = {_T_22281,_T_22279}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@161991.4]
  assign _T_53793 = {_T_22283,_T_53766}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162018.4]
  assign _T_53820 = {_T_22285,_T_53793}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162045.4]
  assign _T_53872 = {_T_21257,_T_21255}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162097.4]
  assign _T_53899 = {_T_21259,_T_53872}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162124.4]
  assign _T_53926 = {_T_21261,_T_53899}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162151.4]
  assign _T_53978 = {_T_21961,_T_21959}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162203.4]
  assign _T_54005 = {_T_21963,_T_53978}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162230.4]
  assign _T_54032 = {_T_21965,_T_54005}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162257.4]
  assign _T_54084 = {_T_22401,_T_22399}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162309.4]
  assign _T_54111 = {_T_22403,_T_54084}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162336.4]
  assign _T_54138 = {_T_22405,_T_54111}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162363.4]
  assign _T_54190 = {_T_23017,_T_23015}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162415.4]
  assign _T_54217 = {_T_23019,_T_54190}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162442.4]
  assign _T_54244 = {_T_23021,_T_54217}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162469.4]
  assign _T_54321 = {_T_22761,_T_22759}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162546.4]
  assign _T_54348 = {_T_22763,_T_54321}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162573.4]
  assign _T_54375 = {_T_22765,_T_54348}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162600.4]
  assign _T_54427 = {_T_21113,_T_21111}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162652.4]
  assign _T_54454 = {_T_21115,_T_54427}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162679.4]
  assign _T_54481 = {_T_21117,_T_54454}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162706.4]
  assign _T_54533 = {_T_22001,_T_21999}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162758.4]
  assign _T_54560 = {_T_22003,_T_54533}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162785.4]
  assign _T_54587 = {_T_22005,_T_54560}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162812.4]
  assign _T_54639 = {_T_21705,_T_21703}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162864.4]
  assign _T_54666 = {_T_21707,_T_54639}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162891.4]
  assign _T_54693 = {_T_21709,_T_54666}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@162918.4]
  assign _T_60035 = _T_60333[214]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168308.4]
  assign _T_65730 = _T_71634 & _T_60035; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176022.4]
  assign _T_65731 = _T_65730 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176023.4]
  assign _T_54708 = _T_65731 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@162933.4]
  assign _T_54733 = _T_65731 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@162961.4]
  assign _T_54760 = _T_65731 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@162991.4]
  assign _T_54787 = _T_65731 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@163021.4]
  assign _T_54851 = {_T_21233,_T_21231}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163088.4]
  assign _T_54878 = {_T_21235,_T_54851}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163115.4]
  assign _T_54905 = {_T_21237,_T_54878}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163142.4]
  assign _T_54957 = {_T_21337,_T_21335}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163194.4]
  assign _T_54984 = {_T_21339,_T_54957}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163221.4]
  assign _T_55011 = {_T_21341,_T_54984}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163248.4]
  assign _T_55063 = {_T_22513,_T_22511}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163300.4]
  assign _T_55090 = {_T_22515,_T_55063}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163327.4]
  assign _T_55117 = {_T_22517,_T_55090}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163354.4]
  assign _T_55169 = {_T_21457,_T_21455}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163406.4]
  assign _T_55196 = {_T_21459,_T_55169}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163433.4]
  assign _T_55223 = {_T_21461,_T_55196}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163460.4]
  assign _T_55275 = {_T_22393,_T_22391}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163512.4]
  assign _T_55302 = {_T_22395,_T_55275}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163539.4]
  assign _T_55329 = {_T_22397,_T_55302}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163566.4]
  assign _T_55381 = {_T_22217,_T_22215}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163618.4]
  assign _T_55408 = {_T_22219,_T_55381}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163645.4]
  assign _T_55435 = {_T_22221,_T_55408}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163672.4]
  assign _T_55487 = {_T_21033,_T_21031}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163724.4]
  assign _T_55514 = {_T_21035,_T_55487}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163751.4]
  assign _T_55541 = {_T_21037,_T_55514}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163778.4]
  assign _T_55593 = {_T_22177,_T_22175}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163830.4]
  assign _T_55620 = {_T_22179,_T_55593}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163857.4]
  assign _T_55647 = {_T_22181,_T_55620}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163884.4]
  assign _T_55699 = {_T_22313,_T_22311}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163936.4]
  assign _T_55726 = {_T_22315,_T_55699}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163963.4]
  assign _T_55753 = {_T_22317,_T_55726}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@163990.4]
  assign _T_55805 = {_T_21121,_T_21119}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164042.4]
  assign _T_55832 = {_T_21123,_T_55805}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164069.4]
  assign _T_55859 = {_T_21125,_T_55832}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164096.4]
  assign _T_55911 = {_T_21921,_T_21919}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164148.4]
  assign _T_55938 = {_T_21923,_T_55911}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164175.4]
  assign _T_55965 = {_T_21925,_T_55938}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164202.4]
  assign _T_56017 = {_T_21377,_T_21375}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164254.4]
  assign _T_56044 = {_T_21379,_T_56017}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164281.4]
  assign _T_56071 = {_T_21381,_T_56044}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164308.4]
  assign _T_60031 = _T_60333[210]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168304.4]
  assign _T_65706 = _T_71634 & _T_60031; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175978.4]
  assign _T_65707 = _T_65706 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@175979.4]
  assign _T_56086 = _T_65707 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@164323.4]
  assign _T_56111 = _T_65707 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@164351.4]
  assign _T_56138 = _T_65707 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@164381.4]
  assign _T_56165 = _T_65707 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@164411.4]
  assign _T_56229 = {_T_21545,_T_21543}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164478.4]
  assign _T_56256 = {_T_21547,_T_56229}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164505.4]
  assign _T_56283 = {_T_21549,_T_56256}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164532.4]
  assign _T_56335 = {_T_21289,_T_21287}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164584.4]
  assign _T_56362 = {_T_21291,_T_56335}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164611.4]
  assign _T_56389 = {_T_21293,_T_56362}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164638.4]
  assign _T_56441 = {_T_21665,_T_21663}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164690.4]
  assign _T_56468 = {_T_21667,_T_56441}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164717.4]
  assign _T_56495 = {_T_21669,_T_56468}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164744.4]
  assign _T_56547 = {_T_22985,_T_22983}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164796.4]
  assign _T_56574 = {_T_22987,_T_56547}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164823.4]
  assign _T_56601 = {_T_22989,_T_56574}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164850.4]
  assign _T_56653 = {_T_21081,_T_21079}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164902.4]
  assign _T_56680 = {_T_21083,_T_56653}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164929.4]
  assign _T_56707 = {_T_21085,_T_56680}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@164956.4]
  assign _T_56759 = {_T_21801,_T_21799}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165008.4]
  assign _T_56786 = {_T_21803,_T_56759}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165035.4]
  assign _T_56813 = {_T_21805,_T_56786}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165062.4]
  assign _T_56865 = {_T_22433,_T_22431}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165114.4]
  assign _T_56892 = {_T_22435,_T_56865}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165141.4]
  assign _T_56919 = {_T_22437,_T_56892}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165168.4]
  assign _T_56971 = {_T_22729,_T_22727}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165220.4]
  assign _T_56998 = {_T_22731,_T_56971}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165247.4]
  assign _T_57025 = {_T_22733,_T_56998}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165274.4]
  assign _T_57077 = {_T_22137,_T_22135}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165326.4]
  assign _T_57104 = {_T_22139,_T_57077}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165353.4]
  assign _T_57131 = {_T_22141,_T_57104}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165380.4]
  assign _T_57289 = {_T_21201,_T_21199}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165538.4]
  assign _T_57316 = {_T_21203,_T_57289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165565.4]
  assign _T_57343 = {_T_21205,_T_57316}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165592.4]
  assign _T_57395 = {_T_22257,_T_22255}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165644.4]
  assign _T_57422 = {_T_22259,_T_57395}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165671.4]
  assign _T_57449 = {_T_22261,_T_57422}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165698.4]
  assign _T_57501 = {_T_22097,_T_22095}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165750.4]
  assign _T_57528 = {_T_22099,_T_57501}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165777.4]
  assign _T_57555 = {_T_22101,_T_57528}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165804.4]
  assign _T_57607 = {_T_22649,_T_22647}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165856.4]
  assign _T_57634 = {_T_22651,_T_57607}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165883.4]
  assign _T_57661 = {_T_22653,_T_57634}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165910.4]
  assign _T_57713 = {_T_21593,_T_21591}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165962.4]
  assign _T_57740 = {_T_21595,_T_57713}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@165989.4]
  assign _T_57767 = {_T_21597,_T_57740}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166016.4]
  assign _T_57819 = {_T_22353,_T_22351}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166068.4]
  assign _T_57846 = {_T_22355,_T_57819}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166095.4]
  assign _T_57873 = {_T_22357,_T_57846}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166122.4]
  assign _T_58031 = {_T_22609,_T_22607}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166280.4]
  assign _T_58058 = {_T_22611,_T_58031}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166307.4]
  assign _T_58085 = {_T_22613,_T_58058}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166334.4]
  assign _T_58137 = {_T_21153,_T_21151}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166386.4]
  assign _T_58164 = {_T_21155,_T_58137}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166413.4]
  assign _T_58191 = {_T_21157,_T_58164}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166440.4]
  assign _T_58243 = {_T_22473,_T_22471}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166492.4]
  assign _T_58270 = {_T_22475,_T_58243}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166519.4]
  assign _T_58297 = {_T_22477,_T_58270}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166546.4]
  assign _T_58349 = {_T_22945,_T_22943}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166598.4]
  assign _T_58376 = {_T_22947,_T_58349}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166625.4]
  assign _T_58403 = {_T_22949,_T_58376}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166652.4]
  assign _T_58455 = {_T_21889,_T_21887}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166704.4]
  assign _T_58482 = {_T_21891,_T_58455}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166731.4]
  assign _T_58509 = {_T_21893,_T_58482}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166758.4]
  assign _T_58561 = {_T_21513,_T_21511}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166810.4]
  assign _T_58588 = {_T_21515,_T_58561}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166837.4]
  assign _T_58615 = {_T_21517,_T_58588}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166864.4]
  assign _T_58667 = {_T_22825,_T_22823}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166916.4]
  assign _T_58694 = {_T_22827,_T_58667}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166943.4]
  assign _T_58721 = {_T_22829,_T_58694}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@166970.4]
  assign _T_58773 = {_T_21633,_T_21631}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167022.4]
  assign _T_58800 = {_T_21635,_T_58773}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167049.4]
  assign _T_58827 = {_T_21637,_T_58800}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167076.4]
  assign _T_58879 = {_T_22689,_T_22687}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167128.4]
  assign _T_58906 = {_T_22691,_T_58879}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167155.4]
  assign _T_58933 = {_T_22693,_T_58906}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167182.4]
  assign _T_58985 = {_T_21769,_T_21767}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167234.4]
  assign _T_59012 = {_T_21771,_T_58985}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167261.4]
  assign _T_59039 = {_T_21773,_T_59012}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167288.4]
  assign _T_59091 = {_T_21409,_T_21407}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167340.4]
  assign _T_59118 = {_T_21411,_T_59091}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167367.4]
  assign _T_59145 = {_T_21413,_T_59118}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167394.4]
  assign _T_60036 = _T_60333[215]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168309.4]
  assign _T_65736 = _T_71634 & _T_60036; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176033.4]
  assign _T_65737 = _T_65736 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176034.4]
  assign _T_59160 = _T_65737 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167409.4]
  assign _T_59185 = _T_65737 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167437.4]
  assign _T_59212 = _T_65737 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167467.4]
  assign _T_59239 = _T_65737 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167497.4]
  assign _T_59303 = {_T_22865,_T_22863}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167564.4]
  assign _T_59330 = {_T_22867,_T_59303}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167591.4]
  assign _T_59357 = {_T_22869,_T_59330}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167618.4]
  assign _T_60043 = _T_60333[222]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@168316.4]
  assign _T_65778 = _T_71634 & _T_60043; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176110.4]
  assign _T_65779 = _T_65778 & _T_23089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@176111.4]
  assign _T_59372 = _T_65779 & _T_28449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167633.4]
  assign _T_59397 = _T_65779 & _T_28474; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167661.4]
  assign _T_59424 = _T_65779 & _T_28501; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167691.4]
  assign _T_59451 = _T_65779 & _T_28528; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@167721.4]
  assign _T_59515 = {_T_22905,_T_22903}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167788.4]
  assign _T_59542 = {_T_22907,_T_59515}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167815.4]
  assign _T_59569 = {_T_22909,_T_59542}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167842.4]
  assign _T_59621 = {_T_22569,_T_22567}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167894.4]
  assign _T_59648 = {_T_22571,_T_59621}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167921.4]
  assign _T_59675 = {_T_22573,_T_59648}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@167948.4]
  assign _T_59727 = {_T_21849,_T_21847}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168000.4]
  assign _T_59754 = {_T_21851,_T_59727}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168027.4]
  assign _T_59781 = {_T_21853,_T_59754}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@168054.4]
  assign _GEN_4553 = 9'h1 == _T_59801 ? _T_23609 : _T_23609; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4554 = 9'h2 == _T_59801 ? _T_23609 : _GEN_4553; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4555 = 9'h3 == _T_59801 ? _T_23609 : _GEN_4554; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4556 = 9'h4 == _T_59801 ? _T_23609 : _GEN_4555; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4557 = 9'h5 == _T_59801 ? _T_23609 : _GEN_4556; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4558 = 9'h6 == _T_59801 ? _T_23609 : _GEN_4557; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4559 = 9'h7 == _T_59801 ? _T_23609 : _GEN_4558; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4560 = 9'h8 == _T_59801 ? _T_23609 : _GEN_4559; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4561 = 9'h9 == _T_59801 ? _T_23609 : _GEN_4560; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4562 = 9'ha == _T_59801 ? _T_23609 : _GEN_4561; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4563 = 9'hb == _T_59801 ? _T_23609 : _GEN_4562; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4564 = 9'hc == _T_59801 ? _T_23609 : _GEN_4563; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4565 = 9'hd == _T_59801 ? _T_23609 : _GEN_4564; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4566 = 9'he == _T_59801 ? _T_23609 : _GEN_4565; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4567 = 9'hf == _T_59801 ? _T_23609 : _GEN_4566; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4568 = 9'h10 == _T_59801 ? _T_23609 : _GEN_4567; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4569 = 9'h11 == _T_59801 ? _T_23609 : _GEN_4568; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4570 = 9'h12 == _T_59801 ? _T_23609 : _GEN_4569; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4571 = 9'h13 == _T_59801 ? _T_23609 : _GEN_4570; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4572 = 9'h14 == _T_59801 ? _T_23609 : _GEN_4571; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4573 = 9'h15 == _T_59801 ? 1'h1 : _GEN_4572; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4574 = 9'h16 == _T_59801 ? 1'h1 : _GEN_4573; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4575 = 9'h17 == _T_59801 ? 1'h1 : _GEN_4574; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4576 = 9'h18 == _T_59801 ? 1'h1 : _GEN_4575; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4577 = 9'h19 == _T_59801 ? 1'h1 : _GEN_4576; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4578 = 9'h1a == _T_59801 ? 1'h1 : _GEN_4577; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4579 = 9'h1b == _T_59801 ? 1'h1 : _GEN_4578; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4580 = 9'h1c == _T_59801 ? 1'h1 : _GEN_4579; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4581 = 9'h1d == _T_59801 ? 1'h1 : _GEN_4580; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4582 = 9'h1e == _T_59801 ? 1'h1 : _GEN_4581; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4583 = 9'h1f == _T_59801 ? 1'h1 : _GEN_4582; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4584 = 9'h20 == _T_59801 ? 1'h1 : _GEN_4583; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4585 = 9'h21 == _T_59801 ? 1'h1 : _GEN_4584; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4586 = 9'h22 == _T_59801 ? 1'h1 : _GEN_4585; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4587 = 9'h23 == _T_59801 ? 1'h1 : _GEN_4586; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4588 = 9'h24 == _T_59801 ? 1'h1 : _GEN_4587; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4589 = 9'h25 == _T_59801 ? 1'h1 : _GEN_4588; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4590 = 9'h26 == _T_59801 ? 1'h1 : _GEN_4589; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4591 = 9'h27 == _T_59801 ? 1'h1 : _GEN_4590; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4592 = 9'h28 == _T_59801 ? 1'h1 : _GEN_4591; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4593 = 9'h29 == _T_59801 ? 1'h1 : _GEN_4592; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4594 = 9'h2a == _T_59801 ? 1'h1 : _GEN_4593; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4595 = 9'h2b == _T_59801 ? 1'h1 : _GEN_4594; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4596 = 9'h2c == _T_59801 ? 1'h1 : _GEN_4595; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4597 = 9'h2d == _T_59801 ? 1'h1 : _GEN_4596; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4598 = 9'h2e == _T_59801 ? 1'h1 : _GEN_4597; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4599 = 9'h2f == _T_59801 ? 1'h1 : _GEN_4598; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4600 = 9'h30 == _T_59801 ? 1'h1 : _GEN_4599; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4601 = 9'h31 == _T_59801 ? 1'h1 : _GEN_4600; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4602 = 9'h32 == _T_59801 ? 1'h1 : _GEN_4601; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4603 = 9'h33 == _T_59801 ? 1'h1 : _GEN_4602; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4604 = 9'h34 == _T_59801 ? 1'h1 : _GEN_4603; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4605 = 9'h35 == _T_59801 ? 1'h1 : _GEN_4604; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4606 = 9'h36 == _T_59801 ? 1'h1 : _GEN_4605; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4607 = 9'h37 == _T_59801 ? 1'h1 : _GEN_4606; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4608 = 9'h38 == _T_59801 ? 1'h1 : _GEN_4607; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4609 = 9'h39 == _T_59801 ? 1'h1 : _GEN_4608; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4610 = 9'h3a == _T_59801 ? 1'h1 : _GEN_4609; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4611 = 9'h3b == _T_59801 ? 1'h1 : _GEN_4610; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4612 = 9'h3c == _T_59801 ? 1'h1 : _GEN_4611; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4613 = 9'h3d == _T_59801 ? 1'h1 : _GEN_4612; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4614 = 9'h3e == _T_59801 ? 1'h1 : _GEN_4613; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4615 = 9'h3f == _T_59801 ? 1'h1 : _GEN_4614; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4616 = 9'h40 == _T_59801 ? _T_23089 : _GEN_4615; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4617 = 9'h41 == _T_59801 ? _T_23089 : _GEN_4616; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4618 = 9'h42 == _T_59801 ? _T_23089 : _GEN_4617; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4619 = 9'h43 == _T_59801 ? _T_23089 : _GEN_4618; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4620 = 9'h44 == _T_59801 ? 1'h1 : _GEN_4619; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4621 = 9'h45 == _T_59801 ? 1'h1 : _GEN_4620; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4622 = 9'h46 == _T_59801 ? 1'h1 : _GEN_4621; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4623 = 9'h47 == _T_59801 ? 1'h1 : _GEN_4622; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4624 = 9'h48 == _T_59801 ? 1'h1 : _GEN_4623; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4625 = 9'h49 == _T_59801 ? 1'h1 : _GEN_4624; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4626 = 9'h4a == _T_59801 ? 1'h1 : _GEN_4625; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4627 = 9'h4b == _T_59801 ? 1'h1 : _GEN_4626; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4628 = 9'h4c == _T_59801 ? 1'h1 : _GEN_4627; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4629 = 9'h4d == _T_59801 ? 1'h1 : _GEN_4628; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4630 = 9'h4e == _T_59801 ? 1'h1 : _GEN_4629; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4631 = 9'h4f == _T_59801 ? 1'h1 : _GEN_4630; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4632 = 9'h50 == _T_59801 ? 1'h1 : _GEN_4631; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4633 = 9'h51 == _T_59801 ? 1'h1 : _GEN_4632; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4634 = 9'h52 == _T_59801 ? 1'h1 : _GEN_4633; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4635 = 9'h53 == _T_59801 ? 1'h1 : _GEN_4634; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4636 = 9'h54 == _T_59801 ? 1'h1 : _GEN_4635; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4637 = 9'h55 == _T_59801 ? 1'h1 : _GEN_4636; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4638 = 9'h56 == _T_59801 ? 1'h1 : _GEN_4637; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4639 = 9'h57 == _T_59801 ? 1'h1 : _GEN_4638; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4640 = 9'h58 == _T_59801 ? 1'h1 : _GEN_4639; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4641 = 9'h59 == _T_59801 ? 1'h1 : _GEN_4640; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4642 = 9'h5a == _T_59801 ? 1'h1 : _GEN_4641; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4643 = 9'h5b == _T_59801 ? 1'h1 : _GEN_4642; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4644 = 9'h5c == _T_59801 ? 1'h1 : _GEN_4643; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4645 = 9'h5d == _T_59801 ? 1'h1 : _GEN_4644; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4646 = 9'h5e == _T_59801 ? 1'h1 : _GEN_4645; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4647 = 9'h5f == _T_59801 ? 1'h1 : _GEN_4646; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4648 = 9'h60 == _T_59801 ? 1'h1 : _GEN_4647; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4649 = 9'h61 == _T_59801 ? 1'h1 : _GEN_4648; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4650 = 9'h62 == _T_59801 ? 1'h1 : _GEN_4649; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4651 = 9'h63 == _T_59801 ? 1'h1 : _GEN_4650; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4652 = 9'h64 == _T_59801 ? 1'h1 : _GEN_4651; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4653 = 9'h65 == _T_59801 ? 1'h1 : _GEN_4652; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4654 = 9'h66 == _T_59801 ? 1'h1 : _GEN_4653; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4655 = 9'h67 == _T_59801 ? 1'h1 : _GEN_4654; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4656 = 9'h68 == _T_59801 ? 1'h1 : _GEN_4655; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4657 = 9'h69 == _T_59801 ? 1'h1 : _GEN_4656; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4658 = 9'h6a == _T_59801 ? 1'h1 : _GEN_4657; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4659 = 9'h6b == _T_59801 ? 1'h1 : _GEN_4658; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4660 = 9'h6c == _T_59801 ? 1'h1 : _GEN_4659; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4661 = 9'h6d == _T_59801 ? 1'h1 : _GEN_4660; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4662 = 9'h6e == _T_59801 ? 1'h1 : _GEN_4661; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4663 = 9'h6f == _T_59801 ? 1'h1 : _GEN_4662; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4664 = 9'h70 == _T_59801 ? 1'h1 : _GEN_4663; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4665 = 9'h71 == _T_59801 ? 1'h1 : _GEN_4664; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4666 = 9'h72 == _T_59801 ? 1'h1 : _GEN_4665; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4667 = 9'h73 == _T_59801 ? 1'h1 : _GEN_4666; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4668 = 9'h74 == _T_59801 ? 1'h1 : _GEN_4667; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4669 = 9'h75 == _T_59801 ? 1'h1 : _GEN_4668; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4670 = 9'h76 == _T_59801 ? 1'h1 : _GEN_4669; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4671 = 9'h77 == _T_59801 ? 1'h1 : _GEN_4670; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4672 = 9'h78 == _T_59801 ? 1'h1 : _GEN_4671; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4673 = 9'h79 == _T_59801 ? 1'h1 : _GEN_4672; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4674 = 9'h7a == _T_59801 ? 1'h1 : _GEN_4673; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4675 = 9'h7b == _T_59801 ? 1'h1 : _GEN_4674; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4676 = 9'h7c == _T_59801 ? 1'h1 : _GEN_4675; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4677 = 9'h7d == _T_59801 ? 1'h1 : _GEN_4676; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4678 = 9'h7e == _T_59801 ? 1'h1 : _GEN_4677; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4679 = 9'h7f == _T_59801 ? 1'h1 : _GEN_4678; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4680 = 9'h80 == _T_59801 ? 1'h1 : _GEN_4679; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4681 = 9'h81 == _T_59801 ? 1'h1 : _GEN_4680; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4682 = 9'h82 == _T_59801 ? 1'h1 : _GEN_4681; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4683 = 9'h83 == _T_59801 ? 1'h1 : _GEN_4682; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4684 = 9'h84 == _T_59801 ? 1'h1 : _GEN_4683; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4685 = 9'h85 == _T_59801 ? 1'h1 : _GEN_4684; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4686 = 9'h86 == _T_59801 ? 1'h1 : _GEN_4685; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4687 = 9'h87 == _T_59801 ? 1'h1 : _GEN_4686; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4688 = 9'h88 == _T_59801 ? 1'h1 : _GEN_4687; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4689 = 9'h89 == _T_59801 ? 1'h1 : _GEN_4688; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4690 = 9'h8a == _T_59801 ? 1'h1 : _GEN_4689; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4691 = 9'h8b == _T_59801 ? 1'h1 : _GEN_4690; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4692 = 9'h8c == _T_59801 ? 1'h1 : _GEN_4691; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4693 = 9'h8d == _T_59801 ? 1'h1 : _GEN_4692; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4694 = 9'h8e == _T_59801 ? 1'h1 : _GEN_4693; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4695 = 9'h8f == _T_59801 ? 1'h1 : _GEN_4694; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4696 = 9'h90 == _T_59801 ? 1'h1 : _GEN_4695; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4697 = 9'h91 == _T_59801 ? 1'h1 : _GEN_4696; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4698 = 9'h92 == _T_59801 ? 1'h1 : _GEN_4697; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4699 = 9'h93 == _T_59801 ? 1'h1 : _GEN_4698; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4700 = 9'h94 == _T_59801 ? 1'h1 : _GEN_4699; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4701 = 9'h95 == _T_59801 ? 1'h1 : _GEN_4700; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4702 = 9'h96 == _T_59801 ? 1'h1 : _GEN_4701; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4703 = 9'h97 == _T_59801 ? 1'h1 : _GEN_4702; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4704 = 9'h98 == _T_59801 ? 1'h1 : _GEN_4703; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4705 = 9'h99 == _T_59801 ? 1'h1 : _GEN_4704; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4706 = 9'h9a == _T_59801 ? 1'h1 : _GEN_4705; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4707 = 9'h9b == _T_59801 ? 1'h1 : _GEN_4706; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4708 = 9'h9c == _T_59801 ? 1'h1 : _GEN_4707; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4709 = 9'h9d == _T_59801 ? 1'h1 : _GEN_4708; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4710 = 9'h9e == _T_59801 ? 1'h1 : _GEN_4709; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4711 = 9'h9f == _T_59801 ? 1'h1 : _GEN_4710; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4712 = 9'ha0 == _T_59801 ? 1'h1 : _GEN_4711; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4713 = 9'ha1 == _T_59801 ? 1'h1 : _GEN_4712; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4714 = 9'ha2 == _T_59801 ? 1'h1 : _GEN_4713; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4715 = 9'ha3 == _T_59801 ? 1'h1 : _GEN_4714; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4716 = 9'ha4 == _T_59801 ? 1'h1 : _GEN_4715; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4717 = 9'ha5 == _T_59801 ? 1'h1 : _GEN_4716; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4718 = 9'ha6 == _T_59801 ? 1'h1 : _GEN_4717; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4719 = 9'ha7 == _T_59801 ? 1'h1 : _GEN_4718; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4720 = 9'ha8 == _T_59801 ? 1'h1 : _GEN_4719; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4721 = 9'ha9 == _T_59801 ? 1'h1 : _GEN_4720; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4722 = 9'haa == _T_59801 ? 1'h1 : _GEN_4721; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4723 = 9'hab == _T_59801 ? 1'h1 : _GEN_4722; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4724 = 9'hac == _T_59801 ? 1'h1 : _GEN_4723; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4725 = 9'had == _T_59801 ? 1'h1 : _GEN_4724; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4726 = 9'hae == _T_59801 ? 1'h1 : _GEN_4725; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4727 = 9'haf == _T_59801 ? 1'h1 : _GEN_4726; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4728 = 9'hb0 == _T_59801 ? 1'h1 : _GEN_4727; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4729 = 9'hb1 == _T_59801 ? 1'h1 : _GEN_4728; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4730 = 9'hb2 == _T_59801 ? 1'h1 : _GEN_4729; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4731 = 9'hb3 == _T_59801 ? 1'h1 : _GEN_4730; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4732 = 9'hb4 == _T_59801 ? 1'h1 : _GEN_4731; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4733 = 9'hb5 == _T_59801 ? 1'h1 : _GEN_4732; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4734 = 9'hb6 == _T_59801 ? 1'h1 : _GEN_4733; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4735 = 9'hb7 == _T_59801 ? 1'h1 : _GEN_4734; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4736 = 9'hb8 == _T_59801 ? 1'h1 : _GEN_4735; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4737 = 9'hb9 == _T_59801 ? 1'h1 : _GEN_4736; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4738 = 9'hba == _T_59801 ? 1'h1 : _GEN_4737; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4739 = 9'hbb == _T_59801 ? 1'h1 : _GEN_4738; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4740 = 9'hbc == _T_59801 ? 1'h1 : _GEN_4739; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4741 = 9'hbd == _T_59801 ? 1'h1 : _GEN_4740; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4742 = 9'hbe == _T_59801 ? 1'h1 : _GEN_4741; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4743 = 9'hbf == _T_59801 ? 1'h1 : _GEN_4742; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4744 = 9'hc0 == _T_59801 ? _T_23089 : _GEN_4743; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4745 = 9'hc1 == _T_59801 ? 1'h1 : _GEN_4744; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4746 = 9'hc2 == _T_59801 ? 1'h1 : _GEN_4745; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4747 = 9'hc3 == _T_59801 ? 1'h1 : _GEN_4746; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4748 = 9'hc4 == _T_59801 ? 1'h1 : _GEN_4747; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4749 = 9'hc5 == _T_59801 ? 1'h1 : _GEN_4748; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4750 = 9'hc6 == _T_59801 ? 1'h1 : _GEN_4749; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4751 = 9'hc7 == _T_59801 ? 1'h1 : _GEN_4750; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4752 = 9'hc8 == _T_59801 ? 1'h1 : _GEN_4751; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4753 = 9'hc9 == _T_59801 ? 1'h1 : _GEN_4752; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4754 = 9'hca == _T_59801 ? 1'h1 : _GEN_4753; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4755 = 9'hcb == _T_59801 ? 1'h1 : _GEN_4754; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4756 = 9'hcc == _T_59801 ? 1'h1 : _GEN_4755; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4757 = 9'hcd == _T_59801 ? 1'h1 : _GEN_4756; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4758 = 9'hce == _T_59801 ? _T_23089 : _GEN_4757; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4759 = 9'hcf == _T_59801 ? _T_23089 : _GEN_4758; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4760 = 9'hd0 == _T_59801 ? _T_23089 : _GEN_4759; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4761 = 9'hd1 == _T_59801 ? _T_23089 : _GEN_4760; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4762 = 9'hd2 == _T_59801 ? _T_23089 : _GEN_4761; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4763 = 9'hd3 == _T_59801 ? _T_23089 : _GEN_4762; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4764 = 9'hd4 == _T_59801 ? _T_23089 : _GEN_4763; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4765 = 9'hd5 == _T_59801 ? _T_23089 : _GEN_4764; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4766 = 9'hd6 == _T_59801 ? _T_23089 : _GEN_4765; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4767 = 9'hd7 == _T_59801 ? _T_23089 : _GEN_4766; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4768 = 9'hd8 == _T_59801 ? _T_23089 : _GEN_4767; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4769 = 9'hd9 == _T_59801 ? _T_23089 : _GEN_4768; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4770 = 9'hda == _T_59801 ? _T_23089 : _GEN_4769; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4771 = 9'hdb == _T_59801 ? _T_23089 : _GEN_4770; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4772 = 9'hdc == _T_59801 ? _T_23089 : _GEN_4771; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4773 = 9'hdd == _T_59801 ? _T_23089 : _GEN_4772; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4774 = 9'hde == _T_59801 ? _T_23089 : _GEN_4773; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4775 = 9'hdf == _T_59801 ? _T_23089 : _GEN_4774; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4776 = 9'he0 == _T_59801 ? _T_23089 : _GEN_4775; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4777 = 9'he1 == _T_59801 ? 1'h1 : _GEN_4776; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4778 = 9'he2 == _T_59801 ? 1'h1 : _GEN_4777; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4779 = 9'he3 == _T_59801 ? 1'h1 : _GEN_4778; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4780 = 9'he4 == _T_59801 ? 1'h1 : _GEN_4779; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4781 = 9'he5 == _T_59801 ? 1'h1 : _GEN_4780; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4782 = 9'he6 == _T_59801 ? 1'h1 : _GEN_4781; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4783 = 9'he7 == _T_59801 ? 1'h1 : _GEN_4782; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4784 = 9'he8 == _T_59801 ? 1'h1 : _GEN_4783; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4785 = 9'he9 == _T_59801 ? 1'h1 : _GEN_4784; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4786 = 9'hea == _T_59801 ? 1'h1 : _GEN_4785; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4787 = 9'heb == _T_59801 ? 1'h1 : _GEN_4786; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4788 = 9'hec == _T_59801 ? 1'h1 : _GEN_4787; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4789 = 9'hed == _T_59801 ? 1'h1 : _GEN_4788; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4790 = 9'hee == _T_59801 ? 1'h1 : _GEN_4789; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4791 = 9'hef == _T_59801 ? 1'h1 : _GEN_4790; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4792 = 9'hf0 == _T_59801 ? 1'h1 : _GEN_4791; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4793 = 9'hf1 == _T_59801 ? 1'h1 : _GEN_4792; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4794 = 9'hf2 == _T_59801 ? 1'h1 : _GEN_4793; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4795 = 9'hf3 == _T_59801 ? 1'h1 : _GEN_4794; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4796 = 9'hf4 == _T_59801 ? 1'h1 : _GEN_4795; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4797 = 9'hf5 == _T_59801 ? 1'h1 : _GEN_4796; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4798 = 9'hf6 == _T_59801 ? 1'h1 : _GEN_4797; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4799 = 9'hf7 == _T_59801 ? 1'h1 : _GEN_4798; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4800 = 9'hf8 == _T_59801 ? 1'h1 : _GEN_4799; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4801 = 9'hf9 == _T_59801 ? 1'h1 : _GEN_4800; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4802 = 9'hfa == _T_59801 ? 1'h1 : _GEN_4801; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4803 = 9'hfb == _T_59801 ? 1'h1 : _GEN_4802; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4804 = 9'hfc == _T_59801 ? 1'h1 : _GEN_4803; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4805 = 9'hfd == _T_59801 ? 1'h1 : _GEN_4804; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4806 = 9'hfe == _T_59801 ? 1'h1 : _GEN_4805; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4807 = 9'hff == _T_59801 ? 1'h1 : _GEN_4806; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4808 = 9'h100 == _T_59801 ? _T_23089 : _GEN_4807; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4809 = 9'h101 == _T_59801 ? _T_23089 : _GEN_4808; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4810 = 9'h102 == _T_59801 ? _T_23089 : _GEN_4809; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4811 = 9'h103 == _T_59801 ? _T_23089 : _GEN_4810; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4812 = 9'h104 == _T_59801 ? _T_23089 : _GEN_4811; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4813 = 9'h105 == _T_59801 ? _T_23089 : _GEN_4812; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4814 = 9'h106 == _T_59801 ? _T_23089 : _GEN_4813; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4815 = 9'h107 == _T_59801 ? _T_23089 : _GEN_4814; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4816 = 9'h108 == _T_59801 ? _T_23089 : _GEN_4815; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4817 = 9'h109 == _T_59801 ? _T_23089 : _GEN_4816; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4818 = 9'h10a == _T_59801 ? _T_23089 : _GEN_4817; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4819 = 9'h10b == _T_59801 ? _T_23089 : _GEN_4818; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4820 = 9'h10c == _T_59801 ? _T_23089 : _GEN_4819; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4821 = 9'h10d == _T_59801 ? _T_23089 : _GEN_4820; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4822 = 9'h10e == _T_59801 ? _T_23089 : _GEN_4821; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4823 = 9'h10f == _T_59801 ? _T_23089 : _GEN_4822; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4824 = 9'h110 == _T_59801 ? _T_23089 : _GEN_4823; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4825 = 9'h111 == _T_59801 ? _T_23089 : _GEN_4824; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4826 = 9'h112 == _T_59801 ? _T_23089 : _GEN_4825; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4827 = 9'h113 == _T_59801 ? _T_23089 : _GEN_4826; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4828 = 9'h114 == _T_59801 ? _T_23089 : _GEN_4827; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4829 = 9'h115 == _T_59801 ? _T_23089 : _GEN_4828; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4830 = 9'h116 == _T_59801 ? _T_23089 : _GEN_4829; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4831 = 9'h117 == _T_59801 ? _T_23089 : _GEN_4830; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4832 = 9'h118 == _T_59801 ? _T_23089 : _GEN_4831; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4833 = 9'h119 == _T_59801 ? _T_23089 : _GEN_4832; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4834 = 9'h11a == _T_59801 ? _T_23089 : _GEN_4833; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4835 = 9'h11b == _T_59801 ? _T_23089 : _GEN_4834; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4836 = 9'h11c == _T_59801 ? _T_23089 : _GEN_4835; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4837 = 9'h11d == _T_59801 ? _T_23089 : _GEN_4836; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4838 = 9'h11e == _T_59801 ? _T_23089 : _GEN_4837; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4839 = 9'h11f == _T_59801 ? _T_23089 : _GEN_4838; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4840 = 9'h120 == _T_59801 ? _T_23089 : _GEN_4839; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4841 = 9'h121 == _T_59801 ? _T_23089 : _GEN_4840; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4842 = 9'h122 == _T_59801 ? _T_23089 : _GEN_4841; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4843 = 9'h123 == _T_59801 ? _T_23089 : _GEN_4842; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4844 = 9'h124 == _T_59801 ? _T_23089 : _GEN_4843; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4845 = 9'h125 == _T_59801 ? _T_23089 : _GEN_4844; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4846 = 9'h126 == _T_59801 ? _T_23089 : _GEN_4845; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4847 = 9'h127 == _T_59801 ? _T_23089 : _GEN_4846; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4848 = 9'h128 == _T_59801 ? _T_23089 : _GEN_4847; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4849 = 9'h129 == _T_59801 ? _T_23089 : _GEN_4848; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4850 = 9'h12a == _T_59801 ? _T_23089 : _GEN_4849; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4851 = 9'h12b == _T_59801 ? _T_23089 : _GEN_4850; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4852 = 9'h12c == _T_59801 ? _T_23089 : _GEN_4851; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4853 = 9'h12d == _T_59801 ? _T_23089 : _GEN_4852; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4854 = 9'h12e == _T_59801 ? _T_23089 : _GEN_4853; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4855 = 9'h12f == _T_59801 ? _T_23089 : _GEN_4854; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4856 = 9'h130 == _T_59801 ? _T_23089 : _GEN_4855; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4857 = 9'h131 == _T_59801 ? _T_23089 : _GEN_4856; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4858 = 9'h132 == _T_59801 ? _T_23089 : _GEN_4857; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4859 = 9'h133 == _T_59801 ? _T_23089 : _GEN_4858; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4860 = 9'h134 == _T_59801 ? _T_23089 : _GEN_4859; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4861 = 9'h135 == _T_59801 ? _T_23089 : _GEN_4860; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4862 = 9'h136 == _T_59801 ? _T_23089 : _GEN_4861; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4863 = 9'h137 == _T_59801 ? _T_23089 : _GEN_4862; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4864 = 9'h138 == _T_59801 ? _T_23089 : _GEN_4863; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4865 = 9'h139 == _T_59801 ? _T_23089 : _GEN_4864; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4866 = 9'h13a == _T_59801 ? _T_23089 : _GEN_4865; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4867 = 9'h13b == _T_59801 ? _T_23089 : _GEN_4866; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4868 = 9'h13c == _T_59801 ? _T_23089 : _GEN_4867; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4869 = 9'h13d == _T_59801 ? _T_23089 : _GEN_4868; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4870 = 9'h13e == _T_59801 ? _T_23089 : _GEN_4869; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4871 = 9'h13f == _T_59801 ? _T_23089 : _GEN_4870; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4872 = 9'h140 == _T_59801 ? _T_23089 : _GEN_4871; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4873 = 9'h141 == _T_59801 ? _T_23089 : _GEN_4872; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4874 = 9'h142 == _T_59801 ? _T_23089 : _GEN_4873; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4875 = 9'h143 == _T_59801 ? _T_23089 : _GEN_4874; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4876 = 9'h144 == _T_59801 ? _T_23089 : _GEN_4875; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4877 = 9'h145 == _T_59801 ? _T_23089 : _GEN_4876; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4878 = 9'h146 == _T_59801 ? _T_23089 : _GEN_4877; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4879 = 9'h147 == _T_59801 ? _T_23089 : _GEN_4878; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4880 = 9'h148 == _T_59801 ? _T_23089 : _GEN_4879; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4881 = 9'h149 == _T_59801 ? _T_23089 : _GEN_4880; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4882 = 9'h14a == _T_59801 ? _T_23089 : _GEN_4881; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4883 = 9'h14b == _T_59801 ? _T_23089 : _GEN_4882; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4884 = 9'h14c == _T_59801 ? _T_23089 : _GEN_4883; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4885 = 9'h14d == _T_59801 ? _T_23089 : _GEN_4884; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4886 = 9'h14e == _T_59801 ? _T_23089 : _GEN_4885; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4887 = 9'h14f == _T_59801 ? _T_23089 : _GEN_4886; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4888 = 9'h150 == _T_59801 ? _T_23089 : _GEN_4887; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4889 = 9'h151 == _T_59801 ? _T_23089 : _GEN_4888; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4890 = 9'h152 == _T_59801 ? _T_23089 : _GEN_4889; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4891 = 9'h153 == _T_59801 ? _T_23089 : _GEN_4890; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4892 = 9'h154 == _T_59801 ? _T_23089 : _GEN_4891; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4893 = 9'h155 == _T_59801 ? _T_23089 : _GEN_4892; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4894 = 9'h156 == _T_59801 ? _T_23089 : _GEN_4893; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4895 = 9'h157 == _T_59801 ? _T_23089 : _GEN_4894; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4896 = 9'h158 == _T_59801 ? _T_23089 : _GEN_4895; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4897 = 9'h159 == _T_59801 ? _T_23089 : _GEN_4896; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4898 = 9'h15a == _T_59801 ? _T_23089 : _GEN_4897; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4899 = 9'h15b == _T_59801 ? _T_23089 : _GEN_4898; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4900 = 9'h15c == _T_59801 ? _T_23089 : _GEN_4899; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4901 = 9'h15d == _T_59801 ? _T_23089 : _GEN_4900; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4902 = 9'h15e == _T_59801 ? _T_23089 : _GEN_4901; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4903 = 9'h15f == _T_59801 ? _T_23089 : _GEN_4902; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4904 = 9'h160 == _T_59801 ? _T_23089 : _GEN_4903; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4905 = 9'h161 == _T_59801 ? _T_23089 : _GEN_4904; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4906 = 9'h162 == _T_59801 ? _T_23089 : _GEN_4905; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4907 = 9'h163 == _T_59801 ? _T_23089 : _GEN_4906; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4908 = 9'h164 == _T_59801 ? _T_23089 : _GEN_4907; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4909 = 9'h165 == _T_59801 ? _T_23089 : _GEN_4908; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4910 = 9'h166 == _T_59801 ? _T_23089 : _GEN_4909; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4911 = 9'h167 == _T_59801 ? _T_23089 : _GEN_4910; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4912 = 9'h168 == _T_59801 ? _T_23089 : _GEN_4911; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4913 = 9'h169 == _T_59801 ? _T_23089 : _GEN_4912; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4914 = 9'h16a == _T_59801 ? _T_23089 : _GEN_4913; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4915 = 9'h16b == _T_59801 ? _T_23089 : _GEN_4914; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4916 = 9'h16c == _T_59801 ? _T_23089 : _GEN_4915; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4917 = 9'h16d == _T_59801 ? _T_23089 : _GEN_4916; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4918 = 9'h16e == _T_59801 ? _T_23089 : _GEN_4917; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4919 = 9'h16f == _T_59801 ? _T_23089 : _GEN_4918; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4920 = 9'h170 == _T_59801 ? _T_23089 : _GEN_4919; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4921 = 9'h171 == _T_59801 ? _T_23089 : _GEN_4920; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4922 = 9'h172 == _T_59801 ? _T_23089 : _GEN_4921; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4923 = 9'h173 == _T_59801 ? _T_23089 : _GEN_4922; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4924 = 9'h174 == _T_59801 ? _T_23089 : _GEN_4923; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4925 = 9'h175 == _T_59801 ? _T_23089 : _GEN_4924; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4926 = 9'h176 == _T_59801 ? _T_23089 : _GEN_4925; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4927 = 9'h177 == _T_59801 ? _T_23089 : _GEN_4926; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4928 = 9'h178 == _T_59801 ? _T_23089 : _GEN_4927; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4929 = 9'h179 == _T_59801 ? _T_23089 : _GEN_4928; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4930 = 9'h17a == _T_59801 ? _T_23089 : _GEN_4929; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4931 = 9'h17b == _T_59801 ? _T_23089 : _GEN_4930; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4932 = 9'h17c == _T_59801 ? _T_23089 : _GEN_4931; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4933 = 9'h17d == _T_59801 ? _T_23089 : _GEN_4932; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4934 = 9'h17e == _T_59801 ? _T_23089 : _GEN_4933; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4935 = 9'h17f == _T_59801 ? _T_23089 : _GEN_4934; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4936 = 9'h180 == _T_59801 ? _T_23089 : _GEN_4935; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4937 = 9'h181 == _T_59801 ? _T_23089 : _GEN_4936; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4938 = 9'h182 == _T_59801 ? _T_23089 : _GEN_4937; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4939 = 9'h183 == _T_59801 ? _T_23089 : _GEN_4938; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4940 = 9'h184 == _T_59801 ? _T_23089 : _GEN_4939; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4941 = 9'h185 == _T_59801 ? _T_23089 : _GEN_4940; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4942 = 9'h186 == _T_59801 ? _T_23089 : _GEN_4941; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4943 = 9'h187 == _T_59801 ? _T_23089 : _GEN_4942; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4944 = 9'h188 == _T_59801 ? _T_23089 : _GEN_4943; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4945 = 9'h189 == _T_59801 ? _T_23089 : _GEN_4944; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4946 = 9'h18a == _T_59801 ? _T_23089 : _GEN_4945; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4947 = 9'h18b == _T_59801 ? _T_23089 : _GEN_4946; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4948 = 9'h18c == _T_59801 ? _T_23089 : _GEN_4947; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4949 = 9'h18d == _T_59801 ? _T_23089 : _GEN_4948; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4950 = 9'h18e == _T_59801 ? _T_23089 : _GEN_4949; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4951 = 9'h18f == _T_59801 ? _T_23089 : _GEN_4950; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4952 = 9'h190 == _T_59801 ? _T_23089 : _GEN_4951; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4953 = 9'h191 == _T_59801 ? _T_23089 : _GEN_4952; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4954 = 9'h192 == _T_59801 ? _T_23089 : _GEN_4953; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4955 = 9'h193 == _T_59801 ? _T_23089 : _GEN_4954; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4956 = 9'h194 == _T_59801 ? _T_23089 : _GEN_4955; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4957 = 9'h195 == _T_59801 ? _T_23089 : _GEN_4956; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4958 = 9'h196 == _T_59801 ? _T_23089 : _GEN_4957; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4959 = 9'h197 == _T_59801 ? _T_23089 : _GEN_4958; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4960 = 9'h198 == _T_59801 ? _T_23089 : _GEN_4959; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4961 = 9'h199 == _T_59801 ? _T_23089 : _GEN_4960; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4962 = 9'h19a == _T_59801 ? _T_23089 : _GEN_4961; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4963 = 9'h19b == _T_59801 ? _T_23089 : _GEN_4962; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4964 = 9'h19c == _T_59801 ? _T_23089 : _GEN_4963; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4965 = 9'h19d == _T_59801 ? _T_23089 : _GEN_4964; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4966 = 9'h19e == _T_59801 ? _T_23089 : _GEN_4965; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4967 = 9'h19f == _T_59801 ? _T_23089 : _GEN_4966; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4968 = 9'h1a0 == _T_59801 ? _T_23089 : _GEN_4967; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4969 = 9'h1a1 == _T_59801 ? _T_23089 : _GEN_4968; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4970 = 9'h1a2 == _T_59801 ? _T_23089 : _GEN_4969; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4971 = 9'h1a3 == _T_59801 ? _T_23089 : _GEN_4970; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4972 = 9'h1a4 == _T_59801 ? _T_23089 : _GEN_4971; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4973 = 9'h1a5 == _T_59801 ? _T_23089 : _GEN_4972; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4974 = 9'h1a6 == _T_59801 ? _T_23089 : _GEN_4973; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4975 = 9'h1a7 == _T_59801 ? _T_23089 : _GEN_4974; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4976 = 9'h1a8 == _T_59801 ? _T_23089 : _GEN_4975; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4977 = 9'h1a9 == _T_59801 ? _T_23089 : _GEN_4976; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4978 = 9'h1aa == _T_59801 ? _T_23089 : _GEN_4977; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4979 = 9'h1ab == _T_59801 ? _T_23089 : _GEN_4978; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4980 = 9'h1ac == _T_59801 ? _T_23089 : _GEN_4979; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4981 = 9'h1ad == _T_59801 ? _T_23089 : _GEN_4980; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4982 = 9'h1ae == _T_59801 ? _T_23089 : _GEN_4981; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4983 = 9'h1af == _T_59801 ? _T_23089 : _GEN_4982; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4984 = 9'h1b0 == _T_59801 ? _T_23089 : _GEN_4983; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4985 = 9'h1b1 == _T_59801 ? _T_23089 : _GEN_4984; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4986 = 9'h1b2 == _T_59801 ? _T_23089 : _GEN_4985; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4987 = 9'h1b3 == _T_59801 ? _T_23089 : _GEN_4986; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4988 = 9'h1b4 == _T_59801 ? _T_23089 : _GEN_4987; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4989 = 9'h1b5 == _T_59801 ? _T_23089 : _GEN_4988; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4990 = 9'h1b6 == _T_59801 ? _T_23089 : _GEN_4989; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4991 = 9'h1b7 == _T_59801 ? _T_23089 : _GEN_4990; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4992 = 9'h1b8 == _T_59801 ? _T_23089 : _GEN_4991; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4993 = 9'h1b9 == _T_59801 ? _T_23089 : _GEN_4992; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4994 = 9'h1ba == _T_59801 ? _T_23089 : _GEN_4993; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4995 = 9'h1bb == _T_59801 ? _T_23089 : _GEN_4994; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4996 = 9'h1bc == _T_59801 ? _T_23089 : _GEN_4995; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4997 = 9'h1bd == _T_59801 ? _T_23089 : _GEN_4996; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4998 = 9'h1be == _T_59801 ? _T_23089 : _GEN_4997; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_4999 = 9'h1bf == _T_59801 ? _T_23089 : _GEN_4998; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5000 = 9'h1c0 == _T_59801 ? _T_23089 : _GEN_4999; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5001 = 9'h1c1 == _T_59801 ? _T_23089 : _GEN_5000; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5002 = 9'h1c2 == _T_59801 ? _T_23089 : _GEN_5001; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5003 = 9'h1c3 == _T_59801 ? _T_23089 : _GEN_5002; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5004 = 9'h1c4 == _T_59801 ? _T_23089 : _GEN_5003; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5005 = 9'h1c5 == _T_59801 ? _T_23089 : _GEN_5004; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5006 = 9'h1c6 == _T_59801 ? _T_23089 : _GEN_5005; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5007 = 9'h1c7 == _T_59801 ? _T_23089 : _GEN_5006; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5008 = 9'h1c8 == _T_59801 ? _T_23089 : _GEN_5007; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5009 = 9'h1c9 == _T_59801 ? _T_23089 : _GEN_5008; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5010 = 9'h1ca == _T_59801 ? _T_23089 : _GEN_5009; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5011 = 9'h1cb == _T_59801 ? _T_23089 : _GEN_5010; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5012 = 9'h1cc == _T_59801 ? _T_23089 : _GEN_5011; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5013 = 9'h1cd == _T_59801 ? _T_23089 : _GEN_5012; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5014 = 9'h1ce == _T_59801 ? _T_23089 : _GEN_5013; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5015 = 9'h1cf == _T_59801 ? _T_23089 : _GEN_5014; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5016 = 9'h1d0 == _T_59801 ? _T_23089 : _GEN_5015; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5017 = 9'h1d1 == _T_59801 ? _T_23089 : _GEN_5016; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5018 = 9'h1d2 == _T_59801 ? _T_23089 : _GEN_5017; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5019 = 9'h1d3 == _T_59801 ? _T_23089 : _GEN_5018; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5020 = 9'h1d4 == _T_59801 ? _T_23089 : _GEN_5019; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5021 = 9'h1d5 == _T_59801 ? _T_23089 : _GEN_5020; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5022 = 9'h1d6 == _T_59801 ? _T_23089 : _GEN_5021; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5023 = 9'h1d7 == _T_59801 ? _T_23089 : _GEN_5022; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5024 = 9'h1d8 == _T_59801 ? _T_23089 : _GEN_5023; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5025 = 9'h1d9 == _T_59801 ? _T_23089 : _GEN_5024; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5026 = 9'h1da == _T_59801 ? _T_23089 : _GEN_5025; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5027 = 9'h1db == _T_59801 ? _T_23089 : _GEN_5026; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5028 = 9'h1dc == _T_59801 ? _T_23089 : _GEN_5027; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5029 = 9'h1dd == _T_59801 ? _T_23089 : _GEN_5028; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5030 = 9'h1de == _T_59801 ? _T_23089 : _GEN_5029; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5031 = 9'h1df == _T_59801 ? _T_23089 : _GEN_5030; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5032 = 9'h1e0 == _T_59801 ? _T_23089 : _GEN_5031; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5033 = 9'h1e1 == _T_59801 ? _T_23089 : _GEN_5032; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5034 = 9'h1e2 == _T_59801 ? _T_23089 : _GEN_5033; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5035 = 9'h1e3 == _T_59801 ? _T_23089 : _GEN_5034; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5036 = 9'h1e4 == _T_59801 ? _T_23089 : _GEN_5035; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5037 = 9'h1e5 == _T_59801 ? _T_23089 : _GEN_5036; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5038 = 9'h1e6 == _T_59801 ? _T_23089 : _GEN_5037; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5039 = 9'h1e7 == _T_59801 ? _T_23089 : _GEN_5038; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5040 = 9'h1e8 == _T_59801 ? _T_23089 : _GEN_5039; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5041 = 9'h1e9 == _T_59801 ? _T_23089 : _GEN_5040; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5042 = 9'h1ea == _T_59801 ? _T_23089 : _GEN_5041; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5043 = 9'h1eb == _T_59801 ? _T_23089 : _GEN_5042; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5044 = 9'h1ec == _T_59801 ? _T_23089 : _GEN_5043; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5045 = 9'h1ed == _T_59801 ? _T_23089 : _GEN_5044; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5046 = 9'h1ee == _T_59801 ? _T_23089 : _GEN_5045; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5047 = 9'h1ef == _T_59801 ? _T_23089 : _GEN_5046; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5048 = 9'h1f0 == _T_59801 ? _T_23089 : _GEN_5047; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5049 = 9'h1f1 == _T_59801 ? _T_23089 : _GEN_5048; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5050 = 9'h1f2 == _T_59801 ? _T_23089 : _GEN_5049; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5051 = 9'h1f3 == _T_59801 ? _T_23089 : _GEN_5050; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5052 = 9'h1f4 == _T_59801 ? _T_23089 : _GEN_5051; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5053 = 9'h1f5 == _T_59801 ? _T_23089 : _GEN_5052; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5054 = 9'h1f6 == _T_59801 ? _T_23089 : _GEN_5053; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5055 = 9'h1f7 == _T_59801 ? _T_23089 : _GEN_5054; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5056 = 9'h1f8 == _T_59801 ? _T_23089 : _GEN_5055; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5057 = 9'h1f9 == _T_59801 ? _T_23089 : _GEN_5056; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5058 = 9'h1fa == _T_59801 ? _T_23089 : _GEN_5057; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5059 = 9'h1fb == _T_59801 ? _T_23089 : _GEN_5058; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5060 = 9'h1fc == _T_59801 ? _T_23089 : _GEN_5059; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5061 = 9'h1fd == _T_59801 ? _T_23089 : _GEN_5060; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5062 = 9'h1fe == _T_59801 ? _T_23089 : _GEN_5061; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5063 = 9'h1ff == _T_59801 ? _T_23089 : _GEN_5062; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@190787.4]
  assign _GEN_5065 = 9'h1 == _T_59801 ? 32'h380006f : 32'hc0006f; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5066 = 9'h2 == _T_59801 ? 32'h440006f : _GEN_5065; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5067 = 9'h3 == _T_59801 ? 32'hff0000f : _GEN_5066; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5068 = 9'h4 == _T_59801 ? 32'h7b241073 : _GEN_5067; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5069 = 9'h5 == _T_59801 ? 32'hf1402473 : _GEN_5068; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5070 = 9'h6 == _T_59801 ? 32'h10802023 : _GEN_5069; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5071 = 9'h7 == _T_59801 ? 32'h40044403 : _GEN_5070; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5072 = 9'h8 == _T_59801 ? 32'h347413 : _GEN_5071; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5073 = 9'h9 == _T_59801 ? 32'hfe0408e3 : _GEN_5072; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5074 = 9'ha == _T_59801 ? 32'h147413 : _GEN_5073; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5075 = 9'hb == _T_59801 ? 32'h40863 : _GEN_5074; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5076 = 9'hc == _T_59801 ? 32'h7b202473 : _GEN_5075; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5077 = 9'hd == _T_59801 ? 32'h10002223 : _GEN_5076; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5078 = 9'he == _T_59801 ? 32'h30000067 : _GEN_5077; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5079 = 9'hf == _T_59801 ? 32'hf1402473 : _GEN_5078; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5080 = 9'h10 == _T_59801 ? 32'h10802423 : _GEN_5079; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5081 = 9'h11 == _T_59801 ? 32'h7b202473 : _GEN_5080; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5082 = 9'h12 == _T_59801 ? 32'h7b200073 : _GEN_5081; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5083 = 9'h13 == _T_59801 ? 32'h10002623 : _GEN_5082; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5084 = 9'h14 == _T_59801 ? 32'h100073 : _GEN_5083; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5085 = 9'h15 == _T_59801 ? 32'h0 : _GEN_5084; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5086 = 9'h16 == _T_59801 ? 32'h0 : _GEN_5085; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5087 = 9'h17 == _T_59801 ? 32'h0 : _GEN_5086; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5088 = 9'h18 == _T_59801 ? 32'h0 : _GEN_5087; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5089 = 9'h19 == _T_59801 ? 32'h0 : _GEN_5088; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5090 = 9'h1a == _T_59801 ? 32'h0 : _GEN_5089; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5091 = 9'h1b == _T_59801 ? 32'h0 : _GEN_5090; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5092 = 9'h1c == _T_59801 ? 32'h0 : _GEN_5091; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5093 = 9'h1d == _T_59801 ? 32'h0 : _GEN_5092; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5094 = 9'h1e == _T_59801 ? 32'h0 : _GEN_5093; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5095 = 9'h1f == _T_59801 ? 32'h0 : _GEN_5094; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5096 = 9'h20 == _T_59801 ? 32'h0 : _GEN_5095; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5097 = 9'h21 == _T_59801 ? 32'h0 : _GEN_5096; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5098 = 9'h22 == _T_59801 ? 32'h0 : _GEN_5097; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5099 = 9'h23 == _T_59801 ? 32'h0 : _GEN_5098; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5100 = 9'h24 == _T_59801 ? 32'h0 : _GEN_5099; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5101 = 9'h25 == _T_59801 ? 32'h0 : _GEN_5100; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5102 = 9'h26 == _T_59801 ? 32'h0 : _GEN_5101; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5103 = 9'h27 == _T_59801 ? 32'h0 : _GEN_5102; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5104 = 9'h28 == _T_59801 ? 32'h0 : _GEN_5103; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5105 = 9'h29 == _T_59801 ? 32'h0 : _GEN_5104; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5106 = 9'h2a == _T_59801 ? 32'h0 : _GEN_5105; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5107 = 9'h2b == _T_59801 ? 32'h0 : _GEN_5106; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5108 = 9'h2c == _T_59801 ? 32'h0 : _GEN_5107; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5109 = 9'h2d == _T_59801 ? 32'h0 : _GEN_5108; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5110 = 9'h2e == _T_59801 ? 32'h0 : _GEN_5109; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5111 = 9'h2f == _T_59801 ? 32'h0 : _GEN_5110; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5112 = 9'h30 == _T_59801 ? 32'h0 : _GEN_5111; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5113 = 9'h31 == _T_59801 ? 32'h0 : _GEN_5112; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5114 = 9'h32 == _T_59801 ? 32'h0 : _GEN_5113; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5115 = 9'h33 == _T_59801 ? 32'h0 : _GEN_5114; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5116 = 9'h34 == _T_59801 ? 32'h0 : _GEN_5115; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5117 = 9'h35 == _T_59801 ? 32'h0 : _GEN_5116; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5118 = 9'h36 == _T_59801 ? 32'h0 : _GEN_5117; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5119 = 9'h37 == _T_59801 ? 32'h0 : _GEN_5118; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5120 = 9'h38 == _T_59801 ? 32'h0 : _GEN_5119; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5121 = 9'h39 == _T_59801 ? 32'h0 : _GEN_5120; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5122 = 9'h3a == _T_59801 ? 32'h0 : _GEN_5121; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5123 = 9'h3b == _T_59801 ? 32'h0 : _GEN_5122; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5124 = 9'h3c == _T_59801 ? 32'h0 : _GEN_5123; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5125 = 9'h3d == _T_59801 ? 32'h0 : _GEN_5124; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5126 = 9'h3e == _T_59801 ? 32'h0 : _GEN_5125; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5127 = 9'h3f == _T_59801 ? 32'h0 : _GEN_5126; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5128 = 9'h40 == _T_59801 ? 32'h0 : _GEN_5127; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5129 = 9'h41 == _T_59801 ? 32'h0 : _GEN_5128; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5130 = 9'h42 == _T_59801 ? 32'h0 : _GEN_5129; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5131 = 9'h43 == _T_59801 ? 32'h0 : _GEN_5130; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5132 = 9'h44 == _T_59801 ? 32'h0 : _GEN_5131; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5133 = 9'h45 == _T_59801 ? 32'h0 : _GEN_5132; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5134 = 9'h46 == _T_59801 ? 32'h0 : _GEN_5133; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5135 = 9'h47 == _T_59801 ? 32'h0 : _GEN_5134; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5136 = 9'h48 == _T_59801 ? 32'h0 : _GEN_5135; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5137 = 9'h49 == _T_59801 ? 32'h0 : _GEN_5136; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5138 = 9'h4a == _T_59801 ? 32'h0 : _GEN_5137; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5139 = 9'h4b == _T_59801 ? 32'h0 : _GEN_5138; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5140 = 9'h4c == _T_59801 ? 32'h0 : _GEN_5139; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5141 = 9'h4d == _T_59801 ? 32'h0 : _GEN_5140; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5142 = 9'h4e == _T_59801 ? 32'h0 : _GEN_5141; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5143 = 9'h4f == _T_59801 ? 32'h0 : _GEN_5142; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5144 = 9'h50 == _T_59801 ? 32'h0 : _GEN_5143; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5145 = 9'h51 == _T_59801 ? 32'h0 : _GEN_5144; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5146 = 9'h52 == _T_59801 ? 32'h0 : _GEN_5145; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5147 = 9'h53 == _T_59801 ? 32'h0 : _GEN_5146; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5148 = 9'h54 == _T_59801 ? 32'h0 : _GEN_5147; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5149 = 9'h55 == _T_59801 ? 32'h0 : _GEN_5148; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5150 = 9'h56 == _T_59801 ? 32'h0 : _GEN_5149; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5151 = 9'h57 == _T_59801 ? 32'h0 : _GEN_5150; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5152 = 9'h58 == _T_59801 ? 32'h0 : _GEN_5151; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5153 = 9'h59 == _T_59801 ? 32'h0 : _GEN_5152; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5154 = 9'h5a == _T_59801 ? 32'h0 : _GEN_5153; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5155 = 9'h5b == _T_59801 ? 32'h0 : _GEN_5154; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5156 = 9'h5c == _T_59801 ? 32'h0 : _GEN_5155; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5157 = 9'h5d == _T_59801 ? 32'h0 : _GEN_5156; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5158 = 9'h5e == _T_59801 ? 32'h0 : _GEN_5157; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5159 = 9'h5f == _T_59801 ? 32'h0 : _GEN_5158; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5160 = 9'h60 == _T_59801 ? 32'h0 : _GEN_5159; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5161 = 9'h61 == _T_59801 ? 32'h0 : _GEN_5160; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5162 = 9'h62 == _T_59801 ? 32'h0 : _GEN_5161; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5163 = 9'h63 == _T_59801 ? 32'h0 : _GEN_5162; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5164 = 9'h64 == _T_59801 ? 32'h0 : _GEN_5163; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5165 = 9'h65 == _T_59801 ? 32'h0 : _GEN_5164; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5166 = 9'h66 == _T_59801 ? 32'h0 : _GEN_5165; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5167 = 9'h67 == _T_59801 ? 32'h0 : _GEN_5166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5168 = 9'h68 == _T_59801 ? 32'h0 : _GEN_5167; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5169 = 9'h69 == _T_59801 ? 32'h0 : _GEN_5168; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5170 = 9'h6a == _T_59801 ? 32'h0 : _GEN_5169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5171 = 9'h6b == _T_59801 ? 32'h0 : _GEN_5170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5172 = 9'h6c == _T_59801 ? 32'h0 : _GEN_5171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5173 = 9'h6d == _T_59801 ? 32'h0 : _GEN_5172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5174 = 9'h6e == _T_59801 ? 32'h0 : _GEN_5173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5175 = 9'h6f == _T_59801 ? 32'h0 : _GEN_5174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5176 = 9'h70 == _T_59801 ? 32'h0 : _GEN_5175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5177 = 9'h71 == _T_59801 ? 32'h0 : _GEN_5176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5178 = 9'h72 == _T_59801 ? 32'h0 : _GEN_5177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5179 = 9'h73 == _T_59801 ? 32'h0 : _GEN_5178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5180 = 9'h74 == _T_59801 ? 32'h0 : _GEN_5179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5181 = 9'h75 == _T_59801 ? 32'h0 : _GEN_5180; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5182 = 9'h76 == _T_59801 ? 32'h0 : _GEN_5181; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5183 = 9'h77 == _T_59801 ? 32'h0 : _GEN_5182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5184 = 9'h78 == _T_59801 ? 32'h0 : _GEN_5183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5185 = 9'h79 == _T_59801 ? 32'h0 : _GEN_5184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5186 = 9'h7a == _T_59801 ? 32'h0 : _GEN_5185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5187 = 9'h7b == _T_59801 ? 32'h0 : _GEN_5186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5188 = 9'h7c == _T_59801 ? 32'h0 : _GEN_5187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5189 = 9'h7d == _T_59801 ? 32'h0 : _GEN_5188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5190 = 9'h7e == _T_59801 ? 32'h0 : _GEN_5189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5191 = 9'h7f == _T_59801 ? 32'h0 : _GEN_5190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5192 = 9'h80 == _T_59801 ? 32'h0 : _GEN_5191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5193 = 9'h81 == _T_59801 ? 32'h0 : _GEN_5192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5194 = 9'h82 == _T_59801 ? 32'h0 : _GEN_5193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5195 = 9'h83 == _T_59801 ? 32'h0 : _GEN_5194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5196 = 9'h84 == _T_59801 ? 32'h0 : _GEN_5195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5197 = 9'h85 == _T_59801 ? 32'h0 : _GEN_5196; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5198 = 9'h86 == _T_59801 ? 32'h0 : _GEN_5197; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5199 = 9'h87 == _T_59801 ? 32'h0 : _GEN_5198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5200 = 9'h88 == _T_59801 ? 32'h0 : _GEN_5199; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5201 = 9'h89 == _T_59801 ? 32'h0 : _GEN_5200; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5202 = 9'h8a == _T_59801 ? 32'h0 : _GEN_5201; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5203 = 9'h8b == _T_59801 ? 32'h0 : _GEN_5202; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5204 = 9'h8c == _T_59801 ? 32'h0 : _GEN_5203; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5205 = 9'h8d == _T_59801 ? 32'h0 : _GEN_5204; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5206 = 9'h8e == _T_59801 ? 32'h0 : _GEN_5205; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5207 = 9'h8f == _T_59801 ? 32'h0 : _GEN_5206; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5208 = 9'h90 == _T_59801 ? 32'h0 : _GEN_5207; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5209 = 9'h91 == _T_59801 ? 32'h0 : _GEN_5208; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5210 = 9'h92 == _T_59801 ? 32'h0 : _GEN_5209; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5211 = 9'h93 == _T_59801 ? 32'h0 : _GEN_5210; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5212 = 9'h94 == _T_59801 ? 32'h0 : _GEN_5211; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5213 = 9'h95 == _T_59801 ? 32'h0 : _GEN_5212; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5214 = 9'h96 == _T_59801 ? 32'h0 : _GEN_5213; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5215 = 9'h97 == _T_59801 ? 32'h0 : _GEN_5214; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5216 = 9'h98 == _T_59801 ? 32'h0 : _GEN_5215; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5217 = 9'h99 == _T_59801 ? 32'h0 : _GEN_5216; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5218 = 9'h9a == _T_59801 ? 32'h0 : _GEN_5217; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5219 = 9'h9b == _T_59801 ? 32'h0 : _GEN_5218; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5220 = 9'h9c == _T_59801 ? 32'h0 : _GEN_5219; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5221 = 9'h9d == _T_59801 ? 32'h0 : _GEN_5220; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5222 = 9'h9e == _T_59801 ? 32'h0 : _GEN_5221; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5223 = 9'h9f == _T_59801 ? 32'h0 : _GEN_5222; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5224 = 9'ha0 == _T_59801 ? 32'h0 : _GEN_5223; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5225 = 9'ha1 == _T_59801 ? 32'h0 : _GEN_5224; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5226 = 9'ha2 == _T_59801 ? 32'h0 : _GEN_5225; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5227 = 9'ha3 == _T_59801 ? 32'h0 : _GEN_5226; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5228 = 9'ha4 == _T_59801 ? 32'h0 : _GEN_5227; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5229 = 9'ha5 == _T_59801 ? 32'h0 : _GEN_5228; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5230 = 9'ha6 == _T_59801 ? 32'h0 : _GEN_5229; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5231 = 9'ha7 == _T_59801 ? 32'h0 : _GEN_5230; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5232 = 9'ha8 == _T_59801 ? 32'h0 : _GEN_5231; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5233 = 9'ha9 == _T_59801 ? 32'h0 : _GEN_5232; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5234 = 9'haa == _T_59801 ? 32'h0 : _GEN_5233; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5235 = 9'hab == _T_59801 ? 32'h0 : _GEN_5234; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5236 = 9'hac == _T_59801 ? 32'h0 : _GEN_5235; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5237 = 9'had == _T_59801 ? 32'h0 : _GEN_5236; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5238 = 9'hae == _T_59801 ? 32'h0 : _GEN_5237; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5239 = 9'haf == _T_59801 ? 32'h0 : _GEN_5238; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5240 = 9'hb0 == _T_59801 ? 32'h0 : _GEN_5239; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5241 = 9'hb1 == _T_59801 ? 32'h0 : _GEN_5240; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5242 = 9'hb2 == _T_59801 ? 32'h0 : _GEN_5241; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5243 = 9'hb3 == _T_59801 ? 32'h0 : _GEN_5242; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5244 = 9'hb4 == _T_59801 ? 32'h0 : _GEN_5243; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5245 = 9'hb5 == _T_59801 ? 32'h0 : _GEN_5244; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5246 = 9'hb6 == _T_59801 ? 32'h0 : _GEN_5245; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5247 = 9'hb7 == _T_59801 ? 32'h0 : _GEN_5246; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5248 = 9'hb8 == _T_59801 ? 32'h0 : _GEN_5247; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5249 = 9'hb9 == _T_59801 ? 32'h0 : _GEN_5248; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5250 = 9'hba == _T_59801 ? 32'h0 : _GEN_5249; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5251 = 9'hbb == _T_59801 ? 32'h0 : _GEN_5250; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5252 = 9'hbc == _T_59801 ? 32'h0 : _GEN_5251; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5253 = 9'hbd == _T_59801 ? 32'h0 : _GEN_5252; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5254 = 9'hbe == _T_59801 ? 32'h0 : _GEN_5253; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5255 = 9'hbf == _T_59801 ? 32'h0 : _GEN_5254; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5256 = 9'hc0 == _T_59801 ? 32'h380006f : _GEN_5255; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5257 = 9'hc1 == _T_59801 ? 32'h0 : _GEN_5256; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5258 = 9'hc2 == _T_59801 ? 32'h0 : _GEN_5257; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5259 = 9'hc3 == _T_59801 ? 32'h0 : _GEN_5258; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5260 = 9'hc4 == _T_59801 ? 32'h0 : _GEN_5259; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5261 = 9'hc5 == _T_59801 ? 32'h0 : _GEN_5260; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5262 = 9'hc6 == _T_59801 ? 32'h0 : _GEN_5261; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5263 = 9'hc7 == _T_59801 ? 32'h0 : _GEN_5262; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5264 = 9'hc8 == _T_59801 ? 32'h0 : _GEN_5263; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5265 = 9'hc9 == _T_59801 ? 32'h0 : _GEN_5264; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5266 = 9'hca == _T_59801 ? 32'h0 : _GEN_5265; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5267 = 9'hcb == _T_59801 ? 32'h0 : _GEN_5266; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5268 = 9'hcc == _T_59801 ? 32'h0 : _GEN_5267; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5269 = 9'hcd == _T_59801 ? 32'h0 : _GEN_5268; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5270 = 9'hce == _T_59801 ? abstractGeneratedMem_0 : _GEN_5269; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5271 = 9'hcf == _T_59801 ? abstractGeneratedMem_1 : _GEN_5270; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5272 = 9'hd0 == _T_59801 ? _T_3906 : _GEN_5271; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5273 = 9'hd1 == _T_59801 ? _T_3694 : _GEN_5272; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5274 = 9'hd2 == _T_59801 ? _T_4012 : _GEN_5273; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5275 = 9'hd3 == _T_59801 ? _T_4511 : _GEN_5274; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5276 = 9'hd4 == _T_59801 ? _T_4879 : _GEN_5275; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5277 = 9'hd5 == _T_59801 ? _T_3376 : _GEN_5276; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5278 = 9'hd6 == _T_59801 ? _T_3588 : _GEN_5277; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5279 = 9'hd7 == _T_59801 ? _T_4405 : _GEN_5278; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5280 = 9'hd8 == _T_59801 ? _T_4748 : _GEN_5279; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5281 = 9'hd9 == _T_59801 ? _T_3800 : _GEN_5280; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5282 = 9'hda == _T_59801 ? _T_3245 : _GEN_5281; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5283 = 9'hdb == _T_59801 ? _T_4642 : _GEN_5282; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5284 = 9'hdc == _T_59801 ? _T_4299 : _GEN_5283; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5285 = 9'hdd == _T_59801 ? _T_4118 : _GEN_5284; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5286 = 9'hde == _T_59801 ? _T_3482 : _GEN_5285; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5287 = 9'hdf == _T_59801 ? _T_5116 : _GEN_5286; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5288 = 9'he0 == _T_59801 ? _T_5010 : _GEN_5287; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5289 = 9'he1 == _T_59801 ? 32'h0 : _GEN_5288; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5290 = 9'he2 == _T_59801 ? 32'h0 : _GEN_5289; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5291 = 9'he3 == _T_59801 ? 32'h0 : _GEN_5290; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5292 = 9'he4 == _T_59801 ? 32'h0 : _GEN_5291; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5293 = 9'he5 == _T_59801 ? 32'h0 : _GEN_5292; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5294 = 9'he6 == _T_59801 ? 32'h0 : _GEN_5293; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5295 = 9'he7 == _T_59801 ? 32'h0 : _GEN_5294; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5296 = 9'he8 == _T_59801 ? 32'h0 : _GEN_5295; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5297 = 9'he9 == _T_59801 ? 32'h0 : _GEN_5296; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5298 = 9'hea == _T_59801 ? 32'h0 : _GEN_5297; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5299 = 9'heb == _T_59801 ? 32'h0 : _GEN_5298; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5300 = 9'hec == _T_59801 ? 32'h0 : _GEN_5299; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5301 = 9'hed == _T_59801 ? 32'h0 : _GEN_5300; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5302 = 9'hee == _T_59801 ? 32'h0 : _GEN_5301; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5303 = 9'hef == _T_59801 ? 32'h0 : _GEN_5302; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5304 = 9'hf0 == _T_59801 ? 32'h0 : _GEN_5303; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5305 = 9'hf1 == _T_59801 ? 32'h0 : _GEN_5304; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5306 = 9'hf2 == _T_59801 ? 32'h0 : _GEN_5305; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5307 = 9'hf3 == _T_59801 ? 32'h0 : _GEN_5306; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5308 = 9'hf4 == _T_59801 ? 32'h0 : _GEN_5307; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5309 = 9'hf5 == _T_59801 ? 32'h0 : _GEN_5308; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5310 = 9'hf6 == _T_59801 ? 32'h0 : _GEN_5309; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5311 = 9'hf7 == _T_59801 ? 32'h0 : _GEN_5310; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5312 = 9'hf8 == _T_59801 ? 32'h0 : _GEN_5311; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5313 = 9'hf9 == _T_59801 ? 32'h0 : _GEN_5312; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5314 = 9'hfa == _T_59801 ? 32'h0 : _GEN_5313; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5315 = 9'hfb == _T_59801 ? 32'h0 : _GEN_5314; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5316 = 9'hfc == _T_59801 ? 32'h0 : _GEN_5315; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5317 = 9'hfd == _T_59801 ? 32'h0 : _GEN_5316; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5318 = 9'hfe == _T_59801 ? 32'h0 : _GEN_5317; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5319 = 9'hff == _T_59801 ? 32'h0 : _GEN_5318; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5320 = 9'h100 == _T_59801 ? _T_40283 : _GEN_5319; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5321 = 9'h101 == _T_59801 ? _T_31622 : _GEN_5320; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5322 = 9'h102 == _T_59801 ? _T_53396 : _GEN_5321; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5323 = 9'h103 == _T_59801 ? _T_43912 : _GEN_5322; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5324 = 9'h104 == _T_59801 ? _T_37159 : _GEN_5323; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5325 = 9'h105 == _T_59801 ? _T_33106 : _GEN_5324; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5326 = 9'h106 == _T_59801 ? _T_55541 : _GEN_5325; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5327 = 9'h107 == _T_59801 ? _T_50615 : _GEN_5326; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5328 = 9'h108 == _T_59801 ? _T_42827 : _GEN_5327; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5329 = 9'h109 == _T_59801 ? _T_35332 : _GEN_5328; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5330 = 9'h10a == _T_59801 ? _T_41661 : _GEN_5329; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5331 = 9'h10b == _T_59801 ? _T_48389 : _GEN_5330; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5332 = 9'h10c == _T_59801 ? _T_56707 : _GEN_5331; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5333 = 9'h10d == _T_59801 ? _T_30350 : _GEN_5332; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5334 = 9'h10e == _T_59801 ? _T_36417 : _GEN_5333; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5335 = 9'h10f == _T_59801 ? _T_46138 : _GEN_5334; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5336 = 9'h110 == _T_59801 ? _T_54481 : _GEN_5335; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5337 = 9'h111 == _T_59801 ? _T_55859 : _GEN_5336; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5338 = 9'h112 == _T_59801 ? _T_45184 : _GEN_5337; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5339 = 9'h113 == _T_59801 ? _T_37926 : _GEN_5338; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5340 = 9'h114 == _T_59801 ? _T_29714 : _GEN_5339; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5341 = 9'h115 == _T_59801 ? _T_58191 : _GEN_5340; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5342 = 9'h116 == _T_59801 ? _T_47753 : _GEN_5341; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5343 = 9'h117 == _T_59801 ? _T_42933 : _GEN_5342; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5344 = 9'h118 == _T_59801 ? _T_34590 : _GEN_5343; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5345 = 9'h119 == _T_59801 ? _T_43806 : _GEN_5344; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5346 = 9'h11a == _T_59801 ? _T_50191 : _GEN_5345; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5347 = 9'h11b == _T_59801 ? _T_57343 : _GEN_5346; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5348 = 9'h11c == _T_59801 ? _T_32470 : _GEN_5347; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5349 = 9'h11d == _T_59801 ? _T_39117 : _GEN_5348; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5350 = 9'h11e == _T_59801 ? _T_43594 : _GEN_5349; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5351 = 9'h11f == _T_59801 ? _T_54905 : _GEN_5350; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5352 = 9'h120 == _T_59801 ? _T_31198 : _GEN_5351; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5353 = 9'h121 == _T_59801 ? _T_32788 : _GEN_5352; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5354 = 9'h122 == _T_59801 ? _T_53926 : _GEN_5353; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5355 = 9'h123 == _T_59801 ? _T_43700 : _GEN_5354; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5356 = 9'h124 == _T_59801 ? _T_35887 : _GEN_5355; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5357 = 9'h125 == _T_59801 ? _T_34802 : _GEN_5356; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5358 = 9'h126 == _T_59801 ? _T_56389 : _GEN_5357; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5359 = 9'h127 == _T_59801 ? _T_50085 : _GEN_5358; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5360 = 9'h128 == _T_59801 ? _T_43064 : _GEN_5359; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5361 = 9'h129 == _T_59801 ? _T_37477 : _GEN_5360; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5362 = 9'h12a == _T_59801 ? _T_42297 : _GEN_5361; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5363 = 9'h12b == _T_59801 ? _T_48283 : _GEN_5362; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5364 = 9'h12c == _T_59801 ? _T_55011 : _GEN_5363; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5365 = 9'h12d == _T_59801 ? _T_31304 : _GEN_5364; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5366 = 9'h12e == _T_59801 ? _T_37053 : _GEN_5365; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5367 = 9'h12f == _T_59801 ? _T_46032 : _GEN_5366; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5368 = 9'h130 == _T_59801 ? _T_53290 : _GEN_5367; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5369 = 9'h131 == _T_59801 ? _T_56071 : _GEN_5368; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5370 = 9'h132 == _T_59801 ? _T_48177 : _GEN_5369; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5371 = 9'h133 == _T_59801 ? _T_35781 : _GEN_5370; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5372 = 9'h134 == _T_59801 ? _T_29820 : _GEN_5371; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5373 = 9'h135 == _T_59801 ? _T_59145 : _GEN_5372; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5374 = 9'h136 == _T_59801 ? _T_50721 : _GEN_5373; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5375 = 9'h137 == _T_59801 ? _T_41979 : _GEN_5374; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5376 = 9'h138 == _T_59801 ? _T_35650 : _GEN_5375; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5377 = 9'h139 == _T_59801 ? _T_44442 : _GEN_5376; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5378 = 9'h13a == _T_59801 ? _T_51912 : _GEN_5377; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5379 = 9'h13b == _T_59801 ? _T_55223 : _GEN_5378; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5380 = 9'h13c == _T_59801 ? _T_33000 : _GEN_5379; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5381 = 9'h13d == _T_59801 ? _T_39435 : _GEN_5380; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5382 = 9'h13e == _T_59801 ? _T_45714 : _GEN_5381; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5383 = 9'h13f == _T_59801 ? _T_53184 : _GEN_5382; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5384 = 9'h140 == _T_59801 ? _T_31410 : _GEN_5383; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5385 = 9'h141 == _T_59801 ? _T_33636 : _GEN_5384; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5386 = 9'h142 == _T_59801 ? _T_58615 : _GEN_5385; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5387 = 9'h143 == _T_59801 ? _T_46880 : _GEN_5386; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5388 = 9'h144 == _T_59801 ? _T_39011 : _GEN_5387; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5389 = 9'h145 == _T_59801 ? _T_32682 : _GEN_5388; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5390 = 9'h146 == _T_59801 ? _T_56283 : _GEN_5389; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5391 = 9'h147 == _T_59801 ? _T_50403 : _GEN_5390; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5392 = 9'h148 == _T_59801 ? _T_40071 : _GEN_5391; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5393 = 9'h149 == _T_59801 ? _T_38481 : _GEN_5392; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5394 = 9'h14a == _T_59801 ? _T_47329 : _GEN_5393; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5395 = 9'h14b == _T_59801 ? _T_50852 : _GEN_5394; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5396 = 9'h14c == _T_59801 ? _T_57767 : _GEN_5395; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5397 = 9'h14d == _T_59801 ? _T_28866 : _GEN_5396; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5398 = 9'h14e == _T_59801 ? _T_36947 : _GEN_5397; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5399 = 9'h14f == _T_59801 ? _T_44760 : _GEN_5398; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5400 = 9'h150 == _T_59801 ? _T_51700 : _GEN_5399; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5401 = 9'h151 == _T_59801 ? _T_58827 : _GEN_5400; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5402 = 9'h152 == _T_59801 ? _T_51382 : _GEN_5401; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5403 = 9'h153 == _T_59801 ? _T_40495 : _GEN_5402; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5404 = 9'h154 == _T_59801 ? _T_30880 : _GEN_5403; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5405 = 9'h155 == _T_59801 ? _T_56495 : _GEN_5404; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5406 = 9'h156 == _T_59801 ? _T_49661 : _GEN_5405; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5407 = 9'h157 == _T_59801 ? _T_41555 : _GEN_5406; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5408 = 9'h158 == _T_59801 ? _T_32046 : _GEN_5407; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5409 = 9'h159 == _T_59801 ? _T_46668 : _GEN_5408; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5410 = 9'h15a == _T_59801 ? _T_54693 : _GEN_5409; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5411 = 9'h15b == _T_59801 ? _T_28760 : _GEN_5410; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5412 = 9'h15c == _T_59801 ? _T_34166 : _GEN_5411; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5413 = 9'h15d == _T_59801 ? _T_37265 : _GEN_5412; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5414 = 9'h15e == _T_59801 ? _T_44866 : _GEN_5413; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5415 = 9'h15f == _T_59801 ? _T_53502 : _GEN_5414; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5416 = 9'h160 == _T_59801 ? _T_29290 : _GEN_5415; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5417 = 9'h161 == _T_59801 ? _T_34272 : _GEN_5416; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5418 = 9'h162 == _T_59801 ? _T_59039 : _GEN_5417; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5419 = 9'h163 == _T_59801 ? _T_49767 : _GEN_5418; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5420 = 9'h164 == _T_59801 ? _T_39753 : _GEN_5419; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5421 = 9'h165 == _T_59801 ? _T_32152 : _GEN_5420; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5422 = 9'h166 == _T_59801 ? _T_56813 : _GEN_5421; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5423 = 9'h167 == _T_59801 ? _T_51594 : _GEN_5422; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5424 = 9'h168 == _T_59801 ? _T_41767 : _GEN_5423; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5425 = 9'h169 == _T_59801 ? _T_38244 : _GEN_5424; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5426 = 9'h16a == _T_59801 ? _T_45502 : _GEN_5425; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5427 = 9'h16b == _T_59801 ? _T_52442 : _GEN_5426; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5428 = 9'h16c == _T_59801 ? _T_59781 : _GEN_5427; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5429 = 9'h16d == _T_59801 ? _T_28548 : _GEN_5428; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5430 = 9'h16e == _T_59801 ? _T_36841 : _GEN_5429; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5431 = 9'h16f == _T_59801 ? _T_46774 : _GEN_5430; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5432 = 9'h170 == _T_59801 ? _T_52972 : _GEN_5431; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5433 = 9'h171 == _T_59801 ? _T_58509 : _GEN_5432; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5434 = 9'h172 == _T_59801 ? _T_51064 : _GEN_5433; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5435 = 9'h173 == _T_59801 ? _T_41343 : _GEN_5434; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5436 = 9'h174 == _T_59801 ? _T_31834 : _GEN_5435; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5437 = 9'h175 == _T_59801 ? _T_55965 : _GEN_5436; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5438 = 9'h176 == _T_59801 ? _T_49237 : _GEN_5437; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5439 = 9'h177 == _T_59801 ? _T_43276 : _GEN_5438; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5440 = 9'h178 == _T_59801 ? _T_33742 : _GEN_5439; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5441 = 9'h179 == _T_59801 ? _T_45396 : _GEN_5440; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5442 = 9'h17a == _T_59801 ? _T_54032 : _GEN_5441; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5443 = 9'h17b == _T_59801 ? _T_30032 : _GEN_5442; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5444 = 9'h17c == _T_59801 ? _T_36099 : _GEN_5443; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5445 = 9'h17d == _T_59801 ? _T_36629 : _GEN_5444; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5446 = 9'h17e == _T_59801 ? _T_44336 : _GEN_5445; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5447 = 9'h17f == _T_59801 ? _T_54587 : _GEN_5446; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5448 = 9'h180 == _T_59801 ? _T_30562 : _GEN_5447; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5449 = 9'h181 == _T_59801 ? _T_30456 : _GEN_5448; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5450 = 9'h182 == _T_59801 ? _T_51806 : _GEN_5449; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5451 = 9'h183 == _T_59801 ? _T_46456 : _GEN_5450; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5452 = 9'h184 == _T_59801 ? _T_39647 : _GEN_5451; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5453 = 9'h185 == _T_59801 ? _T_31728 : _GEN_5452; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5454 = 9'h186 == _T_59801 ? _T_53608 : _GEN_5453; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5455 = 9'h187 == _T_59801 ? _T_44124 : _GEN_5454; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5456 = 9'h188 == _T_59801 ? _T_37371 : _GEN_5455; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5457 = 9'h189 == _T_59801 ? _T_41025 : _GEN_5456; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5458 = 9'h18a == _T_59801 ? _T_48071 : _GEN_5457; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5459 = 9'h18b == _T_59801 ? _T_57555 : _GEN_5458; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5460 = 9'h18c == _T_59801 ? _T_35014 : _GEN_5459; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5461 = 9'h18d == _T_59801 ? _T_34484 : _GEN_5460; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5462 = 9'h18e == _T_59801 ? _T_42085 : _GEN_5461; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5463 = 9'h18f == _T_59801 ? _T_47647 : _GEN_5462; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5464 = 9'h190 == _T_59801 ? _T_57131 : _GEN_5463; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5465 = 9'h191 == _T_59801 ? _T_53714 : _GEN_5464; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5466 = 9'h192 == _T_59801 ? _T_43488 : _GEN_5465; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5467 = 9'h193 == _T_59801 ? _T_39541 : _GEN_5466; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5468 = 9'h194 == _T_59801 ? _T_30986 : _GEN_5467; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5469 = 9'h195 == _T_59801 ? _T_55647 : _GEN_5468; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5470 = 9'h196 == _T_59801 ? _T_44972 : _GEN_5469; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5471 = 9'h197 == _T_59801 ? _T_37714 : _GEN_5470; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5472 = 9'h198 == _T_59801 ? _T_29396 : _GEN_5471; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5473 = 9'h199 == _T_59801 ? _T_50509 : _GEN_5472; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5474 = 9'h19a == _T_59801 ? _T_55435 : _GEN_5473; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5475 = 9'h19b == _T_59801 ? _T_35120 : _GEN_5474; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5476 = 9'h19c == _T_59801 ? _T_42403 : _GEN_5475; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5477 = 9'h19d == _T_59801 ? _T_44018 : _GEN_5476; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5478 = 9'h19e == _T_59801 ? _T_50297 : _GEN_5477; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5479 = 9'h19f == _T_59801 ? _T_57449 : _GEN_5478; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5480 = 9'h1a0 == _T_59801 ? _T_32576 : _GEN_5479; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5481 = 9'h1a1 == _T_59801 ? _T_31092 : _GEN_5480; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5482 = 9'h1a2 == _T_59801 ? _T_53820 : _GEN_5481; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5483 = 9'h1a3 == _T_59801 ? _T_45290 : _GEN_5482; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5484 = 9'h1a4 == _T_59801 ? _T_39859 : _GEN_5483; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5485 = 9'h1a5 == _T_59801 ? _T_32364 : _GEN_5484; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5486 = 9'h1a6 == _T_59801 ? _T_55753 : _GEN_5485; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5487 = 9'h1a7 == _T_59801 ? _T_43382 : _GEN_5486; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5488 = 9'h1a8 == _T_59801 ? _T_37583 : _GEN_5487; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5489 = 9'h1a9 == _T_59801 ? _T_42509 : _GEN_5488; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5490 = 9'h1aa == _T_59801 ? _T_49025 : _GEN_5489; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5491 = 9'h1ab == _T_59801 ? _T_57873 : _GEN_5490; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5492 = 9'h1ac == _T_59801 ? _T_35226 : _GEN_5491; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5493 = 9'h1ad == _T_59801 ? _T_37820 : _GEN_5492; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5494 = 9'h1ae == _T_59801 ? _T_42721 : _GEN_5493; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5495 = 9'h1af == _T_59801 ? _T_48707 : _GEN_5494; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5496 = 9'h1b0 == _T_59801 ? _T_55329 : _GEN_5495; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5497 = 9'h1b1 == _T_59801 ? _T_54138 : _GEN_5496; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5498 = 9'h1b2 == _T_59801 ? _T_45926 : _GEN_5497; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5499 = 9'h1b3 == _T_59801 ? _T_38375 : _GEN_5498; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5500 = 9'h1b4 == _T_59801 ? _T_31516 : _GEN_5499; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5501 = 9'h1b5 == _T_59801 ? _T_56919 : _GEN_5500; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5502 = 9'h1b6 == _T_59801 ? _T_48601 : _GEN_5501; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5503 = 9'h1b7 == _T_59801 ? _T_36311 : _GEN_5502; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5504 = 9'h1b8 == _T_59801 ? _T_30138 : _GEN_5503; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5505 = 9'h1b9 == _T_59801 ? _T_50958 : _GEN_5504; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5506 = 9'h1ba == _T_59801 ? _T_58297 : _GEN_5505; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5507 = 9'h1bb == _T_59801 ? _T_33530 : _GEN_5506; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5508 = 9'h1bc == _T_59801 ? _T_43170 : _GEN_5507; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5509 = 9'h1bd == _T_59801 ? _T_44230 : _GEN_5508; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5510 = 9'h1be == _T_59801 ? _T_52018 : _GEN_5509; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5511 = 9'h1bf == _T_59801 ? _T_55117 : _GEN_5510; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5512 = 9'h1c0 == _T_59801 ? _T_32894 : _GEN_5511; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5513 = 9'h1c1 == _T_59801 ? _T_29926 : _GEN_5512; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5514 = 9'h1c2 == _T_59801 ? _T_52336 : _GEN_5513; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5515 = 9'h1c3 == _T_59801 ? _T_45608 : _GEN_5514; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5516 = 9'h1c4 == _T_59801 ? _T_35993 : _GEN_5515; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5517 = 9'h1c5 == _T_59801 ? _T_34908 : _GEN_5516; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5518 = 9'h1c6 == _T_59801 ? _T_59675 : _GEN_5517; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5519 = 9'h1c7 == _T_59801 ? _T_47859 : _GEN_5518; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5520 = 9'h1c8 == _T_59801 ? _T_38905 : _GEN_5519; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5521 = 9'h1c9 == _T_59801 ? _T_41237 : _GEN_5520; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5522 = 9'h1ca == _T_59801 ? _T_49873 : _GEN_5521; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5523 = 9'h1cb == _T_59801 ? _T_58085 : _GEN_5522; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5524 = 9'h1cc == _T_59801 ? _T_32258 : _GEN_5523; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5525 = 9'h1cd == _T_59801 ? _T_38693 : _GEN_5524; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5526 = 9'h1ce == _T_59801 ? _T_47435 : _GEN_5525; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5527 = 9'h1cf == _T_59801 ? _T_51276 : _GEN_5526; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5528 = 9'h1d0 == _T_59801 ? _T_57661 : _GEN_5527; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5529 = 9'h1d1 == _T_59801 ? _T_52230 : _GEN_5528; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5530 = 9'h1d2 == _T_59801 ? _T_44654 : _GEN_5529; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5531 = 9'h1d3 == _T_59801 ? _T_38032 : _GEN_5530; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5532 = 9'h1d4 == _T_59801 ? _T_29078 : _GEN_5531; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5533 = 9'h1d5 == _T_59801 ? _T_58933 : _GEN_5532; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5534 = 9'h1d6 == _T_59801 ? _T_51488 : _GEN_5533; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5535 = 9'h1d7 == _T_59801 ? _T_40177 : _GEN_5534; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5536 = 9'h1d8 == _T_59801 ? _T_30774 : _GEN_5535; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5537 = 9'h1d9 == _T_59801 ? _T_48813 : _GEN_5536; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5538 = 9'h1da == _T_59801 ? _T_57025 : _GEN_5537; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5539 = 9'h1db == _T_59801 ? _T_33318 : _GEN_5538; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5540 = 9'h1dc == _T_59801 ? _T_40601 : _GEN_5539; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5541 = 9'h1dd == _T_59801 ? _T_46350 : _GEN_5540; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5542 = 9'h1de == _T_59801 ? _T_54375 : _GEN_5541; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5543 = 9'h1df == _T_59801 ? _T_28654 : _GEN_5542; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5544 = 9'h1e0 == _T_59801 ? _T_34378 : _GEN_5543; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5545 = 9'h1e1 == _T_59801 ? _T_29184 : _GEN_5544; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5546 = 9'h1e2 == _T_59801 ? _T_52548 : _GEN_5545; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5547 = 9'h1e3 == _T_59801 ? _T_47092 : _GEN_5546; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5548 = 9'h1e4 == _T_59801 ? _T_38138 : _GEN_5547; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5549 = 9'h1e5 == _T_59801 ? _T_33954 : _GEN_5548; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5550 = 9'h1e6 == _T_59801 ? _T_58721 : _GEN_5549; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5551 = 9'h1e7 == _T_59801 ? _T_49449 : _GEN_5550; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5552 = 9'h1e8 == _T_59801 ? _T_40389 : _GEN_5551; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5553 = 9'h1e9 == _T_59801 ? _T_40813 : _GEN_5552; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5554 = 9'h1ea == _T_59801 ? _T_48919 : _GEN_5553; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5555 = 9'h1eb == _T_59801 ? _T_59357 : _GEN_5554; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5556 = 9'h1ec == _T_59801 ? _T_33424 : _GEN_5555; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5557 = 9'h1ed == _T_59801 ? _T_38799 : _GEN_5556; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5558 = 9'h1ee == _T_59801 ? _T_46562 : _GEN_5557; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5559 = 9'h1ef == _T_59801 ? _T_52760 : _GEN_5558; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5560 = 9'h1f0 == _T_59801 ? _T_59569 : _GEN_5559; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5561 = 9'h1f1 == _T_59801 ? _T_52124 : _GEN_5560; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5562 = 9'h1f2 == _T_59801 ? _T_44548 : _GEN_5561; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5563 = 9'h1f3 == _T_59801 ? _T_39965 : _GEN_5562; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5564 = 9'h1f4 == _T_59801 ? _T_30668 : _GEN_5563; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5565 = 9'h1f5 == _T_59801 ? _T_58403 : _GEN_5564; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5566 = 9'h1f6 == _T_59801 ? _T_51170 : _GEN_5565; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5567 = 9'h1f7 == _T_59801 ? _T_41449 : _GEN_5566; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5568 = 9'h1f8 == _T_59801 ? _T_31940 : _GEN_5567; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5569 = 9'h1f9 == _T_59801 ? _T_48495 : _GEN_5568; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5570 = 9'h1fa == _T_59801 ? _T_56601 : _GEN_5569; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5571 = 9'h1fb == _T_59801 ? _T_35438 : _GEN_5570; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5572 = 9'h1fc == _T_59801 ? _T_41873 : _GEN_5571; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5573 = 9'h1fd == _T_59801 ? _T_45820 : _GEN_5572; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5574 = 9'h1fe == _T_59801 ? _T_54244 : _GEN_5573; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _GEN_5575 = 9'h1ff == _T_59801 ? _T_30244 : _GEN_5574; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@191303.4]
  assign _T_76327 = goReg == 1'h0; // @[Debug.scala 1020:18:shc.marmotcaravel.MarmotCaravelConfig.fir@191508.10]
  assign _T_76328 = _T_76327 & hartHaltedWrEn; // @[Debug.scala 1020:30:shc.marmotcaravel.MarmotCaravelConfig.fir@191509.10]
  assign _T_76329 = hartHaltedId == selectedHartReg; // @[Debug.scala 1020:95:shc.marmotcaravel.MarmotCaravelConfig.fir@191510.10]
  assign _T_76330 = _T_76328 & _T_76329; // @[Debug.scala 1020:48:shc.marmotcaravel.MarmotCaravelConfig.fir@191511.10]
  assign _T_76335 = ctrlStateReg == 2'h3; // @[Debug.scala 1028:30:shc.marmotcaravel.MarmotCaravelConfig.fir@191529.10]
  assign _T_76338 = reset == 1'h0; // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@191533.12]
  assign _T_76341 = hartExceptionWrEn == 1'h0; // @[Debug.scala 1042:14:shc.marmotcaravel.MarmotCaravelConfig.fir@191551.4]
  assign _T_76343 = _T_76341 | _T_76326; // @[Debug.scala 1042:33:shc.marmotcaravel.MarmotCaravelConfig.fir@191553.4]
  assign _T_76345 = _T_76343 | reset; // @[Debug.scala 1042:12:shc.marmotcaravel.MarmotCaravelConfig.fir@191555.4]
  assign _T_76346 = _T_76345 == 1'h0; // @[Debug.scala 1042:12:shc.marmotcaravel.MarmotCaravelConfig.fir@191556.4]
  assign auto_tl_in_a_ready = auto_tl_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@115963.4]
  assign auto_tl_in_d_valid = auto_tl_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@115963.4]
  assign auto_tl_in_d_bits_opcode = {{2'd0}, _T_23037}; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@115963.4]
  assign auto_tl_in_d_bits_size = _T_23039[1:0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@115963.4]
  assign auto_tl_in_d_bits_source = _T_23039[7:2]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@115963.4]
  assign auto_tl_in_d_bits_data = _GEN_5063 ? _GEN_5575 : 32'h0; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@115963.4]
  assign auto_dmi_in_a_ready = auto_dmi_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@115962.4]
  assign auto_dmi_in_d_valid = auto_dmi_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@115962.4]
  assign auto_dmi_in_d_bits_opcode = {{2'd0}, _T_2720}; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@115962.4]
  assign auto_dmi_in_d_bits_size = _T_2722[1:0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@115962.4]
  assign auto_dmi_in_d_bits_source = _T_2722[2]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@115962.4]
  assign auto_dmi_in_d_bits_data = _GEN_282 ? _GEN_314 : 32'h0; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@115962.4]
  assign io_innerCtrl_ready = 1'h1; // @[Debug.scala 465:24:shc.marmotcaravel.MarmotCaravelConfig.fir@116160.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115886.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115887.4]
  assign TLMonitor_io_in_a_ready = auto_dmi_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
  assign TLMonitor_io_in_a_valid = auto_dmi_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_dmi_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
  assign TLMonitor_io_in_a_bits_param = auto_dmi_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
  assign TLMonitor_io_in_a_bits_size = auto_dmi_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
  assign TLMonitor_io_in_a_bits_source = auto_dmi_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
  assign TLMonitor_io_in_a_bits_address = auto_dmi_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
  assign TLMonitor_io_in_a_bits_mask = auto_dmi_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_dmi_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
  assign TLMonitor_io_in_d_ready = auto_dmi_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
  assign TLMonitor_io_in_d_valid = auto_dmi_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_2720}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
  assign TLMonitor_io_in_d_bits_size = _T_2722[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
  assign TLMonitor_io_in_d_bits_source = _T_2722[2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115920.4]
  assign TLMonitor_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115925.4]
  assign TLMonitor_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@115926.4]
  assign TLMonitor_1_io_in_a_ready = auto_tl_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
  assign TLMonitor_1_io_in_a_valid = auto_tl_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
  assign TLMonitor_1_io_in_a_bits_opcode = auto_tl_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
  assign TLMonitor_1_io_in_a_bits_param = auto_tl_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
  assign TLMonitor_1_io_in_a_bits_size = auto_tl_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
  assign TLMonitor_1_io_in_a_bits_source = auto_tl_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
  assign TLMonitor_1_io_in_a_bits_address = auto_tl_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
  assign TLMonitor_1_io_in_a_bits_mask = auto_tl_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
  assign TLMonitor_1_io_in_a_bits_corrupt = auto_tl_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
  assign TLMonitor_1_io_in_d_ready = auto_tl_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
  assign TLMonitor_1_io_in_d_valid = auto_tl_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
  assign TLMonitor_1_io_in_d_bits_opcode = {{2'd0}, _T_23037}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
  assign TLMonitor_1_io_in_d_bits_size = _T_23039[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
  assign TLMonitor_1_io_in_d_bits_source = _T_23039[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@115959.4]
  assign _GEN_5685 = _T_1429 == 1'h0; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121336.12]
  assign _GEN_5686 = goAbstract == 1'h0; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121336.12]
  assign _GEN_5687 = _GEN_5685 & _GEN_5686; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121336.12]
  assign _GEN_5688 = _GEN_5687 & hartGoingWrEn; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121336.12]
  assign _GEN_5693 = ABSTRACTCSWrEnLegal == 1'h0; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@191521.14]
  assign _GEN_5694 = _T_76325 == 1'h0; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@191521.14]
  assign _GEN_5695 = _GEN_5693 & _GEN_5694; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@191521.14]
  assign _GEN_5696 = _GEN_5695 & _T_76326; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@191521.14]
  assign _GEN_5697 = _GEN_5696 & hartExceptionWrEn; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@191521.14]
  assign _GEN_5706 = _T_76326 == 1'h0; // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@191535.14]
  assign _GEN_5707 = _GEN_5695 & _GEN_5706; // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@191535.14]
  assign _GEN_5708 = _GEN_5707 & _T_76335; // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@191535.14]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  haltedBitRegs_0 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  resumeReqRegs_0 = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  haveResetBitRegs_0 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  selectedHartReg = _RAND_3[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  ABSTRACTCSReg_cmderr = _RAND_4[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  ctrlStateReg = _RAND_5[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  COMMANDRdData_cmdtype = _RAND_6[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  COMMANDRdData_control = _RAND_7[23:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  ABSTRACTAUTOReg_autoexecdata = _RAND_8[11:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  ABSTRACTAUTOReg_autoexecprogbuf = _RAND_9[15:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  abstractDataMem_0 = _RAND_10[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  abstractDataMem_1 = _RAND_11[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  abstractDataMem_2 = _RAND_12[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  abstractDataMem_3 = _RAND_13[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  programBufferMem_0 = _RAND_14[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  programBufferMem_1 = _RAND_15[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  programBufferMem_2 = _RAND_16[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_17 = {1{`RANDOM}};
  programBufferMem_3 = _RAND_17[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_18 = {1{`RANDOM}};
  programBufferMem_4 = _RAND_18[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_19 = {1{`RANDOM}};
  programBufferMem_5 = _RAND_19[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_20 = {1{`RANDOM}};
  programBufferMem_6 = _RAND_20[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_21 = {1{`RANDOM}};
  programBufferMem_7 = _RAND_21[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_22 = {1{`RANDOM}};
  programBufferMem_8 = _RAND_22[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_23 = {1{`RANDOM}};
  programBufferMem_9 = _RAND_23[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_24 = {1{`RANDOM}};
  programBufferMem_10 = _RAND_24[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_25 = {1{`RANDOM}};
  programBufferMem_11 = _RAND_25[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_26 = {1{`RANDOM}};
  programBufferMem_12 = _RAND_26[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_27 = {1{`RANDOM}};
  programBufferMem_13 = _RAND_27[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_28 = {1{`RANDOM}};
  programBufferMem_14 = _RAND_28[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_29 = {1{`RANDOM}};
  programBufferMem_15 = _RAND_29[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_30 = {1{`RANDOM}};
  programBufferMem_16 = _RAND_30[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_31 = {1{`RANDOM}};
  programBufferMem_17 = _RAND_31[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_32 = {1{`RANDOM}};
  programBufferMem_18 = _RAND_32[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_33 = {1{`RANDOM}};
  programBufferMem_19 = _RAND_33[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_34 = {1{`RANDOM}};
  programBufferMem_20 = _RAND_34[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_35 = {1{`RANDOM}};
  programBufferMem_21 = _RAND_35[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_36 = {1{`RANDOM}};
  programBufferMem_22 = _RAND_36[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_37 = {1{`RANDOM}};
  programBufferMem_23 = _RAND_37[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_38 = {1{`RANDOM}};
  programBufferMem_24 = _RAND_38[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_39 = {1{`RANDOM}};
  programBufferMem_25 = _RAND_39[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_40 = {1{`RANDOM}};
  programBufferMem_26 = _RAND_40[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_41 = {1{`RANDOM}};
  programBufferMem_27 = _RAND_41[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_42 = {1{`RANDOM}};
  programBufferMem_28 = _RAND_42[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_43 = {1{`RANDOM}};
  programBufferMem_29 = _RAND_43[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_44 = {1{`RANDOM}};
  programBufferMem_30 = _RAND_44[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_45 = {1{`RANDOM}};
  programBufferMem_31 = _RAND_45[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_46 = {1{`RANDOM}};
  programBufferMem_32 = _RAND_46[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_47 = {1{`RANDOM}};
  programBufferMem_33 = _RAND_47[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_48 = {1{`RANDOM}};
  programBufferMem_34 = _RAND_48[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_49 = {1{`RANDOM}};
  programBufferMem_35 = _RAND_49[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_50 = {1{`RANDOM}};
  programBufferMem_36 = _RAND_50[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_51 = {1{`RANDOM}};
  programBufferMem_37 = _RAND_51[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_52 = {1{`RANDOM}};
  programBufferMem_38 = _RAND_52[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_53 = {1{`RANDOM}};
  programBufferMem_39 = _RAND_53[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_54 = {1{`RANDOM}};
  programBufferMem_40 = _RAND_54[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_55 = {1{`RANDOM}};
  programBufferMem_41 = _RAND_55[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_56 = {1{`RANDOM}};
  programBufferMem_42 = _RAND_56[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_57 = {1{`RANDOM}};
  programBufferMem_43 = _RAND_57[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_58 = {1{`RANDOM}};
  programBufferMem_44 = _RAND_58[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_59 = {1{`RANDOM}};
  programBufferMem_45 = _RAND_59[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_60 = {1{`RANDOM}};
  programBufferMem_46 = _RAND_60[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_61 = {1{`RANDOM}};
  programBufferMem_47 = _RAND_61[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_62 = {1{`RANDOM}};
  programBufferMem_48 = _RAND_62[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_63 = {1{`RANDOM}};
  programBufferMem_49 = _RAND_63[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_64 = {1{`RANDOM}};
  programBufferMem_50 = _RAND_64[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_65 = {1{`RANDOM}};
  programBufferMem_51 = _RAND_65[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_66 = {1{`RANDOM}};
  programBufferMem_52 = _RAND_66[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_67 = {1{`RANDOM}};
  programBufferMem_53 = _RAND_67[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_68 = {1{`RANDOM}};
  programBufferMem_54 = _RAND_68[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_69 = {1{`RANDOM}};
  programBufferMem_55 = _RAND_69[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_70 = {1{`RANDOM}};
  programBufferMem_56 = _RAND_70[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_71 = {1{`RANDOM}};
  programBufferMem_57 = _RAND_71[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_72 = {1{`RANDOM}};
  programBufferMem_58 = _RAND_72[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_73 = {1{`RANDOM}};
  programBufferMem_59 = _RAND_73[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_74 = {1{`RANDOM}};
  programBufferMem_60 = _RAND_74[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_75 = {1{`RANDOM}};
  programBufferMem_61 = _RAND_75[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_76 = {1{`RANDOM}};
  programBufferMem_62 = _RAND_76[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_77 = {1{`RANDOM}};
  programBufferMem_63 = _RAND_77[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_78 = {1{`RANDOM}};
  goReg = _RAND_78[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_79 = {1{`RANDOM}};
  abstractGeneratedMem_0 = _RAND_79[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_80 = {1{`RANDOM}};
  abstractGeneratedMem_1 = _RAND_80[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      haltedBitRegs_0 <= 1'h0;
    end else begin
      if (_T_1429) begin
        haltedBitRegs_0 <= 1'h0;
      end else begin
        if (hartHaltedWrEn) begin
          if (_T_2673) begin
            haltedBitRegs_0 <= 1'h1;
          end
        end else begin
          if (hartResumingWrEn) begin
            if (_T_2673) begin
              haltedBitRegs_0 <= 1'h0;
            end
          end
        end
      end
    end
    if (reset) begin
      resumeReqRegs_0 <= 1'h0;
    end else begin
      if (_T_1429) begin
        resumeReqRegs_0 <= 1'h0;
      end else begin
        if (resumereq) begin
          resumeReqRegs_0 <= 1'h1;
        end else begin
          if (hartResumingWrEn) begin
            if (_T_2673) begin
              resumeReqRegs_0 <= 1'h0;
            end
          end
        end
      end
    end
    if (reset) begin
      haveResetBitRegs_0 <= 1'h1;
    end else begin
      if (_T_1306) begin
        if (io_innerCtrl_bits_ackhavereset) begin
          haveResetBitRegs_0 <= 1'h0;
        end
      end
    end
    if (reset) begin
      selectedHartReg <= 10'h0;
    end else begin
      if (_T_1306) begin
        selectedHartReg <= io_innerCtrl_bits_hartsel;
      end
    end
    if (_T_1429) begin
      ABSTRACTCSReg_cmderr <= 3'h0;
    end else begin
      if (errorBusy) begin
        ABSTRACTCSReg_cmderr <= 3'h1;
      end else begin
        if (errorException) begin
          ABSTRACTCSReg_cmderr <= 3'h3;
        end else begin
          if (errorUnsupported) begin
            ABSTRACTCSReg_cmderr <= 3'h2;
          end else begin
            if (errorHaltResume) begin
              ABSTRACTCSReg_cmderr <= 3'h4;
            end else begin
              if (ABSTRACTCSWrEn) begin
                ABSTRACTCSReg_cmderr <= _T_1431;
              end
            end
          end
        end
      end
    end
    if (_T_1429) begin
      ctrlStateReg <= 2'h0;
    end else begin
      if (ABSTRACTCSWrEnLegal) begin
        if (_T_76323) begin
          ctrlStateReg <= 2'h1;
        end
      end else begin
        if (_T_76325) begin
          if (commandRegIsUnsupported) begin
            ctrlStateReg <= 2'h0;
          end else begin
            if (commandRegBadHaltResume) begin
              ctrlStateReg <= 2'h0;
            end else begin
              ctrlStateReg <= 2'h2;
            end
          end
        end else begin
          if (_T_76326) begin
            if (hartExceptionWrEn) begin
              ctrlStateReg <= 2'h0;
            end else begin
              if (_T_76330) begin
                ctrlStateReg <= 2'h0;
              end
            end
          end
        end
      end
    end
    if (_T_1429) begin
      COMMANDRdData_cmdtype <= 8'h0;
    end else begin
      if (COMMANDWrEn) begin
        COMMANDRdData_cmdtype <= COMMANDWrData_cmdtype;
      end
    end
    if (_T_1429) begin
      COMMANDRdData_control <= 24'h0;
    end else begin
      if (COMMANDWrEn) begin
        COMMANDRdData_control <= COMMANDWrData_control;
      end
    end
    if (_T_1429) begin
      ABSTRACTAUTOReg_autoexecdata <= 12'h0;
    end else begin
      if (ABSTRACTAUTOWrEn) begin
        ABSTRACTAUTOReg_autoexecdata <= _T_1457;
      end
    end
    if (_T_1429) begin
      ABSTRACTAUTOReg_autoexecprogbuf <= 16'h0;
    end else begin
      if (ABSTRACTAUTOWrEn) begin
        ABSTRACTAUTOReg_autoexecprogbuf <= ABSTRACTAUTOWrData_autoexecprogbuf;
      end
    end
    if (_T_1429) begin
      abstractDataMem_0 <= 8'h0;
    end else begin
      if (_T_39132) begin
        abstractDataMem_0 <= _T_28459;
      end else begin
        if (_T_6243) begin
          if (dmiAbstractDataWrEnMaybe_0) begin
            abstractDataMem_0 <= _T_3156;
          end
        end
      end
    end
    if (_T_1429) begin
      abstractDataMem_1 <= 8'h0;
    end else begin
      if (_T_39157) begin
        abstractDataMem_1 <= _T_28484;
      end else begin
        if (_T_6244) begin
          if (dmiAbstractDataWrEnMaybe_1) begin
            abstractDataMem_1 <= _T_3181;
          end
        end
      end
    end
    if (_T_1429) begin
      abstractDataMem_2 <= 8'h0;
    end else begin
      if (_T_39184) begin
        abstractDataMem_2 <= _T_28511;
      end else begin
        if (_T_6245) begin
          if (dmiAbstractDataWrEnMaybe_2) begin
            abstractDataMem_2 <= _T_3208;
          end
        end
      end
    end
    if (_T_1429) begin
      abstractDataMem_3 <= 8'h0;
    end else begin
      if (_T_39211) begin
        abstractDataMem_3 <= _T_28538;
      end else begin
        if (_T_6246) begin
          if (dmiAbstractDataWrEnMaybe_3) begin
            abstractDataMem_3 <= _T_3235;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_0 <= 8'h0;
    end else begin
      if (_T_46153) begin
        programBufferMem_0 <= _T_28459;
      end else begin
        if (_T_6247) begin
          if (dmiProgramBufferWrEnMaybe_0) begin
            programBufferMem_0 <= _T_3156;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_1 <= 8'h0;
    end else begin
      if (_T_46178) begin
        programBufferMem_1 <= _T_28484;
      end else begin
        if (_T_6248) begin
          if (dmiProgramBufferWrEnMaybe_1) begin
            programBufferMem_1 <= _T_3181;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_2 <= 8'h0;
    end else begin
      if (_T_46205) begin
        programBufferMem_2 <= _T_28511;
      end else begin
        if (_T_6249) begin
          if (dmiProgramBufferWrEnMaybe_2) begin
            programBufferMem_2 <= _T_3208;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_3 <= 8'h0;
    end else begin
      if (_T_46232) begin
        programBufferMem_3 <= _T_28538;
      end else begin
        if (_T_6250) begin
          if (dmiProgramBufferWrEnMaybe_3) begin
            programBufferMem_3 <= _T_3235;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_4 <= 8'h0;
    end else begin
      if (_T_49252) begin
        programBufferMem_4 <= _T_28459;
      end else begin
        if (_T_6251) begin
          if (dmiProgramBufferWrEnMaybe_4) begin
            programBufferMem_4 <= _T_3156;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_5 <= 8'h0;
    end else begin
      if (_T_49277) begin
        programBufferMem_5 <= _T_28484;
      end else begin
        if (_T_6252) begin
          if (dmiProgramBufferWrEnMaybe_5) begin
            programBufferMem_5 <= _T_3181;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_6 <= 8'h0;
    end else begin
      if (_T_49304) begin
        programBufferMem_6 <= _T_28511;
      end else begin
        if (_T_6253) begin
          if (dmiProgramBufferWrEnMaybe_6) begin
            programBufferMem_6 <= _T_3208;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_7 <= 8'h0;
    end else begin
      if (_T_49331) begin
        programBufferMem_7 <= _T_28538;
      end else begin
        if (_T_6254) begin
          if (dmiProgramBufferWrEnMaybe_7) begin
            programBufferMem_7 <= _T_3235;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_8 <= 8'h0;
    end else begin
      if (_T_56086) begin
        programBufferMem_8 <= _T_28459;
      end else begin
        if (_T_6255) begin
          if (dmiProgramBufferWrEnMaybe_8) begin
            programBufferMem_8 <= _T_3156;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_9 <= 8'h0;
    end else begin
      if (_T_56111) begin
        programBufferMem_9 <= _T_28484;
      end else begin
        if (_T_6256) begin
          if (dmiProgramBufferWrEnMaybe_9) begin
            programBufferMem_9 <= _T_3181;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_10 <= 8'h0;
    end else begin
      if (_T_56138) begin
        programBufferMem_10 <= _T_28511;
      end else begin
        if (_T_6257) begin
          if (dmiProgramBufferWrEnMaybe_10) begin
            programBufferMem_10 <= _T_3208;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_11 <= 8'h0;
    end else begin
      if (_T_56165) begin
        programBufferMem_11 <= _T_28538;
      end else begin
        if (_T_6258) begin
          if (dmiProgramBufferWrEnMaybe_11) begin
            programBufferMem_11 <= _T_3235;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_12 <= 8'h0;
    end else begin
      if (_T_33757) begin
        programBufferMem_12 <= _T_28459;
      end else begin
        if (_T_6259) begin
          if (dmiProgramBufferWrEnMaybe_12) begin
            programBufferMem_12 <= _T_3156;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_13 <= 8'h0;
    end else begin
      if (_T_33782) begin
        programBufferMem_13 <= _T_28484;
      end else begin
        if (_T_6260) begin
          if (dmiProgramBufferWrEnMaybe_13) begin
            programBufferMem_13 <= _T_3181;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_14 <= 8'h0;
    end else begin
      if (_T_33809) begin
        programBufferMem_14 <= _T_28511;
      end else begin
        if (_T_6261) begin
          if (dmiProgramBufferWrEnMaybe_14) begin
            programBufferMem_14 <= _T_3208;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_15 <= 8'h0;
    end else begin
      if (_T_33836) begin
        programBufferMem_15 <= _T_28538;
      end else begin
        if (_T_6262) begin
          if (dmiProgramBufferWrEnMaybe_15) begin
            programBufferMem_15 <= _T_3235;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_16 <= 8'h0;
    end else begin
      if (_T_40828) begin
        programBufferMem_16 <= _T_28459;
      end else begin
        if (_T_6263) begin
          if (dmiProgramBufferWrEnMaybe_16) begin
            programBufferMem_16 <= _T_3156;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_17 <= 8'h0;
    end else begin
      if (_T_40853) begin
        programBufferMem_17 <= _T_28484;
      end else begin
        if (_T_6264) begin
          if (dmiProgramBufferWrEnMaybe_17) begin
            programBufferMem_17 <= _T_3181;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_18 <= 8'h0;
    end else begin
      if (_T_40880) begin
        programBufferMem_18 <= _T_28511;
      end else begin
        if (_T_6265) begin
          if (dmiProgramBufferWrEnMaybe_18) begin
            programBufferMem_18 <= _T_3208;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_19 <= 8'h0;
    end else begin
      if (_T_40907) begin
        programBufferMem_19 <= _T_28538;
      end else begin
        if (_T_6266) begin
          if (dmiProgramBufferWrEnMaybe_19) begin
            programBufferMem_19 <= _T_3235;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_20 <= 8'h0;
    end else begin
      if (_T_46895) begin
        programBufferMem_20 <= _T_28459;
      end else begin
        if (_T_6267) begin
          if (dmiProgramBufferWrEnMaybe_20) begin
            programBufferMem_20 <= _T_3156;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_21 <= 8'h0;
    end else begin
      if (_T_46920) begin
        programBufferMem_21 <= _T_28484;
      end else begin
        if (_T_6268) begin
          if (dmiProgramBufferWrEnMaybe_21) begin
            programBufferMem_21 <= _T_3181;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_22 <= 8'h0;
    end else begin
      if (_T_46947) begin
        programBufferMem_22 <= _T_28511;
      end else begin
        if (_T_6269) begin
          if (dmiProgramBufferWrEnMaybe_22) begin
            programBufferMem_22 <= _T_3208;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_23 <= 8'h0;
    end else begin
      if (_T_46974) begin
        programBufferMem_23 <= _T_28538;
      end else begin
        if (_T_6270) begin
          if (dmiProgramBufferWrEnMaybe_23) begin
            programBufferMem_23 <= _T_3235;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_24 <= 8'h0;
    end else begin
      if (_T_54708) begin
        programBufferMem_24 <= _T_28459;
      end else begin
        if (_T_6271) begin
          if (dmiProgramBufferWrEnMaybe_24) begin
            programBufferMem_24 <= _T_3156;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_25 <= 8'h0;
    end else begin
      if (_T_54733) begin
        programBufferMem_25 <= _T_28484;
      end else begin
        if (_T_6272) begin
          if (dmiProgramBufferWrEnMaybe_25) begin
            programBufferMem_25 <= _T_3181;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_26 <= 8'h0;
    end else begin
      if (_T_54760) begin
        programBufferMem_26 <= _T_28511;
      end else begin
        if (_T_6273) begin
          if (dmiProgramBufferWrEnMaybe_26) begin
            programBufferMem_26 <= _T_3208;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_27 <= 8'h0;
    end else begin
      if (_T_54787) begin
        programBufferMem_27 <= _T_28538;
      end else begin
        if (_T_6274) begin
          if (dmiProgramBufferWrEnMaybe_27) begin
            programBufferMem_27 <= _T_3235;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_28 <= 8'h0;
    end else begin
      if (_T_59160) begin
        programBufferMem_28 <= _T_28459;
      end else begin
        if (_T_6275) begin
          if (dmiProgramBufferWrEnMaybe_28) begin
            programBufferMem_28 <= _T_3156;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_29 <= 8'h0;
    end else begin
      if (_T_59185) begin
        programBufferMem_29 <= _T_28484;
      end else begin
        if (_T_6276) begin
          if (dmiProgramBufferWrEnMaybe_29) begin
            programBufferMem_29 <= _T_3181;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_30 <= 8'h0;
    end else begin
      if (_T_59212) begin
        programBufferMem_30 <= _T_28511;
      end else begin
        if (_T_6277) begin
          if (dmiProgramBufferWrEnMaybe_30) begin
            programBufferMem_30 <= _T_3208;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_31 <= 8'h0;
    end else begin
      if (_T_59239) begin
        programBufferMem_31 <= _T_28538;
      end else begin
        if (_T_6278) begin
          if (dmiProgramBufferWrEnMaybe_31) begin
            programBufferMem_31 <= _T_3235;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_32 <= 8'h0;
    end else begin
      if (_T_33121) begin
        programBufferMem_32 <= _T_28459;
      end else begin
        if (_T_6279) begin
          if (dmiProgramBufferWrEnMaybe_32) begin
            programBufferMem_32 <= _T_3156;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_33 <= 8'h0;
    end else begin
      if (_T_33146) begin
        programBufferMem_33 <= _T_28484;
      end else begin
        if (_T_6280) begin
          if (dmiProgramBufferWrEnMaybe_33) begin
            programBufferMem_33 <= _T_3181;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_34 <= 8'h0;
    end else begin
      if (_T_33173) begin
        programBufferMem_34 <= _T_28511;
      end else begin
        if (_T_6281) begin
          if (dmiProgramBufferWrEnMaybe_34) begin
            programBufferMem_34 <= _T_3208;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_35 <= 8'h0;
    end else begin
      if (_T_33200) begin
        programBufferMem_35 <= _T_28538;
      end else begin
        if (_T_6282) begin
          if (dmiProgramBufferWrEnMaybe_35) begin
            programBufferMem_35 <= _T_3235;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_36 <= 8'h0;
    end else begin
      if (_T_29517) begin
        programBufferMem_36 <= _T_28459;
      end else begin
        if (_T_6283) begin
          if (dmiProgramBufferWrEnMaybe_36) begin
            programBufferMem_36 <= _T_3156;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_37 <= 8'h0;
    end else begin
      if (_T_29542) begin
        programBufferMem_37 <= _T_28484;
      end else begin
        if (_T_6284) begin
          if (dmiProgramBufferWrEnMaybe_37) begin
            programBufferMem_37 <= _T_3181;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_38 <= 8'h0;
    end else begin
      if (_T_29569) begin
        programBufferMem_38 <= _T_28511;
      end else begin
        if (_T_6285) begin
          if (dmiProgramBufferWrEnMaybe_38) begin
            programBufferMem_38 <= _T_3208;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_39 <= 8'h0;
    end else begin
      if (_T_29596) begin
        programBufferMem_39 <= _T_28538;
      end else begin
        if (_T_6286) begin
          if (dmiProgramBufferWrEnMaybe_39) begin
            programBufferMem_39 <= _T_3235;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_40 <= 8'h0;
    end else begin
      if (_T_52775) begin
        programBufferMem_40 <= _T_28459;
      end else begin
        if (_T_6287) begin
          if (dmiProgramBufferWrEnMaybe_40) begin
            programBufferMem_40 <= _T_3156;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_41 <= 8'h0;
    end else begin
      if (_T_52800) begin
        programBufferMem_41 <= _T_28484;
      end else begin
        if (_T_6288) begin
          if (dmiProgramBufferWrEnMaybe_41) begin
            programBufferMem_41 <= _T_3181;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_42 <= 8'h0;
    end else begin
      if (_T_52827) begin
        programBufferMem_42 <= _T_28511;
      end else begin
        if (_T_6289) begin
          if (dmiProgramBufferWrEnMaybe_42) begin
            programBufferMem_42 <= _T_3208;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_43 <= 8'h0;
    end else begin
      if (_T_52854) begin
        programBufferMem_43 <= _T_28538;
      end else begin
        if (_T_6290) begin
          if (dmiProgramBufferWrEnMaybe_43) begin
            programBufferMem_43 <= _T_3235;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_44 <= 8'h0;
    end else begin
      if (_T_44987) begin
        programBufferMem_44 <= _T_28459;
      end else begin
        if (_T_6291) begin
          if (dmiProgramBufferWrEnMaybe_44) begin
            programBufferMem_44 <= _T_3156;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_45 <= 8'h0;
    end else begin
      if (_T_45012) begin
        programBufferMem_45 <= _T_28484;
      end else begin
        if (_T_6292) begin
          if (dmiProgramBufferWrEnMaybe_45) begin
            programBufferMem_45 <= _T_3181;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_46 <= 8'h0;
    end else begin
      if (_T_45039) begin
        programBufferMem_46 <= _T_28511;
      end else begin
        if (_T_6293) begin
          if (dmiProgramBufferWrEnMaybe_46) begin
            programBufferMem_46 <= _T_3208;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_47 <= 8'h0;
    end else begin
      if (_T_45066) begin
        programBufferMem_47 <= _T_28538;
      end else begin
        if (_T_6294) begin
          if (dmiProgramBufferWrEnMaybe_47) begin
            programBufferMem_47 <= _T_3235;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_48 <= 8'h0;
    end else begin
      if (_T_36644) begin
        programBufferMem_48 <= _T_28459;
      end else begin
        if (_T_6295) begin
          if (dmiProgramBufferWrEnMaybe_48) begin
            programBufferMem_48 <= _T_3156;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_49 <= 8'h0;
    end else begin
      if (_T_36669) begin
        programBufferMem_49 <= _T_28484;
      end else begin
        if (_T_6296) begin
          if (dmiProgramBufferWrEnMaybe_49) begin
            programBufferMem_49 <= _T_3181;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_50 <= 8'h0;
    end else begin
      if (_T_36696) begin
        programBufferMem_50 <= _T_28511;
      end else begin
        if (_T_6297) begin
          if (dmiProgramBufferWrEnMaybe_50) begin
            programBufferMem_50 <= _T_3208;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_51 <= 8'h0;
    end else begin
      if (_T_36723) begin
        programBufferMem_51 <= _T_28538;
      end else begin
        if (_T_6298) begin
          if (dmiProgramBufferWrEnMaybe_51) begin
            programBufferMem_51 <= _T_3235;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_52 <= 8'h0;
    end else begin
      if (_T_34605) begin
        programBufferMem_52 <= _T_28459;
      end else begin
        if (_T_6299) begin
          if (dmiProgramBufferWrEnMaybe_52) begin
            programBufferMem_52 <= _T_3156;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_53 <= 8'h0;
    end else begin
      if (_T_34630) begin
        programBufferMem_53 <= _T_28484;
      end else begin
        if (_T_6300) begin
          if (dmiProgramBufferWrEnMaybe_53) begin
            programBufferMem_53 <= _T_3181;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_54 <= 8'h0;
    end else begin
      if (_T_34657) begin
        programBufferMem_54 <= _T_28511;
      end else begin
        if (_T_6301) begin
          if (dmiProgramBufferWrEnMaybe_54) begin
            programBufferMem_54 <= _T_3208;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_55 <= 8'h0;
    end else begin
      if (_T_34684) begin
        programBufferMem_55 <= _T_28538;
      end else begin
        if (_T_6302) begin
          if (dmiProgramBufferWrEnMaybe_55) begin
            programBufferMem_55 <= _T_3235;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_56 <= 8'h0;
    end else begin
      if (_T_59372) begin
        programBufferMem_56 <= _T_28459;
      end else begin
        if (_T_6303) begin
          if (dmiProgramBufferWrEnMaybe_56) begin
            programBufferMem_56 <= _T_3156;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_57 <= 8'h0;
    end else begin
      if (_T_59397) begin
        programBufferMem_57 <= _T_28484;
      end else begin
        if (_T_6304) begin
          if (dmiProgramBufferWrEnMaybe_57) begin
            programBufferMem_57 <= _T_3181;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_58 <= 8'h0;
    end else begin
      if (_T_59424) begin
        programBufferMem_58 <= _T_28511;
      end else begin
        if (_T_6305) begin
          if (dmiProgramBufferWrEnMaybe_58) begin
            programBufferMem_58 <= _T_3208;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_59 <= 8'h0;
    end else begin
      if (_T_59451) begin
        programBufferMem_59 <= _T_28538;
      end else begin
        if (_T_6306) begin
          if (dmiProgramBufferWrEnMaybe_59) begin
            programBufferMem_59 <= _T_3235;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_60 <= 8'h0;
    end else begin
      if (_T_47874) begin
        programBufferMem_60 <= _T_28459;
      end else begin
        if (_T_6307) begin
          if (dmiProgramBufferWrEnMaybe_60) begin
            programBufferMem_60 <= _T_3156;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_61 <= 8'h0;
    end else begin
      if (_T_47899) begin
        programBufferMem_61 <= _T_28484;
      end else begin
        if (_T_6308) begin
          if (dmiProgramBufferWrEnMaybe_61) begin
            programBufferMem_61 <= _T_3181;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_62 <= 8'h0;
    end else begin
      if (_T_47926) begin
        programBufferMem_62 <= _T_28511;
      end else begin
        if (_T_6309) begin
          if (dmiProgramBufferWrEnMaybe_62) begin
            programBufferMem_62 <= _T_3208;
          end
        end
      end
    end
    if (_T_1429) begin
      programBufferMem_63 <= 8'h0;
    end else begin
      if (_T_47953) begin
        programBufferMem_63 <= _T_28538;
      end else begin
        if (_T_6310) begin
          if (dmiProgramBufferWrEnMaybe_63) begin
            programBufferMem_63 <= _T_3235;
          end
        end
      end
    end
    if (_T_1429) begin
      goReg <= 1'h0;
    end else begin
      if (goAbstract) begin
        goReg <= 1'h1;
      end else begin
        if (hartGoingWrEn) begin
          goReg <= 1'h0;
        end
      end
    end
    if (goAbstract) begin
      if (accessRegisterCommandReg_transfer) begin
        if (accessRegisterCommandReg_write) begin
          abstractGeneratedMem_0 <= _T_20960;
        end else begin
          abstractGeneratedMem_0 <= _T_20965;
        end
      end else begin
        abstractGeneratedMem_0 <= 32'h13;
      end
    end
    if (goAbstract) begin
      if (accessRegisterCommandReg_postexec) begin
        abstractGeneratedMem_1 <= 32'h13;
      end else begin
        abstractGeneratedMem_1 <= 32'h100073;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_5688 & _T_6519) begin
          $fwrite(32'h80000002,"Assertion failed: Unexpected 'GOING' hart.\n    at Debug.scala:766 assert(hartGoingId === 0.U, \"Unexpected 'GOING' hart.\")//Chisel3 #540 %%x, expected %%x\", hartGoingId, 0.U)\n"); // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121336.12]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_5688 & _T_6519) begin
          $fatal; // @[Debug.scala 766:15:shc.marmotcaravel.MarmotCaravelConfig.fir@121337.12]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: HartSel to HartId Mapping is illegal for this Debug Implementation, because HartID must be < 1024 for it to work.\n    at Debug.scala:778 assert ((hartSelFuncs.hartSelToHartId(selectedHartReg) < 1024.U),\n"); // @[Debug.scala 778:12:shc.marmotcaravel.MarmotCaravelConfig.fir@133640.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Debug.scala 778:12:shc.marmotcaravel.MarmotCaravelConfig.fir@133641.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_5697 & _T_6519) begin
          $fwrite(32'h80000002,"Assertion failed: Unexpected 'EXCEPTION' hart\n    at Debug.scala:1024 assert(hartExceptionId === 0.U, \"Unexpected 'EXCEPTION' hart\")//Chisel3 #540, %%x, expected %%x\", hartExceptionId, 0.U)\n"); // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@191521.14]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_5697 & _T_6519) begin
          $fatal; // @[Debug.scala 1024:15:shc.marmotcaravel.MarmotCaravelConfig.fir@191522.14]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_5708 & _T_76338) begin
          $fwrite(32'h80000002,"Assertion failed: Should not be in custom state unless we need it.\n    at Debug.scala:1029 assert(needCustom.B, \"Should not be in custom state unless we need it.\")\n"); // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@191535.14]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_5708 & _T_76338) begin
          $fatal; // @[Debug.scala 1029:13:shc.marmotcaravel.MarmotCaravelConfig.fir@191536.14]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_76346) begin
          $fwrite(32'h80000002,"Assertion failed: Unexpected EXCEPTION write: should only get it in Debug Module EXEC state\n    at Debug.scala:1042 assert ((!hartExceptionWrEn || ctrlStateReg === CtrlState(Exec)),\n"); // @[Debug.scala 1042:12:shc.marmotcaravel.MarmotCaravelConfig.fir@191558.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_76346) begin
          $fatal; // @[Debug.scala 1042:12:shc.marmotcaravel.MarmotCaravelConfig.fir@191559.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SynchronizerShiftReg_w55_d1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@191714.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@191715.4]
  input  [54:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@191717.4]
  output [54:0] io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@191717.4]
);
  reg [54:0] sync_0; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@191722.4]
  reg [63:0] _RAND_0;
  assign io_q = sync_0; // @[ShiftReg.scala 123:8:shc.marmotcaravel.MarmotCaravelConfig.fir@191724.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {2{`RANDOM}};
  sync_0 = _RAND_0[54:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    sync_0 <= io_d;
  end
endmodule
module AsyncQueueSink_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192190.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192191.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192192.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
  output [1:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
  output [8:0]  io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
  output        io_deq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
  input  [2:0]  io_async_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
  input  [8:0]  io_async_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
  input  [3:0]  io_async_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
  input  [31:0] io_async_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
  output        io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
  input         io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
  output        io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
  input         io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
  input         io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
  output        io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192193.4]
);
  wire  ridx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192200.4]
  wire  ridx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192200.4]
  wire  ridx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192200.4]
  wire  ridx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192200.4]
  wire  ridx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192200.4]
  wire  widx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192212.4]
  wire  widx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192212.4]
  wire  widx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192212.4]
  wire  widx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192212.4]
  wire  deq_bits_reg_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192223.4]
  wire [54:0] deq_bits_reg_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192223.4]
  wire [54:0] deq_bits_reg_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192223.4]
  wire  valid_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192264.4]
  wire  valid_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192264.4]
  wire  valid_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192264.4]
  wire  valid_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192264.4]
  wire  valid_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192264.4]
  wire  ridx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192273.4]
  wire  ridx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192273.4]
  wire  ridx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192273.4]
  wire  ridx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192273.4]
  wire  ridx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192273.4]
  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192280.4]
  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192280.4]
  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192280.4]
  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192283.4]
  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192283.4]
  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192283.4]
  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192283.4]
  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192286.4]
  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192286.4]
  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192286.4]
  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192286.4]
  wire  AsyncResetRegVec_w1_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192315.4]
  wire  AsyncResetRegVec_w1_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192315.4]
  wire  AsyncResetRegVec_w1_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192315.4]
  wire  AsyncResetRegVec_w1_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192315.4]
  wire  AsyncResetRegVec_w1_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192315.4]
  wire  _T_58; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@192197.4]
  wire  source_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192195.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@192196.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@192301.4]
  wire  _T_59; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@192198.4]
  wire  _T_63; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@192207.4]
  wire  ridx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192208.4]
  wire  widx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@192217.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@192219.4]
  wire  _T_67; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@192220.4]
  wire  valid; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@192221.4]
  wire [2:0] deq_bits_nxt_opcode; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
  wire [2:0] deq_bits_nxt_param; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
  wire [1:0] deq_bits_nxt_size; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
  wire  deq_bits_nxt_source; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
  wire [8:0] deq_bits_nxt_address; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
  wire [3:0] deq_bits_nxt_mask; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
  wire [31:0] deq_bits_nxt_data; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
  wire  deq_bits_nxt_corrupt; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
  wire [32:0] _T_69; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192227.4]
  wire [12:0] _T_70; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192228.4]
  wire [45:0] _T_71; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192229.4]
  wire [2:0] _T_72; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192230.4]
  wire [5:0] _T_73; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192231.4]
  wire [8:0] _T_74; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192232.4]
  wire [54:0] _T_79; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192237.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@192239.4]
  wire  valid_reg_1; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@192270.4]
  wire  _T_90; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@192290.4]
  AsyncResetRegVec_w1_i0 ridx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192200.4]
    .clock(ridx_bin_clock),
    .reset(ridx_bin_reset),
    .io_d(ridx_bin_io_d),
    .io_q(ridx_bin_io_q),
    .io_en(ridx_bin_io_en)
  );
  AsyncResetSynchronizerShiftReg_w1_d3_i0 widx_gray ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192212.4]
    .clock(widx_gray_clock),
    .reset(widx_gray_reset),
    .io_d(widx_gray_io_d),
    .io_q(widx_gray_io_q)
  );
  SynchronizerShiftReg_w55_d1 deq_bits_reg ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192223.4]
    .clock(deq_bits_reg_clock),
    .io_d(deq_bits_reg_io_d),
    .io_q(deq_bits_reg_io_q)
  );
  AsyncResetRegVec_w1_i0 valid_reg ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192264.4]
    .clock(valid_reg_clock),
    .reset(valid_reg_reset),
    .io_d(valid_reg_io_d),
    .io_q(valid_reg_io_q),
    .io_en(valid_reg_io_en)
  );
  AsyncResetRegVec_w1_i0 ridx_gray ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192273.4]
    .clock(ridx_gray_clock),
    .reset(ridx_gray_reset),
    .io_d(ridx_gray_io_d),
    .io_q(ridx_gray_io_q),
    .io_en(ridx_gray_io_en)
  );
  AsyncValidSync AsyncValidSync ( // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192280.4]
    .clock(AsyncValidSync_clock),
    .reset(AsyncValidSync_reset),
    .io_out(AsyncValidSync_io_out)
  );
  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192283.4]
    .clock(AsyncValidSync_1_clock),
    .reset(AsyncValidSync_1_reset),
    .io_in(AsyncValidSync_1_io_in),
    .io_out(AsyncValidSync_1_io_out)
  );
  AsyncValidSync_2 AsyncValidSync_2 ( // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192286.4]
    .clock(AsyncValidSync_2_clock),
    .reset(AsyncValidSync_2_reset),
    .io_in(AsyncValidSync_2_io_in),
    .io_out(AsyncValidSync_2_io_out)
  );
  AsyncResetRegVec_w1_i0 AsyncResetRegVec_w1_i0 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192315.4]
    .clock(AsyncResetRegVec_w1_i0_clock),
    .reset(AsyncResetRegVec_w1_i0_reset),
    .io_d(AsyncResetRegVec_w1_i0_io_d),
    .io_q(AsyncResetRegVec_w1_i0_io_q),
    .io_en(AsyncResetRegVec_w1_i0_io_en)
  );
  assign _T_58 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@192197.4]
  assign source_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192195.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@192196.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@192301.4]
  assign _T_59 = source_ready == 1'h0; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@192198.4]
  assign _T_63 = ridx_bin_io_q + _T_58; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@192207.4]
  assign ridx = _T_59 ? 1'h0 : _T_63; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192208.4]
  assign widx = widx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@192217.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@192219.4]
  assign _T_67 = ridx != widx; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@192220.4]
  assign valid = source_ready & _T_67; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@192221.4]
  assign deq_bits_nxt_opcode = valid ? io_async_mem_0_opcode : io_deq_bits_opcode; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
  assign deq_bits_nxt_param = valid ? 3'h0 : io_deq_bits_param; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
  assign deq_bits_nxt_size = valid ? 2'h2 : io_deq_bits_size; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
  assign deq_bits_nxt_source = valid ? 1'h0 : io_deq_bits_source; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
  assign deq_bits_nxt_address = valid ? io_async_mem_0_address : io_deq_bits_address; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
  assign deq_bits_nxt_mask = valid ? io_async_mem_0_mask : io_deq_bits_mask; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
  assign deq_bits_nxt_data = valid ? io_async_mem_0_data : io_deq_bits_data; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
  assign deq_bits_nxt_corrupt = valid ? 1'h0 : io_deq_bits_corrupt; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192222.4]
  assign _T_69 = {deq_bits_nxt_data,deq_bits_nxt_corrupt}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192227.4]
  assign _T_70 = {deq_bits_nxt_address,deq_bits_nxt_mask}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192228.4]
  assign _T_71 = {_T_70,_T_69}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192229.4]
  assign _T_72 = {deq_bits_nxt_size,deq_bits_nxt_source}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192230.4]
  assign _T_73 = {deq_bits_nxt_opcode,deq_bits_nxt_param}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192231.4]
  assign _T_74 = {_T_73,_T_72}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192232.4]
  assign _T_79 = deq_bits_reg_io_q; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192237.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@192239.4]
  assign valid_reg_1 = valid_reg_io_q; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@192270.4]
  assign _T_90 = io_async_safe_source_reset_n == 1'h0; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@192290.4]
  assign io_deq_valid = valid_reg_1 & source_ready; // @[AsyncQueue.scala 148:16:shc.marmotcaravel.MarmotCaravelConfig.fir@192272.4]
  assign io_deq_bits_opcode = _T_79[54:52]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192263.4]
  assign io_deq_bits_param = _T_79[51:49]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192262.4]
  assign io_deq_bits_size = _T_79[48:47]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192261.4]
  assign io_deq_bits_source = _T_79[46]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192260.4]
  assign io_deq_bits_address = _T_79[45:37]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192259.4]
  assign io_deq_bits_mask = _T_79[36:33]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192258.4]
  assign io_deq_bits_data = _T_79[32:1]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192257.4]
  assign io_deq_bits_corrupt = _T_79[0]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192256.4]
  assign io_async_ridx = ridx_gray_io_q; // @[AsyncQueue.scala 151:17:shc.marmotcaravel.MarmotCaravelConfig.fir@192279.4]
  assign io_async_safe_ridx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 161:20:shc.marmotcaravel.MarmotCaravelConfig.fir@192298.4]
  assign io_async_safe_sink_reset_n = reset == 1'h0; // @[AsyncQueue.scala 165:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192304.4]
  assign ridx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192202.4]
  assign ridx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192203.4]
  assign ridx_bin_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@192204.4]
  assign ridx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192205.4]
  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192214.4]
  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192215.4]
  assign widx_gray_io_d = io_async_widx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@192216.4]
  assign deq_bits_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192225.4]
  assign deq_bits_reg_io_d = {_T_74,_T_71}; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@192234.4]
  assign valid_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192266.4]
  assign valid_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192267.4]
  assign valid_reg_io_d = source_ready & _T_67; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@192268.4]
  assign valid_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192269.4]
  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192275.4]
  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192276.4]
  assign ridx_gray_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@192277.4]
  assign ridx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192278.4]
  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192281.4]
  assign AsyncValidSync_reset = reset | _T_90; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192282.4 AsyncQueue.scala 157:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192292.4]
  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192284.4]
  assign AsyncValidSync_1_reset = reset | _T_90; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192285.4 AsyncQueue.scala 158:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192296.4]
  assign AsyncValidSync_1_io_in = io_async_safe_widx_valid; // @[AsyncQueue.scala 162:25:shc.marmotcaravel.MarmotCaravelConfig.fir@192299.4]
  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192287.4]
  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192288.4]
  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 163:24:shc.marmotcaravel.MarmotCaravelConfig.fir@192300.4]
  assign AsyncResetRegVec_w1_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192317.4]
  assign AsyncResetRegVec_w1_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192318.4]
  assign AsyncResetRegVec_w1_i0_io_d = io_async_widx == io_async_ridx; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@192319.4]
  assign AsyncResetRegVec_w1_i0_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192320.4]
endmodule
module AsyncQueueSource_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192907.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192908.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192909.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
  input  [1:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
  output [2:0]  io_async_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
  output [1:0]  io_async_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
  output        io_async_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
  output [31:0] io_async_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
  input         io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
  output        io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
  input         io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
  output        io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
  output        io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
  input         io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192910.4]
);
  wire  widx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192918.4]
  wire  widx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192918.4]
  wire  widx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192918.4]
  wire  widx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192918.4]
  wire  widx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192918.4]
  wire  ridx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192930.4]
  wire  ridx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192930.4]
  wire  ridx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192930.4]
  wire  ridx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192930.4]
  wire  ready_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192952.4]
  wire  ready_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192952.4]
  wire  ready_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192952.4]
  wire  ready_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192952.4]
  wire  ready_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192952.4]
  wire  widx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192961.4]
  wire  widx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192961.4]
  wire  widx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192961.4]
  wire  widx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192961.4]
  wire  widx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192961.4]
  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192976.4]
  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192976.4]
  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192976.4]
  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192979.4]
  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192979.4]
  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192979.4]
  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192979.4]
  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192982.4]
  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192982.4]
  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192982.4]
  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192982.4]
  reg [2:0] mem_0_opcode; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@192914.4]
  reg [31:0] _RAND_0;
  reg [1:0] mem_0_size; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@192914.4]
  reg [31:0] _RAND_1;
  reg  mem_0_source; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@192914.4]
  reg [31:0] _RAND_2;
  reg [31:0] mem_0_data; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@192914.4]
  reg [31:0] _RAND_3;
  wire  _T_43; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@192915.4]
  wire  sink_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192912.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@192913.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@192997.4]
  wire  _T_44; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@192916.4]
  wire  _T_48; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@192925.4]
  wire  widx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192926.4]
  wire  ridx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@192935.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@192937.4]
  wire  _T_52; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@192938.4]
  wire  _T_53; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@192939.4]
  wire  ready_reg_1; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@192958.4]
  wire  _T_58; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@192986.4]
  AsyncResetRegVec_w1_i0 widx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192918.4]
    .clock(widx_bin_clock),
    .reset(widx_bin_reset),
    .io_d(widx_bin_io_d),
    .io_q(widx_bin_io_q),
    .io_en(widx_bin_io_en)
  );
  AsyncResetSynchronizerShiftReg_w1_d3_i0 ridx_gray ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192930.4]
    .clock(ridx_gray_clock),
    .reset(ridx_gray_reset),
    .io_d(ridx_gray_io_d),
    .io_q(ridx_gray_io_q)
  );
  AsyncResetRegVec_w1_i0 ready_reg ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192952.4]
    .clock(ready_reg_clock),
    .reset(ready_reg_reset),
    .io_d(ready_reg_io_d),
    .io_q(ready_reg_io_q),
    .io_en(ready_reg_io_en)
  );
  AsyncResetRegVec_w1_i0 widx_gray ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@192961.4]
    .clock(widx_gray_clock),
    .reset(widx_gray_reset),
    .io_d(widx_gray_io_d),
    .io_q(widx_gray_io_q),
    .io_en(widx_gray_io_en)
  );
  AsyncValidSync AsyncValidSync ( // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192976.4]
    .clock(AsyncValidSync_clock),
    .reset(AsyncValidSync_reset),
    .io_out(AsyncValidSync_io_out)
  );
  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192979.4]
    .clock(AsyncValidSync_1_clock),
    .reset(AsyncValidSync_1_reset),
    .io_in(AsyncValidSync_1_io_in),
    .io_out(AsyncValidSync_1_io_out)
  );
  AsyncValidSync_2 AsyncValidSync_2 ( // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@192982.4]
    .clock(AsyncValidSync_2_clock),
    .reset(AsyncValidSync_2_reset),
    .io_in(AsyncValidSync_2_io_in),
    .io_out(AsyncValidSync_2_io_out)
  );
  assign _T_43 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@192915.4]
  assign sink_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192912.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@192913.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@192997.4]
  assign _T_44 = sink_ready == 1'h0; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@192916.4]
  assign _T_48 = widx_bin_io_q + _T_43; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@192925.4]
  assign widx = _T_44 ? 1'h0 : _T_48; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192926.4]
  assign ridx = ridx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@192935.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@192937.4]
  assign _T_52 = ridx ^ 1'h1; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@192938.4]
  assign _T_53 = widx != _T_52; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@192939.4]
  assign ready_reg_1 = ready_reg_io_q; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@192958.4]
  assign _T_58 = io_async_safe_sink_reset_n == 1'h0; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@192986.4]
  assign io_enq_ready = ready_reg_1 & sink_ready; // @[AsyncQueue.scala 85:16:shc.marmotcaravel.MarmotCaravelConfig.fir@192960.4]
  assign io_async_mem_0_opcode = mem_0_opcode; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192975.4]
  assign io_async_mem_0_size = mem_0_size; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192973.4]
  assign io_async_mem_0_source = mem_0_source; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192972.4]
  assign io_async_mem_0_data = mem_0_data; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@192969.4]
  assign io_async_widx = widx_gray_io_q; // @[AsyncQueue.scala 88:17:shc.marmotcaravel.MarmotCaravelConfig.fir@192967.4]
  assign io_async_safe_widx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 103:20:shc.marmotcaravel.MarmotCaravelConfig.fir@192994.4]
  assign io_async_safe_source_reset_n = reset == 1'h0; // @[AsyncQueue.scala 107:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193000.4]
  assign widx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192920.4]
  assign widx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192921.4]
  assign widx_bin_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@192922.4]
  assign widx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192923.4]
  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192932.4]
  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192933.4]
  assign ridx_gray_io_d = io_async_ridx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@192934.4]
  assign ready_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192954.4]
  assign ready_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192955.4]
  assign ready_reg_io_d = sink_ready & _T_53; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@192956.4]
  assign ready_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192957.4]
  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192963.4]
  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192964.4]
  assign widx_gray_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@192965.4]
  assign widx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@192966.4]
  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192977.4]
  assign AsyncValidSync_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192978.4 AsyncQueue.scala 99:24:shc.marmotcaravel.MarmotCaravelConfig.fir@192988.4]
  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192980.4]
  assign AsyncValidSync_1_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192981.4 AsyncQueue.scala 100:24:shc.marmotcaravel.MarmotCaravelConfig.fir@192992.4]
  assign AsyncValidSync_1_io_in = io_async_safe_ridx_valid; // @[AsyncQueue.scala 104:23:shc.marmotcaravel.MarmotCaravelConfig.fir@192995.4]
  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192983.4]
  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@192984.4]
  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 105:22:shc.marmotcaravel.MarmotCaravelConfig.fir@192996.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  mem_0_opcode = _RAND_0[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  mem_0_size = _RAND_1[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  mem_0_source = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  mem_0_data = _RAND_3[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (_T_43) begin
      mem_0_opcode <= io_enq_bits_opcode;
    end
    if (_T_43) begin
      mem_0_size <= io_enq_bits_size;
    end
    if (_T_43) begin
      mem_0_source <= io_enq_bits_source;
    end
    if (_T_43) begin
      mem_0_data <= io_enq_bits_data;
    end
  end
endmodule
module TLAsyncCrossingSink( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193002.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193003.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193004.4]
  input  [2:0]  auto_in_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  input  [8:0]  auto_in_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  input  [3:0]  auto_in_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  input  [31:0] auto_in_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  output        auto_in_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  input         auto_in_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  output        auto_in_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  input         auto_in_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  input         auto_in_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  output        auto_in_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  output [2:0]  auto_in_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  output [1:0]  auto_in_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  output        auto_in_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  output [31:0] auto_in_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  input         auto_in_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  output        auto_in_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  input         auto_in_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  output        auto_in_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  output        auto_in_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  input         auto_in_d_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  output [8:0]  auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193005.4]
);
  wire  AsyncQueueSink_clock; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
  wire  AsyncQueueSink_reset; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
  wire  AsyncQueueSink_io_deq_ready; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
  wire  AsyncQueueSink_io_deq_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
  wire [2:0] AsyncQueueSink_io_deq_bits_opcode; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
  wire [2:0] AsyncQueueSink_io_deq_bits_param; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
  wire [1:0] AsyncQueueSink_io_deq_bits_size; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
  wire  AsyncQueueSink_io_deq_bits_source; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
  wire [8:0] AsyncQueueSink_io_deq_bits_address; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
  wire [3:0] AsyncQueueSink_io_deq_bits_mask; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
  wire [31:0] AsyncQueueSink_io_deq_bits_data; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
  wire  AsyncQueueSink_io_deq_bits_corrupt; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
  wire [2:0] AsyncQueueSink_io_async_mem_0_opcode; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
  wire [8:0] AsyncQueueSink_io_async_mem_0_address; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
  wire [3:0] AsyncQueueSink_io_async_mem_0_mask; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
  wire [31:0] AsyncQueueSink_io_async_mem_0_data; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
  wire  AsyncQueueSink_io_async_ridx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
  wire  AsyncQueueSink_io_async_widx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
  wire  AsyncQueueSink_io_async_safe_ridx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
  wire  AsyncQueueSink_io_async_safe_widx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
  wire  AsyncQueueSink_io_async_safe_source_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
  wire  AsyncQueueSink_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
  wire  AsyncQueueSource_clock; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
  wire  AsyncQueueSource_reset; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
  wire  AsyncQueueSource_io_enq_ready; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
  wire  AsyncQueueSource_io_enq_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
  wire [2:0] AsyncQueueSource_io_enq_bits_opcode; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
  wire [1:0] AsyncQueueSource_io_enq_bits_size; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
  wire  AsyncQueueSource_io_enq_bits_source; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
  wire [31:0] AsyncQueueSource_io_enq_bits_data; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
  wire [2:0] AsyncQueueSource_io_async_mem_0_opcode; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
  wire [1:0] AsyncQueueSource_io_async_mem_0_size; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
  wire  AsyncQueueSource_io_async_mem_0_source; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
  wire [31:0] AsyncQueueSource_io_async_mem_0_data; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
  wire  AsyncQueueSource_io_async_ridx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
  wire  AsyncQueueSource_io_async_widx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
  wire  AsyncQueueSource_io_async_safe_ridx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
  wire  AsyncQueueSource_io_async_safe_widx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
  wire  AsyncQueueSource_io_async_safe_source_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
  wire  AsyncQueueSource_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
  AsyncQueueSink_2 AsyncQueueSink ( // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193016.4]
    .clock(AsyncQueueSink_clock),
    .reset(AsyncQueueSink_reset),
    .io_deq_ready(AsyncQueueSink_io_deq_ready),
    .io_deq_valid(AsyncQueueSink_io_deq_valid),
    .io_deq_bits_opcode(AsyncQueueSink_io_deq_bits_opcode),
    .io_deq_bits_param(AsyncQueueSink_io_deq_bits_param),
    .io_deq_bits_size(AsyncQueueSink_io_deq_bits_size),
    .io_deq_bits_source(AsyncQueueSink_io_deq_bits_source),
    .io_deq_bits_address(AsyncQueueSink_io_deq_bits_address),
    .io_deq_bits_mask(AsyncQueueSink_io_deq_bits_mask),
    .io_deq_bits_data(AsyncQueueSink_io_deq_bits_data),
    .io_deq_bits_corrupt(AsyncQueueSink_io_deq_bits_corrupt),
    .io_async_mem_0_opcode(AsyncQueueSink_io_async_mem_0_opcode),
    .io_async_mem_0_address(AsyncQueueSink_io_async_mem_0_address),
    .io_async_mem_0_mask(AsyncQueueSink_io_async_mem_0_mask),
    .io_async_mem_0_data(AsyncQueueSink_io_async_mem_0_data),
    .io_async_ridx(AsyncQueueSink_io_async_ridx),
    .io_async_widx(AsyncQueueSink_io_async_widx),
    .io_async_safe_ridx_valid(AsyncQueueSink_io_async_safe_ridx_valid),
    .io_async_safe_widx_valid(AsyncQueueSink_io_async_safe_widx_valid),
    .io_async_safe_source_reset_n(AsyncQueueSink_io_async_safe_source_reset_n),
    .io_async_safe_sink_reset_n(AsyncQueueSink_io_async_safe_sink_reset_n)
  );
  AsyncQueueSource_3 AsyncQueueSource ( // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193027.4]
    .clock(AsyncQueueSource_clock),
    .reset(AsyncQueueSource_reset),
    .io_enq_ready(AsyncQueueSource_io_enq_ready),
    .io_enq_valid(AsyncQueueSource_io_enq_valid),
    .io_enq_bits_opcode(AsyncQueueSource_io_enq_bits_opcode),
    .io_enq_bits_size(AsyncQueueSource_io_enq_bits_size),
    .io_enq_bits_source(AsyncQueueSource_io_enq_bits_source),
    .io_enq_bits_data(AsyncQueueSource_io_enq_bits_data),
    .io_async_mem_0_opcode(AsyncQueueSource_io_async_mem_0_opcode),
    .io_async_mem_0_size(AsyncQueueSource_io_async_mem_0_size),
    .io_async_mem_0_source(AsyncQueueSource_io_async_mem_0_source),
    .io_async_mem_0_data(AsyncQueueSource_io_async_mem_0_data),
    .io_async_ridx(AsyncQueueSource_io_async_ridx),
    .io_async_widx(AsyncQueueSource_io_async_widx),
    .io_async_safe_ridx_valid(AsyncQueueSource_io_async_safe_ridx_valid),
    .io_async_safe_widx_valid(AsyncQueueSource_io_async_safe_widx_valid),
    .io_async_safe_source_reset_n(AsyncQueueSource_io_async_safe_source_reset_n),
    .io_async_safe_sink_reset_n(AsyncQueueSource_io_async_safe_sink_reset_n)
  );
  assign auto_in_a_ridx = AsyncQueueSink_io_async_ridx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193015.4]
  assign auto_in_a_safe_ridx_valid = AsyncQueueSink_io_async_safe_ridx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193015.4]
  assign auto_in_a_safe_sink_reset_n = AsyncQueueSink_io_async_safe_sink_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193015.4]
  assign auto_in_d_mem_0_opcode = AsyncQueueSource_io_async_mem_0_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193015.4]
  assign auto_in_d_mem_0_size = AsyncQueueSource_io_async_mem_0_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193015.4]
  assign auto_in_d_mem_0_source = AsyncQueueSource_io_async_mem_0_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193015.4]
  assign auto_in_d_mem_0_data = AsyncQueueSource_io_async_mem_0_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193015.4]
  assign auto_in_d_widx = AsyncQueueSource_io_async_widx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193015.4]
  assign auto_in_d_safe_widx_valid = AsyncQueueSource_io_async_safe_widx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193015.4]
  assign auto_in_d_safe_source_reset_n = AsyncQueueSource_io_async_safe_source_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193015.4]
  assign auto_out_a_valid = AsyncQueueSink_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@193014.4]
  assign auto_out_a_bits_opcode = AsyncQueueSink_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@193014.4]
  assign auto_out_a_bits_param = AsyncQueueSink_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@193014.4]
  assign auto_out_a_bits_size = AsyncQueueSink_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@193014.4]
  assign auto_out_a_bits_source = AsyncQueueSink_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@193014.4]
  assign auto_out_a_bits_address = AsyncQueueSink_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@193014.4]
  assign auto_out_a_bits_mask = AsyncQueueSink_io_deq_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@193014.4]
  assign auto_out_a_bits_data = AsyncQueueSink_io_deq_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@193014.4]
  assign auto_out_a_bits_corrupt = AsyncQueueSink_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@193014.4]
  assign auto_out_d_ready = AsyncQueueSource_io_enq_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@193014.4]
  assign AsyncQueueSink_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193017.4]
  assign AsyncQueueSink_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193018.4]
  assign AsyncQueueSink_io_deq_ready = auto_out_a_ready; // @[AsyncCrossing.scala 57:13:shc.marmotcaravel.MarmotCaravelConfig.fir@193026.4]
  assign AsyncQueueSink_io_async_mem_0_opcode = auto_in_a_mem_0_opcode; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193025.4]
  assign AsyncQueueSink_io_async_mem_0_address = auto_in_a_mem_0_address; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193025.4]
  assign AsyncQueueSink_io_async_mem_0_mask = auto_in_a_mem_0_mask; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193025.4]
  assign AsyncQueueSink_io_async_mem_0_data = auto_in_a_mem_0_data; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193025.4]
  assign AsyncQueueSink_io_async_widx = auto_in_a_widx; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193023.4]
  assign AsyncQueueSink_io_async_safe_widx_valid = auto_in_a_safe_widx_valid; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193021.4]
  assign AsyncQueueSink_io_async_safe_source_reset_n = auto_in_a_safe_source_reset_n; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193020.4]
  assign AsyncQueueSource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193028.4]
  assign AsyncQueueSource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193029.4]
  assign AsyncQueueSource_io_enq_valid = auto_out_d_valid; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193031.4]
  assign AsyncQueueSource_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193030.4]
  assign AsyncQueueSource_io_enq_bits_size = auto_out_d_bits_size; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193030.4]
  assign AsyncQueueSource_io_enq_bits_source = auto_out_d_bits_source; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193030.4]
  assign AsyncQueueSource_io_enq_bits_data = auto_out_d_bits_data; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193030.4]
  assign AsyncQueueSource_io_async_ridx = auto_in_d_ridx; // @[AsyncCrossing.scala 58:12:shc.marmotcaravel.MarmotCaravelConfig.fir@193033.4]
  assign AsyncQueueSource_io_async_safe_ridx_valid = auto_in_d_safe_ridx_valid; // @[AsyncCrossing.scala 58:12:shc.marmotcaravel.MarmotCaravelConfig.fir@193033.4]
  assign AsyncQueueSource_io_async_safe_sink_reset_n = auto_in_d_safe_sink_reset_n; // @[AsyncCrossing.scala 58:12:shc.marmotcaravel.MarmotCaravelConfig.fir@193033.4]
endmodule
module SynchronizerShiftReg_w12_d1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193209.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193210.4]
  input  [11:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193212.4]
  output [11:0] io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193212.4]
);
  reg [11:0] sync_0; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@193217.4]
  reg [31:0] _RAND_0;
  assign io_q = sync_0; // @[ShiftReg.scala 123:8:shc.marmotcaravel.MarmotCaravelConfig.fir@193219.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  sync_0 = _RAND_0[11:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    sync_0 <= io_d;
  end
endmodule
module AsyncQueueSink_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193685.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193686.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193687.4]
  output       io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193688.4]
  output       io_deq_bits_resumereq, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193688.4]
  output [9:0] io_deq_bits_hartsel, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193688.4]
  output       io_deq_bits_ackhavereset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193688.4]
  input        io_async_mem_0_resumereq, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193688.4]
  input  [9:0] io_async_mem_0_hartsel, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193688.4]
  input        io_async_mem_0_ackhavereset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193688.4]
  output       io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193688.4]
  input        io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193688.4]
  output       io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193688.4]
  input        io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193688.4]
  input        io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193688.4]
  output       io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193688.4]
);
  wire  ridx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193695.4]
  wire  ridx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193695.4]
  wire  ridx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193695.4]
  wire  ridx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193695.4]
  wire  ridx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193695.4]
  wire  widx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193707.4]
  wire  widx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193707.4]
  wire  widx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193707.4]
  wire  widx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193707.4]
  wire  deq_bits_reg_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193718.4]
  wire [11:0] deq_bits_reg_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193718.4]
  wire [11:0] deq_bits_reg_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193718.4]
  wire  valid_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193739.4]
  wire  valid_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193739.4]
  wire  valid_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193739.4]
  wire  valid_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193739.4]
  wire  valid_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193739.4]
  wire  ridx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193748.4]
  wire  ridx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193748.4]
  wire  ridx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193748.4]
  wire  ridx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193748.4]
  wire  ridx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193748.4]
  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193755.4]
  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193755.4]
  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193755.4]
  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193758.4]
  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193758.4]
  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193758.4]
  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193758.4]
  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193761.4]
  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193761.4]
  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193761.4]
  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193761.4]
  wire  AsyncResetRegVec_w1_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193790.4]
  wire  AsyncResetRegVec_w1_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193790.4]
  wire  AsyncResetRegVec_w1_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193790.4]
  wire  AsyncResetRegVec_w1_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193790.4]
  wire  AsyncResetRegVec_w1_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193790.4]
  wire  source_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193690.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@193691.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@193776.4]
  wire  _T_59; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@193693.4]
  wire  _T_63; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@193702.4]
  wire  ridx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193703.4]
  wire  widx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193712.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193714.4]
  wire  _T_67; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@193715.4]
  wire  valid; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@193716.4]
  wire  deq_bits_nxt_resumereq; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@193717.4]
  wire [9:0] deq_bits_nxt_hartsel; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@193717.4]
  wire  deq_bits_nxt_ackhavereset; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@193717.4]
  wire [10:0] _T_69; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193722.4]
  wire [11:0] _T_74; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193727.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@193729.4]
  wire  valid_reg_1; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@193745.4]
  wire  _T_80; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@193765.4]
  AsyncResetRegVec_w1_i0 ridx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193695.4]
    .clock(ridx_bin_clock),
    .reset(ridx_bin_reset),
    .io_d(ridx_bin_io_d),
    .io_q(ridx_bin_io_q),
    .io_en(ridx_bin_io_en)
  );
  AsyncResetSynchronizerShiftReg_w1_d3_i0 widx_gray ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193707.4]
    .clock(widx_gray_clock),
    .reset(widx_gray_reset),
    .io_d(widx_gray_io_d),
    .io_q(widx_gray_io_q)
  );
  SynchronizerShiftReg_w12_d1 deq_bits_reg ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193718.4]
    .clock(deq_bits_reg_clock),
    .io_d(deq_bits_reg_io_d),
    .io_q(deq_bits_reg_io_q)
  );
  AsyncResetRegVec_w1_i0 valid_reg ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193739.4]
    .clock(valid_reg_clock),
    .reset(valid_reg_reset),
    .io_d(valid_reg_io_d),
    .io_q(valid_reg_io_q),
    .io_en(valid_reg_io_en)
  );
  AsyncResetRegVec_w1_i0 ridx_gray ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193748.4]
    .clock(ridx_gray_clock),
    .reset(ridx_gray_reset),
    .io_d(ridx_gray_io_d),
    .io_q(ridx_gray_io_q),
    .io_en(ridx_gray_io_en)
  );
  AsyncValidSync AsyncValidSync ( // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193755.4]
    .clock(AsyncValidSync_clock),
    .reset(AsyncValidSync_reset),
    .io_out(AsyncValidSync_io_out)
  );
  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193758.4]
    .clock(AsyncValidSync_1_clock),
    .reset(AsyncValidSync_1_reset),
    .io_in(AsyncValidSync_1_io_in),
    .io_out(AsyncValidSync_1_io_out)
  );
  AsyncValidSync_2 AsyncValidSync_2 ( // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193761.4]
    .clock(AsyncValidSync_2_clock),
    .reset(AsyncValidSync_2_reset),
    .io_in(AsyncValidSync_2_io_in),
    .io_out(AsyncValidSync_2_io_out)
  );
  AsyncResetRegVec_w1_i0 AsyncResetRegVec_w1_i0 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@193790.4]
    .clock(AsyncResetRegVec_w1_i0_clock),
    .reset(AsyncResetRegVec_w1_i0_reset),
    .io_d(AsyncResetRegVec_w1_i0_io_d),
    .io_q(AsyncResetRegVec_w1_i0_io_q),
    .io_en(AsyncResetRegVec_w1_i0_io_en)
  );
  assign source_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193690.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@193691.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@193776.4]
  assign _T_59 = source_ready == 1'h0; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@193693.4]
  assign _T_63 = ridx_bin_io_q + io_deq_valid; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@193702.4]
  assign ridx = _T_59 ? 1'h0 : _T_63; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193703.4]
  assign widx = widx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193712.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193714.4]
  assign _T_67 = ridx != widx; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@193715.4]
  assign valid = source_ready & _T_67; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@193716.4]
  assign deq_bits_nxt_resumereq = valid ? io_async_mem_0_resumereq : io_deq_bits_resumereq; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@193717.4]
  assign deq_bits_nxt_hartsel = valid ? io_async_mem_0_hartsel : io_deq_bits_hartsel; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@193717.4]
  assign deq_bits_nxt_ackhavereset = valid ? io_async_mem_0_ackhavereset : io_deq_bits_ackhavereset; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@193717.4]
  assign _T_69 = {deq_bits_nxt_resumereq,deq_bits_nxt_hartsel}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193722.4]
  assign _T_74 = deq_bits_reg_io_q; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193727.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@193729.4]
  assign valid_reg_1 = valid_reg_io_q; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@193745.4]
  assign _T_80 = io_async_safe_source_reset_n == 1'h0; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@193765.4]
  assign io_deq_valid = valid_reg_1 & source_ready; // @[AsyncQueue.scala 148:16:shc.marmotcaravel.MarmotCaravelConfig.fir@193747.4]
  assign io_deq_bits_resumereq = _T_74[11]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@193738.4]
  assign io_deq_bits_hartsel = _T_74[10:1]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@193737.4]
  assign io_deq_bits_ackhavereset = _T_74[0]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@193736.4]
  assign io_async_ridx = ridx_gray_io_q; // @[AsyncQueue.scala 151:17:shc.marmotcaravel.MarmotCaravelConfig.fir@193754.4]
  assign io_async_safe_ridx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 161:20:shc.marmotcaravel.MarmotCaravelConfig.fir@193773.4]
  assign io_async_safe_sink_reset_n = reset == 1'h0; // @[AsyncQueue.scala 165:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193779.4]
  assign ridx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193697.4]
  assign ridx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193698.4]
  assign ridx_bin_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@193699.4]
  assign ridx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@193700.4]
  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193709.4]
  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193710.4]
  assign widx_gray_io_d = io_async_widx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@193711.4]
  assign deq_bits_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193720.4]
  assign deq_bits_reg_io_d = {_T_69,deq_bits_nxt_ackhavereset}; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@193724.4]
  assign valid_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193741.4]
  assign valid_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193742.4]
  assign valid_reg_io_d = source_ready & _T_67; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@193743.4]
  assign valid_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@193744.4]
  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193750.4]
  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193751.4]
  assign ridx_gray_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@193752.4]
  assign ridx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@193753.4]
  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193756.4]
  assign AsyncValidSync_reset = reset | _T_80; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193757.4 AsyncQueue.scala 157:25:shc.marmotcaravel.MarmotCaravelConfig.fir@193767.4]
  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193759.4]
  assign AsyncValidSync_1_reset = reset | _T_80; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193760.4 AsyncQueue.scala 158:25:shc.marmotcaravel.MarmotCaravelConfig.fir@193771.4]
  assign AsyncValidSync_1_io_in = io_async_safe_widx_valid; // @[AsyncQueue.scala 162:25:shc.marmotcaravel.MarmotCaravelConfig.fir@193774.4]
  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193762.4]
  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193763.4]
  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 163:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193775.4]
  assign AsyncResetRegVec_w1_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193792.4]
  assign AsyncResetRegVec_w1_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193793.4]
  assign AsyncResetRegVec_w1_i0_io_d = io_async_widx == io_async_ridx; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@193794.4]
  assign AsyncResetRegVec_w1_i0_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@193795.4]
endmodule
module ResetCatchAndSync_d3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193918.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193919.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193920.4]
  output  io_sync_reset // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193921.4]
);
  wire  AsyncResetSynchronizerShiftReg_w1_d3_i0_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193927.4]
  wire  AsyncResetSynchronizerShiftReg_w1_d3_i0_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193927.4]
  wire  AsyncResetSynchronizerShiftReg_w1_d3_i0_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193927.4]
  wire  AsyncResetSynchronizerShiftReg_w1_d3_i0_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193927.4]
  wire  _T_7; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193932.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193934.4]
  AsyncResetSynchronizerShiftReg_w1_d3_i0 AsyncResetSynchronizerShiftReg_w1_d3_i0 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@193927.4]
    .clock(AsyncResetSynchronizerShiftReg_w1_d3_i0_clock),
    .reset(AsyncResetSynchronizerShiftReg_w1_d3_i0_reset),
    .io_d(AsyncResetSynchronizerShiftReg_w1_d3_i0_io_d),
    .io_q(AsyncResetSynchronizerShiftReg_w1_d3_i0_io_q)
  );
  assign _T_7 = AsyncResetSynchronizerShiftReg_w1_d3_i0_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193932.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@193934.4]
  assign io_sync_reset = ~ _T_7; // @[ResetCatchAndSync.scala 28:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193937.4]
  assign AsyncResetSynchronizerShiftReg_w1_d3_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193929.4]
  assign AsyncResetSynchronizerShiftReg_w1_d3_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193930.4]
  assign AsyncResetSynchronizerShiftReg_w1_d3_i0_io_d = 1'h1; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@193931.4]
endmodule
module TLDebugModuleInnerAsync( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193939.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193940.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193941.4]
  input  [2:0]  auto_dmiXing_in_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  input  [8:0]  auto_dmiXing_in_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  input  [3:0]  auto_dmiXing_in_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  input  [31:0] auto_dmiXing_in_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  output        auto_dmiXing_in_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  input         auto_dmiXing_in_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  output        auto_dmiXing_in_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  input         auto_dmiXing_in_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  input         auto_dmiXing_in_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  output        auto_dmiXing_in_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  output [2:0]  auto_dmiXing_in_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  output [1:0]  auto_dmiXing_in_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  output        auto_dmiXing_in_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  output [31:0] auto_dmiXing_in_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  input         auto_dmiXing_in_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  output        auto_dmiXing_in_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  input         auto_dmiXing_in_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  output        auto_dmiXing_in_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  output        auto_dmiXing_in_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  input         auto_dmiXing_in_d_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  output        auto_dmInner_tl_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  input         auto_dmInner_tl_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  input  [2:0]  auto_dmInner_tl_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  input  [2:0]  auto_dmInner_tl_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  input  [1:0]  auto_dmInner_tl_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  input  [5:0]  auto_dmInner_tl_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  input  [11:0] auto_dmInner_tl_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  input  [3:0]  auto_dmInner_tl_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  input  [31:0] auto_dmInner_tl_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  input         auto_dmInner_tl_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  input         auto_dmInner_tl_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  output        auto_dmInner_tl_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  output [2:0]  auto_dmInner_tl_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  output [1:0]  auto_dmInner_tl_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  output [5:0]  auto_dmInner_tl_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  output [31:0] auto_dmInner_tl_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193942.4]
  input         io_dmactive, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193943.4]
  input         io_innerCtrl_mem_0_resumereq, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193943.4]
  input  [9:0]  io_innerCtrl_mem_0_hartsel, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193943.4]
  input         io_innerCtrl_mem_0_ackhavereset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193943.4]
  output        io_innerCtrl_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193943.4]
  input         io_innerCtrl_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193943.4]
  output        io_innerCtrl_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193943.4]
  input         io_innerCtrl_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193943.4]
  input         io_innerCtrl_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193943.4]
  output        io_innerCtrl_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193943.4]
);
  wire  dmInner_clock; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire  dmInner_reset; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire  dmInner_auto_tl_in_a_ready; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire  dmInner_auto_tl_in_a_valid; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire [2:0] dmInner_auto_tl_in_a_bits_opcode; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire [2:0] dmInner_auto_tl_in_a_bits_param; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire [1:0] dmInner_auto_tl_in_a_bits_size; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire [5:0] dmInner_auto_tl_in_a_bits_source; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire [11:0] dmInner_auto_tl_in_a_bits_address; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire [3:0] dmInner_auto_tl_in_a_bits_mask; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire [31:0] dmInner_auto_tl_in_a_bits_data; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire  dmInner_auto_tl_in_a_bits_corrupt; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire  dmInner_auto_tl_in_d_ready; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire  dmInner_auto_tl_in_d_valid; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire [2:0] dmInner_auto_tl_in_d_bits_opcode; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire [1:0] dmInner_auto_tl_in_d_bits_size; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire [5:0] dmInner_auto_tl_in_d_bits_source; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire [31:0] dmInner_auto_tl_in_d_bits_data; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire  dmInner_auto_dmi_in_a_ready; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire  dmInner_auto_dmi_in_a_valid; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire [2:0] dmInner_auto_dmi_in_a_bits_opcode; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire [2:0] dmInner_auto_dmi_in_a_bits_param; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire [1:0] dmInner_auto_dmi_in_a_bits_size; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire  dmInner_auto_dmi_in_a_bits_source; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire [8:0] dmInner_auto_dmi_in_a_bits_address; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire [3:0] dmInner_auto_dmi_in_a_bits_mask; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire [31:0] dmInner_auto_dmi_in_a_bits_data; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire  dmInner_auto_dmi_in_a_bits_corrupt; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire  dmInner_auto_dmi_in_d_ready; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire  dmInner_auto_dmi_in_d_valid; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire [2:0] dmInner_auto_dmi_in_d_bits_opcode; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire [1:0] dmInner_auto_dmi_in_d_bits_size; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire  dmInner_auto_dmi_in_d_bits_source; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire [31:0] dmInner_auto_dmi_in_d_bits_data; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire  dmInner_io_dmactive; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire  dmInner_io_innerCtrl_ready; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire  dmInner_io_innerCtrl_valid; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire  dmInner_io_innerCtrl_bits_resumereq; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire [9:0] dmInner_io_innerCtrl_bits_hartsel; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire  dmInner_io_innerCtrl_bits_ackhavereset; // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
  wire  dmiXing_clock; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire  dmiXing_reset; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire [2:0] dmiXing_auto_in_a_mem_0_opcode; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire [8:0] dmiXing_auto_in_a_mem_0_address; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire [3:0] dmiXing_auto_in_a_mem_0_mask; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire [31:0] dmiXing_auto_in_a_mem_0_data; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire  dmiXing_auto_in_a_ridx; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire  dmiXing_auto_in_a_widx; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire  dmiXing_auto_in_a_safe_ridx_valid; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire  dmiXing_auto_in_a_safe_widx_valid; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire  dmiXing_auto_in_a_safe_source_reset_n; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire  dmiXing_auto_in_a_safe_sink_reset_n; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire [2:0] dmiXing_auto_in_d_mem_0_opcode; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire [1:0] dmiXing_auto_in_d_mem_0_size; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire  dmiXing_auto_in_d_mem_0_source; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire [31:0] dmiXing_auto_in_d_mem_0_data; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire  dmiXing_auto_in_d_ridx; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire  dmiXing_auto_in_d_widx; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire  dmiXing_auto_in_d_safe_ridx_valid; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire  dmiXing_auto_in_d_safe_widx_valid; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire  dmiXing_auto_in_d_safe_source_reset_n; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire  dmiXing_auto_in_d_safe_sink_reset_n; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire  dmiXing_auto_out_a_ready; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire  dmiXing_auto_out_a_valid; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire [2:0] dmiXing_auto_out_a_bits_opcode; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire [2:0] dmiXing_auto_out_a_bits_param; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire [1:0] dmiXing_auto_out_a_bits_size; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire  dmiXing_auto_out_a_bits_source; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire [8:0] dmiXing_auto_out_a_bits_address; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire [3:0] dmiXing_auto_out_a_bits_mask; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire [31:0] dmiXing_auto_out_a_bits_data; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire  dmiXing_auto_out_a_bits_corrupt; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire  dmiXing_auto_out_d_ready; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire  dmiXing_auto_out_d_valid; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire [2:0] dmiXing_auto_out_d_bits_opcode; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire [1:0] dmiXing_auto_out_d_bits_size; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire  dmiXing_auto_out_d_bits_source; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire [31:0] dmiXing_auto_out_d_bits_data; // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
  wire  AsyncQueueSink_clock; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
  wire  AsyncQueueSink_reset; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
  wire  AsyncQueueSink_io_deq_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
  wire  AsyncQueueSink_io_deq_bits_resumereq; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
  wire [9:0] AsyncQueueSink_io_deq_bits_hartsel; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
  wire  AsyncQueueSink_io_deq_bits_ackhavereset; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
  wire  AsyncQueueSink_io_async_mem_0_resumereq; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
  wire [9:0] AsyncQueueSink_io_async_mem_0_hartsel; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
  wire  AsyncQueueSink_io_async_mem_0_ackhavereset; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
  wire  AsyncQueueSink_io_async_ridx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
  wire  AsyncQueueSink_io_async_widx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
  wire  AsyncQueueSink_io_async_safe_ridx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
  wire  AsyncQueueSink_io_async_safe_widx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
  wire  AsyncQueueSink_io_async_safe_source_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
  wire  AsyncQueueSink_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
  wire  dmactiveSync_clock; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@193978.4]
  wire  dmactiveSync_reset; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@193978.4]
  wire  dmactiveSync_io_sync_reset; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@193978.4]
  TLDebugModuleInner dmInner ( // @[Debug.scala 1053:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193949.4]
    .clock(dmInner_clock),
    .reset(dmInner_reset),
    .auto_tl_in_a_ready(dmInner_auto_tl_in_a_ready),
    .auto_tl_in_a_valid(dmInner_auto_tl_in_a_valid),
    .auto_tl_in_a_bits_opcode(dmInner_auto_tl_in_a_bits_opcode),
    .auto_tl_in_a_bits_param(dmInner_auto_tl_in_a_bits_param),
    .auto_tl_in_a_bits_size(dmInner_auto_tl_in_a_bits_size),
    .auto_tl_in_a_bits_source(dmInner_auto_tl_in_a_bits_source),
    .auto_tl_in_a_bits_address(dmInner_auto_tl_in_a_bits_address),
    .auto_tl_in_a_bits_mask(dmInner_auto_tl_in_a_bits_mask),
    .auto_tl_in_a_bits_data(dmInner_auto_tl_in_a_bits_data),
    .auto_tl_in_a_bits_corrupt(dmInner_auto_tl_in_a_bits_corrupt),
    .auto_tl_in_d_ready(dmInner_auto_tl_in_d_ready),
    .auto_tl_in_d_valid(dmInner_auto_tl_in_d_valid),
    .auto_tl_in_d_bits_opcode(dmInner_auto_tl_in_d_bits_opcode),
    .auto_tl_in_d_bits_size(dmInner_auto_tl_in_d_bits_size),
    .auto_tl_in_d_bits_source(dmInner_auto_tl_in_d_bits_source),
    .auto_tl_in_d_bits_data(dmInner_auto_tl_in_d_bits_data),
    .auto_dmi_in_a_ready(dmInner_auto_dmi_in_a_ready),
    .auto_dmi_in_a_valid(dmInner_auto_dmi_in_a_valid),
    .auto_dmi_in_a_bits_opcode(dmInner_auto_dmi_in_a_bits_opcode),
    .auto_dmi_in_a_bits_param(dmInner_auto_dmi_in_a_bits_param),
    .auto_dmi_in_a_bits_size(dmInner_auto_dmi_in_a_bits_size),
    .auto_dmi_in_a_bits_source(dmInner_auto_dmi_in_a_bits_source),
    .auto_dmi_in_a_bits_address(dmInner_auto_dmi_in_a_bits_address),
    .auto_dmi_in_a_bits_mask(dmInner_auto_dmi_in_a_bits_mask),
    .auto_dmi_in_a_bits_data(dmInner_auto_dmi_in_a_bits_data),
    .auto_dmi_in_a_bits_corrupt(dmInner_auto_dmi_in_a_bits_corrupt),
    .auto_dmi_in_d_ready(dmInner_auto_dmi_in_d_ready),
    .auto_dmi_in_d_valid(dmInner_auto_dmi_in_d_valid),
    .auto_dmi_in_d_bits_opcode(dmInner_auto_dmi_in_d_bits_opcode),
    .auto_dmi_in_d_bits_size(dmInner_auto_dmi_in_d_bits_size),
    .auto_dmi_in_d_bits_source(dmInner_auto_dmi_in_d_bits_source),
    .auto_dmi_in_d_bits_data(dmInner_auto_dmi_in_d_bits_data),
    .io_dmactive(dmInner_io_dmactive),
    .io_innerCtrl_ready(dmInner_io_innerCtrl_ready),
    .io_innerCtrl_valid(dmInner_io_innerCtrl_valid),
    .io_innerCtrl_bits_resumereq(dmInner_io_innerCtrl_bits_resumereq),
    .io_innerCtrl_bits_hartsel(dmInner_io_innerCtrl_bits_hartsel),
    .io_innerCtrl_bits_ackhavereset(dmInner_io_innerCtrl_bits_ackhavereset)
  );
  TLAsyncCrossingSink dmiXing ( // @[Debug.scala 1054:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193956.4]
    .clock(dmiXing_clock),
    .reset(dmiXing_reset),
    .auto_in_a_mem_0_opcode(dmiXing_auto_in_a_mem_0_opcode),
    .auto_in_a_mem_0_address(dmiXing_auto_in_a_mem_0_address),
    .auto_in_a_mem_0_mask(dmiXing_auto_in_a_mem_0_mask),
    .auto_in_a_mem_0_data(dmiXing_auto_in_a_mem_0_data),
    .auto_in_a_ridx(dmiXing_auto_in_a_ridx),
    .auto_in_a_widx(dmiXing_auto_in_a_widx),
    .auto_in_a_safe_ridx_valid(dmiXing_auto_in_a_safe_ridx_valid),
    .auto_in_a_safe_widx_valid(dmiXing_auto_in_a_safe_widx_valid),
    .auto_in_a_safe_source_reset_n(dmiXing_auto_in_a_safe_source_reset_n),
    .auto_in_a_safe_sink_reset_n(dmiXing_auto_in_a_safe_sink_reset_n),
    .auto_in_d_mem_0_opcode(dmiXing_auto_in_d_mem_0_opcode),
    .auto_in_d_mem_0_size(dmiXing_auto_in_d_mem_0_size),
    .auto_in_d_mem_0_source(dmiXing_auto_in_d_mem_0_source),
    .auto_in_d_mem_0_data(dmiXing_auto_in_d_mem_0_data),
    .auto_in_d_ridx(dmiXing_auto_in_d_ridx),
    .auto_in_d_widx(dmiXing_auto_in_d_widx),
    .auto_in_d_safe_ridx_valid(dmiXing_auto_in_d_safe_ridx_valid),
    .auto_in_d_safe_widx_valid(dmiXing_auto_in_d_safe_widx_valid),
    .auto_in_d_safe_source_reset_n(dmiXing_auto_in_d_safe_source_reset_n),
    .auto_in_d_safe_sink_reset_n(dmiXing_auto_in_d_safe_sink_reset_n),
    .auto_out_a_ready(dmiXing_auto_out_a_ready),
    .auto_out_a_valid(dmiXing_auto_out_a_valid),
    .auto_out_a_bits_opcode(dmiXing_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(dmiXing_auto_out_a_bits_param),
    .auto_out_a_bits_size(dmiXing_auto_out_a_bits_size),
    .auto_out_a_bits_source(dmiXing_auto_out_a_bits_source),
    .auto_out_a_bits_address(dmiXing_auto_out_a_bits_address),
    .auto_out_a_bits_mask(dmiXing_auto_out_a_bits_mask),
    .auto_out_a_bits_data(dmiXing_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(dmiXing_auto_out_a_bits_corrupt),
    .auto_out_d_ready(dmiXing_auto_out_d_ready),
    .auto_out_d_valid(dmiXing_auto_out_d_valid),
    .auto_out_d_bits_opcode(dmiXing_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(dmiXing_auto_out_d_bits_size),
    .auto_out_d_bits_source(dmiXing_auto_out_d_bits_source),
    .auto_out_d_bits_data(dmiXing_auto_out_d_bits_data)
  );
  AsyncQueueSink_3 AsyncQueueSink ( // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@193966.4]
    .clock(AsyncQueueSink_clock),
    .reset(AsyncQueueSink_reset),
    .io_deq_valid(AsyncQueueSink_io_deq_valid),
    .io_deq_bits_resumereq(AsyncQueueSink_io_deq_bits_resumereq),
    .io_deq_bits_hartsel(AsyncQueueSink_io_deq_bits_hartsel),
    .io_deq_bits_ackhavereset(AsyncQueueSink_io_deq_bits_ackhavereset),
    .io_async_mem_0_resumereq(AsyncQueueSink_io_async_mem_0_resumereq),
    .io_async_mem_0_hartsel(AsyncQueueSink_io_async_mem_0_hartsel),
    .io_async_mem_0_ackhavereset(AsyncQueueSink_io_async_mem_0_ackhavereset),
    .io_async_ridx(AsyncQueueSink_io_async_ridx),
    .io_async_widx(AsyncQueueSink_io_async_widx),
    .io_async_safe_ridx_valid(AsyncQueueSink_io_async_safe_ridx_valid),
    .io_async_safe_widx_valid(AsyncQueueSink_io_async_safe_widx_valid),
    .io_async_safe_source_reset_n(AsyncQueueSink_io_async_safe_source_reset_n),
    .io_async_safe_sink_reset_n(AsyncQueueSink_io_async_safe_sink_reset_n)
  );
  ResetCatchAndSync_d3 dmactiveSync ( // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@193978.4]
    .clock(dmactiveSync_clock),
    .reset(dmactiveSync_reset),
    .io_sync_reset(dmactiveSync_io_sync_reset)
  );
  assign auto_dmiXing_in_a_ridx = dmiXing_auto_in_a_ridx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
  assign auto_dmiXing_in_a_safe_ridx_valid = dmiXing_auto_in_a_safe_ridx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
  assign auto_dmiXing_in_a_safe_sink_reset_n = dmiXing_auto_in_a_safe_sink_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
  assign auto_dmiXing_in_d_mem_0_opcode = dmiXing_auto_in_d_mem_0_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
  assign auto_dmiXing_in_d_mem_0_size = dmiXing_auto_in_d_mem_0_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
  assign auto_dmiXing_in_d_mem_0_source = dmiXing_auto_in_d_mem_0_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
  assign auto_dmiXing_in_d_mem_0_data = dmiXing_auto_in_d_mem_0_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
  assign auto_dmiXing_in_d_widx = dmiXing_auto_in_d_widx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
  assign auto_dmiXing_in_d_safe_widx_valid = dmiXing_auto_in_d_safe_widx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
  assign auto_dmiXing_in_d_safe_source_reset_n = dmiXing_auto_in_d_safe_source_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
  assign auto_dmInner_tl_in_a_ready = dmInner_auto_tl_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
  assign auto_dmInner_tl_in_d_valid = dmInner_auto_tl_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
  assign auto_dmInner_tl_in_d_bits_opcode = dmInner_auto_tl_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
  assign auto_dmInner_tl_in_d_bits_size = dmInner_auto_tl_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
  assign auto_dmInner_tl_in_d_bits_source = dmInner_auto_tl_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
  assign auto_dmInner_tl_in_d_bits_data = dmInner_auto_tl_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
  assign io_innerCtrl_ridx = AsyncQueueSink_io_async_ridx; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193974.4]
  assign io_innerCtrl_safe_ridx_valid = AsyncQueueSink_io_async_safe_ridx_valid; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193972.4]
  assign io_innerCtrl_safe_sink_reset_n = AsyncQueueSink_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193969.4]
  assign dmInner_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193954.4]
  assign dmInner_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193955.4]
  assign dmInner_auto_tl_in_a_valid = auto_dmInner_tl_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
  assign dmInner_auto_tl_in_a_bits_opcode = auto_dmInner_tl_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
  assign dmInner_auto_tl_in_a_bits_param = auto_dmInner_tl_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
  assign dmInner_auto_tl_in_a_bits_size = auto_dmInner_tl_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
  assign dmInner_auto_tl_in_a_bits_source = auto_dmInner_tl_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
  assign dmInner_auto_tl_in_a_bits_address = auto_dmInner_tl_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
  assign dmInner_auto_tl_in_a_bits_mask = auto_dmInner_tl_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
  assign dmInner_auto_tl_in_a_bits_data = auto_dmInner_tl_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
  assign dmInner_auto_tl_in_a_bits_corrupt = auto_dmInner_tl_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
  assign dmInner_auto_tl_in_d_ready = auto_dmInner_tl_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193963.4]
  assign dmInner_auto_dmi_in_a_valid = dmiXing_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
  assign dmInner_auto_dmi_in_a_bits_opcode = dmiXing_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
  assign dmInner_auto_dmi_in_a_bits_param = dmiXing_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
  assign dmInner_auto_dmi_in_a_bits_size = dmiXing_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
  assign dmInner_auto_dmi_in_a_bits_source = dmiXing_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
  assign dmInner_auto_dmi_in_a_bits_address = dmiXing_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
  assign dmInner_auto_dmi_in_a_bits_mask = dmiXing_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
  assign dmInner_auto_dmi_in_a_bits_data = dmiXing_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
  assign dmInner_auto_dmi_in_a_bits_corrupt = dmiXing_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
  assign dmInner_auto_dmi_in_d_ready = dmiXing_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
  assign dmInner_io_dmactive = ~ dmactiveSync_io_sync_reset; // @[Debug.scala 1072:32:shc.marmotcaravel.MarmotCaravelConfig.fir@193984.4]
  assign dmInner_io_innerCtrl_valid = AsyncQueueSink_io_deq_valid; // @[Debug.scala 1071:33:shc.marmotcaravel.MarmotCaravelConfig.fir@193976.4]
  assign dmInner_io_innerCtrl_bits_resumereq = AsyncQueueSink_io_deq_bits_resumereq; // @[Debug.scala 1071:33:shc.marmotcaravel.MarmotCaravelConfig.fir@193976.4]
  assign dmInner_io_innerCtrl_bits_hartsel = AsyncQueueSink_io_deq_bits_hartsel; // @[Debug.scala 1071:33:shc.marmotcaravel.MarmotCaravelConfig.fir@193976.4]
  assign dmInner_io_innerCtrl_bits_ackhavereset = AsyncQueueSink_io_deq_bits_ackhavereset; // @[Debug.scala 1071:33:shc.marmotcaravel.MarmotCaravelConfig.fir@193976.4]
  assign dmiXing_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193960.4]
  assign dmiXing_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193961.4]
  assign dmiXing_auto_in_a_mem_0_opcode = auto_dmiXing_in_a_mem_0_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
  assign dmiXing_auto_in_a_mem_0_address = auto_dmiXing_in_a_mem_0_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
  assign dmiXing_auto_in_a_mem_0_mask = auto_dmiXing_in_a_mem_0_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
  assign dmiXing_auto_in_a_mem_0_data = auto_dmiXing_in_a_mem_0_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
  assign dmiXing_auto_in_a_widx = auto_dmiXing_in_a_widx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
  assign dmiXing_auto_in_a_safe_widx_valid = auto_dmiXing_in_a_safe_widx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
  assign dmiXing_auto_in_a_safe_source_reset_n = auto_dmiXing_in_a_safe_source_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
  assign dmiXing_auto_in_d_ridx = auto_dmiXing_in_d_ridx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
  assign dmiXing_auto_in_d_safe_ridx_valid = auto_dmiXing_in_d_safe_ridx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
  assign dmiXing_auto_in_d_safe_sink_reset_n = auto_dmiXing_in_d_safe_sink_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193965.4]
  assign dmiXing_auto_out_a_ready = dmInner_auto_dmi_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
  assign dmiXing_auto_out_d_valid = dmInner_auto_dmi_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
  assign dmiXing_auto_out_d_bits_opcode = dmInner_auto_dmi_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
  assign dmiXing_auto_out_d_bits_size = dmInner_auto_dmi_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
  assign dmiXing_auto_out_d_bits_source = dmInner_auto_dmi_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
  assign dmiXing_auto_out_d_bits_data = dmInner_auto_dmi_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@193962.4]
  assign AsyncQueueSink_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193967.4]
  assign AsyncQueueSink_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193968.4]
  assign AsyncQueueSink_io_async_mem_0_resumereq = io_innerCtrl_mem_0_resumereq; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193975.4]
  assign AsyncQueueSink_io_async_mem_0_hartsel = io_innerCtrl_mem_0_hartsel; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193975.4]
  assign AsyncQueueSink_io_async_mem_0_ackhavereset = io_innerCtrl_mem_0_ackhavereset; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193975.4]
  assign AsyncQueueSink_io_async_widx = io_innerCtrl_widx; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193973.4]
  assign AsyncQueueSink_io_async_safe_widx_valid = io_innerCtrl_safe_widx_valid; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193971.4]
  assign AsyncQueueSink_io_async_safe_source_reset_n = io_innerCtrl_safe_source_reset_n; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@193970.4]
  assign dmactiveSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193980.4]
  assign dmactiveSync_reset = ~ io_dmactive; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193981.4]
endmodule
module TLDebugModule( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193987.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193988.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193989.4]
  output        auto_dmInner_dmInner_tl_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
  input         auto_dmInner_dmInner_tl_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
  input  [2:0]  auto_dmInner_dmInner_tl_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
  input  [2:0]  auto_dmInner_dmInner_tl_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
  input  [1:0]  auto_dmInner_dmInner_tl_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
  input  [5:0]  auto_dmInner_dmInner_tl_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
  input  [11:0] auto_dmInner_dmInner_tl_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
  input  [3:0]  auto_dmInner_dmInner_tl_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
  input  [31:0] auto_dmInner_dmInner_tl_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
  input         auto_dmInner_dmInner_tl_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
  input         auto_dmInner_dmInner_tl_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
  output        auto_dmInner_dmInner_tl_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
  output [2:0]  auto_dmInner_dmInner_tl_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
  output [1:0]  auto_dmInner_dmInner_tl_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
  output [5:0]  auto_dmInner_dmInner_tl_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
  output [31:0] auto_dmInner_dmInner_tl_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
  output        auto_dmOuter_intsource_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193990.4]
  output        io_ctrl_ndreset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193991.4]
  output        io_dmi_dmi_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193991.4]
  input         io_dmi_dmi_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193991.4]
  input  [6:0]  io_dmi_dmi_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193991.4]
  input  [31:0] io_dmi_dmi_req_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193991.4]
  input  [1:0]  io_dmi_dmi_req_bits_op, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193991.4]
  input         io_dmi_dmi_resp_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193991.4]
  output        io_dmi_dmi_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193991.4]
  output [31:0] io_dmi_dmi_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193991.4]
  output [1:0]  io_dmi_dmi_resp_bits_resp, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193991.4]
  input         io_dmi_dmiClock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193991.4]
  input         io_dmi_dmiReset // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@193991.4]
);
  wire  dmOuter_clock; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_reset; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire [2:0] dmOuter_auto_asource_out_a_mem_0_opcode; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire [8:0] dmOuter_auto_asource_out_a_mem_0_address; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire [3:0] dmOuter_auto_asource_out_a_mem_0_mask; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire [31:0] dmOuter_auto_asource_out_a_mem_0_data; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_auto_asource_out_a_ridx; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_auto_asource_out_a_widx; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_auto_asource_out_a_safe_ridx_valid; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_auto_asource_out_a_safe_widx_valid; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_auto_asource_out_a_safe_source_reset_n; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_auto_asource_out_a_safe_sink_reset_n; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire [2:0] dmOuter_auto_asource_out_d_mem_0_opcode; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire [1:0] dmOuter_auto_asource_out_d_mem_0_size; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_auto_asource_out_d_mem_0_source; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire [31:0] dmOuter_auto_asource_out_d_mem_0_data; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_auto_asource_out_d_ridx; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_auto_asource_out_d_widx; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_auto_asource_out_d_safe_ridx_valid; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_auto_asource_out_d_safe_widx_valid; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_auto_asource_out_d_safe_source_reset_n; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_auto_asource_out_d_safe_sink_reset_n; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_auto_intsource_out_sync_0; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_io_dmi_req_ready; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_io_dmi_req_valid; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire [6:0] dmOuter_io_dmi_req_bits_addr; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire [31:0] dmOuter_io_dmi_req_bits_data; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire [1:0] dmOuter_io_dmi_req_bits_op; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_io_dmi_resp_ready; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_io_dmi_resp_valid; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire [31:0] dmOuter_io_dmi_resp_bits_data; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire [1:0] dmOuter_io_dmi_resp_bits_resp; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_io_ctrl_ndreset; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_io_ctrl_dmactive; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_io_innerCtrl_mem_0_resumereq; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire [9:0] dmOuter_io_innerCtrl_mem_0_hartsel; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_io_innerCtrl_mem_0_ackhavereset; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_io_innerCtrl_ridx; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_io_innerCtrl_widx; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_io_innerCtrl_safe_ridx_valid; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_io_innerCtrl_safe_widx_valid; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_io_innerCtrl_safe_source_reset_n; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmOuter_io_innerCtrl_safe_sink_reset_n; // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
  wire  dmInner_clock; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_reset; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire [2:0] dmInner_auto_dmiXing_in_a_mem_0_opcode; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire [8:0] dmInner_auto_dmiXing_in_a_mem_0_address; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire [3:0] dmInner_auto_dmiXing_in_a_mem_0_mask; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire [31:0] dmInner_auto_dmiXing_in_a_mem_0_data; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_auto_dmiXing_in_a_ridx; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_auto_dmiXing_in_a_widx; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_auto_dmiXing_in_a_safe_ridx_valid; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_auto_dmiXing_in_a_safe_widx_valid; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_auto_dmiXing_in_a_safe_source_reset_n; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_auto_dmiXing_in_a_safe_sink_reset_n; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire [2:0] dmInner_auto_dmiXing_in_d_mem_0_opcode; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire [1:0] dmInner_auto_dmiXing_in_d_mem_0_size; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_auto_dmiXing_in_d_mem_0_source; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire [31:0] dmInner_auto_dmiXing_in_d_mem_0_data; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_auto_dmiXing_in_d_ridx; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_auto_dmiXing_in_d_widx; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_auto_dmiXing_in_d_safe_ridx_valid; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_auto_dmiXing_in_d_safe_widx_valid; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_auto_dmiXing_in_d_safe_source_reset_n; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_auto_dmiXing_in_d_safe_sink_reset_n; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_auto_dmInner_tl_in_a_ready; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_auto_dmInner_tl_in_a_valid; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire [2:0] dmInner_auto_dmInner_tl_in_a_bits_opcode; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire [2:0] dmInner_auto_dmInner_tl_in_a_bits_param; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire [1:0] dmInner_auto_dmInner_tl_in_a_bits_size; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire [5:0] dmInner_auto_dmInner_tl_in_a_bits_source; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire [11:0] dmInner_auto_dmInner_tl_in_a_bits_address; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire [3:0] dmInner_auto_dmInner_tl_in_a_bits_mask; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire [31:0] dmInner_auto_dmInner_tl_in_a_bits_data; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_auto_dmInner_tl_in_a_bits_corrupt; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_auto_dmInner_tl_in_d_ready; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_auto_dmInner_tl_in_d_valid; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire [2:0] dmInner_auto_dmInner_tl_in_d_bits_opcode; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire [1:0] dmInner_auto_dmInner_tl_in_d_bits_size; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire [5:0] dmInner_auto_dmInner_tl_in_d_bits_source; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire [31:0] dmInner_auto_dmInner_tl_in_d_bits_data; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_io_dmactive; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_io_innerCtrl_mem_0_resumereq; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire [9:0] dmInner_io_innerCtrl_mem_0_hartsel; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_io_innerCtrl_mem_0_ackhavereset; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_io_innerCtrl_ridx; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_io_innerCtrl_widx; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_io_innerCtrl_safe_ridx_valid; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_io_innerCtrl_safe_widx_valid; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_io_innerCtrl_safe_source_reset_n; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  wire  dmInner_io_innerCtrl_safe_sink_reset_n; // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
  TLDebugModuleOuterAsync dmOuter ( // @[Debug.scala 1088:27:shc.marmotcaravel.MarmotCaravelConfig.fir@193997.4]
    .clock(dmOuter_clock),
    .reset(dmOuter_reset),
    .auto_asource_out_a_mem_0_opcode(dmOuter_auto_asource_out_a_mem_0_opcode),
    .auto_asource_out_a_mem_0_address(dmOuter_auto_asource_out_a_mem_0_address),
    .auto_asource_out_a_mem_0_mask(dmOuter_auto_asource_out_a_mem_0_mask),
    .auto_asource_out_a_mem_0_data(dmOuter_auto_asource_out_a_mem_0_data),
    .auto_asource_out_a_ridx(dmOuter_auto_asource_out_a_ridx),
    .auto_asource_out_a_widx(dmOuter_auto_asource_out_a_widx),
    .auto_asource_out_a_safe_ridx_valid(dmOuter_auto_asource_out_a_safe_ridx_valid),
    .auto_asource_out_a_safe_widx_valid(dmOuter_auto_asource_out_a_safe_widx_valid),
    .auto_asource_out_a_safe_source_reset_n(dmOuter_auto_asource_out_a_safe_source_reset_n),
    .auto_asource_out_a_safe_sink_reset_n(dmOuter_auto_asource_out_a_safe_sink_reset_n),
    .auto_asource_out_d_mem_0_opcode(dmOuter_auto_asource_out_d_mem_0_opcode),
    .auto_asource_out_d_mem_0_size(dmOuter_auto_asource_out_d_mem_0_size),
    .auto_asource_out_d_mem_0_source(dmOuter_auto_asource_out_d_mem_0_source),
    .auto_asource_out_d_mem_0_data(dmOuter_auto_asource_out_d_mem_0_data),
    .auto_asource_out_d_ridx(dmOuter_auto_asource_out_d_ridx),
    .auto_asource_out_d_widx(dmOuter_auto_asource_out_d_widx),
    .auto_asource_out_d_safe_ridx_valid(dmOuter_auto_asource_out_d_safe_ridx_valid),
    .auto_asource_out_d_safe_widx_valid(dmOuter_auto_asource_out_d_safe_widx_valid),
    .auto_asource_out_d_safe_source_reset_n(dmOuter_auto_asource_out_d_safe_source_reset_n),
    .auto_asource_out_d_safe_sink_reset_n(dmOuter_auto_asource_out_d_safe_sink_reset_n),
    .auto_intsource_out_sync_0(dmOuter_auto_intsource_out_sync_0),
    .io_dmi_req_ready(dmOuter_io_dmi_req_ready),
    .io_dmi_req_valid(dmOuter_io_dmi_req_valid),
    .io_dmi_req_bits_addr(dmOuter_io_dmi_req_bits_addr),
    .io_dmi_req_bits_data(dmOuter_io_dmi_req_bits_data),
    .io_dmi_req_bits_op(dmOuter_io_dmi_req_bits_op),
    .io_dmi_resp_ready(dmOuter_io_dmi_resp_ready),
    .io_dmi_resp_valid(dmOuter_io_dmi_resp_valid),
    .io_dmi_resp_bits_data(dmOuter_io_dmi_resp_bits_data),
    .io_dmi_resp_bits_resp(dmOuter_io_dmi_resp_bits_resp),
    .io_ctrl_ndreset(dmOuter_io_ctrl_ndreset),
    .io_ctrl_dmactive(dmOuter_io_ctrl_dmactive),
    .io_innerCtrl_mem_0_resumereq(dmOuter_io_innerCtrl_mem_0_resumereq),
    .io_innerCtrl_mem_0_hartsel(dmOuter_io_innerCtrl_mem_0_hartsel),
    .io_innerCtrl_mem_0_ackhavereset(dmOuter_io_innerCtrl_mem_0_ackhavereset),
    .io_innerCtrl_ridx(dmOuter_io_innerCtrl_ridx),
    .io_innerCtrl_widx(dmOuter_io_innerCtrl_widx),
    .io_innerCtrl_safe_ridx_valid(dmOuter_io_innerCtrl_safe_ridx_valid),
    .io_innerCtrl_safe_widx_valid(dmOuter_io_innerCtrl_safe_widx_valid),
    .io_innerCtrl_safe_source_reset_n(dmOuter_io_innerCtrl_safe_source_reset_n),
    .io_innerCtrl_safe_sink_reset_n(dmOuter_io_innerCtrl_safe_sink_reset_n)
  );
  TLDebugModuleInnerAsync dmInner ( // @[Debug.scala 1089:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194004.4]
    .clock(dmInner_clock),
    .reset(dmInner_reset),
    .auto_dmiXing_in_a_mem_0_opcode(dmInner_auto_dmiXing_in_a_mem_0_opcode),
    .auto_dmiXing_in_a_mem_0_address(dmInner_auto_dmiXing_in_a_mem_0_address),
    .auto_dmiXing_in_a_mem_0_mask(dmInner_auto_dmiXing_in_a_mem_0_mask),
    .auto_dmiXing_in_a_mem_0_data(dmInner_auto_dmiXing_in_a_mem_0_data),
    .auto_dmiXing_in_a_ridx(dmInner_auto_dmiXing_in_a_ridx),
    .auto_dmiXing_in_a_widx(dmInner_auto_dmiXing_in_a_widx),
    .auto_dmiXing_in_a_safe_ridx_valid(dmInner_auto_dmiXing_in_a_safe_ridx_valid),
    .auto_dmiXing_in_a_safe_widx_valid(dmInner_auto_dmiXing_in_a_safe_widx_valid),
    .auto_dmiXing_in_a_safe_source_reset_n(dmInner_auto_dmiXing_in_a_safe_source_reset_n),
    .auto_dmiXing_in_a_safe_sink_reset_n(dmInner_auto_dmiXing_in_a_safe_sink_reset_n),
    .auto_dmiXing_in_d_mem_0_opcode(dmInner_auto_dmiXing_in_d_mem_0_opcode),
    .auto_dmiXing_in_d_mem_0_size(dmInner_auto_dmiXing_in_d_mem_0_size),
    .auto_dmiXing_in_d_mem_0_source(dmInner_auto_dmiXing_in_d_mem_0_source),
    .auto_dmiXing_in_d_mem_0_data(dmInner_auto_dmiXing_in_d_mem_0_data),
    .auto_dmiXing_in_d_ridx(dmInner_auto_dmiXing_in_d_ridx),
    .auto_dmiXing_in_d_widx(dmInner_auto_dmiXing_in_d_widx),
    .auto_dmiXing_in_d_safe_ridx_valid(dmInner_auto_dmiXing_in_d_safe_ridx_valid),
    .auto_dmiXing_in_d_safe_widx_valid(dmInner_auto_dmiXing_in_d_safe_widx_valid),
    .auto_dmiXing_in_d_safe_source_reset_n(dmInner_auto_dmiXing_in_d_safe_source_reset_n),
    .auto_dmiXing_in_d_safe_sink_reset_n(dmInner_auto_dmiXing_in_d_safe_sink_reset_n),
    .auto_dmInner_tl_in_a_ready(dmInner_auto_dmInner_tl_in_a_ready),
    .auto_dmInner_tl_in_a_valid(dmInner_auto_dmInner_tl_in_a_valid),
    .auto_dmInner_tl_in_a_bits_opcode(dmInner_auto_dmInner_tl_in_a_bits_opcode),
    .auto_dmInner_tl_in_a_bits_param(dmInner_auto_dmInner_tl_in_a_bits_param),
    .auto_dmInner_tl_in_a_bits_size(dmInner_auto_dmInner_tl_in_a_bits_size),
    .auto_dmInner_tl_in_a_bits_source(dmInner_auto_dmInner_tl_in_a_bits_source),
    .auto_dmInner_tl_in_a_bits_address(dmInner_auto_dmInner_tl_in_a_bits_address),
    .auto_dmInner_tl_in_a_bits_mask(dmInner_auto_dmInner_tl_in_a_bits_mask),
    .auto_dmInner_tl_in_a_bits_data(dmInner_auto_dmInner_tl_in_a_bits_data),
    .auto_dmInner_tl_in_a_bits_corrupt(dmInner_auto_dmInner_tl_in_a_bits_corrupt),
    .auto_dmInner_tl_in_d_ready(dmInner_auto_dmInner_tl_in_d_ready),
    .auto_dmInner_tl_in_d_valid(dmInner_auto_dmInner_tl_in_d_valid),
    .auto_dmInner_tl_in_d_bits_opcode(dmInner_auto_dmInner_tl_in_d_bits_opcode),
    .auto_dmInner_tl_in_d_bits_size(dmInner_auto_dmInner_tl_in_d_bits_size),
    .auto_dmInner_tl_in_d_bits_source(dmInner_auto_dmInner_tl_in_d_bits_source),
    .auto_dmInner_tl_in_d_bits_data(dmInner_auto_dmInner_tl_in_d_bits_data),
    .io_dmactive(dmInner_io_dmactive),
    .io_innerCtrl_mem_0_resumereq(dmInner_io_innerCtrl_mem_0_resumereq),
    .io_innerCtrl_mem_0_hartsel(dmInner_io_innerCtrl_mem_0_hartsel),
    .io_innerCtrl_mem_0_ackhavereset(dmInner_io_innerCtrl_mem_0_ackhavereset),
    .io_innerCtrl_ridx(dmInner_io_innerCtrl_ridx),
    .io_innerCtrl_widx(dmInner_io_innerCtrl_widx),
    .io_innerCtrl_safe_ridx_valid(dmInner_io_innerCtrl_safe_ridx_valid),
    .io_innerCtrl_safe_widx_valid(dmInner_io_innerCtrl_safe_widx_valid),
    .io_innerCtrl_safe_source_reset_n(dmInner_io_innerCtrl_safe_source_reset_n),
    .io_innerCtrl_safe_sink_reset_n(dmInner_io_innerCtrl_safe_sink_reset_n)
  );
  assign auto_dmInner_dmInner_tl_in_a_ready = dmInner_auto_dmInner_tl_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
  assign auto_dmInner_dmInner_tl_in_d_valid = dmInner_auto_dmInner_tl_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
  assign auto_dmInner_dmInner_tl_in_d_bits_opcode = dmInner_auto_dmInner_tl_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
  assign auto_dmInner_dmInner_tl_in_d_bits_size = dmInner_auto_dmInner_tl_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
  assign auto_dmInner_dmInner_tl_in_d_bits_source = dmInner_auto_dmInner_tl_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
  assign auto_dmInner_dmInner_tl_in_d_bits_data = dmInner_auto_dmInner_tl_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
  assign auto_dmOuter_intsource_out_sync_0 = dmOuter_auto_intsource_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194012.4]
  assign io_ctrl_ndreset = dmOuter_io_ctrl_ndreset; // @[Debug.scala 1115:13:shc.marmotcaravel.MarmotCaravelConfig.fir@194022.4]
  assign io_dmi_dmi_req_ready = dmOuter_io_dmi_req_ready; // @[Debug.scala 1105:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194015.4]
  assign io_dmi_dmi_resp_valid = dmOuter_io_dmi_resp_valid; // @[Debug.scala 1105:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194015.4]
  assign io_dmi_dmi_resp_bits_data = dmOuter_io_dmi_resp_bits_data; // @[Debug.scala 1105:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194015.4]
  assign io_dmi_dmi_resp_bits_resp = dmOuter_io_dmi_resp_bits_resp; // @[Debug.scala 1105:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194015.4]
  assign dmOuter_clock = io_dmi_dmiClock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194002.4 Debug.scala 1107:26:shc.marmotcaravel.MarmotCaravelConfig.fir@194017.4]
  assign dmOuter_reset = io_dmi_dmiReset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194003.4 Debug.scala 1106:26:shc.marmotcaravel.MarmotCaravelConfig.fir@194016.4]
  assign dmOuter_auto_asource_out_a_ridx = dmInner_auto_dmiXing_in_a_ridx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
  assign dmOuter_auto_asource_out_a_safe_ridx_valid = dmInner_auto_dmiXing_in_a_safe_ridx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
  assign dmOuter_auto_asource_out_a_safe_sink_reset_n = dmInner_auto_dmiXing_in_a_safe_sink_reset_n; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
  assign dmOuter_auto_asource_out_d_mem_0_opcode = dmInner_auto_dmiXing_in_d_mem_0_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
  assign dmOuter_auto_asource_out_d_mem_0_size = dmInner_auto_dmiXing_in_d_mem_0_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
  assign dmOuter_auto_asource_out_d_mem_0_source = dmInner_auto_dmiXing_in_d_mem_0_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
  assign dmOuter_auto_asource_out_d_mem_0_data = dmInner_auto_dmiXing_in_d_mem_0_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
  assign dmOuter_auto_asource_out_d_widx = dmInner_auto_dmiXing_in_d_widx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
  assign dmOuter_auto_asource_out_d_safe_widx_valid = dmInner_auto_dmiXing_in_d_safe_widx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
  assign dmOuter_auto_asource_out_d_safe_source_reset_n = dmInner_auto_dmiXing_in_d_safe_source_reset_n; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
  assign dmOuter_io_dmi_req_valid = io_dmi_dmi_req_valid; // @[Debug.scala 1105:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194015.4]
  assign dmOuter_io_dmi_req_bits_addr = io_dmi_dmi_req_bits_addr; // @[Debug.scala 1105:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194015.4]
  assign dmOuter_io_dmi_req_bits_data = io_dmi_dmi_req_bits_data; // @[Debug.scala 1105:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194015.4]
  assign dmOuter_io_dmi_req_bits_op = io_dmi_dmi_req_bits_op; // @[Debug.scala 1105:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194015.4]
  assign dmOuter_io_dmi_resp_ready = io_dmi_dmi_resp_ready; // @[Debug.scala 1105:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194015.4]
  assign dmOuter_io_innerCtrl_ridx = dmInner_io_innerCtrl_ridx; // @[Debug.scala 1109:36:shc.marmotcaravel.MarmotCaravelConfig.fir@194018.4]
  assign dmOuter_io_innerCtrl_safe_ridx_valid = dmInner_io_innerCtrl_safe_ridx_valid; // @[Debug.scala 1109:36:shc.marmotcaravel.MarmotCaravelConfig.fir@194018.4]
  assign dmOuter_io_innerCtrl_safe_sink_reset_n = dmInner_io_innerCtrl_safe_sink_reset_n; // @[Debug.scala 1109:36:shc.marmotcaravel.MarmotCaravelConfig.fir@194018.4]
  assign dmInner_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194009.4]
  assign dmInner_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194010.4]
  assign dmInner_auto_dmiXing_in_a_mem_0_opcode = dmOuter_auto_asource_out_a_mem_0_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
  assign dmInner_auto_dmiXing_in_a_mem_0_address = dmOuter_auto_asource_out_a_mem_0_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
  assign dmInner_auto_dmiXing_in_a_mem_0_mask = dmOuter_auto_asource_out_a_mem_0_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
  assign dmInner_auto_dmiXing_in_a_mem_0_data = dmOuter_auto_asource_out_a_mem_0_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
  assign dmInner_auto_dmiXing_in_a_widx = dmOuter_auto_asource_out_a_widx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
  assign dmInner_auto_dmiXing_in_a_safe_widx_valid = dmOuter_auto_asource_out_a_safe_widx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
  assign dmInner_auto_dmiXing_in_a_safe_source_reset_n = dmOuter_auto_asource_out_a_safe_source_reset_n; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
  assign dmInner_auto_dmiXing_in_d_ridx = dmOuter_auto_asource_out_d_ridx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
  assign dmInner_auto_dmiXing_in_d_safe_ridx_valid = dmOuter_auto_asource_out_d_safe_ridx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
  assign dmInner_auto_dmiXing_in_d_safe_sink_reset_n = dmOuter_auto_asource_out_d_safe_sink_reset_n; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@194011.4]
  assign dmInner_auto_dmInner_tl_in_a_valid = auto_dmInner_dmInner_tl_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
  assign dmInner_auto_dmInner_tl_in_a_bits_opcode = auto_dmInner_dmInner_tl_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
  assign dmInner_auto_dmInner_tl_in_a_bits_param = auto_dmInner_dmInner_tl_in_a_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
  assign dmInner_auto_dmInner_tl_in_a_bits_size = auto_dmInner_dmInner_tl_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
  assign dmInner_auto_dmInner_tl_in_a_bits_source = auto_dmInner_dmInner_tl_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
  assign dmInner_auto_dmInner_tl_in_a_bits_address = auto_dmInner_dmInner_tl_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
  assign dmInner_auto_dmInner_tl_in_a_bits_mask = auto_dmInner_dmInner_tl_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
  assign dmInner_auto_dmInner_tl_in_a_bits_data = auto_dmInner_dmInner_tl_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
  assign dmInner_auto_dmInner_tl_in_a_bits_corrupt = auto_dmInner_dmInner_tl_in_a_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
  assign dmInner_auto_dmInner_tl_in_d_ready = auto_dmInner_dmInner_tl_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194013.4]
  assign dmInner_io_dmactive = dmOuter_io_ctrl_dmactive; // @[Debug.scala 1110:36:shc.marmotcaravel.MarmotCaravelConfig.fir@194019.4]
  assign dmInner_io_innerCtrl_mem_0_resumereq = dmOuter_io_innerCtrl_mem_0_resumereq; // @[Debug.scala 1109:36:shc.marmotcaravel.MarmotCaravelConfig.fir@194018.4]
  assign dmInner_io_innerCtrl_mem_0_hartsel = dmOuter_io_innerCtrl_mem_0_hartsel; // @[Debug.scala 1109:36:shc.marmotcaravel.MarmotCaravelConfig.fir@194018.4]
  assign dmInner_io_innerCtrl_mem_0_ackhavereset = dmOuter_io_innerCtrl_mem_0_ackhavereset; // @[Debug.scala 1109:36:shc.marmotcaravel.MarmotCaravelConfig.fir@194018.4]
  assign dmInner_io_innerCtrl_widx = dmOuter_io_innerCtrl_widx; // @[Debug.scala 1109:36:shc.marmotcaravel.MarmotCaravelConfig.fir@194018.4]
  assign dmInner_io_innerCtrl_safe_widx_valid = dmOuter_io_innerCtrl_safe_widx_valid; // @[Debug.scala 1109:36:shc.marmotcaravel.MarmotCaravelConfig.fir@194018.4]
  assign dmInner_io_innerCtrl_safe_source_reset_n = dmOuter_io_innerCtrl_safe_source_reset_n; // @[Debug.scala 1109:36:shc.marmotcaravel.MarmotCaravelConfig.fir@194018.4]
endmodule
module TLMonitor_53( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194045.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194046.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194047.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
  input         io_in_c_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
  input         io_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
  input         io_in_e_valid // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@194048.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@195823.4]
  wire [26:0] _T_29; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@194068.6]
  wire [11:0] _T_30; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@194069.6]
  wire [11:0] _T_31; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@194070.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@194071.6]
  wire [31:0] _T_32; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@194071.6]
  wire  _T_33; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@194072.6]
  wire  _T_35; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194074.6]
  wire [1:0] _T_36; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@194075.6]
  wire [1:0] _T_38; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@194077.6]
  wire  _T_39; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@194078.6]
  wire  _T_40; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@194079.6]
  wire  _T_41; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@194080.6]
  wire  _T_42; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@194081.6]
  wire  _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@194083.6]
  wire  _T_45; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@194084.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@194086.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@194087.6]
  wire  _T_49; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@194088.6]
  wire  _T_50; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@194089.6]
  wire  _T_51; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@194090.6]
  wire  _T_52; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194091.6]
  wire  _T_53; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@194092.6]
  wire  _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@194093.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194094.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@194095.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@194096.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194097.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@194098.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@194099.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194100.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@194101.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@194102.6]
  wire [1:0] _T_64; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@194103.6]
  wire [1:0] _T_65; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@194104.6]
  wire [3:0] _T_66; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@194105.6]
  wire [32:0] _T_70; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194109.6]
  wire  _T_78; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194121.6]
  wire [31:0] _T_80; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194124.8]
  wire [32:0] _T_81; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194125.8]
  wire [32:0] _T_82; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194126.8]
  wire [32:0] _T_83; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194127.8]
  wire  _T_84; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194128.8]
  wire [31:0] _T_85; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194129.8]
  wire [32:0] _T_86; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194130.8]
  wire [32:0] _T_87; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194131.8]
  wire [32:0] _T_88; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194132.8]
  wire  _T_89; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194133.8]
  wire [31:0] _T_90; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194134.8]
  wire [32:0] _T_91; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194135.8]
  wire [32:0] _T_92; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194136.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194137.8]
  wire  _T_94; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194138.8]
  wire [31:0] _T_95; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194139.8]
  wire [32:0] _T_96; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194140.8]
  wire [32:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194141.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194142.8]
  wire  _T_99; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194143.8]
  wire [31:0] _T_100; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194144.8]
  wire [32:0] _T_101; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194145.8]
  wire [32:0] _T_102; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194146.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194147.8]
  wire  _T_104; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194148.8]
  wire [31:0] _T_105; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194149.8]
  wire [32:0] _T_106; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194150.8]
  wire [32:0] _T_107; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194151.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194152.8]
  wire  _T_109; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194153.8]
  wire [31:0] _T_110; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194154.8]
  wire [32:0] _T_111; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194155.8]
  wire [32:0] _T_112; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194156.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194157.8]
  wire  _T_114; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194158.8]
  wire [31:0] _T_115; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194159.8]
  wire [32:0] _T_116; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194160.8]
  wire [32:0] _T_117; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194161.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194162.8]
  wire  _T_119; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194163.8]
  wire [31:0] _T_120; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194164.8]
  wire [32:0] _T_121; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194165.8]
  wire [32:0] _T_122; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194166.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194167.8]
  wire  _T_124; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194168.8]
  wire [31:0] _T_125; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194169.8]
  wire [32:0] _T_126; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194170.8]
  wire [32:0] _T_127; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194171.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194172.8]
  wire  _T_129; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194173.8]
  wire [32:0] _T_132; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194176.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194177.8]
  wire  _T_134; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194178.8]
  wire [31:0] _T_135; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194179.8]
  wire [32:0] _T_136; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194180.8]
  wire [32:0] _T_137; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194181.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194182.8]
  wire  _T_139; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194183.8]
  wire [31:0] _T_140; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194184.8]
  wire [32:0] _T_141; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194185.8]
  wire [32:0] _T_142; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194186.8]
  wire [32:0] _T_143; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194187.8]
  wire  _T_144; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194188.8]
  wire [31:0] _T_145; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194189.8]
  wire [32:0] _T_146; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194190.8]
  wire [32:0] _T_147; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194191.8]
  wire [32:0] _T_148; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194192.8]
  wire  _T_149; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194193.8]
  wire  _T_150; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194194.8]
  wire  _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194195.8]
  wire  _T_152; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194196.8]
  wire  _T_153; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194197.8]
  wire  _T_167; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194211.8]
  wire  _T_176; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194232.8]
  wire  _T_177; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194233.8]
  wire  _T_179; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194239.8]
  wire  _T_180; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194240.8]
  wire  _T_181; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194245.8]
  wire  _T_183; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194247.8]
  wire  _T_184; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194248.8]
  wire [3:0] _T_185; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@194253.8]
  wire  _T_186; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@194254.8]
  wire  _T_188; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194256.8]
  wire  _T_189; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194257.8]
  wire  _T_194; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194271.6]
  wire  _T_301; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@194403.8]
  wire  _T_303; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194405.8]
  wire  _T_304; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194406.8]
  wire  _T_314; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194429.6]
  wire  _T_316; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194432.8]
  wire  _T_324; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@194440.8]
  wire  _T_326; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194442.8]
  wire  _T_394; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194510.8]
  wire  _T_395; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194511.8]
  wire  _T_396; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194512.8]
  wire  _T_397; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194513.8]
  wire  _T_398; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194514.8]
  wire  _T_399; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194515.8]
  wire  _T_400; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194516.8]
  wire  _T_401; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194517.8]
  wire  _T_402; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194518.8]
  wire  _T_403; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194519.8]
  wire  _T_404; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194520.8]
  wire  _T_405; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194521.8]
  wire  _T_406; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@194522.8]
  wire  _T_408; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@194524.8]
  wire  _T_410; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194526.8]
  wire  _T_411; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194527.8]
  wire  _T_418; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@194546.8]
  wire  _T_420; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194548.8]
  wire  _T_421; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194549.8]
  wire  _T_422; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194554.8]
  wire  _T_424; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194556.8]
  wire  _T_425; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194557.8]
  wire  _T_430; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194571.6]
  wire  _T_503; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194645.8]
  wire  _T_504; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194646.8]
  wire  _T_505; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194647.8]
  wire  _T_506; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194648.8]
  wire  _T_507; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194649.8]
  wire  _T_508; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194650.8]
  wire  _T_509; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194651.8]
  wire  _T_510; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@194652.8]
  wire  _T_525; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@194667.8]
  wire  _T_528; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194670.8]
  wire  _T_529; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194671.8]
  wire  _T_544; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194707.6]
  wire [3:0] _T_654; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@194834.8]
  wire [3:0] _T_655; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@194835.8]
  wire  _T_656; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@194836.8]
  wire  _T_658; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194838.8]
  wire  _T_659; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194839.8]
  wire  _T_660; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194845.6]
  wire  _T_662; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194848.8]
  wire  _T_729; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194915.8]
  wire  _T_730; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194916.8]
  wire  _T_731; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194917.8]
  wire  _T_732; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194918.8]
  wire  _T_733; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194919.8]
  wire  _T_734; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194920.8]
  wire  _T_735; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194921.8]
  wire  _T_736; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@194922.8]
  wire  _T_753; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194939.8]
  wire  _T_754; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194940.8]
  wire  _T_761; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@194959.8]
  wire  _T_763; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194961.8]
  wire  _T_764; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194962.8]
  wire  _T_769; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194976.6]
  wire  _T_870; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@195090.8]
  wire  _T_872; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195092.8]
  wire  _T_873; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195093.8]
  wire  _T_878; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195107.6]
  wire  _T_971; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195201.8]
  wire  _T_972; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195202.8]
  wire  _T_987; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@195240.6]
  wire  _T_989; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195242.6]
  wire  _T_990; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195243.6]
  wire  _T_1000; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195253.6]
  wire  _T_1004; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195262.8]
  wire  _T_1006; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195264.8]
  wire  _T_1007; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195265.8]
  wire  _T_1008; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195270.8]
  wire  _T_1010; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195272.8]
  wire  _T_1011; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195273.8]
  wire  _T_1012; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@195278.8]
  wire  _T_1014; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195280.8]
  wire  _T_1015; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195281.8]
  wire  _T_1016; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@195286.8]
  wire  _T_1018; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195288.8]
  wire  _T_1019; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195289.8]
  wire  _T_1020; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195295.6]
  wire  _T_1031; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@195319.8]
  wire  _T_1033; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195321.8]
  wire  _T_1034; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195322.8]
  wire  _T_1035; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195327.8]
  wire  _T_1037; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195329.8]
  wire  _T_1038; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195330.8]
  wire  _T_1048; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195353.6]
  wire  _T_1068; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@195394.8]
  wire  _T_1070; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195396.8]
  wire  _T_1071; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195397.8]
  wire  _T_1077; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195412.6]
  wire  _T_1094; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195447.6]
  wire  _T_1112; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195483.6]
  wire  _T_1133; // @[Monitor.scala 342:15:shc.marmotcaravel.MarmotCaravelConfig.fir@195527.4]
  wire  _T_1135; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195529.4]
  wire  _T_1136; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195530.4]
  wire  _T_1137; // @[Monitor.scala 343:15:shc.marmotcaravel.MarmotCaravelConfig.fir@195535.4]
  wire  _T_1139; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195537.4]
  wire  _T_1140; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195538.4]
  wire  _T_1141; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195543.4]
  wire [9:0] _T_1146; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@195548.4]
  wire  _T_1147; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@195549.4]
  wire  _T_1148; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195550.4]
  reg [9:0] _T_1151; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195552.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1152; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195553.4]
  wire [10:0] _T_1153; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195554.4]
  wire [9:0] _T_1154; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195555.4]
  wire  _T_1155; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195556.4]
  reg [2:0] _T_1164; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195567.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1166; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195568.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1168; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195569.4]
  reg [31:0] _RAND_3;
  reg [31:0] _T_1172; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195571.4]
  reg [31:0] _RAND_4;
  wire  _T_1173; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195572.4]
  wire  _T_1174; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@195573.4]
  wire  _T_1175; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195575.6]
  wire  _T_1177; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195577.6]
  wire  _T_1178; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195578.6]
  wire  _T_1179; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195583.6]
  wire  _T_1181; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195585.6]
  wire  _T_1182; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195586.6]
  wire  _T_1183; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195591.6]
  wire  _T_1185; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195593.6]
  wire  _T_1186; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195594.6]
  wire  _T_1191; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195607.6]
  wire  _T_1193; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195609.6]
  wire  _T_1194; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195610.6]
  wire  _T_1196; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@195617.4]
  wire  _T_1197; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195625.4]
  wire [26:0] _T_1199; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@195627.4]
  wire [11:0] _T_1200; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@195628.4]
  wire [11:0] _T_1201; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@195629.4]
  wire [9:0] _T_1202; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@195630.4]
  wire  _T_1203; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@195631.4]
  reg [9:0] _T_1206; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195633.4]
  reg [31:0] _RAND_5;
  wire [10:0] _T_1207; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195634.4]
  wire [10:0] _T_1208; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195635.4]
  wire [9:0] _T_1209; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195636.4]
  wire  _T_1210; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195637.4]
  reg [2:0] _T_1219; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195648.4]
  reg [31:0] _RAND_6;
  reg [1:0] _T_1221; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195649.4]
  reg [31:0] _RAND_7;
  reg [3:0] _T_1223; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195650.4]
  reg [31:0] _RAND_8;
  reg  _T_1227; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195652.4]
  reg [31:0] _RAND_9;
  reg  _T_1229; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195653.4]
  reg [31:0] _RAND_10;
  wire  _T_1230; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195654.4]
  wire  _T_1231; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@195655.4]
  wire  _T_1232; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195657.6]
  wire  _T_1234; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195659.6]
  wire  _T_1235; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195660.6]
  wire  _T_1236; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195665.6]
  wire  _T_1238; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195667.6]
  wire  _T_1239; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195668.6]
  wire  _T_1240; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195673.6]
  wire  _T_1242; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195675.6]
  wire  _T_1243; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195676.6]
  wire  _T_1248; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195689.6]
  wire  _T_1250; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195691.6]
  wire  _T_1251; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195692.6]
  wire  _T_1252; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195697.6]
  wire  _T_1254; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195699.6]
  wire  _T_1255; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195700.6]
  wire  _T_1257; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@195707.4]
  reg  _T_1259; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195716.4]
  reg [31:0] _RAND_11;
  reg [9:0] _T_1270; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195726.4]
  reg [31:0] _RAND_12;
  wire [10:0] _T_1271; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195727.4]
  wire [10:0] _T_1272; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195728.4]
  wire [9:0] _T_1273; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195729.4]
  wire  _T_1274; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195730.4]
  reg [9:0] _T_1291; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195749.4]
  reg [31:0] _RAND_13;
  wire [10:0] _T_1292; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195750.4]
  wire [10:0] _T_1293; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195751.4]
  wire [9:0] _T_1294; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195752.4]
  wire  _T_1295; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195753.4]
  wire  _T_1306; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195768.4]
  wire [1:0] _T_1308; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@195771.6]
  wire  _T_1309; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@195773.6]
  wire  _T_1311; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195775.6]
  wire  _T_1313; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195777.6]
  wire  _T_1314; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195778.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@195770.4]
  wire  _T_1319; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195789.4]
  wire  _T_1321; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@195791.4]
  wire  _T_1322; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@195792.4]
  wire  _T_1304; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195764.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@195766.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195772.6]
  wire  _T_1324; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@195796.6]
  wire  _T_1325; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@195797.6]
  wire  _T_1328; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195800.6]
  wire  _T_1329; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195801.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@195793.4]
  wire  _T_1316; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195784.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@195786.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195795.6]
  wire  _T_1330; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@195807.4]
  wire  _T_1332; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@195809.4]
  wire  _T_1333; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@195810.4]
  wire  _T_1335; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195812.4]
  wire  _T_1336; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195813.4]
  wire  _T_1337; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195818.4]
  wire  _T_1338; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@195819.4]
  wire  _T_1339; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@195820.4]
  reg [31:0] _T_1341; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195822.4]
  reg [31:0] _RAND_14;
  wire  _T_1343; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195826.4]
  wire  _T_1344; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@195827.4]
  wire  _T_1345; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195828.4]
  wire  _T_1346; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@195829.4]
  wire  _T_1347; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@195830.4]
  wire  _T_1349; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195832.4]
  wire  _T_1350; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195833.4]
  wire [31:0] _T_1352; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@195839.4]
  wire  _T_1355; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195843.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194213.10]
  wire  _GEN_31; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194363.10]
  wire  _GEN_45; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194529.10]
  wire  _GEN_53; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194673.10]
  wire  _GEN_61; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194809.10]
  wire  _GEN_69; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194942.10]
  wire  _GEN_77; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195073.10]
  wire  _GEN_85; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195204.10]
  wire  _GEN_91; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195267.10]
  wire  _GEN_99; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195308.10]
  wire  _GEN_109; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195366.10]
  wire  _GEN_119; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195426.10]
  wire  _GEN_123; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195461.10]
  wire  _GEN_127; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195497.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@195823.4]
    .out(plusarg_reader_out)
  );
  assign _T_29 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@194068.6]
  assign _T_30 = _T_29[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@194069.6]
  assign _T_31 = ~ _T_30; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@194070.6]
  assign _GEN_18 = {{20'd0}, _T_31}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@194071.6]
  assign _T_32 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@194071.6]
  assign _T_33 = _T_32 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@194072.6]
  assign _T_35 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194074.6]
  assign _T_36 = 2'h1 << _T_35; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@194075.6]
  assign _T_38 = _T_36 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@194077.6]
  assign _T_39 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@194078.6]
  assign _T_40 = _T_38[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@194079.6]
  assign _T_41 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@194080.6]
  assign _T_42 = _T_41 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@194081.6]
  assign _T_44 = _T_40 & _T_42; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@194083.6]
  assign _T_45 = _T_39 | _T_44; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@194084.6]
  assign _T_47 = _T_40 & _T_41; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@194086.6]
  assign _T_48 = _T_39 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@194087.6]
  assign _T_49 = _T_38[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@194088.6]
  assign _T_50 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@194089.6]
  assign _T_51 = _T_50 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@194090.6]
  assign _T_52 = _T_42 & _T_51; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194091.6]
  assign _T_53 = _T_49 & _T_52; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@194092.6]
  assign _T_54 = _T_45 | _T_53; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@194093.6]
  assign _T_55 = _T_42 & _T_50; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194094.6]
  assign _T_56 = _T_49 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@194095.6]
  assign _T_57 = _T_45 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@194096.6]
  assign _T_58 = _T_41 & _T_51; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194097.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@194098.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@194099.6]
  assign _T_61 = _T_41 & _T_50; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194100.6]
  assign _T_62 = _T_49 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@194101.6]
  assign _T_63 = _T_48 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@194102.6]
  assign _T_64 = {_T_57,_T_54}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@194103.6]
  assign _T_65 = {_T_63,_T_60}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@194104.6]
  assign _T_66 = {_T_65,_T_64}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@194105.6]
  assign _T_70 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194109.6]
  assign _T_78 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194121.6]
  assign _T_80 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194124.8]
  assign _T_81 = {1'b0,$signed(_T_80)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194125.8]
  assign _T_82 = $signed(_T_81) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194126.8]
  assign _T_83 = $signed(_T_82); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194127.8]
  assign _T_84 = $signed(_T_83) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194128.8]
  assign _T_85 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194129.8]
  assign _T_86 = {1'b0,$signed(_T_85)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194130.8]
  assign _T_87 = $signed(_T_86) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194131.8]
  assign _T_88 = $signed(_T_87); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194132.8]
  assign _T_89 = $signed(_T_88) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194133.8]
  assign _T_90 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194134.8]
  assign _T_91 = {1'b0,$signed(_T_90)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194135.8]
  assign _T_92 = $signed(_T_91) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194136.8]
  assign _T_93 = $signed(_T_92); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194137.8]
  assign _T_94 = $signed(_T_93) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194138.8]
  assign _T_95 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194139.8]
  assign _T_96 = {1'b0,$signed(_T_95)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194140.8]
  assign _T_97 = $signed(_T_96) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194141.8]
  assign _T_98 = $signed(_T_97); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194142.8]
  assign _T_99 = $signed(_T_98) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194143.8]
  assign _T_100 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194144.8]
  assign _T_101 = {1'b0,$signed(_T_100)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194145.8]
  assign _T_102 = $signed(_T_101) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194146.8]
  assign _T_103 = $signed(_T_102); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194147.8]
  assign _T_104 = $signed(_T_103) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194148.8]
  assign _T_105 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194149.8]
  assign _T_106 = {1'b0,$signed(_T_105)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194150.8]
  assign _T_107 = $signed(_T_106) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194151.8]
  assign _T_108 = $signed(_T_107); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194152.8]
  assign _T_109 = $signed(_T_108) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194153.8]
  assign _T_110 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194154.8]
  assign _T_111 = {1'b0,$signed(_T_110)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194155.8]
  assign _T_112 = $signed(_T_111) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194156.8]
  assign _T_113 = $signed(_T_112); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194157.8]
  assign _T_114 = $signed(_T_113) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194158.8]
  assign _T_115 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194159.8]
  assign _T_116 = {1'b0,$signed(_T_115)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194160.8]
  assign _T_117 = $signed(_T_116) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194161.8]
  assign _T_118 = $signed(_T_117); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194162.8]
  assign _T_119 = $signed(_T_118) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194163.8]
  assign _T_120 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194164.8]
  assign _T_121 = {1'b0,$signed(_T_120)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194165.8]
  assign _T_122 = $signed(_T_121) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194166.8]
  assign _T_123 = $signed(_T_122); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194167.8]
  assign _T_124 = $signed(_T_123) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194168.8]
  assign _T_125 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194169.8]
  assign _T_126 = {1'b0,$signed(_T_125)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194170.8]
  assign _T_127 = $signed(_T_126) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194171.8]
  assign _T_128 = $signed(_T_127); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194172.8]
  assign _T_129 = $signed(_T_128) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194173.8]
  assign _T_132 = $signed(_T_70) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194176.8]
  assign _T_133 = $signed(_T_132); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194177.8]
  assign _T_134 = $signed(_T_133) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194178.8]
  assign _T_135 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194179.8]
  assign _T_136 = {1'b0,$signed(_T_135)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194180.8]
  assign _T_137 = $signed(_T_136) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194181.8]
  assign _T_138 = $signed(_T_137); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194182.8]
  assign _T_139 = $signed(_T_138) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194183.8]
  assign _T_140 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194184.8]
  assign _T_141 = {1'b0,$signed(_T_140)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194185.8]
  assign _T_142 = $signed(_T_141) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194186.8]
  assign _T_143 = $signed(_T_142); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194187.8]
  assign _T_144 = $signed(_T_143) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194188.8]
  assign _T_145 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@194189.8]
  assign _T_146 = {1'b0,$signed(_T_145)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@194190.8]
  assign _T_147 = $signed(_T_146) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194191.8]
  assign _T_148 = $signed(_T_147); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@194192.8]
  assign _T_149 = $signed(_T_148) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@194193.8]
  assign _T_150 = _T_84 | _T_89; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194194.8]
  assign _T_151 = _T_150 | _T_94; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194195.8]
  assign _T_152 = _T_151 | _T_99; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194196.8]
  assign _T_153 = _T_152 | _T_104; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194197.8]
  assign _T_167 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194211.8]
  assign _T_176 = _T_39 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194232.8]
  assign _T_177 = _T_176 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194233.8]
  assign _T_179 = _T_33 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194239.8]
  assign _T_180 = _T_179 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194240.8]
  assign _T_181 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194245.8]
  assign _T_183 = _T_181 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194247.8]
  assign _T_184 = _T_183 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194248.8]
  assign _T_185 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@194253.8]
  assign _T_186 = _T_185 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@194254.8]
  assign _T_188 = _T_186 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194256.8]
  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194257.8]
  assign _T_194 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194271.6]
  assign _T_301 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@194403.8]
  assign _T_303 = _T_301 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194405.8]
  assign _T_304 = _T_303 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194406.8]
  assign _T_314 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194429.6]
  assign _T_316 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194432.8]
  assign _T_324 = _T_316 & _T_84; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@194440.8]
  assign _T_326 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194442.8]
  assign _T_394 = _T_89 | _T_94; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194510.8]
  assign _T_395 = _T_394 | _T_99; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194511.8]
  assign _T_396 = _T_395 | _T_104; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194512.8]
  assign _T_397 = _T_396 | _T_109; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194513.8]
  assign _T_398 = _T_397 | _T_114; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194514.8]
  assign _T_399 = _T_398 | _T_119; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194515.8]
  assign _T_400 = _T_399 | _T_124; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194516.8]
  assign _T_401 = _T_400 | _T_129; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194517.8]
  assign _T_402 = _T_401 | _T_134; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194518.8]
  assign _T_403 = _T_402 | _T_139; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194519.8]
  assign _T_404 = _T_403 | _T_144; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194520.8]
  assign _T_405 = _T_404 | _T_149; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194521.8]
  assign _T_406 = _T_326 & _T_405; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@194522.8]
  assign _T_408 = _T_324 | _T_406; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@194524.8]
  assign _T_410 = _T_408 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194526.8]
  assign _T_411 = _T_410 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194527.8]
  assign _T_418 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@194546.8]
  assign _T_420 = _T_418 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194548.8]
  assign _T_421 = _T_420 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194549.8]
  assign _T_422 = io_in_a_bits_mask == _T_66; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@194554.8]
  assign _T_424 = _T_422 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194556.8]
  assign _T_425 = _T_424 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194557.8]
  assign _T_430 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194571.6]
  assign _T_503 = _T_396 | _T_114; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194645.8]
  assign _T_504 = _T_503 | _T_119; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194646.8]
  assign _T_505 = _T_504 | _T_124; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194647.8]
  assign _T_506 = _T_505 | _T_129; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194648.8]
  assign _T_507 = _T_506 | _T_134; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194649.8]
  assign _T_508 = _T_507 | _T_139; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194650.8]
  assign _T_509 = _T_508 | _T_144; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194651.8]
  assign _T_510 = _T_326 & _T_509; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@194652.8]
  assign _T_525 = _T_324 | _T_510; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@194667.8]
  assign _T_528 = _T_525 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194670.8]
  assign _T_529 = _T_528 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194671.8]
  assign _T_544 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194707.6]
  assign _T_654 = ~ _T_66; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@194834.8]
  assign _T_655 = io_in_a_bits_mask & _T_654; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@194835.8]
  assign _T_656 = _T_655 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@194836.8]
  assign _T_658 = _T_656 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194838.8]
  assign _T_659 = _T_658 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194839.8]
  assign _T_660 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194845.6]
  assign _T_662 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194848.8]
  assign _T_729 = _T_153 | _T_114; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194915.8]
  assign _T_730 = _T_729 | _T_119; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194916.8]
  assign _T_731 = _T_730 | _T_124; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194917.8]
  assign _T_732 = _T_731 | _T_129; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194918.8]
  assign _T_733 = _T_732 | _T_134; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194919.8]
  assign _T_734 = _T_733 | _T_139; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194920.8]
  assign _T_735 = _T_734 | _T_144; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@194921.8]
  assign _T_736 = _T_662 & _T_735; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@194922.8]
  assign _T_753 = _T_736 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194939.8]
  assign _T_754 = _T_753 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194940.8]
  assign _T_761 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@194959.8]
  assign _T_763 = _T_761 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194961.8]
  assign _T_764 = _T_763 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194962.8]
  assign _T_769 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@194976.6]
  assign _T_870 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@195090.8]
  assign _T_872 = _T_870 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195092.8]
  assign _T_873 = _T_872 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195093.8]
  assign _T_878 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195107.6]
  assign _T_971 = _T_324 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195201.8]
  assign _T_972 = _T_971 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195202.8]
  assign _T_987 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@195240.6]
  assign _T_989 = _T_987 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195242.6]
  assign _T_990 = _T_989 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195243.6]
  assign _T_1000 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195253.6]
  assign _T_1004 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195262.8]
  assign _T_1006 = _T_1004 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195264.8]
  assign _T_1007 = _T_1006 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195265.8]
  assign _T_1008 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195270.8]
  assign _T_1010 = _T_1008 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195272.8]
  assign _T_1011 = _T_1010 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195273.8]
  assign _T_1012 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@195278.8]
  assign _T_1014 = _T_1012 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195280.8]
  assign _T_1015 = _T_1014 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195281.8]
  assign _T_1016 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@195286.8]
  assign _T_1018 = _T_1016 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195288.8]
  assign _T_1019 = _T_1018 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195289.8]
  assign _T_1020 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195295.6]
  assign _T_1031 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@195319.8]
  assign _T_1033 = _T_1031 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195321.8]
  assign _T_1034 = _T_1033 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195322.8]
  assign _T_1035 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195327.8]
  assign _T_1037 = _T_1035 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195329.8]
  assign _T_1038 = _T_1037 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195330.8]
  assign _T_1048 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195353.6]
  assign _T_1068 = _T_1016 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@195394.8]
  assign _T_1070 = _T_1068 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195396.8]
  assign _T_1071 = _T_1070 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195397.8]
  assign _T_1077 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195412.6]
  assign _T_1094 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195447.6]
  assign _T_1112 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195483.6]
  assign _T_1133 = io_in_c_valid == 1'h0; // @[Monitor.scala 342:15:shc.marmotcaravel.MarmotCaravelConfig.fir@195527.4]
  assign _T_1135 = _T_1133 | reset; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195529.4]
  assign _T_1136 = _T_1135 == 1'h0; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195530.4]
  assign _T_1137 = io_in_e_valid == 1'h0; // @[Monitor.scala 343:15:shc.marmotcaravel.MarmotCaravelConfig.fir@195535.4]
  assign _T_1139 = _T_1137 | reset; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195537.4]
  assign _T_1140 = _T_1139 == 1'h0; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195538.4]
  assign _T_1141 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195543.4]
  assign _T_1146 = _T_31[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@195548.4]
  assign _T_1147 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@195549.4]
  assign _T_1148 = _T_1147 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195550.4]
  assign _T_1152 = _T_1151 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195553.4]
  assign _T_1153 = $unsigned(_T_1152); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195554.4]
  assign _T_1154 = _T_1153[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195555.4]
  assign _T_1155 = _T_1151 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195556.4]
  assign _T_1173 = _T_1155 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195572.4]
  assign _T_1174 = io_in_a_valid & _T_1173; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@195573.4]
  assign _T_1175 = io_in_a_bits_opcode == _T_1164; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195575.6]
  assign _T_1177 = _T_1175 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195577.6]
  assign _T_1178 = _T_1177 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195578.6]
  assign _T_1179 = io_in_a_bits_param == _T_1166; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195583.6]
  assign _T_1181 = _T_1179 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195585.6]
  assign _T_1182 = _T_1181 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195586.6]
  assign _T_1183 = io_in_a_bits_size == _T_1168; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195591.6]
  assign _T_1185 = _T_1183 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195593.6]
  assign _T_1186 = _T_1185 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195594.6]
  assign _T_1191 = io_in_a_bits_address == _T_1172; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195607.6]
  assign _T_1193 = _T_1191 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195609.6]
  assign _T_1194 = _T_1193 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195610.6]
  assign _T_1196 = _T_1141 & _T_1155; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@195617.4]
  assign _T_1197 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195625.4]
  assign _T_1199 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@195627.4]
  assign _T_1200 = _T_1199[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@195628.4]
  assign _T_1201 = ~ _T_1200; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@195629.4]
  assign _T_1202 = _T_1201[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@195630.4]
  assign _T_1203 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@195631.4]
  assign _T_1207 = _T_1206 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195634.4]
  assign _T_1208 = $unsigned(_T_1207); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195635.4]
  assign _T_1209 = _T_1208[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195636.4]
  assign _T_1210 = _T_1206 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195637.4]
  assign _T_1230 = _T_1210 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@195654.4]
  assign _T_1231 = io_in_d_valid & _T_1230; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@195655.4]
  assign _T_1232 = io_in_d_bits_opcode == _T_1219; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195657.6]
  assign _T_1234 = _T_1232 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195659.6]
  assign _T_1235 = _T_1234 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195660.6]
  assign _T_1236 = io_in_d_bits_param == _T_1221; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195665.6]
  assign _T_1238 = _T_1236 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195667.6]
  assign _T_1239 = _T_1238 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195668.6]
  assign _T_1240 = io_in_d_bits_size == _T_1223; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195673.6]
  assign _T_1242 = _T_1240 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195675.6]
  assign _T_1243 = _T_1242 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195676.6]
  assign _T_1248 = io_in_d_bits_sink == _T_1227; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195689.6]
  assign _T_1250 = _T_1248 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195691.6]
  assign _T_1251 = _T_1250 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195692.6]
  assign _T_1252 = io_in_d_bits_denied == _T_1229; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@195697.6]
  assign _T_1254 = _T_1252 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195699.6]
  assign _T_1255 = _T_1254 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195700.6]
  assign _T_1257 = _T_1197 & _T_1210; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@195707.4]
  assign _T_1271 = _T_1270 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195727.4]
  assign _T_1272 = $unsigned(_T_1271); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195728.4]
  assign _T_1273 = _T_1272[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195729.4]
  assign _T_1274 = _T_1270 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195730.4]
  assign _T_1292 = _T_1291 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195750.4]
  assign _T_1293 = $unsigned(_T_1292); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195751.4]
  assign _T_1294 = _T_1293[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@195752.4]
  assign _T_1295 = _T_1291 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@195753.4]
  assign _T_1306 = _T_1141 & _T_1274; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195768.4]
  assign _T_1308 = 2'h1 << 1'h0; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@195771.6]
  assign _T_1309 = _T_1259 >> 1'h0; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@195773.6]
  assign _T_1311 = _T_1309 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195775.6]
  assign _T_1313 = _T_1311 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195777.6]
  assign _T_1314 = _T_1313 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195778.6]
  assign _GEN_15 = _T_1306 ? _T_1308 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@195770.4]
  assign _T_1319 = _T_1197 & _T_1295; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195789.4]
  assign _T_1321 = _T_1000 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@195791.4]
  assign _T_1322 = _T_1319 & _T_1321; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@195792.4]
  assign _T_1304 = _GEN_15[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195764.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@195766.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195772.6]
  assign _T_1324 = _T_1304 | _T_1259; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@195796.6]
  assign _T_1325 = _T_1324 >> 1'h0; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@195797.6]
  assign _T_1328 = _T_1325 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195800.6]
  assign _T_1329 = _T_1328 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195801.6]
  assign _GEN_16 = _T_1322 ? _T_1308 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@195793.4]
  assign _T_1316 = _GEN_16[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195784.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@195786.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195795.6]
  assign _T_1330 = _T_1304 != _T_1316; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@195807.4]
  assign _T_1332 = _T_1304 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@195809.4]
  assign _T_1333 = _T_1330 | _T_1332; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@195810.4]
  assign _T_1335 = _T_1333 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195812.4]
  assign _T_1336 = _T_1335 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195813.4]
  assign _T_1337 = _T_1259 | _T_1304; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195818.4]
  assign _T_1338 = ~ _T_1316; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@195819.4]
  assign _T_1339 = _T_1337 & _T_1338; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@195820.4]
  assign _T_1343 = _T_1259 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195826.4]
  assign _T_1344 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@195827.4]
  assign _T_1345 = _T_1343 | _T_1344; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195828.4]
  assign _T_1346 = _T_1341 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@195829.4]
  assign _T_1347 = _T_1345 | _T_1346; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@195830.4]
  assign _T_1349 = _T_1347 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195832.4]
  assign _T_1350 = _T_1349 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195833.4]
  assign _T_1352 = _T_1341 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@195839.4]
  assign _T_1355 = _T_1141 | _T_1197; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@195843.4]
  assign _GEN_19 = io_in_a_valid & _T_78; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194213.10]
  assign _GEN_31 = io_in_a_valid & _T_194; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194363.10]
  assign _GEN_45 = io_in_a_valid & _T_314; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194529.10]
  assign _GEN_53 = io_in_a_valid & _T_430; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194673.10]
  assign _GEN_61 = io_in_a_valid & _T_544; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194809.10]
  assign _GEN_69 = io_in_a_valid & _T_660; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194942.10]
  assign _GEN_77 = io_in_a_valid & _T_769; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195073.10]
  assign _GEN_85 = io_in_a_valid & _T_878; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195204.10]
  assign _GEN_91 = io_in_d_valid & _T_1000; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195267.10]
  assign _GEN_99 = io_in_d_valid & _T_1020; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195308.10]
  assign _GEN_109 = io_in_d_valid & _T_1048; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195366.10]
  assign _GEN_119 = io_in_d_valid & _T_1077; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195426.10]
  assign _GEN_123 = io_in_d_valid & _T_1094; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195461.10]
  assign _GEN_127 = io_in_d_valid & _T_1112; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195497.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_1151 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1164 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1166 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1168 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1172 = _RAND_4[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1206 = _RAND_5[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1219 = _RAND_6[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1221 = _RAND_7[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1223 = _RAND_8[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1227 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1229 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1259 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1270 = _RAND_12[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1291 = _RAND_13[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1341 = _RAND_14[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1151 <= 10'h0;
    end else begin
      if (_T_1141) begin
        if (_T_1155) begin
          if (_T_1148) begin
            _T_1151 <= _T_1146;
          end else begin
            _T_1151 <= 10'h0;
          end
        end else begin
          _T_1151 <= _T_1154;
        end
      end
    end
    if (_T_1196) begin
      _T_1164 <= io_in_a_bits_opcode;
    end
    if (_T_1196) begin
      _T_1166 <= io_in_a_bits_param;
    end
    if (_T_1196) begin
      _T_1168 <= io_in_a_bits_size;
    end
    if (_T_1196) begin
      _T_1172 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1206 <= 10'h0;
    end else begin
      if (_T_1197) begin
        if (_T_1210) begin
          if (_T_1203) begin
            _T_1206 <= _T_1202;
          end else begin
            _T_1206 <= 10'h0;
          end
        end else begin
          _T_1206 <= _T_1209;
        end
      end
    end
    if (_T_1257) begin
      _T_1219 <= io_in_d_bits_opcode;
    end
    if (_T_1257) begin
      _T_1221 <= io_in_d_bits_param;
    end
    if (_T_1257) begin
      _T_1223 <= io_in_d_bits_size;
    end
    if (_T_1257) begin
      _T_1227 <= io_in_d_bits_sink;
    end
    if (_T_1257) begin
      _T_1229 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1259 <= 1'h0;
    end else begin
      _T_1259 <= _T_1339;
    end
    if (reset) begin
      _T_1270 <= 10'h0;
    end else begin
      if (_T_1141) begin
        if (_T_1274) begin
          if (_T_1148) begin
            _T_1270 <= _T_1146;
          end else begin
            _T_1270 <= 10'h0;
          end
        end else begin
          _T_1270 <= _T_1273;
        end
      end
    end
    if (reset) begin
      _T_1291 <= 10'h0;
    end else begin
      if (_T_1197) begin
        if (_T_1295) begin
          if (_T_1203) begin
            _T_1291 <= _T_1202;
          end else begin
            _T_1291 <= 10'h0;
          end
        end else begin
          _T_1291 <= _T_1294;
        end
      end
    end
    if (reset) begin
      _T_1341 <= 32'h0;
    end else begin
      if (_T_1355) begin
        _T_1341 <= 32'h0;
      end else begin
        _T_1341 <= _T_1352;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at HellaCache.scala:220:21)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@194060.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@194061.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@194118.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@194119.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_167) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at HellaCache.scala:220:21)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194213.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_167) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194214.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_167) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at HellaCache.scala:220:21)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194220.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_167) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194221.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194227.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194228.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_177) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at HellaCache.scala:220:21)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194235.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_177) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194236.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_180) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at HellaCache.scala:220:21)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194242.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_180) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194243.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194250.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_184) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194251.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at HellaCache.scala:220:21)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194259.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194260.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at HellaCache.scala:220:21)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194267.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194268.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_31 & _T_167) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at HellaCache.scala:220:21)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194363.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_31 & _T_167) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194364.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_31 & _T_167) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at HellaCache.scala:220:21)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194370.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_31 & _T_167) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194371.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194377.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194378.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_31 & _T_177) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at HellaCache.scala:220:21)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194385.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_31 & _T_177) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194386.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_31 & _T_180) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at HellaCache.scala:220:21)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194392.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_31 & _T_180) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194393.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_31 & _T_184) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194400.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_31 & _T_184) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194401.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_31 & _T_304) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at HellaCache.scala:220:21)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194408.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_31 & _T_304) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194409.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_31 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at HellaCache.scala:220:21)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194417.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_31 & _T_189) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194418.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at HellaCache.scala:220:21)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194425.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194426.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_45 & _T_411) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at HellaCache.scala:220:21)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194529.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_45 & _T_411) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194530.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194536.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194537.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_45 & _T_180) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at HellaCache.scala:220:21)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194543.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_45 & _T_180) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194544.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_45 & _T_421) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194551.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_45 & _T_421) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194552.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_45 & _T_425) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at HellaCache.scala:220:21)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194559.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_45 & _T_425) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194560.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at HellaCache.scala:220:21)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194567.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194568.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_529) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at HellaCache.scala:220:21)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194673.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_529) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194674.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194680.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194681.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_180) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at HellaCache.scala:220:21)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194687.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_180) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194688.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_421) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194695.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_421) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194696.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_425) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at HellaCache.scala:220:21)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194703.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_425) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194704.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_61 & _T_529) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at HellaCache.scala:220:21)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194809.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_61 & _T_529) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194810.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194816.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194817.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_61 & _T_180) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at HellaCache.scala:220:21)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194823.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_61 & _T_180) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194824.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_61 & _T_421) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194831.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_61 & _T_421) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194832.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_61 & _T_659) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at HellaCache.scala:220:21)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194841.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_61 & _T_659) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194842.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_69 & _T_754) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at HellaCache.scala:220:21)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194942.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_69 & _T_754) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194943.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194949.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194950.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_69 & _T_180) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at HellaCache.scala:220:21)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194956.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_69 & _T_180) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194957.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_69 & _T_764) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194964.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_69 & _T_764) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194965.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_69 & _T_425) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at HellaCache.scala:220:21)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194972.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_69 & _T_425) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@194973.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_77 & _T_754) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at HellaCache.scala:220:21)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195073.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_77 & _T_754) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195074.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195080.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195081.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_77 & _T_180) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at HellaCache.scala:220:21)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195087.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_77 & _T_180) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195088.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_77 & _T_873) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195095.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_77 & _T_873) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195096.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_77 & _T_425) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at HellaCache.scala:220:21)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195103.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_77 & _T_425) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195104.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_972) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at HellaCache.scala:220:21)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195204.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_972) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195205.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195211.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195212.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_180) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at HellaCache.scala:220:21)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195218.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_180) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195219.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_425) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at HellaCache.scala:220:21)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195226.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_425) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195227.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at HellaCache.scala:220:21)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195234.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195235.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_990) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at HellaCache.scala:220:21)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195245.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_990) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195246.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195259.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195260.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_1007) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at HellaCache.scala:220:21)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195267.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_1007) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195268.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_1011) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195275.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_1011) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195276.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_1015) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at HellaCache.scala:220:21)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195283.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_1015) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195284.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_1019) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at HellaCache.scala:220:21)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195291.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_1019) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195292.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195301.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195302.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_167) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195308.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_167) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195309.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_1007) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at HellaCache.scala:220:21)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195316.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_1007) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195317.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_1034) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195324.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_1034) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195325.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_1038) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195332.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_1038) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195333.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_1015) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at HellaCache.scala:220:21)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195340.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_1015) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195341.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at HellaCache.scala:220:21)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195349.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195350.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195359.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195360.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_109 & _T_167) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195366.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_109 & _T_167) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195367.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_109 & _T_1007) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at HellaCache.scala:220:21)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195374.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_109 & _T_1007) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195375.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_109 & _T_1034) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195382.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_109 & _T_1034) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195383.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_109 & _T_1038) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195390.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_109 & _T_1038) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195391.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_109 & _T_1071) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at HellaCache.scala:220:21)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195399.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_109 & _T_1071) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195400.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at HellaCache.scala:220:21)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195408.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195409.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195418.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195419.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_1011) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195426.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_1011) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195427.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_119 & _T_1015) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at HellaCache.scala:220:21)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195434.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_119 & _T_1015) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195435.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at HellaCache.scala:220:21)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195443.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195444.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195453.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195454.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_123 & _T_1011) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195461.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_123 & _T_1011) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195462.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_123 & _T_1071) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at HellaCache.scala:220:21)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195470.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_123 & _T_1071) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195471.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at HellaCache.scala:220:21)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195479.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195480.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195489.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195490.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_127 & _T_1011) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at HellaCache.scala:220:21)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195497.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_127 & _T_1011) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195498.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_127 & _T_1015) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at HellaCache.scala:220:21)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195505.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_127 & _T_1015) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195506.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at HellaCache.scala:220:21)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195514.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195515.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at HellaCache.scala:220:21)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195524.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195525.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1136) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at HellaCache.scala:220:21)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195532.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1136) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195533.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1140) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at HellaCache.scala:220:21)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195540.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1140) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195541.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1174 & _T_1178) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at HellaCache.scala:220:21)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195580.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1174 & _T_1178) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195581.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1174 & _T_1182) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at HellaCache.scala:220:21)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195588.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1174 & _T_1182) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195589.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1174 & _T_1186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at HellaCache.scala:220:21)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195596.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1174 & _T_1186) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195597.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at HellaCache.scala:220:21)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195604.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195605.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1174 & _T_1194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at HellaCache.scala:220:21)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195612.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1174 & _T_1194) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195613.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1231 & _T_1235) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at HellaCache.scala:220:21)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195662.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1231 & _T_1235) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195663.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1231 & _T_1239) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at HellaCache.scala:220:21)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195670.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1231 & _T_1239) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195671.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1231 & _T_1243) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at HellaCache.scala:220:21)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195678.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1231 & _T_1243) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195679.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at HellaCache.scala:220:21)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195686.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195687.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1231 & _T_1251) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at HellaCache.scala:220:21)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195694.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1231 & _T_1251) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195695.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1231 & _T_1255) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at HellaCache.scala:220:21)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195702.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1231 & _T_1255) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@195703.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1306 & _T_1314) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at HellaCache.scala:220:21)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195780.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1306 & _T_1314) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195781.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1322 & _T_1329) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at HellaCache.scala:220:21)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195803.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1322 & _T_1329) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195804.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1336) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 4 (connected at HellaCache.scala:220:21)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195815.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1336) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@195816.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1350) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at HellaCache.scala:220:21)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195835.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1350) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195836.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_54( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195855.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195856.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195857.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195858.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195858.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195858.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195858.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195858.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195858.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195858.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195858.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195858.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195858.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@195858.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@197633.4]
  wire [26:0] _T_29; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@195878.6]
  wire [11:0] _T_30; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@195879.6]
  wire [11:0] _T_31; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@195880.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@195881.6]
  wire [31:0] _T_32; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@195881.6]
  wire  _T_33; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@195882.6]
  wire [1:0] _T_36; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195885.6]
  wire [32:0] _T_70; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195919.6]
  wire [31:0] _T_80; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195934.8]
  wire [32:0] _T_81; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195935.8]
  wire [32:0] _T_82; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195936.8]
  wire [32:0] _T_83; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195937.8]
  wire  _T_84; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195938.8]
  wire [31:0] _T_85; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195939.8]
  wire [32:0] _T_86; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195940.8]
  wire [32:0] _T_87; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195941.8]
  wire [32:0] _T_88; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195942.8]
  wire  _T_89; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195943.8]
  wire [31:0] _T_90; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195944.8]
  wire [32:0] _T_91; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195945.8]
  wire [32:0] _T_92; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195946.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195947.8]
  wire  _T_94; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195948.8]
  wire [31:0] _T_95; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195949.8]
  wire [32:0] _T_96; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195950.8]
  wire [32:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195951.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195952.8]
  wire  _T_99; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195953.8]
  wire [31:0] _T_100; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195954.8]
  wire [32:0] _T_101; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195955.8]
  wire [32:0] _T_102; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195956.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195957.8]
  wire  _T_104; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195958.8]
  wire [31:0] _T_105; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195959.8]
  wire [32:0] _T_106; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195960.8]
  wire [32:0] _T_107; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195961.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195962.8]
  wire  _T_109; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195963.8]
  wire [31:0] _T_110; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195964.8]
  wire [32:0] _T_111; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195965.8]
  wire [32:0] _T_112; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195966.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195967.8]
  wire  _T_114; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195968.8]
  wire [31:0] _T_115; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195969.8]
  wire [32:0] _T_116; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195970.8]
  wire [32:0] _T_117; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195971.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195972.8]
  wire  _T_119; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195973.8]
  wire [31:0] _T_120; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195974.8]
  wire [32:0] _T_121; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195975.8]
  wire [32:0] _T_122; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195976.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195977.8]
  wire  _T_124; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195978.8]
  wire [31:0] _T_125; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195979.8]
  wire [32:0] _T_126; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195980.8]
  wire [32:0] _T_127; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195981.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195982.8]
  wire  _T_129; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195983.8]
  wire [32:0] _T_132; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195986.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195987.8]
  wire  _T_134; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195988.8]
  wire [31:0] _T_135; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195989.8]
  wire [32:0] _T_136; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195990.8]
  wire [32:0] _T_137; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195991.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195992.8]
  wire  _T_139; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195993.8]
  wire [31:0] _T_140; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195994.8]
  wire [32:0] _T_141; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195995.8]
  wire [32:0] _T_142; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195996.8]
  wire [32:0] _T_143; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195997.8]
  wire  _T_144; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195998.8]
  wire [31:0] _T_145; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195999.8]
  wire [32:0] _T_146; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@196000.8]
  wire [32:0] _T_147; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@196001.8]
  wire [32:0] _T_148; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@196002.8]
  wire  _T_149; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@196003.8]
  wire  _T_167; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196021.8]
  wire  _T_179; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196049.8]
  wire  _T_180; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196050.8]
  wire  _T_394; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196320.8]
  wire  _T_395; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196321.8]
  wire  _T_396; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196322.8]
  wire  _T_397; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196323.8]
  wire  _T_398; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196324.8]
  wire  _T_399; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196325.8]
  wire  _T_400; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196326.8]
  wire  _T_401; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196327.8]
  wire  _T_402; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196328.8]
  wire  _T_403; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196329.8]
  wire  _T_404; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196330.8]
  wire  _T_405; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196331.8]
  wire  _T_408; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@196334.8]
  wire  _T_410; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196336.8]
  wire  _T_411; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196337.8]
  wire  _T_987; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@197050.6]
  wire  _T_989; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197052.6]
  wire  _T_990; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197053.6]
  wire  _T_1000; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197063.6]
  wire  _T_1004; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197072.8]
  wire  _T_1006; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197074.8]
  wire  _T_1007; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197075.8]
  wire  _T_1008; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197080.8]
  wire  _T_1010; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197082.8]
  wire  _T_1011; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197083.8]
  wire  _T_1012; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@197088.8]
  wire  _T_1014; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197090.8]
  wire  _T_1015; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197091.8]
  wire  _T_1016; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@197096.8]
  wire  _T_1018; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197098.8]
  wire  _T_1019; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197099.8]
  wire  _T_1020; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197105.6]
  wire  _T_1031; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@197129.8]
  wire  _T_1033; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197131.8]
  wire  _T_1034; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197132.8]
  wire  _T_1035; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197137.8]
  wire  _T_1037; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197139.8]
  wire  _T_1038; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197140.8]
  wire  _T_1048; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197163.6]
  wire  _T_1068; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@197204.8]
  wire  _T_1070; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197206.8]
  wire  _T_1071; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197207.8]
  wire  _T_1077; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197222.6]
  wire  _T_1094; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197257.6]
  wire  _T_1112; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197293.6]
  wire  _T_1141; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197353.4]
  reg [9:0] _T_1151; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197362.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1152; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197363.4]
  wire [10:0] _T_1153; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197364.4]
  wire [9:0] _T_1154; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197365.4]
  wire  _T_1155; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197366.4]
  reg [31:0] _T_1172; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197381.4]
  reg [31:0] _RAND_1;
  wire  _T_1173; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197382.4]
  wire  _T_1174; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197383.4]
  wire  _T_1191; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197417.6]
  wire  _T_1193; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197419.6]
  wire  _T_1194; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197420.6]
  wire  _T_1196; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@197427.4]
  wire  _T_1197; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197435.4]
  wire [26:0] _T_1199; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@197437.4]
  wire [11:0] _T_1200; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@197438.4]
  wire [11:0] _T_1201; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@197439.4]
  wire [9:0] _T_1202; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@197440.4]
  wire  _T_1203; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@197441.4]
  reg [9:0] _T_1206; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197443.4]
  reg [31:0] _RAND_2;
  wire [10:0] _T_1207; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197444.4]
  wire [10:0] _T_1208; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197445.4]
  wire [9:0] _T_1209; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197446.4]
  wire  _T_1210; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197447.4]
  reg [2:0] _T_1219; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197458.4]
  reg [31:0] _RAND_3;
  reg [1:0] _T_1221; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197459.4]
  reg [31:0] _RAND_4;
  reg [3:0] _T_1223; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197460.4]
  reg [31:0] _RAND_5;
  reg  _T_1227; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197462.4]
  reg [31:0] _RAND_6;
  reg  _T_1229; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197463.4]
  reg [31:0] _RAND_7;
  wire  _T_1230; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197464.4]
  wire  _T_1231; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197465.4]
  wire  _T_1232; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197467.6]
  wire  _T_1234; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197469.6]
  wire  _T_1235; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197470.6]
  wire  _T_1236; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197475.6]
  wire  _T_1238; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197477.6]
  wire  _T_1239; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197478.6]
  wire  _T_1240; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197483.6]
  wire  _T_1242; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197485.6]
  wire  _T_1243; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197486.6]
  wire  _T_1248; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197499.6]
  wire  _T_1250; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197501.6]
  wire  _T_1251; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197502.6]
  wire  _T_1252; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197507.6]
  wire  _T_1254; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197509.6]
  wire  _T_1255; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197510.6]
  wire  _T_1257; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@197517.4]
  reg  _T_1259; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197526.4]
  reg [31:0] _RAND_8;
  reg [9:0] _T_1270; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197536.4]
  reg [31:0] _RAND_9;
  wire [10:0] _T_1271; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197537.4]
  wire [10:0] _T_1272; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197538.4]
  wire [9:0] _T_1273; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197539.4]
  wire  _T_1274; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197540.4]
  reg [9:0] _T_1291; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197559.4]
  reg [31:0] _RAND_10;
  wire [10:0] _T_1292; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197560.4]
  wire [10:0] _T_1293; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197561.4]
  wire [9:0] _T_1294; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197562.4]
  wire  _T_1295; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197563.4]
  wire  _T_1306; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197578.4]
  wire  _T_1309; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@197583.6]
  wire  _T_1311; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197585.6]
  wire  _T_1313; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197587.6]
  wire  _T_1314; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197588.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@197580.4]
  wire  _T_1319; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197599.4]
  wire  _T_1321; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@197601.4]
  wire  _T_1322; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@197602.4]
  wire  _T_1304; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197574.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@197576.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197582.6]
  wire  _T_1324; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@197606.6]
  wire  _T_1325; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@197607.6]
  wire  _T_1328; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197610.6]
  wire  _T_1329; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197611.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@197603.4]
  wire  _T_1316; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197594.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@197596.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197605.6]
  wire  _T_1330; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@197617.4]
  wire  _T_1332; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@197619.4]
  wire  _T_1333; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@197620.4]
  wire  _T_1335; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197622.4]
  wire  _T_1336; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197623.4]
  wire  _T_1337; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197628.4]
  wire  _T_1338; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@197629.4]
  wire  _T_1339; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@197630.4]
  reg [31:0] _T_1341; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197632.4]
  reg [31:0] _RAND_11;
  wire  _T_1343; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197636.4]
  wire  _T_1344; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@197637.4]
  wire  _T_1345; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197638.4]
  wire  _T_1346; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@197639.4]
  wire  _T_1347; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@197640.4]
  wire  _T_1349; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197642.4]
  wire  _T_1350; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197643.4]
  wire [31:0] _T_1352; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@197649.4]
  wire  _T_1355; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197653.4]
  wire  _GEN_19; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197077.10]
  wire  _GEN_27; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197118.10]
  wire  _GEN_37; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197176.10]
  wire  _GEN_47; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197236.10]
  wire  _GEN_51; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197271.10]
  wire  _GEN_55; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197307.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@197633.4]
    .out(plusarg_reader_out)
  );
  assign _T_29 = 27'hfff << 4'h6; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@195878.6]
  assign _T_30 = _T_29[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@195879.6]
  assign _T_31 = ~ _T_30; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@195880.6]
  assign _GEN_18 = {{20'd0}, _T_31}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@195881.6]
  assign _T_32 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@195881.6]
  assign _T_33 = _T_32 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@195882.6]
  assign _T_36 = 2'h1 << 1'h0; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195885.6]
  assign _T_70 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195919.6]
  assign _T_80 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195934.8]
  assign _T_81 = {1'b0,$signed(_T_80)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195935.8]
  assign _T_82 = $signed(_T_81) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195936.8]
  assign _T_83 = $signed(_T_82); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195937.8]
  assign _T_84 = $signed(_T_83) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195938.8]
  assign _T_85 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195939.8]
  assign _T_86 = {1'b0,$signed(_T_85)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195940.8]
  assign _T_87 = $signed(_T_86) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195941.8]
  assign _T_88 = $signed(_T_87); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195942.8]
  assign _T_89 = $signed(_T_88) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195943.8]
  assign _T_90 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195944.8]
  assign _T_91 = {1'b0,$signed(_T_90)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195945.8]
  assign _T_92 = $signed(_T_91) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195946.8]
  assign _T_93 = $signed(_T_92); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195947.8]
  assign _T_94 = $signed(_T_93) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195948.8]
  assign _T_95 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195949.8]
  assign _T_96 = {1'b0,$signed(_T_95)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195950.8]
  assign _T_97 = $signed(_T_96) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195951.8]
  assign _T_98 = $signed(_T_97); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195952.8]
  assign _T_99 = $signed(_T_98) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195953.8]
  assign _T_100 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195954.8]
  assign _T_101 = {1'b0,$signed(_T_100)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195955.8]
  assign _T_102 = $signed(_T_101) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195956.8]
  assign _T_103 = $signed(_T_102); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195957.8]
  assign _T_104 = $signed(_T_103) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195958.8]
  assign _T_105 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195959.8]
  assign _T_106 = {1'b0,$signed(_T_105)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195960.8]
  assign _T_107 = $signed(_T_106) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195961.8]
  assign _T_108 = $signed(_T_107); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195962.8]
  assign _T_109 = $signed(_T_108) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195963.8]
  assign _T_110 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195964.8]
  assign _T_111 = {1'b0,$signed(_T_110)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195965.8]
  assign _T_112 = $signed(_T_111) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195966.8]
  assign _T_113 = $signed(_T_112); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195967.8]
  assign _T_114 = $signed(_T_113) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195968.8]
  assign _T_115 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195969.8]
  assign _T_116 = {1'b0,$signed(_T_115)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195970.8]
  assign _T_117 = $signed(_T_116) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195971.8]
  assign _T_118 = $signed(_T_117); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195972.8]
  assign _T_119 = $signed(_T_118) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195973.8]
  assign _T_120 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195974.8]
  assign _T_121 = {1'b0,$signed(_T_120)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195975.8]
  assign _T_122 = $signed(_T_121) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195976.8]
  assign _T_123 = $signed(_T_122); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195977.8]
  assign _T_124 = $signed(_T_123) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195978.8]
  assign _T_125 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195979.8]
  assign _T_126 = {1'b0,$signed(_T_125)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195980.8]
  assign _T_127 = $signed(_T_126) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195981.8]
  assign _T_128 = $signed(_T_127); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195982.8]
  assign _T_129 = $signed(_T_128) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195983.8]
  assign _T_132 = $signed(_T_70) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195986.8]
  assign _T_133 = $signed(_T_132); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195987.8]
  assign _T_134 = $signed(_T_133) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195988.8]
  assign _T_135 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195989.8]
  assign _T_136 = {1'b0,$signed(_T_135)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195990.8]
  assign _T_137 = $signed(_T_136) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195991.8]
  assign _T_138 = $signed(_T_137); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195992.8]
  assign _T_139 = $signed(_T_138) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195993.8]
  assign _T_140 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195994.8]
  assign _T_141 = {1'b0,$signed(_T_140)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@195995.8]
  assign _T_142 = $signed(_T_141) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195996.8]
  assign _T_143 = $signed(_T_142); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@195997.8]
  assign _T_144 = $signed(_T_143) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@195998.8]
  assign _T_145 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@195999.8]
  assign _T_146 = {1'b0,$signed(_T_145)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@196000.8]
  assign _T_147 = $signed(_T_146) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@196001.8]
  assign _T_148 = $signed(_T_147); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@196002.8]
  assign _T_149 = $signed(_T_148) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@196003.8]
  assign _T_167 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196021.8]
  assign _T_179 = _T_33 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196049.8]
  assign _T_180 = _T_179 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196050.8]
  assign _T_394 = _T_89 | _T_94; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196320.8]
  assign _T_395 = _T_394 | _T_99; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196321.8]
  assign _T_396 = _T_395 | _T_104; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196322.8]
  assign _T_397 = _T_396 | _T_109; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196323.8]
  assign _T_398 = _T_397 | _T_114; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196324.8]
  assign _T_399 = _T_398 | _T_119; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196325.8]
  assign _T_400 = _T_399 | _T_124; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196326.8]
  assign _T_401 = _T_400 | _T_129; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196327.8]
  assign _T_402 = _T_401 | _T_134; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196328.8]
  assign _T_403 = _T_402 | _T_139; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196329.8]
  assign _T_404 = _T_403 | _T_144; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196330.8]
  assign _T_405 = _T_404 | _T_149; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@196331.8]
  assign _T_408 = _T_84 | _T_405; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@196334.8]
  assign _T_410 = _T_408 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196336.8]
  assign _T_411 = _T_410 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196337.8]
  assign _T_987 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@197050.6]
  assign _T_989 = _T_987 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197052.6]
  assign _T_990 = _T_989 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197053.6]
  assign _T_1000 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197063.6]
  assign _T_1004 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197072.8]
  assign _T_1006 = _T_1004 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197074.8]
  assign _T_1007 = _T_1006 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197075.8]
  assign _T_1008 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197080.8]
  assign _T_1010 = _T_1008 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197082.8]
  assign _T_1011 = _T_1010 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197083.8]
  assign _T_1012 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@197088.8]
  assign _T_1014 = _T_1012 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197090.8]
  assign _T_1015 = _T_1014 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197091.8]
  assign _T_1016 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@197096.8]
  assign _T_1018 = _T_1016 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197098.8]
  assign _T_1019 = _T_1018 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197099.8]
  assign _T_1020 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197105.6]
  assign _T_1031 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@197129.8]
  assign _T_1033 = _T_1031 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197131.8]
  assign _T_1034 = _T_1033 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197132.8]
  assign _T_1035 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197137.8]
  assign _T_1037 = _T_1035 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197139.8]
  assign _T_1038 = _T_1037 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197140.8]
  assign _T_1048 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197163.6]
  assign _T_1068 = _T_1016 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@197204.8]
  assign _T_1070 = _T_1068 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197206.8]
  assign _T_1071 = _T_1070 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197207.8]
  assign _T_1077 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197222.6]
  assign _T_1094 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197257.6]
  assign _T_1112 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197293.6]
  assign _T_1141 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197353.4]
  assign _T_1152 = _T_1151 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197363.4]
  assign _T_1153 = $unsigned(_T_1152); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197364.4]
  assign _T_1154 = _T_1153[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197365.4]
  assign _T_1155 = _T_1151 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197366.4]
  assign _T_1173 = _T_1155 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197382.4]
  assign _T_1174 = io_in_a_valid & _T_1173; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197383.4]
  assign _T_1191 = io_in_a_bits_address == _T_1172; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197417.6]
  assign _T_1193 = _T_1191 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197419.6]
  assign _T_1194 = _T_1193 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197420.6]
  assign _T_1196 = _T_1141 & _T_1155; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@197427.4]
  assign _T_1197 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197435.4]
  assign _T_1199 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@197437.4]
  assign _T_1200 = _T_1199[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@197438.4]
  assign _T_1201 = ~ _T_1200; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@197439.4]
  assign _T_1202 = _T_1201[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@197440.4]
  assign _T_1203 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@197441.4]
  assign _T_1207 = _T_1206 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197444.4]
  assign _T_1208 = $unsigned(_T_1207); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197445.4]
  assign _T_1209 = _T_1208[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197446.4]
  assign _T_1210 = _T_1206 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197447.4]
  assign _T_1230 = _T_1210 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@197464.4]
  assign _T_1231 = io_in_d_valid & _T_1230; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197465.4]
  assign _T_1232 = io_in_d_bits_opcode == _T_1219; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197467.6]
  assign _T_1234 = _T_1232 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197469.6]
  assign _T_1235 = _T_1234 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197470.6]
  assign _T_1236 = io_in_d_bits_param == _T_1221; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197475.6]
  assign _T_1238 = _T_1236 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197477.6]
  assign _T_1239 = _T_1238 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197478.6]
  assign _T_1240 = io_in_d_bits_size == _T_1223; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197483.6]
  assign _T_1242 = _T_1240 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197485.6]
  assign _T_1243 = _T_1242 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197486.6]
  assign _T_1248 = io_in_d_bits_sink == _T_1227; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197499.6]
  assign _T_1250 = _T_1248 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197501.6]
  assign _T_1251 = _T_1250 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197502.6]
  assign _T_1252 = io_in_d_bits_denied == _T_1229; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197507.6]
  assign _T_1254 = _T_1252 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197509.6]
  assign _T_1255 = _T_1254 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197510.6]
  assign _T_1257 = _T_1197 & _T_1210; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@197517.4]
  assign _T_1271 = _T_1270 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197537.4]
  assign _T_1272 = $unsigned(_T_1271); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197538.4]
  assign _T_1273 = _T_1272[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197539.4]
  assign _T_1274 = _T_1270 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197540.4]
  assign _T_1292 = _T_1291 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197560.4]
  assign _T_1293 = $unsigned(_T_1292); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197561.4]
  assign _T_1294 = _T_1293[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197562.4]
  assign _T_1295 = _T_1291 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197563.4]
  assign _T_1306 = _T_1141 & _T_1274; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197578.4]
  assign _T_1309 = _T_1259 >> 1'h0; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@197583.6]
  assign _T_1311 = _T_1309 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197585.6]
  assign _T_1313 = _T_1311 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197587.6]
  assign _T_1314 = _T_1313 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197588.6]
  assign _GEN_15 = _T_1306 ? _T_36 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@197580.4]
  assign _T_1319 = _T_1197 & _T_1295; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197599.4]
  assign _T_1321 = _T_1000 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@197601.4]
  assign _T_1322 = _T_1319 & _T_1321; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@197602.4]
  assign _T_1304 = _GEN_15[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197574.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@197576.4 Monitor.scala 459:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197582.6]
  assign _T_1324 = _T_1304 | _T_1259; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@197606.6]
  assign _T_1325 = _T_1324 >> 1'h0; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@197607.6]
  assign _T_1328 = _T_1325 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197610.6]
  assign _T_1329 = _T_1328 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197611.6]
  assign _GEN_16 = _T_1322 ? _T_36 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@197603.4]
  assign _T_1316 = _GEN_16[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197594.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@197596.4 Monitor.scala 466:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197605.6]
  assign _T_1330 = _T_1304 != _T_1316; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@197617.4]
  assign _T_1332 = _T_1304 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@197619.4]
  assign _T_1333 = _T_1330 | _T_1332; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@197620.4]
  assign _T_1335 = _T_1333 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197622.4]
  assign _T_1336 = _T_1335 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197623.4]
  assign _T_1337 = _T_1259 | _T_1304; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197628.4]
  assign _T_1338 = ~ _T_1316; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@197629.4]
  assign _T_1339 = _T_1337 & _T_1338; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@197630.4]
  assign _T_1343 = _T_1259 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197636.4]
  assign _T_1344 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@197637.4]
  assign _T_1345 = _T_1343 | _T_1344; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197638.4]
  assign _T_1346 = _T_1341 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@197639.4]
  assign _T_1347 = _T_1345 | _T_1346; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@197640.4]
  assign _T_1349 = _T_1347 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197642.4]
  assign _T_1350 = _T_1349 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197643.4]
  assign _T_1352 = _T_1341 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@197649.4]
  assign _T_1355 = _T_1141 | _T_1197; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197653.4]
  assign _GEN_19 = io_in_d_valid & _T_1000; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197077.10]
  assign _GEN_27 = io_in_d_valid & _T_1020; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197118.10]
  assign _GEN_37 = io_in_d_valid & _T_1048; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197176.10]
  assign _GEN_47 = io_in_d_valid & _T_1077; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197236.10]
  assign _GEN_51 = io_in_d_valid & _T_1094; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197271.10]
  assign _GEN_55 = io_in_d_valid & _T_1112; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197307.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_1151 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1172 = _RAND_1[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1206 = _RAND_2[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1219 = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1221 = _RAND_4[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1223 = _RAND_5[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1227 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1229 = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1259 = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1270 = _RAND_9[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1291 = _RAND_10[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1341 = _RAND_11[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1151 <= 10'h0;
    end else begin
      if (_T_1141) begin
        if (_T_1155) begin
          _T_1151 <= 10'h0;
        end else begin
          _T_1151 <= _T_1154;
        end
      end
    end
    if (_T_1196) begin
      _T_1172 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1206 <= 10'h0;
    end else begin
      if (_T_1197) begin
        if (_T_1210) begin
          if (_T_1203) begin
            _T_1206 <= _T_1202;
          end else begin
            _T_1206 <= 10'h0;
          end
        end else begin
          _T_1206 <= _T_1209;
        end
      end
    end
    if (_T_1257) begin
      _T_1219 <= io_in_d_bits_opcode;
    end
    if (_T_1257) begin
      _T_1221 <= io_in_d_bits_param;
    end
    if (_T_1257) begin
      _T_1223 <= io_in_d_bits_size;
    end
    if (_T_1257) begin
      _T_1227 <= io_in_d_bits_sink;
    end
    if (_T_1257) begin
      _T_1229 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1259 <= 1'h0;
    end else begin
      _T_1259 <= _T_1339;
    end
    if (reset) begin
      _T_1270 <= 10'h0;
    end else begin
      if (_T_1141) begin
        if (_T_1274) begin
          _T_1270 <= 10'h0;
        end else begin
          _T_1270 <= _T_1273;
        end
      end
    end
    if (reset) begin
      _T_1291 <= 10'h0;
    end else begin
      if (_T_1197) begin
        if (_T_1295) begin
          if (_T_1203) begin
            _T_1291 <= _T_1202;
          end else begin
            _T_1291 <= 10'h0;
          end
        end else begin
          _T_1291 <= _T_1294;
        end
      end
    end
    if (reset) begin
      _T_1341 <= 32'h0;
    end else begin
      if (_T_1355) begin
        _T_1341 <= 32'h0;
      end else begin
        _T_1341 <= _T_1352;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at Frontend.scala:341:21)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195870.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195871.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195928.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@195929.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at Frontend.scala:341:21)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196023.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196024.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at Frontend.scala:341:21)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196030.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196031.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196037.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196038.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at Frontend.scala:341:21)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196045.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196046.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at Frontend.scala:341:21)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196052.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196053.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at Frontend.scala:341:21)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196060.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196061.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at Frontend.scala:341:21)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196069.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196070.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at Frontend.scala:341:21)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196077.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196078.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at Frontend.scala:341:21)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196173.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196174.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at Frontend.scala:341:21)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196180.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196181.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196187.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196188.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at Frontend.scala:341:21)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196195.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196196.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at Frontend.scala:341:21)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196202.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196203.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at Frontend.scala:341:21)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196210.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196211.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at Frontend.scala:341:21)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196218.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196219.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at Frontend.scala:341:21)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196227.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196228.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at Frontend.scala:341:21)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196235.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196236.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_411) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at Frontend.scala:341:21)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196339.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_a_valid & _T_411) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196340.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196346.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196347.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_a_valid & _T_180) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at Frontend.scala:341:21)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196353.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_a_valid & _T_180) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196354.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at Frontend.scala:341:21)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196361.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196362.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at Frontend.scala:341:21)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196369.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196370.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at Frontend.scala:341:21)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196377.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196378.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at Frontend.scala:341:21)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196483.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196484.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196490.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196491.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at Frontend.scala:341:21)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196497.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196498.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at Frontend.scala:341:21)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196505.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196506.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at Frontend.scala:341:21)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196513.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196514.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at Frontend.scala:341:21)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196619.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196620.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196626.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196627.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at Frontend.scala:341:21)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196633.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196634.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at Frontend.scala:341:21)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196641.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196642.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at Frontend.scala:341:21)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196651.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196652.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at Frontend.scala:341:21)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196752.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196753.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196759.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196760.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at Frontend.scala:341:21)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196766.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196767.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at Frontend.scala:341:21)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196774.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196775.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at Frontend.scala:341:21)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196782.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196783.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at Frontend.scala:341:21)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196883.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196884.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196890.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196891.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at Frontend.scala:341:21)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196897.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196898.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at Frontend.scala:341:21)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196905.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196906.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at Frontend.scala:341:21)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196913.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@196914.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at Frontend.scala:341:21)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197014.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197015.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197021.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197022.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at Frontend.scala:341:21)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197028.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197029.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at Frontend.scala:341:21)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197036.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197037.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at Frontend.scala:341:21)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197044.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197045.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_990) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at Frontend.scala:341:21)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197055.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_990) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197056.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197069.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197070.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_1007) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at Frontend.scala:341:21)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197077.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_1007) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197078.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_1011) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at Frontend.scala:341:21)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197085.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_1011) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197086.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_1015) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at Frontend.scala:341:21)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197093.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_1015) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197094.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_1019) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at Frontend.scala:341:21)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197101.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_1019) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197102.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197111.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197112.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_27 & _T_167) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197118.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_27 & _T_167) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197119.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_27 & _T_1007) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at Frontend.scala:341:21)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197126.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_27 & _T_1007) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197127.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_27 & _T_1034) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at Frontend.scala:341:21)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197134.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_27 & _T_1034) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197135.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_27 & _T_1038) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at Frontend.scala:341:21)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197142.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_27 & _T_1038) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197143.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_27 & _T_1015) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at Frontend.scala:341:21)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197150.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_27 & _T_1015) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197151.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at Frontend.scala:341:21)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197159.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197160.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197169.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197170.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_37 & _T_167) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197176.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_37 & _T_167) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197177.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_37 & _T_1007) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at Frontend.scala:341:21)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197184.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_37 & _T_1007) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197185.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_37 & _T_1034) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at Frontend.scala:341:21)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197192.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_37 & _T_1034) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197193.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_37 & _T_1038) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at Frontend.scala:341:21)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197200.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_37 & _T_1038) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197201.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_37 & _T_1071) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at Frontend.scala:341:21)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197209.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_37 & _T_1071) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197210.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at Frontend.scala:341:21)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197218.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197219.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197228.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197229.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_47 & _T_1011) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at Frontend.scala:341:21)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197236.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_47 & _T_1011) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197237.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_47 & _T_1015) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at Frontend.scala:341:21)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197244.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_47 & _T_1015) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197245.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at Frontend.scala:341:21)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197253.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197254.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197263.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197264.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_51 & _T_1011) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at Frontend.scala:341:21)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197271.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_51 & _T_1011) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197272.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_51 & _T_1071) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at Frontend.scala:341:21)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197280.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_51 & _T_1071) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197281.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at Frontend.scala:341:21)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197289.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197290.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197299.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197300.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_55 & _T_1011) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at Frontend.scala:341:21)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197307.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_55 & _T_1011) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197308.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_55 & _T_1015) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at Frontend.scala:341:21)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197315.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_55 & _T_1015) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197316.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at Frontend.scala:341:21)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197324.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197325.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at Frontend.scala:341:21)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197334.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197335.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at Frontend.scala:341:21)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197342.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197343.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at Frontend.scala:341:21)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197350.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197351.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at Frontend.scala:341:21)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197390.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197391.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at Frontend.scala:341:21)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197398.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197399.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at Frontend.scala:341:21)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197406.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197407.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at Frontend.scala:341:21)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197414.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197415.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1174 & _T_1194) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at Frontend.scala:341:21)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197422.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1174 & _T_1194) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197423.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1231 & _T_1235) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at Frontend.scala:341:21)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197472.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1231 & _T_1235) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197473.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1231 & _T_1239) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at Frontend.scala:341:21)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197480.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1231 & _T_1239) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197481.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1231 & _T_1243) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at Frontend.scala:341:21)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197488.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1231 & _T_1243) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197489.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at Frontend.scala:341:21)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197496.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197497.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1231 & _T_1251) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at Frontend.scala:341:21)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197504.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1231 & _T_1251) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197505.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1231 & _T_1255) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at Frontend.scala:341:21)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197512.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1231 & _T_1255) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@197513.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1306 & _T_1314) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at Frontend.scala:341:21)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197590.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1306 & _T_1314) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197591.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1322 & _T_1329) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at Frontend.scala:341:21)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197613.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1322 & _T_1329) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197614.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1336) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 4 (connected at Frontend.scala:341:21)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197625.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1336) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197626.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1350) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at Frontend.scala:341:21)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197645.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1350) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197646.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLXbar_8( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197658.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197659.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197660.4]
  output        auto_in_1_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  input         auto_in_1_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  input  [31:0] auto_in_1_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  input         auto_in_1_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  output        auto_in_1_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  output [2:0]  auto_in_1_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  output [3:0]  auto_in_1_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  output [31:0] auto_in_1_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  output        auto_in_1_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  output        auto_in_0_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  input         auto_in_0_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  input  [2:0]  auto_in_0_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  input  [2:0]  auto_in_0_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  input  [3:0]  auto_in_0_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  input  [31:0] auto_in_0_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  input  [3:0]  auto_in_0_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  input  [31:0] auto_in_0_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  input         auto_in_0_c_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  input         auto_in_0_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  output        auto_in_0_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  output [2:0]  auto_in_0_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  output [3:0]  auto_in_0_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  output        auto_in_0_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  output [31:0] auto_in_0_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  input         auto_in_0_e_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197661.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
  wire  TLMonitor_io_in_c_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
  wire  TLMonitor_io_in_e_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
  wire  TLMonitor_1_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
  wire  TLMonitor_1_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
  wire  TLMonitor_1_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
  wire  TLMonitor_1_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
  wire [31:0] TLMonitor_1_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
  wire  TLMonitor_1_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
  wire  TLMonitor_1_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
  wire [2:0] TLMonitor_1_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
  wire [1:0] TLMonitor_1_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
  wire [3:0] TLMonitor_1_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
  wire  TLMonitor_1_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
  wire  TLMonitor_1_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
  wire  TLMonitor_1_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
  wire  requestDOI_0_1; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@197812.4]
  wire [26:0] _T_786; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@197814.4]
  wire [11:0] _T_787; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@197815.4]
  wire [11:0] _T_788; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@197816.4]
  wire [9:0] _T_789; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@197817.4]
  wire  _T_790; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@197818.4]
  wire  _T_791; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197819.4]
  wire  _T_969; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@197912.4]
  wire  _T_970; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@197913.4]
  reg [9:0] _T_1015; // @[Arbiter.scala 53:30:shc.marmotcaravel.MarmotCaravelConfig.fir@197932.4]
  reg [31:0] _RAND_0;
  wire  _T_1016; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197933.4]
  wire  _T_1017; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@197934.4]
  wire [1:0] _T_1018; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@197935.4]
  wire  _T_1020; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197937.4]
  wire  _T_1022; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197939.4]
  wire  _T_1023; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197940.4]
  reg [1:0] _T_1026; // @[Arbiter.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@197946.4]
  reg [31:0] _RAND_1;
  wire [1:0] _T_1027; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@197947.4]
  wire [1:0] _T_1028; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197948.4]
  wire [3:0] _T_1029; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@197949.4]
  wire [2:0] _T_1030; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@197950.4]
  wire [3:0] _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@197951.4]
  wire [3:0] _T_1031; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@197951.4]
  wire [2:0] _T_1033; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@197953.4]
  wire [3:0] _GEN_2; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@197954.4]
  wire [3:0] _T_1034; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@197954.4]
  wire [3:0] _GEN_3; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@197955.4]
  wire [3:0] _T_1035; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@197955.4]
  wire [1:0] _T_1036; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197956.4]
  wire [1:0] _T_1037; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@197957.4]
  wire [1:0] _T_1038; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@197958.4]
  wire [1:0] _T_1039; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@197959.4]
  wire  _T_1040; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197960.4]
  wire  _T_1041; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@197961.4]
  wire [1:0] _T_1042; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197963.6]
  wire [2:0] _GEN_4; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@197964.6]
  wire [2:0] _T_1043; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@197964.6]
  wire [1:0] _T_1044; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@197965.6]
  wire [1:0] _T_1045; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@197966.6]
  wire  _T_1048; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@197971.4]
  wire  _T_1049; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@197972.4]
  wire  _T_1058; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@197977.4]
  wire  _T_1059; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@197978.4]
  wire  _T_1069; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@197984.4]
  wire  _T_1071; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@197986.4]
  wire  _T_1074; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@197989.4]
  wire  _T_1075; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@197990.4]
  wire  _T_1078; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197993.4]
  wire  _T_1079; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197994.4]
  wire  _T_1080; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197999.4]
  wire  _T_1081; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198000.4]
  wire  _T_1083; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198002.4]
  wire  _T_1085; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198004.4]
  wire  _T_1086; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198005.4]
  reg  _T_1111_0; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198023.4]
  reg [31:0] _RAND_2;
  wire  _T_1142; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198032.4]
  reg  _T_1111_1; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198023.4]
  reg [31:0] _RAND_3;
  wire  _T_1143; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198033.4]
  wire  _T_1144; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198034.4]
  wire  out_0_a_valid; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198037.4]
  wire  _T_1090; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@198013.4]
  wire [9:0] _GEN_5; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198014.4]
  wire [10:0] _T_1091; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198014.4]
  wire [10:0] _T_1092; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198015.4]
  wire [9:0] _T_1093; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198016.4]
  wire  _T_1122_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@198024.4]
  wire  _T_1122_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@198024.4]
  wire  _T_1130_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198026.4]
  wire  _T_1130_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198026.4]
  wire [32:0] _T_1149; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198039.4]
  wire [35:0] _T_1150; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198040.4]
  wire [68:0] _T_1151; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198041.4]
  wire [4:0] _T_1152; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198042.4]
  wire [5:0] _T_1153; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198043.4]
  wire [10:0] _T_1154; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198044.4]
  wire [79:0] _T_1155; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198045.4]
  wire [79:0] _T_1156; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198046.4]
  wire [35:0] _T_1158; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198048.4]
  wire [68:0] _T_1159; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198049.4]
  wire [79:0] _T_1163; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198053.4]
  wire [79:0] _T_1164; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198054.4]
  wire [79:0] _T_1165; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198055.4]
  TLMonitor_53 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197670.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_c_valid(TLMonitor_io_in_c_valid),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt),
    .io_in_e_valid(TLMonitor_io_in_e_valid)
  );
  TLMonitor_54 TLMonitor_1 ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@197707.4]
    .clock(TLMonitor_1_clock),
    .reset(TLMonitor_1_reset),
    .io_in_a_ready(TLMonitor_1_io_in_a_ready),
    .io_in_a_valid(TLMonitor_1_io_in_a_valid),
    .io_in_a_bits_address(TLMonitor_1_io_in_a_bits_address),
    .io_in_d_ready(TLMonitor_1_io_in_d_ready),
    .io_in_d_valid(TLMonitor_1_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_1_io_in_d_bits_opcode),
    .io_in_d_bits_param(TLMonitor_1_io_in_d_bits_param),
    .io_in_d_bits_size(TLMonitor_1_io_in_d_bits_size),
    .io_in_d_bits_sink(TLMonitor_1_io_in_d_bits_sink),
    .io_in_d_bits_denied(TLMonitor_1_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(TLMonitor_1_io_in_d_bits_corrupt)
  );
  assign requestDOI_0_1 = auto_out_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@197812.4]
  assign _T_786 = 27'hfff << auto_in_0_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@197814.4]
  assign _T_787 = _T_786[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@197815.4]
  assign _T_788 = ~ _T_787; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@197816.4]
  assign _T_789 = _T_788[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@197817.4]
  assign _T_790 = auto_in_0_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@197818.4]
  assign _T_791 = _T_790 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197819.4]
  assign _T_969 = auto_out_d_bits_source ? auto_in_0_d_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@197912.4]
  assign _T_970 = requestDOI_0_1 ? auto_in_1_d_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@197913.4]
  assign _T_1016 = _T_1015 == 10'h0; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197933.4]
  assign _T_1017 = _T_1016 & auto_out_a_ready; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@197934.4]
  assign _T_1018 = {auto_in_1_a_valid,auto_in_0_a_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@197935.4]
  assign _T_1020 = _T_1018 == _T_1018; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197937.4]
  assign _T_1022 = _T_1020 | reset; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197939.4]
  assign _T_1023 = _T_1022 == 1'h0; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197940.4]
  assign _T_1027 = ~ _T_1026; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@197947.4]
  assign _T_1028 = _T_1018 & _T_1027; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@197948.4]
  assign _T_1029 = {_T_1028,_T_1018}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@197949.4]
  assign _T_1030 = _T_1029[3:1]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@197950.4]
  assign _GEN_1 = {{1'd0}, _T_1030}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@197951.4]
  assign _T_1031 = _T_1029 | _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@197951.4]
  assign _T_1033 = _T_1031[3:1]; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@197953.4]
  assign _GEN_2 = {{2'd0}, _T_1026}; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@197954.4]
  assign _T_1034 = _GEN_2 << 2; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@197954.4]
  assign _GEN_3 = {{1'd0}, _T_1033}; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@197955.4]
  assign _T_1035 = _GEN_3 | _T_1034; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@197955.4]
  assign _T_1036 = _T_1035[3:2]; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197956.4]
  assign _T_1037 = _T_1035[1:0]; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@197957.4]
  assign _T_1038 = _T_1036 & _T_1037; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@197958.4]
  assign _T_1039 = ~ _T_1038; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@197959.4]
  assign _T_1040 = _T_1018 != 2'h0; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@197960.4]
  assign _T_1041 = _T_1017 & _T_1040; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@197961.4]
  assign _T_1042 = _T_1039 & _T_1018; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@197963.6]
  assign _GEN_4 = {{1'd0}, _T_1042}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@197964.6]
  assign _T_1043 = _GEN_4 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@197964.6]
  assign _T_1044 = _T_1043[1:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@197965.6]
  assign _T_1045 = _T_1042 | _T_1044; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@197966.6]
  assign _T_1048 = _T_1039[0]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@197971.4]
  assign _T_1049 = _T_1039[1]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@197972.4]
  assign _T_1058 = _T_1048 & auto_in_0_a_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@197977.4]
  assign _T_1059 = _T_1049 & auto_in_1_a_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@197978.4]
  assign _T_1069 = _T_1058 | _T_1059; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@197984.4]
  assign _T_1071 = _T_1058 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@197986.4]
  assign _T_1074 = _T_1059 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@197989.4]
  assign _T_1075 = _T_1071 | _T_1074; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@197990.4]
  assign _T_1078 = _T_1075 | reset; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197993.4]
  assign _T_1079 = _T_1078 == 1'h0; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197994.4]
  assign _T_1080 = auto_in_0_a_valid | auto_in_1_a_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197999.4]
  assign _T_1081 = _T_1080 == 1'h0; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198000.4]
  assign _T_1083 = _T_1081 | _T_1069; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198002.4]
  assign _T_1085 = _T_1083 | reset; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198004.4]
  assign _T_1086 = _T_1085 == 1'h0; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198005.4]
  assign _T_1142 = _T_1111_0 ? auto_in_0_a_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198032.4]
  assign _T_1143 = _T_1111_1 ? auto_in_1_a_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198033.4]
  assign _T_1144 = _T_1142 | _T_1143; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198034.4]
  assign out_0_a_valid = _T_1016 ? _T_1080 : _T_1144; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198037.4]
  assign _T_1090 = auto_out_a_ready & out_0_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@198013.4]
  assign _GEN_5 = {{9'd0}, _T_1090}; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198014.4]
  assign _T_1091 = _T_1015 - _GEN_5; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198014.4]
  assign _T_1092 = $unsigned(_T_1091); // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198015.4]
  assign _T_1093 = _T_1092[9:0]; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198016.4]
  assign _T_1122_0 = _T_1016 ? _T_1058 : _T_1111_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@198024.4]
  assign _T_1122_1 = _T_1016 ? _T_1059 : _T_1111_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@198024.4]
  assign _T_1130_0 = _T_1016 ? _T_1048 : _T_1111_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198026.4]
  assign _T_1130_1 = _T_1016 ? _T_1049 : _T_1111_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198026.4]
  assign _T_1149 = {auto_in_0_a_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198039.4]
  assign _T_1150 = {auto_in_0_a_bits_address,auto_in_0_a_bits_mask}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198040.4]
  assign _T_1151 = {_T_1150,_T_1149}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198041.4]
  assign _T_1152 = {auto_in_0_a_bits_size,1'h1}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198042.4]
  assign _T_1153 = {auto_in_0_a_bits_opcode,auto_in_0_a_bits_param}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198043.4]
  assign _T_1154 = {_T_1153,_T_1152}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198044.4]
  assign _T_1155 = {_T_1154,_T_1151}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198045.4]
  assign _T_1156 = _T_1122_0 ? _T_1155 : 80'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198046.4]
  assign _T_1158 = {auto_in_1_a_bits_address,4'hf}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198048.4]
  assign _T_1159 = {_T_1158,33'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198049.4]
  assign _T_1163 = {11'h40c,_T_1159}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198053.4]
  assign _T_1164 = _T_1122_1 ? _T_1163 : 80'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198054.4]
  assign _T_1165 = _T_1156 | _T_1164; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198055.4]
  assign auto_in_1_a_ready = auto_out_a_ready & _T_1130_1; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197748.4]
  assign auto_in_1_d_valid = auto_out_d_valid & requestDOI_0_1; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197748.4]
  assign auto_in_1_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197748.4]
  assign auto_in_1_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197748.4]
  assign auto_in_1_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197748.4]
  assign auto_in_1_d_bits_corrupt = auto_out_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197748.4]
  assign auto_in_0_a_ready = auto_out_a_ready & _T_1130_0; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197747.4]
  assign auto_in_0_d_valid = auto_out_d_valid & auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197747.4]
  assign auto_in_0_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197747.4]
  assign auto_in_0_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197747.4]
  assign auto_in_0_d_bits_denied = auto_out_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197747.4]
  assign auto_in_0_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@197747.4]
  assign auto_out_a_valid = _T_1016 ? _T_1080 : _T_1144; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@197746.4]
  assign auto_out_a_bits_opcode = _T_1165[79:77]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@197746.4]
  assign auto_out_a_bits_param = _T_1165[76:74]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@197746.4]
  assign auto_out_a_bits_size = _T_1165[73:70]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@197746.4]
  assign auto_out_a_bits_source = _T_1165[69]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@197746.4]
  assign auto_out_a_bits_address = _T_1165[68:37]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@197746.4]
  assign auto_out_a_bits_mask = _T_1165[36:33]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@197746.4]
  assign auto_out_a_bits_data = _T_1165[32:1]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@197746.4]
  assign auto_out_a_bits_corrupt = _T_1165[0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@197746.4]
  assign auto_out_d_ready = _T_969 | _T_970; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@197746.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197672.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197673.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready & _T_1130_0; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
  assign TLMonitor_io_in_a_valid = auto_in_0_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_0_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_0_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_0_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_0_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_0_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
  assign TLMonitor_io_in_c_valid = auto_in_0_c_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
  assign TLMonitor_io_in_d_ready = auto_in_0_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid & auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
  assign TLMonitor_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
  assign TLMonitor_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
  assign TLMonitor_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
  assign TLMonitor_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
  assign TLMonitor_io_in_e_valid = auto_in_0_e_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197706.4]
  assign TLMonitor_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197709.4]
  assign TLMonitor_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@197710.4]
  assign TLMonitor_1_io_in_a_ready = auto_out_a_ready & _T_1130_1; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197743.4]
  assign TLMonitor_1_io_in_a_valid = auto_in_1_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197743.4]
  assign TLMonitor_1_io_in_a_bits_address = auto_in_1_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197743.4]
  assign TLMonitor_1_io_in_d_ready = auto_in_1_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197743.4]
  assign TLMonitor_1_io_in_d_valid = auto_out_d_valid & requestDOI_0_1; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197743.4]
  assign TLMonitor_1_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197743.4]
  assign TLMonitor_1_io_in_d_bits_param = auto_out_d_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197743.4]
  assign TLMonitor_1_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197743.4]
  assign TLMonitor_1_io_in_d_bits_sink = auto_out_d_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197743.4]
  assign TLMonitor_1_io_in_d_bits_denied = auto_out_d_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197743.4]
  assign TLMonitor_1_io_in_d_bits_corrupt = auto_out_d_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@197743.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_1015 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1026 = _RAND_1[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1111_0 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1111_1 = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1015 <= 10'h0;
    end else begin
      if (_T_1017) begin
        if (_T_1058) begin
          if (_T_791) begin
            _T_1015 <= _T_789;
          end else begin
            _T_1015 <= 10'h0;
          end
        end else begin
          _T_1015 <= 10'h0;
        end
      end else begin
        _T_1015 <= _T_1093;
      end
    end
    if (reset) begin
      _T_1026 <= 2'h3;
    end else begin
      if (_T_1041) begin
        _T_1026 <= _T_1045;
      end
    end
    if (reset) begin
      _T_1111_0 <= 1'h0;
    end else begin
      if (_T_1016) begin
        _T_1111_0 <= _T_1058;
      end
    end
    if (reset) begin
      _T_1111_1 <= 1'h0;
    end else begin
      if (_T_1016) begin
        _T_1111_1 <= _T_1059;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1023) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:19 assert (valid === valids)\n"); // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197942.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1023) begin
          $fatal; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@197943.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1079) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:68 assert((prefixOR zip winner) map { case (p,w) => !p || !w } reduce {_ && _})\n"); // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197996.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1079) begin
          $fatal; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@197997.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1086) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:70 assert (!valids.reduce(_||_) || winner.reduce(_||_))\n"); // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198007.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1086) begin
          $fatal; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198008.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLXbar_9( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198083.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198084.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198085.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  input         auto_out_1_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output        auto_out_1_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output [2:0]  auto_out_1_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output [2:0]  auto_out_1_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output [2:0]  auto_out_1_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output        auto_out_1_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output [31:0] auto_out_1_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output [3:0]  auto_out_1_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output [31:0] auto_out_1_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output        auto_out_1_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  input         auto_out_1_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  input  [2:0]  auto_out_1_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  input  [2:0]  auto_out_1_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  input         auto_out_1_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  input  [31:0] auto_out_1_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  input         auto_out_0_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output        auto_out_0_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output [2:0]  auto_out_0_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output [2:0]  auto_out_0_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output [2:0]  auto_out_0_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output        auto_out_0_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output [27:0] auto_out_0_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output [3:0]  auto_out_0_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output [31:0] auto_out_0_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output        auto_out_0_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  output        auto_out_0_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  input         auto_out_0_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  input  [2:0]  auto_out_0_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  input  [2:0]  auto_out_0_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  input         auto_out_0_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
  input  [31:0] auto_out_0_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198086.4]
);
  reg [3:0] _T_951; // @[Arbiter.scala 53:30:shc.marmotcaravel.MarmotCaravelConfig.fir@198320.4]
  reg [31:0] _RAND_0;
  wire  _T_952; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@198321.4]
  wire [1:0] _T_954; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198323.4]
  reg [1:0] _T_962; // @[Arbiter.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@198334.4]
  reg [31:0] _RAND_1;
  wire [1:0] _T_963; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@198335.4]
  wire [1:0] _T_964; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@198336.4]
  wire [3:0] _T_965; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198337.4]
  wire [2:0] _T_966; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198338.4]
  wire [3:0] _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@198339.4]
  wire [3:0] _T_967; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@198339.4]
  wire [2:0] _T_969; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198341.4]
  wire [3:0] _GEN_2; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@198342.4]
  wire [3:0] _T_970; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@198342.4]
  wire [3:0] _GEN_3; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198343.4]
  wire [3:0] _T_971; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198343.4]
  wire [1:0] _T_972; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198344.4]
  wire [1:0] _T_973; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198345.4]
  wire [1:0] _T_974; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@198346.4]
  wire [1:0] _T_975; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@198347.4]
  wire  _T_984; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198359.4]
  wire  _T_994; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@198365.4]
  reg  _T_1047_0; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198411.4]
  reg [31:0] _RAND_2;
  wire  _T_1058_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@198412.4]
  wire [4:0] _T_1089; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198431.4]
  wire [3:0] _T_1088; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198430.4]
  wire [8:0] _T_1090; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198432.4]
  wire [32:0] _T_1085; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198427.4]
  wire [34:0] _T_1087; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198429.4]
  wire [43:0] _T_1091; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198433.4]
  wire [43:0] _T_1092; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198434.4]
  wire  _T_985; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198360.4]
  wire  _T_995; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@198366.4]
  reg  _T_1047_1; // @[Arbiter.scala 78:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198411.4]
  reg [31:0] _RAND_3;
  wire  _T_1058_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@198412.4]
  wire [4:0] _T_1097; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198439.4]
  wire [3:0] _T_1096; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198438.4]
  wire [8:0] _T_1098; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198440.4]
  wire [32:0] _T_1093; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198435.4]
  wire [34:0] _T_1095; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198437.4]
  wire [43:0] _T_1099; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198441.4]
  wire [43:0] _T_1100; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198442.4]
  wire [43:0] _T_1101; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198443.4]
  wire [32:0] _T_679; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198137.4]
  wire [32:0] _T_680; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198138.4]
  wire [32:0] _T_681; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198139.4]
  wire  requestAIO_0_0; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@198140.4]
  wire [31:0] _T_683; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198142.4]
  wire [32:0] _T_684; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198143.4]
  wire [32:0] _T_685; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198144.4]
  wire [32:0] _T_686; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198145.4]
  wire  requestAIO_0_1; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@198146.4]
  wire [12:0] _T_754; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@198224.4]
  wire [5:0] _T_755; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@198225.4]
  wire [5:0] _T_756; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@198226.4]
  wire [3:0] _T_757; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@198227.4]
  wire  _T_758; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198228.4]
  wire [3:0] beatsDO_0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198229.4]
  wire [12:0] _T_760; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@198231.4]
  wire [5:0] _T_761; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@198232.4]
  wire [5:0] _T_762; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@198233.4]
  wire [3:0] _T_763; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@198234.4]
  wire  _T_764; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198235.4]
  wire [3:0] beatsDO_1; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198236.4]
  wire  _T_795; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198247.4]
  wire  _T_796; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198248.4]
  wire  _T_953; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198322.4]
  wire  _T_956; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198325.4]
  wire  _T_958; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@198327.4]
  wire  _T_959; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@198328.4]
  wire  _T_976; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198348.4]
  wire  _T_977; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@198349.4]
  wire [1:0] _T_978; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198351.6]
  wire [2:0] _GEN_4; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198352.6]
  wire [2:0] _T_979; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198352.6]
  wire [1:0] _T_980; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@198353.6]
  wire [1:0] _T_981; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@198354.6]
  wire  _T_1005; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198372.4]
  wire  _T_1007; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@198374.4]
  wire  _T_1010; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@198377.4]
  wire  _T_1011; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@198378.4]
  wire  _T_1014; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@198381.4]
  wire  _T_1015; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@198382.4]
  wire  _T_1016; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198387.4]
  wire  _T_1017; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198388.4]
  wire  _T_1019; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198390.4]
  wire  _T_1021; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198392.4]
  wire  _T_1022; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198393.4]
  wire [3:0] _T_1023; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@198398.4]
  wire [3:0] _T_1024; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@198399.4]
  wire [3:0] _T_1025; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@198400.4]
  wire  _T_1078; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198420.4]
  wire  _T_1079; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198421.4]
  wire  _T_1080; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198422.4]
  wire  in_0_d_valid; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198425.4]
  wire  _T_1026; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@198401.4]
  wire [3:0] _GEN_5; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198402.4]
  wire [4:0] _T_1027; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198402.4]
  wire [4:0] _T_1028; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198403.4]
  wire [3:0] _T_1029; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198404.4]
  wire  _T_1066_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198414.4]
  wire  _T_1066_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198414.4]
  assign _T_952 = _T_951 == 4'h0; // @[Arbiter.scala 54:28:shc.marmotcaravel.MarmotCaravelConfig.fir@198321.4]
  assign _T_954 = {auto_out_1_d_valid,auto_out_0_d_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198323.4]
  assign _T_963 = ~ _T_962; // @[Arbiter.scala 21:30:shc.marmotcaravel.MarmotCaravelConfig.fir@198335.4]
  assign _T_964 = _T_954 & _T_963; // @[Arbiter.scala 21:28:shc.marmotcaravel.MarmotCaravelConfig.fir@198336.4]
  assign _T_965 = {_T_964,_T_954}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198337.4]
  assign _T_966 = _T_965[3:1]; // @[package.scala 203:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198338.4]
  assign _GEN_1 = {{1'd0}, _T_966}; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@198339.4]
  assign _T_967 = _T_965 | _GEN_1; // @[package.scala 203:43:shc.marmotcaravel.MarmotCaravelConfig.fir@198339.4]
  assign _T_969 = _T_967[3:1]; // @[Arbiter.scala 22:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198341.4]
  assign _GEN_2 = {{2'd0}, _T_962}; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@198342.4]
  assign _T_970 = _GEN_2 << 2; // @[Arbiter.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@198342.4]
  assign _GEN_3 = {{1'd0}, _T_969}; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198343.4]
  assign _T_971 = _GEN_3 | _T_970; // @[Arbiter.scala 22:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198343.4]
  assign _T_972 = _T_971[3:2]; // @[Arbiter.scala 23:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198344.4]
  assign _T_973 = _T_971[1:0]; // @[Arbiter.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198345.4]
  assign _T_974 = _T_972 & _T_973; // @[Arbiter.scala 23:39:shc.marmotcaravel.MarmotCaravelConfig.fir@198346.4]
  assign _T_975 = ~ _T_974; // @[Arbiter.scala 23:18:shc.marmotcaravel.MarmotCaravelConfig.fir@198347.4]
  assign _T_984 = _T_975[0]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198359.4]
  assign _T_994 = _T_984 & auto_out_0_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@198365.4]
  assign _T_1058_0 = _T_952 ? _T_994 : _T_1047_0; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@198412.4]
  assign _T_1089 = {auto_out_0_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198431.4]
  assign _T_1088 = {auto_out_0_d_bits_size,auto_out_0_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198430.4]
  assign _T_1090 = {_T_1089,_T_1088}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198432.4]
  assign _T_1085 = {auto_out_0_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198427.4]
  assign _T_1087 = {2'h0,_T_1085}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198429.4]
  assign _T_1091 = {_T_1090,_T_1087}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198433.4]
  assign _T_1092 = _T_1058_0 ? _T_1091 : 44'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198434.4]
  assign _T_985 = _T_975[1]; // @[Arbiter.scala 60:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198360.4]
  assign _T_995 = _T_985 & auto_out_1_d_valid; // @[Arbiter.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@198366.4]
  assign _T_1058_1 = _T_952 ? _T_995 : _T_1047_1; // @[Arbiter.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@198412.4]
  assign _T_1097 = {auto_out_1_d_bits_opcode,2'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198439.4]
  assign _T_1096 = {auto_out_1_d_bits_size,auto_out_1_d_bits_source}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198438.4]
  assign _T_1098 = {_T_1097,_T_1096}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198440.4]
  assign _T_1093 = {auto_out_1_d_bits_data,1'h0}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198435.4]
  assign _T_1095 = {2'h0,_T_1093}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198437.4]
  assign _T_1099 = {_T_1098,_T_1095}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198441.4]
  assign _T_1100 = _T_1058_1 ? _T_1099 : 44'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198442.4]
  assign _T_1101 = _T_1092 | _T_1100; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198443.4]
  assign _T_679 = {1'b0,$signed(auto_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198137.4]
  assign _T_680 = $signed(_T_679) & $signed(33'sh80000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198138.4]
  assign _T_681 = $signed(_T_680); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198139.4]
  assign requestAIO_0_0 = $signed(_T_681) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@198140.4]
  assign _T_683 = auto_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198142.4]
  assign _T_684 = {1'b0,$signed(_T_683)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198143.4]
  assign _T_685 = $signed(_T_684) & $signed(33'sh80000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198144.4]
  assign _T_686 = $signed(_T_685); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198145.4]
  assign requestAIO_0_1 = $signed(_T_686) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@198146.4]
  assign _T_754 = 13'h3f << auto_out_0_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@198224.4]
  assign _T_755 = _T_754[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@198225.4]
  assign _T_756 = ~ _T_755; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@198226.4]
  assign _T_757 = _T_756[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@198227.4]
  assign _T_758 = auto_out_0_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198228.4]
  assign beatsDO_0 = _T_758 ? _T_757 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198229.4]
  assign _T_760 = 13'h3f << auto_out_1_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@198231.4]
  assign _T_761 = _T_760[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@198232.4]
  assign _T_762 = ~ _T_761; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@198233.4]
  assign _T_763 = _T_762[5:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@198234.4]
  assign _T_764 = auto_out_1_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198235.4]
  assign beatsDO_1 = _T_764 ? _T_763 : 4'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198236.4]
  assign _T_795 = requestAIO_0_0 ? auto_out_0_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198247.4]
  assign _T_796 = requestAIO_0_1 ? auto_out_1_a_ready : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198248.4]
  assign _T_953 = _T_952 & auto_in_d_ready; // @[Arbiter.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198322.4]
  assign _T_956 = _T_954 == _T_954; // @[Arbiter.scala 19:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198325.4]
  assign _T_958 = _T_956 | reset; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@198327.4]
  assign _T_959 = _T_958 == 1'h0; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@198328.4]
  assign _T_976 = _T_954 != 2'h0; // @[Arbiter.scala 24:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198348.4]
  assign _T_977 = _T_953 & _T_976; // @[Arbiter.scala 24:18:shc.marmotcaravel.MarmotCaravelConfig.fir@198349.4]
  assign _T_978 = _T_975 & _T_954; // @[Arbiter.scala 25:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198351.6]
  assign _GEN_4 = {{1'd0}, _T_978}; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198352.6]
  assign _T_979 = _GEN_4 << 1; // @[package.scala 194:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198352.6]
  assign _T_980 = _T_979[1:0]; // @[package.scala 194:53:shc.marmotcaravel.MarmotCaravelConfig.fir@198353.6]
  assign _T_981 = _T_978 | _T_980; // @[package.scala 194:43:shc.marmotcaravel.MarmotCaravelConfig.fir@198354.6]
  assign _T_1005 = _T_994 | _T_995; // @[Arbiter.scala 67:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198372.4]
  assign _T_1007 = _T_994 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@198374.4]
  assign _T_1010 = _T_995 == 1'h0; // @[Arbiter.scala 68:62:shc.marmotcaravel.MarmotCaravelConfig.fir@198377.4]
  assign _T_1011 = _T_1007 | _T_1010; // @[Arbiter.scala 68:59:shc.marmotcaravel.MarmotCaravelConfig.fir@198378.4]
  assign _T_1014 = _T_1011 | reset; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@198381.4]
  assign _T_1015 = _T_1014 == 1'h0; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@198382.4]
  assign _T_1016 = auto_out_0_d_valid | auto_out_1_d_valid; // @[Arbiter.scala 70:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198387.4]
  assign _T_1017 = _T_1016 == 1'h0; // @[Arbiter.scala 70:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198388.4]
  assign _T_1019 = _T_1017 | _T_1005; // @[Arbiter.scala 70:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198390.4]
  assign _T_1021 = _T_1019 | reset; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198392.4]
  assign _T_1022 = _T_1021 == 1'h0; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198393.4]
  assign _T_1023 = _T_994 ? beatsDO_0 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@198398.4]
  assign _T_1024 = _T_995 ? beatsDO_1 : 4'h0; // @[Arbiter.scala 73:69:shc.marmotcaravel.MarmotCaravelConfig.fir@198399.4]
  assign _T_1025 = _T_1023 | _T_1024; // @[Arbiter.scala 74:44:shc.marmotcaravel.MarmotCaravelConfig.fir@198400.4]
  assign _T_1078 = _T_1047_0 ? auto_out_0_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198420.4]
  assign _T_1079 = _T_1047_1 ? auto_out_1_d_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198421.4]
  assign _T_1080 = _T_1078 | _T_1079; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@198422.4]
  assign in_0_d_valid = _T_952 ? _T_1016 : _T_1080; // @[Arbiter.scala 86:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198425.4]
  assign _T_1026 = auto_in_d_ready & in_0_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@198401.4]
  assign _GEN_5 = {{3'd0}, _T_1026}; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198402.4]
  assign _T_1027 = _T_951 - _GEN_5; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198402.4]
  assign _T_1028 = $unsigned(_T_1027); // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198403.4]
  assign _T_1029 = _T_1028[3:0]; // @[Arbiter.scala 75:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198404.4]
  assign _T_1066_0 = _T_952 ? _T_984 : _T_1047_0; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198414.4]
  assign _T_1066_1 = _T_952 ? _T_985 : _T_1047_1; // @[Arbiter.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@198414.4]
  assign auto_in_a_ready = _T_795 | _T_796; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198099.4]
  assign auto_in_d_valid = _T_952 ? _T_1016 : _T_1080; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198099.4]
  assign auto_in_d_bits_opcode = _T_1101[43:41]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198099.4]
  assign auto_in_d_bits_param = _T_1101[40:39]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198099.4]
  assign auto_in_d_bits_size = _T_1101[38:36]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198099.4]
  assign auto_in_d_bits_source = _T_1101[35]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198099.4]
  assign auto_in_d_bits_sink = _T_1101[34]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198099.4]
  assign auto_in_d_bits_denied = _T_1101[33]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198099.4]
  assign auto_in_d_bits_data = _T_1101[32:1]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198099.4]
  assign auto_in_d_bits_corrupt = _T_1101[0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@198099.4]
  assign auto_out_1_a_valid = auto_in_a_valid & requestAIO_0_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198098.4]
  assign auto_out_1_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198098.4]
  assign auto_out_1_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198098.4]
  assign auto_out_1_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198098.4]
  assign auto_out_1_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198098.4]
  assign auto_out_1_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198098.4]
  assign auto_out_1_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198098.4]
  assign auto_out_1_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198098.4]
  assign auto_out_1_d_ready = auto_in_d_ready & _T_1066_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198098.4]
  assign auto_out_0_a_valid = auto_in_a_valid & requestAIO_0_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198097.4]
  assign auto_out_0_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198097.4]
  assign auto_out_0_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198097.4]
  assign auto_out_0_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198097.4]
  assign auto_out_0_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198097.4]
  assign auto_out_0_a_bits_address = auto_in_a_bits_address[27:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198097.4]
  assign auto_out_0_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198097.4]
  assign auto_out_0_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198097.4]
  assign auto_out_0_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198097.4]
  assign auto_out_0_d_ready = auto_in_d_ready & _T_1066_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198097.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_951 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_962 = _RAND_1[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1047_0 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1047_1 = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_951 <= 4'h0;
    end else begin
      if (_T_953) begin
        _T_951 <= _T_1025;
      end else begin
        _T_951 <= _T_1029;
      end
    end
    if (reset) begin
      _T_962 <= 2'h3;
    end else begin
      if (_T_977) begin
        _T_962 <= _T_981;
      end
    end
    if (reset) begin
      _T_1047_0 <= 1'h0;
    end else begin
      if (_T_952) begin
        _T_1047_0 <= _T_994;
      end
    end
    if (reset) begin
      _T_1047_1 <= 1'h0;
    end else begin
      if (_T_952) begin
        _T_1047_1 <= _T_995;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_959) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:19 assert (valid === valids)\n"); // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@198330.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_959) begin
          $fatal; // @[Arbiter.scala 19:12:shc.marmotcaravel.MarmotCaravelConfig.fir@198331.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1015) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:68 assert((prefixOR zip winner) map { case (p,w) => !p || !w } reduce {_ && _})\n"); // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@198384.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1015) begin
          $fatal; // @[Arbiter.scala 68:13:shc.marmotcaravel.MarmotCaravelConfig.fir@198385.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1022) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Arbiter.scala:70 assert (!valids.reduce(_||_) || winner.reduce(_||_))\n"); // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198395.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1022) begin
          $fatal; // @[Arbiter.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198396.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module IntXbar_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198465.2]
  input   auto_int_in_2_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198468.4]
  input   auto_int_in_1_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198468.4]
  input   auto_int_in_1_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198468.4]
  input   auto_int_in_0_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198468.4]
  output  auto_int_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198468.4]
  output  auto_int_out_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198468.4]
  output  auto_int_out_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198468.4]
  output  auto_int_out_3 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198468.4]
);
  assign auto_int_out_0 = auto_int_in_0_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198481.4]
  assign auto_int_out_1 = auto_int_in_1_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198481.4]
  assign auto_int_out_2 = auto_int_in_1_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198481.4]
  assign auto_int_out_3 = auto_int_in_2_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@198481.4]
endmodule
module Arbiter( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198490.2]
  input         io_in_0_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
  input  [31:0] io_in_0_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
  input         io_in_2_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
  input  [31:0] io_in_2_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
  input         io_in_3_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
  input  [31:0] io_in_3_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
  output        io_in_4_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
  input         io_in_4_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
  input  [31:0] io_in_4_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
  output        io_in_5_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
  input         io_in_5_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
  input  [31:0] io_in_5_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
  input  [7:0]  io_in_5_bits_idx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
  output        io_in_7_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
  input         io_in_7_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
  input  [31:0] io_in_7_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
  input         io_out_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
  output        io_out_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
  output        io_out_bits_write, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
  output [31:0] io_out_bits_addr // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198493.4]
);
  wire [31:0] _GEN_16; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198517.4]
  wire [31:0] _GEN_22; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198525.4]
  wire  _GEN_23; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198525.4]
  wire [31:0] _GEN_28; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198533.4]
  wire  _GEN_29; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198533.4]
  wire  _T_210; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@198558.4]
  wire  _T_211; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@198559.4]
  wire  _T_212; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@198560.4]
  wire  _T_218; // @[Arbiter.scala 31:78:shc.marmotcaravel.MarmotCaravelConfig.fir@198566.4]
  wire  _T_219; // @[Arbiter.scala 31:78:shc.marmotcaravel.MarmotCaravelConfig.fir@198567.4]
  wire  _T_230; // @[Arbiter.scala 135:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198586.4]
  assign _GEN_16 = io_in_4_valid ? io_in_4_bits_addr : io_in_7_bits_addr; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198517.4]
  assign _GEN_22 = io_in_3_valid ? io_in_3_bits_addr : _GEN_16; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198525.4]
  assign _GEN_23 = io_in_3_valid ? 1'h1 : io_in_4_valid; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198525.4]
  assign _GEN_28 = io_in_2_valid ? io_in_2_bits_addr : _GEN_22; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198533.4]
  assign _GEN_29 = io_in_2_valid ? 1'h1 : _GEN_23; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198533.4]
  assign _T_210 = io_in_0_valid | io_in_2_valid; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@198558.4]
  assign _T_211 = _T_210 | io_in_3_valid; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@198559.4]
  assign _T_212 = _T_211 | io_in_4_valid; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@198560.4]
  assign _T_218 = _T_211 == 1'h0; // @[Arbiter.scala 31:78:shc.marmotcaravel.MarmotCaravelConfig.fir@198566.4]
  assign _T_219 = _T_212 == 1'h0; // @[Arbiter.scala 31:78:shc.marmotcaravel.MarmotCaravelConfig.fir@198567.4]
  assign _T_230 = _T_219 == 1'h0; // @[Arbiter.scala 135:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198586.4]
  assign io_in_4_ready = _T_218 & io_out_ready; // @[Arbiter.scala 134:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198579.4]
  assign io_in_5_ready = _T_219 & io_out_ready; // @[Arbiter.scala 134:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198581.4]
  assign io_in_7_ready = _T_219 & io_out_ready; // @[Arbiter.scala 134:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198585.4]
  assign io_out_valid = _T_230 | io_in_7_valid; // @[Arbiter.scala 135:16:shc.marmotcaravel.MarmotCaravelConfig.fir@198588.4]
  assign io_out_bits_write = io_in_0_valid ? 1'h1 : _GEN_29; // @[Arbiter.scala 124:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198500.4 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198507.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198515.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198523.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198531.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198539.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198547.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198555.6]
  assign io_out_bits_addr = io_in_0_valid ? io_in_0_bits_addr : _GEN_28; // @[Arbiter.scala 124:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198499.4 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198506.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198514.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198522.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198530.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198538.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198546.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198554.6]
endmodule
module DCacheDataArray( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198590.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198591.4]
  input         io_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198593.4]
  input  [13:0] io_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198593.4]
  input         io_req_bits_write, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198593.4]
  input  [31:0] io_req_bits_wdata, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198593.4]
  input  [3:0]  io_req_bits_eccMask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198593.4]
  output [31:0] io_resp_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198593.4]
  output [11:0] data_arrays_0_ext_RW0_addr,
  output  data_arrays_0_ext_RW0_en,
  output  data_arrays_0_ext_RW0_clk,
  output  data_arrays_0_ext_RW0_wmode,
  output [31:0] data_arrays_0_ext_RW0_wdata,
  input  [31:0] data_arrays_0_ext_RW0_rdata,
  output [3:0] data_arrays_0_ext_RW0_wmask
);
  wire [11:0] data_arrays_0_RW0_addr; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
  wire  data_arrays_0_RW0_en; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
  wire  data_arrays_0_RW0_clk; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
  wire  data_arrays_0_RW0_wmode; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
  wire [7:0] data_arrays_0_RW0_wdata_0; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
  wire [7:0] data_arrays_0_RW0_wdata_1; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
  wire [7:0] data_arrays_0_RW0_wdata_2; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
  wire [7:0] data_arrays_0_RW0_wdata_3; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
  wire [7:0] data_arrays_0_RW0_rdata_0; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
  wire [7:0] data_arrays_0_RW0_rdata_1; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
  wire [7:0] data_arrays_0_RW0_rdata_2; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
  wire [7:0] data_arrays_0_RW0_rdata_3; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
  wire  data_arrays_0_RW0_wmask_0; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
  wire  data_arrays_0_RW0_wmask_1; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
  wire  data_arrays_0_RW0_wmask_2; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
  wire  data_arrays_0_RW0_wmask_3; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
  wire  _T_27; // @[DCache.scala 57:17:shc.marmotcaravel.MarmotCaravelConfig.fir@198608.4]
  wire  _T_54; // @[DCache.scala 61:42:shc.marmotcaravel.MarmotCaravelConfig.fir@198634.4]
  wire  _T_55; // @[DCache.scala 61:39:shc.marmotcaravel.MarmotCaravelConfig.fir@198635.4]
  wire [15:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198645.4]
  wire [15:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198646.4]
  data_arrays_0 data_arrays_0 ( // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@198604.4]
    .RW0_addr(data_arrays_0_RW0_addr),
    .RW0_en(data_arrays_0_RW0_en),
    .RW0_clk(data_arrays_0_RW0_clk),
    .RW0_wmode(data_arrays_0_RW0_wmode),
    .RW0_wdata_0(data_arrays_0_RW0_wdata_0),
    .RW0_wdata_1(data_arrays_0_RW0_wdata_1),
    .RW0_wdata_2(data_arrays_0_RW0_wdata_2),
    .RW0_wdata_3(data_arrays_0_RW0_wdata_3),
    .RW0_rdata_0(data_arrays_0_RW0_rdata_0),
    .RW0_rdata_1(data_arrays_0_RW0_rdata_1),
    .RW0_rdata_2(data_arrays_0_RW0_rdata_2),
    .RW0_rdata_3(data_arrays_0_RW0_rdata_3),
    .RW0_wmask_0(data_arrays_0_RW0_wmask_0),
    .RW0_wmask_1(data_arrays_0_RW0_wmask_1),
    .RW0_wmask_2(data_arrays_0_RW0_wmask_2),
    .RW0_wmask_3(data_arrays_0_RW0_wmask_3),
    .data_arrays_0_ext_RW0_addr(data_arrays_0_ext_RW0_addr),
    .data_arrays_0_ext_RW0_en(data_arrays_0_ext_RW0_en),
    .data_arrays_0_ext_RW0_clk(data_arrays_0_ext_RW0_clk),
    .data_arrays_0_ext_RW0_wmode(data_arrays_0_ext_RW0_wmode),
    .data_arrays_0_ext_RW0_wdata(data_arrays_0_ext_RW0_wdata),
    .data_arrays_0_ext_RW0_rdata(data_arrays_0_ext_RW0_rdata),
    .data_arrays_0_ext_RW0_wmask(data_arrays_0_ext_RW0_wmask)
  );
  assign _T_27 = io_req_valid & io_req_bits_write; // @[DCache.scala 57:17:shc.marmotcaravel.MarmotCaravelConfig.fir@198608.4]
  assign _T_54 = io_req_bits_write == 1'h0; // @[DCache.scala 61:42:shc.marmotcaravel.MarmotCaravelConfig.fir@198634.4]
  assign _T_55 = io_req_valid & _T_54; // @[DCache.scala 61:39:shc.marmotcaravel.MarmotCaravelConfig.fir@198635.4]
  assign _T_72 = {data_arrays_0_RW0_rdata_1,data_arrays_0_RW0_rdata_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198645.4]
  assign _T_73 = {data_arrays_0_RW0_rdata_3,data_arrays_0_RW0_rdata_2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198646.4]
  assign io_resp_0 = {_T_73,_T_72}; // @[DCache.scala 64:69:shc.marmotcaravel.MarmotCaravelConfig.fir@198648.4]
  assign data_arrays_0_RW0_wdata_0 = io_req_bits_wdata[7:0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198622.8]
  assign data_arrays_0_RW0_wdata_1 = io_req_bits_wdata[15:8]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198625.8]
  assign data_arrays_0_RW0_wdata_2 = io_req_bits_wdata[23:16]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198628.8]
  assign data_arrays_0_RW0_wdata_3 = io_req_bits_wdata[31:24]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198631.8]
  assign data_arrays_0_RW0_wmask_0 = io_req_bits_eccMask[0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198620.6 :shc.marmotcaravel.MarmotCaravelConfig.fir@198622.8]
  assign data_arrays_0_RW0_wmask_1 = io_req_bits_eccMask[1]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198620.6 :shc.marmotcaravel.MarmotCaravelConfig.fir@198625.8]
  assign data_arrays_0_RW0_wmask_2 = io_req_bits_eccMask[2]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198620.6 :shc.marmotcaravel.MarmotCaravelConfig.fir@198628.8]
  assign data_arrays_0_RW0_wmask_3 = io_req_bits_eccMask[3]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198620.6 :shc.marmotcaravel.MarmotCaravelConfig.fir@198631.8]
  assign data_arrays_0_RW0_wmode = io_req_bits_write;
  assign data_arrays_0_RW0_clk = clock;
  assign data_arrays_0_RW0_en = _T_55 | _T_27;
  assign data_arrays_0_RW0_addr = io_req_bits_addr[13:2];
endmodule
module Arbiter_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198650.2]
  input         io_in_0_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
  input  [13:0] io_in_0_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
  input         io_in_0_bits_write, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
  input  [31:0] io_in_0_bits_wdata, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
  input  [3:0]  io_in_0_bits_eccMask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
  output        io_in_1_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
  input         io_in_1_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
  input  [13:0] io_in_1_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
  input         io_in_1_bits_write, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
  input  [31:0] io_in_1_bits_wdata, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
  input  [3:0]  io_in_1_bits_eccMask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
  output        io_in_2_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
  input         io_in_2_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
  input  [13:0] io_in_2_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
  input  [31:0] io_in_2_bits_wdata, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
  input  [3:0]  io_in_2_bits_eccMask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
  output        io_in_3_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
  input         io_in_3_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
  input  [13:0] io_in_3_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
  input  [31:0] io_in_3_bits_wdata, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
  input  [3:0]  io_in_3_bits_eccMask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
  output        io_out_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
  output [13:0] io_out_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
  output        io_out_bits_write, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
  output [31:0] io_out_bits_wdata, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
  output [3:0]  io_out_bits_eccMask // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198653.4]
);
  wire [3:0] _GEN_2; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198663.4]
  wire [31:0] _GEN_5; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198663.4]
  wire [13:0] _GEN_7; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198663.4]
  wire [3:0] _GEN_10; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198673.4]
  wire [31:0] _GEN_13; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198673.4]
  wire  _GEN_14; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198673.4]
  wire [13:0] _GEN_15; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198673.4]
  wire  _T_94; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@198693.4]
  wire  _T_95; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@198694.4]
  wire  _T_98; // @[Arbiter.scala 31:78:shc.marmotcaravel.MarmotCaravelConfig.fir@198697.4]
  wire  _T_103; // @[Arbiter.scala 135:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198706.4]
  assign _GEN_2 = io_in_2_valid ? io_in_2_bits_eccMask : io_in_3_bits_eccMask; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198663.4]
  assign _GEN_5 = io_in_2_valid ? io_in_2_bits_wdata : io_in_3_bits_wdata; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198663.4]
  assign _GEN_7 = io_in_2_valid ? io_in_2_bits_addr : io_in_3_bits_addr; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198663.4]
  assign _GEN_10 = io_in_1_valid ? io_in_1_bits_eccMask : _GEN_2; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198673.4]
  assign _GEN_13 = io_in_1_valid ? io_in_1_bits_wdata : _GEN_5; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198673.4]
  assign _GEN_14 = io_in_1_valid ? io_in_1_bits_write : 1'h0; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198673.4]
  assign _GEN_15 = io_in_1_valid ? io_in_1_bits_addr : _GEN_7; // @[Arbiter.scala 126:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198673.4]
  assign _T_94 = io_in_0_valid | io_in_1_valid; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@198693.4]
  assign _T_95 = _T_94 | io_in_2_valid; // @[Arbiter.scala 31:68:shc.marmotcaravel.MarmotCaravelConfig.fir@198694.4]
  assign _T_98 = _T_95 == 1'h0; // @[Arbiter.scala 31:78:shc.marmotcaravel.MarmotCaravelConfig.fir@198697.4]
  assign _T_103 = _T_98 == 1'h0; // @[Arbiter.scala 135:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198706.4]
  assign io_in_1_ready = io_in_0_valid == 1'h0; // @[Arbiter.scala 134:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198701.4]
  assign io_in_2_ready = _T_94 == 1'h0; // @[Arbiter.scala 134:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198703.4]
  assign io_in_3_ready = _T_95 == 1'h0; // @[Arbiter.scala 134:14:shc.marmotcaravel.MarmotCaravelConfig.fir@198705.4]
  assign io_out_valid = _T_103 | io_in_3_valid; // @[Arbiter.scala 135:16:shc.marmotcaravel.MarmotCaravelConfig.fir@198708.4]
  assign io_out_bits_addr = io_in_0_valid ? io_in_0_bits_addr : _GEN_15; // @[Arbiter.scala 124:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198662.4 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198671.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198681.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198691.6]
  assign io_out_bits_write = io_in_0_valid ? io_in_0_bits_write : _GEN_14; // @[Arbiter.scala 124:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198661.4 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198670.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198680.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198690.6]
  assign io_out_bits_wdata = io_in_0_valid ? io_in_0_bits_wdata : _GEN_13; // @[Arbiter.scala 124:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198660.4 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198669.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198679.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198689.6]
  assign io_out_bits_eccMask = io_in_0_valid ? io_in_0_bits_eccMask : _GEN_10; // @[Arbiter.scala 124:15:shc.marmotcaravel.MarmotCaravelConfig.fir@198657.4 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198666.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198676.6 Arbiter.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@198686.6]
endmodule
module PMPChecker( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198710.2]
  input         io_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input  [1:0]  io_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input  [29:0] io_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input  [31:0] io_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input  [1:0]  io_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input  [29:0] io_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input  [31:0] io_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input  [1:0]  io_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input  [29:0] io_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input  [31:0] io_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input  [1:0]  io_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input  [29:0] io_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input  [31:0] io_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input  [1:0]  io_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input  [29:0] io_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input  [31:0] io_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input  [1:0]  io_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input  [29:0] io_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input  [31:0] io_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input  [1:0]  io_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input  [29:0] io_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input  [31:0] io_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input  [1:0]  io_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input         io_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input  [29:0] io_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input  [31:0] io_pmp_7_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  input  [31:0] io_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  output        io_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  output        io_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
  output        io_x // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@198713.4]
);
  wire  _T_37; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@198746.4]
  wire [31:0] _GEN_0; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198747.4]
  wire [31:0] _T_38; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198747.4]
  wire [31:0] _T_39; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198748.4]
  wire [31:0] _T_40; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198749.4]
  wire [31:0] _T_41; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198750.4]
  wire [31:0] _T_42; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@198751.4]
  wire [31:0] _T_43; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@198752.4]
  wire [31:0] _T_44; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198753.4]
  wire  _T_45; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198754.4]
  wire  _T_46; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198755.4]
  wire [31:0] _GEN_1; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198760.4]
  wire [31:0] _T_51; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198760.4]
  wire [31:0] _T_52; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198761.4]
  wire [31:0] _T_53; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198762.4]
  wire [31:0] _T_54; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198763.4]
  wire  _T_55; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198764.4]
  wire  _T_56; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@198765.4]
  wire  _T_61; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198770.4]
  wire  _T_62; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198771.4]
  wire  _T_63; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@198772.4]
  wire  _T_64; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198773.4]
  wire  _T_65; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198774.4]
  wire  _T_70; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198780.4]
  wire  _T_72; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198783.4]
  wire  _T_74; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198786.4]
  wire  _T_75_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198788.4]
  wire  _T_75_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198788.4]
  wire  _T_75_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198788.4]
  wire  _T_76; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@198789.4]
  wire [31:0] _T_81; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@198794.4]
  wire [31:0] _T_82; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@198795.4]
  wire [31:0] _T_83; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198796.4]
  wire  _T_84; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198797.4]
  wire  _T_85; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198798.4]
  wire [31:0] _GEN_4; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198803.4]
  wire [31:0] _T_90; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198803.4]
  wire [31:0] _T_91; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198804.4]
  wire [31:0] _T_92; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198805.4]
  wire [31:0] _T_93; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198806.4]
  wire  _T_94; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198807.4]
  wire  _T_95; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@198808.4]
  wire  _T_101; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198814.4]
  wire  _T_102; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@198815.4]
  wire  _T_103; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198816.4]
  wire  _T_104; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198817.4]
  wire  _T_109; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198823.4]
  wire  _T_111; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198826.4]
  wire  _T_113; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198829.4]
  wire  _T_114_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198831.4]
  wire  _T_114_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198831.4]
  wire  _T_114_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198831.4]
  wire  _T_115; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@198832.4]
  wire [31:0] _T_120; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@198837.4]
  wire [31:0] _T_121; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@198838.4]
  wire [31:0] _T_122; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198839.4]
  wire  _T_123; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198840.4]
  wire  _T_124; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198841.4]
  wire [31:0] _GEN_7; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198846.4]
  wire [31:0] _T_129; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198846.4]
  wire [31:0] _T_130; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198847.4]
  wire [31:0] _T_131; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198848.4]
  wire [31:0] _T_132; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198849.4]
  wire  _T_133; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198850.4]
  wire  _T_134; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@198851.4]
  wire  _T_140; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198857.4]
  wire  _T_141; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@198858.4]
  wire  _T_142; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198859.4]
  wire  _T_143; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198860.4]
  wire  _T_148; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198866.4]
  wire  _T_150; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198869.4]
  wire  _T_152; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198872.4]
  wire  _T_153_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198874.4]
  wire  _T_153_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198874.4]
  wire  _T_153_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198874.4]
  wire  _T_154; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@198875.4]
  wire [31:0] _T_159; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@198880.4]
  wire [31:0] _T_160; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@198881.4]
  wire [31:0] _T_161; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198882.4]
  wire  _T_162; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198883.4]
  wire  _T_163; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198884.4]
  wire [31:0] _GEN_10; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198889.4]
  wire [31:0] _T_168; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198889.4]
  wire [31:0] _T_169; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198890.4]
  wire [31:0] _T_170; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198891.4]
  wire [31:0] _T_171; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198892.4]
  wire  _T_172; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198893.4]
  wire  _T_173; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@198894.4]
  wire  _T_179; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198900.4]
  wire  _T_180; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@198901.4]
  wire  _T_181; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198902.4]
  wire  _T_182; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198903.4]
  wire  _T_187; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198909.4]
  wire  _T_189; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198912.4]
  wire  _T_191; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198915.4]
  wire  _T_192_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198917.4]
  wire  _T_192_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198917.4]
  wire  _T_192_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198917.4]
  wire  _T_193; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@198918.4]
  wire [31:0] _T_198; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@198923.4]
  wire [31:0] _T_199; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@198924.4]
  wire [31:0] _T_200; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198925.4]
  wire  _T_201; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198926.4]
  wire  _T_202; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198927.4]
  wire [31:0] _GEN_13; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198932.4]
  wire [31:0] _T_207; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198932.4]
  wire [31:0] _T_208; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198933.4]
  wire [31:0] _T_209; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198934.4]
  wire [31:0] _T_210; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198935.4]
  wire  _T_211; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198936.4]
  wire  _T_212; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@198937.4]
  wire  _T_218; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198943.4]
  wire  _T_219; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@198944.4]
  wire  _T_220; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198945.4]
  wire  _T_221; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198946.4]
  wire  _T_226; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198952.4]
  wire  _T_228; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198955.4]
  wire  _T_230; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198958.4]
  wire  _T_231_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198960.4]
  wire  _T_231_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198960.4]
  wire  _T_231_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198960.4]
  wire  _T_232; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@198961.4]
  wire [31:0] _T_237; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@198966.4]
  wire [31:0] _T_238; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@198967.4]
  wire [31:0] _T_239; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198968.4]
  wire  _T_240; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198969.4]
  wire  _T_241; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198970.4]
  wire [31:0] _GEN_16; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198975.4]
  wire [31:0] _T_246; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198975.4]
  wire [31:0] _T_247; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198976.4]
  wire [31:0] _T_248; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198977.4]
  wire [31:0] _T_249; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198978.4]
  wire  _T_250; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198979.4]
  wire  _T_251; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@198980.4]
  wire  _T_257; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198986.4]
  wire  _T_258; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@198987.4]
  wire  _T_259; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198988.4]
  wire  _T_260; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198989.4]
  wire  _T_265; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198995.4]
  wire  _T_267; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198998.4]
  wire  _T_269; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199001.4]
  wire  _T_270_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199003.4]
  wire  _T_270_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199003.4]
  wire  _T_270_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199003.4]
  wire  _T_271; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@199004.4]
  wire [31:0] _T_276; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@199009.4]
  wire [31:0] _T_277; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@199010.4]
  wire [31:0] _T_278; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199011.4]
  wire  _T_279; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@199012.4]
  wire  _T_280; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@199013.4]
  wire [31:0] _GEN_19; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@199018.4]
  wire [31:0] _T_285; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@199018.4]
  wire [31:0] _T_286; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@199019.4]
  wire [31:0] _T_287; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@199020.4]
  wire [31:0] _T_288; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199021.4]
  wire  _T_289; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@199022.4]
  wire  _T_290; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@199023.4]
  wire  _T_296; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@199029.4]
  wire  _T_297; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@199030.4]
  wire  _T_298; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199031.4]
  wire  _T_299; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@199032.4]
  wire  _T_304; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199038.4]
  wire  _T_306; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199041.4]
  wire  _T_308; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199044.4]
  wire  _T_309_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199046.4]
  wire  _T_309_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199046.4]
  wire  _T_309_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199046.4]
  wire  _T_310; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@199047.4]
  wire [31:0] _T_315; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@199052.4]
  wire [31:0] _T_316; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@199053.4]
  wire [31:0] _T_317; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199054.4]
  wire  _T_318; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@199055.4]
  wire  _T_319; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@199056.4]
  wire  _T_336; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@199073.4]
  wire  _T_337; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199074.4]
  wire  _T_338; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@199075.4]
  wire  _T_343; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199081.4]
  wire  _T_345; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199084.4]
  wire  _T_347; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199087.4]
  assign _T_37 = io_pmp_7_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@198746.4]
  assign _GEN_0 = {{2'd0}, io_pmp_7_addr}; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198747.4]
  assign _T_38 = _GEN_0 << 2; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198747.4]
  assign _T_39 = ~ _T_38; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198748.4]
  assign _T_40 = _T_39 | 32'h3; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198749.4]
  assign _T_41 = ~ _T_40; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198750.4]
  assign _T_42 = io_addr ^ _T_41; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@198751.4]
  assign _T_43 = ~ io_pmp_7_mask; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@198752.4]
  assign _T_44 = _T_42 & _T_43; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198753.4]
  assign _T_45 = _T_44 == 32'h0; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198754.4]
  assign _T_46 = io_pmp_7_cfg_a[0]; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198755.4]
  assign _GEN_1 = {{2'd0}, io_pmp_6_addr}; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198760.4]
  assign _T_51 = _GEN_1 << 2; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198760.4]
  assign _T_52 = ~ _T_51; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198761.4]
  assign _T_53 = _T_52 | 32'h3; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198762.4]
  assign _T_54 = ~ _T_53; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198763.4]
  assign _T_55 = io_addr < _T_54; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198764.4]
  assign _T_56 = _T_55 == 1'h0; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@198765.4]
  assign _T_61 = io_addr < _T_41; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198770.4]
  assign _T_62 = _T_56 & _T_61; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198771.4]
  assign _T_63 = _T_46 & _T_62; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@198772.4]
  assign _T_64 = _T_37 ? _T_45 : _T_63; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198773.4]
  assign _T_65 = io_pmp_7_cfg_l == 1'h0; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198774.4]
  assign _T_70 = io_pmp_7_cfg_r | _T_65; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198780.4]
  assign _T_72 = io_pmp_7_cfg_w | _T_65; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198783.4]
  assign _T_74 = io_pmp_7_cfg_x | _T_65; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198786.4]
  assign _T_75_cfg_x = _T_64 ? _T_74 : 1'h1; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198788.4]
  assign _T_75_cfg_w = _T_64 ? _T_72 : 1'h1; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198788.4]
  assign _T_75_cfg_r = _T_64 ? _T_70 : 1'h1; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198788.4]
  assign _T_76 = io_pmp_6_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@198789.4]
  assign _T_81 = io_addr ^ _T_54; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@198794.4]
  assign _T_82 = ~ io_pmp_6_mask; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@198795.4]
  assign _T_83 = _T_81 & _T_82; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198796.4]
  assign _T_84 = _T_83 == 32'h0; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198797.4]
  assign _T_85 = io_pmp_6_cfg_a[0]; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198798.4]
  assign _GEN_4 = {{2'd0}, io_pmp_5_addr}; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198803.4]
  assign _T_90 = _GEN_4 << 2; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198803.4]
  assign _T_91 = ~ _T_90; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198804.4]
  assign _T_92 = _T_91 | 32'h3; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198805.4]
  assign _T_93 = ~ _T_92; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198806.4]
  assign _T_94 = io_addr < _T_93; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198807.4]
  assign _T_95 = _T_94 == 1'h0; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@198808.4]
  assign _T_101 = _T_95 & _T_55; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198814.4]
  assign _T_102 = _T_85 & _T_101; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@198815.4]
  assign _T_103 = _T_76 ? _T_84 : _T_102; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198816.4]
  assign _T_104 = io_pmp_6_cfg_l == 1'h0; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198817.4]
  assign _T_109 = io_pmp_6_cfg_r | _T_104; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198823.4]
  assign _T_111 = io_pmp_6_cfg_w | _T_104; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198826.4]
  assign _T_113 = io_pmp_6_cfg_x | _T_104; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198829.4]
  assign _T_114_cfg_x = _T_103 ? _T_113 : _T_75_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198831.4]
  assign _T_114_cfg_w = _T_103 ? _T_111 : _T_75_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198831.4]
  assign _T_114_cfg_r = _T_103 ? _T_109 : _T_75_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198831.4]
  assign _T_115 = io_pmp_5_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@198832.4]
  assign _T_120 = io_addr ^ _T_93; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@198837.4]
  assign _T_121 = ~ io_pmp_5_mask; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@198838.4]
  assign _T_122 = _T_120 & _T_121; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198839.4]
  assign _T_123 = _T_122 == 32'h0; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198840.4]
  assign _T_124 = io_pmp_5_cfg_a[0]; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198841.4]
  assign _GEN_7 = {{2'd0}, io_pmp_4_addr}; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198846.4]
  assign _T_129 = _GEN_7 << 2; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198846.4]
  assign _T_130 = ~ _T_129; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198847.4]
  assign _T_131 = _T_130 | 32'h3; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198848.4]
  assign _T_132 = ~ _T_131; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198849.4]
  assign _T_133 = io_addr < _T_132; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198850.4]
  assign _T_134 = _T_133 == 1'h0; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@198851.4]
  assign _T_140 = _T_134 & _T_94; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198857.4]
  assign _T_141 = _T_124 & _T_140; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@198858.4]
  assign _T_142 = _T_115 ? _T_123 : _T_141; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198859.4]
  assign _T_143 = io_pmp_5_cfg_l == 1'h0; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198860.4]
  assign _T_148 = io_pmp_5_cfg_r | _T_143; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198866.4]
  assign _T_150 = io_pmp_5_cfg_w | _T_143; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198869.4]
  assign _T_152 = io_pmp_5_cfg_x | _T_143; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198872.4]
  assign _T_153_cfg_x = _T_142 ? _T_152 : _T_114_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198874.4]
  assign _T_153_cfg_w = _T_142 ? _T_150 : _T_114_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198874.4]
  assign _T_153_cfg_r = _T_142 ? _T_148 : _T_114_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198874.4]
  assign _T_154 = io_pmp_4_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@198875.4]
  assign _T_159 = io_addr ^ _T_132; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@198880.4]
  assign _T_160 = ~ io_pmp_4_mask; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@198881.4]
  assign _T_161 = _T_159 & _T_160; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198882.4]
  assign _T_162 = _T_161 == 32'h0; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198883.4]
  assign _T_163 = io_pmp_4_cfg_a[0]; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198884.4]
  assign _GEN_10 = {{2'd0}, io_pmp_3_addr}; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198889.4]
  assign _T_168 = _GEN_10 << 2; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198889.4]
  assign _T_169 = ~ _T_168; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198890.4]
  assign _T_170 = _T_169 | 32'h3; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198891.4]
  assign _T_171 = ~ _T_170; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198892.4]
  assign _T_172 = io_addr < _T_171; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198893.4]
  assign _T_173 = _T_172 == 1'h0; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@198894.4]
  assign _T_179 = _T_173 & _T_133; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198900.4]
  assign _T_180 = _T_163 & _T_179; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@198901.4]
  assign _T_181 = _T_154 ? _T_162 : _T_180; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198902.4]
  assign _T_182 = io_pmp_4_cfg_l == 1'h0; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198903.4]
  assign _T_187 = io_pmp_4_cfg_r | _T_182; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198909.4]
  assign _T_189 = io_pmp_4_cfg_w | _T_182; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198912.4]
  assign _T_191 = io_pmp_4_cfg_x | _T_182; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198915.4]
  assign _T_192_cfg_x = _T_181 ? _T_191 : _T_153_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198917.4]
  assign _T_192_cfg_w = _T_181 ? _T_189 : _T_153_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198917.4]
  assign _T_192_cfg_r = _T_181 ? _T_187 : _T_153_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198917.4]
  assign _T_193 = io_pmp_3_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@198918.4]
  assign _T_198 = io_addr ^ _T_171; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@198923.4]
  assign _T_199 = ~ io_pmp_3_mask; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@198924.4]
  assign _T_200 = _T_198 & _T_199; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198925.4]
  assign _T_201 = _T_200 == 32'h0; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198926.4]
  assign _T_202 = io_pmp_3_cfg_a[0]; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198927.4]
  assign _GEN_13 = {{2'd0}, io_pmp_2_addr}; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198932.4]
  assign _T_207 = _GEN_13 << 2; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198932.4]
  assign _T_208 = ~ _T_207; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198933.4]
  assign _T_209 = _T_208 | 32'h3; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198934.4]
  assign _T_210 = ~ _T_209; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198935.4]
  assign _T_211 = io_addr < _T_210; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198936.4]
  assign _T_212 = _T_211 == 1'h0; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@198937.4]
  assign _T_218 = _T_212 & _T_172; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198943.4]
  assign _T_219 = _T_202 & _T_218; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@198944.4]
  assign _T_220 = _T_193 ? _T_201 : _T_219; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198945.4]
  assign _T_221 = io_pmp_3_cfg_l == 1'h0; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198946.4]
  assign _T_226 = io_pmp_3_cfg_r | _T_221; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198952.4]
  assign _T_228 = io_pmp_3_cfg_w | _T_221; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198955.4]
  assign _T_230 = io_pmp_3_cfg_x | _T_221; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198958.4]
  assign _T_231_cfg_x = _T_220 ? _T_230 : _T_192_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198960.4]
  assign _T_231_cfg_w = _T_220 ? _T_228 : _T_192_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198960.4]
  assign _T_231_cfg_r = _T_220 ? _T_226 : _T_192_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198960.4]
  assign _T_232 = io_pmp_2_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@198961.4]
  assign _T_237 = io_addr ^ _T_210; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@198966.4]
  assign _T_238 = ~ io_pmp_2_mask; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@198967.4]
  assign _T_239 = _T_237 & _T_238; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@198968.4]
  assign _T_240 = _T_239 == 32'h0; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@198969.4]
  assign _T_241 = io_pmp_2_cfg_a[0]; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@198970.4]
  assign _GEN_16 = {{2'd0}, io_pmp_1_addr}; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198975.4]
  assign _T_246 = _GEN_16 << 2; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@198975.4]
  assign _T_247 = ~ _T_246; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198976.4]
  assign _T_248 = _T_247 | 32'h3; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198977.4]
  assign _T_249 = ~ _T_248; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@198978.4]
  assign _T_250 = io_addr < _T_249; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@198979.4]
  assign _T_251 = _T_250 == 1'h0; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@198980.4]
  assign _T_257 = _T_251 & _T_211; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@198986.4]
  assign _T_258 = _T_241 & _T_257; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@198987.4]
  assign _T_259 = _T_232 ? _T_240 : _T_258; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@198988.4]
  assign _T_260 = io_pmp_2_cfg_l == 1'h0; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@198989.4]
  assign _T_265 = io_pmp_2_cfg_r | _T_260; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198995.4]
  assign _T_267 = io_pmp_2_cfg_w | _T_260; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@198998.4]
  assign _T_269 = io_pmp_2_cfg_x | _T_260; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199001.4]
  assign _T_270_cfg_x = _T_259 ? _T_269 : _T_231_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199003.4]
  assign _T_270_cfg_w = _T_259 ? _T_267 : _T_231_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199003.4]
  assign _T_270_cfg_r = _T_259 ? _T_265 : _T_231_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199003.4]
  assign _T_271 = io_pmp_1_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@199004.4]
  assign _T_276 = io_addr ^ _T_249; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@199009.4]
  assign _T_277 = ~ io_pmp_1_mask; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@199010.4]
  assign _T_278 = _T_276 & _T_277; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199011.4]
  assign _T_279 = _T_278 == 32'h0; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@199012.4]
  assign _T_280 = io_pmp_1_cfg_a[0]; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@199013.4]
  assign _GEN_19 = {{2'd0}, io_pmp_0_addr}; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@199018.4]
  assign _T_285 = _GEN_19 << 2; // @[PMP.scala 54:36:shc.marmotcaravel.MarmotCaravelConfig.fir@199018.4]
  assign _T_286 = ~ _T_285; // @[PMP.scala 54:29:shc.marmotcaravel.MarmotCaravelConfig.fir@199019.4]
  assign _T_287 = _T_286 | 32'h3; // @[PMP.scala 54:48:shc.marmotcaravel.MarmotCaravelConfig.fir@199020.4]
  assign _T_288 = ~ _T_287; // @[PMP.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@199021.4]
  assign _T_289 = io_addr < _T_288; // @[PMP.scala 71:9:shc.marmotcaravel.MarmotCaravelConfig.fir@199022.4]
  assign _T_290 = _T_289 == 1'h0; // @[PMP.scala 82:5:shc.marmotcaravel.MarmotCaravelConfig.fir@199023.4]
  assign _T_296 = _T_290 & _T_250; // @[PMP.scala 88:48:shc.marmotcaravel.MarmotCaravelConfig.fir@199029.4]
  assign _T_297 = _T_280 & _T_296; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@199030.4]
  assign _T_298 = _T_271 ? _T_279 : _T_297; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199031.4]
  assign _T_299 = io_pmp_1_cfg_l == 1'h0; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@199032.4]
  assign _T_304 = io_pmp_1_cfg_r | _T_299; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199038.4]
  assign _T_306 = io_pmp_1_cfg_w | _T_299; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199041.4]
  assign _T_308 = io_pmp_1_cfg_x | _T_299; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199044.4]
  assign _T_309_cfg_x = _T_298 ? _T_308 : _T_270_cfg_x; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199046.4]
  assign _T_309_cfg_w = _T_298 ? _T_306 : _T_270_cfg_w; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199046.4]
  assign _T_309_cfg_r = _T_298 ? _T_304 : _T_270_cfg_r; // @[PMP.scala 163:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199046.4]
  assign _T_310 = io_pmp_0_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@199047.4]
  assign _T_315 = io_addr ^ _T_288; // @[PMP.scala 57:47:shc.marmotcaravel.MarmotCaravelConfig.fir@199052.4]
  assign _T_316 = ~ io_pmp_0_mask; // @[PMP.scala 57:54:shc.marmotcaravel.MarmotCaravelConfig.fir@199053.4]
  assign _T_317 = _T_315 & _T_316; // @[PMP.scala 57:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199054.4]
  assign _T_318 = _T_317 == 32'h0; // @[PMP.scala 57:58:shc.marmotcaravel.MarmotCaravelConfig.fir@199055.4]
  assign _T_319 = io_pmp_0_cfg_a[0]; // @[PMP.scala 40:26:shc.marmotcaravel.MarmotCaravelConfig.fir@199056.4]
  assign _T_336 = _T_319 & _T_289; // @[PMP.scala 126:61:shc.marmotcaravel.MarmotCaravelConfig.fir@199073.4]
  assign _T_337 = _T_310 ? _T_318 : _T_336; // @[PMP.scala 126:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199074.4]
  assign _T_338 = io_pmp_0_cfg_l == 1'h0; // @[PMP.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@199075.4]
  assign _T_343 = io_pmp_0_cfg_r | _T_338; // @[PMP.scala 160:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199081.4]
  assign _T_345 = io_pmp_0_cfg_w | _T_338; // @[PMP.scala 161:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199084.4]
  assign _T_347 = io_pmp_0_cfg_x | _T_338; // @[PMP.scala 162:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199087.4]
  assign io_r = _T_337 ? _T_343 : _T_309_cfg_r; // @[PMP.scala 166:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199090.4]
  assign io_w = _T_337 ? _T_345 : _T_309_cfg_w; // @[PMP.scala 167:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199091.4]
  assign io_x = _T_337 ? _T_347 : _T_309_cfg_x; // @[PMP.scala 168:8:shc.marmotcaravel.MarmotCaravelConfig.fir@199092.4]
endmodule
module TLB( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199094.2]
  input         io_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input  [31:0] io_req_bits_vaddr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input  [1:0]  io_req_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input  [4:0]  io_req_bits_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  output [31:0] io_resp_paddr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  output        io_resp_pf_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  output        io_resp_pf_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  output        io_resp_ae_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  output        io_resp_ae_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  output        io_resp_ma_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  output        io_resp_ma_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input  [1:0]  io_ptw_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input  [29:0] io_ptw_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input  [31:0] io_ptw_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input  [1:0]  io_ptw_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input  [29:0] io_ptw_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input  [31:0] io_ptw_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input  [1:0]  io_ptw_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input  [29:0] io_ptw_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input  [31:0] io_ptw_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input  [1:0]  io_ptw_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input  [29:0] io_ptw_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input  [31:0] io_ptw_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input  [1:0]  io_ptw_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input  [29:0] io_ptw_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input  [31:0] io_ptw_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input  [1:0]  io_ptw_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input  [29:0] io_ptw_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input  [31:0] io_ptw_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input  [1:0]  io_ptw_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input  [29:0] io_ptw_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input  [31:0] io_ptw_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input  [1:0]  io_ptw_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input         io_ptw_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input  [29:0] io_ptw_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
  input  [31:0] io_ptw_pmp_7_mask // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@199097.4]
);
  wire  pmp_io_pmp_0_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire [1:0] pmp_io_pmp_0_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_0_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_0_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_0_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire [29:0] pmp_io_pmp_0_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire [31:0] pmp_io_pmp_0_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_1_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire [1:0] pmp_io_pmp_1_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_1_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_1_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_1_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire [29:0] pmp_io_pmp_1_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire [31:0] pmp_io_pmp_1_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_2_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire [1:0] pmp_io_pmp_2_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_2_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_2_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_2_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire [29:0] pmp_io_pmp_2_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire [31:0] pmp_io_pmp_2_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_3_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire [1:0] pmp_io_pmp_3_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_3_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_3_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_3_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire [29:0] pmp_io_pmp_3_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire [31:0] pmp_io_pmp_3_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_4_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire [1:0] pmp_io_pmp_4_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_4_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_4_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_4_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire [29:0] pmp_io_pmp_4_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire [31:0] pmp_io_pmp_4_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_5_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire [1:0] pmp_io_pmp_5_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_5_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_5_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_5_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire [29:0] pmp_io_pmp_5_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire [31:0] pmp_io_pmp_5_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_6_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire [1:0] pmp_io_pmp_6_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_6_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_6_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_6_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire [29:0] pmp_io_pmp_6_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire [31:0] pmp_io_pmp_6_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_7_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire [1:0] pmp_io_pmp_7_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_7_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_7_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_pmp_7_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire [29:0] pmp_io_pmp_7_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire [31:0] pmp_io_pmp_7_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire [31:0] pmp_io_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire  pmp_io_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
  wire [19:0] vpn; // @[TLB.scala 179:30:shc.marmotcaravel.MarmotCaravelConfig.fir@199118.4]
  wire [19:0] mpu_ppn; // @[TLB.scala 184:123:shc.marmotcaravel.MarmotCaravelConfig.fir@199160.4]
  wire [11:0] _T_223; // @[TLB.scala 185:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199163.4]
  wire [31:0] mpu_physaddr; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@199164.4]
  wire [31:0] _T_227; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199183.4]
  wire [32:0] _T_228; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199184.4]
  wire [32:0] _T_229; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199185.4]
  wire [32:0] _T_230; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199186.4]
  wire  _T_231; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199187.4]
  wire [31:0] _T_232; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199188.4]
  wire [32:0] _T_233; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199189.4]
  wire [32:0] _T_234; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199190.4]
  wire [32:0] _T_235; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199191.4]
  wire  _T_236; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199192.4]
  wire [31:0] _T_237; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199193.4]
  wire [32:0] _T_238; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199194.4]
  wire [32:0] _T_239; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199195.4]
  wire [32:0] _T_240; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199196.4]
  wire  _T_241; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199197.4]
  wire [31:0] _T_242; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199198.4]
  wire [32:0] _T_243; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199199.4]
  wire [32:0] _T_244; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199200.4]
  wire [32:0] _T_245; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199201.4]
  wire  _T_246; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199202.4]
  wire [31:0] _T_247; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199203.4]
  wire [32:0] _T_248; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199204.4]
  wire [32:0] _T_249; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199205.4]
  wire [32:0] _T_250; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199206.4]
  wire  _T_251; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199207.4]
  wire [31:0] _T_252; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199208.4]
  wire [32:0] _T_253; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199209.4]
  wire [32:0] _T_254; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199210.4]
  wire [32:0] _T_255; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199211.4]
  wire  _T_256; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199212.4]
  wire [31:0] _T_257; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199213.4]
  wire [32:0] _T_258; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199214.4]
  wire [32:0] _T_259; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199215.4]
  wire [32:0] _T_260; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199216.4]
  wire  _T_261; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199217.4]
  wire [31:0] _T_262; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199218.4]
  wire [32:0] _T_263; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199219.4]
  wire [32:0] _T_264; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199220.4]
  wire [32:0] _T_265; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199221.4]
  wire  _T_266; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199222.4]
  wire [31:0] _T_267; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199223.4]
  wire [32:0] _T_268; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199224.4]
  wire [32:0] _T_269; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199225.4]
  wire [32:0] _T_270; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199226.4]
  wire  _T_271; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199227.4]
  wire [31:0] _T_272; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199228.4]
  wire [32:0] _T_273; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199229.4]
  wire [32:0] _T_274; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199230.4]
  wire [32:0] _T_275; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199231.4]
  wire  _T_276; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199232.4]
  wire [31:0] _T_277; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199233.4]
  wire [32:0] _T_278; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199234.4]
  wire [32:0] _T_279; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199235.4]
  wire [32:0] _T_280; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199236.4]
  wire  _T_281; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199237.4]
  wire [31:0] _T_282; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199238.4]
  wire [32:0] _T_283; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199239.4]
  wire [32:0] _T_284; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199240.4]
  wire [32:0] _T_285; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199241.4]
  wire  _T_286; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199242.4]
  wire [31:0] _T_287; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199243.4]
  wire [32:0] _T_288; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199244.4]
  wire [32:0] _T_289; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199245.4]
  wire [32:0] _T_290; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199246.4]
  wire  _T_291; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199247.4]
  wire [31:0] _T_292; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199248.4]
  wire [32:0] _T_293; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199249.4]
  wire [32:0] _T_294; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199250.4]
  wire [32:0] _T_295; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199251.4]
  wire  _T_296; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199252.4]
  wire [31:0] _T_297; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199253.4]
  wire [32:0] _T_298; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199254.4]
  wire [32:0] _T_299; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199255.4]
  wire [32:0] _T_300; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199256.4]
  wire  _T_301; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199257.4]
  wire [32:0] _T_303; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199259.4]
  wire [32:0] _T_304; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199260.4]
  wire [32:0] _T_305; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199261.4]
  wire  _T_306; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199262.4]
  wire [31:0] _T_307; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199263.4]
  wire [32:0] _T_308; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199264.4]
  wire [32:0] _T_309; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199265.4]
  wire [32:0] _T_310; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199266.4]
  wire  _T_311; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199267.4]
  wire [31:0] _T_312; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199268.4]
  wire [32:0] _T_313; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199269.4]
  wire [32:0] _T_314; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199270.4]
  wire [32:0] _T_315; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199271.4]
  wire  _T_316; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199272.4]
  wire [31:0] _T_317; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199273.4]
  wire [32:0] _T_318; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199274.4]
  wire [32:0] _T_319; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199275.4]
  wire [32:0] _T_320; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199276.4]
  wire  _T_321; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199277.4]
  wire [31:0] _T_322; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199278.4]
  wire [32:0] _T_323; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199279.4]
  wire [32:0] _T_324; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199280.4]
  wire [32:0] _T_325; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199281.4]
  wire  _T_326; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199282.4]
  wire  _T_353; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199305.4]
  wire  _T_354; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199306.4]
  wire  _T_355; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199307.4]
  wire  _T_356; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199308.4]
  wire  _T_357; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199309.4]
  wire  _T_358; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199310.4]
  wire  _T_359; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199311.4]
  wire  _T_360; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199312.4]
  wire  _T_361; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199313.4]
  wire  _T_362; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199314.4]
  wire  _T_363; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199315.4]
  wire  _T_364; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199316.4]
  wire  _T_365; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199317.4]
  wire  _T_366; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199318.4]
  wire  _T_367; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199319.4]
  wire  _T_368; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199320.4]
  wire  _T_369; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199321.4]
  wire  _T_370; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199322.4]
  wire  legal_address; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199323.4]
  wire  prot_r; // @[TLB.scala 196:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199479.4]
  wire [32:0] _T_537; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199493.4]
  wire [32:0] _T_538; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199494.4]
  wire  _T_539; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199495.4]
  wire [31:0] _T_540; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199496.4]
  wire [32:0] _T_541; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199497.4]
  wire [32:0] _T_542; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199498.4]
  wire [32:0] _T_543; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199499.4]
  wire  _T_544; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199500.4]
  wire [31:0] _T_545; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199501.4]
  wire [32:0] _T_546; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199502.4]
  wire [32:0] _T_547; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199503.4]
  wire [32:0] _T_548; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199504.4]
  wire  _T_549; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199505.4]
  wire [32:0] _T_552; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199508.4]
  wire [32:0] _T_553; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199509.4]
  wire  _T_554; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199510.4]
  wire  _T_555; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199511.4]
  wire  _T_556; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199512.4]
  wire  _T_557; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199513.4]
  wire  _T_564; // @[TLB.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199519.4]
  wire  prot_w; // @[TLB.scala 197:45:shc.marmotcaravel.MarmotCaravelConfig.fir@199520.4]
  wire [32:0] _T_721; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199677.4]
  wire [32:0] _T_722; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199678.4]
  wire  _T_723; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199679.4]
  wire [31:0] _T_724; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199680.4]
  wire [32:0] _T_725; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199681.4]
  wire [32:0] _T_726; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199682.4]
  wire [32:0] _T_727; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199683.4]
  wire  _T_728; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199684.4]
  wire [32:0] _T_731; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199687.4]
  wire [32:0] _T_732; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199688.4]
  wire  _T_733; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199689.4]
  wire [32:0] _T_736; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199692.4]
  wire [32:0] _T_737; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199693.4]
  wire  _T_738; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199694.4]
  wire [32:0] _T_741; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199697.4]
  wire [32:0] _T_742; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199698.4]
  wire  _T_743; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199699.4]
  wire  _T_744; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199700.4]
  wire  _T_745; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199701.4]
  wire  _T_746; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199702.4]
  wire  _T_747; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199703.4]
  wire  prot_eff; // @[TLB.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199709.4]
  wire [1:0] _T_1327; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@200632.4]
  wire [6:0] pr_array; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@200637.4]
  wire [1:0] _T_1334; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@200640.4]
  wire [6:0] pw_array; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@200645.4]
  wire [1:0] _T_1348; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@200656.4]
  wire [6:0] paa_array; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@200661.4]
  wire [1:0] _T_1360; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@200670.4]
  wire [6:0] eff_array; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@200675.4]
  wire [3:0] _T_1377; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@200690.4]
  wire [4:0] _T_1378; // @[TLB.scala 263:69:shc.marmotcaravel.MarmotCaravelConfig.fir@200691.4]
  wire [4:0] _T_1379; // @[TLB.scala 263:69:shc.marmotcaravel.MarmotCaravelConfig.fir@200692.4]
  wire [3:0] _T_1380; // @[TLB.scala 263:69:shc.marmotcaravel.MarmotCaravelConfig.fir@200693.4]
  wire [31:0] _GEN_144; // @[TLB.scala 263:39:shc.marmotcaravel.MarmotCaravelConfig.fir@200694.4]
  wire [31:0] _T_1381; // @[TLB.scala 263:39:shc.marmotcaravel.MarmotCaravelConfig.fir@200694.4]
  wire  misaligned; // @[TLB.scala 263:75:shc.marmotcaravel.MarmotCaravelConfig.fir@200695.4]
  wire [6:0] _T_1382; // @[TLB.scala 270:8:shc.marmotcaravel.MarmotCaravelConfig.fir@200698.4]
  wire  _T_1383; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200699.4]
  wire  _T_1384; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200700.4]
  wire  _T_1385; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200701.4]
  wire [6:0] _T_1388; // @[TLB.scala 271:8:shc.marmotcaravel.MarmotCaravelConfig.fir@200704.4]
  wire [6:0] ae_array; // @[TLB.scala 270:37:shc.marmotcaravel.MarmotCaravelConfig.fir@200705.4]
  wire  _T_1389; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@200706.4]
  wire  _T_1391; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@200708.4]
  wire  _T_1393; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@200710.4]
  wire  _T_1394; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200711.4]
  wire  _T_1395; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200712.4]
  wire  _T_1396; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200713.4]
  wire  _T_1397; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200714.4]
  wire  _T_1398; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200715.4]
  wire  _T_1399; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200716.4]
  wire  _T_1400; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200717.4]
  wire  _T_1401; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200718.4]
  wire  _T_1402; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200719.4]
  wire  _T_1403; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200720.4]
  wire  _T_1404; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200721.4]
  wire  _T_1405; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200722.4]
  wire  _T_1406; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200723.4]
  wire  _T_1407; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200724.4]
  wire  _T_1408; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200725.4]
  wire  _T_1409; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200726.4]
  wire  _T_1410; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@200727.4]
  wire  _T_1411; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@200728.4]
  wire [6:0] _T_1412; // @[TLB.scala 272:61:shc.marmotcaravel.MarmotCaravelConfig.fir@200729.4]
  wire [6:0] _T_1413; // @[TLB.scala 272:59:shc.marmotcaravel.MarmotCaravelConfig.fir@200730.4]
  wire [6:0] ae_ld_array; // @[TLB.scala 272:24:shc.marmotcaravel.MarmotCaravelConfig.fir@200731.4]
  wire  _T_1414; // @[Consts.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@200732.4]
  wire  _T_1415; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@200733.4]
  wire  _T_1416; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@200734.4]
  wire  _T_1418; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@200736.4]
  wire  _T_1436; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@200754.4]
  wire [6:0] _T_1437; // @[TLB.scala 274:46:shc.marmotcaravel.MarmotCaravelConfig.fir@200755.4]
  wire [6:0] _T_1438; // @[TLB.scala 274:44:shc.marmotcaravel.MarmotCaravelConfig.fir@200756.4]
  wire [6:0] _T_1439; // @[TLB.scala 274:8:shc.marmotcaravel.MarmotCaravelConfig.fir@200757.4]
  wire [6:0] _T_1448; // @[TLB.scala 275:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200766.4]
  wire [6:0] _T_1449; // @[TLB.scala 275:8:shc.marmotcaravel.MarmotCaravelConfig.fir@200767.4]
  wire [6:0] _T_1450; // @[TLB.scala 274:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200768.4]
  wire [6:0] _T_1462; // @[TLB.scala 276:8:shc.marmotcaravel.MarmotCaravelConfig.fir@200780.4]
  wire [6:0] ae_st_array; // @[TLB.scala 275:79:shc.marmotcaravel.MarmotCaravelConfig.fir@200781.4]
  wire  _T_1486; // @[TLB.scala 277:36:shc.marmotcaravel.MarmotCaravelConfig.fir@200805.4]
  wire [6:0] _T_1487; // @[TLB.scala 277:64:shc.marmotcaravel.MarmotCaravelConfig.fir@200806.4]
  wire [6:0] ma_ld_array; // @[TLB.scala 277:24:shc.marmotcaravel.MarmotCaravelConfig.fir@200807.4]
  wire  _T_1511; // @[TLB.scala 278:36:shc.marmotcaravel.MarmotCaravelConfig.fir@200831.4]
  wire [6:0] ma_st_array; // @[TLB.scala 278:24:shc.marmotcaravel.MarmotCaravelConfig.fir@200833.4]
  wire [6:0] pf_ld_array; // @[TLB.scala 279:24:shc.marmotcaravel.MarmotCaravelConfig.fir@200859.4]
  wire [6:0] pf_st_array; // @[TLB.scala 280:24:shc.marmotcaravel.MarmotCaravelConfig.fir@200885.4]
  wire [6:0] _T_1673; // @[TLB.scala 301:72:shc.marmotcaravel.MarmotCaravelConfig.fir@201007.4]
  wire [6:0] _T_1700; // @[TLB.scala 302:73:shc.marmotcaravel.MarmotCaravelConfig.fir@201035.4]
  wire [6:0] _T_1706; // @[TLB.scala 304:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201043.4]
  wire [6:0] _T_1708; // @[TLB.scala 305:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201046.4]
  wire [6:0] _T_1713; // @[TLB.scala 307:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201053.4]
  wire [6:0] _T_1715; // @[TLB.scala 308:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201056.4]
  PMPChecker pmp ( // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199165.4]
    .io_pmp_0_cfg_l(pmp_io_pmp_0_cfg_l),
    .io_pmp_0_cfg_a(pmp_io_pmp_0_cfg_a),
    .io_pmp_0_cfg_x(pmp_io_pmp_0_cfg_x),
    .io_pmp_0_cfg_w(pmp_io_pmp_0_cfg_w),
    .io_pmp_0_cfg_r(pmp_io_pmp_0_cfg_r),
    .io_pmp_0_addr(pmp_io_pmp_0_addr),
    .io_pmp_0_mask(pmp_io_pmp_0_mask),
    .io_pmp_1_cfg_l(pmp_io_pmp_1_cfg_l),
    .io_pmp_1_cfg_a(pmp_io_pmp_1_cfg_a),
    .io_pmp_1_cfg_x(pmp_io_pmp_1_cfg_x),
    .io_pmp_1_cfg_w(pmp_io_pmp_1_cfg_w),
    .io_pmp_1_cfg_r(pmp_io_pmp_1_cfg_r),
    .io_pmp_1_addr(pmp_io_pmp_1_addr),
    .io_pmp_1_mask(pmp_io_pmp_1_mask),
    .io_pmp_2_cfg_l(pmp_io_pmp_2_cfg_l),
    .io_pmp_2_cfg_a(pmp_io_pmp_2_cfg_a),
    .io_pmp_2_cfg_x(pmp_io_pmp_2_cfg_x),
    .io_pmp_2_cfg_w(pmp_io_pmp_2_cfg_w),
    .io_pmp_2_cfg_r(pmp_io_pmp_2_cfg_r),
    .io_pmp_2_addr(pmp_io_pmp_2_addr),
    .io_pmp_2_mask(pmp_io_pmp_2_mask),
    .io_pmp_3_cfg_l(pmp_io_pmp_3_cfg_l),
    .io_pmp_3_cfg_a(pmp_io_pmp_3_cfg_a),
    .io_pmp_3_cfg_x(pmp_io_pmp_3_cfg_x),
    .io_pmp_3_cfg_w(pmp_io_pmp_3_cfg_w),
    .io_pmp_3_cfg_r(pmp_io_pmp_3_cfg_r),
    .io_pmp_3_addr(pmp_io_pmp_3_addr),
    .io_pmp_3_mask(pmp_io_pmp_3_mask),
    .io_pmp_4_cfg_l(pmp_io_pmp_4_cfg_l),
    .io_pmp_4_cfg_a(pmp_io_pmp_4_cfg_a),
    .io_pmp_4_cfg_x(pmp_io_pmp_4_cfg_x),
    .io_pmp_4_cfg_w(pmp_io_pmp_4_cfg_w),
    .io_pmp_4_cfg_r(pmp_io_pmp_4_cfg_r),
    .io_pmp_4_addr(pmp_io_pmp_4_addr),
    .io_pmp_4_mask(pmp_io_pmp_4_mask),
    .io_pmp_5_cfg_l(pmp_io_pmp_5_cfg_l),
    .io_pmp_5_cfg_a(pmp_io_pmp_5_cfg_a),
    .io_pmp_5_cfg_x(pmp_io_pmp_5_cfg_x),
    .io_pmp_5_cfg_w(pmp_io_pmp_5_cfg_w),
    .io_pmp_5_cfg_r(pmp_io_pmp_5_cfg_r),
    .io_pmp_5_addr(pmp_io_pmp_5_addr),
    .io_pmp_5_mask(pmp_io_pmp_5_mask),
    .io_pmp_6_cfg_l(pmp_io_pmp_6_cfg_l),
    .io_pmp_6_cfg_a(pmp_io_pmp_6_cfg_a),
    .io_pmp_6_cfg_x(pmp_io_pmp_6_cfg_x),
    .io_pmp_6_cfg_w(pmp_io_pmp_6_cfg_w),
    .io_pmp_6_cfg_r(pmp_io_pmp_6_cfg_r),
    .io_pmp_6_addr(pmp_io_pmp_6_addr),
    .io_pmp_6_mask(pmp_io_pmp_6_mask),
    .io_pmp_7_cfg_l(pmp_io_pmp_7_cfg_l),
    .io_pmp_7_cfg_a(pmp_io_pmp_7_cfg_a),
    .io_pmp_7_cfg_x(pmp_io_pmp_7_cfg_x),
    .io_pmp_7_cfg_w(pmp_io_pmp_7_cfg_w),
    .io_pmp_7_cfg_r(pmp_io_pmp_7_cfg_r),
    .io_pmp_7_addr(pmp_io_pmp_7_addr),
    .io_pmp_7_mask(pmp_io_pmp_7_mask),
    .io_addr(pmp_io_addr),
    .io_r(pmp_io_r),
    .io_w(pmp_io_w),
    .io_x(pmp_io_x)
  );
  assign vpn = io_req_bits_vaddr[31:12]; // @[TLB.scala 179:30:shc.marmotcaravel.MarmotCaravelConfig.fir@199118.4]
  assign mpu_ppn = io_req_bits_vaddr[31:12]; // @[TLB.scala 184:123:shc.marmotcaravel.MarmotCaravelConfig.fir@199160.4]
  assign _T_223 = io_req_bits_vaddr[11:0]; // @[TLB.scala 185:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199163.4]
  assign mpu_physaddr = {mpu_ppn,_T_223}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@199164.4]
  assign _T_227 = mpu_physaddr ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199183.4]
  assign _T_228 = {1'b0,$signed(_T_227)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199184.4]
  assign _T_229 = $signed(_T_228) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199185.4]
  assign _T_230 = $signed(_T_229); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199186.4]
  assign _T_231 = $signed(_T_230) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199187.4]
  assign _T_232 = mpu_physaddr ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199188.4]
  assign _T_233 = {1'b0,$signed(_T_232)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199189.4]
  assign _T_234 = $signed(_T_233) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199190.4]
  assign _T_235 = $signed(_T_234); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199191.4]
  assign _T_236 = $signed(_T_235) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199192.4]
  assign _T_237 = mpu_physaddr ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199193.4]
  assign _T_238 = {1'b0,$signed(_T_237)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199194.4]
  assign _T_239 = $signed(_T_238) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199195.4]
  assign _T_240 = $signed(_T_239); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199196.4]
  assign _T_241 = $signed(_T_240) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199197.4]
  assign _T_242 = mpu_physaddr ^ 32'h10033000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199198.4]
  assign _T_243 = {1'b0,$signed(_T_242)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199199.4]
  assign _T_244 = $signed(_T_243) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199200.4]
  assign _T_245 = $signed(_T_244); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199201.4]
  assign _T_246 = $signed(_T_245) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199202.4]
  assign _T_247 = mpu_physaddr ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199203.4]
  assign _T_248 = {1'b0,$signed(_T_247)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199204.4]
  assign _T_249 = $signed(_T_248) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199205.4]
  assign _T_250 = $signed(_T_249); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199206.4]
  assign _T_251 = $signed(_T_250) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199207.4]
  assign _T_252 = mpu_physaddr ^ 32'h10053000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199208.4]
  assign _T_253 = {1'b0,$signed(_T_252)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199209.4]
  assign _T_254 = $signed(_T_253) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199210.4]
  assign _T_255 = $signed(_T_254); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199211.4]
  assign _T_256 = $signed(_T_255) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199212.4]
  assign _T_257 = mpu_physaddr ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199213.4]
  assign _T_258 = {1'b0,$signed(_T_257)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199214.4]
  assign _T_259 = $signed(_T_258) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199215.4]
  assign _T_260 = $signed(_T_259); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199216.4]
  assign _T_261 = $signed(_T_260) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199217.4]
  assign _T_262 = mpu_physaddr ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199218.4]
  assign _T_263 = {1'b0,$signed(_T_262)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199219.4]
  assign _T_264 = $signed(_T_263) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199220.4]
  assign _T_265 = $signed(_T_264); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199221.4]
  assign _T_266 = $signed(_T_265) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199222.4]
  assign _T_267 = mpu_physaddr ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199223.4]
  assign _T_268 = {1'b0,$signed(_T_267)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199224.4]
  assign _T_269 = $signed(_T_268) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199225.4]
  assign _T_270 = $signed(_T_269); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199226.4]
  assign _T_271 = $signed(_T_270) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199227.4]
  assign _T_272 = mpu_physaddr ^ 32'h10034000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199228.4]
  assign _T_273 = {1'b0,$signed(_T_272)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199229.4]
  assign _T_274 = $signed(_T_273) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199230.4]
  assign _T_275 = $signed(_T_274); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199231.4]
  assign _T_276 = $signed(_T_275) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199232.4]
  assign _T_277 = mpu_physaddr ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199233.4]
  assign _T_278 = {1'b0,$signed(_T_277)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199234.4]
  assign _T_279 = $signed(_T_278) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199235.4]
  assign _T_280 = $signed(_T_279); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199236.4]
  assign _T_281 = $signed(_T_280) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199237.4]
  assign _T_282 = mpu_physaddr ^ 32'h10016000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199238.4]
  assign _T_283 = {1'b0,$signed(_T_282)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199239.4]
  assign _T_284 = $signed(_T_283) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199240.4]
  assign _T_285 = $signed(_T_284); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199241.4]
  assign _T_286 = $signed(_T_285) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199242.4]
  assign _T_287 = mpu_physaddr ^ 32'h10026000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199243.4]
  assign _T_288 = {1'b0,$signed(_T_287)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199244.4]
  assign _T_289 = $signed(_T_288) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199245.4]
  assign _T_290 = $signed(_T_289); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199246.4]
  assign _T_291 = $signed(_T_290) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199247.4]
  assign _T_292 = mpu_physaddr ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199248.4]
  assign _T_293 = {1'b0,$signed(_T_292)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199249.4]
  assign _T_294 = $signed(_T_293) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199250.4]
  assign _T_295 = $signed(_T_294); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199251.4]
  assign _T_296 = $signed(_T_295) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199252.4]
  assign _T_297 = mpu_physaddr ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199253.4]
  assign _T_298 = {1'b0,$signed(_T_297)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199254.4]
  assign _T_299 = $signed(_T_298) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199255.4]
  assign _T_300 = $signed(_T_299); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199256.4]
  assign _T_301 = $signed(_T_300) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199257.4]
  assign _T_303 = {1'b0,$signed(mpu_physaddr)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199259.4]
  assign _T_304 = $signed(_T_303) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199260.4]
  assign _T_305 = $signed(_T_304); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199261.4]
  assign _T_306 = $signed(_T_305) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199262.4]
  assign _T_307 = mpu_physaddr ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199263.4]
  assign _T_308 = {1'b0,$signed(_T_307)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199264.4]
  assign _T_309 = $signed(_T_308) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199265.4]
  assign _T_310 = $signed(_T_309); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199266.4]
  assign _T_311 = $signed(_T_310) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199267.4]
  assign _T_312 = mpu_physaddr ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199268.4]
  assign _T_313 = {1'b0,$signed(_T_312)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199269.4]
  assign _T_314 = $signed(_T_313) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199270.4]
  assign _T_315 = $signed(_T_314); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199271.4]
  assign _T_316 = $signed(_T_315) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199272.4]
  assign _T_317 = mpu_physaddr ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199273.4]
  assign _T_318 = {1'b0,$signed(_T_317)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199274.4]
  assign _T_319 = $signed(_T_318) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199275.4]
  assign _T_320 = $signed(_T_319); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199276.4]
  assign _T_321 = $signed(_T_320) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199277.4]
  assign _T_322 = mpu_physaddr ^ 32'h10000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199278.4]
  assign _T_323 = {1'b0,$signed(_T_322)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199279.4]
  assign _T_324 = $signed(_T_323) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199280.4]
  assign _T_325 = $signed(_T_324); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199281.4]
  assign _T_326 = $signed(_T_325) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199282.4]
  assign _T_353 = _T_231 | _T_236; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199305.4]
  assign _T_354 = _T_353 | _T_241; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199306.4]
  assign _T_355 = _T_354 | _T_246; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199307.4]
  assign _T_356 = _T_355 | _T_251; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199308.4]
  assign _T_357 = _T_356 | _T_256; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199309.4]
  assign _T_358 = _T_357 | _T_261; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199310.4]
  assign _T_359 = _T_358 | _T_266; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199311.4]
  assign _T_360 = _T_359 | _T_271; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199312.4]
  assign _T_361 = _T_360 | _T_276; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199313.4]
  assign _T_362 = _T_361 | _T_281; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199314.4]
  assign _T_363 = _T_362 | _T_286; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199315.4]
  assign _T_364 = _T_363 | _T_291; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199316.4]
  assign _T_365 = _T_364 | _T_296; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199317.4]
  assign _T_366 = _T_365 | _T_301; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199318.4]
  assign _T_367 = _T_366 | _T_306; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199319.4]
  assign _T_368 = _T_367 | _T_311; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199320.4]
  assign _T_369 = _T_368 | _T_316; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199321.4]
  assign _T_370 = _T_369 | _T_321; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199322.4]
  assign legal_address = _T_370 | _T_326; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199323.4]
  assign prot_r = legal_address & pmp_io_r; // @[TLB.scala 196:41:shc.marmotcaravel.MarmotCaravelConfig.fir@199479.4]
  assign _T_537 = $signed(_T_303) & $signed(33'sh24010000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199493.4]
  assign _T_538 = $signed(_T_537); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199494.4]
  assign _T_539 = $signed(_T_538) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199495.4]
  assign _T_540 = mpu_physaddr ^ 32'h10010000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199496.4]
  assign _T_541 = {1'b0,$signed(_T_540)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199497.4]
  assign _T_542 = $signed(_T_541) & $signed(33'sh34010000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199498.4]
  assign _T_543 = $signed(_T_542); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199499.4]
  assign _T_544 = $signed(_T_543) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199500.4]
  assign _T_545 = mpu_physaddr ^ 32'h4000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199501.4]
  assign _T_546 = {1'b0,$signed(_T_545)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199502.4]
  assign _T_547 = $signed(_T_546) & $signed(33'sh34000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199503.4]
  assign _T_548 = $signed(_T_547); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199504.4]
  assign _T_549 = $signed(_T_548) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199505.4]
  assign _T_552 = $signed(_T_303) & $signed(33'sh34010000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199508.4]
  assign _T_553 = $signed(_T_552); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199509.4]
  assign _T_554 = $signed(_T_553) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199510.4]
  assign _T_555 = _T_539 | _T_544; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199511.4]
  assign _T_556 = _T_555 | _T_549; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199512.4]
  assign _T_557 = _T_556 | _T_554; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199513.4]
  assign _T_564 = legal_address & _T_557; // @[TLB.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199519.4]
  assign prot_w = _T_564 & pmp_io_w; // @[TLB.scala 197:45:shc.marmotcaravel.MarmotCaravelConfig.fir@199520.4]
  assign _T_721 = $signed(_T_323) & $signed(33'shfff8c000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199677.4]
  assign _T_722 = $signed(_T_721); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199678.4]
  assign _T_723 = $signed(_T_722) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199679.4]
  assign _T_724 = mpu_physaddr ^ 32'h10004000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@199680.4]
  assign _T_725 = {1'b0,$signed(_T_724)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@199681.4]
  assign _T_726 = $signed(_T_725) & $signed(33'shfff8d000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199682.4]
  assign _T_727 = $signed(_T_726); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199683.4]
  assign _T_728 = $signed(_T_727) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199684.4]
  assign _T_731 = $signed(_T_293) & $signed(33'shfc000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199687.4]
  assign _T_732 = $signed(_T_731); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199688.4]
  assign _T_733 = $signed(_T_732) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199689.4]
  assign _T_736 = $signed(_T_298) & $signed(33'shfff90000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199692.4]
  assign _T_737 = $signed(_T_736); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199693.4]
  assign _T_738 = $signed(_T_737) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199694.4]
  assign _T_741 = $signed(_T_303) & $signed(33'shfff9d000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199697.4]
  assign _T_742 = $signed(_T_741); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@199698.4]
  assign _T_743 = $signed(_T_742) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@199699.4]
  assign _T_744 = _T_723 | _T_728; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199700.4]
  assign _T_745 = _T_744 | _T_733; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199701.4]
  assign _T_746 = _T_745 | _T_738; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199702.4]
  assign _T_747 = _T_746 | _T_743; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@199703.4]
  assign prot_eff = legal_address & _T_747; // @[TLB.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@199709.4]
  assign _T_1327 = prot_r ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@200632.4]
  assign pr_array = {_T_1327,5'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@200637.4]
  assign _T_1334 = prot_w ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@200640.4]
  assign pw_array = {_T_1334,5'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@200645.4]
  assign _T_1348 = _T_564 ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@200656.4]
  assign paa_array = {_T_1348,5'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@200661.4]
  assign _T_1360 = prot_eff ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@200670.4]
  assign eff_array = {_T_1360,5'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@200675.4]
  assign _T_1377 = 4'h1 << io_req_bits_size; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@200690.4]
  assign _T_1378 = _T_1377 - 4'h1; // @[TLB.scala 263:69:shc.marmotcaravel.MarmotCaravelConfig.fir@200691.4]
  assign _T_1379 = $unsigned(_T_1378); // @[TLB.scala 263:69:shc.marmotcaravel.MarmotCaravelConfig.fir@200692.4]
  assign _T_1380 = _T_1379[3:0]; // @[TLB.scala 263:69:shc.marmotcaravel.MarmotCaravelConfig.fir@200693.4]
  assign _GEN_144 = {{28'd0}, _T_1380}; // @[TLB.scala 263:39:shc.marmotcaravel.MarmotCaravelConfig.fir@200694.4]
  assign _T_1381 = io_req_bits_vaddr & _GEN_144; // @[TLB.scala 263:39:shc.marmotcaravel.MarmotCaravelConfig.fir@200694.4]
  assign misaligned = _T_1381 != 32'h0; // @[TLB.scala 263:75:shc.marmotcaravel.MarmotCaravelConfig.fir@200695.4]
  assign _T_1382 = misaligned ? eff_array : 7'h0; // @[TLB.scala 270:8:shc.marmotcaravel.MarmotCaravelConfig.fir@200698.4]
  assign _T_1383 = io_req_bits_cmd == 5'h6; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200699.4]
  assign _T_1384 = io_req_bits_cmd == 5'h7; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200700.4]
  assign _T_1385 = _T_1383 | _T_1384; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200701.4]
  assign _T_1388 = _T_1385 ? 7'h7f : 7'h0; // @[TLB.scala 271:8:shc.marmotcaravel.MarmotCaravelConfig.fir@200704.4]
  assign ae_array = _T_1382 | _T_1388; // @[TLB.scala 270:37:shc.marmotcaravel.MarmotCaravelConfig.fir@200705.4]
  assign _T_1389 = io_req_bits_cmd == 5'h0; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@200706.4]
  assign _T_1391 = _T_1389 | _T_1383; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@200708.4]
  assign _T_1393 = _T_1391 | _T_1384; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@200710.4]
  assign _T_1394 = io_req_bits_cmd == 5'h4; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200711.4]
  assign _T_1395 = io_req_bits_cmd == 5'h9; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200712.4]
  assign _T_1396 = io_req_bits_cmd == 5'ha; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200713.4]
  assign _T_1397 = io_req_bits_cmd == 5'hb; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200714.4]
  assign _T_1398 = _T_1394 | _T_1395; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200715.4]
  assign _T_1399 = _T_1398 | _T_1396; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200716.4]
  assign _T_1400 = _T_1399 | _T_1397; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200717.4]
  assign _T_1401 = io_req_bits_cmd == 5'h8; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200718.4]
  assign _T_1402 = io_req_bits_cmd == 5'hc; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200719.4]
  assign _T_1403 = io_req_bits_cmd == 5'hd; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200720.4]
  assign _T_1404 = io_req_bits_cmd == 5'he; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200721.4]
  assign _T_1405 = io_req_bits_cmd == 5'hf; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@200722.4]
  assign _T_1406 = _T_1401 | _T_1402; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200723.4]
  assign _T_1407 = _T_1406 | _T_1403; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200724.4]
  assign _T_1408 = _T_1407 | _T_1404; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200725.4]
  assign _T_1409 = _T_1408 | _T_1405; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200726.4]
  assign _T_1410 = _T_1400 | _T_1409; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@200727.4]
  assign _T_1411 = _T_1393 | _T_1410; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@200728.4]
  assign _T_1412 = ~ pr_array; // @[TLB.scala 272:61:shc.marmotcaravel.MarmotCaravelConfig.fir@200729.4]
  assign _T_1413 = ae_array | _T_1412; // @[TLB.scala 272:59:shc.marmotcaravel.MarmotCaravelConfig.fir@200730.4]
  assign ae_ld_array = _T_1411 ? _T_1413 : 7'h0; // @[TLB.scala 272:24:shc.marmotcaravel.MarmotCaravelConfig.fir@200731.4]
  assign _T_1414 = io_req_bits_cmd == 5'h1; // @[Consts.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@200732.4]
  assign _T_1415 = io_req_bits_cmd == 5'h11; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@200733.4]
  assign _T_1416 = _T_1414 | _T_1415; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@200734.4]
  assign _T_1418 = _T_1416 | _T_1384; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@200736.4]
  assign _T_1436 = _T_1418 | _T_1410; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@200754.4]
  assign _T_1437 = ~ pw_array; // @[TLB.scala 274:46:shc.marmotcaravel.MarmotCaravelConfig.fir@200755.4]
  assign _T_1438 = ae_array | _T_1437; // @[TLB.scala 274:44:shc.marmotcaravel.MarmotCaravelConfig.fir@200756.4]
  assign _T_1439 = _T_1436 ? _T_1438 : 7'h0; // @[TLB.scala 274:8:shc.marmotcaravel.MarmotCaravelConfig.fir@200757.4]
  assign _T_1448 = ~ paa_array; // @[TLB.scala 275:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200766.4]
  assign _T_1449 = _T_1400 ? _T_1448 : 7'h0; // @[TLB.scala 275:8:shc.marmotcaravel.MarmotCaravelConfig.fir@200767.4]
  assign _T_1450 = _T_1439 | _T_1449; // @[TLB.scala 274:62:shc.marmotcaravel.MarmotCaravelConfig.fir@200768.4]
  assign _T_1462 = _T_1409 ? _T_1448 : 7'h0; // @[TLB.scala 276:8:shc.marmotcaravel.MarmotCaravelConfig.fir@200780.4]
  assign ae_st_array = _T_1450 | _T_1462; // @[TLB.scala 275:79:shc.marmotcaravel.MarmotCaravelConfig.fir@200781.4]
  assign _T_1486 = misaligned & _T_1411; // @[TLB.scala 277:36:shc.marmotcaravel.MarmotCaravelConfig.fir@200805.4]
  assign _T_1487 = ~ eff_array; // @[TLB.scala 277:64:shc.marmotcaravel.MarmotCaravelConfig.fir@200806.4]
  assign ma_ld_array = _T_1486 ? _T_1487 : 7'h0; // @[TLB.scala 277:24:shc.marmotcaravel.MarmotCaravelConfig.fir@200807.4]
  assign _T_1511 = misaligned & _T_1436; // @[TLB.scala 278:36:shc.marmotcaravel.MarmotCaravelConfig.fir@200831.4]
  assign ma_st_array = _T_1511 ? _T_1487 : 7'h0; // @[TLB.scala 278:24:shc.marmotcaravel.MarmotCaravelConfig.fir@200833.4]
  assign pf_ld_array = _T_1411 ? 7'h3f : 7'h0; // @[TLB.scala 279:24:shc.marmotcaravel.MarmotCaravelConfig.fir@200859.4]
  assign pf_st_array = _T_1436 ? 7'h3f : 7'h0; // @[TLB.scala 280:24:shc.marmotcaravel.MarmotCaravelConfig.fir@200885.4]
  assign _T_1673 = pf_ld_array & 7'h40; // @[TLB.scala 301:72:shc.marmotcaravel.MarmotCaravelConfig.fir@201007.4]
  assign _T_1700 = pf_st_array & 7'h40; // @[TLB.scala 302:73:shc.marmotcaravel.MarmotCaravelConfig.fir@201035.4]
  assign _T_1706 = ae_ld_array & 7'h40; // @[TLB.scala 304:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201043.4]
  assign _T_1708 = ae_st_array & 7'h40; // @[TLB.scala 305:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201046.4]
  assign _T_1713 = ma_ld_array & 7'h40; // @[TLB.scala 307:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201053.4]
  assign _T_1715 = ma_st_array & 7'h40; // @[TLB.scala 308:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201056.4]
  assign io_resp_paddr = {vpn,_T_223}; // @[TLB.scala 313:17:shc.marmotcaravel.MarmotCaravelConfig.fir@201072.4]
  assign io_resp_pf_ld = _T_1673 != 7'h0; // @[TLB.scala 301:17:shc.marmotcaravel.MarmotCaravelConfig.fir@201010.4]
  assign io_resp_pf_st = _T_1700 != 7'h0; // @[TLB.scala 302:17:shc.marmotcaravel.MarmotCaravelConfig.fir@201038.4]
  assign io_resp_ae_ld = _T_1706 != 7'h0; // @[TLB.scala 304:17:shc.marmotcaravel.MarmotCaravelConfig.fir@201045.4]
  assign io_resp_ae_st = _T_1708 != 7'h0; // @[TLB.scala 305:17:shc.marmotcaravel.MarmotCaravelConfig.fir@201048.4]
  assign io_resp_ma_ld = _T_1713 != 7'h0; // @[TLB.scala 307:17:shc.marmotcaravel.MarmotCaravelConfig.fir@201055.4]
  assign io_resp_ma_st = _T_1715 != 7'h0; // @[TLB.scala 308:17:shc.marmotcaravel.MarmotCaravelConfig.fir@201058.4]
  assign pmp_io_pmp_0_cfg_l = io_ptw_pmp_0_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199171.4]
  assign pmp_io_pmp_0_cfg_a = io_ptw_pmp_0_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199171.4]
  assign pmp_io_pmp_0_cfg_x = io_ptw_pmp_0_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199171.4]
  assign pmp_io_pmp_0_cfg_w = io_ptw_pmp_0_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199171.4]
  assign pmp_io_pmp_0_cfg_r = io_ptw_pmp_0_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199171.4]
  assign pmp_io_pmp_0_addr = io_ptw_pmp_0_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199171.4]
  assign pmp_io_pmp_0_mask = io_ptw_pmp_0_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199171.4]
  assign pmp_io_pmp_1_cfg_l = io_ptw_pmp_1_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199172.4]
  assign pmp_io_pmp_1_cfg_a = io_ptw_pmp_1_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199172.4]
  assign pmp_io_pmp_1_cfg_x = io_ptw_pmp_1_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199172.4]
  assign pmp_io_pmp_1_cfg_w = io_ptw_pmp_1_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199172.4]
  assign pmp_io_pmp_1_cfg_r = io_ptw_pmp_1_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199172.4]
  assign pmp_io_pmp_1_addr = io_ptw_pmp_1_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199172.4]
  assign pmp_io_pmp_1_mask = io_ptw_pmp_1_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199172.4]
  assign pmp_io_pmp_2_cfg_l = io_ptw_pmp_2_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199173.4]
  assign pmp_io_pmp_2_cfg_a = io_ptw_pmp_2_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199173.4]
  assign pmp_io_pmp_2_cfg_x = io_ptw_pmp_2_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199173.4]
  assign pmp_io_pmp_2_cfg_w = io_ptw_pmp_2_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199173.4]
  assign pmp_io_pmp_2_cfg_r = io_ptw_pmp_2_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199173.4]
  assign pmp_io_pmp_2_addr = io_ptw_pmp_2_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199173.4]
  assign pmp_io_pmp_2_mask = io_ptw_pmp_2_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199173.4]
  assign pmp_io_pmp_3_cfg_l = io_ptw_pmp_3_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199174.4]
  assign pmp_io_pmp_3_cfg_a = io_ptw_pmp_3_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199174.4]
  assign pmp_io_pmp_3_cfg_x = io_ptw_pmp_3_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199174.4]
  assign pmp_io_pmp_3_cfg_w = io_ptw_pmp_3_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199174.4]
  assign pmp_io_pmp_3_cfg_r = io_ptw_pmp_3_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199174.4]
  assign pmp_io_pmp_3_addr = io_ptw_pmp_3_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199174.4]
  assign pmp_io_pmp_3_mask = io_ptw_pmp_3_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199174.4]
  assign pmp_io_pmp_4_cfg_l = io_ptw_pmp_4_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199175.4]
  assign pmp_io_pmp_4_cfg_a = io_ptw_pmp_4_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199175.4]
  assign pmp_io_pmp_4_cfg_x = io_ptw_pmp_4_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199175.4]
  assign pmp_io_pmp_4_cfg_w = io_ptw_pmp_4_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199175.4]
  assign pmp_io_pmp_4_cfg_r = io_ptw_pmp_4_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199175.4]
  assign pmp_io_pmp_4_addr = io_ptw_pmp_4_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199175.4]
  assign pmp_io_pmp_4_mask = io_ptw_pmp_4_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199175.4]
  assign pmp_io_pmp_5_cfg_l = io_ptw_pmp_5_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199176.4]
  assign pmp_io_pmp_5_cfg_a = io_ptw_pmp_5_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199176.4]
  assign pmp_io_pmp_5_cfg_x = io_ptw_pmp_5_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199176.4]
  assign pmp_io_pmp_5_cfg_w = io_ptw_pmp_5_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199176.4]
  assign pmp_io_pmp_5_cfg_r = io_ptw_pmp_5_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199176.4]
  assign pmp_io_pmp_5_addr = io_ptw_pmp_5_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199176.4]
  assign pmp_io_pmp_5_mask = io_ptw_pmp_5_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199176.4]
  assign pmp_io_pmp_6_cfg_l = io_ptw_pmp_6_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199177.4]
  assign pmp_io_pmp_6_cfg_a = io_ptw_pmp_6_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199177.4]
  assign pmp_io_pmp_6_cfg_x = io_ptw_pmp_6_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199177.4]
  assign pmp_io_pmp_6_cfg_w = io_ptw_pmp_6_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199177.4]
  assign pmp_io_pmp_6_cfg_r = io_ptw_pmp_6_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199177.4]
  assign pmp_io_pmp_6_addr = io_ptw_pmp_6_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199177.4]
  assign pmp_io_pmp_6_mask = io_ptw_pmp_6_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199177.4]
  assign pmp_io_pmp_7_cfg_l = io_ptw_pmp_7_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
  assign pmp_io_pmp_7_cfg_a = io_ptw_pmp_7_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
  assign pmp_io_pmp_7_cfg_x = io_ptw_pmp_7_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
  assign pmp_io_pmp_7_cfg_w = io_ptw_pmp_7_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
  assign pmp_io_pmp_7_cfg_r = io_ptw_pmp_7_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
  assign pmp_io_pmp_7_addr = io_ptw_pmp_7_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
  assign pmp_io_pmp_7_mask = io_ptw_pmp_7_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@199178.4]
  assign pmp_io_addr = {mpu_ppn,_T_223}; // @[TLB.scala 187:15:shc.marmotcaravel.MarmotCaravelConfig.fir@199169.4]
endmodule
module AMOALU( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201079.2]
  input  [4:0]  io_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201082.4]
  input  [31:0] io_lhs, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201082.4]
  input  [31:0] io_rhs, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201082.4]
  output [31:0] io_out_unmasked // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201082.4]
);
  wire  _T_10; // @[AMOALU.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201087.4]
  wire  _T_11; // @[AMOALU.scala 64:43:shc.marmotcaravel.MarmotCaravelConfig.fir@201088.4]
  wire  max; // @[AMOALU.scala 64:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201089.4]
  wire  _T_12; // @[AMOALU.scala 65:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201090.4]
  wire  _T_13; // @[AMOALU.scala 65:43:shc.marmotcaravel.MarmotCaravelConfig.fir@201091.4]
  wire  min; // @[AMOALU.scala 65:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201092.4]
  wire  add; // @[AMOALU.scala 66:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201093.4]
  wire  _T_14; // @[AMOALU.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@201094.4]
  wire  _T_15; // @[AMOALU.scala 67:48:shc.marmotcaravel.MarmotCaravelConfig.fir@201095.4]
  wire  logic_and; // @[AMOALU.scala 67:38:shc.marmotcaravel.MarmotCaravelConfig.fir@201096.4]
  wire  _T_16; // @[AMOALU.scala 68:26:shc.marmotcaravel.MarmotCaravelConfig.fir@201097.4]
  wire  logic_xor; // @[AMOALU.scala 68:39:shc.marmotcaravel.MarmotCaravelConfig.fir@201099.4]
  wire [31:0] adder_out; // @[AMOALU.scala 73:21:shc.marmotcaravel.MarmotCaravelConfig.fir@201104.4]
  wire [4:0] _T_24; // @[AMOALU.scala 86:17:shc.marmotcaravel.MarmotCaravelConfig.fir@201107.4]
  wire  _T_26; // @[AMOALU.scala 86:25:shc.marmotcaravel.MarmotCaravelConfig.fir@201109.4]
  wire  _T_27; // @[AMOALU.scala 88:12:shc.marmotcaravel.MarmotCaravelConfig.fir@201110.4]
  wire  _T_28; // @[AMOALU.scala 88:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201111.4]
  wire  _T_29; // @[AMOALU.scala 88:18:shc.marmotcaravel.MarmotCaravelConfig.fir@201112.4]
  wire  _T_32; // @[AMOALU.scala 79:35:shc.marmotcaravel.MarmotCaravelConfig.fir@201115.4]
  wire  _T_35; // @[AMOALU.scala 88:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201118.4]
  wire  less; // @[AMOALU.scala 88:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201119.4]
  wire  _T_36; // @[AMOALU.scala 94:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201120.4]
  wire [31:0] minmax; // @[AMOALU.scala 94:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201121.4]
  wire [31:0] _T_37; // @[AMOALU.scala 96:27:shc.marmotcaravel.MarmotCaravelConfig.fir@201122.4]
  wire [31:0] _T_38; // @[AMOALU.scala 96:8:shc.marmotcaravel.MarmotCaravelConfig.fir@201123.4]
  wire [31:0] _T_39; // @[AMOALU.scala 97:27:shc.marmotcaravel.MarmotCaravelConfig.fir@201124.4]
  wire [31:0] _T_40; // @[AMOALU.scala 97:8:shc.marmotcaravel.MarmotCaravelConfig.fir@201125.4]
  wire [31:0] logic$; // @[AMOALU.scala 96:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201126.4]
  wire  _T_41; // @[AMOALU.scala 100:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201127.4]
  wire [31:0] _T_42; // @[AMOALU.scala 100:8:shc.marmotcaravel.MarmotCaravelConfig.fir@201128.4]
  assign _T_10 = io_cmd == 5'hd; // @[AMOALU.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201087.4]
  assign _T_11 = io_cmd == 5'hf; // @[AMOALU.scala 64:43:shc.marmotcaravel.MarmotCaravelConfig.fir@201088.4]
  assign max = _T_10 | _T_11; // @[AMOALU.scala 64:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201089.4]
  assign _T_12 = io_cmd == 5'hc; // @[AMOALU.scala 65:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201090.4]
  assign _T_13 = io_cmd == 5'he; // @[AMOALU.scala 65:43:shc.marmotcaravel.MarmotCaravelConfig.fir@201091.4]
  assign min = _T_12 | _T_13; // @[AMOALU.scala 65:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201092.4]
  assign add = io_cmd == 5'h8; // @[AMOALU.scala 66:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201093.4]
  assign _T_14 = io_cmd == 5'ha; // @[AMOALU.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@201094.4]
  assign _T_15 = io_cmd == 5'hb; // @[AMOALU.scala 67:48:shc.marmotcaravel.MarmotCaravelConfig.fir@201095.4]
  assign logic_and = _T_14 | _T_15; // @[AMOALU.scala 67:38:shc.marmotcaravel.MarmotCaravelConfig.fir@201096.4]
  assign _T_16 = io_cmd == 5'h9; // @[AMOALU.scala 68:26:shc.marmotcaravel.MarmotCaravelConfig.fir@201097.4]
  assign logic_xor = _T_16 | _T_14; // @[AMOALU.scala 68:39:shc.marmotcaravel.MarmotCaravelConfig.fir@201099.4]
  assign adder_out = io_lhs + io_rhs; // @[AMOALU.scala 73:21:shc.marmotcaravel.MarmotCaravelConfig.fir@201104.4]
  assign _T_24 = io_cmd & 5'h2; // @[AMOALU.scala 86:17:shc.marmotcaravel.MarmotCaravelConfig.fir@201107.4]
  assign _T_26 = _T_24 == 5'h0; // @[AMOALU.scala 86:25:shc.marmotcaravel.MarmotCaravelConfig.fir@201109.4]
  assign _T_27 = io_lhs[31]; // @[AMOALU.scala 88:12:shc.marmotcaravel.MarmotCaravelConfig.fir@201110.4]
  assign _T_28 = io_rhs[31]; // @[AMOALU.scala 88:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201111.4]
  assign _T_29 = _T_27 == _T_28; // @[AMOALU.scala 88:18:shc.marmotcaravel.MarmotCaravelConfig.fir@201112.4]
  assign _T_32 = io_lhs < io_rhs; // @[AMOALU.scala 79:35:shc.marmotcaravel.MarmotCaravelConfig.fir@201115.4]
  assign _T_35 = _T_26 ? _T_27 : _T_28; // @[AMOALU.scala 88:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201118.4]
  assign less = _T_29 ? _T_32 : _T_35; // @[AMOALU.scala 88:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201119.4]
  assign _T_36 = less ? min : max; // @[AMOALU.scala 94:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201120.4]
  assign minmax = _T_36 ? io_lhs : io_rhs; // @[AMOALU.scala 94:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201121.4]
  assign _T_37 = io_lhs & io_rhs; // @[AMOALU.scala 96:27:shc.marmotcaravel.MarmotCaravelConfig.fir@201122.4]
  assign _T_38 = logic_and ? _T_37 : 32'h0; // @[AMOALU.scala 96:8:shc.marmotcaravel.MarmotCaravelConfig.fir@201123.4]
  assign _T_39 = io_lhs ^ io_rhs; // @[AMOALU.scala 97:27:shc.marmotcaravel.MarmotCaravelConfig.fir@201124.4]
  assign _T_40 = logic_xor ? _T_39 : 32'h0; // @[AMOALU.scala 97:8:shc.marmotcaravel.MarmotCaravelConfig.fir@201125.4]
  assign logic$ = _T_38 | _T_40; // @[AMOALU.scala 96:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201126.4]
  assign _T_41 = logic_and | logic_xor; // @[AMOALU.scala 100:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201127.4]
  assign _T_42 = _T_41 ? logic$ : minmax; // @[AMOALU.scala 100:8:shc.marmotcaravel.MarmotCaravelConfig.fir@201128.4]
  assign io_out_unmasked = add ? adder_out : _T_42; // @[AMOALU.scala 105:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201150.4]
endmodule
module DCache( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201152.2]
  input         gated_clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201153.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201154.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
  output        auto_out_c_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
  output        auto_out_e_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201155.4]
  output        io_cpu_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_cpu_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [31:0] io_cpu_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [6:0]  io_cpu_req_bits_tag, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [4:0]  io_cpu_req_bits_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [2:0]  io_cpu_req_bits_typ, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_cpu_req_bits_phys, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_cpu_s1_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [31:0] io_cpu_s1_data_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [3:0]  io_cpu_s1_data_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  output        io_cpu_s2_nack, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  output        io_cpu_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  output [31:0] io_cpu_resp_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  output [6:0]  io_cpu_resp_bits_tag, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  output [4:0]  io_cpu_resp_bits_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  output [2:0]  io_cpu_resp_bits_typ, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  output [31:0] io_cpu_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  output        io_cpu_resp_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  output        io_cpu_resp_bits_has_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  output [31:0] io_cpu_resp_bits_data_word_bypass, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  output [31:0] io_cpu_resp_bits_data_raw, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  output [31:0] io_cpu_resp_bits_store_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  output        io_cpu_replay_next, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  output        io_cpu_s2_xcpt_ma_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  output        io_cpu_s2_xcpt_ma_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  output        io_cpu_s2_xcpt_pf_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  output        io_cpu_s2_xcpt_pf_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  output        io_cpu_s2_xcpt_ae_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  output        io_cpu_s2_xcpt_ae_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  output        io_cpu_ordered, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  output        io_cpu_perf_grant, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_cpu_keep_clock_enabled, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  output        io_cpu_clock_enabled, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [1:0]  io_ptw_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [29:0] io_ptw_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [31:0] io_ptw_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [1:0]  io_ptw_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [29:0] io_ptw_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [31:0] io_ptw_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [1:0]  io_ptw_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [29:0] io_ptw_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [31:0] io_ptw_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [1:0]  io_ptw_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [29:0] io_ptw_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [31:0] io_ptw_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [1:0]  io_ptw_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [29:0] io_ptw_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [31:0] io_ptw_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [1:0]  io_ptw_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [29:0] io_ptw_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [31:0] io_ptw_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [1:0]  io_ptw_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [29:0] io_ptw_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [31:0] io_ptw_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [1:0]  io_ptw_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input         io_ptw_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [29:0] io_ptw_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  input  [31:0] io_ptw_pmp_7_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201156.4]
  output [11:0] data_arrays_0_ext_RW0_addr,
  output  data_arrays_0_ext_RW0_en,
  output  data_arrays_0_ext_RW0_clk,
  output  data_arrays_0_ext_RW0_wmode,
  output [31:0] data_arrays_0_ext_RW0_wdata,
  input  [31:0] data_arrays_0_ext_RW0_rdata,
  output [3:0] data_arrays_0_ext_RW0_wmask
);
  wire  metaArb_io_in_0_valid; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
  wire [31:0] metaArb_io_in_0_bits_addr; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
  wire  metaArb_io_in_2_valid; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
  wire [31:0] metaArb_io_in_2_bits_addr; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
  wire  metaArb_io_in_3_valid; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
  wire [31:0] metaArb_io_in_3_bits_addr; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
  wire  metaArb_io_in_4_ready; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
  wire  metaArb_io_in_4_valid; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
  wire [31:0] metaArb_io_in_4_bits_addr; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
  wire  metaArb_io_in_5_ready; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
  wire  metaArb_io_in_5_valid; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
  wire [31:0] metaArb_io_in_5_bits_addr; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
  wire [7:0] metaArb_io_in_5_bits_idx; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
  wire  metaArb_io_in_7_ready; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
  wire  metaArb_io_in_7_valid; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
  wire [31:0] metaArb_io_in_7_bits_addr; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
  wire  metaArb_io_out_ready; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
  wire  metaArb_io_out_valid; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
  wire  metaArb_io_out_bits_write; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
  wire [31:0] metaArb_io_out_bits_addr; // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
  wire  data_clock; // @[DCache.scala 108:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201188.4]
  wire  data_io_req_valid; // @[DCache.scala 108:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201188.4]
  wire [13:0] data_io_req_bits_addr; // @[DCache.scala 108:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201188.4]
  wire  data_io_req_bits_write; // @[DCache.scala 108:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201188.4]
  wire [31:0] data_io_req_bits_wdata; // @[DCache.scala 108:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201188.4]
  wire [3:0] data_io_req_bits_eccMask; // @[DCache.scala 108:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201188.4]
  wire [31:0] data_io_resp_0; // @[DCache.scala 108:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201188.4]
  wire  dataArb_io_in_0_valid; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
  wire [13:0] dataArb_io_in_0_bits_addr; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
  wire  dataArb_io_in_0_bits_write; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
  wire [31:0] dataArb_io_in_0_bits_wdata; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
  wire [3:0] dataArb_io_in_0_bits_eccMask; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
  wire  dataArb_io_in_1_ready; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
  wire  dataArb_io_in_1_valid; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
  wire [13:0] dataArb_io_in_1_bits_addr; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
  wire  dataArb_io_in_1_bits_write; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
  wire [31:0] dataArb_io_in_1_bits_wdata; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
  wire [3:0] dataArb_io_in_1_bits_eccMask; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
  wire  dataArb_io_in_2_ready; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
  wire  dataArb_io_in_2_valid; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
  wire [13:0] dataArb_io_in_2_bits_addr; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
  wire [31:0] dataArb_io_in_2_bits_wdata; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
  wire [3:0] dataArb_io_in_2_bits_eccMask; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
  wire  dataArb_io_in_3_ready; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
  wire  dataArb_io_in_3_valid; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
  wire [13:0] dataArb_io_in_3_bits_addr; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
  wire [31:0] dataArb_io_in_3_bits_wdata; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
  wire [3:0] dataArb_io_in_3_bits_eccMask; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
  wire  dataArb_io_out_valid; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
  wire [13:0] dataArb_io_out_bits_addr; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
  wire  dataArb_io_out_bits_write; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
  wire [31:0] dataArb_io_out_bits_wdata; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
  wire [3:0] dataArb_io_out_bits_eccMask; // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
  wire  tlb_io_req_valid; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [31:0] tlb_io_req_bits_vaddr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [1:0] tlb_io_req_bits_size; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [4:0] tlb_io_req_bits_cmd; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [31:0] tlb_io_resp_paddr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_resp_pf_ld; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_resp_pf_st; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_resp_ae_ld; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_resp_ae_st; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_resp_ma_ld; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_resp_ma_st; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_0_cfg_l; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [1:0] tlb_io_ptw_pmp_0_cfg_a; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_0_cfg_x; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_0_cfg_w; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_0_cfg_r; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [29:0] tlb_io_ptw_pmp_0_addr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [31:0] tlb_io_ptw_pmp_0_mask; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_1_cfg_l; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [1:0] tlb_io_ptw_pmp_1_cfg_a; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_1_cfg_x; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_1_cfg_w; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_1_cfg_r; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [29:0] tlb_io_ptw_pmp_1_addr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [31:0] tlb_io_ptw_pmp_1_mask; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_2_cfg_l; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [1:0] tlb_io_ptw_pmp_2_cfg_a; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_2_cfg_x; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_2_cfg_w; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_2_cfg_r; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [29:0] tlb_io_ptw_pmp_2_addr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [31:0] tlb_io_ptw_pmp_2_mask; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_3_cfg_l; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [1:0] tlb_io_ptw_pmp_3_cfg_a; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_3_cfg_x; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_3_cfg_w; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_3_cfg_r; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [29:0] tlb_io_ptw_pmp_3_addr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [31:0] tlb_io_ptw_pmp_3_mask; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_4_cfg_l; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [1:0] tlb_io_ptw_pmp_4_cfg_a; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_4_cfg_x; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_4_cfg_w; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_4_cfg_r; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [29:0] tlb_io_ptw_pmp_4_addr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [31:0] tlb_io_ptw_pmp_4_mask; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_5_cfg_l; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [1:0] tlb_io_ptw_pmp_5_cfg_a; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_5_cfg_x; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_5_cfg_w; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_5_cfg_r; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [29:0] tlb_io_ptw_pmp_5_addr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [31:0] tlb_io_ptw_pmp_5_mask; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_6_cfg_l; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [1:0] tlb_io_ptw_pmp_6_cfg_a; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_6_cfg_x; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_6_cfg_w; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_6_cfg_r; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [29:0] tlb_io_ptw_pmp_6_addr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [31:0] tlb_io_ptw_pmp_6_mask; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_7_cfg_l; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [1:0] tlb_io_ptw_pmp_7_cfg_a; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_7_cfg_x; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_7_cfg_w; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire  tlb_io_ptw_pmp_7_cfg_r; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [29:0] tlb_io_ptw_pmp_7_addr; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [31:0] tlb_io_ptw_pmp_7_mask; // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
  wire [4:0] amoalu_io_cmd; // @[DCache.scala 743:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204276.4]
  wire [31:0] amoalu_io_lhs; // @[DCache.scala 743:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204276.4]
  wire [31:0] amoalu_io_rhs; // @[DCache.scala 743:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204276.4]
  wire [31:0] amoalu_io_out_unmasked; // @[DCache.scala 743:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204276.4]
  reg  clock_en_reg; // @[DCache.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@201165.4]
  reg [31:0] _RAND_0;
  wire [1:0] opc; // @[DCache.scala 482:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203738.4]
  wire [1:0] _T_2382; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@203739.4]
  wire  data_1; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@203740.4]
  reg  blockUncachedGrant; // @[DCache.scala 572:31:shc.marmotcaravel.MarmotCaravelConfig.fir@203942.4]
  reg [31:0] _RAND_1;
  reg  s1_valid; // @[DCache.scala 131:21:shc.marmotcaravel.MarmotCaravelConfig.fir@201215.4]
  reg [31:0] _RAND_2;
  wire  _T_2513; // @[DCache.scala 574:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203944.4]
  wire  _T_2514; // @[DCache.scala 574:29:shc.marmotcaravel.MarmotCaravelConfig.fir@203945.4]
  wire [2:0] _GEN_176; // @[DCache.scala 491:29:shc.marmotcaravel.MarmotCaravelConfig.fir@203747.4]
  wire  grantIsRefill; // @[DCache.scala 491:29:shc.marmotcaravel.MarmotCaravelConfig.fir@203747.4]
  wire  _T_2429; // @[DCache.scala 544:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203845.4]
  wire  _T_2430; // @[DCache.scala 544:23:shc.marmotcaravel.MarmotCaravelConfig.fir@203846.4]
  wire  _T_2385; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203743.4]
  wire  grantIsCached; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@203745.4]
  reg [9:0] _T_2363; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203708.4]
  reg [31:0] _RAND_3;
  wire  d_first; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@203712.4]
  wire  _GEN_133; // @[DCache.scala 544:51:shc.marmotcaravel.MarmotCaravelConfig.fir@203847.4]
  wire  tl_out__d_ready; // @[DCache.scala 574:66:shc.marmotcaravel.MarmotCaravelConfig.fir@203946.4]
  wire  _T_2397; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@203762.4]
  wire  _T_2367; // @[Edges.scala 232:25:shc.marmotcaravel.MarmotCaravelConfig.fir@203713.4]
  wire  _T_2360; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@203706.4]
  wire [26:0] _T_2356; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@203702.4]
  wire [11:0] _T_2357; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@203703.4]
  wire [11:0] _T_2358; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@203704.4]
  wire [9:0] _T_2359; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@203705.4]
  wire [9:0] _T_2361; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@203707.4]
  wire  _T_2368; // @[Edges.scala 232:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203714.4]
  wire  d_last; // @[Edges.scala 232:37:shc.marmotcaravel.MarmotCaravelConfig.fir@203715.4]
  wire [31:0] _T_253; // @[DCache.scala 112:65:shc.marmotcaravel.MarmotCaravelConfig.fir@201200.4]
  wire [7:0] _T_254; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201201.4]
  wire [7:0] _T_255; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201202.4]
  wire [7:0] _T_256; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201203.4]
  wire [7:0] _T_257; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201204.4]
  wire [15:0] _T_258; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201205.4]
  wire [15:0] _T_259; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201206.4]
  wire  _T_263; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@201214.4]
  wire  _T_583; // @[DCache.scala 233:34:shc.marmotcaravel.MarmotCaravelConfig.fir@201609.4]
  reg [2:0] release_state; // @[DCache.scala 155:26:shc.marmotcaravel.MarmotCaravelConfig.fir@201308.4]
  reg [31:0] _RAND_4;
  wire  releaseInFlight; // @[DCache.scala 233:63:shc.marmotcaravel.MarmotCaravelConfig.fir@201610.4]
  reg [2:0] blockProbeAfterGrantCount; // @[DCache.scala 493:38:shc.marmotcaravel.MarmotCaravelConfig.fir@203749.4]
  reg [31:0] _RAND_5;
  wire  _T_2519; // @[DCache.scala 587:85:shc.marmotcaravel.MarmotCaravelConfig.fir@203959.4]
  reg [6:0] lrscCount; // @[DCache.scala 327:22:shc.marmotcaravel.MarmotCaravelConfig.fir@202151.4]
  reg [31:0] _RAND_6;
  wire  lrscValid; // @[DCache.scala 328:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202152.4]
  reg  s2_valid_pre_xcpt; // @[DCache.scala 230:30:shc.marmotcaravel.MarmotCaravelConfig.fir@201597.4]
  reg [31:0] _RAND_7;
  wire [1:0] _T_577; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@201601.4]
  wire [2:0] _T_578; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@201602.4]
  wire [1:0] _T_575; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@201599.4]
  wire [2:0] _T_576; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@201600.4]
  wire [5:0] _T_579; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@201603.4]
  wire  _T_580; // @[DCache.scala 231:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201604.4]
  wire  _T_581; // @[DCache.scala 231:39:shc.marmotcaravel.MarmotCaravelConfig.fir@201605.4]
  wire  s2_valid; // @[DCache.scala 231:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201606.4]
  wire  _T_2528; // @[DCache.scala 589:76:shc.marmotcaravel.MarmotCaravelConfig.fir@203970.4]
  wire  _T_270; // @[DCache.scala 135:37:shc.marmotcaravel.MarmotCaravelConfig.fir@201235.4]
  wire  s1_valid_masked; // @[DCache.scala 135:34:shc.marmotcaravel.MarmotCaravelConfig.fir@201236.4]
  reg [4:0] s1_req_cmd; // @[DCache.scala 137:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201239.4]
  reg [31:0] _RAND_8;
  wire  _T_277; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201253.4]
  wire  _T_278; // @[Consts.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@201254.4]
  wire  _T_279; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@201255.4]
  wire  _T_280; // @[Consts.scala 93:65:shc.marmotcaravel.MarmotCaravelConfig.fir@201256.4]
  wire  _T_281; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201257.4]
  wire  _T_282; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201258.4]
  wire  _T_283; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201259.4]
  wire  _T_286; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201262.4]
  wire  _T_284; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201260.4]
  wire  _T_287; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201263.4]
  wire  _T_285; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201261.4]
  wire  _T_288; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201264.4]
  wire  _T_289; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201265.4]
  wire  _T_290; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201266.4]
  wire  _T_294; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201270.4]
  wire  _T_291; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201267.4]
  wire  _T_295; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201271.4]
  wire  _T_292; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201268.4]
  wire  _T_296; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201272.4]
  wire  _T_293; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201269.4]
  wire  _T_297; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201273.4]
  wire  _T_298; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@201274.4]
  wire  s1_read; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@201275.4]
  reg  _T_587; // @[DCache.scala 234:40:shc.marmotcaravel.MarmotCaravelConfig.fir@201613.4]
  reg [31:0] _RAND_9;
  wire  s2_valid_masked; // @[DCache.scala 234:34:shc.marmotcaravel.MarmotCaravelConfig.fir@201615.4]
  reg [4:0] s2_req_cmd; // @[DCache.scala 236:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201618.4]
  reg [31:0] _RAND_10;
  wire  _T_598; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201636.4]
  wire  _T_599; // @[Consts.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@201637.4]
  wire  _T_600; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@201638.4]
  wire  _T_601; // @[Consts.scala 93:65:shc.marmotcaravel.MarmotCaravelConfig.fir@201639.4]
  wire  _T_602; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201640.4]
  wire  _T_603; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201641.4]
  wire  _T_604; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201642.4]
  wire  _T_607; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201645.4]
  wire  _T_605; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201643.4]
  wire  _T_608; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201646.4]
  wire  _T_606; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201644.4]
  wire  _T_609; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201647.4]
  wire  _T_610; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201648.4]
  wire  _T_611; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201649.4]
  wire  _T_615; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201653.4]
  wire  _T_612; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201650.4]
  wire  _T_616; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201654.4]
  wire  _T_613; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201651.4]
  wire  _T_617; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201655.4]
  wire  _T_614; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201652.4]
  wire  _T_618; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201656.4]
  wire  _T_619; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@201657.4]
  wire  s2_read; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@201658.4]
  wire  _T_620; // @[Consts.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@201659.4]
  wire  _T_621; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201660.4]
  wire  _T_622; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201661.4]
  wire  _T_624; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@201663.4]
  wire  s2_write; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@201681.4]
  wire  s2_readwrite; // @[DCache.scala 247:30:shc.marmotcaravel.MarmotCaravelConfig.fir@201682.4]
  wire  _T_803; // @[DCache.scala 282:51:shc.marmotcaravel.MarmotCaravelConfig.fir@201891.4]
  wire  _T_720; // @[Consts.scala 95:54:shc.marmotcaravel.MarmotCaravelConfig.fir@201797.4]
  wire  _T_721; // @[Consts.scala 95:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201798.4]
  wire  _T_723; // @[Consts.scala 95:64:shc.marmotcaravel.MarmotCaravelConfig.fir@201800.4]
  wire [1:0] _T_724; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201801.4]
  reg [1:0] s2_hit_state_state; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@201740.4]
  reg [31:0] _RAND_11;
  wire [3:0] _T_725; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201802.4]
  wire  _T_783; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201860.4]
  wire  _T_780; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201857.4]
  wire  _T_777; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201854.4]
  wire  _T_774; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201851.4]
  wire  _T_771; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201848.4]
  wire  _T_768; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201845.4]
  wire  _T_765; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201842.4]
  wire  _T_762; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201839.4]
  wire  _T_759; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201836.4]
  wire  _T_756; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201833.4]
  wire  _T_753; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201830.4]
  wire  _T_750; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201827.4]
  wire  _T_769; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201846.4]
  wire  _T_772; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201849.4]
  wire  _T_775; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201852.4]
  wire  _T_778; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201855.4]
  wire  _T_781; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201858.4]
  wire  s2_hit; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201861.4]
  wire  s2_valid_hit_pre_data_ecc; // @[DCache.scala 282:85:shc.marmotcaravel.MarmotCaravelConfig.fir@201894.4]
  wire  _T_1176; // @[DCache.scala 345:46:shc.marmotcaravel.MarmotCaravelConfig.fir@202366.4]
  reg [31:0] s2_req_addr; // @[DCache.scala 236:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201618.4]
  reg [31:0] _RAND_12;
  reg  pstore1_held; // @[DCache.scala 359:25:shc.marmotcaravel.MarmotCaravelConfig.fir@202363.4]
  reg [31:0] _RAND_13;
  wire  pstore1_valid_pre_kill; // @[DCache.scala 361:56:shc.marmotcaravel.MarmotCaravelConfig.fir@202369.4]
  reg [31:0] pstore1_addr; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@202204.4]
  reg [31:0] _RAND_14;
  wire [11:0] _T_1308; // @[DCache.scala 414:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202540.4]
  reg [31:0] s1_req_addr; // @[DCache.scala 137:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201239.4]
  reg [31:0] _RAND_15;
  wire [11:0] _T_1309; // @[DCache.scala 414:46:shc.marmotcaravel.MarmotCaravelConfig.fir@202541.4]
  wire  _T_1310; // @[DCache.scala 414:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202542.4]
  wire  _T_299; // @[Consts.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@201276.4]
  wire  _T_300; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201277.4]
  wire  _T_301; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201278.4]
  wire  _T_303; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@201280.4]
  wire  s1_write; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@201298.4]
  reg [3:0] pstore1_mask; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@202219.4]
  reg [31:0] _RAND_16;
  wire  _T_1314; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202546.4]
  wire  _T_1313; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202545.4]
  wire [1:0] _T_1320; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202552.4]
  wire  _T_1312; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202544.4]
  wire  _T_1311; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202543.4]
  wire [1:0] _T_1319; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202551.4]
  wire [3:0] _T_1321; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202553.4]
  wire  _T_1325; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202557.4]
  wire  _T_1324; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202556.4]
  wire [1:0] _T_1327; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202559.4]
  wire  _T_1323; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202555.4]
  wire  _T_1322; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202554.4]
  wire [1:0] _T_1326; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202558.4]
  wire [3:0] _T_1328; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202560.4]
  wire  _T_564; // @[AMOALU.scala 17:27:shc.marmotcaravel.MarmotCaravelConfig.fir@201586.4]
  wire  _T_556; // @[AMOALU.scala 17:27:shc.marmotcaravel.MarmotCaravelConfig.fir@201578.4]
  reg [2:0] s1_req_typ; // @[DCache.scala 137:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201239.4]
  reg [31:0] _RAND_17;
  wire [1:0] _T_555; // @[AMOALU.scala 10:17:shc.marmotcaravel.MarmotCaravelConfig.fir@201577.4]
  wire  _T_558; // @[AMOALU.scala 17:57:shc.marmotcaravel.MarmotCaravelConfig.fir@201580.4]
  wire  _T_560; // @[AMOALU.scala 17:46:shc.marmotcaravel.MarmotCaravelConfig.fir@201582.4]
  wire  _T_562; // @[AMOALU.scala 18:22:shc.marmotcaravel.MarmotCaravelConfig.fir@201584.4]
  wire [1:0] _T_563; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201585.4]
  wire [1:0] _T_565; // @[AMOALU.scala 17:22:shc.marmotcaravel.MarmotCaravelConfig.fir@201587.4]
  wire  _T_566; // @[AMOALU.scala 17:57:shc.marmotcaravel.MarmotCaravelConfig.fir@201588.4]
  wire [1:0] _T_567; // @[AMOALU.scala 17:51:shc.marmotcaravel.MarmotCaravelConfig.fir@201589.4]
  wire [1:0] _T_568; // @[AMOALU.scala 17:46:shc.marmotcaravel.MarmotCaravelConfig.fir@201590.4]
  wire [1:0] _T_570; // @[AMOALU.scala 18:22:shc.marmotcaravel.MarmotCaravelConfig.fir@201592.4]
  wire [3:0] _T_571; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201593.4]
  wire [3:0] s1_mask; // @[DCache.scala 228:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201594.4]
  wire  _T_1332; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202564.4]
  wire  _T_1331; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202563.4]
  wire [1:0] _T_1338; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202570.4]
  wire  _T_1330; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202562.4]
  wire  _T_1329; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202561.4]
  wire [1:0] _T_1337; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202569.4]
  wire [3:0] _T_1339; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202571.4]
  wire  _T_1343; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202575.4]
  wire  _T_1342; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202574.4]
  wire [1:0] _T_1345; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202577.4]
  wire  _T_1341; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202573.4]
  wire  _T_1340; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202572.4]
  wire [1:0] _T_1344; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202576.4]
  wire [3:0] _T_1346; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202578.4]
  wire [3:0] _T_1347; // @[DCache.scala 415:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202579.4]
  wire  _T_1348; // @[DCache.scala 415:62:shc.marmotcaravel.MarmotCaravelConfig.fir@202580.4]
  wire [3:0] _T_1349; // @[DCache.scala 415:73:shc.marmotcaravel.MarmotCaravelConfig.fir@202581.4]
  wire  _T_1350; // @[DCache.scala 415:84:shc.marmotcaravel.MarmotCaravelConfig.fir@202582.4]
  wire  _T_1351; // @[DCache.scala 415:8:shc.marmotcaravel.MarmotCaravelConfig.fir@202583.4]
  wire  _T_1352; // @[DCache.scala 414:68:shc.marmotcaravel.MarmotCaravelConfig.fir@202584.4]
  wire  _T_1353; // @[DCache.scala 417:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202585.4]
  reg  pstore2_valid; // @[DCache.scala 356:26:shc.marmotcaravel.MarmotCaravelConfig.fir@202292.4]
  reg [31:0] _RAND_18;
  reg [31:0] pstore2_addr; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@202441.4]
  reg [31:0] _RAND_19;
  wire [11:0] _T_1354; // @[DCache.scala 414:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202586.4]
  wire  _T_1356; // @[DCache.scala 414:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202588.4]
  reg [3:0] mask; // @[DCache.scala 387:19:shc.marmotcaravel.MarmotCaravelConfig.fir@202485.4]
  reg [31:0] _RAND_20;
  wire  _T_1360; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202592.4]
  wire  _T_1359; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202591.4]
  wire [1:0] _T_1366; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202598.4]
  wire  _T_1358; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202590.4]
  wire  _T_1357; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202589.4]
  wire [1:0] _T_1365; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202597.4]
  wire [3:0] _T_1367; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202599.4]
  wire  _T_1371; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202603.4]
  wire  _T_1370; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202602.4]
  wire [1:0] _T_1373; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202605.4]
  wire  _T_1369; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202601.4]
  wire  _T_1368; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202600.4]
  wire [1:0] _T_1372; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202604.4]
  wire [3:0] _T_1374; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202606.4]
  wire [3:0] _T_1393; // @[DCache.scala 415:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202625.4]
  wire  _T_1394; // @[DCache.scala 415:62:shc.marmotcaravel.MarmotCaravelConfig.fir@202626.4]
  wire [3:0] _T_1395; // @[DCache.scala 415:73:shc.marmotcaravel.MarmotCaravelConfig.fir@202627.4]
  wire  _T_1396; // @[DCache.scala 415:84:shc.marmotcaravel.MarmotCaravelConfig.fir@202628.4]
  wire  _T_1397; // @[DCache.scala 415:8:shc.marmotcaravel.MarmotCaravelConfig.fir@202629.4]
  wire  _T_1398; // @[DCache.scala 414:68:shc.marmotcaravel.MarmotCaravelConfig.fir@202630.4]
  wire  _T_1399; // @[DCache.scala 418:21:shc.marmotcaravel.MarmotCaravelConfig.fir@202631.4]
  wire  s1_hazard; // @[DCache.scala 417:71:shc.marmotcaravel.MarmotCaravelConfig.fir@202632.4]
  wire  s1_raw_hazard; // @[DCache.scala 419:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202633.4]
  wire  _T_1400; // @[DCache.scala 424:18:shc.marmotcaravel.MarmotCaravelConfig.fir@202635.4]
  wire [1:0] _T_752; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201829.4]
  wire [1:0] _T_755; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201832.4]
  wire [1:0] _T_758; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201835.4]
  wire [1:0] _T_761; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201838.4]
  wire [1:0] _T_764; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201841.4]
  wire [1:0] _T_767; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201844.4]
  wire [1:0] _T_770; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201847.4]
  wire [1:0] _T_773; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201850.4]
  wire [1:0] _T_776; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201853.4]
  wire [1:0] _T_779; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201856.4]
  wire [1:0] _T_782; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201859.4]
  wire [1:0] s2_grow_param; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201862.4]
  wire  _T_965; // @[Metadata.scala 46:46:shc.marmotcaravel.MarmotCaravelConfig.fir@202079.4]
  wire  s2_update_meta; // @[Metadata.scala 47:40:shc.marmotcaravel.MarmotCaravelConfig.fir@202080.4]
  wire  _T_971; // @[DCache.scala 301:41:shc.marmotcaravel.MarmotCaravelConfig.fir@202087.4]
  wire  _T_972; // @[DCache.scala 301:24:shc.marmotcaravel.MarmotCaravelConfig.fir@202088.4]
  wire  s1_readwrite; // @[DCache.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@201299.4]
  wire  s1_nack; // @[DCache.scala 424:36:shc.marmotcaravel.MarmotCaravelConfig.fir@202636.4]
  wire  _T_271; // @[DCache.scala 136:41:shc.marmotcaravel.MarmotCaravelConfig.fir@201237.4]
  wire  s1_valid_not_nacked; // @[DCache.scala 136:38:shc.marmotcaravel.MarmotCaravelConfig.fir@201238.4]
  reg [6:0] s1_req_tag; // @[DCache.scala 137:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201239.4]
  reg [31:0] _RAND_21;
  reg  s1_req_phys; // @[DCache.scala 137:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201239.4]
  reg [31:0] _RAND_22;
  wire  _T_272; // @[DCache.scala 138:43:shc.marmotcaravel.MarmotCaravelConfig.fir@201240.4]
  wire  s0_clk_en; // @[DCache.scala 138:40:shc.marmotcaravel.MarmotCaravelConfig.fir@201241.4]
  wire [25:0] _T_273; // @[DCache.scala 141:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201244.6]
  wire [5:0] _T_274; // @[DCache.scala 141:86:shc.marmotcaravel.MarmotCaravelConfig.fir@201245.6]
  wire [31:0] _T_275; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201246.6]
  wire  _T_276; // @[DCache.scala 142:11:shc.marmotcaravel.MarmotCaravelConfig.fir@201248.6]
  wire  s1_sfence; // @[DCache.scala 147:30:shc.marmotcaravel.MarmotCaravelConfig.fir@201300.4]
  reg  s1_flush_valid; // @[DCache.scala 148:27:shc.marmotcaravel.MarmotCaravelConfig.fir@201301.4]
  reg [31:0] _RAND_23;
  reg  cached_grant_wait; // @[DCache.scala 152:30:shc.marmotcaravel.MarmotCaravelConfig.fir@201304.4]
  reg [31:0] _RAND_24;
  wire  _T_329; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201311.4]
  wire  _T_330; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201312.4]
  wire  inWriteback; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201313.4]
  wire  _T_332; // @[DCache.scala 159:38:shc.marmotcaravel.MarmotCaravelConfig.fir@201316.4]
  wire  _T_333; // @[DCache.scala 159:54:shc.marmotcaravel.MarmotCaravelConfig.fir@201317.4]
  wire  _T_334; // @[DCache.scala 159:51:shc.marmotcaravel.MarmotCaravelConfig.fir@201318.4]
  wire  _T_336; // @[DCache.scala 159:73:shc.marmotcaravel.MarmotCaravelConfig.fir@201320.4]
  reg  uncachedInFlight_0; // @[DCache.scala 162:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201325.4]
  reg [31:0] _RAND_25;
  reg [31:0] uncachedReqs_0_addr; // @[DCache.scala 163:25:shc.marmotcaravel.MarmotCaravelConfig.fir@201326.4]
  reg [31:0] _RAND_26;
  reg [6:0] uncachedReqs_0_tag; // @[DCache.scala 163:25:shc.marmotcaravel.MarmotCaravelConfig.fir@201326.4]
  reg [31:0] _RAND_27;
  reg [2:0] uncachedReqs_0_typ; // @[DCache.scala 163:25:shc.marmotcaravel.MarmotCaravelConfig.fir@201326.4]
  reg [31:0] _RAND_28;
  wire  _T_363; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201327.4]
  wire  _T_364; // @[Consts.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@201328.4]
  wire  _T_365; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@201329.4]
  wire  _T_366; // @[Consts.scala 93:65:shc.marmotcaravel.MarmotCaravelConfig.fir@201330.4]
  wire  _T_367; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201331.4]
  wire  _T_368; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201332.4]
  wire  _T_369; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201333.4]
  wire  _T_370; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201334.4]
  wire  _T_371; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201335.4]
  wire  _T_372; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201336.4]
  wire  _T_373; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201337.4]
  wire  _T_374; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201338.4]
  wire  _T_375; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201339.4]
  wire  _T_376; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201340.4]
  wire  _T_377; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201341.4]
  wire  _T_378; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201342.4]
  wire  _T_379; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201343.4]
  wire  _T_380; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201344.4]
  wire  _T_381; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201345.4]
  wire  _T_382; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201346.4]
  wire  _T_383; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201347.4]
  wire  _T_384; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@201348.4]
  wire  s0_read; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@201349.4]
  wire  _T_385; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201350.4]
  wire  _T_386; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201351.4]
  wire  _T_387; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201352.4]
  wire  res; // @[DCache.scala 912:15:shc.marmotcaravel.MarmotCaravelConfig.fir@201353.4]
  wire  _T_415; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201381.4]
  wire  _T_416; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201382.4]
  wire  _T_418; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@201384.4]
  wire  _T_436; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@201402.4]
  wire  _T_441; // @[DCache.scala 918:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201407.4]
  wire  _T_442; // @[DCache.scala 917:21:shc.marmotcaravel.MarmotCaravelConfig.fir@201408.4]
  wire  _T_443; // @[DCache.scala 913:12:shc.marmotcaravel.MarmotCaravelConfig.fir@201409.4]
  wire  _T_444; // @[DCache.scala 913:28:shc.marmotcaravel.MarmotCaravelConfig.fir@201410.4]
  wire  _T_446; // @[DCache.scala 913:11:shc.marmotcaravel.MarmotCaravelConfig.fir@201412.4]
  wire  _T_447; // @[DCache.scala 913:11:shc.marmotcaravel.MarmotCaravelConfig.fir@201413.4]
  wire  _T_448; // @[DCache.scala 167:46:shc.marmotcaravel.MarmotCaravelConfig.fir@201418.4]
  wire  _T_451; // @[DCache.scala 173:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201427.4]
  wire  _T_452; // @[DCache.scala 173:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201428.4]
  wire  _GEN_16; // @[DCache.scala 173:45:shc.marmotcaravel.MarmotCaravelConfig.fir@201429.4]
  wire  _GEN_18; // @[DCache.scala 181:34:shc.marmotcaravel.MarmotCaravelConfig.fir@201498.4]
  wire  _T_527; // @[DCache.scala 206:35:shc.marmotcaravel.MarmotCaravelConfig.fir@201542.4]
  wire  _T_530; // @[DCache.scala 206:59:shc.marmotcaravel.MarmotCaravelConfig.fir@201545.4]
  wire  inScratchpad; // @[DCache.scala 206:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201546.4]
  wire [7:0] _T_540; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201565.4]
  wire [7:0] _T_541; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201566.4]
  wire [7:0] _T_542; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201567.4]
  wire [7:0] _T_543; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201568.4]
  wire [15:0] _T_544; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201569.4]
  wire [15:0] _T_545; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201570.4]
  wire [31:0] s1_all_data_ways_1; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201571.4]
  wire  _T_572; // @[DCache.scala 230:55:shc.marmotcaravel.MarmotCaravelConfig.fir@201595.4]
  wire  _T_573; // @[DCache.scala 230:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201596.4]
  reg [6:0] s2_req_tag; // @[DCache.scala 236:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201618.4]
  reg [31:0] _RAND_29;
  reg [2:0] s2_req_typ; // @[DCache.scala 236:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201618.4]
  reg [31:0] _RAND_30;
  reg  s2_req_phys; // @[DCache.scala 236:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201618.4]
  reg [31:0] _RAND_31;
  reg [31:0] s2_uncached_resp_addr; // @[DCache.scala 238:34:shc.marmotcaravel.MarmotCaravelConfig.fir@201620.4]
  reg [31:0] _RAND_32;
  wire  _T_591; // @[DCache.scala 239:29:shc.marmotcaravel.MarmotCaravelConfig.fir@201621.4]
  reg [31:0] _T_595; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@201629.4]
  reg [31:0] _RAND_33;
  wire [19:0] _T_596; // @[DCache.scala 244:84:shc.marmotcaravel.MarmotCaravelConfig.fir@201633.4]
  wire [11:0] _T_597; // @[DCache.scala 244:109:shc.marmotcaravel.MarmotCaravelConfig.fir@201634.4]
  wire [31:0] s2_vaddr; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201635.4]
  reg  s2_flush_valid_pre_tag_ecc; // @[DCache.scala 248:43:shc.marmotcaravel.MarmotCaravelConfig.fir@201683.4]
  reg [31:0] _RAND_34;
  wire  en; // @[DCache.scala 258:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201713.4]
  wire [1:0] _GEN_93; // @[DCache.scala 516:34:shc.marmotcaravel.MarmotCaravelConfig.fir@203796.10]
  wire [1:0] _GEN_113; // @[DCache.scala 498:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203764.6]
  wire [1:0] s1_data_way; // @[DCache.scala 497:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203763.4]
  wire  _T_656; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201714.4]
  wire  _T_657; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201715.4]
  wire [31:0] s1_all_data_ways_0; // @[DCache.scala 227:29:shc.marmotcaravel.MarmotCaravelConfig.fir@201572.4 DCache.scala 227:29:shc.marmotcaravel.MarmotCaravelConfig.fir@201574.4]
  wire [31:0] _T_659; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@201716.4]
  wire [31:0] _T_660; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@201717.4]
  wire [31:0] _T_661; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@201718.4]
  wire  _T_665; // @[DCache.scala 264:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201722.4]
  reg [31:0] s2_data; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@201723.4]
  reg [31:0] _RAND_35;
  wire  s2_hit_valid; // @[Metadata.scala 50:45:shc.marmotcaravel.MarmotCaravelConfig.fir@201750.4]
  wire [7:0] _T_785; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201866.4]
  wire [7:0] _T_786; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201867.4]
  wire [7:0] _T_787; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201868.4]
  wire [7:0] _T_788; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201869.4]
  wire [15:0] _T_799; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201885.4]
  wire [15:0] _T_800; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201886.4]
  wire [31:0] s2_data_corrected; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201887.4]
  wire  _T_814; // @[DCache.scala 285:76:shc.marmotcaravel.MarmotCaravelConfig.fir@201905.4]
  wire  s2_valid_miss; // @[DCache.scala 285:73:shc.marmotcaravel.MarmotCaravelConfig.fir@201906.4]
  wire  s2_valid_cached_miss; // @[DCache.scala 286:60:shc.marmotcaravel.MarmotCaravelConfig.fir@201912.4]
  wire  _T_822; // @[DCache.scala 289:29:shc.marmotcaravel.MarmotCaravelConfig.fir@201916.4]
  wire  _T_825; // @[DCache.scala 291:92:shc.marmotcaravel.MarmotCaravelConfig.fir@201921.4]
  wire  _T_826; // @[DCache.scala 291:92:shc.marmotcaravel.MarmotCaravelConfig.fir@201922.4]
  wire  _T_827; // @[DCache.scala 291:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201923.4]
  wire  s2_valid_uncached_pending; // @[DCache.scala 291:64:shc.marmotcaravel.MarmotCaravelConfig.fir@201924.4]
  wire [1:0] s2_victim_state_state; // @[DCache.scala 294:28:shc.marmotcaravel.MarmotCaravelConfig.fir@201944.4]
  wire [3:0] _T_905; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202015.4]
  wire  _T_930; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202040.4]
  wire  _T_934; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202044.4]
  wire  _T_935; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202045.4]
  wire  _T_938; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202048.4]
  wire  _T_939; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202049.4]
  wire  _T_942; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202052.4]
  wire  _T_943; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202053.4]
  wire  _T_946; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202056.4]
  wire  _T_947; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202057.4]
  wire  _T_950; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202060.4]
  wire  _T_951; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202061.4]
  wire  _T_954; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202064.4]
  wire  _T_955; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202065.4]
  wire  _T_958; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202068.4]
  wire  _T_959; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202069.4]
  wire  _T_962; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202072.4]
  wire  s2_victim_dirty; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202073.4]
  wire  _T_966; // @[DCache.scala 300:33:shc.marmotcaravel.MarmotCaravelConfig.fir@202081.4]
  wire  _T_967; // @[DCache.scala 300:30:shc.marmotcaravel.MarmotCaravelConfig.fir@202082.4]
  wire  _T_968; // @[DCache.scala 300:78:shc.marmotcaravel.MarmotCaravelConfig.fir@202083.4]
  wire  _T_969; // @[DCache.scala 300:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202084.4]
  wire  _T_970; // @[DCache.scala 300:47:shc.marmotcaravel.MarmotCaravelConfig.fir@202085.4]
  wire [17:0] _T_984; // @[DCache.scala 309:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202107.4]
  wire  _T_992; // @[DCache.scala 317:87:shc.marmotcaravel.MarmotCaravelConfig.fir@202123.4]
  wire [13:0] _T_998; // @[DCache.scala 321:80:shc.marmotcaravel.MarmotCaravelConfig.fir@202133.4]
  wire  _T_1010; // @[DCache.scala 329:34:shc.marmotcaravel.MarmotCaravelConfig.fir@202153.4]
  wire [7:0] _T_1025; // @[DCache.scala 337:49:shc.marmotcaravel.MarmotCaravelConfig.fir@202176.6]
  wire [7:0] _T_1026; // @[DCache.scala 337:49:shc.marmotcaravel.MarmotCaravelConfig.fir@202177.6]
  wire [6:0] _T_1027; // @[DCache.scala 337:49:shc.marmotcaravel.MarmotCaravelConfig.fir@202178.6]
  wire  _T_1028; // @[DCache.scala 338:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202181.4]
  wire  _T_1037; // @[DCache.scala 347:63:shc.marmotcaravel.MarmotCaravelConfig.fir@202198.4]
  reg [4:0] pstore1_cmd; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@202199.4]
  reg [31:0] _RAND_36;
  reg [31:0] pstore1_data; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@202209.4]
  reg [31:0] _RAND_37;
  wire  _T_1098; // @[DCache.scala 918:23:shc.marmotcaravel.MarmotCaravelConfig.fir@202276.4]
  wire  _T_1099; // @[DCache.scala 917:21:shc.marmotcaravel.MarmotCaravelConfig.fir@202277.4]
  reg  pstore1_rmw; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@202279.4]
  reg [31:0] _RAND_38;
  wire  _T_1103; // @[DCache.scala 354:39:shc.marmotcaravel.MarmotCaravelConfig.fir@202284.4]
  wire  pstore_drain_opportunistic; // @[DCache.scala 357:36:shc.marmotcaravel.MarmotCaravelConfig.fir@202362.4]
  wire  pstore1_valid_likely; // @[DCache.scala 360:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202365.4]
  wire  _T_1185; // @[DCache.scala 365:54:shc.marmotcaravel.MarmotCaravelConfig.fir@202378.4]
  wire  _T_1186; // @[DCache.scala 365:85:shc.marmotcaravel.MarmotCaravelConfig.fir@202379.4]
  wire  _T_1187; // @[DCache.scala 365:98:shc.marmotcaravel.MarmotCaravelConfig.fir@202380.4]
  wire  pstore_drain_structural; // @[DCache.scala 365:71:shc.marmotcaravel.MarmotCaravelConfig.fir@202381.4]
  wire  _T_1197; // @[DCache.scala 366:63:shc.marmotcaravel.MarmotCaravelConfig.fir@202391.4]
  wire  _T_1198; // @[DCache.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@202392.4]
  wire  _T_1200; // @[DCache.scala 366:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202394.4]
  wire  _T_1201; // @[DCache.scala 366:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202395.4]
  wire  _T_1215; // @[DCache.scala 374:44:shc.marmotcaravel.MarmotCaravelConfig.fir@202414.4]
  wire  _T_1216; // @[DCache.scala 374:41:shc.marmotcaravel.MarmotCaravelConfig.fir@202415.4]
  wire  _T_1217; // @[DCache.scala 374:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202416.4]
  wire  _T_1218; // @[DCache.scala 374:107:shc.marmotcaravel.MarmotCaravelConfig.fir@202417.4]
  wire  _T_1219; // @[DCache.scala 374:76:shc.marmotcaravel.MarmotCaravelConfig.fir@202418.4]
  wire  pstore_drain; // @[DCache.scala 373:48:shc.marmotcaravel.MarmotCaravelConfig.fir@202419.4]
  wire  _T_1229; // @[DCache.scala 377:71:shc.marmotcaravel.MarmotCaravelConfig.fir@202429.4]
  wire  _T_1230; // @[DCache.scala 377:91:shc.marmotcaravel.MarmotCaravelConfig.fir@202430.4]
  wire  _T_1233; // @[DCache.scala 378:79:shc.marmotcaravel.MarmotCaravelConfig.fir@202434.4]
  wire  advance_pstore1; // @[DCache.scala 378:61:shc.marmotcaravel.MarmotCaravelConfig.fir@202435.4]
  wire  _T_1235; // @[DCache.scala 379:34:shc.marmotcaravel.MarmotCaravelConfig.fir@202437.4]
  wire [7:0] _T_2705; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204296.4]
  wire [7:0] _T_2703; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204294.4]
  wire [15:0] _T_2707; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204298.4]
  wire [7:0] _T_2701; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204292.4]
  wire [7:0] _T_2699; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204290.4]
  wire [15:0] _T_2706; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204297.4]
  wire [31:0] mask_1; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204299.4]
  wire [31:0] _T_2708; // @[DCache.scala 750:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204300.4]
  wire [31:0] _T_2709; // @[DCache.scala 750:64:shc.marmotcaravel.MarmotCaravelConfig.fir@204301.4]
  wire [31:0] _T_2710; // @[DCache.scala 750:62:shc.marmotcaravel.MarmotCaravelConfig.fir@204302.4]
  wire [31:0] pstore1_storegen_data; // @[DCache.scala 750:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204303.4]
  wire [7:0] _T_1241; // @[DCache.scala 384:44:shc.marmotcaravel.MarmotCaravelConfig.fir@202450.4]
  reg [7:0] _T_1246; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@202454.4]
  reg [31:0] _RAND_39;
  wire [7:0] _T_1247; // @[DCache.scala 384:44:shc.marmotcaravel.MarmotCaravelConfig.fir@202458.4]
  reg [7:0] _T_1252; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@202462.4]
  reg [31:0] _RAND_40;
  wire [7:0] _T_1253; // @[DCache.scala 384:44:shc.marmotcaravel.MarmotCaravelConfig.fir@202466.4]
  reg [7:0] _T_1258; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@202470.4]
  reg [31:0] _RAND_41;
  wire [7:0] _T_1259; // @[DCache.scala 384:44:shc.marmotcaravel.MarmotCaravelConfig.fir@202474.4]
  reg [7:0] _T_1264; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@202478.4]
  reg [31:0] _RAND_42;
  wire [15:0] _T_1265; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202482.4]
  wire [15:0] _T_1266; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202483.4]
  wire [31:0] pstore2_storegen_data; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202484.4]
  wire [3:0] _T_1270; // @[DCache.scala 390:37:shc.marmotcaravel.MarmotCaravelConfig.fir@202490.6]
  wire [3:0] _T_1272; // @[DCache.scala 390:15:shc.marmotcaravel.MarmotCaravelConfig.fir@202492.6]
  wire [31:0] _T_1291; // @[DCache.scala 405:36:shc.marmotcaravel.MarmotCaravelConfig.fir@202517.4]
  wire [3:0] _T_1296; // @[DCache.scala 410:47:shc.marmotcaravel.MarmotCaravelConfig.fir@202527.4]
  wire  _T_1297; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202528.4]
  wire  _T_1298; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202529.4]
  wire  _T_1299; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202530.4]
  wire  _T_1300; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202531.4]
  wire [1:0] _T_1305; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202536.4]
  wire [1:0] _T_1306; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202537.4]
  wire [1:0] a_size; // @[Consts.scala 19:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202647.4]
  wire  _T_1479; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@202726.4]
  wire [1:0] _T_1480; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@202727.4]
  wire [1:0] _T_1482; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@202729.4]
  wire  _T_1483; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@202730.4]
  wire  _T_1484; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@202731.4]
  wire  _T_1485; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@202732.4]
  wire  _T_1486; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202733.4]
  wire  _T_1488; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202735.4]
  wire  _T_1489; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202736.4]
  wire  _T_1491; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202738.4]
  wire  _T_1492; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202739.4]
  wire  _T_1493; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@202740.4]
  wire  _T_1494; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@202741.4]
  wire  _T_1495; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202742.4]
  wire  _T_1496; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202743.4]
  wire  _T_1497; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202744.4]
  wire  _T_1498; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202745.4]
  wire  _T_1499; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202746.4]
  wire  _T_1500; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202747.4]
  wire  _T_1501; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202748.4]
  wire  _T_1502; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202749.4]
  wire  _T_1503; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202750.4]
  wire  _T_1504; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202751.4]
  wire  _T_1505; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202752.4]
  wire  _T_1506; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202753.4]
  wire  _T_1507; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202754.4]
  wire [1:0] _T_1508; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202755.4]
  wire [1:0] _T_1509; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202756.4]
  wire [3:0] get_mask; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202757.4]
  wire  _T_2321; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203652.4]
  wire [2:0] _T_2322_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203653.4]
  wire [2:0] _T_2322_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203653.4]
  wire [3:0] _T_2287_size; // @[Edges.scala 476:17:shc.marmotcaravel.MarmotCaravelConfig.fir@203609.4 Edges.scala 479:15:shc.marmotcaravel.MarmotCaravelConfig.fir@203613.4]
  wire [3:0] _T_2322_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203653.4]
  wire [31:0] _T_2322_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203653.4]
  wire [3:0] _T_2322_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203653.4]
  wire [31:0] _T_2322_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203653.4]
  wire  _T_2323; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203654.4]
  wire [2:0] _T_2324_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203655.4]
  wire [2:0] _T_2324_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203655.4]
  wire [3:0] _T_2324_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203655.4]
  wire [31:0] _T_2324_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203655.4]
  wire [3:0] _T_2324_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203655.4]
  wire [31:0] _T_2324_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203655.4]
  wire  _T_2325; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203656.4]
  wire [2:0] _T_2326_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203657.4]
  wire [2:0] _T_2326_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203657.4]
  wire [3:0] _T_2326_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203657.4]
  wire [31:0] _T_2326_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203657.4]
  wire [3:0] _T_2326_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203657.4]
  wire [31:0] _T_2326_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203657.4]
  wire  _T_2327; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203658.4]
  wire [2:0] _T_2328_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203659.4]
  wire [2:0] _T_2328_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203659.4]
  wire [3:0] _T_2328_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203659.4]
  wire [31:0] _T_2328_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203659.4]
  wire [3:0] _T_2328_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203659.4]
  wire [31:0] _T_2328_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203659.4]
  wire  _T_2329; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203660.4]
  wire [2:0] _T_2330_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203661.4]
  wire [2:0] _T_2330_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203661.4]
  wire [3:0] _T_2330_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203661.4]
  wire [31:0] _T_2330_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203661.4]
  wire [3:0] _T_2330_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203661.4]
  wire [31:0] _T_2330_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203661.4]
  wire  _T_2331; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203662.4]
  wire [2:0] _T_2332_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203663.4]
  wire [2:0] _T_2332_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203663.4]
  wire [3:0] _T_2332_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203663.4]
  wire [31:0] _T_2332_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203663.4]
  wire [3:0] _T_2332_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203663.4]
  wire [31:0] _T_2332_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203663.4]
  wire  _T_2333; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203664.4]
  wire [2:0] _T_2334_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203665.4]
  wire [2:0] _T_2334_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203665.4]
  wire [3:0] _T_2334_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203665.4]
  wire [31:0] _T_2334_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203665.4]
  wire [3:0] _T_2334_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203665.4]
  wire [31:0] _T_2334_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203665.4]
  wire  _T_2335; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203666.4]
  wire [2:0] _T_2336_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203667.4]
  wire [2:0] _T_2336_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203667.4]
  wire [3:0] _T_2336_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203667.4]
  wire [31:0] _T_2336_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203667.4]
  wire [3:0] _T_2336_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203667.4]
  wire [31:0] _T_2336_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203667.4]
  wire  _T_2337; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203668.4]
  wire [2:0] atomics_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203669.4]
  wire [2:0] atomics_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203669.4]
  wire [3:0] atomics_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203669.4]
  wire [31:0] atomics_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203669.4]
  wire [3:0] atomics_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203669.4]
  wire [31:0] atomics_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203669.4]
  wire  _T_2341; // @[DCache.scala 454:63:shc.marmotcaravel.MarmotCaravelConfig.fir@203673.4]
  wire  tl_out_a_valid; // @[DCache.scala 454:128:shc.marmotcaravel.MarmotCaravelConfig.fir@203674.4]
  wire  _T_2347; // @[DCache.scala 455:89:shc.marmotcaravel.MarmotCaravelConfig.fir@203680.4]
  wire  _T_2348; // @[DCache.scala 455:109:shc.marmotcaravel.MarmotCaravelConfig.fir@203681.4]
  wire [2:0] _T_2349_opcode; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@203682.4]
  wire [2:0] _T_2349_param; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@203682.4]
  wire [3:0] _T_2349_size; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@203682.4]
  wire [31:0] _T_2349_address; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@203682.4]
  wire [3:0] _T_2349_mask; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@203682.4]
  wire [31:0] _T_2349_data; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@203682.4]
  wire  _T_2352; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@203687.4]
  wire [10:0] _T_2364; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@203709.4]
  wire [10:0] _T_2365; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@203710.4]
  wire [9:0] _T_2366; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@203711.4]
  wire  d_done; // @[Edges.scala 233:22:shc.marmotcaravel.MarmotCaravelConfig.fir@203716.4]
  wire  _T_2372; // @[DCache.scala 480:14:shc.marmotcaravel.MarmotCaravelConfig.fir@203724.4]
  wire  _T_2373; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203725.4]
  wire  _T_2374; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203726.4]
  wire  _T_2375; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203727.4]
  wire  _T_2376; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@203728.4]
  wire  _T_2377; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@203729.4]
  wire  _T_2378; // @[DCache.scala 480:30:shc.marmotcaravel.MarmotCaravelConfig.fir@203730.4]
  wire  _T_2380; // @[DCache.scala 480:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203732.4]
  wire  _T_2381; // @[DCache.scala 480:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203733.4]
  wire [3:0] _T_2390; // @[DCache.scala 494:97:shc.marmotcaravel.MarmotCaravelConfig.fir@203752.6]
  wire [3:0] _T_2391; // @[DCache.scala 494:97:shc.marmotcaravel.MarmotCaravelConfig.fir@203753.6]
  wire [2:0] _T_2392; // @[DCache.scala 494:97:shc.marmotcaravel.MarmotCaravelConfig.fir@203754.6]
  wire  _T_2399; // @[DCache.scala 500:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203767.8]
  wire  _T_2400; // @[DCache.scala 500:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203768.8]
  wire  _T_2405; // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@203788.12]
  wire  _T_2406; // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@203789.12]
  wire [29:0] _T_2408; // @[DCache.scala 524:39:shc.marmotcaravel.MarmotCaravelConfig.fir@203802.12]
  wire [31:0] _GEN_183; // @[DCache.scala 524:53:shc.marmotcaravel.MarmotCaravelConfig.fir@203803.12]
  wire [31:0] dontCareBits; // @[DCache.scala 524:53:shc.marmotcaravel.MarmotCaravelConfig.fir@203803.12]
  wire [1:0] _T_2409; // @[DCache.scala 525:34:shc.marmotcaravel.MarmotCaravelConfig.fir@203804.12]
  wire [31:0] _GEN_184; // @[DCache.scala 525:24:shc.marmotcaravel.MarmotCaravelConfig.fir@203805.12]
  wire [31:0] _T_2410; // @[DCache.scala 525:24:shc.marmotcaravel.MarmotCaravelConfig.fir@203805.12]
  wire  _T_2414; // @[DCache.scala 536:36:shc.marmotcaravel.MarmotCaravelConfig.fir@203822.4]
  wire  _T_2415; // @[DCache.scala 536:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203823.4]
  wire  tl_out__e_valid; // @[DCache.scala 544:51:shc.marmotcaravel.MarmotCaravelConfig.fir@203847.4]
  wire  _T_2421; // @[DCache.scala 538:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203832.4]
  wire  _T_2422; // @[DCache.scala 538:58:shc.marmotcaravel.MarmotCaravelConfig.fir@203833.4]
  wire  _T_2423; // @[DCache.scala 538:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203834.4]
  wire  _T_2425; // @[DCache.scala 538:9:shc.marmotcaravel.MarmotCaravelConfig.fir@203836.4]
  wire  _T_2426; // @[DCache.scala 538:9:shc.marmotcaravel.MarmotCaravelConfig.fir@203837.4]
  wire  _T_2427; // @[DCache.scala 543:44:shc.marmotcaravel.MarmotCaravelConfig.fir@203842.4]
  wire  _T_2431; // @[DCache.scala 564:43:shc.marmotcaravel.MarmotCaravelConfig.fir@203852.4]
  wire  _T_2432; // @[DCache.scala 564:56:shc.marmotcaravel.MarmotCaravelConfig.fir@203853.4]
  wire  _GEN_134; // @[DCache.scala 577:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203948.6]
  wire  _GEN_135; // @[DCache.scala 577:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203948.6]
  wire  _GEN_136; // @[DCache.scala 577:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203948.6]
  reg  s2_release_data_valid; // @[DCache.scala 600:34:shc.marmotcaravel.MarmotCaravelConfig.fir@204011.4]
  reg [31:0] _RAND_43;
  reg  s1_release_data_valid; // @[DCache.scala 599:34:shc.marmotcaravel.MarmotCaravelConfig.fir@204007.4]
  reg [31:0] _RAND_44;
  wire [1:0] _T_2557; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204014.4]
  wire [1:0] _GEN_185; // @[DCache.scala 601:101:shc.marmotcaravel.MarmotCaravelConfig.fir@204015.4]
  wire [1:0] _T_2559; // @[DCache.scala 601:101:shc.marmotcaravel.MarmotCaravelConfig.fir@204016.4]
  wire [11:0] _T_2561; // @[DCache.scala 601:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204018.4]
  wire [10:0] releaseDataBeat; // @[DCache.scala 601:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204019.4]
  wire  _T_2574; // @[DCache.scala 676:60:shc.marmotcaravel.MarmotCaravelConfig.fir@204063.4]
  wire [3:0] _T_2578; // @[DCache.scala 679:90:shc.marmotcaravel.MarmotCaravelConfig.fir@204070.4]
  wire [5:0] _GEN_186; // @[DCache.scala 679:117:shc.marmotcaravel.MarmotCaravelConfig.fir@204071.4]
  wire [5:0] _T_2579; // @[DCache.scala 679:117:shc.marmotcaravel.MarmotCaravelConfig.fir@204071.4]
  wire  _T_2583; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204078.4]
  wire  _T_2584; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204079.4]
  wire  _T_2594; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204097.4]
  wire  _T_2595; // @[DCache.scala 701:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204107.4]
  wire  _T_2596; // @[DCache.scala 701:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204108.4]
  wire  _T_2597; // @[DCache.scala 701:72:shc.marmotcaravel.MarmotCaravelConfig.fir@204109.4]
  wire  _T_2598; // @[DCache.scala 701:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204110.4]
  wire  _T_2599; // @[DCache.scala 701:57:shc.marmotcaravel.MarmotCaravelConfig.fir@204111.4]
  wire  _T_2600; // @[DCache.scala 701:94:shc.marmotcaravel.MarmotCaravelConfig.fir@204112.4]
  wire  _T_2602; // @[DCache.scala 701:115:shc.marmotcaravel.MarmotCaravelConfig.fir@204114.4]
  reg  _T_2606; // @[DCache.scala 705:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204119.4]
  reg [31:0] _RAND_45;
  reg  _T_2608_pf_ld; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204121.4]
  reg [31:0] _RAND_46;
  reg  _T_2608_pf_st; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204121.4]
  reg [31:0] _RAND_47;
  reg  _T_2608_ae_ld; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204121.4]
  reg [31:0] _RAND_48;
  reg  _T_2608_ae_st; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204121.4]
  reg [31:0] _RAND_49;
  reg  _T_2608_ma_ld; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204121.4]
  reg [31:0] _RAND_50;
  reg  _T_2608_ma_st; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204121.4]
  reg [31:0] _RAND_51;
  wire  _T_2626_pf_ld; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204168.4]
  wire  _T_2626_pf_st; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204168.4]
  wire  _T_2626_ae_ld; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204168.4]
  wire  _T_2626_ae_st; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204168.4]
  wire  _T_2626_ma_ld; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204168.4]
  wire  _T_2626_ma_st; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204168.4]
  wire  _T_2628; // @[DCache.scala 710:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204172.6]
  wire  _T_2630; // @[DCache.scala 710:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204174.6]
  wire  _T_2631; // @[DCache.scala 710:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204175.6]
  wire  _T_2644; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@204201.4]
  wire  _T_2645; // @[DCache.scala 713:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204202.4]
  wire  _T_2646; // @[DCache.scala 713:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204203.4]
  wire  _T_2648; // @[DCache.scala 713:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204205.4]
  wire  _T_2649; // @[DCache.scala 713:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204206.4]
  reg  doUncachedResp; // @[DCache.scala 720:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204214.4]
  reg [31:0] _RAND_52;
  wire  _T_2656; // @[DCache.scala 723:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204223.6]
  wire  _T_2657; // @[DCache.scala 723:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204224.6]
  wire  _T_2659; // @[Consts.scala 20:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204238.4]
  wire  _T_2660; // @[Consts.scala 20:28:shc.marmotcaravel.MarmotCaravelConfig.fir@204239.4]
  wire [15:0] _T_2663; // @[AMOALU.scala 39:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204242.4]
  wire [15:0] _T_2664; // @[AMOALU.scala 39:55:shc.marmotcaravel.MarmotCaravelConfig.fir@204243.4]
  wire [15:0] _T_2665; // @[AMOALU.scala 39:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204244.4]
  wire  _T_2668; // @[AMOALU.scala 42:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204247.4]
  wire  _T_2670; // @[AMOALU.scala 42:85:shc.marmotcaravel.MarmotCaravelConfig.fir@204249.4]
  wire  _T_2671; // @[AMOALU.scala 42:76:shc.marmotcaravel.MarmotCaravelConfig.fir@204250.4]
  wire [15:0] _T_2673; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204252.4]
  wire [15:0] _T_2675; // @[AMOALU.scala 42:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204254.4]
  wire [31:0] _T_2676; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204255.4]
  wire [7:0] _T_2678; // @[AMOALU.scala 39:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204257.4]
  wire [7:0] _T_2679; // @[AMOALU.scala 39:55:shc.marmotcaravel.MarmotCaravelConfig.fir@204258.4]
  wire [7:0] _T_2680; // @[AMOALU.scala 39:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204259.4]
  wire  _T_2683; // @[AMOALU.scala 42:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204262.4]
  wire  _T_2685; // @[AMOALU.scala 42:85:shc.marmotcaravel.MarmotCaravelConfig.fir@204264.4]
  wire  _T_2686; // @[AMOALU.scala 42:76:shc.marmotcaravel.MarmotCaravelConfig.fir@204265.4]
  wire [23:0] _T_2688; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204267.4]
  wire [23:0] _T_2689; // @[AMOALU.scala 42:98:shc.marmotcaravel.MarmotCaravelConfig.fir@204268.4]
  wire [23:0] _T_2690; // @[AMOALU.scala 42:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204269.4]
  reg  resetting; // @[DCache.scala 757:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204305.4]
  reg [31:0] _RAND_53;
  reg [7:0] flushCounter; // @[DCache.scala 762:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204308.4]
  reg [31:0] _RAND_54;
  wire [8:0] flushCounterNext; // @[DCache.scala 763:39:shc.marmotcaravel.MarmotCaravelConfig.fir@204309.4]
  wire  flushDone; // @[DCache.scala 764:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204310.4]
  wire  _T_2717; // @[DCache.scala 766:39:shc.marmotcaravel.MarmotCaravelConfig.fir@204313.4]
  wire  _T_2718; // @[DCache.scala 766:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204314.4]
  wire  _T_2733; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204335.4]
  wire  _T_2734; // @[DCache.scala 774:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204336.4]
  wire  _T_2735; // @[DCache.scala 774:45:shc.marmotcaravel.MarmotCaravelConfig.fir@204337.4]
  wire  _T_2737; // @[DCache.scala 774:64:shc.marmotcaravel.MarmotCaravelConfig.fir@204339.4]
  wire [13:0] _GEN_187; // @[DCache.scala 778:98:shc.marmotcaravel.MarmotCaravelConfig.fir@204350.4]
  wire [13:0] _T_2744; // @[DCache.scala 778:98:shc.marmotcaravel.MarmotCaravelConfig.fir@204350.4]
  wire [8:0] _GEN_172; // @[DCache.scala 805:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204370.4]
  wire  _T_2755; // @[DCache.scala 815:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204378.4]
  wire  _T_2758; // @[DCache.scala 817:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204381.4]
  wire  _T_2759; // @[DCache.scala 818:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204382.4]
  wire  _T_2760; // @[DCache.scala 818:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204383.4]
  wire  _T_2761; // @[DCache.scala 819:18:shc.marmotcaravel.MarmotCaravelConfig.fir@204384.4]
  wire  _T_2763; // @[DCache.scala 819:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204386.4]
  wire  _T_2769; // @[DCache.scala 822:23:shc.marmotcaravel.MarmotCaravelConfig.fir@204392.4]
  wire  _T_2771; // @[DCache.scala 823:23:shc.marmotcaravel.MarmotCaravelConfig.fir@204394.4]
  wire  _T_2773; // @[DCache.scala 823:54:shc.marmotcaravel.MarmotCaravelConfig.fir@204396.4]
  wire  _T_2833; // @[DCache.scala 861:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204469.4]
  wire  _GEN_190; // @[DCache.scala 500:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203770.10]
  wire  _GEN_193; // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@203791.14]
  wire  _GEN_194; // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@203791.14]
  Arbiter metaArb ( // @[DCache.scala 98:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201183.4]
    .io_in_0_valid(metaArb_io_in_0_valid),
    .io_in_0_bits_addr(metaArb_io_in_0_bits_addr),
    .io_in_2_valid(metaArb_io_in_2_valid),
    .io_in_2_bits_addr(metaArb_io_in_2_bits_addr),
    .io_in_3_valid(metaArb_io_in_3_valid),
    .io_in_3_bits_addr(metaArb_io_in_3_bits_addr),
    .io_in_4_ready(metaArb_io_in_4_ready),
    .io_in_4_valid(metaArb_io_in_4_valid),
    .io_in_4_bits_addr(metaArb_io_in_4_bits_addr),
    .io_in_5_ready(metaArb_io_in_5_ready),
    .io_in_5_valid(metaArb_io_in_5_valid),
    .io_in_5_bits_addr(metaArb_io_in_5_bits_addr),
    .io_in_5_bits_idx(metaArb_io_in_5_bits_idx),
    .io_in_7_ready(metaArb_io_in_7_ready),
    .io_in_7_valid(metaArb_io_in_7_valid),
    .io_in_7_bits_addr(metaArb_io_in_7_bits_addr),
    .io_out_ready(metaArb_io_out_ready),
    .io_out_valid(metaArb_io_out_valid),
    .io_out_bits_write(metaArb_io_out_bits_write),
    .io_out_bits_addr(metaArb_io_out_bits_addr)
  );
  DCacheDataArray data ( // @[DCache.scala 108:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201188.4]
    .clock(data_clock),
    .io_req_valid(data_io_req_valid),
    .io_req_bits_addr(data_io_req_bits_addr),
    .io_req_bits_write(data_io_req_bits_write),
    .io_req_bits_wdata(data_io_req_bits_wdata),
    .io_req_bits_eccMask(data_io_req_bits_eccMask),
    .io_resp_0(data_io_resp_0),
    .data_arrays_0_ext_RW0_addr(data_arrays_0_ext_RW0_addr),
    .data_arrays_0_ext_RW0_en(data_arrays_0_ext_RW0_en),
    .data_arrays_0_ext_RW0_clk(data_arrays_0_ext_RW0_clk),
    .data_arrays_0_ext_RW0_wmode(data_arrays_0_ext_RW0_wmode),
    .data_arrays_0_ext_RW0_wdata(data_arrays_0_ext_RW0_wdata),
    .data_arrays_0_ext_RW0_rdata(data_arrays_0_ext_RW0_rdata),
    .data_arrays_0_ext_RW0_wmask(data_arrays_0_ext_RW0_wmask)
  );
  Arbiter_1 dataArb ( // @[DCache.scala 109:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201192.4]
    .io_in_0_valid(dataArb_io_in_0_valid),
    .io_in_0_bits_addr(dataArb_io_in_0_bits_addr),
    .io_in_0_bits_write(dataArb_io_in_0_bits_write),
    .io_in_0_bits_wdata(dataArb_io_in_0_bits_wdata),
    .io_in_0_bits_eccMask(dataArb_io_in_0_bits_eccMask),
    .io_in_1_ready(dataArb_io_in_1_ready),
    .io_in_1_valid(dataArb_io_in_1_valid),
    .io_in_1_bits_addr(dataArb_io_in_1_bits_addr),
    .io_in_1_bits_write(dataArb_io_in_1_bits_write),
    .io_in_1_bits_wdata(dataArb_io_in_1_bits_wdata),
    .io_in_1_bits_eccMask(dataArb_io_in_1_bits_eccMask),
    .io_in_2_ready(dataArb_io_in_2_ready),
    .io_in_2_valid(dataArb_io_in_2_valid),
    .io_in_2_bits_addr(dataArb_io_in_2_bits_addr),
    .io_in_2_bits_wdata(dataArb_io_in_2_bits_wdata),
    .io_in_2_bits_eccMask(dataArb_io_in_2_bits_eccMask),
    .io_in_3_ready(dataArb_io_in_3_ready),
    .io_in_3_valid(dataArb_io_in_3_valid),
    .io_in_3_bits_addr(dataArb_io_in_3_bits_addr),
    .io_in_3_bits_wdata(dataArb_io_in_3_bits_wdata),
    .io_in_3_bits_eccMask(dataArb_io_in_3_bits_eccMask),
    .io_out_valid(dataArb_io_out_valid),
    .io_out_bits_addr(dataArb_io_out_bits_addr),
    .io_out_bits_write(dataArb_io_out_bits_write),
    .io_out_bits_wdata(dataArb_io_out_bits_wdata),
    .io_out_bits_eccMask(dataArb_io_out_bits_eccMask)
  );
  TLB tlb ( // @[DCache.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@201501.4]
    .io_req_valid(tlb_io_req_valid),
    .io_req_bits_vaddr(tlb_io_req_bits_vaddr),
    .io_req_bits_size(tlb_io_req_bits_size),
    .io_req_bits_cmd(tlb_io_req_bits_cmd),
    .io_resp_paddr(tlb_io_resp_paddr),
    .io_resp_pf_ld(tlb_io_resp_pf_ld),
    .io_resp_pf_st(tlb_io_resp_pf_st),
    .io_resp_ae_ld(tlb_io_resp_ae_ld),
    .io_resp_ae_st(tlb_io_resp_ae_st),
    .io_resp_ma_ld(tlb_io_resp_ma_ld),
    .io_resp_ma_st(tlb_io_resp_ma_st),
    .io_ptw_pmp_0_cfg_l(tlb_io_ptw_pmp_0_cfg_l),
    .io_ptw_pmp_0_cfg_a(tlb_io_ptw_pmp_0_cfg_a),
    .io_ptw_pmp_0_cfg_x(tlb_io_ptw_pmp_0_cfg_x),
    .io_ptw_pmp_0_cfg_w(tlb_io_ptw_pmp_0_cfg_w),
    .io_ptw_pmp_0_cfg_r(tlb_io_ptw_pmp_0_cfg_r),
    .io_ptw_pmp_0_addr(tlb_io_ptw_pmp_0_addr),
    .io_ptw_pmp_0_mask(tlb_io_ptw_pmp_0_mask),
    .io_ptw_pmp_1_cfg_l(tlb_io_ptw_pmp_1_cfg_l),
    .io_ptw_pmp_1_cfg_a(tlb_io_ptw_pmp_1_cfg_a),
    .io_ptw_pmp_1_cfg_x(tlb_io_ptw_pmp_1_cfg_x),
    .io_ptw_pmp_1_cfg_w(tlb_io_ptw_pmp_1_cfg_w),
    .io_ptw_pmp_1_cfg_r(tlb_io_ptw_pmp_1_cfg_r),
    .io_ptw_pmp_1_addr(tlb_io_ptw_pmp_1_addr),
    .io_ptw_pmp_1_mask(tlb_io_ptw_pmp_1_mask),
    .io_ptw_pmp_2_cfg_l(tlb_io_ptw_pmp_2_cfg_l),
    .io_ptw_pmp_2_cfg_a(tlb_io_ptw_pmp_2_cfg_a),
    .io_ptw_pmp_2_cfg_x(tlb_io_ptw_pmp_2_cfg_x),
    .io_ptw_pmp_2_cfg_w(tlb_io_ptw_pmp_2_cfg_w),
    .io_ptw_pmp_2_cfg_r(tlb_io_ptw_pmp_2_cfg_r),
    .io_ptw_pmp_2_addr(tlb_io_ptw_pmp_2_addr),
    .io_ptw_pmp_2_mask(tlb_io_ptw_pmp_2_mask),
    .io_ptw_pmp_3_cfg_l(tlb_io_ptw_pmp_3_cfg_l),
    .io_ptw_pmp_3_cfg_a(tlb_io_ptw_pmp_3_cfg_a),
    .io_ptw_pmp_3_cfg_x(tlb_io_ptw_pmp_3_cfg_x),
    .io_ptw_pmp_3_cfg_w(tlb_io_ptw_pmp_3_cfg_w),
    .io_ptw_pmp_3_cfg_r(tlb_io_ptw_pmp_3_cfg_r),
    .io_ptw_pmp_3_addr(tlb_io_ptw_pmp_3_addr),
    .io_ptw_pmp_3_mask(tlb_io_ptw_pmp_3_mask),
    .io_ptw_pmp_4_cfg_l(tlb_io_ptw_pmp_4_cfg_l),
    .io_ptw_pmp_4_cfg_a(tlb_io_ptw_pmp_4_cfg_a),
    .io_ptw_pmp_4_cfg_x(tlb_io_ptw_pmp_4_cfg_x),
    .io_ptw_pmp_4_cfg_w(tlb_io_ptw_pmp_4_cfg_w),
    .io_ptw_pmp_4_cfg_r(tlb_io_ptw_pmp_4_cfg_r),
    .io_ptw_pmp_4_addr(tlb_io_ptw_pmp_4_addr),
    .io_ptw_pmp_4_mask(tlb_io_ptw_pmp_4_mask),
    .io_ptw_pmp_5_cfg_l(tlb_io_ptw_pmp_5_cfg_l),
    .io_ptw_pmp_5_cfg_a(tlb_io_ptw_pmp_5_cfg_a),
    .io_ptw_pmp_5_cfg_x(tlb_io_ptw_pmp_5_cfg_x),
    .io_ptw_pmp_5_cfg_w(tlb_io_ptw_pmp_5_cfg_w),
    .io_ptw_pmp_5_cfg_r(tlb_io_ptw_pmp_5_cfg_r),
    .io_ptw_pmp_5_addr(tlb_io_ptw_pmp_5_addr),
    .io_ptw_pmp_5_mask(tlb_io_ptw_pmp_5_mask),
    .io_ptw_pmp_6_cfg_l(tlb_io_ptw_pmp_6_cfg_l),
    .io_ptw_pmp_6_cfg_a(tlb_io_ptw_pmp_6_cfg_a),
    .io_ptw_pmp_6_cfg_x(tlb_io_ptw_pmp_6_cfg_x),
    .io_ptw_pmp_6_cfg_w(tlb_io_ptw_pmp_6_cfg_w),
    .io_ptw_pmp_6_cfg_r(tlb_io_ptw_pmp_6_cfg_r),
    .io_ptw_pmp_6_addr(tlb_io_ptw_pmp_6_addr),
    .io_ptw_pmp_6_mask(tlb_io_ptw_pmp_6_mask),
    .io_ptw_pmp_7_cfg_l(tlb_io_ptw_pmp_7_cfg_l),
    .io_ptw_pmp_7_cfg_a(tlb_io_ptw_pmp_7_cfg_a),
    .io_ptw_pmp_7_cfg_x(tlb_io_ptw_pmp_7_cfg_x),
    .io_ptw_pmp_7_cfg_w(tlb_io_ptw_pmp_7_cfg_w),
    .io_ptw_pmp_7_cfg_r(tlb_io_ptw_pmp_7_cfg_r),
    .io_ptw_pmp_7_addr(tlb_io_ptw_pmp_7_addr),
    .io_ptw_pmp_7_mask(tlb_io_ptw_pmp_7_mask)
  );
  AMOALU amoalu ( // @[DCache.scala 743:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204276.4]
    .io_cmd(amoalu_io_cmd),
    .io_lhs(amoalu_io_lhs),
    .io_rhs(amoalu_io_rhs),
    .io_out_unmasked(amoalu_io_out_unmasked)
  );
  assign opc = auto_out_d_bits_opcode[1:0]; // @[DCache.scala 482:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203738.4]
  assign _T_2382 = opc & 2'h1; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@203739.4]
  assign data_1 = _T_2382 == 2'h1; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@203740.4]
  assign _T_2513 = blockUncachedGrant | s1_valid; // @[DCache.scala 574:52:shc.marmotcaravel.MarmotCaravelConfig.fir@203944.4]
  assign _T_2514 = data_1 & _T_2513; // @[DCache.scala 574:29:shc.marmotcaravel.MarmotCaravelConfig.fir@203945.4]
  assign _GEN_176 = {{1'd0}, opc}; // @[DCache.scala 491:29:shc.marmotcaravel.MarmotCaravelConfig.fir@203747.4]
  assign grantIsRefill = _GEN_176 == 3'h5; // @[DCache.scala 491:29:shc.marmotcaravel.MarmotCaravelConfig.fir@203747.4]
  assign _T_2429 = dataArb_io_in_1_ready == 1'h0; // @[DCache.scala 544:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203845.4]
  assign _T_2430 = grantIsRefill & _T_2429; // @[DCache.scala 544:23:shc.marmotcaravel.MarmotCaravelConfig.fir@203846.4]
  assign _T_2385 = _GEN_176 == 3'h4; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203743.4]
  assign grantIsCached = _T_2385 | grantIsRefill; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@203745.4]
  assign d_first = _T_2363 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@203712.4]
  assign _GEN_133 = _T_2430 ? 1'h0 : 1'h1; // @[DCache.scala 544:51:shc.marmotcaravel.MarmotCaravelConfig.fir@203847.4]
  assign tl_out__d_ready = _T_2514 ? 1'h0 : _GEN_133; // @[DCache.scala 574:66:shc.marmotcaravel.MarmotCaravelConfig.fir@203946.4]
  assign _T_2397 = tl_out__d_ready & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@203762.4]
  assign _T_2367 = _T_2363 == 10'h1; // @[Edges.scala 232:25:shc.marmotcaravel.MarmotCaravelConfig.fir@203713.4]
  assign _T_2360 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@203706.4]
  assign _T_2356 = 27'hfff << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@203702.4]
  assign _T_2357 = _T_2356[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@203703.4]
  assign _T_2358 = ~ _T_2357; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@203704.4]
  assign _T_2359 = _T_2358[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@203705.4]
  assign _T_2361 = _T_2360 ? _T_2359 : 10'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@203707.4]
  assign _T_2368 = _T_2361 == 10'h0; // @[Edges.scala 232:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203714.4]
  assign d_last = _T_2367 | _T_2368; // @[Edges.scala 232:37:shc.marmotcaravel.MarmotCaravelConfig.fir@203715.4]
  assign _T_253 = dataArb_io_out_bits_wdata; // @[DCache.scala 112:65:shc.marmotcaravel.MarmotCaravelConfig.fir@201200.4]
  assign _T_254 = _T_253[7:0]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201201.4]
  assign _T_255 = _T_253[15:8]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201202.4]
  assign _T_256 = _T_253[23:16]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201203.4]
  assign _T_257 = _T_253[31:24]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201204.4]
  assign _T_258 = {_T_255,_T_254}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201205.4]
  assign _T_259 = {_T_257,_T_256}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201206.4]
  assign _T_263 = io_cpu_req_ready & io_cpu_req_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@201214.4]
  assign _T_583 = 1'h0; // @[DCache.scala 233:34:shc.marmotcaravel.MarmotCaravelConfig.fir@201609.4]
  assign releaseInFlight = release_state != 3'h0; // @[DCache.scala 233:63:shc.marmotcaravel.MarmotCaravelConfig.fir@201610.4]
  assign _T_2519 = blockProbeAfterGrantCount > 3'h0; // @[DCache.scala 587:85:shc.marmotcaravel.MarmotCaravelConfig.fir@203959.4]
  assign lrscValid = lrscCount > 7'h3; // @[DCache.scala 328:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202152.4]
  assign _T_577 = {io_cpu_s2_xcpt_ma_ld,io_cpu_s2_xcpt_ma_st}; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@201601.4]
  assign _T_578 = {_T_577,io_cpu_s2_xcpt_pf_ld}; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@201602.4]
  assign _T_575 = {io_cpu_s2_xcpt_pf_st,io_cpu_s2_xcpt_ae_ld}; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@201599.4]
  assign _T_576 = {_T_575,io_cpu_s2_xcpt_ae_st}; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@201600.4]
  assign _T_579 = {_T_578,_T_576}; // @[DCache.scala 231:55:shc.marmotcaravel.MarmotCaravelConfig.fir@201603.4]
  assign _T_580 = _T_579 != 6'h0; // @[DCache.scala 231:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201604.4]
  assign _T_581 = _T_580 == 1'h0; // @[DCache.scala 231:39:shc.marmotcaravel.MarmotCaravelConfig.fir@201605.4]
  assign s2_valid = s2_valid_pre_xcpt & _T_581; // @[DCache.scala 231:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201606.4]
  assign _T_2528 = s2_valid == 1'h0; // @[DCache.scala 589:76:shc.marmotcaravel.MarmotCaravelConfig.fir@203970.4]
  assign _T_270 = io_cpu_s1_kill == 1'h0; // @[DCache.scala 135:37:shc.marmotcaravel.MarmotCaravelConfig.fir@201235.4]
  assign s1_valid_masked = s1_valid & _T_270; // @[DCache.scala 135:34:shc.marmotcaravel.MarmotCaravelConfig.fir@201236.4]
  assign _T_277 = s1_req_cmd == 5'h0; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201253.4]
  assign _T_278 = s1_req_cmd == 5'h6; // @[Consts.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@201254.4]
  assign _T_279 = _T_277 | _T_278; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@201255.4]
  assign _T_280 = s1_req_cmd == 5'h7; // @[Consts.scala 93:65:shc.marmotcaravel.MarmotCaravelConfig.fir@201256.4]
  assign _T_281 = _T_279 | _T_280; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201257.4]
  assign _T_282 = s1_req_cmd == 5'h4; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201258.4]
  assign _T_283 = s1_req_cmd == 5'h9; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201259.4]
  assign _T_286 = _T_282 | _T_283; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201262.4]
  assign _T_284 = s1_req_cmd == 5'ha; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201260.4]
  assign _T_287 = _T_286 | _T_284; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201263.4]
  assign _T_285 = s1_req_cmd == 5'hb; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201261.4]
  assign _T_288 = _T_287 | _T_285; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201264.4]
  assign _T_289 = s1_req_cmd == 5'h8; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201265.4]
  assign _T_290 = s1_req_cmd == 5'hc; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201266.4]
  assign _T_294 = _T_289 | _T_290; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201270.4]
  assign _T_291 = s1_req_cmd == 5'hd; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201267.4]
  assign _T_295 = _T_294 | _T_291; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201271.4]
  assign _T_292 = s1_req_cmd == 5'he; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201268.4]
  assign _T_296 = _T_295 | _T_292; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201272.4]
  assign _T_293 = s1_req_cmd == 5'hf; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201269.4]
  assign _T_297 = _T_296 | _T_293; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201273.4]
  assign _T_298 = _T_288 | _T_297; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@201274.4]
  assign s1_read = _T_281 | _T_298; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@201275.4]
  assign s2_valid_masked = s2_valid & _T_587; // @[DCache.scala 234:34:shc.marmotcaravel.MarmotCaravelConfig.fir@201615.4]
  assign _T_598 = s2_req_cmd == 5'h0; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201636.4]
  assign _T_599 = s2_req_cmd == 5'h6; // @[Consts.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@201637.4]
  assign _T_600 = _T_598 | _T_599; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@201638.4]
  assign _T_601 = s2_req_cmd == 5'h7; // @[Consts.scala 93:65:shc.marmotcaravel.MarmotCaravelConfig.fir@201639.4]
  assign _T_602 = _T_600 | _T_601; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201640.4]
  assign _T_603 = s2_req_cmd == 5'h4; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201641.4]
  assign _T_604 = s2_req_cmd == 5'h9; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201642.4]
  assign _T_607 = _T_603 | _T_604; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201645.4]
  assign _T_605 = s2_req_cmd == 5'ha; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201643.4]
  assign _T_608 = _T_607 | _T_605; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201646.4]
  assign _T_606 = s2_req_cmd == 5'hb; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201644.4]
  assign _T_609 = _T_608 | _T_606; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201647.4]
  assign _T_610 = s2_req_cmd == 5'h8; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201648.4]
  assign _T_611 = s2_req_cmd == 5'hc; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201649.4]
  assign _T_615 = _T_610 | _T_611; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201653.4]
  assign _T_612 = s2_req_cmd == 5'hd; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201650.4]
  assign _T_616 = _T_615 | _T_612; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201654.4]
  assign _T_613 = s2_req_cmd == 5'he; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201651.4]
  assign _T_617 = _T_616 | _T_613; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201655.4]
  assign _T_614 = s2_req_cmd == 5'hf; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201652.4]
  assign _T_618 = _T_617 | _T_614; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201656.4]
  assign _T_619 = _T_609 | _T_618; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@201657.4]
  assign s2_read = _T_602 | _T_619; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@201658.4]
  assign _T_620 = s2_req_cmd == 5'h1; // @[Consts.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@201659.4]
  assign _T_621 = s2_req_cmd == 5'h11; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201660.4]
  assign _T_622 = _T_620 | _T_621; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201661.4]
  assign _T_624 = _T_622 | _T_601; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@201663.4]
  assign s2_write = _T_624 | _T_619; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@201681.4]
  assign s2_readwrite = s2_read | s2_write; // @[DCache.scala 247:30:shc.marmotcaravel.MarmotCaravelConfig.fir@201682.4]
  assign _T_803 = s2_valid_masked & s2_readwrite; // @[DCache.scala 282:51:shc.marmotcaravel.MarmotCaravelConfig.fir@201891.4]
  assign _T_720 = s2_req_cmd == 5'h3; // @[Consts.scala 95:54:shc.marmotcaravel.MarmotCaravelConfig.fir@201797.4]
  assign _T_721 = s2_write | _T_720; // @[Consts.scala 95:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201798.4]
  assign _T_723 = _T_721 | _T_599; // @[Consts.scala 95:64:shc.marmotcaravel.MarmotCaravelConfig.fir@201800.4]
  assign _T_724 = {s2_write,_T_723}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201801.4]
  assign _T_725 = {_T_724,s2_hit_state_state}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201802.4]
  assign _T_783 = 4'h3 == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201860.4]
  assign _T_780 = 4'h2 == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201857.4]
  assign _T_777 = 4'h1 == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201854.4]
  assign _T_774 = 4'h7 == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201851.4]
  assign _T_771 = 4'h6 == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201848.4]
  assign _T_768 = 4'hf == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201845.4]
  assign _T_765 = 4'he == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201842.4]
  assign _T_762 = 4'h0 == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201839.4]
  assign _T_759 = 4'h5 == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201836.4]
  assign _T_756 = 4'h4 == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201833.4]
  assign _T_753 = 4'hd == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201830.4]
  assign _T_750 = 4'hc == _T_725; // @[Misc.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201827.4]
  assign _T_769 = _T_768 ? 1'h1 : _T_765; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201846.4]
  assign _T_772 = _T_771 ? 1'h1 : _T_769; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201849.4]
  assign _T_775 = _T_774 ? 1'h1 : _T_772; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201852.4]
  assign _T_778 = _T_777 ? 1'h1 : _T_775; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201855.4]
  assign _T_781 = _T_780 ? 1'h1 : _T_778; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201858.4]
  assign s2_hit = _T_783 ? 1'h1 : _T_781; // @[Misc.scala 37:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201861.4]
  assign s2_valid_hit_pre_data_ecc = _T_803 & s2_hit; // @[DCache.scala 282:85:shc.marmotcaravel.MarmotCaravelConfig.fir@201894.4]
  assign _T_1176 = s2_valid_hit_pre_data_ecc & s2_write; // @[DCache.scala 345:46:shc.marmotcaravel.MarmotCaravelConfig.fir@202366.4]
  assign pstore1_valid_pre_kill = _T_1176 | pstore1_held; // @[DCache.scala 361:56:shc.marmotcaravel.MarmotCaravelConfig.fir@202369.4]
  assign _T_1308 = pstore1_addr[13:2]; // @[DCache.scala 414:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202540.4]
  assign _T_1309 = s1_req_addr[13:2]; // @[DCache.scala 414:46:shc.marmotcaravel.MarmotCaravelConfig.fir@202541.4]
  assign _T_1310 = _T_1308 == _T_1309; // @[DCache.scala 414:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202542.4]
  assign _T_299 = s1_req_cmd == 5'h1; // @[Consts.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@201276.4]
  assign _T_300 = s1_req_cmd == 5'h11; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201277.4]
  assign _T_301 = _T_299 | _T_300; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201278.4]
  assign _T_303 = _T_301 | _T_280; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@201280.4]
  assign s1_write = _T_303 | _T_298; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@201298.4]
  assign _T_1314 = pstore1_mask[3]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202546.4]
  assign _T_1313 = pstore1_mask[2]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202545.4]
  assign _T_1320 = {_T_1314,_T_1313}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202552.4]
  assign _T_1312 = pstore1_mask[1]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202544.4]
  assign _T_1311 = pstore1_mask[0]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202543.4]
  assign _T_1319 = {_T_1312,_T_1311}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202551.4]
  assign _T_1321 = {_T_1320,_T_1319}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202553.4]
  assign _T_1325 = _T_1321[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202557.4]
  assign _T_1324 = _T_1321[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202556.4]
  assign _T_1327 = {_T_1325,_T_1324}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202559.4]
  assign _T_1323 = _T_1321[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202555.4]
  assign _T_1322 = _T_1321[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202554.4]
  assign _T_1326 = {_T_1323,_T_1322}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202558.4]
  assign _T_1328 = {_T_1327,_T_1326}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202560.4]
  assign _T_564 = s1_req_addr[1]; // @[AMOALU.scala 17:27:shc.marmotcaravel.MarmotCaravelConfig.fir@201586.4]
  assign _T_556 = s1_req_addr[0]; // @[AMOALU.scala 17:27:shc.marmotcaravel.MarmotCaravelConfig.fir@201578.4]
  assign _T_555 = s1_req_typ[1:0]; // @[AMOALU.scala 10:17:shc.marmotcaravel.MarmotCaravelConfig.fir@201577.4]
  assign _T_558 = _T_555 >= 2'h1; // @[AMOALU.scala 17:57:shc.marmotcaravel.MarmotCaravelConfig.fir@201580.4]
  assign _T_560 = _T_556 | _T_558; // @[AMOALU.scala 17:46:shc.marmotcaravel.MarmotCaravelConfig.fir@201582.4]
  assign _T_562 = _T_556 ? 1'h0 : 1'h1; // @[AMOALU.scala 18:22:shc.marmotcaravel.MarmotCaravelConfig.fir@201584.4]
  assign _T_563 = {_T_560,_T_562}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201585.4]
  assign _T_565 = _T_564 ? _T_563 : 2'h0; // @[AMOALU.scala 17:22:shc.marmotcaravel.MarmotCaravelConfig.fir@201587.4]
  assign _T_566 = _T_555 >= 2'h2; // @[AMOALU.scala 17:57:shc.marmotcaravel.MarmotCaravelConfig.fir@201588.4]
  assign _T_567 = _T_566 ? 2'h3 : 2'h0; // @[AMOALU.scala 17:51:shc.marmotcaravel.MarmotCaravelConfig.fir@201589.4]
  assign _T_568 = _T_565 | _T_567; // @[AMOALU.scala 17:46:shc.marmotcaravel.MarmotCaravelConfig.fir@201590.4]
  assign _T_570 = _T_564 ? 2'h0 : _T_563; // @[AMOALU.scala 18:22:shc.marmotcaravel.MarmotCaravelConfig.fir@201592.4]
  assign _T_571 = {_T_568,_T_570}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201593.4]
  assign s1_mask = _T_300 ? io_cpu_s1_data_mask : _T_571; // @[DCache.scala 228:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201594.4]
  assign _T_1332 = s1_mask[3]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202564.4]
  assign _T_1331 = s1_mask[2]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202563.4]
  assign _T_1338 = {_T_1332,_T_1331}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202570.4]
  assign _T_1330 = s1_mask[1]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202562.4]
  assign _T_1329 = s1_mask[0]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202561.4]
  assign _T_1337 = {_T_1330,_T_1329}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202569.4]
  assign _T_1339 = {_T_1338,_T_1337}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202571.4]
  assign _T_1343 = _T_1339[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202575.4]
  assign _T_1342 = _T_1339[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202574.4]
  assign _T_1345 = {_T_1343,_T_1342}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202577.4]
  assign _T_1341 = _T_1339[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202573.4]
  assign _T_1340 = _T_1339[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202572.4]
  assign _T_1344 = {_T_1341,_T_1340}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202576.4]
  assign _T_1346 = {_T_1345,_T_1344}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202578.4]
  assign _T_1347 = _T_1328 & _T_1346; // @[DCache.scala 415:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202579.4]
  assign _T_1348 = _T_1347 != 4'h0; // @[DCache.scala 415:62:shc.marmotcaravel.MarmotCaravelConfig.fir@202580.4]
  assign _T_1349 = pstore1_mask & s1_mask; // @[DCache.scala 415:73:shc.marmotcaravel.MarmotCaravelConfig.fir@202581.4]
  assign _T_1350 = _T_1349 != 4'h0; // @[DCache.scala 415:84:shc.marmotcaravel.MarmotCaravelConfig.fir@202582.4]
  assign _T_1351 = s1_write ? _T_1348 : _T_1350; // @[DCache.scala 415:8:shc.marmotcaravel.MarmotCaravelConfig.fir@202583.4]
  assign _T_1352 = _T_1310 & _T_1351; // @[DCache.scala 414:68:shc.marmotcaravel.MarmotCaravelConfig.fir@202584.4]
  assign _T_1353 = pstore1_valid_pre_kill & _T_1352; // @[DCache.scala 417:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202585.4]
  assign _T_1354 = pstore2_addr[13:2]; // @[DCache.scala 414:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202586.4]
  assign _T_1356 = _T_1354 == _T_1309; // @[DCache.scala 414:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202588.4]
  assign _T_1360 = mask[3]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202592.4]
  assign _T_1359 = mask[2]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202591.4]
  assign _T_1366 = {_T_1360,_T_1359}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202598.4]
  assign _T_1358 = mask[1]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202590.4]
  assign _T_1357 = mask[0]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202589.4]
  assign _T_1365 = {_T_1358,_T_1357}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202597.4]
  assign _T_1367 = {_T_1366,_T_1365}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202599.4]
  assign _T_1371 = _T_1367[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202603.4]
  assign _T_1370 = _T_1367[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202602.4]
  assign _T_1373 = {_T_1371,_T_1370}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202605.4]
  assign _T_1369 = _T_1367[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202601.4]
  assign _T_1368 = _T_1367[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202600.4]
  assign _T_1372 = {_T_1369,_T_1368}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202604.4]
  assign _T_1374 = {_T_1373,_T_1372}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202606.4]
  assign _T_1393 = _T_1374 & _T_1346; // @[DCache.scala 415:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202625.4]
  assign _T_1394 = _T_1393 != 4'h0; // @[DCache.scala 415:62:shc.marmotcaravel.MarmotCaravelConfig.fir@202626.4]
  assign _T_1395 = mask & s1_mask; // @[DCache.scala 415:73:shc.marmotcaravel.MarmotCaravelConfig.fir@202627.4]
  assign _T_1396 = _T_1395 != 4'h0; // @[DCache.scala 415:84:shc.marmotcaravel.MarmotCaravelConfig.fir@202628.4]
  assign _T_1397 = s1_write ? _T_1394 : _T_1396; // @[DCache.scala 415:8:shc.marmotcaravel.MarmotCaravelConfig.fir@202629.4]
  assign _T_1398 = _T_1356 & _T_1397; // @[DCache.scala 414:68:shc.marmotcaravel.MarmotCaravelConfig.fir@202630.4]
  assign _T_1399 = pstore2_valid & _T_1398; // @[DCache.scala 418:21:shc.marmotcaravel.MarmotCaravelConfig.fir@202631.4]
  assign s1_hazard = _T_1353 | _T_1399; // @[DCache.scala 417:71:shc.marmotcaravel.MarmotCaravelConfig.fir@202632.4]
  assign s1_raw_hazard = s1_read & s1_hazard; // @[DCache.scala 419:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202633.4]
  assign _T_1400 = s1_valid & s1_raw_hazard; // @[DCache.scala 424:18:shc.marmotcaravel.MarmotCaravelConfig.fir@202635.4]
  assign _T_752 = _T_750 ? 2'h1 : 2'h0; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201829.4]
  assign _T_755 = _T_753 ? 2'h2 : _T_752; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201832.4]
  assign _T_758 = _T_756 ? 2'h1 : _T_755; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201835.4]
  assign _T_761 = _T_759 ? 2'h2 : _T_758; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201838.4]
  assign _T_764 = _T_762 ? 2'h0 : _T_761; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201841.4]
  assign _T_767 = _T_765 ? 2'h3 : _T_764; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201844.4]
  assign _T_770 = _T_768 ? 2'h3 : _T_767; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201847.4]
  assign _T_773 = _T_771 ? 2'h2 : _T_770; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201850.4]
  assign _T_776 = _T_774 ? 2'h3 : _T_773; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201853.4]
  assign _T_779 = _T_777 ? 2'h1 : _T_776; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201856.4]
  assign _T_782 = _T_780 ? 2'h2 : _T_779; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201859.4]
  assign s2_grow_param = _T_783 ? 2'h3 : _T_782; // @[Misc.scala 37:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201862.4]
  assign _T_965 = s2_hit_state_state == s2_grow_param; // @[Metadata.scala 46:46:shc.marmotcaravel.MarmotCaravelConfig.fir@202079.4]
  assign s2_update_meta = _T_965 == 1'h0; // @[Metadata.scala 47:40:shc.marmotcaravel.MarmotCaravelConfig.fir@202080.4]
  assign _T_971 = s2_valid_hit_pre_data_ecc & s2_update_meta; // @[DCache.scala 301:41:shc.marmotcaravel.MarmotCaravelConfig.fir@202087.4]
  assign _T_972 = io_cpu_s2_nack | _T_971; // @[DCache.scala 301:24:shc.marmotcaravel.MarmotCaravelConfig.fir@202088.4]
  assign s1_readwrite = s1_read | s1_write; // @[DCache.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@201299.4]
  assign s1_nack = _T_1400 ? 1'h1 : _T_972; // @[DCache.scala 424:36:shc.marmotcaravel.MarmotCaravelConfig.fir@202636.4]
  assign _T_271 = s1_nack == 1'h0; // @[DCache.scala 136:41:shc.marmotcaravel.MarmotCaravelConfig.fir@201237.4]
  assign s1_valid_not_nacked = s1_valid & _T_271; // @[DCache.scala 136:38:shc.marmotcaravel.MarmotCaravelConfig.fir@201238.4]
  assign _T_272 = metaArb_io_out_bits_write == 1'h0; // @[DCache.scala 138:43:shc.marmotcaravel.MarmotCaravelConfig.fir@201240.4]
  assign s0_clk_en = metaArb_io_out_valid & _T_272; // @[DCache.scala 138:40:shc.marmotcaravel.MarmotCaravelConfig.fir@201241.4]
  assign _T_273 = metaArb_io_out_bits_addr[31:6]; // @[DCache.scala 141:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201244.6]
  assign _T_274 = io_cpu_req_bits_addr[5:0]; // @[DCache.scala 141:86:shc.marmotcaravel.MarmotCaravelConfig.fir@201245.6]
  assign _T_275 = {_T_273,_T_274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201246.6]
  assign _T_276 = metaArb_io_in_7_ready == 1'h0; // @[DCache.scala 142:11:shc.marmotcaravel.MarmotCaravelConfig.fir@201248.6]
  assign s1_sfence = s1_req_cmd == 5'h14; // @[DCache.scala 147:30:shc.marmotcaravel.MarmotCaravelConfig.fir@201300.4]
  assign _T_329 = release_state == 3'h1; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201311.4]
  assign _T_330 = release_state == 3'h2; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201312.4]
  assign inWriteback = _T_329 | _T_330; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201313.4]
  assign _T_332 = release_state == 3'h0; // @[DCache.scala 159:38:shc.marmotcaravel.MarmotCaravelConfig.fir@201316.4]
  assign _T_333 = cached_grant_wait == 1'h0; // @[DCache.scala 159:54:shc.marmotcaravel.MarmotCaravelConfig.fir@201317.4]
  assign _T_334 = _T_332 & _T_333; // @[DCache.scala 159:51:shc.marmotcaravel.MarmotCaravelConfig.fir@201318.4]
  assign _T_336 = _T_334 & _T_271; // @[DCache.scala 159:73:shc.marmotcaravel.MarmotCaravelConfig.fir@201320.4]
  assign _T_363 = io_cpu_req_bits_cmd == 5'h0; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@201327.4]
  assign _T_364 = io_cpu_req_bits_cmd == 5'h6; // @[Consts.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@201328.4]
  assign _T_365 = _T_363 | _T_364; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@201329.4]
  assign _T_366 = io_cpu_req_bits_cmd == 5'h7; // @[Consts.scala 93:65:shc.marmotcaravel.MarmotCaravelConfig.fir@201330.4]
  assign _T_367 = _T_365 | _T_366; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201331.4]
  assign _T_368 = io_cpu_req_bits_cmd == 5'h4; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201332.4]
  assign _T_369 = io_cpu_req_bits_cmd == 5'h9; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201333.4]
  assign _T_370 = io_cpu_req_bits_cmd == 5'ha; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201334.4]
  assign _T_371 = io_cpu_req_bits_cmd == 5'hb; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201335.4]
  assign _T_372 = _T_368 | _T_369; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201336.4]
  assign _T_373 = _T_372 | _T_370; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201337.4]
  assign _T_374 = _T_373 | _T_371; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201338.4]
  assign _T_375 = io_cpu_req_bits_cmd == 5'h8; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201339.4]
  assign _T_376 = io_cpu_req_bits_cmd == 5'hc; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201340.4]
  assign _T_377 = io_cpu_req_bits_cmd == 5'hd; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201341.4]
  assign _T_378 = io_cpu_req_bits_cmd == 5'he; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201342.4]
  assign _T_379 = io_cpu_req_bits_cmd == 5'hf; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201343.4]
  assign _T_380 = _T_375 | _T_376; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201344.4]
  assign _T_381 = _T_380 | _T_377; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201345.4]
  assign _T_382 = _T_381 | _T_378; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201346.4]
  assign _T_383 = _T_382 | _T_379; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201347.4]
  assign _T_384 = _T_374 | _T_383; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@201348.4]
  assign s0_read = _T_367 | _T_384; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@201349.4]
  assign _T_385 = io_cpu_req_bits_cmd == 5'h1; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201350.4]
  assign _T_386 = io_cpu_req_bits_cmd == 5'h3; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201351.4]
  assign _T_387 = _T_385 | _T_386; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@201352.4]
  assign res = _T_387 == 1'h0; // @[DCache.scala 912:15:shc.marmotcaravel.MarmotCaravelConfig.fir@201353.4]
  assign _T_415 = io_cpu_req_bits_cmd == 5'h11; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201381.4]
  assign _T_416 = _T_385 | _T_415; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@201382.4]
  assign _T_418 = _T_416 | _T_366; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@201384.4]
  assign _T_436 = _T_418 | _T_384; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@201402.4]
  assign _T_441 = _T_436 & _T_415; // @[DCache.scala 918:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201407.4]
  assign _T_442 = s0_read | _T_441; // @[DCache.scala 917:21:shc.marmotcaravel.MarmotCaravelConfig.fir@201408.4]
  assign _T_443 = _T_442 == 1'h0; // @[DCache.scala 913:12:shc.marmotcaravel.MarmotCaravelConfig.fir@201409.4]
  assign _T_444 = _T_443 | res; // @[DCache.scala 913:28:shc.marmotcaravel.MarmotCaravelConfig.fir@201410.4]
  assign _T_446 = _T_444 | reset; // @[DCache.scala 913:11:shc.marmotcaravel.MarmotCaravelConfig.fir@201412.4]
  assign _T_447 = _T_446 == 1'h0; // @[DCache.scala 913:11:shc.marmotcaravel.MarmotCaravelConfig.fir@201413.4]
  assign _T_448 = io_cpu_req_valid & res; // @[DCache.scala 167:46:shc.marmotcaravel.MarmotCaravelConfig.fir@201418.4]
  assign _T_451 = dataArb_io_in_3_ready == 1'h0; // @[DCache.scala 173:9:shc.marmotcaravel.MarmotCaravelConfig.fir@201427.4]
  assign _T_452 = _T_451 & s0_read; // @[DCache.scala 173:33:shc.marmotcaravel.MarmotCaravelConfig.fir@201428.4]
  assign _GEN_16 = _T_452 ? 1'h0 : _T_336; // @[DCache.scala 173:45:shc.marmotcaravel.MarmotCaravelConfig.fir@201429.4]
  assign _GEN_18 = _T_276 ? 1'h0 : _GEN_16; // @[DCache.scala 181:34:shc.marmotcaravel.MarmotCaravelConfig.fir@201498.4]
  assign _T_527 = tlb_io_resp_paddr >= 32'h80000000; // @[DCache.scala 206:35:shc.marmotcaravel.MarmotCaravelConfig.fir@201542.4]
  assign _T_530 = tlb_io_resp_paddr < 32'h80004000; // @[DCache.scala 206:59:shc.marmotcaravel.MarmotCaravelConfig.fir@201545.4]
  assign inScratchpad = _T_527 & _T_530; // @[DCache.scala 206:47:shc.marmotcaravel.MarmotCaravelConfig.fir@201546.4]
  assign _T_540 = auto_out_d_bits_data[7:0]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201565.4]
  assign _T_541 = auto_out_d_bits_data[15:8]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201566.4]
  assign _T_542 = auto_out_d_bits_data[23:16]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201567.4]
  assign _T_543 = auto_out_d_bits_data[31:24]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201568.4]
  assign _T_544 = {_T_541,_T_540}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201569.4]
  assign _T_545 = {_T_543,_T_542}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201570.4]
  assign s1_all_data_ways_1 = {_T_545,_T_544}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201571.4]
  assign _T_572 = s1_sfence == 1'h0; // @[DCache.scala 230:55:shc.marmotcaravel.MarmotCaravelConfig.fir@201595.4]
  assign _T_573 = s1_valid_masked & _T_572; // @[DCache.scala 230:52:shc.marmotcaravel.MarmotCaravelConfig.fir@201596.4]
  assign _T_591 = s1_valid_not_nacked | s1_flush_valid; // @[DCache.scala 239:29:shc.marmotcaravel.MarmotCaravelConfig.fir@201621.4]
  assign _T_596 = _T_595[31:12]; // @[DCache.scala 244:84:shc.marmotcaravel.MarmotCaravelConfig.fir@201633.4]
  assign _T_597 = s2_req_addr[11:0]; // @[DCache.scala 244:109:shc.marmotcaravel.MarmotCaravelConfig.fir@201634.4]
  assign s2_vaddr = {_T_596,_T_597}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201635.4]
  assign en = s1_valid | inWriteback; // @[DCache.scala 258:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201713.4]
  assign _GEN_93 = data_1 ? 2'h2 : 2'h1; // @[DCache.scala 516:34:shc.marmotcaravel.MarmotCaravelConfig.fir@203796.10]
  assign _GEN_113 = grantIsCached ? 2'h1 : _GEN_93; // @[DCache.scala 498:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203764.6]
  assign s1_data_way = _T_2397 ? _GEN_113 : 2'h1; // @[DCache.scala 497:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203763.4]
  assign _T_656 = s1_data_way[0]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201714.4]
  assign _T_657 = s1_data_way[1]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@201715.4]
  assign s1_all_data_ways_0 = data_io_resp_0; // @[DCache.scala 227:29:shc.marmotcaravel.MarmotCaravelConfig.fir@201572.4 DCache.scala 227:29:shc.marmotcaravel.MarmotCaravelConfig.fir@201574.4]
  assign _T_659 = _T_656 ? s1_all_data_ways_0 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@201716.4]
  assign _T_660 = _T_657 ? s1_all_data_ways_1 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@201717.4]
  assign _T_661 = _T_659 | _T_660; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@201718.4]
  assign _T_665 = en | _T_2397; // @[DCache.scala 264:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201722.4]
  assign s2_hit_valid = s2_hit_state_state > 2'h0; // @[Metadata.scala 50:45:shc.marmotcaravel.MarmotCaravelConfig.fir@201750.4]
  assign _T_785 = s2_data[7:0]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201866.4]
  assign _T_786 = s2_data[15:8]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201867.4]
  assign _T_787 = s2_data[23:16]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201868.4]
  assign _T_788 = s2_data[31:24]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@201869.4]
  assign _T_799 = {_T_786,_T_785}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201885.4]
  assign _T_800 = {_T_788,_T_787}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201886.4]
  assign s2_data_corrected = {_T_800,_T_799}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@201887.4]
  assign _T_814 = s2_hit == 1'h0; // @[DCache.scala 285:76:shc.marmotcaravel.MarmotCaravelConfig.fir@201905.4]
  assign s2_valid_miss = _T_803 & _T_814; // @[DCache.scala 285:73:shc.marmotcaravel.MarmotCaravelConfig.fir@201906.4]
  assign s2_valid_cached_miss = 1'h0; // @[DCache.scala 286:60:shc.marmotcaravel.MarmotCaravelConfig.fir@201912.4]
  assign _T_822 = s2_flush_valid_pre_tag_ecc == 1'h0; // @[DCache.scala 289:29:shc.marmotcaravel.MarmotCaravelConfig.fir@201916.4]
  assign _T_825 = ~ uncachedInFlight_0; // @[DCache.scala 291:92:shc.marmotcaravel.MarmotCaravelConfig.fir@201921.4]
  assign _T_826 = _T_825 == 1'h0; // @[DCache.scala 291:92:shc.marmotcaravel.MarmotCaravelConfig.fir@201922.4]
  assign _T_827 = _T_826 == 1'h0; // @[DCache.scala 291:67:shc.marmotcaravel.MarmotCaravelConfig.fir@201923.4]
  assign s2_valid_uncached_pending = s2_valid_miss & _T_827; // @[DCache.scala 291:64:shc.marmotcaravel.MarmotCaravelConfig.fir@201924.4]
  assign s2_victim_state_state = s2_hit_valid ? s2_hit_state_state : 2'h0; // @[DCache.scala 294:28:shc.marmotcaravel.MarmotCaravelConfig.fir@201944.4]
  assign _T_905 = {2'h2,s2_victim_state_state}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202015.4]
  assign _T_930 = 4'hb == _T_905; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202040.4]
  assign _T_934 = 4'h4 == _T_905; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202044.4]
  assign _T_935 = _T_934 ? 1'h0 : _T_930; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202045.4]
  assign _T_938 = 4'h5 == _T_905; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202048.4]
  assign _T_939 = _T_938 ? 1'h0 : _T_935; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202049.4]
  assign _T_942 = 4'h6 == _T_905; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202052.4]
  assign _T_943 = _T_942 ? 1'h0 : _T_939; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202053.4]
  assign _T_946 = 4'h7 == _T_905; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202056.4]
  assign _T_947 = _T_946 ? 1'h1 : _T_943; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202057.4]
  assign _T_950 = 4'h0 == _T_905; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202060.4]
  assign _T_951 = _T_950 ? 1'h0 : _T_947; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202061.4]
  assign _T_954 = 4'h1 == _T_905; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202064.4]
  assign _T_955 = _T_954 ? 1'h0 : _T_951; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202065.4]
  assign _T_958 = 4'h2 == _T_905; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202068.4]
  assign _T_959 = _T_958 ? 1'h0 : _T_955; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202069.4]
  assign _T_962 = 4'h3 == _T_905; // @[Misc.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202072.4]
  assign s2_victim_dirty = _T_962 ? 1'h1 : _T_959; // @[Misc.scala 40:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202073.4]
  assign _T_966 = s2_valid_hit_pre_data_ecc == 1'h0; // @[DCache.scala 300:33:shc.marmotcaravel.MarmotCaravelConfig.fir@202081.4]
  assign _T_967 = s2_valid & _T_966; // @[DCache.scala 300:30:shc.marmotcaravel.MarmotCaravelConfig.fir@202082.4]
  assign _T_968 = s2_valid_uncached_pending & auto_out_a_ready; // @[DCache.scala 300:78:shc.marmotcaravel.MarmotCaravelConfig.fir@202083.4]
  assign _T_969 = _T_968 == 1'h0; // @[DCache.scala 300:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202084.4]
  assign _T_970 = _T_967 & _T_969; // @[DCache.scala 300:47:shc.marmotcaravel.MarmotCaravelConfig.fir@202085.4]
  assign _T_984 = io_cpu_req_bits_addr[31:14]; // @[DCache.scala 309:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202107.4]
  assign _T_992 = s2_victim_dirty == 1'h0; // @[DCache.scala 317:87:shc.marmotcaravel.MarmotCaravelConfig.fir@202123.4]
  assign _T_998 = s2_vaddr[13:0]; // @[DCache.scala 321:80:shc.marmotcaravel.MarmotCaravelConfig.fir@202133.4]
  assign _T_1010 = lrscCount > 7'h0; // @[DCache.scala 329:34:shc.marmotcaravel.MarmotCaravelConfig.fir@202153.4]
  assign _T_1025 = lrscCount - 7'h1; // @[DCache.scala 337:49:shc.marmotcaravel.MarmotCaravelConfig.fir@202176.6]
  assign _T_1026 = $unsigned(_T_1025); // @[DCache.scala 337:49:shc.marmotcaravel.MarmotCaravelConfig.fir@202177.6]
  assign _T_1027 = _T_1026[6:0]; // @[DCache.scala 337:49:shc.marmotcaravel.MarmotCaravelConfig.fir@202178.6]
  assign _T_1028 = s2_valid_masked & lrscValid; // @[DCache.scala 338:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202181.4]
  assign _T_1037 = s1_valid_not_nacked & s1_write; // @[DCache.scala 347:63:shc.marmotcaravel.MarmotCaravelConfig.fir@202198.4]
  assign _T_1098 = s1_write & _T_300; // @[DCache.scala 918:23:shc.marmotcaravel.MarmotCaravelConfig.fir@202276.4]
  assign _T_1099 = s1_read | _T_1098; // @[DCache.scala 917:21:shc.marmotcaravel.MarmotCaravelConfig.fir@202277.4]
  assign _T_1103 = s2_valid & s2_write; // @[DCache.scala 354:39:shc.marmotcaravel.MarmotCaravelConfig.fir@202284.4]
  assign pstore_drain_opportunistic = _T_448 == 1'h0; // @[DCache.scala 357:36:shc.marmotcaravel.MarmotCaravelConfig.fir@202362.4]
  assign pstore1_valid_likely = _T_1103 | pstore1_held; // @[DCache.scala 360:51:shc.marmotcaravel.MarmotCaravelConfig.fir@202365.4]
  assign _T_1185 = pstore1_valid_likely & pstore2_valid; // @[DCache.scala 365:54:shc.marmotcaravel.MarmotCaravelConfig.fir@202378.4]
  assign _T_1186 = s1_valid & s1_write; // @[DCache.scala 365:85:shc.marmotcaravel.MarmotCaravelConfig.fir@202379.4]
  assign _T_1187 = _T_1186 | pstore1_rmw; // @[DCache.scala 365:98:shc.marmotcaravel.MarmotCaravelConfig.fir@202380.4]
  assign pstore_drain_structural = _T_1185 & _T_1187; // @[DCache.scala 365:71:shc.marmotcaravel.MarmotCaravelConfig.fir@202381.4]
  assign _T_1197 = pstore1_valid_pre_kill == pstore1_valid_pre_kill; // @[DCache.scala 366:63:shc.marmotcaravel.MarmotCaravelConfig.fir@202391.4]
  assign _T_1198 = pstore1_rmw | _T_1197; // @[DCache.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@202392.4]
  assign _T_1200 = _T_1198 | reset; // @[DCache.scala 366:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202394.4]
  assign _T_1201 = _T_1200 == 1'h0; // @[DCache.scala 366:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202395.4]
  assign _T_1215 = pstore1_rmw == 1'h0; // @[DCache.scala 374:44:shc.marmotcaravel.MarmotCaravelConfig.fir@202414.4]
  assign _T_1216 = pstore1_valid_pre_kill & _T_1215; // @[DCache.scala 374:41:shc.marmotcaravel.MarmotCaravelConfig.fir@202415.4]
  assign _T_1217 = _T_1216 | pstore2_valid; // @[DCache.scala 374:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202416.4]
  assign _T_1218 = pstore_drain_opportunistic | releaseInFlight; // @[DCache.scala 374:107:shc.marmotcaravel.MarmotCaravelConfig.fir@202417.4]
  assign _T_1219 = _T_1217 & _T_1218; // @[DCache.scala 374:76:shc.marmotcaravel.MarmotCaravelConfig.fir@202418.4]
  assign pstore_drain = pstore_drain_structural | _T_1219; // @[DCache.scala 373:48:shc.marmotcaravel.MarmotCaravelConfig.fir@202419.4]
  assign _T_1229 = pstore1_valid_pre_kill & pstore2_valid; // @[DCache.scala 377:71:shc.marmotcaravel.MarmotCaravelConfig.fir@202429.4]
  assign _T_1230 = pstore_drain == 1'h0; // @[DCache.scala 377:91:shc.marmotcaravel.MarmotCaravelConfig.fir@202430.4]
  assign _T_1233 = pstore2_valid == pstore_drain; // @[DCache.scala 378:79:shc.marmotcaravel.MarmotCaravelConfig.fir@202434.4]
  assign advance_pstore1 = pstore1_valid_pre_kill & _T_1233; // @[DCache.scala 378:61:shc.marmotcaravel.MarmotCaravelConfig.fir@202435.4]
  assign _T_1235 = pstore2_valid & _T_1230; // @[DCache.scala 379:34:shc.marmotcaravel.MarmotCaravelConfig.fir@202437.4]
  assign _T_2705 = _T_1314 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204296.4]
  assign _T_2703 = _T_1313 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204294.4]
  assign _T_2707 = {_T_2705,_T_2703}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204298.4]
  assign _T_2701 = _T_1312 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204292.4]
  assign _T_2699 = _T_1311 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204290.4]
  assign _T_2706 = {_T_2701,_T_2699}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204297.4]
  assign mask_1 = {_T_2707,_T_2706}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204299.4]
  assign _T_2708 = amoalu_io_out_unmasked & mask_1; // @[DCache.scala 750:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204300.4]
  assign _T_2709 = ~ mask_1; // @[DCache.scala 750:64:shc.marmotcaravel.MarmotCaravelConfig.fir@204301.4]
  assign _T_2710 = s2_data_corrected & _T_2709; // @[DCache.scala 750:62:shc.marmotcaravel.MarmotCaravelConfig.fir@204302.4]
  assign pstore1_storegen_data = _T_2708 | _T_2710; // @[DCache.scala 750:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204303.4]
  assign _T_1241 = pstore1_storegen_data[7:0]; // @[DCache.scala 384:44:shc.marmotcaravel.MarmotCaravelConfig.fir@202450.4]
  assign _T_1247 = pstore1_storegen_data[15:8]; // @[DCache.scala 384:44:shc.marmotcaravel.MarmotCaravelConfig.fir@202458.4]
  assign _T_1253 = pstore1_storegen_data[23:16]; // @[DCache.scala 384:44:shc.marmotcaravel.MarmotCaravelConfig.fir@202466.4]
  assign _T_1259 = pstore1_storegen_data[31:24]; // @[DCache.scala 384:44:shc.marmotcaravel.MarmotCaravelConfig.fir@202474.4]
  assign _T_1265 = {_T_1252,_T_1246}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202482.4]
  assign _T_1266 = {_T_1264,_T_1258}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202483.4]
  assign pstore2_storegen_data = {_T_1266,_T_1265}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202484.4]
  assign _T_1270 = ~ pstore1_mask; // @[DCache.scala 390:37:shc.marmotcaravel.MarmotCaravelConfig.fir@202490.6]
  assign _T_1272 = ~ _T_1270; // @[DCache.scala 390:15:shc.marmotcaravel.MarmotCaravelConfig.fir@202492.6]
  assign _T_1291 = pstore2_valid ? pstore2_addr : pstore1_addr; // @[DCache.scala 405:36:shc.marmotcaravel.MarmotCaravelConfig.fir@202517.4]
  assign _T_1296 = pstore2_valid ? mask : pstore1_mask; // @[DCache.scala 410:47:shc.marmotcaravel.MarmotCaravelConfig.fir@202527.4]
  assign _T_1297 = _T_1296[0]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202528.4]
  assign _T_1298 = _T_1296[1]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202529.4]
  assign _T_1299 = _T_1296[2]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202530.4]
  assign _T_1300 = _T_1296[3]; // @[package.scala 156:50:shc.marmotcaravel.MarmotCaravelConfig.fir@202531.4]
  assign _T_1305 = {_T_1298,_T_1297}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202536.4]
  assign _T_1306 = {_T_1300,_T_1299}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202537.4]
  assign a_size = s2_req_typ[1:0]; // @[Consts.scala 19:28:shc.marmotcaravel.MarmotCaravelConfig.fir@202647.4]
  assign _T_1479 = a_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@202726.4]
  assign _T_1480 = 2'h1 << _T_1479; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@202727.4]
  assign _T_1482 = _T_1480 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@202729.4]
  assign _T_1483 = a_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@202730.4]
  assign _T_1484 = _T_1482[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@202731.4]
  assign _T_1485 = s2_req_addr[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@202732.4]
  assign _T_1486 = _T_1485 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202733.4]
  assign _T_1488 = _T_1484 & _T_1486; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202735.4]
  assign _T_1489 = _T_1483 | _T_1488; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202736.4]
  assign _T_1491 = _T_1484 & _T_1485; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202738.4]
  assign _T_1492 = _T_1483 | _T_1491; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202739.4]
  assign _T_1493 = _T_1482[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@202740.4]
  assign _T_1494 = s2_req_addr[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@202741.4]
  assign _T_1495 = _T_1494 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@202742.4]
  assign _T_1496 = _T_1486 & _T_1495; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202743.4]
  assign _T_1497 = _T_1493 & _T_1496; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202744.4]
  assign _T_1498 = _T_1489 | _T_1497; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202745.4]
  assign _T_1499 = _T_1486 & _T_1494; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202746.4]
  assign _T_1500 = _T_1493 & _T_1499; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202747.4]
  assign _T_1501 = _T_1489 | _T_1500; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202748.4]
  assign _T_1502 = _T_1485 & _T_1495; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202749.4]
  assign _T_1503 = _T_1493 & _T_1502; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202750.4]
  assign _T_1504 = _T_1492 | _T_1503; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202751.4]
  assign _T_1505 = _T_1485 & _T_1494; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@202752.4]
  assign _T_1506 = _T_1493 & _T_1505; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@202753.4]
  assign _T_1507 = _T_1492 | _T_1506; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@202754.4]
  assign _T_1508 = {_T_1501,_T_1498}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202755.4]
  assign _T_1509 = {_T_1507,_T_1504}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202756.4]
  assign get_mask = {_T_1509,_T_1508}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@202757.4]
  assign _T_2321 = 5'hf == s2_req_cmd; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203652.4]
  assign _T_2322_opcode = _T_2321 ? 3'h2 : 3'h0; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203653.4]
  assign _T_2322_param = _T_2321 ? 3'h3 : 3'h0; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203653.4]
  assign _T_2287_size = {{2'd0}, a_size}; // @[Edges.scala 476:17:shc.marmotcaravel.MarmotCaravelConfig.fir@203609.4 Edges.scala 479:15:shc.marmotcaravel.MarmotCaravelConfig.fir@203613.4]
  assign _T_2322_size = _T_2321 ? _T_2287_size : 4'h0; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203653.4]
  assign _T_2322_address = _T_2321 ? s2_req_addr : 32'h0; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203653.4]
  assign _T_2322_mask = _T_2321 ? get_mask : 4'h0; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203653.4]
  assign _T_2322_data = _T_2321 ? pstore1_data : 32'h0; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203653.4]
  assign _T_2323 = 5'he == s2_req_cmd; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203654.4]
  assign _T_2324_opcode = _T_2323 ? 3'h2 : _T_2322_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203655.4]
  assign _T_2324_param = _T_2323 ? 3'h2 : _T_2322_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203655.4]
  assign _T_2324_size = _T_2323 ? _T_2287_size : _T_2322_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203655.4]
  assign _T_2324_address = _T_2323 ? s2_req_addr : _T_2322_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203655.4]
  assign _T_2324_mask = _T_2323 ? get_mask : _T_2322_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203655.4]
  assign _T_2324_data = _T_2323 ? pstore1_data : _T_2322_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203655.4]
  assign _T_2325 = 5'hd == s2_req_cmd; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203656.4]
  assign _T_2326_opcode = _T_2325 ? 3'h2 : _T_2324_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203657.4]
  assign _T_2326_param = _T_2325 ? 3'h1 : _T_2324_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203657.4]
  assign _T_2326_size = _T_2325 ? _T_2287_size : _T_2324_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203657.4]
  assign _T_2326_address = _T_2325 ? s2_req_addr : _T_2324_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203657.4]
  assign _T_2326_mask = _T_2325 ? get_mask : _T_2324_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203657.4]
  assign _T_2326_data = _T_2325 ? pstore1_data : _T_2324_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203657.4]
  assign _T_2327 = 5'hc == s2_req_cmd; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203658.4]
  assign _T_2328_opcode = _T_2327 ? 3'h2 : _T_2326_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203659.4]
  assign _T_2328_param = _T_2327 ? 3'h0 : _T_2326_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203659.4]
  assign _T_2328_size = _T_2327 ? _T_2287_size : _T_2326_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203659.4]
  assign _T_2328_address = _T_2327 ? s2_req_addr : _T_2326_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203659.4]
  assign _T_2328_mask = _T_2327 ? get_mask : _T_2326_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203659.4]
  assign _T_2328_data = _T_2327 ? pstore1_data : _T_2326_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203659.4]
  assign _T_2329 = 5'h8 == s2_req_cmd; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203660.4]
  assign _T_2330_opcode = _T_2329 ? 3'h2 : _T_2328_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203661.4]
  assign _T_2330_param = _T_2329 ? 3'h4 : _T_2328_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203661.4]
  assign _T_2330_size = _T_2329 ? _T_2287_size : _T_2328_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203661.4]
  assign _T_2330_address = _T_2329 ? s2_req_addr : _T_2328_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203661.4]
  assign _T_2330_mask = _T_2329 ? get_mask : _T_2328_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203661.4]
  assign _T_2330_data = _T_2329 ? pstore1_data : _T_2328_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203661.4]
  assign _T_2331 = 5'hb == s2_req_cmd; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203662.4]
  assign _T_2332_opcode = _T_2331 ? 3'h3 : _T_2330_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203663.4]
  assign _T_2332_param = _T_2331 ? 3'h2 : _T_2330_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203663.4]
  assign _T_2332_size = _T_2331 ? _T_2287_size : _T_2330_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203663.4]
  assign _T_2332_address = _T_2331 ? s2_req_addr : _T_2330_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203663.4]
  assign _T_2332_mask = _T_2331 ? get_mask : _T_2330_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203663.4]
  assign _T_2332_data = _T_2331 ? pstore1_data : _T_2330_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203663.4]
  assign _T_2333 = 5'ha == s2_req_cmd; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203664.4]
  assign _T_2334_opcode = _T_2333 ? 3'h3 : _T_2332_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203665.4]
  assign _T_2334_param = _T_2333 ? 3'h1 : _T_2332_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203665.4]
  assign _T_2334_size = _T_2333 ? _T_2287_size : _T_2332_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203665.4]
  assign _T_2334_address = _T_2333 ? s2_req_addr : _T_2332_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203665.4]
  assign _T_2334_mask = _T_2333 ? get_mask : _T_2332_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203665.4]
  assign _T_2334_data = _T_2333 ? pstore1_data : _T_2332_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203665.4]
  assign _T_2335 = 5'h9 == s2_req_cmd; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203666.4]
  assign _T_2336_opcode = _T_2335 ? 3'h3 : _T_2334_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203667.4]
  assign _T_2336_param = _T_2335 ? 3'h0 : _T_2334_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203667.4]
  assign _T_2336_size = _T_2335 ? _T_2287_size : _T_2334_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203667.4]
  assign _T_2336_address = _T_2335 ? s2_req_addr : _T_2334_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203667.4]
  assign _T_2336_mask = _T_2335 ? get_mask : _T_2334_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203667.4]
  assign _T_2336_data = _T_2335 ? pstore1_data : _T_2334_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203667.4]
  assign _T_2337 = 5'h4 == s2_req_cmd; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@203668.4]
  assign atomics_opcode = _T_2337 ? 3'h3 : _T_2336_opcode; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203669.4]
  assign atomics_param = _T_2337 ? 3'h3 : _T_2336_param; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203669.4]
  assign atomics_size = _T_2337 ? _T_2287_size : _T_2336_size; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203669.4]
  assign atomics_address = _T_2337 ? s2_req_addr : _T_2336_address; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203669.4]
  assign atomics_mask = _T_2337 ? get_mask : _T_2336_mask; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203669.4]
  assign atomics_data = _T_2337 ? pstore1_data : _T_2336_data; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@203669.4]
  assign _T_2341 = _T_583 & _T_992; // @[DCache.scala 454:63:shc.marmotcaravel.MarmotCaravelConfig.fir@203673.4]
  assign tl_out_a_valid = _T_2341 | s2_valid_uncached_pending; // @[DCache.scala 454:128:shc.marmotcaravel.MarmotCaravelConfig.fir@203674.4]
  assign _T_2347 = s2_write == 1'h0; // @[DCache.scala 455:89:shc.marmotcaravel.MarmotCaravelConfig.fir@203680.4]
  assign _T_2348 = s2_read == 1'h0; // @[DCache.scala 455:109:shc.marmotcaravel.MarmotCaravelConfig.fir@203681.4]
  assign _T_2349_opcode = _T_2348 ? 3'h0 : atomics_opcode; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@203682.4]
  assign _T_2349_param = _T_2348 ? 3'h0 : atomics_param; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@203682.4]
  assign _T_2349_size = _T_2348 ? _T_2287_size : atomics_size; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@203682.4]
  assign _T_2349_address = _T_2348 ? s2_req_addr : atomics_address; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@203682.4]
  assign _T_2349_mask = _T_2348 ? get_mask : atomics_mask; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@203682.4]
  assign _T_2349_data = _T_2348 ? pstore1_data : atomics_data; // @[DCache.scala 455:108:shc.marmotcaravel.MarmotCaravelConfig.fir@203682.4]
  assign _T_2352 = auto_out_a_ready & tl_out_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@203687.4]
  assign _T_2364 = _T_2363 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@203709.4]
  assign _T_2365 = $unsigned(_T_2364); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@203710.4]
  assign _T_2366 = _T_2365[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@203711.4]
  assign d_done = d_last & _T_2397; // @[Edges.scala 233:22:shc.marmotcaravel.MarmotCaravelConfig.fir@203716.4]
  assign _T_2372 = auto_out_d_valid == 1'h0; // @[DCache.scala 480:14:shc.marmotcaravel.MarmotCaravelConfig.fir@203724.4]
  assign _T_2373 = auto_out_d_bits_opcode == 3'h1; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203725.4]
  assign _T_2374 = auto_out_d_bits_opcode == 3'h0; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203726.4]
  assign _T_2375 = auto_out_d_bits_opcode == 3'h2; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203727.4]
  assign _T_2376 = _T_2373 | _T_2374; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@203728.4]
  assign _T_2377 = _T_2376 | _T_2375; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@203729.4]
  assign _T_2378 = _T_2372 | _T_2377; // @[DCache.scala 480:30:shc.marmotcaravel.MarmotCaravelConfig.fir@203730.4]
  assign _T_2380 = _T_2378 | reset; // @[DCache.scala 480:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203732.4]
  assign _T_2381 = _T_2380 == 1'h0; // @[DCache.scala 480:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203733.4]
  assign _T_2390 = blockProbeAfterGrantCount - 3'h1; // @[DCache.scala 494:97:shc.marmotcaravel.MarmotCaravelConfig.fir@203752.6]
  assign _T_2391 = $unsigned(_T_2390); // @[DCache.scala 494:97:shc.marmotcaravel.MarmotCaravelConfig.fir@203753.6]
  assign _T_2392 = _T_2391[2:0]; // @[DCache.scala 494:97:shc.marmotcaravel.MarmotCaravelConfig.fir@203754.6]
  assign _T_2399 = cached_grant_wait | reset; // @[DCache.scala 500:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203767.8]
  assign _T_2400 = _T_2399 == 1'h0; // @[DCache.scala 500:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203768.8]
  assign _T_2405 = uncachedInFlight_0 | reset; // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@203788.12]
  assign _T_2406 = _T_2405 == 1'h0; // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@203789.12]
  assign _T_2408 = tlb_io_resp_paddr[31:2]; // @[DCache.scala 524:39:shc.marmotcaravel.MarmotCaravelConfig.fir@203802.12]
  assign _GEN_183 = {{2'd0}, _T_2408}; // @[DCache.scala 524:53:shc.marmotcaravel.MarmotCaravelConfig.fir@203803.12]
  assign dontCareBits = _GEN_183 << 2; // @[DCache.scala 524:53:shc.marmotcaravel.MarmotCaravelConfig.fir@203803.12]
  assign _T_2409 = uncachedReqs_0_addr[1:0]; // @[DCache.scala 525:34:shc.marmotcaravel.MarmotCaravelConfig.fir@203804.12]
  assign _GEN_184 = {{30'd0}, _T_2409}; // @[DCache.scala 525:24:shc.marmotcaravel.MarmotCaravelConfig.fir@203805.12]
  assign _T_2410 = dontCareBits | _GEN_184; // @[DCache.scala 525:24:shc.marmotcaravel.MarmotCaravelConfig.fir@203805.12]
  assign _T_2414 = auto_out_d_valid & d_first; // @[DCache.scala 536:36:shc.marmotcaravel.MarmotCaravelConfig.fir@203822.4]
  assign _T_2415 = _T_2414 & grantIsCached; // @[DCache.scala 536:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203823.4]
  assign tl_out__e_valid = _T_2430 ? 1'h0 : _T_2415; // @[DCache.scala 544:51:shc.marmotcaravel.MarmotCaravelConfig.fir@203847.4]
  assign _T_2421 = _T_2397 & d_first; // @[DCache.scala 538:47:shc.marmotcaravel.MarmotCaravelConfig.fir@203832.4]
  assign _T_2422 = _T_2421 & grantIsCached; // @[DCache.scala 538:58:shc.marmotcaravel.MarmotCaravelConfig.fir@203833.4]
  assign _T_2423 = tl_out__e_valid == _T_2422; // @[DCache.scala 538:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203834.4]
  assign _T_2425 = _T_2423 | reset; // @[DCache.scala 538:9:shc.marmotcaravel.MarmotCaravelConfig.fir@203836.4]
  assign _T_2426 = _T_2425 == 1'h0; // @[DCache.scala 538:9:shc.marmotcaravel.MarmotCaravelConfig.fir@203837.4]
  assign _T_2427 = auto_out_d_valid & grantIsRefill; // @[DCache.scala 543:44:shc.marmotcaravel.MarmotCaravelConfig.fir@203842.4]
  assign _T_2431 = grantIsCached & d_done; // @[DCache.scala 564:43:shc.marmotcaravel.MarmotCaravelConfig.fir@203852.4]
  assign _T_2432 = auto_out_d_bits_denied == 1'h0; // @[DCache.scala 564:56:shc.marmotcaravel.MarmotCaravelConfig.fir@203853.4]
  assign _GEN_134 = auto_out_d_valid ? 1'h0 : _GEN_18; // @[DCache.scala 577:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203948.6]
  assign _GEN_135 = auto_out_d_valid ? 1'h1 : _T_2427; // @[DCache.scala 577:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203948.6]
  assign _GEN_136 = auto_out_d_valid ? 1'h0 : dataArb_io_in_0_bits_write; // @[DCache.scala 577:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203948.6]
  assign _T_2557 = {1'h0,s2_release_data_valid}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204014.4]
  assign _GEN_185 = {{1'd0}, s1_release_data_valid}; // @[DCache.scala 601:101:shc.marmotcaravel.MarmotCaravelConfig.fir@204015.4]
  assign _T_2559 = _GEN_185 + _T_2557; // @[DCache.scala 601:101:shc.marmotcaravel.MarmotCaravelConfig.fir@204016.4]
  assign _T_2561 = {{10'd0}, _T_2559}; // @[DCache.scala 601:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204018.4]
  assign releaseDataBeat = _T_2561[10:0]; // @[DCache.scala 601:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204019.4]
  assign _T_2574 = releaseDataBeat < 11'h10; // @[DCache.scala 676:60:shc.marmotcaravel.MarmotCaravelConfig.fir@204063.4]
  assign _T_2578 = releaseDataBeat[3:0]; // @[DCache.scala 679:90:shc.marmotcaravel.MarmotCaravelConfig.fir@204070.4]
  assign _GEN_186 = {{2'd0}, _T_2578}; // @[DCache.scala 679:117:shc.marmotcaravel.MarmotCaravelConfig.fir@204071.4]
  assign _T_2579 = _GEN_186 << 2; // @[DCache.scala 679:117:shc.marmotcaravel.MarmotCaravelConfig.fir@204071.4]
  assign _T_2583 = release_state == 3'h6; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204078.4]
  assign _T_2584 = release_state == 3'h7; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204079.4]
  assign _T_2594 = metaArb_io_in_4_ready & metaArb_io_in_4_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204097.4]
  assign _T_2595 = s1_req_phys == 1'h0; // @[DCache.scala 701:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204107.4]
  assign _T_2596 = s1_valid & _T_2595; // @[DCache.scala 701:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204108.4]
  assign _T_2597 = s2_req_phys == 1'h0; // @[DCache.scala 701:72:shc.marmotcaravel.MarmotCaravelConfig.fir@204109.4]
  assign _T_2598 = s2_valid & _T_2597; // @[DCache.scala 701:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204110.4]
  assign _T_2599 = _T_2596 | _T_2598; // @[DCache.scala 701:57:shc.marmotcaravel.MarmotCaravelConfig.fir@204111.4]
  assign _T_2600 = _T_2599 | cached_grant_wait; // @[DCache.scala 701:94:shc.marmotcaravel.MarmotCaravelConfig.fir@204112.4]
  assign _T_2602 = _T_2600 | uncachedInFlight_0; // @[DCache.scala 701:115:shc.marmotcaravel.MarmotCaravelConfig.fir@204114.4]
  assign _T_2626_pf_ld = _T_2606 ? _T_2608_pf_ld : 1'h0; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204168.4]
  assign _T_2626_pf_st = _T_2606 ? _T_2608_pf_st : 1'h0; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204168.4]
  assign _T_2626_ae_ld = _T_2606 ? _T_2608_ae_ld : 1'h0; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204168.4]
  assign _T_2626_ae_st = _T_2606 ? _T_2608_ae_st : 1'h0; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204168.4]
  assign _T_2626_ma_ld = _T_2606 ? _T_2608_ma_ld : 1'h0; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204168.4]
  assign _T_2626_ma_st = _T_2606 ? _T_2608_ma_st : 1'h0; // @[DCache.scala 705:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204168.4]
  assign _T_2628 = _T_2528 | s2_hit_valid; // @[DCache.scala 710:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204172.6]
  assign _T_2630 = _T_2628 | reset; // @[DCache.scala 710:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204174.6]
  assign _T_2631 = _T_2630 == 1'h0; // @[DCache.scala 710:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204175.6]
  assign _T_2644 = _T_599 | _T_601; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@204201.4]
  assign _T_2645 = s2_valid_masked & _T_2644; // @[DCache.scala 713:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204202.4]
  assign _T_2646 = _T_2645 == 1'h0; // @[DCache.scala 713:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204203.4]
  assign _T_2648 = _T_2646 | reset; // @[DCache.scala 713:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204205.4]
  assign _T_2649 = _T_2648 == 1'h0; // @[DCache.scala 713:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204206.4]
  assign _T_2656 = _T_966 | reset; // @[DCache.scala 723:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204223.6]
  assign _T_2657 = _T_2656 == 1'h0; // @[DCache.scala 723:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204224.6]
  assign _T_2659 = s2_req_typ[2]; // @[Consts.scala 20:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204238.4]
  assign _T_2660 = _T_2659 == 1'h0; // @[Consts.scala 20:28:shc.marmotcaravel.MarmotCaravelConfig.fir@204239.4]
  assign _T_2663 = s2_data_corrected[31:16]; // @[AMOALU.scala 39:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204242.4]
  assign _T_2664 = s2_data_corrected[15:0]; // @[AMOALU.scala 39:55:shc.marmotcaravel.MarmotCaravelConfig.fir@204243.4]
  assign _T_2665 = _T_1485 ? _T_2663 : _T_2664; // @[AMOALU.scala 39:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204244.4]
  assign _T_2668 = a_size == 2'h1; // @[AMOALU.scala 42:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204247.4]
  assign _T_2670 = _T_2665[15]; // @[AMOALU.scala 42:85:shc.marmotcaravel.MarmotCaravelConfig.fir@204249.4]
  assign _T_2671 = _T_2660 & _T_2670; // @[AMOALU.scala 42:76:shc.marmotcaravel.MarmotCaravelConfig.fir@204250.4]
  assign _T_2673 = _T_2671 ? 16'hffff : 16'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204252.4]
  assign _T_2675 = _T_2668 ? _T_2673 : _T_2663; // @[AMOALU.scala 42:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204254.4]
  assign _T_2676 = {_T_2675,_T_2665}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204255.4]
  assign _T_2678 = _T_2676[15:8]; // @[AMOALU.scala 39:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204257.4]
  assign _T_2679 = _T_2676[7:0]; // @[AMOALU.scala 39:55:shc.marmotcaravel.MarmotCaravelConfig.fir@204258.4]
  assign _T_2680 = _T_1494 ? _T_2678 : _T_2679; // @[AMOALU.scala 39:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204259.4]
  assign _T_2683 = a_size == 2'h0; // @[AMOALU.scala 42:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204262.4]
  assign _T_2685 = _T_2680[7]; // @[AMOALU.scala 42:85:shc.marmotcaravel.MarmotCaravelConfig.fir@204264.4]
  assign _T_2686 = _T_2660 & _T_2685; // @[AMOALU.scala 42:76:shc.marmotcaravel.MarmotCaravelConfig.fir@204265.4]
  assign _T_2688 = _T_2686 ? 24'hffffff : 24'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204267.4]
  assign _T_2689 = _T_2676[31:8]; // @[AMOALU.scala 42:98:shc.marmotcaravel.MarmotCaravelConfig.fir@204268.4]
  assign _T_2690 = _T_2683 ? _T_2688 : _T_2689; // @[AMOALU.scala 42:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204269.4]
  assign flushCounterNext = flushCounter + 8'h1; // @[DCache.scala 763:39:shc.marmotcaravel.MarmotCaravelConfig.fir@204309.4]
  assign flushDone = flushCounterNext[8:8]; // @[DCache.scala 764:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204310.4]
  assign _T_2717 = s2_req_cmd == 5'h5; // @[DCache.scala 766:39:shc.marmotcaravel.MarmotCaravelConfig.fir@204313.4]
  assign _T_2718 = s2_valid_masked & _T_2717; // @[DCache.scala 766:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204314.4]
  assign _T_2733 = metaArb_io_in_5_ready & metaArb_io_in_5_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204335.4]
  assign _T_2734 = s1_flush_valid == 1'h0; // @[DCache.scala 774:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204336.4]
  assign _T_2735 = _T_2733 & _T_2734; // @[DCache.scala 774:45:shc.marmotcaravel.MarmotCaravelConfig.fir@204337.4]
  assign _T_2737 = _T_2735 & _T_822; // @[DCache.scala 774:64:shc.marmotcaravel.MarmotCaravelConfig.fir@204339.4]
  assign _GEN_187 = {{6'd0}, metaArb_io_in_5_bits_idx}; // @[DCache.scala 778:98:shc.marmotcaravel.MarmotCaravelConfig.fir@204350.4]
  assign _T_2744 = _GEN_187 << 6; // @[DCache.scala 778:98:shc.marmotcaravel.MarmotCaravelConfig.fir@204350.4]
  assign _GEN_172 = resetting ? flushCounterNext : {{1'd0}, flushCounter}; // @[DCache.scala 805:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204370.4]
  assign _T_2755 = io_cpu_keep_clock_enabled | metaArb_io_out_valid; // @[DCache.scala 815:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204378.4]
  assign _T_2758 = _T_2755 | s1_valid; // @[DCache.scala 817:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204381.4]
  assign _T_2759 = _T_2758 | s2_valid_pre_xcpt; // @[DCache.scala 818:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204382.4]
  assign _T_2760 = _T_2759 | pstore1_held; // @[DCache.scala 818:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204383.4]
  assign _T_2761 = _T_2760 | pstore2_valid; // @[DCache.scala 819:18:shc.marmotcaravel.MarmotCaravelConfig.fir@204384.4]
  assign _T_2763 = _T_2761 | releaseInFlight; // @[DCache.scala 819:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204386.4]
  assign _T_2769 = _T_2763 | cached_grant_wait; // @[DCache.scala 822:23:shc.marmotcaravel.MarmotCaravelConfig.fir@204392.4]
  assign _T_2771 = _T_2769 | uncachedInFlight_0; // @[DCache.scala 823:23:shc.marmotcaravel.MarmotCaravelConfig.fir@204394.4]
  assign _T_2773 = _T_2771 | _T_1010; // @[DCache.scala 823:54:shc.marmotcaravel.MarmotCaravelConfig.fir@204396.4]
  assign _T_2833 = grantIsCached == 1'h0; // @[DCache.scala 861:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204469.4]
  assign auto_out_a_valid = _T_2341 | s2_valid_uncached_pending; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201164.4]
  assign auto_out_a_bits_opcode = _T_2347 ? 3'h4 : _T_2349_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201164.4]
  assign auto_out_a_bits_param = _T_2347 ? 3'h0 : _T_2349_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201164.4]
  assign auto_out_a_bits_size = _T_2347 ? _T_2287_size : _T_2349_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201164.4]
  assign auto_out_a_bits_address = _T_2347 ? s2_req_addr : _T_2349_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201164.4]
  assign auto_out_a_bits_mask = _T_2347 ? get_mask : _T_2349_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201164.4]
  assign auto_out_a_bits_data = _T_2347 ? 32'h0 : _T_2349_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201164.4]
  assign auto_out_c_valid = s2_release_data_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201164.4]
  assign auto_out_d_ready = _T_2514 ? 1'h0 : _GEN_133; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201164.4]
  assign auto_out_e_valid = _T_2430 ? 1'h0 : _T_2415; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@201164.4]
  assign io_cpu_req_ready = _T_2514 ? _GEN_134 : _GEN_18; // @[DCache.scala 159:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201321.4 DCache.scala 173:64:shc.marmotcaravel.MarmotCaravelConfig.fir@201430.6 DCache.scala 181:53:shc.marmotcaravel.MarmotCaravelConfig.fir@201499.6 DCache.scala 192:98:shc.marmotcaravel.MarmotCaravelConfig.fir@201521.6 DCache.scala 578:24:shc.marmotcaravel.MarmotCaravelConfig.fir@203949.8]
  assign io_cpu_s2_nack = _T_2718 ? 1'h0 : _T_970; // @[DCache.scala 300:18:shc.marmotcaravel.MarmotCaravelConfig.fir@202086.4 DCache.scala 767:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204317.6]
  assign io_cpu_resp_valid = doUncachedResp ? 1'h1 : s2_valid_hit_pre_data_ecc; // @[DCache.scala 692:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204101.4 DCache.scala 724:23:shc.marmotcaravel.MarmotCaravelConfig.fir@204229.6]
  assign io_cpu_resp_bits_addr = doUncachedResp ? s2_uncached_resp_addr : s2_req_addr; // @[DCache.scala 693:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204102.4 DCache.scala 726:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204231.6]
  assign io_cpu_resp_bits_tag = s2_req_tag; // @[DCache.scala 693:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204102.4]
  assign io_cpu_resp_bits_cmd = s2_req_cmd; // @[DCache.scala 693:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204102.4]
  assign io_cpu_resp_bits_typ = s2_req_typ; // @[DCache.scala 693:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204102.4]
  assign io_cpu_resp_bits_data = {_T_2690,_T_2680}; // @[DCache.scala 693:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204102.4 DCache.scala 735:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204272.4]
  assign io_cpu_resp_bits_replay = doUncachedResp; // @[DCache.scala 695:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204104.4 DCache.scala 725:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204230.6]
  assign io_cpu_resp_bits_has_data = _T_602 | _T_619; // @[DCache.scala 694:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204103.4]
  assign io_cpu_resp_bits_data_word_bypass = {_T_800,_T_799}; // @[DCache.scala 736:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204273.4]
  assign io_cpu_resp_bits_data_raw = {_T_800,_T_799}; // @[DCache.scala 737:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204274.4]
  assign io_cpu_resp_bits_store_data = pstore1_data; // @[DCache.scala 738:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204275.4]
  assign io_cpu_replay_next = _T_2397 & data_1; // @[DCache.scala 719:22:shc.marmotcaravel.MarmotCaravelConfig.fir@204213.4]
  assign io_cpu_s2_xcpt_ma_ld = s2_req_phys ? 1'h0 : _T_2626_ma_ld; // @[DCache.scala 705:18:shc.marmotcaravel.MarmotCaravelConfig.fir@204169.4 DCache.scala 711:22:shc.marmotcaravel.MarmotCaravelConfig.fir@204197.6]
  assign io_cpu_s2_xcpt_ma_st = s2_req_phys ? 1'h0 : _T_2626_ma_st; // @[DCache.scala 705:18:shc.marmotcaravel.MarmotCaravelConfig.fir@204169.4 DCache.scala 711:22:shc.marmotcaravel.MarmotCaravelConfig.fir@204197.6]
  assign io_cpu_s2_xcpt_pf_ld = s2_req_phys ? 1'h0 : _T_2626_pf_ld; // @[DCache.scala 705:18:shc.marmotcaravel.MarmotCaravelConfig.fir@204169.4 DCache.scala 711:22:shc.marmotcaravel.MarmotCaravelConfig.fir@204197.6]
  assign io_cpu_s2_xcpt_pf_st = s2_req_phys ? 1'h0 : _T_2626_pf_st; // @[DCache.scala 705:18:shc.marmotcaravel.MarmotCaravelConfig.fir@204169.4 DCache.scala 711:22:shc.marmotcaravel.MarmotCaravelConfig.fir@204197.6]
  assign io_cpu_s2_xcpt_ae_ld = s2_req_phys ? 1'h0 : _T_2626_ae_ld; // @[DCache.scala 705:18:shc.marmotcaravel.MarmotCaravelConfig.fir@204169.4 DCache.scala 711:22:shc.marmotcaravel.MarmotCaravelConfig.fir@204197.6]
  assign io_cpu_s2_xcpt_ae_st = s2_req_phys ? 1'h0 : _T_2626_ae_st; // @[DCache.scala 705:18:shc.marmotcaravel.MarmotCaravelConfig.fir@204169.4 DCache.scala 711:22:shc.marmotcaravel.MarmotCaravelConfig.fir@204197.6]
  assign io_cpu_ordered = _T_2602 == 1'h0; // @[DCache.scala 701:18:shc.marmotcaravel.MarmotCaravelConfig.fir@204116.4]
  assign io_cpu_perf_grant = d_last & _T_2397; // @[DCache.scala 829:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204449.4]
  assign io_cpu_clock_enabled = clock_en_reg; // @[DCache.scala 89:24:shc.marmotcaravel.MarmotCaravelConfig.fir@201166.4]
  assign metaArb_io_in_0_valid = resetting; // @[DCache.scala 800:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204355.4]
  assign metaArb_io_in_0_bits_addr = metaArb_io_in_5_bits_addr; // @[DCache.scala 801:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204356.4]
  assign metaArb_io_in_2_valid = s2_valid_hit_pre_data_ecc & s2_update_meta; // @[DCache.scala 317:26:shc.marmotcaravel.MarmotCaravelConfig.fir@202126.4]
  assign metaArb_io_in_2_bits_addr = {_T_984,_T_998}; // @[DCache.scala 321:30:shc.marmotcaravel.MarmotCaravelConfig.fir@202135.4]
  assign metaArb_io_in_3_valid = _T_2431 & _T_2432; // @[DCache.scala 564:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203855.4]
  assign metaArb_io_in_3_bits_addr = {_T_984,_T_998}; // @[DCache.scala 568:30:shc.marmotcaravel.MarmotCaravelConfig.fir@203863.4]
  assign metaArb_io_in_4_valid = _T_2583 | _T_2584; // @[DCache.scala 683:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204081.4]
  assign metaArb_io_in_4_bits_addr = {_T_984,14'h0}; // @[DCache.scala 687:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204089.4]
  assign metaArb_io_in_5_valid = 1'h0; // @[DCache.scala 775:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204345.4]
  assign metaArb_io_in_5_bits_addr = {_T_984,_T_2744}; // @[DCache.scala 778:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204352.4]
  assign metaArb_io_in_5_bits_idx = flushCounter; // @[DCache.scala 777:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204348.4]
  assign metaArb_io_in_7_valid = io_cpu_req_valid; // @[DCache.scala 175:26:shc.marmotcaravel.MarmotCaravelConfig.fir@201490.4]
  assign metaArb_io_in_7_bits_addr = io_cpu_req_bits_addr; // @[DCache.scala 178:30:shc.marmotcaravel.MarmotCaravelConfig.fir@201494.4]
  assign metaArb_io_out_ready = clock_en_reg; // @[DCache.scala 114:24:shc.marmotcaravel.MarmotCaravelConfig.fir@201210.4]
  assign data_clock = gated_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@201190.4]
  assign data_io_req_valid = dataArb_io_out_valid; // @[DCache.scala 111:15:shc.marmotcaravel.MarmotCaravelConfig.fir@201199.4]
  assign data_io_req_bits_addr = dataArb_io_out_bits_addr; // @[DCache.scala 111:15:shc.marmotcaravel.MarmotCaravelConfig.fir@201199.4]
  assign data_io_req_bits_write = dataArb_io_out_bits_write; // @[DCache.scala 111:15:shc.marmotcaravel.MarmotCaravelConfig.fir@201199.4]
  assign data_io_req_bits_wdata = {_T_259,_T_258}; // @[DCache.scala 111:15:shc.marmotcaravel.MarmotCaravelConfig.fir@201199.4 DCache.scala 112:26:shc.marmotcaravel.MarmotCaravelConfig.fir@201208.4]
  assign data_io_req_bits_eccMask = dataArb_io_out_bits_eccMask; // @[DCache.scala 111:15:shc.marmotcaravel.MarmotCaravelConfig.fir@201199.4]
  assign dataArb_io_in_0_valid = pstore_drain_structural | _T_1219; // @[DCache.scala 403:26:shc.marmotcaravel.MarmotCaravelConfig.fir@202515.4]
  assign dataArb_io_in_0_bits_addr = _T_1291[13:0]; // @[DCache.scala 405:30:shc.marmotcaravel.MarmotCaravelConfig.fir@202518.4]
  assign dataArb_io_in_0_bits_write = pstore_drain_structural | _T_1219; // @[DCache.scala 404:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202516.4]
  assign dataArb_io_in_0_bits_wdata = pstore2_valid ? pstore2_storegen_data : pstore1_data; // @[DCache.scala 407:31:shc.marmotcaravel.MarmotCaravelConfig.fir@202522.4]
  assign dataArb_io_in_0_bits_eccMask = {_T_1306,_T_1305}; // @[DCache.scala 410:33:shc.marmotcaravel.MarmotCaravelConfig.fir@202539.4]
  assign dataArb_io_in_1_valid = _T_2514 ? _GEN_135 : _T_2427; // @[DCache.scala 543:26:shc.marmotcaravel.MarmotCaravelConfig.fir@203844.4 DCache.scala 579:30:shc.marmotcaravel.MarmotCaravelConfig.fir@203950.8]
  assign dataArb_io_in_1_bits_addr = dataArb_io_in_0_bits_addr; // @[DCache.scala 557:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203851.4]
  assign dataArb_io_in_1_bits_write = _T_2514 ? _GEN_136 : dataArb_io_in_0_bits_write; // @[DCache.scala 557:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203851.4 DCache.scala 580:35:shc.marmotcaravel.MarmotCaravelConfig.fir@203951.8]
  assign dataArb_io_in_1_bits_wdata = dataArb_io_in_0_bits_wdata; // @[DCache.scala 110:43:shc.marmotcaravel.MarmotCaravelConfig.fir@201196.4 DCache.scala 557:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203851.4]
  assign dataArb_io_in_1_bits_eccMask = dataArb_io_in_0_bits_eccMask; // @[DCache.scala 557:27:shc.marmotcaravel.MarmotCaravelConfig.fir@203851.4]
  assign dataArb_io_in_2_valid = inWriteback & _T_2574; // @[DCache.scala 676:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204065.4]
  assign dataArb_io_in_2_bits_addr = {{8'd0}, _T_2579}; // @[DCache.scala 677:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204066.4 DCache.scala 679:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204073.4]
  assign dataArb_io_in_2_bits_wdata = dataArb_io_in_1_bits_wdata; // @[DCache.scala 110:43:shc.marmotcaravel.MarmotCaravelConfig.fir@201197.4 DCache.scala 677:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204066.4]
  assign dataArb_io_in_2_bits_eccMask = dataArb_io_in_1_bits_eccMask; // @[DCache.scala 677:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204066.4]
  assign dataArb_io_in_3_valid = io_cpu_req_valid & res; // @[DCache.scala 167:26:shc.marmotcaravel.MarmotCaravelConfig.fir@201419.4]
  assign dataArb_io_in_3_bits_addr = io_cpu_req_bits_addr[13:0]; // @[DCache.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@201420.4 DCache.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@201422.4]
  assign dataArb_io_in_3_bits_wdata = dataArb_io_in_1_bits_wdata; // @[DCache.scala 110:43:shc.marmotcaravel.MarmotCaravelConfig.fir@201198.4 DCache.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@201420.4]
  assign dataArb_io_in_3_bits_eccMask = dataArb_io_in_1_bits_eccMask; // @[DCache.scala 168:25:shc.marmotcaravel.MarmotCaravelConfig.fir@201420.4]
  assign tlb_io_req_valid = s1_valid_masked & s1_readwrite; // @[DCache.scala 187:20:shc.marmotcaravel.MarmotCaravelConfig.fir@201510.4]
  assign tlb_io_req_bits_vaddr = s1_req_addr; // @[DCache.scala 189:25:shc.marmotcaravel.MarmotCaravelConfig.fir@201512.4]
  assign tlb_io_req_bits_size = s1_req_typ[1:0]; // @[DCache.scala 190:24:shc.marmotcaravel.MarmotCaravelConfig.fir@201513.4]
  assign tlb_io_req_bits_cmd = s1_req_cmd; // @[DCache.scala 191:23:shc.marmotcaravel.MarmotCaravelConfig.fir@201514.4]
  assign tlb_io_ptw_pmp_0_cfg_l = io_ptw_pmp_0_cfg_l; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_0_cfg_a = io_ptw_pmp_0_cfg_a; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_0_cfg_x = io_ptw_pmp_0_cfg_x; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_0_cfg_w = io_ptw_pmp_0_cfg_w; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_0_cfg_r = io_ptw_pmp_0_cfg_r; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_0_addr = io_ptw_pmp_0_addr; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_0_mask = io_ptw_pmp_0_mask; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_1_cfg_l = io_ptw_pmp_1_cfg_l; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_1_cfg_a = io_ptw_pmp_1_cfg_a; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_1_cfg_x = io_ptw_pmp_1_cfg_x; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_1_cfg_w = io_ptw_pmp_1_cfg_w; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_1_cfg_r = io_ptw_pmp_1_cfg_r; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_1_addr = io_ptw_pmp_1_addr; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_1_mask = io_ptw_pmp_1_mask; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_2_cfg_l = io_ptw_pmp_2_cfg_l; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_2_cfg_a = io_ptw_pmp_2_cfg_a; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_2_cfg_x = io_ptw_pmp_2_cfg_x; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_2_cfg_w = io_ptw_pmp_2_cfg_w; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_2_cfg_r = io_ptw_pmp_2_cfg_r; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_2_addr = io_ptw_pmp_2_addr; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_2_mask = io_ptw_pmp_2_mask; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_3_cfg_l = io_ptw_pmp_3_cfg_l; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_3_cfg_a = io_ptw_pmp_3_cfg_a; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_3_cfg_x = io_ptw_pmp_3_cfg_x; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_3_cfg_w = io_ptw_pmp_3_cfg_w; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_3_cfg_r = io_ptw_pmp_3_cfg_r; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_3_addr = io_ptw_pmp_3_addr; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_3_mask = io_ptw_pmp_3_mask; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_4_cfg_l = io_ptw_pmp_4_cfg_l; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_4_cfg_a = io_ptw_pmp_4_cfg_a; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_4_cfg_x = io_ptw_pmp_4_cfg_x; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_4_cfg_w = io_ptw_pmp_4_cfg_w; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_4_cfg_r = io_ptw_pmp_4_cfg_r; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_4_addr = io_ptw_pmp_4_addr; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_4_mask = io_ptw_pmp_4_mask; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_5_cfg_l = io_ptw_pmp_5_cfg_l; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_5_cfg_a = io_ptw_pmp_5_cfg_a; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_5_cfg_x = io_ptw_pmp_5_cfg_x; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_5_cfg_w = io_ptw_pmp_5_cfg_w; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_5_cfg_r = io_ptw_pmp_5_cfg_r; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_5_addr = io_ptw_pmp_5_addr; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_5_mask = io_ptw_pmp_5_mask; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_6_cfg_l = io_ptw_pmp_6_cfg_l; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_6_cfg_a = io_ptw_pmp_6_cfg_a; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_6_cfg_x = io_ptw_pmp_6_cfg_x; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_6_cfg_w = io_ptw_pmp_6_cfg_w; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_6_cfg_r = io_ptw_pmp_6_cfg_r; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_6_addr = io_ptw_pmp_6_addr; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_6_mask = io_ptw_pmp_6_mask; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_7_cfg_l = io_ptw_pmp_7_cfg_l; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_7_cfg_a = io_ptw_pmp_7_cfg_a; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_7_cfg_x = io_ptw_pmp_7_cfg_x; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_7_cfg_w = io_ptw_pmp_7_cfg_w; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_7_cfg_r = io_ptw_pmp_7_cfg_r; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_7_addr = io_ptw_pmp_7_addr; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign tlb_io_ptw_pmp_7_mask = io_ptw_pmp_7_mask; // @[DCache.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@201505.4]
  assign amoalu_io_cmd = pstore1_cmd; // @[DCache.scala 745:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204281.4]
  assign amoalu_io_lhs = {_T_800,_T_799}; // @[DCache.scala 746:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204282.4]
  assign amoalu_io_rhs = pstore1_data; // @[DCache.scala 747:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204283.4]
  assign _GEN_190 = _T_2397 & grantIsCached; // @[DCache.scala 500:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203770.10]
  assign _GEN_193 = _T_2397 & _T_2833; // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@203791.14]
  assign _GEN_194 = _GEN_193 & d_last; // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@203791.14]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  clock_en_reg = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  blockUncachedGrant = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  s1_valid = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_2363 = _RAND_3[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  release_state = _RAND_4[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  blockProbeAfterGrantCount = _RAND_5[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  lrscCount = _RAND_6[6:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  s2_valid_pre_xcpt = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  s1_req_cmd = _RAND_8[4:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_587 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  s2_req_cmd = _RAND_10[4:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  s2_hit_state_state = _RAND_11[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  s2_req_addr = _RAND_12[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  pstore1_held = _RAND_13[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  pstore1_addr = _RAND_14[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  s1_req_addr = _RAND_15[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  pstore1_mask = _RAND_16[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_17 = {1{`RANDOM}};
  s1_req_typ = _RAND_17[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_18 = {1{`RANDOM}};
  pstore2_valid = _RAND_18[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_19 = {1{`RANDOM}};
  pstore2_addr = _RAND_19[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_20 = {1{`RANDOM}};
  mask = _RAND_20[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_21 = {1{`RANDOM}};
  s1_req_tag = _RAND_21[6:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_22 = {1{`RANDOM}};
  s1_req_phys = _RAND_22[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_23 = {1{`RANDOM}};
  s1_flush_valid = _RAND_23[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_24 = {1{`RANDOM}};
  cached_grant_wait = _RAND_24[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_25 = {1{`RANDOM}};
  uncachedInFlight_0 = _RAND_25[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_26 = {1{`RANDOM}};
  uncachedReqs_0_addr = _RAND_26[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_27 = {1{`RANDOM}};
  uncachedReqs_0_tag = _RAND_27[6:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_28 = {1{`RANDOM}};
  uncachedReqs_0_typ = _RAND_28[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_29 = {1{`RANDOM}};
  s2_req_tag = _RAND_29[6:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_30 = {1{`RANDOM}};
  s2_req_typ = _RAND_30[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_31 = {1{`RANDOM}};
  s2_req_phys = _RAND_31[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_32 = {1{`RANDOM}};
  s2_uncached_resp_addr = _RAND_32[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_33 = {1{`RANDOM}};
  _T_595 = _RAND_33[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_34 = {1{`RANDOM}};
  s2_flush_valid_pre_tag_ecc = _RAND_34[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_35 = {1{`RANDOM}};
  s2_data = _RAND_35[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_36 = {1{`RANDOM}};
  pstore1_cmd = _RAND_36[4:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_37 = {1{`RANDOM}};
  pstore1_data = _RAND_37[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_38 = {1{`RANDOM}};
  pstore1_rmw = _RAND_38[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_39 = {1{`RANDOM}};
  _T_1246 = _RAND_39[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_40 = {1{`RANDOM}};
  _T_1252 = _RAND_40[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_41 = {1{`RANDOM}};
  _T_1258 = _RAND_41[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_42 = {1{`RANDOM}};
  _T_1264 = _RAND_42[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_43 = {1{`RANDOM}};
  s2_release_data_valid = _RAND_43[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_44 = {1{`RANDOM}};
  s1_release_data_valid = _RAND_44[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_45 = {1{`RANDOM}};
  _T_2606 = _RAND_45[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_46 = {1{`RANDOM}};
  _T_2608_pf_ld = _RAND_46[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_47 = {1{`RANDOM}};
  _T_2608_pf_st = _RAND_47[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_48 = {1{`RANDOM}};
  _T_2608_ae_ld = _RAND_48[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_49 = {1{`RANDOM}};
  _T_2608_ae_st = _RAND_49[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_50 = {1{`RANDOM}};
  _T_2608_ma_ld = _RAND_50[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_51 = {1{`RANDOM}};
  _T_2608_ma_st = _RAND_51[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_52 = {1{`RANDOM}};
  doUncachedResp = _RAND_52[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_53 = {1{`RANDOM}};
  resetting = _RAND_53[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_54 = {1{`RANDOM}};
  flushCounter = _RAND_54[7:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge gated_clock) begin
    clock_en_reg <= _T_2773 | _T_2519;
    if (_T_2514) begin
      if (auto_out_d_valid) begin
        blockUncachedGrant <= _T_2429;
      end else begin
        blockUncachedGrant <= dataArb_io_out_valid;
      end
    end else begin
      blockUncachedGrant <= dataArb_io_out_valid;
    end
    if (reset) begin
      s1_valid <= 1'h0;
    end else begin
      s1_valid <= _T_263;
    end
    if (reset) begin
      _T_2363 <= 10'h0;
    end else begin
      if (_T_2397) begin
        if (d_first) begin
          if (_T_2360) begin
            _T_2363 <= _T_2359;
          end else begin
            _T_2363 <= 10'h0;
          end
        end else begin
          _T_2363 <= _T_2366;
        end
      end
    end
    if (reset) begin
      release_state <= 3'h0;
    end else begin
      if (_T_2594) begin
        release_state <= 3'h0;
      end
    end
    if (reset) begin
      blockProbeAfterGrantCount <= 3'h0;
    end else begin
      if (_T_2397) begin
        if (grantIsCached) begin
          if (d_last) begin
            blockProbeAfterGrantCount <= 3'h7;
          end else begin
            if (_T_2519) begin
              blockProbeAfterGrantCount <= _T_2392;
            end
          end
        end else begin
          if (_T_2519) begin
            blockProbeAfterGrantCount <= _T_2392;
          end
        end
      end else begin
        if (_T_2519) begin
          blockProbeAfterGrantCount <= _T_2392;
        end
      end
    end
    if (reset) begin
      lrscCount <= 7'h0;
    end else begin
      if (_T_1028) begin
        lrscCount <= 7'h3;
      end else begin
        if (_T_1010) begin
          lrscCount <= _T_1027;
        end else begin
          if (_T_583) begin
            if (s2_hit) begin
              lrscCount <= 7'h4f;
            end else begin
              lrscCount <= 7'h0;
            end
          end
        end
      end
    end
    if (reset) begin
      s2_valid_pre_xcpt <= 1'h0;
    end else begin
      s2_valid_pre_xcpt <= _T_573;
    end
    if (s0_clk_en) begin
      s1_req_cmd <= io_cpu_req_bits_cmd;
    end
    _T_587 <= s1_nack == 1'h0;
    if (_T_2397) begin
      if (grantIsCached) begin
        if (_T_591) begin
          s2_req_cmd <= s1_req_cmd;
        end
      end else begin
        if (data_1) begin
          s2_req_cmd <= 5'h0;
        end else begin
          if (_T_591) begin
            s2_req_cmd <= s1_req_cmd;
          end
        end
      end
    end else begin
      if (_T_591) begin
        s2_req_cmd <= s1_req_cmd;
      end
    end
    if (_T_591) begin
      if (inScratchpad) begin
        s2_hit_state_state <= 2'h3;
      end else begin
        s2_hit_state_state <= 2'h0;
      end
    end
    if (_T_2397) begin
      if (grantIsCached) begin
        if (_T_591) begin
          s2_req_addr <= tlb_io_resp_paddr;
        end
      end else begin
        if (data_1) begin
          s2_req_addr <= _T_2410;
        end else begin
          if (_T_591) begin
            s2_req_addr <= tlb_io_resp_paddr;
          end
        end
      end
    end else begin
      if (_T_591) begin
        s2_req_addr <= tlb_io_resp_paddr;
      end
    end
    pstore1_held <= _T_1229 & _T_1230;
    if (_T_1037) begin
      pstore1_addr <= s1_req_addr;
    end
    if (s0_clk_en) begin
      s1_req_addr <= _T_275;
    end
    if (_T_1037) begin
      if (_T_300) begin
        pstore1_mask <= io_cpu_s1_data_mask;
      end else begin
        pstore1_mask <= _T_571;
      end
    end
    if (s0_clk_en) begin
      s1_req_typ <= io_cpu_req_bits_typ;
    end
    pstore2_valid <= _T_1235 | advance_pstore1;
    if (advance_pstore1) begin
      pstore2_addr <= pstore1_addr;
    end
    if (advance_pstore1) begin
      mask <= _T_1272;
    end
    if (s0_clk_en) begin
      s1_req_tag <= io_cpu_req_bits_tag;
    end
    if (s0_clk_en) begin
      if (_T_276) begin
        s1_req_phys <= 1'h1;
      end else begin
        s1_req_phys <= io_cpu_req_bits_phys;
      end
    end
    s1_flush_valid <= _T_2737 & _T_332;
    if (reset) begin
      cached_grant_wait <= 1'h0;
    end else begin
      if (_T_2397) begin
        if (grantIsCached) begin
          if (d_last) begin
            cached_grant_wait <= 1'h0;
          end
        end
      end
    end
    if (reset) begin
      uncachedInFlight_0 <= 1'h0;
    end else begin
      if (_T_2397) begin
        if (grantIsCached) begin
          if (_T_2352) begin
            uncachedInFlight_0 <= 1'h1;
          end
        end else begin
          if (d_last) begin
            uncachedInFlight_0 <= 1'h0;
          end else begin
            if (_T_2352) begin
              uncachedInFlight_0 <= 1'h1;
            end
          end
        end
      end else begin
        if (_T_2352) begin
          uncachedInFlight_0 <= 1'h1;
        end
      end
    end
    if (_T_2352) begin
      uncachedReqs_0_addr <= s2_req_addr;
    end
    if (_T_2352) begin
      uncachedReqs_0_tag <= s2_req_tag;
    end
    if (_T_2352) begin
      uncachedReqs_0_typ <= s2_req_typ;
    end
    if (_T_2397) begin
      if (grantIsCached) begin
        if (_T_591) begin
          s2_req_tag <= s1_req_tag;
        end
      end else begin
        if (data_1) begin
          s2_req_tag <= uncachedReqs_0_tag;
        end else begin
          if (_T_591) begin
            s2_req_tag <= s1_req_tag;
          end
        end
      end
    end else begin
      if (_T_591) begin
        s2_req_tag <= s1_req_tag;
      end
    end
    if (_T_2397) begin
      if (grantIsCached) begin
        if (_T_591) begin
          s2_req_typ <= s1_req_typ;
        end
      end else begin
        if (data_1) begin
          s2_req_typ <= uncachedReqs_0_typ;
        end else begin
          if (_T_591) begin
            s2_req_typ <= s1_req_typ;
          end
        end
      end
    end else begin
      if (_T_591) begin
        s2_req_typ <= s1_req_typ;
      end
    end
    if (_T_591) begin
      s2_req_phys <= s1_req_phys;
    end
    if (_T_2397) begin
      if (!(grantIsCached)) begin
        if (data_1) begin
          s2_uncached_resp_addr <= uncachedReqs_0_addr;
        end
      end
    end
    if (_T_591) begin
      _T_595 <= s1_req_addr;
    end
    s2_flush_valid_pre_tag_ecc <= s1_flush_valid;
    if (_T_665) begin
      s2_data <= _T_661;
    end
    if (_T_1037) begin
      pstore1_cmd <= s1_req_cmd;
    end
    if (_T_1037) begin
      pstore1_data <= io_cpu_s1_data_data;
    end
    if (_T_1037) begin
      pstore1_rmw <= _T_1099;
    end
    if (advance_pstore1) begin
      _T_1246 <= _T_1241;
    end
    if (advance_pstore1) begin
      _T_1252 <= _T_1247;
    end
    if (advance_pstore1) begin
      _T_1258 <= _T_1253;
    end
    if (advance_pstore1) begin
      _T_1264 <= _T_1259;
    end
    s2_release_data_valid <= s1_release_data_valid;
    s1_release_data_valid <= dataArb_io_in_2_ready & dataArb_io_in_2_valid;
    _T_2606 <= tlb_io_req_valid & _T_271;
    if (s1_valid_not_nacked) begin
      _T_2608_pf_ld <= tlb_io_resp_pf_ld;
    end
    if (s1_valid_not_nacked) begin
      _T_2608_pf_st <= tlb_io_resp_pf_st;
    end
    if (s1_valid_not_nacked) begin
      _T_2608_ae_ld <= tlb_io_resp_ae_ld;
    end
    if (s1_valid_not_nacked) begin
      _T_2608_ae_st <= tlb_io_resp_ae_st;
    end
    if (s1_valid_not_nacked) begin
      _T_2608_ma_ld <= tlb_io_resp_ma_ld;
    end
    if (s1_valid_not_nacked) begin
      _T_2608_ma_st <= tlb_io_resp_ma_st;
    end
    doUncachedResp <= io_cpu_replay_next;
    if (reset) begin
      resetting <= 1'h0;
    end else begin
      if (resetting) begin
        if (flushDone) begin
          resetting <= 1'h0;
        end
      end
    end
    if (reset) begin
      flushCounter <= 8'h0;
    end else begin
      flushCounter <= _GEN_172[7:0];
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_447) begin
          $fwrite(32'h80000002,"Assertion failed\n    at DCache.scala:913 assert(!needsRead(req) || res)\n"); // @[DCache.scala 913:11:shc.marmotcaravel.MarmotCaravelConfig.fir@201415.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_447) begin
          $fatal; // @[DCache.scala 913:11:shc.marmotcaravel.MarmotCaravelConfig.fir@201416.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_447) begin
          $fwrite(32'h80000002,"Assertion failed\n    at DCache.scala:913 assert(!needsRead(req) || res)\n"); // @[DCache.scala 913:11:shc.marmotcaravel.MarmotCaravelConfig.fir@202358.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_447) begin
          $fatal; // @[DCache.scala 913:11:shc.marmotcaravel.MarmotCaravelConfig.fir@202359.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1201) begin
          $fwrite(32'h80000002,"Assertion failed\n    at DCache.scala:366 assert(pstore1_rmw || pstore1_valid_not_rmw(io.cpu.s2_kill) === pstore1_valid)\n"); // @[DCache.scala 366:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202397.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1201) begin
          $fatal; // @[DCache.scala 366:9:shc.marmotcaravel.MarmotCaravelConfig.fir@202398.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2381) begin
          $fwrite(32'h80000002,"Assertion failed\n    at DCache.scala:480 assert(!tl_out.d.valid || whole_opc.isOneOf(uncachedGrantOpcodes))\n"); // @[DCache.scala 480:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203735.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_2381) begin
          $fatal; // @[DCache.scala 480:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203736.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_190 & _T_2400) begin
          $fwrite(32'h80000002,"Assertion failed: A GrantData was unexpected by the dcache.\n    at DCache.scala:500 assert(cached_grant_wait, \"A GrantData was unexpected by the dcache.\")\n"); // @[DCache.scala 500:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203770.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_190 & _T_2400) begin
          $fatal; // @[DCache.scala 500:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203771.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_194 & _T_2406) begin
          $fwrite(32'h80000002,"Assertion failed: An AccessAck was unexpected by the dcache.\n    at DCache.scala:512 assert(f, \"An AccessAck was unexpected by the dcache.\") // TODO must handle Ack coming back on same cycle!\n"); // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@203791.14]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_194 & _T_2406) begin
          $fatal; // @[DCache.scala 512:17:shc.marmotcaravel.MarmotCaravelConfig.fir@203792.14]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: A ReleaseAck was unexpected by the dcache.\n    at DCache.scala:530 assert(release_ack_wait, \"A ReleaseAck was unexpected by the dcache.\") // TODO should handle Ack coming back on same cycle!\n"); // @[DCache.scala 530:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203816.14]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[DCache.scala 530:13:shc.marmotcaravel.MarmotCaravelConfig.fir@203817.14]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2426) begin
          $fwrite(32'h80000002,"Assertion failed\n    at DCache.scala:538 assert(tl_out.e.fire() === (tl_out.d.fire() && d_first && grantIsCached))\n"); // @[DCache.scala 538:9:shc.marmotcaravel.MarmotCaravelConfig.fir@203839.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_2426) begin
          $fatal; // @[DCache.scala 538:9:shc.marmotcaravel.MarmotCaravelConfig.fir@203840.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (s2_req_phys & _T_2631) begin
          $fwrite(32'h80000002,"Assertion failed\n    at DCache.scala:710 assert(!s2_valid || s2_hit_valid)\n"); // @[DCache.scala 710:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204177.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (s2_req_phys & _T_2631) begin
          $fatal; // @[DCache.scala 710:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204178.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_2649) begin
          $fwrite(32'h80000002,"Assertion failed\n    at DCache.scala:713 assert(!(s2_valid_masked && s2_req.cmd.isOneOf(M_XLR, M_XSC)))\n"); // @[DCache.scala 713:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204208.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_2649) begin
          $fatal; // @[DCache.scala 713:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204209.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (doUncachedResp & _T_2657) begin
          $fwrite(32'h80000002,"Assertion failed\n    at DCache.scala:723 assert(!s2_valid_hit)\n"); // @[DCache.scala 723:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204226.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (doUncachedResp & _T_2657) begin
          $fatal; // @[DCache.scala 723:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204227.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module ICache( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204483.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204484.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204485.4]
  output        auto_slave_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
  input         auto_slave_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
  input  [2:0]  auto_slave_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
  input  [1:0]  auto_slave_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
  input  [6:0]  auto_slave_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
  input  [27:0] auto_slave_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
  input  [3:0]  auto_slave_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
  input  [31:0] auto_slave_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
  input         auto_slave_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
  output        auto_slave_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
  output [2:0]  auto_slave_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
  output [1:0]  auto_slave_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
  output [6:0]  auto_slave_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
  output [31:0] auto_slave_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
  input         auto_master_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
  output        auto_master_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
  output [31:0] auto_master_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
  output        auto_master_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
  input         auto_master_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
  input  [2:0]  auto_master_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
  input  [3:0]  auto_master_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
  input  [31:0] auto_master_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
  input         auto_master_out_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204486.4]
  output        io_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
  input         io_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
  input  [31:0] io_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
  input  [31:0] io_s1_paddr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
  input  [31:0] io_s2_vaddr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
  input         io_s1_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
  input         io_s2_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
  output        io_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
  output [31:0] io_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
  output        io_resp_bits_ae, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
  input         io_invalidate, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
  input         io_clock_enabled, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
  output        io_keep_clock_enabled, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204487.4]
  output [6:0] tag_array_ext_RW0_addr,
  output  tag_array_ext_RW0_en,
  output  tag_array_ext_RW0_clk,
  output  tag_array_ext_RW0_wmode,
  output [39:0] tag_array_ext_RW0_wdata,
  input  [39:0] tag_array_ext_RW0_rdata,
  output [1:0] tag_array_ext_RW0_wmask,
  output [10:0] data_arrays_0_0_ext_RW0_addr,
  output  data_arrays_0_0_ext_RW0_en,
  output  data_arrays_0_0_ext_RW0_clk,
  output  data_arrays_0_0_ext_RW0_wmode,
  output [63:0] data_arrays_0_0_ext_RW0_wdata,
  input  [63:0] data_arrays_0_0_ext_RW0_rdata,
  output [1:0] data_arrays_0_0_ext_RW0_wmask
);
  wire [6:0] tag_array_RW0_addr; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204615.4]
  wire  tag_array_RW0_en; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204615.4]
  wire  tag_array_RW0_clk; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204615.4]
  wire  tag_array_RW0_wmode; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204615.4]
  wire [19:0] tag_array_RW0_wdata_0; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204615.4]
  wire [19:0] tag_array_RW0_wdata_1; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204615.4]
  wire [19:0] tag_array_RW0_rdata_0; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204615.4]
  wire [19:0] tag_array_RW0_rdata_1; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204615.4]
  wire  tag_array_RW0_wmask_0; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204615.4]
  wire  tag_array_RW0_wmask_1; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204615.4]
  wire [10:0] data_arrays_0_RW0_addr; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204769.4]
  wire  data_arrays_0_RW0_en; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204769.4]
  wire  data_arrays_0_RW0_clk; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204769.4]
  wire  data_arrays_0_RW0_wmode; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204769.4]
  wire [31:0] data_arrays_0_RW0_wdata_0; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204769.4]
  wire [31:0] data_arrays_0_RW0_wdata_1; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204769.4]
  wire [31:0] data_arrays_0_RW0_rdata_0; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204769.4]
  wire [31:0] data_arrays_0_RW0_rdata_1; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204769.4]
  wire  data_arrays_0_RW0_wmask_0; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204769.4]
  wire  data_arrays_0_RW0_wmask_1; // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204769.4]
  reg  scratchpadOn; // @[ICache.scala 120:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204499.4]
  reg [31:0] _RAND_0;
  reg [6:0] scratchpadMax; // @[ICache.scala 121:42:shc.marmotcaravel.MarmotCaravelConfig.fir@204500.4]
  reg [31:0] _RAND_1;
  reg  s1_slaveValid; // @[ICache.scala 132:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204503.4]
  reg [31:0] _RAND_2;
  wire  _T_663; // @[ICache.scala 312:40:shc.marmotcaravel.MarmotCaravelConfig.fir@204898.4]
  reg  s2_slaveValid; // @[ICache.scala 133:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204505.4]
  reg [31:0] _RAND_3;
  wire  _T_664; // @[ICache.scala 312:57:shc.marmotcaravel.MarmotCaravelConfig.fir@204899.4]
  reg  s3_slaveValid; // @[ICache.scala 134:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204507.4]
  reg [31:0] _RAND_4;
  wire  _T_665; // @[ICache.scala 312:74:shc.marmotcaravel.MarmotCaravelConfig.fir@204900.4]
  reg  tl_in_d_valid; // @[ICache.scala 311:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204897.4]
  reg [31:0] _RAND_5;
  wire  _T_666; // @[ICache.scala 312:91:shc.marmotcaravel.MarmotCaravelConfig.fir@204901.4]
  wire  _T_667; // @[ICache.scala 312:107:shc.marmotcaravel.MarmotCaravelConfig.fir@204902.4]
  wire  _T_668; // @[ICache.scala 312:104:shc.marmotcaravel.MarmotCaravelConfig.fir@204903.4]
  wire  tl_in_a_ready; // @[ICache.scala 312:23:shc.marmotcaravel.MarmotCaravelConfig.fir@204904.4]
  wire  s0_slaveValid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204502.4]
  reg  s1_valid; // @[ICache.scala 136:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204509.4]
  reg [31:0] _RAND_6;
  reg [255:0] vb_array; // @[ICache.scala 195:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204645.4]
  reg [255:0] _RAND_7;
  wire [6:0] _T_420; // @[ICache.scala 216:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204673.4]
  wire [7:0] _T_443; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204696.4]
  wire [255:0] _T_444; // @[ICache.scala 222:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204697.4]
  wire  _T_445; // @[ICache.scala 222:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204698.4]
  wire  _T_446; // @[ICache.scala 222:51:shc.marmotcaravel.MarmotCaravelConfig.fir@204699.4]
  wire  _T_447; // @[ICache.scala 222:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204700.4]
  wire [18:0] _T_449; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204702.4]
  wire [18:0] _T_421; // @[ICache.scala 217:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204674.4]
  wire  _T_450; // @[ICache.scala 225:33:shc.marmotcaravel.MarmotCaravelConfig.fir@204703.4]
  wire  _T_451; // @[ICache.scala 225:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204704.4]
  reg [13:0] s1s3_slaveAddr; // @[ICache.scala 212:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204671.4]
  reg [31:0] _RAND_8;
  wire [7:0] _T_423; // @[ICache.scala 130:40:shc.marmotcaravel.MarmotCaravelConfig.fir@204676.4]
  wire [7:0] _GEN_75; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204677.4]
  wire  _T_424; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204677.4]
  wire  _T_425; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204678.4]
  wire  _T_426; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204679.4]
  wire  _T_427; // @[ICache.scala 220:91:shc.marmotcaravel.MarmotCaravelConfig.fir@204680.4]
  wire  _T_428; // @[ICache.scala 220:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204681.4]
  wire  _T_429; // @[ICache.scala 126:75:shc.marmotcaravel.MarmotCaravelConfig.fir@204682.4]
  wire  _T_432; // @[ICache.scala 126:91:shc.marmotcaravel.MarmotCaravelConfig.fir@204685.4]
  wire  _T_433; // @[ICache.scala 126:83:shc.marmotcaravel.MarmotCaravelConfig.fir@204686.4]
  wire [7:0] _T_434; // @[ICache.scala 127:90:shc.marmotcaravel.MarmotCaravelConfig.fir@204687.4]
  wire  _T_435; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204688.4]
  wire  _T_436; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204689.4]
  wire  _T_437; // @[ICache.scala 127:66:shc.marmotcaravel.MarmotCaravelConfig.fir@204690.4]
  wire  _T_438; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204691.4]
  wire  _T_439; // @[ICache.scala 221:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204692.4]
  wire  _T_440; // @[ICache.scala 221:39:shc.marmotcaravel.MarmotCaravelConfig.fir@204693.4]
  wire  _T_441; // @[ICache.scala 219:10:shc.marmotcaravel.MarmotCaravelConfig.fir@204694.4]
  wire  s1_tag_hit_0; // @[ICache.scala 228:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204711.4]
  wire [7:0] _T_480; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204736.4]
  wire [255:0] _T_481; // @[ICache.scala 222:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204737.4]
  wire  _T_482; // @[ICache.scala 222:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204738.4]
  wire  _T_484; // @[ICache.scala 222:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204740.4]
  wire [18:0] _T_486; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204742.4]
  wire  _T_487; // @[ICache.scala 225:33:shc.marmotcaravel.MarmotCaravelConfig.fir@204743.4]
  wire  s1_tag_hit_1; // @[ICache.scala 225:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204744.4]
  wire  _T_270; // @[ICache.scala 138:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204512.4]
  wire  _T_276; // @[ICache.scala 138:46:shc.marmotcaravel.MarmotCaravelConfig.fir@204518.4]
  wire  s1_hit; // @[ICache.scala 138:40:shc.marmotcaravel.MarmotCaravelConfig.fir@204519.4]
  wire  _T_277; // @[ICache.scala 140:38:shc.marmotcaravel.MarmotCaravelConfig.fir@204520.4]
  wire  _T_278; // @[ICache.scala 140:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204521.4]
  reg  s2_valid; // @[ICache.scala 140:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204522.4]
  reg [31:0] _RAND_9;
  reg  s2_hit; // @[ICache.scala 141:23:shc.marmotcaravel.MarmotCaravelConfig.fir@204524.4]
  reg [31:0] _RAND_10;
  reg  invalidated; // @[ICache.scala 143:24:shc.marmotcaravel.MarmotCaravelConfig.fir@204526.4]
  reg [31:0] _RAND_11;
  reg  refill_valid; // @[ICache.scala 144:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204527.4]
  reg [31:0] _RAND_12;
  wire  _T_287; // @[ICache.scala 148:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204533.4]
  wire  _T_288; // @[ICache.scala 148:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204534.4]
  wire  _T_289; // @[ICache.scala 148:40:shc.marmotcaravel.MarmotCaravelConfig.fir@204535.4]
  wire  s2_miss; // @[ICache.scala 148:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204536.4]
  reg  _T_292; // @[ICache.scala 150:45:shc.marmotcaravel.MarmotCaravelConfig.fir@204539.4]
  reg [31:0] _RAND_13;
  wire  s2_request_refill; // @[ICache.scala 150:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204541.4]
  wire  refill_fire; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204529.4]
  wire  _T_290; // @[ICache.scala 149:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204537.4]
  wire  s1_can_request_refill; // @[ICache.scala 149:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204538.4]
  wire  _T_293; // @[ICache.scala 151:53:shc.marmotcaravel.MarmotCaravelConfig.fir@204542.4]
  reg [31:0] refill_addr; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204543.4]
  reg [31:0] _RAND_14;
  wire [18:0] refill_tag; // @[ICache.scala 152:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204547.4]
  wire [6:0] refill_idx; // @[ICache.scala 153:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204548.4]
  wire  tl_out_d_ready; // @[ICache.scala 163:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204582.4]
  wire  _T_295; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204549.4]
  wire  _T_296; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204550.4]
  wire  refill_one_beat; // @[ICache.scala 154:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204551.4]
  wire  _T_297; // @[ICache.scala 156:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204552.4]
  wire  _T_298; // @[ICache.scala 156:54:shc.marmotcaravel.MarmotCaravelConfig.fir@204553.4]
  wire  s0_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204556.4]
  wire [26:0] _T_302; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204560.4]
  wire [11:0] _T_303; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@204561.4]
  wire [11:0] _T_304; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@204562.4]
  wire [9:0] _T_305; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@204563.4]
  wire [9:0] _T_307; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204565.4]
  reg [9:0] _T_309; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204566.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_310; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@204567.4]
  wire [10:0] _T_311; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@204568.4]
  wire [9:0] _T_312; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@204569.4]
  wire  _T_313; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204570.4]
  wire  _T_314; // @[Edges.scala 232:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204571.4]
  wire  _T_315; // @[Edges.scala 232:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204572.4]
  wire  _T_316; // @[Edges.scala 232:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204573.4]
  wire  d_done; // @[Edges.scala 233:22:shc.marmotcaravel.MarmotCaravelConfig.fir@204574.4]
  wire [9:0] _T_317; // @[Edges.scala 234:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204575.4]
  wire [9:0] refill_cnt; // @[Edges.scala 234:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204576.4]
  wire  refill_done; // @[ICache.scala 162:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204581.4]
  reg [15:0] _T_321; // @[LFSR.scala 22:23:shc.marmotcaravel.MarmotCaravelConfig.fir@204584.4]
  reg [31:0] _RAND_16;
  wire  _T_322; // @[LFSR.scala 23:40:shc.marmotcaravel.MarmotCaravelConfig.fir@204586.6]
  wire  _T_323; // @[LFSR.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204587.6]
  wire  _T_324; // @[LFSR.scala 23:43:shc.marmotcaravel.MarmotCaravelConfig.fir@204588.6]
  wire  _T_325; // @[LFSR.scala 23:56:shc.marmotcaravel.MarmotCaravelConfig.fir@204589.6]
  wire  _T_326; // @[LFSR.scala 23:51:shc.marmotcaravel.MarmotCaravelConfig.fir@204590.6]
  wire  _T_327; // @[LFSR.scala 23:64:shc.marmotcaravel.MarmotCaravelConfig.fir@204591.6]
  wire  _T_328; // @[LFSR.scala 23:59:shc.marmotcaravel.MarmotCaravelConfig.fir@204592.6]
  wire [14:0] _T_329; // @[LFSR.scala 23:73:shc.marmotcaravel.MarmotCaravelConfig.fir@204593.6]
  wire [15:0] _T_330; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204594.6]
  wire [7:0] _T_333; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204599.4]
  wire  _T_334; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204600.4]
  wire  _T_335; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204601.4]
  wire  repl_way; // @[ICache.scala 172:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204603.4]
  wire [7:0] _T_337; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204604.4]
  wire  _T_338; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204605.4]
  wire  _T_339; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204606.4]
  wire  _T_340; // @[ICache.scala 174:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204607.4]
  wire  _T_342; // @[ICache.scala 174:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204609.4]
  wire  _T_343; // @[ICache.scala 174:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204610.4]
  wire [6:0] _T_352; // @[ICache.scala 185:42:shc.marmotcaravel.MarmotCaravelConfig.fir@204616.4]
  wire  _T_353; // @[ICache.scala 185:70:shc.marmotcaravel.MarmotCaravelConfig.fir@204617.4]
  wire  _T_354; // @[ICache.scala 185:83:shc.marmotcaravel.MarmotCaravelConfig.fir@204618.4]
  wire  _T_388; // @[ICache.scala 198:75:shc.marmotcaravel.MarmotCaravelConfig.fir@204648.6]
  wire  _T_389; // @[ICache.scala 198:72:shc.marmotcaravel.MarmotCaravelConfig.fir@204649.6]
  wire [255:0] _T_390; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204650.6]
  wire [255:0] _T_391; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204651.6]
  wire [255:0] _T_392; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204652.6]
  wire [255:0] _T_393; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204653.6]
  wire [255:0] _T_394; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204654.6]
  wire  _T_677; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204926.6]
  wire  _T_678; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@204927.6]
  wire [7:0] _T_681; // @[ICache.scala 130:40:shc.marmotcaravel.MarmotCaravelConfig.fir@204931.8]
  wire  _T_682; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204932.8]
  wire  _T_683; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204933.8]
  wire  _T_684; // @[ICache.scala 321:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204934.8]
  wire  _GEN_56; // @[ICache.scala 321:65:shc.marmotcaravel.MarmotCaravelConfig.fir@204935.8]
  wire  _GEN_58; // @[ICache.scala 319:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204928.6]
  wire  invalidate; // @[ICache.scala 315:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204923.4]
  reg [31:0] s1s3_slaveData; // @[ICache.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204672.4]
  reg [31:0] _RAND_17;
  wire  _T_448; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204701.4]
  wire  s1_tl_error_0; // @[ICache.scala 227:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204709.4]
  wire  _T_485; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204741.4]
  wire  s1_tl_error_1; // @[ICache.scala 227:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204749.4]
  wire  _T_494; // @[ICache.scala 230:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204753.4]
  wire  _T_495; // @[ICache.scala 230:10:shc.marmotcaravel.MarmotCaravelConfig.fir@204754.4]
  wire [1:0] _T_500; // @[Bitwise.scala 48:55:shc.marmotcaravel.MarmotCaravelConfig.fir@204759.4]
  wire  _T_501; // @[ICache.scala 230:115:shc.marmotcaravel.MarmotCaravelConfig.fir@204760.4]
  wire  _T_502; // @[ICache.scala 230:39:shc.marmotcaravel.MarmotCaravelConfig.fir@204761.4]
  wire  _T_504; // @[ICache.scala 230:9:shc.marmotcaravel.MarmotCaravelConfig.fir@204763.4]
  wire  _T_505; // @[ICache.scala 230:9:shc.marmotcaravel.MarmotCaravelConfig.fir@204764.4]
  wire  _T_518; // @[ICache.scala 247:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204774.4]
  wire  _T_520; // @[ICache.scala 248:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204776.4]
  wire  _T_523; // @[ICache.scala 248:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204779.4]
  wire [10:0] _GEN_82; // @[ICache.scala 249:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204780.4]
  wire [10:0] _T_524; // @[ICache.scala 249:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204780.4]
  wire [10:0] _GEN_83; // @[ICache.scala 249:79:shc.marmotcaravel.MarmotCaravelConfig.fir@204781.4]
  wire [10:0] _T_525; // @[ICache.scala 249:79:shc.marmotcaravel.MarmotCaravelConfig.fir@204781.4]
  wire [10:0] _T_526; // @[ICache.scala 246:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204782.4]
  wire [10:0] _T_527; // @[ICache.scala 246:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204783.4]
  wire [10:0] _T_528; // @[ICache.scala 246:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204784.4]
  wire [10:0] _T_529; // @[ICache.scala 251:22:shc.marmotcaravel.MarmotCaravelConfig.fir@204785.4]
  wire [10:0] _T_530; // @[ICache.scala 250:22:shc.marmotcaravel.MarmotCaravelConfig.fir@204786.4]
  wire  _T_535; // @[ICache.scala 255:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204792.6]
  wire  _T_554; // @[ICache.scala 258:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204807.4]
  wire  _T_555; // @[ICache.scala 258:46:shc.marmotcaravel.MarmotCaravelConfig.fir@204808.4]
  wire [31:0] s1_dout_0; // @[ICache.scala 259:71:shc.marmotcaravel.MarmotCaravelConfig.fir@204820.4]
  wire [31:0] s1_dout_1; // @[ICache.scala 259:71:shc.marmotcaravel.MarmotCaravelConfig.fir@204820.4]
  reg  s2_tag_hit_0; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204824.4]
  reg [31:0] _RAND_18;
  reg  s2_tag_hit_1; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204824.4]
  reg [31:0] _RAND_19;
  reg [31:0] s2_dout_0; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204835.4]
  reg [31:0] _RAND_20;
  reg [31:0] s2_dout_1; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204835.4]
  reg [31:0] _RAND_21;
  wire [31:0] _T_611; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@204840.4]
  wire [31:0] _T_612; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@204841.4]
  wire [31:0] s2_way_mux; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@204842.4]
  wire [1:0] _T_635; // @[ICache.scala 272:43:shc.marmotcaravel.MarmotCaravelConfig.fir@204852.4]
  wire  _T_636; // @[ICache.scala 272:50:shc.marmotcaravel.MarmotCaravelConfig.fir@204853.4]
  reg  s2_tl_error; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204854.4]
  reg [31:0] _RAND_22;
  reg [2:0] _T_671_opcode; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204906.4]
  reg [31:0] _RAND_23;
  wire  _T_672; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204917.4]
  wire  _T_673; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@204918.4]
  reg [3:0] _T_671_mask; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204906.4]
  reg [31:0] _RAND_24;
  reg [1:0] tl_in_d_bits_size; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204906.4]
  reg [31:0] _RAND_25;
  reg [6:0] tl_in_d_bits_source; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204906.4]
  reg [31:0] _RAND_26;
  wire  _T_679; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204929.8]
  wire  _T_680; // @[ICache.scala 129:43:shc.marmotcaravel.MarmotCaravelConfig.fir@204930.8]
  wire [7:0] _GEN_55; // @[ICache.scala 321:65:shc.marmotcaravel.MarmotCaravelConfig.fir@204935.8]
  wire [7:0] _GEN_57; // @[ICache.scala 319:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204928.6]
  wire [27:0] _GEN_60; // @[ICache.scala 315:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204923.4]
  wire [7:0] _GEN_62; // @[ICache.scala 315:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204923.4]
  wire  _T_699; // @[ICache.scala 340:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204956.4]
  reg [31:0] _T_701; // @[ICache.scala 340:44:shc.marmotcaravel.MarmotCaravelConfig.fir@204957.4]
  reg [31:0] _RAND_27;
  reg [31:0] _T_703; // @[ICache.scala 340:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204959.4]
  reg [31:0] _RAND_28;
  wire  _T_704; // @[ICache.scala 340:56:shc.marmotcaravel.MarmotCaravelConfig.fir@204961.4]
  wire  _T_705; // @[ICache.scala 340:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204962.4]
  wire  _T_707; // @[ICache.scala 340:15:shc.marmotcaravel.MarmotCaravelConfig.fir@204964.4]
  wire  _T_708; // @[ICache.scala 340:15:shc.marmotcaravel.MarmotCaravelConfig.fir@204965.4]
  wire  _T_720; // @[ICache.scala 352:53:shc.marmotcaravel.MarmotCaravelConfig.fir@204986.4]
  wire  _T_721; // @[ICache.scala 352:50:shc.marmotcaravel.MarmotCaravelConfig.fir@204987.4]
  wire  _T_722; // @[ICache.scala 352:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204988.4]
  wire  _T_734; // @[ICache.scala 356:72:shc.marmotcaravel.MarmotCaravelConfig.fir@205007.6]
  wire  _T_735; // @[ICache.scala 356:60:shc.marmotcaravel.MarmotCaravelConfig.fir@205008.6]
  wire  _T_736; // @[ICache.scala 356:32:shc.marmotcaravel.MarmotCaravelConfig.fir@205009.6]
  wire [31:0] _T_737; // @[ICache.scala 357:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205010.6]
  wire [7:0] _T_738; // @[ICache.scala 357:116:shc.marmotcaravel.MarmotCaravelConfig.fir@205011.6]
  wire  _T_741; // @[ICache.scala 356:72:shc.marmotcaravel.MarmotCaravelConfig.fir@205014.6]
  wire  _T_742; // @[ICache.scala 356:60:shc.marmotcaravel.MarmotCaravelConfig.fir@205015.6]
  wire  _T_743; // @[ICache.scala 356:32:shc.marmotcaravel.MarmotCaravelConfig.fir@205016.6]
  wire [31:0] _T_744; // @[ICache.scala 357:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205017.6]
  wire [7:0] _T_745; // @[ICache.scala 357:116:shc.marmotcaravel.MarmotCaravelConfig.fir@205018.6]
  wire  _T_748; // @[ICache.scala 356:72:shc.marmotcaravel.MarmotCaravelConfig.fir@205021.6]
  wire  _T_749; // @[ICache.scala 356:60:shc.marmotcaravel.MarmotCaravelConfig.fir@205022.6]
  wire  _T_750; // @[ICache.scala 356:32:shc.marmotcaravel.MarmotCaravelConfig.fir@205023.6]
  wire [31:0] _T_751; // @[ICache.scala 357:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205024.6]
  wire [7:0] _T_752; // @[ICache.scala 357:116:shc.marmotcaravel.MarmotCaravelConfig.fir@205025.6]
  wire  _T_755; // @[ICache.scala 356:72:shc.marmotcaravel.MarmotCaravelConfig.fir@205028.6]
  wire  _T_756; // @[ICache.scala 356:60:shc.marmotcaravel.MarmotCaravelConfig.fir@205029.6]
  wire  _T_757; // @[ICache.scala 356:32:shc.marmotcaravel.MarmotCaravelConfig.fir@205030.6]
  wire [31:0] _T_758; // @[ICache.scala 357:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205031.6]
  wire [7:0] _T_759; // @[ICache.scala 357:116:shc.marmotcaravel.MarmotCaravelConfig.fir@205032.6]
  wire [15:0] _T_760; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@205033.6]
  wire [15:0] _T_761; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@205034.6]
  wire [31:0] _T_762; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@205035.6]
  wire [25:0] _T_776; // @[ICache.scala 381:46:shc.marmotcaravel.MarmotCaravelConfig.fir@205074.4]
  wire [31:0] _GEN_89; // @[ICache.scala 381:63:shc.marmotcaravel.MarmotCaravelConfig.fir@205075.4]
  wire [31:0] tl_out_a_bits_address; // @[ICache.scala 381:63:shc.marmotcaravel.MarmotCaravelConfig.fir@205075.4]
  wire  _T_883; // @[ICache.scala 126:75:shc.marmotcaravel.MarmotCaravelConfig.fir@205193.4]
  wire  _T_886; // @[ICache.scala 126:91:shc.marmotcaravel.MarmotCaravelConfig.fir@205196.4]
  wire  _T_887; // @[ICache.scala 126:83:shc.marmotcaravel.MarmotCaravelConfig.fir@205197.4]
  wire  _T_888; // @[ICache.scala 416:27:shc.marmotcaravel.MarmotCaravelConfig.fir@205198.4]
  wire  _T_889; // @[ICache.scala 416:10:shc.marmotcaravel.MarmotCaravelConfig.fir@205199.4]
  wire  _T_891; // @[ICache.scala 416:9:shc.marmotcaravel.MarmotCaravelConfig.fir@205201.4]
  wire  _T_892; // @[ICache.scala 416:9:shc.marmotcaravel.MarmotCaravelConfig.fir@205202.4]
  wire  _T_893; // @[ICache.scala 418:9:shc.marmotcaravel.MarmotCaravelConfig.fir@205207.4]
  wire  _T_894; // @[ICache.scala 424:32:shc.marmotcaravel.MarmotCaravelConfig.fir@205218.4]
  wire  _T_895; // @[ICache.scala 424:46:shc.marmotcaravel.MarmotCaravelConfig.fir@205219.4]
  wire  _T_896; // @[ICache.scala 424:63:shc.marmotcaravel.MarmotCaravelConfig.fir@205220.4]
  wire  _T_897; // @[ICache.scala 424:80:shc.marmotcaravel.MarmotCaravelConfig.fir@205221.4]
  wire  _T_898; // @[ICache.scala 424:117:shc.marmotcaravel.MarmotCaravelConfig.fir@205222.4]
  wire  _T_899; // @[ICache.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205223.4]
  tag_array tag_array ( // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204615.4]
    .RW0_addr(tag_array_RW0_addr),
    .RW0_en(tag_array_RW0_en),
    .RW0_clk(tag_array_RW0_clk),
    .RW0_wmode(tag_array_RW0_wmode),
    .RW0_wdata_0(tag_array_RW0_wdata_0),
    .RW0_wdata_1(tag_array_RW0_wdata_1),
    .RW0_rdata_0(tag_array_RW0_rdata_0),
    .RW0_rdata_1(tag_array_RW0_rdata_1),
    .RW0_wmask_0(tag_array_RW0_wmask_0),
    .RW0_wmask_1(tag_array_RW0_wmask_1),
    .tag_array_ext_RW0_addr(tag_array_ext_RW0_addr),
    .tag_array_ext_RW0_en(tag_array_ext_RW0_en),
    .tag_array_ext_RW0_clk(tag_array_ext_RW0_clk),
    .tag_array_ext_RW0_wmode(tag_array_ext_RW0_wmode),
    .tag_array_ext_RW0_wdata(tag_array_ext_RW0_wdata),
    .tag_array_ext_RW0_rdata(tag_array_ext_RW0_rdata),
    .tag_array_ext_RW0_wmask(tag_array_ext_RW0_wmask)
  );
  data_arrays_0_0 data_arrays_0 ( // @[DescribedSRAM.scala 23:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204769.4]
    .RW0_addr(data_arrays_0_RW0_addr),
    .RW0_en(data_arrays_0_RW0_en),
    .RW0_clk(data_arrays_0_RW0_clk),
    .RW0_wmode(data_arrays_0_RW0_wmode),
    .RW0_wdata_0(data_arrays_0_RW0_wdata_0),
    .RW0_wdata_1(data_arrays_0_RW0_wdata_1),
    .RW0_rdata_0(data_arrays_0_RW0_rdata_0),
    .RW0_rdata_1(data_arrays_0_RW0_rdata_1),
    .RW0_wmask_0(data_arrays_0_RW0_wmask_0),
    .RW0_wmask_1(data_arrays_0_RW0_wmask_1),
    .data_arrays_0_0_ext_RW0_addr(data_arrays_0_0_ext_RW0_addr),
    .data_arrays_0_0_ext_RW0_en(data_arrays_0_0_ext_RW0_en),
    .data_arrays_0_0_ext_RW0_clk(data_arrays_0_0_ext_RW0_clk),
    .data_arrays_0_0_ext_RW0_wmode(data_arrays_0_0_ext_RW0_wmode),
    .data_arrays_0_0_ext_RW0_wdata(data_arrays_0_0_ext_RW0_wdata),
    .data_arrays_0_0_ext_RW0_rdata(data_arrays_0_0_ext_RW0_rdata),
    .data_arrays_0_0_ext_RW0_wmask(data_arrays_0_0_ext_RW0_wmask)
  );
  assign _T_663 = auto_master_out_d_valid | s1_slaveValid; // @[ICache.scala 312:40:shc.marmotcaravel.MarmotCaravelConfig.fir@204898.4]
  assign _T_664 = _T_663 | s2_slaveValid; // @[ICache.scala 312:57:shc.marmotcaravel.MarmotCaravelConfig.fir@204899.4]
  assign _T_665 = _T_664 | s3_slaveValid; // @[ICache.scala 312:74:shc.marmotcaravel.MarmotCaravelConfig.fir@204900.4]
  assign _T_666 = _T_665 | tl_in_d_valid; // @[ICache.scala 312:91:shc.marmotcaravel.MarmotCaravelConfig.fir@204901.4]
  assign _T_667 = io_clock_enabled == 1'h0; // @[ICache.scala 312:107:shc.marmotcaravel.MarmotCaravelConfig.fir@204902.4]
  assign _T_668 = _T_666 | _T_667; // @[ICache.scala 312:104:shc.marmotcaravel.MarmotCaravelConfig.fir@204903.4]
  assign tl_in_a_ready = _T_668 == 1'h0; // @[ICache.scala 312:23:shc.marmotcaravel.MarmotCaravelConfig.fir@204904.4]
  assign s0_slaveValid = tl_in_a_ready & auto_slave_in_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204502.4]
  assign _T_420 = io_s1_paddr[12:6]; // @[ICache.scala 216:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204673.4]
  assign _T_443 = {1'h0,_T_420}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204696.4]
  assign _T_444 = vb_array >> _T_443; // @[ICache.scala 222:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204697.4]
  assign _T_445 = _T_444[0]; // @[ICache.scala 222:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204698.4]
  assign _T_446 = s1_slaveValid == 1'h0; // @[ICache.scala 222:51:shc.marmotcaravel.MarmotCaravelConfig.fir@204699.4]
  assign _T_447 = _T_445 & _T_446; // @[ICache.scala 222:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204700.4]
  assign _T_449 = tag_array_RW0_rdata_0[18:0]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204702.4]
  assign _T_421 = io_s1_paddr[31:13]; // @[ICache.scala 217:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204674.4]
  assign _T_450 = _T_449 == _T_421; // @[ICache.scala 225:33:shc.marmotcaravel.MarmotCaravelConfig.fir@204703.4]
  assign _T_451 = _T_447 & _T_450; // @[ICache.scala 225:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204704.4]
  assign _T_423 = s1s3_slaveAddr[13:6]; // @[ICache.scala 130:40:shc.marmotcaravel.MarmotCaravelConfig.fir@204676.4]
  assign _GEN_75 = {{1'd0}, scratchpadMax}; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204677.4]
  assign _T_424 = _T_423 <= _GEN_75; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204677.4]
  assign _T_425 = scratchpadOn & _T_424; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204678.4]
  assign _T_426 = s1s3_slaveAddr[13]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204679.4]
  assign _T_427 = _T_426 == 1'h0; // @[ICache.scala 220:91:shc.marmotcaravel.MarmotCaravelConfig.fir@204680.4]
  assign _T_428 = _T_425 & _T_427; // @[ICache.scala 220:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204681.4]
  assign _T_429 = io_s1_paddr >= 32'h8000000; // @[ICache.scala 126:75:shc.marmotcaravel.MarmotCaravelConfig.fir@204682.4]
  assign _T_432 = io_s1_paddr < 32'h8004000; // @[ICache.scala 126:91:shc.marmotcaravel.MarmotCaravelConfig.fir@204685.4]
  assign _T_433 = _T_429 & _T_432; // @[ICache.scala 126:83:shc.marmotcaravel.MarmotCaravelConfig.fir@204686.4]
  assign _T_434 = io_s1_paddr[13:6]; // @[ICache.scala 127:90:shc.marmotcaravel.MarmotCaravelConfig.fir@204687.4]
  assign _T_435 = _T_434 <= _GEN_75; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204688.4]
  assign _T_436 = scratchpadOn & _T_435; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204689.4]
  assign _T_437 = _T_433 & _T_436; // @[ICache.scala 127:66:shc.marmotcaravel.MarmotCaravelConfig.fir@204690.4]
  assign _T_438 = io_s1_paddr[13]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204691.4]
  assign _T_439 = _T_438 == 1'h0; // @[ICache.scala 221:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204692.4]
  assign _T_440 = _T_437 & _T_439; // @[ICache.scala 221:39:shc.marmotcaravel.MarmotCaravelConfig.fir@204693.4]
  assign _T_441 = s1_slaveValid ? _T_428 : _T_440; // @[ICache.scala 219:10:shc.marmotcaravel.MarmotCaravelConfig.fir@204694.4]
  assign s1_tag_hit_0 = _T_451 | _T_441; // @[ICache.scala 228:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204711.4]
  assign _T_480 = {1'h1,_T_420}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204736.4]
  assign _T_481 = vb_array >> _T_480; // @[ICache.scala 222:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204737.4]
  assign _T_482 = _T_481[0]; // @[ICache.scala 222:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204738.4]
  assign _T_484 = _T_482 & _T_446; // @[ICache.scala 222:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204740.4]
  assign _T_486 = tag_array_RW0_rdata_1[18:0]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204742.4]
  assign _T_487 = _T_486 == _T_421; // @[ICache.scala 225:33:shc.marmotcaravel.MarmotCaravelConfig.fir@204743.4]
  assign s1_tag_hit_1 = _T_484 & _T_487; // @[ICache.scala 225:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204744.4]
  assign _T_270 = s1_tag_hit_0 | s1_tag_hit_1; // @[ICache.scala 138:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204512.4]
  assign _T_276 = s1_slaveValid ? 1'h1 : _T_433; // @[ICache.scala 138:46:shc.marmotcaravel.MarmotCaravelConfig.fir@204518.4]
  assign s1_hit = _T_270 | _T_276; // @[ICache.scala 138:40:shc.marmotcaravel.MarmotCaravelConfig.fir@204519.4]
  assign _T_277 = io_s1_kill == 1'h0; // @[ICache.scala 140:38:shc.marmotcaravel.MarmotCaravelConfig.fir@204520.4]
  assign _T_278 = s1_valid & _T_277; // @[ICache.scala 140:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204521.4]
  assign _T_287 = s2_hit == 1'h0; // @[ICache.scala 148:29:shc.marmotcaravel.MarmotCaravelConfig.fir@204533.4]
  assign _T_288 = s2_valid & _T_287; // @[ICache.scala 148:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204534.4]
  assign _T_289 = io_s2_kill == 1'h0; // @[ICache.scala 148:40:shc.marmotcaravel.MarmotCaravelConfig.fir@204535.4]
  assign s2_miss = _T_288 & _T_289; // @[ICache.scala 148:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204536.4]
  assign s2_request_refill = s2_miss & _T_292; // @[ICache.scala 150:35:shc.marmotcaravel.MarmotCaravelConfig.fir@204541.4]
  assign refill_fire = auto_master_out_a_ready & s2_request_refill; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204529.4]
  assign _T_290 = s2_miss | refill_valid; // @[ICache.scala 149:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204537.4]
  assign s1_can_request_refill = _T_290 == 1'h0; // @[ICache.scala 149:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204538.4]
  assign _T_293 = s1_valid & s1_can_request_refill; // @[ICache.scala 151:53:shc.marmotcaravel.MarmotCaravelConfig.fir@204542.4]
  assign refill_tag = refill_addr[31:13]; // @[ICache.scala 152:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204547.4]
  assign refill_idx = refill_addr[12:6]; // @[ICache.scala 153:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204548.4]
  assign tl_out_d_ready = s3_slaveValid == 1'h0; // @[ICache.scala 163:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204582.4]
  assign _T_295 = tl_out_d_ready & auto_master_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204549.4]
  assign _T_296 = auto_master_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204550.4]
  assign refill_one_beat = _T_295 & _T_296; // @[ICache.scala 154:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204551.4]
  assign _T_297 = refill_one_beat | s0_slaveValid; // @[ICache.scala 156:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204552.4]
  assign _T_298 = _T_297 | s3_slaveValid; // @[ICache.scala 156:54:shc.marmotcaravel.MarmotCaravelConfig.fir@204553.4]
  assign s0_valid = io_req_ready & io_req_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204556.4]
  assign _T_302 = 27'hfff << auto_master_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204560.4]
  assign _T_303 = _T_302[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@204561.4]
  assign _T_304 = ~ _T_303; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@204562.4]
  assign _T_305 = _T_304[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@204563.4]
  assign _T_307 = _T_296 ? _T_305 : 10'h0; // @[Edges.scala 221:14:shc.marmotcaravel.MarmotCaravelConfig.fir@204565.4]
  assign _T_310 = _T_309 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@204567.4]
  assign _T_311 = $unsigned(_T_310); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@204568.4]
  assign _T_312 = _T_311[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@204569.4]
  assign _T_313 = _T_309 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204570.4]
  assign _T_314 = _T_309 == 10'h1; // @[Edges.scala 232:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204571.4]
  assign _T_315 = _T_307 == 10'h0; // @[Edges.scala 232:47:shc.marmotcaravel.MarmotCaravelConfig.fir@204572.4]
  assign _T_316 = _T_314 | _T_315; // @[Edges.scala 232:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204573.4]
  assign d_done = _T_316 & _T_295; // @[Edges.scala 233:22:shc.marmotcaravel.MarmotCaravelConfig.fir@204574.4]
  assign _T_317 = ~ _T_312; // @[Edges.scala 234:27:shc.marmotcaravel.MarmotCaravelConfig.fir@204575.4]
  assign refill_cnt = _T_307 & _T_317; // @[Edges.scala 234:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204576.4]
  assign refill_done = refill_one_beat & d_done; // @[ICache.scala 162:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204581.4]
  assign _T_322 = _T_321[0]; // @[LFSR.scala 23:40:shc.marmotcaravel.MarmotCaravelConfig.fir@204586.6]
  assign _T_323 = _T_321[2]; // @[LFSR.scala 23:48:shc.marmotcaravel.MarmotCaravelConfig.fir@204587.6]
  assign _T_324 = _T_322 ^ _T_323; // @[LFSR.scala 23:43:shc.marmotcaravel.MarmotCaravelConfig.fir@204588.6]
  assign _T_325 = _T_321[3]; // @[LFSR.scala 23:56:shc.marmotcaravel.MarmotCaravelConfig.fir@204589.6]
  assign _T_326 = _T_324 ^ _T_325; // @[LFSR.scala 23:51:shc.marmotcaravel.MarmotCaravelConfig.fir@204590.6]
  assign _T_327 = _T_321[5]; // @[LFSR.scala 23:64:shc.marmotcaravel.MarmotCaravelConfig.fir@204591.6]
  assign _T_328 = _T_326 ^ _T_327; // @[LFSR.scala 23:59:shc.marmotcaravel.MarmotCaravelConfig.fir@204592.6]
  assign _T_329 = _T_321[15:1]; // @[LFSR.scala 23:73:shc.marmotcaravel.MarmotCaravelConfig.fir@204593.6]
  assign _T_330 = {_T_328,_T_329}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204594.6]
  assign _T_333 = {_T_322,refill_idx}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204599.4]
  assign _T_334 = _T_333 <= _GEN_75; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204600.4]
  assign _T_335 = scratchpadOn & _T_334; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204601.4]
  assign repl_way = _T_322 | _T_335; // @[ICache.scala 172:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204603.4]
  assign _T_337 = {repl_way,refill_idx}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@204604.4]
  assign _T_338 = _T_337 <= _GEN_75; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204605.4]
  assign _T_339 = scratchpadOn & _T_338; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204606.4]
  assign _T_340 = _T_339 == 1'h0; // @[ICache.scala 174:12:shc.marmotcaravel.MarmotCaravelConfig.fir@204607.4]
  assign _T_342 = _T_340 | reset; // @[ICache.scala 174:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204609.4]
  assign _T_343 = _T_342 == 1'h0; // @[ICache.scala 174:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204610.4]
  assign _T_352 = io_req_bits_addr[12:6]; // @[ICache.scala 185:42:shc.marmotcaravel.MarmotCaravelConfig.fir@204616.4]
  assign _T_353 = refill_done == 1'h0; // @[ICache.scala 185:70:shc.marmotcaravel.MarmotCaravelConfig.fir@204617.4]
  assign _T_354 = _T_353 & s0_valid; // @[ICache.scala 185:83:shc.marmotcaravel.MarmotCaravelConfig.fir@204618.4]
  assign _T_388 = invalidated == 1'h0; // @[ICache.scala 198:75:shc.marmotcaravel.MarmotCaravelConfig.fir@204648.6]
  assign _T_389 = refill_done & _T_388; // @[ICache.scala 198:72:shc.marmotcaravel.MarmotCaravelConfig.fir@204649.6]
  assign _T_390 = 256'h1 << _T_337; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204650.6]
  assign _T_391 = vb_array | _T_390; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204651.6]
  assign _T_392 = ~ vb_array; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204652.6]
  assign _T_393 = _T_392 | _T_390; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204653.6]
  assign _T_394 = ~ _T_393; // @[ICache.scala 198:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204654.6]
  assign _T_677 = auto_slave_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204926.6]
  assign _T_678 = _T_677 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@204927.6]
  assign _T_681 = auto_slave_in_a_bits_address[13:6]; // @[ICache.scala 130:40:shc.marmotcaravel.MarmotCaravelConfig.fir@204931.8]
  assign _T_682 = _T_681 <= _GEN_75; // @[ICache.scala 122:77:shc.marmotcaravel.MarmotCaravelConfig.fir@204932.8]
  assign _T_683 = scratchpadOn & _T_682; // @[ICache.scala 122:69:shc.marmotcaravel.MarmotCaravelConfig.fir@204933.8]
  assign _T_684 = _T_683 == 1'h0; // @[ICache.scala 321:19:shc.marmotcaravel.MarmotCaravelConfig.fir@204934.8]
  assign _GEN_56 = _T_684 ? 1'h1 : io_invalidate; // @[ICache.scala 321:65:shc.marmotcaravel.MarmotCaravelConfig.fir@204935.8]
  assign _GEN_58 = _T_678 ? _GEN_56 : io_invalidate; // @[ICache.scala 319:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204928.6]
  assign invalidate = s0_slaveValid ? _GEN_58 : io_invalidate; // @[ICache.scala 315:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204923.4]
  assign _T_448 = tag_array_RW0_rdata_0[19]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204701.4]
  assign s1_tl_error_0 = _T_451 & _T_448; // @[ICache.scala 227:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204709.4]
  assign _T_485 = tag_array_RW0_rdata_1[19]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204741.4]
  assign s1_tl_error_1 = s1_tag_hit_1 & _T_485; // @[ICache.scala 227:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204749.4]
  assign _T_494 = s1_valid | s1_slaveValid; // @[ICache.scala 230:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204753.4]
  assign _T_495 = _T_494 == 1'h0; // @[ICache.scala 230:10:shc.marmotcaravel.MarmotCaravelConfig.fir@204754.4]
  assign _T_500 = s1_tag_hit_0 + s1_tag_hit_1; // @[Bitwise.scala 48:55:shc.marmotcaravel.MarmotCaravelConfig.fir@204759.4]
  assign _T_501 = _T_500 <= 2'h1; // @[ICache.scala 230:115:shc.marmotcaravel.MarmotCaravelConfig.fir@204760.4]
  assign _T_502 = _T_495 | _T_501; // @[ICache.scala 230:39:shc.marmotcaravel.MarmotCaravelConfig.fir@204761.4]
  assign _T_504 = _T_502 | reset; // @[ICache.scala 230:9:shc.marmotcaravel.MarmotCaravelConfig.fir@204763.4]
  assign _T_505 = _T_504 == 1'h0; // @[ICache.scala 230:9:shc.marmotcaravel.MarmotCaravelConfig.fir@204764.4]
  assign _T_518 = s0_valid | s0_slaveValid; // @[ICache.scala 247:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204774.4]
  assign _T_520 = refill_one_beat & _T_388; // @[ICache.scala 248:32:shc.marmotcaravel.MarmotCaravelConfig.fir@204776.4]
  assign _T_523 = _T_520 | s3_slaveValid; // @[ICache.scala 248:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204779.4]
  assign _GEN_82 = {{4'd0}, refill_idx}; // @[ICache.scala 249:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204780.4]
  assign _T_524 = _GEN_82 << 4; // @[ICache.scala 249:52:shc.marmotcaravel.MarmotCaravelConfig.fir@204780.4]
  assign _GEN_83 = {{1'd0}, refill_cnt}; // @[ICache.scala 249:79:shc.marmotcaravel.MarmotCaravelConfig.fir@204781.4]
  assign _T_525 = _T_524 | _GEN_83; // @[ICache.scala 249:79:shc.marmotcaravel.MarmotCaravelConfig.fir@204781.4]
  assign _T_526 = s1s3_slaveAddr[12:2]; // @[ICache.scala 246:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204782.4]
  assign _T_527 = auto_slave_in_a_bits_address[12:2]; // @[ICache.scala 246:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204783.4]
  assign _T_528 = io_req_bits_addr[12:2]; // @[ICache.scala 246:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204784.4]
  assign _T_529 = s0_slaveValid ? _T_527 : _T_528; // @[ICache.scala 251:22:shc.marmotcaravel.MarmotCaravelConfig.fir@204785.4]
  assign _T_530 = s3_slaveValid ? _T_526 : _T_529; // @[ICache.scala 250:22:shc.marmotcaravel.MarmotCaravelConfig.fir@204786.4]
  assign _T_535 = s3_slaveValid ? _T_426 : repl_way; // @[ICache.scala 255:20:shc.marmotcaravel.MarmotCaravelConfig.fir@204792.6]
  assign _T_554 = _T_523 == 1'h0; // @[ICache.scala 258:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204807.4]
  assign _T_555 = _T_554 & _T_518; // @[ICache.scala 258:46:shc.marmotcaravel.MarmotCaravelConfig.fir@204808.4]
  assign s1_dout_0 = data_arrays_0_RW0_rdata_0; // @[ICache.scala 259:71:shc.marmotcaravel.MarmotCaravelConfig.fir@204820.4]
  assign s1_dout_1 = data_arrays_0_RW0_rdata_1; // @[ICache.scala 259:71:shc.marmotcaravel.MarmotCaravelConfig.fir@204820.4]
  assign _T_611 = s2_tag_hit_0 ? s2_dout_0 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@204840.4]
  assign _T_612 = s2_tag_hit_1 ? s2_dout_1 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@204841.4]
  assign s2_way_mux = _T_611 | _T_612; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@204842.4]
  assign _T_635 = {s1_tl_error_1,s1_tl_error_0}; // @[ICache.scala 272:43:shc.marmotcaravel.MarmotCaravelConfig.fir@204852.4]
  assign _T_636 = _T_635 != 2'h0; // @[ICache.scala 272:50:shc.marmotcaravel.MarmotCaravelConfig.fir@204853.4]
  assign _T_672 = _T_671_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@204917.4]
  assign _T_673 = _T_672 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@204918.4]
  assign _T_679 = auto_slave_in_a_bits_address[13]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@204929.8]
  assign _T_680 = _T_679 < 1'h1; // @[ICache.scala 129:43:shc.marmotcaravel.MarmotCaravelConfig.fir@204930.8]
  assign _GEN_55 = _T_684 ? _T_681 : {{1'd0}, scratchpadMax}; // @[ICache.scala 321:65:shc.marmotcaravel.MarmotCaravelConfig.fir@204935.8]
  assign _GEN_57 = _T_678 ? _GEN_55 : {{1'd0}, scratchpadMax}; // @[ICache.scala 319:41:shc.marmotcaravel.MarmotCaravelConfig.fir@204928.6]
  assign _GEN_60 = s0_slaveValid ? auto_slave_in_a_bits_address : {{14'd0}, s1s3_slaveAddr}; // @[ICache.scala 315:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204923.4]
  assign _GEN_62 = s0_slaveValid ? _GEN_57 : {{1'd0}, scratchpadMax}; // @[ICache.scala 315:30:shc.marmotcaravel.MarmotCaravelConfig.fir@204923.4]
  assign _T_699 = s2_valid == 1'h0; // @[ICache.scala 340:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204956.4]
  assign _T_704 = _T_703 == io_s2_vaddr; // @[ICache.scala 340:56:shc.marmotcaravel.MarmotCaravelConfig.fir@204961.4]
  assign _T_705 = _T_699 | _T_704; // @[ICache.scala 340:26:shc.marmotcaravel.MarmotCaravelConfig.fir@204962.4]
  assign _T_707 = _T_705 | reset; // @[ICache.scala 340:15:shc.marmotcaravel.MarmotCaravelConfig.fir@204964.4]
  assign _T_708 = _T_707 == 1'h0; // @[ICache.scala 340:15:shc.marmotcaravel.MarmotCaravelConfig.fir@204965.4]
  assign _T_720 = auto_slave_in_d_ready == 1'h0; // @[ICache.scala 352:53:shc.marmotcaravel.MarmotCaravelConfig.fir@204986.4]
  assign _T_721 = tl_in_d_valid & _T_720; // @[ICache.scala 352:50:shc.marmotcaravel.MarmotCaravelConfig.fir@204987.4]
  assign _T_722 = s2_slaveValid | _T_721; // @[ICache.scala 352:36:shc.marmotcaravel.MarmotCaravelConfig.fir@204988.4]
  assign _T_734 = _T_671_mask[0]; // @[ICache.scala 356:72:shc.marmotcaravel.MarmotCaravelConfig.fir@205007.6]
  assign _T_735 = _T_673 & _T_734; // @[ICache.scala 356:60:shc.marmotcaravel.MarmotCaravelConfig.fir@205008.6]
  assign _T_736 = _T_735 == 1'h0; // @[ICache.scala 356:32:shc.marmotcaravel.MarmotCaravelConfig.fir@205009.6]
  assign _T_737 = _T_736 ? s2_way_mux : s1s3_slaveData; // @[ICache.scala 357:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205010.6]
  assign _T_738 = _T_737[7:0]; // @[ICache.scala 357:116:shc.marmotcaravel.MarmotCaravelConfig.fir@205011.6]
  assign _T_741 = _T_671_mask[1]; // @[ICache.scala 356:72:shc.marmotcaravel.MarmotCaravelConfig.fir@205014.6]
  assign _T_742 = _T_673 & _T_741; // @[ICache.scala 356:60:shc.marmotcaravel.MarmotCaravelConfig.fir@205015.6]
  assign _T_743 = _T_742 == 1'h0; // @[ICache.scala 356:32:shc.marmotcaravel.MarmotCaravelConfig.fir@205016.6]
  assign _T_744 = _T_743 ? s2_way_mux : s1s3_slaveData; // @[ICache.scala 357:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205017.6]
  assign _T_745 = _T_744[15:8]; // @[ICache.scala 357:116:shc.marmotcaravel.MarmotCaravelConfig.fir@205018.6]
  assign _T_748 = _T_671_mask[2]; // @[ICache.scala 356:72:shc.marmotcaravel.MarmotCaravelConfig.fir@205021.6]
  assign _T_749 = _T_673 & _T_748; // @[ICache.scala 356:60:shc.marmotcaravel.MarmotCaravelConfig.fir@205022.6]
  assign _T_750 = _T_749 == 1'h0; // @[ICache.scala 356:32:shc.marmotcaravel.MarmotCaravelConfig.fir@205023.6]
  assign _T_751 = _T_750 ? s2_way_mux : s1s3_slaveData; // @[ICache.scala 357:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205024.6]
  assign _T_752 = _T_751[23:16]; // @[ICache.scala 357:116:shc.marmotcaravel.MarmotCaravelConfig.fir@205025.6]
  assign _T_755 = _T_671_mask[3]; // @[ICache.scala 356:72:shc.marmotcaravel.MarmotCaravelConfig.fir@205028.6]
  assign _T_756 = _T_673 & _T_755; // @[ICache.scala 356:60:shc.marmotcaravel.MarmotCaravelConfig.fir@205029.6]
  assign _T_757 = _T_756 == 1'h0; // @[ICache.scala 356:32:shc.marmotcaravel.MarmotCaravelConfig.fir@205030.6]
  assign _T_758 = _T_757 ? s2_way_mux : s1s3_slaveData; // @[ICache.scala 357:62:shc.marmotcaravel.MarmotCaravelConfig.fir@205031.6]
  assign _T_759 = _T_758[31:24]; // @[ICache.scala 357:116:shc.marmotcaravel.MarmotCaravelConfig.fir@205032.6]
  assign _T_760 = {_T_745,_T_738}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@205033.6]
  assign _T_761 = {_T_759,_T_752}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@205034.6]
  assign _T_762 = {_T_761,_T_760}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@205035.6]
  assign _T_776 = refill_addr[31:6]; // @[ICache.scala 381:46:shc.marmotcaravel.MarmotCaravelConfig.fir@205074.4]
  assign _GEN_89 = {{6'd0}, _T_776}; // @[ICache.scala 381:63:shc.marmotcaravel.MarmotCaravelConfig.fir@205075.4]
  assign tl_out_a_bits_address = _GEN_89 << 6; // @[ICache.scala 381:63:shc.marmotcaravel.MarmotCaravelConfig.fir@205075.4]
  assign _T_883 = tl_out_a_bits_address >= 32'h8000000; // @[ICache.scala 126:75:shc.marmotcaravel.MarmotCaravelConfig.fir@205193.4]
  assign _T_886 = tl_out_a_bits_address < 32'h8004000; // @[ICache.scala 126:91:shc.marmotcaravel.MarmotCaravelConfig.fir@205196.4]
  assign _T_887 = _T_883 & _T_886; // @[ICache.scala 126:83:shc.marmotcaravel.MarmotCaravelConfig.fir@205197.4]
  assign _T_888 = s2_request_refill & _T_887; // @[ICache.scala 416:27:shc.marmotcaravel.MarmotCaravelConfig.fir@205198.4]
  assign _T_889 = _T_888 == 1'h0; // @[ICache.scala 416:10:shc.marmotcaravel.MarmotCaravelConfig.fir@205199.4]
  assign _T_891 = _T_889 | reset; // @[ICache.scala 416:9:shc.marmotcaravel.MarmotCaravelConfig.fir@205201.4]
  assign _T_892 = _T_891 == 1'h0; // @[ICache.scala 416:9:shc.marmotcaravel.MarmotCaravelConfig.fir@205202.4]
  assign _T_893 = refill_valid == 1'h0; // @[ICache.scala 418:9:shc.marmotcaravel.MarmotCaravelConfig.fir@205207.4]
  assign _T_894 = auto_slave_in_a_valid | tl_in_d_valid; // @[ICache.scala 424:32:shc.marmotcaravel.MarmotCaravelConfig.fir@205218.4]
  assign _T_895 = _T_894 | s1_slaveValid; // @[ICache.scala 424:46:shc.marmotcaravel.MarmotCaravelConfig.fir@205219.4]
  assign _T_896 = _T_895 | s2_slaveValid; // @[ICache.scala 424:63:shc.marmotcaravel.MarmotCaravelConfig.fir@205220.4]
  assign _T_897 = _T_896 | s3_slaveValid; // @[ICache.scala 424:80:shc.marmotcaravel.MarmotCaravelConfig.fir@205221.4]
  assign _T_898 = _T_897 | s1_valid; // @[ICache.scala 424:117:shc.marmotcaravel.MarmotCaravelConfig.fir@205222.4]
  assign _T_899 = _T_898 | s2_valid; // @[ICache.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205223.4]
  assign auto_slave_in_a_ready = _T_668 == 1'h0; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204498.4]
  assign auto_slave_in_d_valid = tl_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204498.4]
  assign auto_slave_in_d_bits_opcode = _T_673 ? 3'h0 : 3'h1; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204498.4]
  assign auto_slave_in_d_bits_size = tl_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204498.4]
  assign auto_slave_in_d_bits_source = tl_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204498.4]
  assign auto_slave_in_d_bits_data = s1s3_slaveData; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@204498.4]
  assign auto_master_out_a_valid = s2_miss & _T_292; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204497.4]
  assign auto_master_out_a_bits_address = _GEN_89 << 6; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204497.4]
  assign auto_master_out_d_ready = s3_slaveValid == 1'h0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@204497.4]
  assign io_req_ready = _T_298 == 1'h0; // @[ICache.scala 156:16:shc.marmotcaravel.MarmotCaravelConfig.fir@204555.4]
  assign io_resp_valid = s2_valid & s2_hit; // @[ICache.scala 299:21:shc.marmotcaravel.MarmotCaravelConfig.fir@204896.4]
  assign io_resp_bits_data = _T_611 | _T_612; // @[ICache.scala 296:25:shc.marmotcaravel.MarmotCaravelConfig.fir@204892.4]
  assign io_resp_bits_ae = s2_tl_error; // @[ICache.scala 297:23:shc.marmotcaravel.MarmotCaravelConfig.fir@204893.4]
  assign io_keep_clock_enabled = _T_899 | refill_valid; // @[ICache.scala 423:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205227.4]
  assign tag_array_RW0_wdata_0 = {auto_master_out_d_bits_corrupt,refill_tag}; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204639.8]
  assign tag_array_RW0_wdata_1 = {auto_master_out_d_bits_corrupt,refill_tag}; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204642.8]
  assign tag_array_RW0_wmask_0 = repl_way == 1'h0; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204637.6 :shc.marmotcaravel.MarmotCaravelConfig.fir@204639.8]
  assign tag_array_RW0_wmask_1 = _T_322 | _T_335; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204637.6 :shc.marmotcaravel.MarmotCaravelConfig.fir@204642.8]
  assign data_arrays_0_RW0_wdata_0 = s3_slaveValid ? s1s3_slaveData : auto_master_out_d_bits_data; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204801.8]
  assign data_arrays_0_RW0_wdata_1 = s3_slaveValid ? s1s3_slaveData : auto_master_out_d_bits_data; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204804.8]
  assign data_arrays_0_RW0_wmask_0 = _T_535 == 1'h0; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204799.6 :shc.marmotcaravel.MarmotCaravelConfig.fir@204801.8]
  assign data_arrays_0_RW0_wmask_1 = s3_slaveValid ? _T_426 : repl_way; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@204799.6 :shc.marmotcaravel.MarmotCaravelConfig.fir@204804.8]
  assign tag_array_RW0_wmode = refill_one_beat & d_done;
  assign tag_array_RW0_clk = clock;
  assign tag_array_RW0_en = _T_354 | refill_done;
  assign tag_array_RW0_addr = refill_done ? refill_idx : _T_352;
  assign data_arrays_0_RW0_wmode = _T_520 | s3_slaveValid;
  assign data_arrays_0_RW0_clk = clock;
  assign data_arrays_0_RW0_en = _T_555 | _T_523;
  assign data_arrays_0_RW0_addr = refill_one_beat ? _T_525 : _T_530;
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  scratchpadOn = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  scratchpadMax = _RAND_1[6:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  s1_slaveValid = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  s2_slaveValid = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  s3_slaveValid = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  tl_in_d_valid = _RAND_5[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  s1_valid = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {8{`RANDOM}};
  vb_array = _RAND_7[255:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  s1s3_slaveAddr = _RAND_8[13:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  s2_valid = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  s2_hit = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  invalidated = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  refill_valid = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_292 = _RAND_13[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  refill_addr = _RAND_14[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_309 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_321 = _RAND_16[15:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_17 = {1{`RANDOM}};
  s1s3_slaveData = _RAND_17[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_18 = {1{`RANDOM}};
  s2_tag_hit_0 = _RAND_18[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_19 = {1{`RANDOM}};
  s2_tag_hit_1 = _RAND_19[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_20 = {1{`RANDOM}};
  s2_dout_0 = _RAND_20[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_21 = {1{`RANDOM}};
  s2_dout_1 = _RAND_21[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_22 = {1{`RANDOM}};
  s2_tl_error = _RAND_22[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_23 = {1{`RANDOM}};
  _T_671_opcode = _RAND_23[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_24 = {1{`RANDOM}};
  _T_671_mask = _RAND_24[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_25 = {1{`RANDOM}};
  tl_in_d_bits_size = _RAND_25[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_26 = {1{`RANDOM}};
  tl_in_d_bits_source = _RAND_26[6:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_27 = {1{`RANDOM}};
  _T_701 = _RAND_27[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_28 = {1{`RANDOM}};
  _T_703 = _RAND_28[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      scratchpadOn <= 1'h0;
    end else begin
      if (s0_slaveValid) begin
        if (_T_678) begin
          scratchpadOn <= _T_680;
        end
      end
    end
    scratchpadMax <= _GEN_62[6:0];
    if (reset) begin
      s1_slaveValid <= 1'h0;
    end else begin
      s1_slaveValid <= s0_slaveValid;
    end
    if (reset) begin
      s2_slaveValid <= 1'h0;
    end else begin
      s2_slaveValid <= s1_slaveValid;
    end
    if (s2_slaveValid) begin
      s3_slaveValid <= _T_673;
    end else begin
      s3_slaveValid <= 1'h0;
    end
    if (reset) begin
      tl_in_d_valid <= 1'h0;
    end else begin
      tl_in_d_valid <= _T_722;
    end
    if (reset) begin
      s1_valid <= 1'h0;
    end else begin
      s1_valid <= s0_valid;
    end
    if (reset) begin
      vb_array <= 256'h0;
    end else begin
      if (invalidate) begin
        vb_array <= 256'h0;
      end else begin
        if (refill_one_beat) begin
          if (_T_389) begin
            vb_array <= _T_391;
          end else begin
            vb_array <= _T_394;
          end
        end
      end
    end
    s1s3_slaveAddr <= _GEN_60[13:0];
    if (reset) begin
      s2_valid <= 1'h0;
    end else begin
      s2_valid <= _T_278;
    end
    s2_hit <= s1_hit;
    if (_T_893) begin
      invalidated <= 1'h0;
    end else begin
      if (invalidate) begin
        invalidated <= 1'h1;
      end
    end
    if (reset) begin
      refill_valid <= 1'h0;
    end else begin
      if (refill_done) begin
        refill_valid <= 1'h0;
      end else begin
        if (refill_fire) begin
          refill_valid <= 1'h1;
        end
      end
    end
    _T_292 <= _T_290 == 1'h0;
    if (_T_293) begin
      refill_addr <= io_s1_paddr;
    end
    if (reset) begin
      _T_309 <= 10'h0;
    end else begin
      if (_T_295) begin
        if (_T_313) begin
          if (_T_296) begin
            _T_309 <= _T_305;
          end else begin
            _T_309 <= 10'h0;
          end
        end else begin
          _T_309 <= _T_312;
        end
      end
    end
    if (reset) begin
      _T_321 <= 16'h1;
    end else begin
      if (refill_fire) begin
        _T_321 <= _T_330;
      end
    end
    if (s2_slaveValid) begin
      s1s3_slaveData <= _T_762;
    end else begin
      if (s0_slaveValid) begin
        s1s3_slaveData <= auto_slave_in_a_bits_data;
      end
    end
    if (_T_494) begin
      s2_tag_hit_0 <= s1_tag_hit_0;
    end
    if (_T_494) begin
      s2_tag_hit_1 <= s1_tag_hit_1;
    end
    if (_T_494) begin
      s2_dout_0 <= s1_dout_0;
    end
    if (_T_494) begin
      s2_dout_1 <= s1_dout_1;
    end
    if (_T_494) begin
      s2_tl_error <= _T_636;
    end
    if (s0_slaveValid) begin
      _T_671_opcode <= auto_slave_in_a_bits_opcode;
    end
    if (s0_slaveValid) begin
      _T_671_mask <= auto_slave_in_a_bits_mask;
    end
    if (s0_slaveValid) begin
      tl_in_d_bits_size <= auto_slave_in_a_bits_size;
    end
    if (s0_slaveValid) begin
      tl_in_d_bits_source <= auto_slave_in_a_bits_source;
    end
    _T_701 <= io_req_bits_addr;
    _T_703 <= _T_701;
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_343) begin
          $fwrite(32'h80000002,"Assertion failed\n    at ICache.scala:174 assert(!lineInScratchpad(Cat(v, refill_idx)))\n"); // @[ICache.scala 174:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204612.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_343) begin
          $fatal; // @[ICache.scala 174:11:shc.marmotcaravel.MarmotCaravelConfig.fir@204613.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_505) begin
          $fwrite(32'h80000002,"Assertion failed\n    at ICache.scala:230 assert(!(s1_valid || s1_slaveValid) || PopCount(s1_tag_hit zip s1_tag_disparity map { case (h, d) => h && !d }) <= 1)\n"); // @[ICache.scala 230:9:shc.marmotcaravel.MarmotCaravelConfig.fir@204766.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_505) begin
          $fatal; // @[ICache.scala 230:9:shc.marmotcaravel.MarmotCaravelConfig.fir@204767.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_708) begin
          $fwrite(32'h80000002,"Assertion failed\n    at ICache.scala:340 assert(!s2_valid || RegNext(RegNext(s0_vaddr)) === io.s2_vaddr)\n"); // @[ICache.scala 340:15:shc.marmotcaravel.MarmotCaravelConfig.fir@204967.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_708) begin
          $fatal; // @[ICache.scala 340:15:shc.marmotcaravel.MarmotCaravelConfig.fir@204968.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_892) begin
          $fwrite(32'h80000002,"Assertion failed\n    at ICache.scala:416 assert(!(tl_out.a.valid && addrMaybeInScratchpad(tl_out.a.bits.address)))\n"); // @[ICache.scala 416:9:shc.marmotcaravel.MarmotCaravelConfig.fir@205204.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_892) begin
          $fatal; // @[ICache.scala 416:9:shc.marmotcaravel.MarmotCaravelConfig.fir@205205.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module ShiftQueue( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205336.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205337.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205338.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
  input         io_enq_bits_btb_taken, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
  input         io_enq_bits_btb_bridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
  input  [4:0]  io_enq_bits_btb_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
  input  [7:0]  io_enq_bits_btb_bht_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
  input  [31:0] io_enq_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
  input  [1:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
  input         io_enq_bits_xcpt_ae_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
  input         io_enq_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
  output        io_deq_bits_btb_taken, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
  output        io_deq_bits_btb_bridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
  output [4:0]  io_deq_bits_btb_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
  output [7:0]  io_deq_bits_btb_bht_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
  output [31:0] io_deq_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
  output        io_deq_bits_xcpt_ae_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
  output        io_deq_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
  output [4:0]  io_mask // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205339.4]
);
  reg  _T_60_0; // @[ShiftQueue.scala 20:30:shc.marmotcaravel.MarmotCaravelConfig.fir@205351.4]
  reg [31:0] _RAND_0;
  reg  _T_60_1; // @[ShiftQueue.scala 20:30:shc.marmotcaravel.MarmotCaravelConfig.fir@205351.4]
  reg [31:0] _RAND_1;
  reg  _T_60_2; // @[ShiftQueue.scala 20:30:shc.marmotcaravel.MarmotCaravelConfig.fir@205351.4]
  reg [31:0] _RAND_2;
  reg  _T_60_3; // @[ShiftQueue.scala 20:30:shc.marmotcaravel.MarmotCaravelConfig.fir@205351.4]
  reg [31:0] _RAND_3;
  reg  _T_60_4; // @[ShiftQueue.scala 20:30:shc.marmotcaravel.MarmotCaravelConfig.fir@205351.4]
  reg [31:0] _RAND_4;
  reg  _T_82_0_btb_taken; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_5;
  reg  _T_82_0_btb_bridx; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_6;
  reg [4:0] _T_82_0_btb_entry; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_7;
  reg [7:0] _T_82_0_btb_bht_history; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_8;
  reg [31:0] _T_82_0_pc; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_9;
  reg [31:0] _T_82_0_data; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_10;
  reg  _T_82_0_xcpt_ae_inst; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_11;
  reg  _T_82_0_replay; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_12;
  reg  _T_82_1_btb_taken; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_13;
  reg  _T_82_1_btb_bridx; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_14;
  reg [4:0] _T_82_1_btb_entry; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_15;
  reg [7:0] _T_82_1_btb_bht_history; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_16;
  reg [31:0] _T_82_1_pc; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_17;
  reg [31:0] _T_82_1_data; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_18;
  reg  _T_82_1_xcpt_ae_inst; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_19;
  reg  _T_82_1_replay; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_20;
  reg  _T_82_2_btb_taken; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_21;
  reg  _T_82_2_btb_bridx; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_22;
  reg [4:0] _T_82_2_btb_entry; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_23;
  reg [7:0] _T_82_2_btb_bht_history; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_24;
  reg [31:0] _T_82_2_pc; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_25;
  reg [31:0] _T_82_2_data; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_26;
  reg  _T_82_2_xcpt_ae_inst; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_27;
  reg  _T_82_2_replay; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_28;
  reg  _T_82_3_btb_taken; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_29;
  reg  _T_82_3_btb_bridx; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_30;
  reg [4:0] _T_82_3_btb_entry; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_31;
  reg [7:0] _T_82_3_btb_bht_history; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_32;
  reg [31:0] _T_82_3_pc; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_33;
  reg [31:0] _T_82_3_data; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_34;
  reg  _T_82_3_xcpt_ae_inst; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_35;
  reg  _T_82_3_replay; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_36;
  reg  _T_82_4_btb_taken; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_37;
  reg  _T_82_4_btb_bridx; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_38;
  reg [4:0] _T_82_4_btb_entry; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_39;
  reg [7:0] _T_82_4_btb_bht_history; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_40;
  reg [31:0] _T_82_4_pc; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_41;
  reg [31:0] _T_82_4_data; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_42;
  reg  _T_82_4_xcpt_ae_inst; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_43;
  reg  _T_82_4_replay; // @[ShiftQueue.scala 21:25:shc.marmotcaravel.MarmotCaravelConfig.fir@205352.4]
  reg [31:0] _RAND_44;
  wire  _T_91; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@205354.4]
  wire  _T_93; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205356.4]
  wire  _T_94; // @[ShiftQueue.scala 29:28:shc.marmotcaravel.MarmotCaravelConfig.fir@205357.4]
  wire  _T_97; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@205360.4]
  wire  _T_98; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205361.4]
  wire  _T_99; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@205362.4]
  wire  _T_106; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205372.4]
  wire  _T_111; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205378.4]
  wire  _T_112; // @[ShiftQueue.scala 29:28:shc.marmotcaravel.MarmotCaravelConfig.fir@205379.4]
  wire  _T_115; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@205382.4]
  wire  _T_116; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205383.4]
  wire  _T_117; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@205384.4]
  wire  _T_124; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205394.4]
  wire  _T_129; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205400.4]
  wire  _T_130; // @[ShiftQueue.scala 29:28:shc.marmotcaravel.MarmotCaravelConfig.fir@205401.4]
  wire  _T_133; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@205404.4]
  wire  _T_134; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205405.4]
  wire  _T_135; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@205406.4]
  wire  _T_142; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205416.4]
  wire  _T_147; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205422.4]
  wire  _T_148; // @[ShiftQueue.scala 29:28:shc.marmotcaravel.MarmotCaravelConfig.fir@205423.4]
  wire  _T_151; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@205426.4]
  wire  _T_152; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205427.4]
  wire  _T_153; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@205428.4]
  wire  _T_160; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205438.4]
  wire  _T_164; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205443.4]
  wire  _T_168; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@205447.4]
  wire  _T_169; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205448.4]
  wire  _T_170; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@205449.4]
  wire  _T_177; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205459.4]
  wire [1:0] _T_181; // @[ShiftQueue.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@205473.4]
  wire [1:0] _T_182; // @[ShiftQueue.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@205474.4]
  wire [2:0] _T_183; // @[ShiftQueue.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@205475.4]
  assign _T_91 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@205354.4]
  assign _T_93 = _T_91 & _T_60_0; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205356.4]
  assign _T_94 = _T_60_1 | _T_93; // @[ShiftQueue.scala 29:28:shc.marmotcaravel.MarmotCaravelConfig.fir@205357.4]
  assign _T_97 = _T_60_0 == 1'h0; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@205360.4]
  assign _T_98 = _T_91 & _T_97; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205361.4]
  assign _T_99 = io_deq_ready ? _T_94 : _T_98; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@205362.4]
  assign _T_106 = _T_91 | _T_60_0; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205372.4]
  assign _T_111 = _T_91 & _T_60_1; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205378.4]
  assign _T_112 = _T_60_2 | _T_111; // @[ShiftQueue.scala 29:28:shc.marmotcaravel.MarmotCaravelConfig.fir@205379.4]
  assign _T_115 = _T_60_1 == 1'h0; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@205382.4]
  assign _T_116 = _T_93 & _T_115; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205383.4]
  assign _T_117 = io_deq_ready ? _T_112 : _T_116; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@205384.4]
  assign _T_124 = _T_93 | _T_60_1; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205394.4]
  assign _T_129 = _T_91 & _T_60_2; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205400.4]
  assign _T_130 = _T_60_3 | _T_129; // @[ShiftQueue.scala 29:28:shc.marmotcaravel.MarmotCaravelConfig.fir@205401.4]
  assign _T_133 = _T_60_2 == 1'h0; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@205404.4]
  assign _T_134 = _T_111 & _T_133; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205405.4]
  assign _T_135 = io_deq_ready ? _T_130 : _T_134; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@205406.4]
  assign _T_142 = _T_111 | _T_60_2; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205416.4]
  assign _T_147 = _T_91 & _T_60_3; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205422.4]
  assign _T_148 = _T_60_4 | _T_147; // @[ShiftQueue.scala 29:28:shc.marmotcaravel.MarmotCaravelConfig.fir@205423.4]
  assign _T_151 = _T_60_3 == 1'h0; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@205426.4]
  assign _T_152 = _T_129 & _T_151; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205427.4]
  assign _T_153 = io_deq_ready ? _T_148 : _T_152; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@205428.4]
  assign _T_160 = _T_129 | _T_60_3; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205438.4]
  assign _T_164 = _T_91 & _T_60_4; // @[ShiftQueue.scala 29:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205443.4]
  assign _T_168 = _T_60_4 == 1'h0; // @[ShiftQueue.scala 30:48:shc.marmotcaravel.MarmotCaravelConfig.fir@205447.4]
  assign _T_169 = _T_147 & _T_168; // @[ShiftQueue.scala 30:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205448.4]
  assign _T_170 = io_deq_ready ? _T_164 : _T_169; // @[ShiftQueue.scala 28:10:shc.marmotcaravel.MarmotCaravelConfig.fir@205449.4]
  assign _T_177 = _T_147 | _T_60_4; // @[ShiftQueue.scala 36:45:shc.marmotcaravel.MarmotCaravelConfig.fir@205459.4]
  assign _T_181 = {_T_60_1,_T_60_0}; // @[ShiftQueue.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@205473.4]
  assign _T_182 = {_T_60_4,_T_60_3}; // @[ShiftQueue.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@205474.4]
  assign _T_183 = {_T_182,_T_60_2}; // @[ShiftQueue.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@205475.4]
  assign io_enq_ready = _T_60_4 == 1'h0; // @[ShiftQueue.scala 39:16:shc.marmotcaravel.MarmotCaravelConfig.fir@205463.4]
  assign io_deq_valid = io_enq_valid ? 1'h1 : _T_60_0; // @[ShiftQueue.scala 40:16:shc.marmotcaravel.MarmotCaravelConfig.fir@205464.4 ShiftQueue.scala 44:40:shc.marmotcaravel.MarmotCaravelConfig.fir@205467.6]
  assign io_deq_bits_btb_taken = _T_97 ? io_enq_bits_btb_taken : _T_82_0_btb_taken; // @[ShiftQueue.scala 41:15:shc.marmotcaravel.MarmotCaravelConfig.fir@205465.4 ShiftQueue.scala 45:36:shc.marmotcaravel.MarmotCaravelConfig.fir@205471.6]
  assign io_deq_bits_btb_bridx = _T_97 ? io_enq_bits_btb_bridx : _T_82_0_btb_bridx; // @[ShiftQueue.scala 41:15:shc.marmotcaravel.MarmotCaravelConfig.fir@205465.4 ShiftQueue.scala 45:36:shc.marmotcaravel.MarmotCaravelConfig.fir@205471.6]
  assign io_deq_bits_btb_entry = _T_97 ? io_enq_bits_btb_entry : _T_82_0_btb_entry; // @[ShiftQueue.scala 41:15:shc.marmotcaravel.MarmotCaravelConfig.fir@205465.4 ShiftQueue.scala 45:36:shc.marmotcaravel.MarmotCaravelConfig.fir@205471.6]
  assign io_deq_bits_btb_bht_history = _T_97 ? io_enq_bits_btb_bht_history : _T_82_0_btb_bht_history; // @[ShiftQueue.scala 41:15:shc.marmotcaravel.MarmotCaravelConfig.fir@205465.4 ShiftQueue.scala 45:36:shc.marmotcaravel.MarmotCaravelConfig.fir@205471.6]
  assign io_deq_bits_pc = _T_97 ? io_enq_bits_pc : _T_82_0_pc; // @[ShiftQueue.scala 41:15:shc.marmotcaravel.MarmotCaravelConfig.fir@205465.4 ShiftQueue.scala 45:36:shc.marmotcaravel.MarmotCaravelConfig.fir@205471.6]
  assign io_deq_bits_data = _T_97 ? io_enq_bits_data : _T_82_0_data; // @[ShiftQueue.scala 41:15:shc.marmotcaravel.MarmotCaravelConfig.fir@205465.4 ShiftQueue.scala 45:36:shc.marmotcaravel.MarmotCaravelConfig.fir@205471.6]
  assign io_deq_bits_xcpt_ae_inst = _T_97 ? io_enq_bits_xcpt_ae_inst : _T_82_0_xcpt_ae_inst; // @[ShiftQueue.scala 41:15:shc.marmotcaravel.MarmotCaravelConfig.fir@205465.4 ShiftQueue.scala 45:36:shc.marmotcaravel.MarmotCaravelConfig.fir@205471.6]
  assign io_deq_bits_replay = _T_97 ? io_enq_bits_replay : _T_82_0_replay; // @[ShiftQueue.scala 41:15:shc.marmotcaravel.MarmotCaravelConfig.fir@205465.4 ShiftQueue.scala 45:36:shc.marmotcaravel.MarmotCaravelConfig.fir@205471.6]
  assign io_mask = {_T_183,_T_181}; // @[ShiftQueue.scala 52:11:shc.marmotcaravel.MarmotCaravelConfig.fir@205477.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_60_0 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_60_1 = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_60_2 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_60_3 = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_60_4 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_82_0_btb_taken = _RAND_5[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_82_0_btb_bridx = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_82_0_btb_entry = _RAND_7[4:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_82_0_btb_bht_history = _RAND_8[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_82_0_pc = _RAND_9[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_82_0_data = _RAND_10[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_82_0_xcpt_ae_inst = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_82_0_replay = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_82_1_btb_taken = _RAND_13[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_82_1_btb_bridx = _RAND_14[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_82_1_btb_entry = _RAND_15[4:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_82_1_btb_bht_history = _RAND_16[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_17 = {1{`RANDOM}};
  _T_82_1_pc = _RAND_17[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_18 = {1{`RANDOM}};
  _T_82_1_data = _RAND_18[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_19 = {1{`RANDOM}};
  _T_82_1_xcpt_ae_inst = _RAND_19[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_20 = {1{`RANDOM}};
  _T_82_1_replay = _RAND_20[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_21 = {1{`RANDOM}};
  _T_82_2_btb_taken = _RAND_21[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_22 = {1{`RANDOM}};
  _T_82_2_btb_bridx = _RAND_22[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_23 = {1{`RANDOM}};
  _T_82_2_btb_entry = _RAND_23[4:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_24 = {1{`RANDOM}};
  _T_82_2_btb_bht_history = _RAND_24[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_25 = {1{`RANDOM}};
  _T_82_2_pc = _RAND_25[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_26 = {1{`RANDOM}};
  _T_82_2_data = _RAND_26[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_27 = {1{`RANDOM}};
  _T_82_2_xcpt_ae_inst = _RAND_27[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_28 = {1{`RANDOM}};
  _T_82_2_replay = _RAND_28[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_29 = {1{`RANDOM}};
  _T_82_3_btb_taken = _RAND_29[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_30 = {1{`RANDOM}};
  _T_82_3_btb_bridx = _RAND_30[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_31 = {1{`RANDOM}};
  _T_82_3_btb_entry = _RAND_31[4:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_32 = {1{`RANDOM}};
  _T_82_3_btb_bht_history = _RAND_32[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_33 = {1{`RANDOM}};
  _T_82_3_pc = _RAND_33[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_34 = {1{`RANDOM}};
  _T_82_3_data = _RAND_34[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_35 = {1{`RANDOM}};
  _T_82_3_xcpt_ae_inst = _RAND_35[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_36 = {1{`RANDOM}};
  _T_82_3_replay = _RAND_36[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_37 = {1{`RANDOM}};
  _T_82_4_btb_taken = _RAND_37[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_38 = {1{`RANDOM}};
  _T_82_4_btb_bridx = _RAND_38[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_39 = {1{`RANDOM}};
  _T_82_4_btb_entry = _RAND_39[4:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_40 = {1{`RANDOM}};
  _T_82_4_btb_bht_history = _RAND_40[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_41 = {1{`RANDOM}};
  _T_82_4_pc = _RAND_41[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_42 = {1{`RANDOM}};
  _T_82_4_data = _RAND_42[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_43 = {1{`RANDOM}};
  _T_82_4_xcpt_ae_inst = _RAND_43[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_44 = {1{`RANDOM}};
  _T_82_4_replay = _RAND_44[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_60_0 <= 1'h0;
    end else begin
      if (io_deq_ready) begin
        _T_60_0 <= _T_94;
      end else begin
        _T_60_0 <= _T_106;
      end
    end
    if (reset) begin
      _T_60_1 <= 1'h0;
    end else begin
      if (io_deq_ready) begin
        _T_60_1 <= _T_112;
      end else begin
        _T_60_1 <= _T_124;
      end
    end
    if (reset) begin
      _T_60_2 <= 1'h0;
    end else begin
      if (io_deq_ready) begin
        _T_60_2 <= _T_130;
      end else begin
        _T_60_2 <= _T_142;
      end
    end
    if (reset) begin
      _T_60_3 <= 1'h0;
    end else begin
      if (io_deq_ready) begin
        _T_60_3 <= _T_148;
      end else begin
        _T_60_3 <= _T_160;
      end
    end
    if (reset) begin
      _T_60_4 <= 1'h0;
    end else begin
      if (io_deq_ready) begin
        _T_60_4 <= _T_164;
      end else begin
        _T_60_4 <= _T_177;
      end
    end
    if (_T_99) begin
      if (_T_60_1) begin
        _T_82_0_btb_taken <= _T_82_1_btb_taken;
      end else begin
        _T_82_0_btb_taken <= io_enq_bits_btb_taken;
      end
    end
    if (_T_99) begin
      if (_T_60_1) begin
        _T_82_0_btb_bridx <= _T_82_1_btb_bridx;
      end else begin
        _T_82_0_btb_bridx <= io_enq_bits_btb_bridx;
      end
    end
    if (_T_99) begin
      if (_T_60_1) begin
        _T_82_0_btb_entry <= _T_82_1_btb_entry;
      end else begin
        _T_82_0_btb_entry <= io_enq_bits_btb_entry;
      end
    end
    if (_T_99) begin
      if (_T_60_1) begin
        _T_82_0_btb_bht_history <= _T_82_1_btb_bht_history;
      end else begin
        _T_82_0_btb_bht_history <= io_enq_bits_btb_bht_history;
      end
    end
    if (_T_99) begin
      if (_T_60_1) begin
        _T_82_0_pc <= _T_82_1_pc;
      end else begin
        _T_82_0_pc <= io_enq_bits_pc;
      end
    end
    if (_T_99) begin
      if (_T_60_1) begin
        _T_82_0_data <= _T_82_1_data;
      end else begin
        _T_82_0_data <= io_enq_bits_data;
      end
    end
    if (_T_99) begin
      if (_T_60_1) begin
        _T_82_0_xcpt_ae_inst <= _T_82_1_xcpt_ae_inst;
      end else begin
        _T_82_0_xcpt_ae_inst <= io_enq_bits_xcpt_ae_inst;
      end
    end
    if (_T_99) begin
      if (_T_60_1) begin
        _T_82_0_replay <= _T_82_1_replay;
      end else begin
        _T_82_0_replay <= io_enq_bits_replay;
      end
    end
    if (_T_117) begin
      if (_T_60_2) begin
        _T_82_1_btb_taken <= _T_82_2_btb_taken;
      end else begin
        _T_82_1_btb_taken <= io_enq_bits_btb_taken;
      end
    end
    if (_T_117) begin
      if (_T_60_2) begin
        _T_82_1_btb_bridx <= _T_82_2_btb_bridx;
      end else begin
        _T_82_1_btb_bridx <= io_enq_bits_btb_bridx;
      end
    end
    if (_T_117) begin
      if (_T_60_2) begin
        _T_82_1_btb_entry <= _T_82_2_btb_entry;
      end else begin
        _T_82_1_btb_entry <= io_enq_bits_btb_entry;
      end
    end
    if (_T_117) begin
      if (_T_60_2) begin
        _T_82_1_btb_bht_history <= _T_82_2_btb_bht_history;
      end else begin
        _T_82_1_btb_bht_history <= io_enq_bits_btb_bht_history;
      end
    end
    if (_T_117) begin
      if (_T_60_2) begin
        _T_82_1_pc <= _T_82_2_pc;
      end else begin
        _T_82_1_pc <= io_enq_bits_pc;
      end
    end
    if (_T_117) begin
      if (_T_60_2) begin
        _T_82_1_data <= _T_82_2_data;
      end else begin
        _T_82_1_data <= io_enq_bits_data;
      end
    end
    if (_T_117) begin
      if (_T_60_2) begin
        _T_82_1_xcpt_ae_inst <= _T_82_2_xcpt_ae_inst;
      end else begin
        _T_82_1_xcpt_ae_inst <= io_enq_bits_xcpt_ae_inst;
      end
    end
    if (_T_117) begin
      if (_T_60_2) begin
        _T_82_1_replay <= _T_82_2_replay;
      end else begin
        _T_82_1_replay <= io_enq_bits_replay;
      end
    end
    if (_T_135) begin
      if (_T_60_3) begin
        _T_82_2_btb_taken <= _T_82_3_btb_taken;
      end else begin
        _T_82_2_btb_taken <= io_enq_bits_btb_taken;
      end
    end
    if (_T_135) begin
      if (_T_60_3) begin
        _T_82_2_btb_bridx <= _T_82_3_btb_bridx;
      end else begin
        _T_82_2_btb_bridx <= io_enq_bits_btb_bridx;
      end
    end
    if (_T_135) begin
      if (_T_60_3) begin
        _T_82_2_btb_entry <= _T_82_3_btb_entry;
      end else begin
        _T_82_2_btb_entry <= io_enq_bits_btb_entry;
      end
    end
    if (_T_135) begin
      if (_T_60_3) begin
        _T_82_2_btb_bht_history <= _T_82_3_btb_bht_history;
      end else begin
        _T_82_2_btb_bht_history <= io_enq_bits_btb_bht_history;
      end
    end
    if (_T_135) begin
      if (_T_60_3) begin
        _T_82_2_pc <= _T_82_3_pc;
      end else begin
        _T_82_2_pc <= io_enq_bits_pc;
      end
    end
    if (_T_135) begin
      if (_T_60_3) begin
        _T_82_2_data <= _T_82_3_data;
      end else begin
        _T_82_2_data <= io_enq_bits_data;
      end
    end
    if (_T_135) begin
      if (_T_60_3) begin
        _T_82_2_xcpt_ae_inst <= _T_82_3_xcpt_ae_inst;
      end else begin
        _T_82_2_xcpt_ae_inst <= io_enq_bits_xcpt_ae_inst;
      end
    end
    if (_T_135) begin
      if (_T_60_3) begin
        _T_82_2_replay <= _T_82_3_replay;
      end else begin
        _T_82_2_replay <= io_enq_bits_replay;
      end
    end
    if (_T_153) begin
      if (_T_60_4) begin
        _T_82_3_btb_taken <= _T_82_4_btb_taken;
      end else begin
        _T_82_3_btb_taken <= io_enq_bits_btb_taken;
      end
    end
    if (_T_153) begin
      if (_T_60_4) begin
        _T_82_3_btb_bridx <= _T_82_4_btb_bridx;
      end else begin
        _T_82_3_btb_bridx <= io_enq_bits_btb_bridx;
      end
    end
    if (_T_153) begin
      if (_T_60_4) begin
        _T_82_3_btb_entry <= _T_82_4_btb_entry;
      end else begin
        _T_82_3_btb_entry <= io_enq_bits_btb_entry;
      end
    end
    if (_T_153) begin
      if (_T_60_4) begin
        _T_82_3_btb_bht_history <= _T_82_4_btb_bht_history;
      end else begin
        _T_82_3_btb_bht_history <= io_enq_bits_btb_bht_history;
      end
    end
    if (_T_153) begin
      if (_T_60_4) begin
        _T_82_3_pc <= _T_82_4_pc;
      end else begin
        _T_82_3_pc <= io_enq_bits_pc;
      end
    end
    if (_T_153) begin
      if (_T_60_4) begin
        _T_82_3_data <= _T_82_4_data;
      end else begin
        _T_82_3_data <= io_enq_bits_data;
      end
    end
    if (_T_153) begin
      if (_T_60_4) begin
        _T_82_3_xcpt_ae_inst <= _T_82_4_xcpt_ae_inst;
      end else begin
        _T_82_3_xcpt_ae_inst <= io_enq_bits_xcpt_ae_inst;
      end
    end
    if (_T_153) begin
      if (_T_60_4) begin
        _T_82_3_replay <= _T_82_4_replay;
      end else begin
        _T_82_3_replay <= io_enq_bits_replay;
      end
    end
    if (_T_170) begin
      _T_82_4_btb_taken <= io_enq_bits_btb_taken;
    end
    if (_T_170) begin
      _T_82_4_btb_bridx <= io_enq_bits_btb_bridx;
    end
    if (_T_170) begin
      _T_82_4_btb_entry <= io_enq_bits_btb_entry;
    end
    if (_T_170) begin
      _T_82_4_btb_bht_history <= io_enq_bits_btb_bht_history;
    end
    if (_T_170) begin
      _T_82_4_pc <= io_enq_bits_pc;
    end
    if (_T_170) begin
      _T_82_4_data <= io_enq_bits_data;
    end
    if (_T_170) begin
      _T_82_4_xcpt_ae_inst <= io_enq_bits_xcpt_ae_inst;
    end
    if (_T_170) begin
      _T_82_4_replay <= io_enq_bits_replay;
    end
  end
endmodule
module TLB_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205873.2]
  input  [31:0] io_req_bits_vaddr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  output [31:0] io_resp_paddr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  output        io_resp_ae_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input  [1:0]  io_ptw_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input  [29:0] io_ptw_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input  [31:0] io_ptw_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input  [1:0]  io_ptw_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input  [29:0] io_ptw_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input  [31:0] io_ptw_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input  [1:0]  io_ptw_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input  [29:0] io_ptw_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input  [31:0] io_ptw_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input  [1:0]  io_ptw_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input  [29:0] io_ptw_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input  [31:0] io_ptw_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input  [1:0]  io_ptw_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input  [29:0] io_ptw_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input  [31:0] io_ptw_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input  [1:0]  io_ptw_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input  [29:0] io_ptw_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input  [31:0] io_ptw_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input  [1:0]  io_ptw_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input  [29:0] io_ptw_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input  [31:0] io_ptw_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input  [1:0]  io_ptw_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input         io_ptw_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input  [29:0] io_ptw_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
  input  [31:0] io_ptw_pmp_7_mask // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@205876.4]
);
  wire  pmp_io_pmp_0_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire [1:0] pmp_io_pmp_0_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_0_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_0_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_0_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire [29:0] pmp_io_pmp_0_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire [31:0] pmp_io_pmp_0_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_1_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire [1:0] pmp_io_pmp_1_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_1_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_1_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_1_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire [29:0] pmp_io_pmp_1_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire [31:0] pmp_io_pmp_1_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_2_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire [1:0] pmp_io_pmp_2_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_2_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_2_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_2_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire [29:0] pmp_io_pmp_2_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire [31:0] pmp_io_pmp_2_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_3_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire [1:0] pmp_io_pmp_3_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_3_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_3_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_3_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire [29:0] pmp_io_pmp_3_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire [31:0] pmp_io_pmp_3_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_4_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire [1:0] pmp_io_pmp_4_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_4_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_4_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_4_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire [29:0] pmp_io_pmp_4_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire [31:0] pmp_io_pmp_4_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_5_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire [1:0] pmp_io_pmp_5_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_5_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_5_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_5_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire [29:0] pmp_io_pmp_5_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire [31:0] pmp_io_pmp_5_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_6_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire [1:0] pmp_io_pmp_6_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_6_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_6_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_6_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire [29:0] pmp_io_pmp_6_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire [31:0] pmp_io_pmp_6_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_7_cfg_l; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire [1:0] pmp_io_pmp_7_cfg_a; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_7_cfg_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_7_cfg_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_pmp_7_cfg_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire [29:0] pmp_io_pmp_7_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire [31:0] pmp_io_pmp_7_mask; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire [31:0] pmp_io_addr; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_r; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_w; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire  pmp_io_x; // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
  wire [19:0] vpn; // @[TLB.scala 179:30:shc.marmotcaravel.MarmotCaravelConfig.fir@205897.4]
  wire [19:0] mpu_ppn; // @[TLB.scala 184:123:shc.marmotcaravel.MarmotCaravelConfig.fir@205939.4]
  wire [11:0] _T_223; // @[TLB.scala 185:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205942.4]
  wire [31:0] mpu_physaddr; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@205943.4]
  wire [31:0] _T_227; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205962.4]
  wire [32:0] _T_228; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205963.4]
  wire [32:0] _T_229; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205964.4]
  wire [32:0] _T_230; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205965.4]
  wire  _T_231; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205966.4]
  wire [31:0] _T_232; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205967.4]
  wire [32:0] _T_233; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205968.4]
  wire [32:0] _T_234; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205969.4]
  wire [32:0] _T_235; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205970.4]
  wire  _T_236; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205971.4]
  wire [31:0] _T_237; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205972.4]
  wire [32:0] _T_238; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205973.4]
  wire [32:0] _T_239; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205974.4]
  wire [32:0] _T_240; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205975.4]
  wire  _T_241; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205976.4]
  wire [31:0] _T_242; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205977.4]
  wire [32:0] _T_243; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205978.4]
  wire [32:0] _T_244; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205979.4]
  wire [32:0] _T_245; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205980.4]
  wire  _T_246; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205981.4]
  wire [31:0] _T_247; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205982.4]
  wire [32:0] _T_248; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205983.4]
  wire [32:0] _T_249; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205984.4]
  wire [32:0] _T_250; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205985.4]
  wire  _T_251; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205986.4]
  wire [31:0] _T_252; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205987.4]
  wire [32:0] _T_253; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205988.4]
  wire [32:0] _T_254; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205989.4]
  wire [32:0] _T_255; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205990.4]
  wire  _T_256; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205991.4]
  wire [31:0] _T_257; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205992.4]
  wire [32:0] _T_258; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205993.4]
  wire [32:0] _T_259; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205994.4]
  wire [32:0] _T_260; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205995.4]
  wire  _T_261; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205996.4]
  wire [31:0] _T_262; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205997.4]
  wire [32:0] _T_263; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205998.4]
  wire [32:0] _T_264; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205999.4]
  wire [32:0] _T_265; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206000.4]
  wire  _T_266; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206001.4]
  wire [31:0] _T_267; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206002.4]
  wire [32:0] _T_268; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206003.4]
  wire [32:0] _T_269; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206004.4]
  wire [32:0] _T_270; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206005.4]
  wire  _T_271; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206006.4]
  wire [31:0] _T_272; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206007.4]
  wire [32:0] _T_273; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206008.4]
  wire [32:0] _T_274; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206009.4]
  wire [32:0] _T_275; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206010.4]
  wire  _T_276; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206011.4]
  wire [31:0] _T_277; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206012.4]
  wire [32:0] _T_278; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206013.4]
  wire [32:0] _T_279; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206014.4]
  wire [32:0] _T_280; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206015.4]
  wire  _T_281; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206016.4]
  wire [31:0] _T_282; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206017.4]
  wire [32:0] _T_283; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206018.4]
  wire [32:0] _T_284; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206019.4]
  wire [32:0] _T_285; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206020.4]
  wire  _T_286; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206021.4]
  wire [31:0] _T_287; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206022.4]
  wire [32:0] _T_288; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206023.4]
  wire [32:0] _T_289; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206024.4]
  wire [32:0] _T_290; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206025.4]
  wire  _T_291; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206026.4]
  wire [31:0] _T_292; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206027.4]
  wire [32:0] _T_293; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206028.4]
  wire [32:0] _T_294; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206029.4]
  wire [32:0] _T_295; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206030.4]
  wire  _T_296; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206031.4]
  wire [31:0] _T_297; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206032.4]
  wire [32:0] _T_298; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206033.4]
  wire [32:0] _T_299; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206034.4]
  wire [32:0] _T_300; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206035.4]
  wire  _T_301; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206036.4]
  wire [32:0] _T_303; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206038.4]
  wire [32:0] _T_304; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206039.4]
  wire [32:0] _T_305; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206040.4]
  wire  _T_306; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206041.4]
  wire [31:0] _T_307; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206042.4]
  wire [32:0] _T_308; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206043.4]
  wire [32:0] _T_309; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206044.4]
  wire [32:0] _T_310; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206045.4]
  wire  _T_311; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206046.4]
  wire [31:0] _T_312; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206047.4]
  wire [32:0] _T_313; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206048.4]
  wire [32:0] _T_314; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206049.4]
  wire [32:0] _T_315; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206050.4]
  wire  _T_316; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206051.4]
  wire [31:0] _T_317; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206052.4]
  wire [32:0] _T_318; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206053.4]
  wire [32:0] _T_319; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206054.4]
  wire [32:0] _T_320; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206055.4]
  wire  _T_321; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206056.4]
  wire [31:0] _T_322; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206057.4]
  wire [32:0] _T_323; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206058.4]
  wire [32:0] _T_324; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206059.4]
  wire [32:0] _T_325; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206060.4]
  wire  _T_326; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206061.4]
  wire  _T_353; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206084.4]
  wire  _T_354; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206085.4]
  wire  _T_355; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206086.4]
  wire  _T_356; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206087.4]
  wire  _T_357; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206088.4]
  wire  _T_358; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206089.4]
  wire  _T_359; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206090.4]
  wire  _T_360; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206091.4]
  wire  _T_361; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206092.4]
  wire  _T_362; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206093.4]
  wire  _T_363; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206094.4]
  wire  _T_364; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206095.4]
  wire  _T_365; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206096.4]
  wire  _T_366; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206097.4]
  wire  _T_367; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206098.4]
  wire  _T_368; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206099.4]
  wire  _T_369; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206100.4]
  wire  _T_370; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206101.4]
  wire  legal_address; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206102.4]
  wire [32:0] _T_481; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206215.4]
  wire [32:0] _T_482; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206216.4]
  wire  _T_483; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206217.4]
  wire [32:0] _T_486; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206220.4]
  wire [32:0] _T_487; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206221.4]
  wire  _T_488; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206222.4]
  wire [32:0] _T_668; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206403.4]
  wire [32:0] _T_669; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206404.4]
  wire  _T_670; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206405.4]
  wire  _T_681; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@206416.4]
  wire  _T_682; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@206417.4]
  wire  _T_689; // @[TLB.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206423.4]
  wire  prot_x; // @[TLB.scala 200:40:shc.marmotcaravel.MarmotCaravelConfig.fir@206424.4]
  wire [1:0] _T_1341; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@207427.4]
  wire [6:0] px_array; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207432.4]
  wire [6:0] _T_1710; // @[TLB.scala 306:23:shc.marmotcaravel.MarmotCaravelConfig.fir@207828.4]
  wire [6:0] _T_1711; // @[TLB.scala 306:33:shc.marmotcaravel.MarmotCaravelConfig.fir@207829.4]
  PMPChecker pmp ( // @[TLB.scala 186:19:shc.marmotcaravel.MarmotCaravelConfig.fir@205944.4]
    .io_pmp_0_cfg_l(pmp_io_pmp_0_cfg_l),
    .io_pmp_0_cfg_a(pmp_io_pmp_0_cfg_a),
    .io_pmp_0_cfg_x(pmp_io_pmp_0_cfg_x),
    .io_pmp_0_cfg_w(pmp_io_pmp_0_cfg_w),
    .io_pmp_0_cfg_r(pmp_io_pmp_0_cfg_r),
    .io_pmp_0_addr(pmp_io_pmp_0_addr),
    .io_pmp_0_mask(pmp_io_pmp_0_mask),
    .io_pmp_1_cfg_l(pmp_io_pmp_1_cfg_l),
    .io_pmp_1_cfg_a(pmp_io_pmp_1_cfg_a),
    .io_pmp_1_cfg_x(pmp_io_pmp_1_cfg_x),
    .io_pmp_1_cfg_w(pmp_io_pmp_1_cfg_w),
    .io_pmp_1_cfg_r(pmp_io_pmp_1_cfg_r),
    .io_pmp_1_addr(pmp_io_pmp_1_addr),
    .io_pmp_1_mask(pmp_io_pmp_1_mask),
    .io_pmp_2_cfg_l(pmp_io_pmp_2_cfg_l),
    .io_pmp_2_cfg_a(pmp_io_pmp_2_cfg_a),
    .io_pmp_2_cfg_x(pmp_io_pmp_2_cfg_x),
    .io_pmp_2_cfg_w(pmp_io_pmp_2_cfg_w),
    .io_pmp_2_cfg_r(pmp_io_pmp_2_cfg_r),
    .io_pmp_2_addr(pmp_io_pmp_2_addr),
    .io_pmp_2_mask(pmp_io_pmp_2_mask),
    .io_pmp_3_cfg_l(pmp_io_pmp_3_cfg_l),
    .io_pmp_3_cfg_a(pmp_io_pmp_3_cfg_a),
    .io_pmp_3_cfg_x(pmp_io_pmp_3_cfg_x),
    .io_pmp_3_cfg_w(pmp_io_pmp_3_cfg_w),
    .io_pmp_3_cfg_r(pmp_io_pmp_3_cfg_r),
    .io_pmp_3_addr(pmp_io_pmp_3_addr),
    .io_pmp_3_mask(pmp_io_pmp_3_mask),
    .io_pmp_4_cfg_l(pmp_io_pmp_4_cfg_l),
    .io_pmp_4_cfg_a(pmp_io_pmp_4_cfg_a),
    .io_pmp_4_cfg_x(pmp_io_pmp_4_cfg_x),
    .io_pmp_4_cfg_w(pmp_io_pmp_4_cfg_w),
    .io_pmp_4_cfg_r(pmp_io_pmp_4_cfg_r),
    .io_pmp_4_addr(pmp_io_pmp_4_addr),
    .io_pmp_4_mask(pmp_io_pmp_4_mask),
    .io_pmp_5_cfg_l(pmp_io_pmp_5_cfg_l),
    .io_pmp_5_cfg_a(pmp_io_pmp_5_cfg_a),
    .io_pmp_5_cfg_x(pmp_io_pmp_5_cfg_x),
    .io_pmp_5_cfg_w(pmp_io_pmp_5_cfg_w),
    .io_pmp_5_cfg_r(pmp_io_pmp_5_cfg_r),
    .io_pmp_5_addr(pmp_io_pmp_5_addr),
    .io_pmp_5_mask(pmp_io_pmp_5_mask),
    .io_pmp_6_cfg_l(pmp_io_pmp_6_cfg_l),
    .io_pmp_6_cfg_a(pmp_io_pmp_6_cfg_a),
    .io_pmp_6_cfg_x(pmp_io_pmp_6_cfg_x),
    .io_pmp_6_cfg_w(pmp_io_pmp_6_cfg_w),
    .io_pmp_6_cfg_r(pmp_io_pmp_6_cfg_r),
    .io_pmp_6_addr(pmp_io_pmp_6_addr),
    .io_pmp_6_mask(pmp_io_pmp_6_mask),
    .io_pmp_7_cfg_l(pmp_io_pmp_7_cfg_l),
    .io_pmp_7_cfg_a(pmp_io_pmp_7_cfg_a),
    .io_pmp_7_cfg_x(pmp_io_pmp_7_cfg_x),
    .io_pmp_7_cfg_w(pmp_io_pmp_7_cfg_w),
    .io_pmp_7_cfg_r(pmp_io_pmp_7_cfg_r),
    .io_pmp_7_addr(pmp_io_pmp_7_addr),
    .io_pmp_7_mask(pmp_io_pmp_7_mask),
    .io_addr(pmp_io_addr),
    .io_r(pmp_io_r),
    .io_w(pmp_io_w),
    .io_x(pmp_io_x)
  );
  assign vpn = io_req_bits_vaddr[31:12]; // @[TLB.scala 179:30:shc.marmotcaravel.MarmotCaravelConfig.fir@205897.4]
  assign mpu_ppn = io_req_bits_vaddr[31:12]; // @[TLB.scala 184:123:shc.marmotcaravel.MarmotCaravelConfig.fir@205939.4]
  assign _T_223 = io_req_bits_vaddr[11:0]; // @[TLB.scala 185:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205942.4]
  assign mpu_physaddr = {mpu_ppn,_T_223}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@205943.4]
  assign _T_227 = mpu_physaddr ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205962.4]
  assign _T_228 = {1'b0,$signed(_T_227)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205963.4]
  assign _T_229 = $signed(_T_228) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205964.4]
  assign _T_230 = $signed(_T_229); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205965.4]
  assign _T_231 = $signed(_T_230) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205966.4]
  assign _T_232 = mpu_physaddr ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205967.4]
  assign _T_233 = {1'b0,$signed(_T_232)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205968.4]
  assign _T_234 = $signed(_T_233) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205969.4]
  assign _T_235 = $signed(_T_234); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205970.4]
  assign _T_236 = $signed(_T_235) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205971.4]
  assign _T_237 = mpu_physaddr ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205972.4]
  assign _T_238 = {1'b0,$signed(_T_237)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205973.4]
  assign _T_239 = $signed(_T_238) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205974.4]
  assign _T_240 = $signed(_T_239); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205975.4]
  assign _T_241 = $signed(_T_240) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205976.4]
  assign _T_242 = mpu_physaddr ^ 32'h10033000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205977.4]
  assign _T_243 = {1'b0,$signed(_T_242)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205978.4]
  assign _T_244 = $signed(_T_243) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205979.4]
  assign _T_245 = $signed(_T_244); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205980.4]
  assign _T_246 = $signed(_T_245) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205981.4]
  assign _T_247 = mpu_physaddr ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205982.4]
  assign _T_248 = {1'b0,$signed(_T_247)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205983.4]
  assign _T_249 = $signed(_T_248) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205984.4]
  assign _T_250 = $signed(_T_249); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205985.4]
  assign _T_251 = $signed(_T_250) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205986.4]
  assign _T_252 = mpu_physaddr ^ 32'h10053000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205987.4]
  assign _T_253 = {1'b0,$signed(_T_252)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205988.4]
  assign _T_254 = $signed(_T_253) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205989.4]
  assign _T_255 = $signed(_T_254); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205990.4]
  assign _T_256 = $signed(_T_255) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205991.4]
  assign _T_257 = mpu_physaddr ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205992.4]
  assign _T_258 = {1'b0,$signed(_T_257)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205993.4]
  assign _T_259 = $signed(_T_258) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205994.4]
  assign _T_260 = $signed(_T_259); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205995.4]
  assign _T_261 = $signed(_T_260) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@205996.4]
  assign _T_262 = mpu_physaddr ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@205997.4]
  assign _T_263 = {1'b0,$signed(_T_262)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@205998.4]
  assign _T_264 = $signed(_T_263) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@205999.4]
  assign _T_265 = $signed(_T_264); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206000.4]
  assign _T_266 = $signed(_T_265) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206001.4]
  assign _T_267 = mpu_physaddr ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206002.4]
  assign _T_268 = {1'b0,$signed(_T_267)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206003.4]
  assign _T_269 = $signed(_T_268) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206004.4]
  assign _T_270 = $signed(_T_269); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206005.4]
  assign _T_271 = $signed(_T_270) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206006.4]
  assign _T_272 = mpu_physaddr ^ 32'h10034000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206007.4]
  assign _T_273 = {1'b0,$signed(_T_272)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206008.4]
  assign _T_274 = $signed(_T_273) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206009.4]
  assign _T_275 = $signed(_T_274); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206010.4]
  assign _T_276 = $signed(_T_275) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206011.4]
  assign _T_277 = mpu_physaddr ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206012.4]
  assign _T_278 = {1'b0,$signed(_T_277)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206013.4]
  assign _T_279 = $signed(_T_278) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206014.4]
  assign _T_280 = $signed(_T_279); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206015.4]
  assign _T_281 = $signed(_T_280) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206016.4]
  assign _T_282 = mpu_physaddr ^ 32'h10016000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206017.4]
  assign _T_283 = {1'b0,$signed(_T_282)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206018.4]
  assign _T_284 = $signed(_T_283) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206019.4]
  assign _T_285 = $signed(_T_284); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206020.4]
  assign _T_286 = $signed(_T_285) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206021.4]
  assign _T_287 = mpu_physaddr ^ 32'h10026000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206022.4]
  assign _T_288 = {1'b0,$signed(_T_287)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206023.4]
  assign _T_289 = $signed(_T_288) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206024.4]
  assign _T_290 = $signed(_T_289); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206025.4]
  assign _T_291 = $signed(_T_290) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206026.4]
  assign _T_292 = mpu_physaddr ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206027.4]
  assign _T_293 = {1'b0,$signed(_T_292)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206028.4]
  assign _T_294 = $signed(_T_293) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206029.4]
  assign _T_295 = $signed(_T_294); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206030.4]
  assign _T_296 = $signed(_T_295) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206031.4]
  assign _T_297 = mpu_physaddr ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206032.4]
  assign _T_298 = {1'b0,$signed(_T_297)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206033.4]
  assign _T_299 = $signed(_T_298) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206034.4]
  assign _T_300 = $signed(_T_299); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206035.4]
  assign _T_301 = $signed(_T_300) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206036.4]
  assign _T_303 = {1'b0,$signed(mpu_physaddr)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206038.4]
  assign _T_304 = $signed(_T_303) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206039.4]
  assign _T_305 = $signed(_T_304); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206040.4]
  assign _T_306 = $signed(_T_305) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206041.4]
  assign _T_307 = mpu_physaddr ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206042.4]
  assign _T_308 = {1'b0,$signed(_T_307)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206043.4]
  assign _T_309 = $signed(_T_308) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206044.4]
  assign _T_310 = $signed(_T_309); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206045.4]
  assign _T_311 = $signed(_T_310) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206046.4]
  assign _T_312 = mpu_physaddr ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206047.4]
  assign _T_313 = {1'b0,$signed(_T_312)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206048.4]
  assign _T_314 = $signed(_T_313) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206049.4]
  assign _T_315 = $signed(_T_314); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206050.4]
  assign _T_316 = $signed(_T_315) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206051.4]
  assign _T_317 = mpu_physaddr ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206052.4]
  assign _T_318 = {1'b0,$signed(_T_317)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206053.4]
  assign _T_319 = $signed(_T_318) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206054.4]
  assign _T_320 = $signed(_T_319); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206055.4]
  assign _T_321 = $signed(_T_320) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206056.4]
  assign _T_322 = mpu_physaddr ^ 32'h10000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@206057.4]
  assign _T_323 = {1'b0,$signed(_T_322)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@206058.4]
  assign _T_324 = $signed(_T_323) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206059.4]
  assign _T_325 = $signed(_T_324); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206060.4]
  assign _T_326 = $signed(_T_325) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206061.4]
  assign _T_353 = _T_231 | _T_236; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206084.4]
  assign _T_354 = _T_353 | _T_241; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206085.4]
  assign _T_355 = _T_354 | _T_246; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206086.4]
  assign _T_356 = _T_355 | _T_251; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206087.4]
  assign _T_357 = _T_356 | _T_256; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206088.4]
  assign _T_358 = _T_357 | _T_261; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206089.4]
  assign _T_359 = _T_358 | _T_266; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206090.4]
  assign _T_360 = _T_359 | _T_271; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206091.4]
  assign _T_361 = _T_360 | _T_276; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206092.4]
  assign _T_362 = _T_361 | _T_281; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206093.4]
  assign _T_363 = _T_362 | _T_286; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206094.4]
  assign _T_364 = _T_363 | _T_291; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206095.4]
  assign _T_365 = _T_364 | _T_296; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206096.4]
  assign _T_366 = _T_365 | _T_301; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206097.4]
  assign _T_367 = _T_366 | _T_306; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206098.4]
  assign _T_368 = _T_367 | _T_311; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206099.4]
  assign _T_369 = _T_368 | _T_316; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206100.4]
  assign _T_370 = _T_369 | _T_321; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206101.4]
  assign legal_address = _T_370 | _T_326; // @[TLB.scala 191:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206102.4]
  assign _T_481 = $signed(_T_303) & $signed(33'sh36010000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206215.4]
  assign _T_482 = $signed(_T_481); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206216.4]
  assign _T_483 = $signed(_T_482) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206217.4]
  assign _T_486 = $signed(_T_263) & $signed(33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206220.4]
  assign _T_487 = $signed(_T_486); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206221.4]
  assign _T_488 = $signed(_T_487) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206222.4]
  assign _T_668 = $signed(_T_303) & $signed(33'sh36000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206403.4]
  assign _T_669 = $signed(_T_668); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@206404.4]
  assign _T_670 = $signed(_T_669) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@206405.4]
  assign _T_681 = _T_670 | _T_488; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@206416.4]
  assign _T_682 = _T_681 | _T_483; // @[Parameters.scala 148:89:shc.marmotcaravel.MarmotCaravelConfig.fir@206417.4]
  assign _T_689 = legal_address & _T_682; // @[TLB.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@206423.4]
  assign prot_x = _T_689 & pmp_io_x; // @[TLB.scala 200:40:shc.marmotcaravel.MarmotCaravelConfig.fir@206424.4]
  assign _T_1341 = prot_x ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@207427.4]
  assign px_array = {_T_1341,5'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207432.4]
  assign _T_1710 = ~ px_array; // @[TLB.scala 306:23:shc.marmotcaravel.MarmotCaravelConfig.fir@207828.4]
  assign _T_1711 = _T_1710 & 7'h40; // @[TLB.scala 306:33:shc.marmotcaravel.MarmotCaravelConfig.fir@207829.4]
  assign io_resp_paddr = {vpn,_T_223}; // @[TLB.scala 313:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207851.4]
  assign io_resp_ae_inst = _T_1711 != 7'h0; // @[TLB.scala 306:19:shc.marmotcaravel.MarmotCaravelConfig.fir@207831.4]
  assign pmp_io_pmp_0_cfg_l = io_ptw_pmp_0_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205950.4]
  assign pmp_io_pmp_0_cfg_a = io_ptw_pmp_0_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205950.4]
  assign pmp_io_pmp_0_cfg_x = io_ptw_pmp_0_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205950.4]
  assign pmp_io_pmp_0_cfg_w = io_ptw_pmp_0_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205950.4]
  assign pmp_io_pmp_0_cfg_r = io_ptw_pmp_0_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205950.4]
  assign pmp_io_pmp_0_addr = io_ptw_pmp_0_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205950.4]
  assign pmp_io_pmp_0_mask = io_ptw_pmp_0_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205950.4]
  assign pmp_io_pmp_1_cfg_l = io_ptw_pmp_1_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205951.4]
  assign pmp_io_pmp_1_cfg_a = io_ptw_pmp_1_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205951.4]
  assign pmp_io_pmp_1_cfg_x = io_ptw_pmp_1_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205951.4]
  assign pmp_io_pmp_1_cfg_w = io_ptw_pmp_1_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205951.4]
  assign pmp_io_pmp_1_cfg_r = io_ptw_pmp_1_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205951.4]
  assign pmp_io_pmp_1_addr = io_ptw_pmp_1_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205951.4]
  assign pmp_io_pmp_1_mask = io_ptw_pmp_1_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205951.4]
  assign pmp_io_pmp_2_cfg_l = io_ptw_pmp_2_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205952.4]
  assign pmp_io_pmp_2_cfg_a = io_ptw_pmp_2_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205952.4]
  assign pmp_io_pmp_2_cfg_x = io_ptw_pmp_2_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205952.4]
  assign pmp_io_pmp_2_cfg_w = io_ptw_pmp_2_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205952.4]
  assign pmp_io_pmp_2_cfg_r = io_ptw_pmp_2_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205952.4]
  assign pmp_io_pmp_2_addr = io_ptw_pmp_2_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205952.4]
  assign pmp_io_pmp_2_mask = io_ptw_pmp_2_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205952.4]
  assign pmp_io_pmp_3_cfg_l = io_ptw_pmp_3_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205953.4]
  assign pmp_io_pmp_3_cfg_a = io_ptw_pmp_3_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205953.4]
  assign pmp_io_pmp_3_cfg_x = io_ptw_pmp_3_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205953.4]
  assign pmp_io_pmp_3_cfg_w = io_ptw_pmp_3_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205953.4]
  assign pmp_io_pmp_3_cfg_r = io_ptw_pmp_3_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205953.4]
  assign pmp_io_pmp_3_addr = io_ptw_pmp_3_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205953.4]
  assign pmp_io_pmp_3_mask = io_ptw_pmp_3_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205953.4]
  assign pmp_io_pmp_4_cfg_l = io_ptw_pmp_4_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205954.4]
  assign pmp_io_pmp_4_cfg_a = io_ptw_pmp_4_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205954.4]
  assign pmp_io_pmp_4_cfg_x = io_ptw_pmp_4_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205954.4]
  assign pmp_io_pmp_4_cfg_w = io_ptw_pmp_4_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205954.4]
  assign pmp_io_pmp_4_cfg_r = io_ptw_pmp_4_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205954.4]
  assign pmp_io_pmp_4_addr = io_ptw_pmp_4_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205954.4]
  assign pmp_io_pmp_4_mask = io_ptw_pmp_4_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205954.4]
  assign pmp_io_pmp_5_cfg_l = io_ptw_pmp_5_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205955.4]
  assign pmp_io_pmp_5_cfg_a = io_ptw_pmp_5_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205955.4]
  assign pmp_io_pmp_5_cfg_x = io_ptw_pmp_5_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205955.4]
  assign pmp_io_pmp_5_cfg_w = io_ptw_pmp_5_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205955.4]
  assign pmp_io_pmp_5_cfg_r = io_ptw_pmp_5_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205955.4]
  assign pmp_io_pmp_5_addr = io_ptw_pmp_5_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205955.4]
  assign pmp_io_pmp_5_mask = io_ptw_pmp_5_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205955.4]
  assign pmp_io_pmp_6_cfg_l = io_ptw_pmp_6_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205956.4]
  assign pmp_io_pmp_6_cfg_a = io_ptw_pmp_6_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205956.4]
  assign pmp_io_pmp_6_cfg_x = io_ptw_pmp_6_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205956.4]
  assign pmp_io_pmp_6_cfg_w = io_ptw_pmp_6_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205956.4]
  assign pmp_io_pmp_6_cfg_r = io_ptw_pmp_6_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205956.4]
  assign pmp_io_pmp_6_addr = io_ptw_pmp_6_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205956.4]
  assign pmp_io_pmp_6_mask = io_ptw_pmp_6_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205956.4]
  assign pmp_io_pmp_7_cfg_l = io_ptw_pmp_7_cfg_l; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205957.4]
  assign pmp_io_pmp_7_cfg_a = io_ptw_pmp_7_cfg_a; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205957.4]
  assign pmp_io_pmp_7_cfg_x = io_ptw_pmp_7_cfg_x; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205957.4]
  assign pmp_io_pmp_7_cfg_w = io_ptw_pmp_7_cfg_w; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205957.4]
  assign pmp_io_pmp_7_cfg_r = io_ptw_pmp_7_cfg_r; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205957.4]
  assign pmp_io_pmp_7_addr = io_ptw_pmp_7_addr; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205957.4]
  assign pmp_io_pmp_7_mask = io_ptw_pmp_7_mask; // @[TLB.scala 189:14:shc.marmotcaravel.MarmotCaravelConfig.fir@205957.4]
  assign pmp_io_addr = {mpu_ppn,_T_223}; // @[TLB.scala 187:15:shc.marmotcaravel.MarmotCaravelConfig.fir@205948.4]
endmodule
module BTB( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207858.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207859.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207860.4]
  input  [31:0] io_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  output        io_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  output        io_resp_bits_taken, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  output        io_resp_bits_bridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  output [31:0] io_resp_bits_target, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  output [4:0]  io_resp_bits_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  output [7:0]  io_resp_bits_bht_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  output        io_resp_bits_bht_value, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  input         io_btb_update_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  input  [4:0]  io_btb_update_bits_prediction_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  input  [31:0] io_btb_update_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  input         io_btb_update_bits_isValid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  input  [31:0] io_btb_update_bits_br_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  input  [1:0]  io_btb_update_bits_cfiType, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  input         io_bht_update_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  input  [7:0]  io_bht_update_bits_prediction_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  input  [31:0] io_bht_update_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  input         io_bht_update_bits_branch, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  input         io_bht_update_bits_taken, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  input         io_bht_update_bits_mispredict, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  input         io_bht_advance_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  input         io_bht_advance_bits_bht_value, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  input         io_ras_update_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  input  [1:0]  io_ras_update_bits_cfiType, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  input  [31:0] io_ras_update_bits_returnAddr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  output        io_ras_head_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  output [31:0] io_ras_head_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
  input         io_flush // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@207861.4]
);
  reg  _T_1161 [0:511]; // @[BTB.scala 113:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208869.4]
  reg [31:0] _RAND_0;
  wire  _T_1161__T_1232_data; // @[BTB.scala 113:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208869.4]
  wire [8:0] _T_1161__T_1232_addr; // @[BTB.scala 113:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208869.4]
  wire  _T_1161__T_1245_data; // @[BTB.scala 113:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208869.4]
  wire [8:0] _T_1161__T_1245_addr; // @[BTB.scala 113:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208869.4]
  wire  _T_1161__T_1245_mask; // @[BTB.scala 113:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208869.4]
  wire  _T_1161__T_1245_en; // @[BTB.scala 113:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208869.4]
  reg [12:0] idxs_0; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_1;
  reg [12:0] idxs_1; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_2;
  reg [12:0] idxs_2; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_3;
  reg [12:0] idxs_3; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_4;
  reg [12:0] idxs_4; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_5;
  reg [12:0] idxs_5; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_6;
  reg [12:0] idxs_6; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_7;
  reg [12:0] idxs_7; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_8;
  reg [12:0] idxs_8; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_9;
  reg [12:0] idxs_9; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_10;
  reg [12:0] idxs_10; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_11;
  reg [12:0] idxs_11; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_12;
  reg [12:0] idxs_12; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_13;
  reg [12:0] idxs_13; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_14;
  reg [12:0] idxs_14; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_15;
  reg [12:0] idxs_15; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_16;
  reg [12:0] idxs_16; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_17;
  reg [12:0] idxs_17; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_18;
  reg [12:0] idxs_18; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_19;
  reg [12:0] idxs_19; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_20;
  reg [12:0] idxs_20; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_21;
  reg [12:0] idxs_21; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_22;
  reg [12:0] idxs_22; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_23;
  reg [12:0] idxs_23; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_24;
  reg [12:0] idxs_24; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_25;
  reg [12:0] idxs_25; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_26;
  reg [12:0] idxs_26; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_27;
  reg [12:0] idxs_27; // @[BTB.scala 188:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207866.4]
  reg [31:0] _RAND_28;
  reg [2:0] idxPages_0; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_29;
  reg [2:0] idxPages_1; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_30;
  reg [2:0] idxPages_2; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_31;
  reg [2:0] idxPages_3; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_32;
  reg [2:0] idxPages_4; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_33;
  reg [2:0] idxPages_5; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_34;
  reg [2:0] idxPages_6; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_35;
  reg [2:0] idxPages_7; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_36;
  reg [2:0] idxPages_8; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_37;
  reg [2:0] idxPages_9; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_38;
  reg [2:0] idxPages_10; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_39;
  reg [2:0] idxPages_11; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_40;
  reg [2:0] idxPages_12; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_41;
  reg [2:0] idxPages_13; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_42;
  reg [2:0] idxPages_14; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_43;
  reg [2:0] idxPages_15; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_44;
  reg [2:0] idxPages_16; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_45;
  reg [2:0] idxPages_17; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_46;
  reg [2:0] idxPages_18; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_47;
  reg [2:0] idxPages_19; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_48;
  reg [2:0] idxPages_20; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_49;
  reg [2:0] idxPages_21; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_50;
  reg [2:0] idxPages_22; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_51;
  reg [2:0] idxPages_23; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_52;
  reg [2:0] idxPages_24; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_53;
  reg [2:0] idxPages_25; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_54;
  reg [2:0] idxPages_26; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_55;
  reg [2:0] idxPages_27; // @[BTB.scala 189:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207867.4]
  reg [31:0] _RAND_56;
  reg [12:0] tgts_0; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_57;
  reg [12:0] tgts_1; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_58;
  reg [12:0] tgts_2; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_59;
  reg [12:0] tgts_3; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_60;
  reg [12:0] tgts_4; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_61;
  reg [12:0] tgts_5; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_62;
  reg [12:0] tgts_6; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_63;
  reg [12:0] tgts_7; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_64;
  reg [12:0] tgts_8; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_65;
  reg [12:0] tgts_9; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_66;
  reg [12:0] tgts_10; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_67;
  reg [12:0] tgts_11; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_68;
  reg [12:0] tgts_12; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_69;
  reg [12:0] tgts_13; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_70;
  reg [12:0] tgts_14; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_71;
  reg [12:0] tgts_15; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_72;
  reg [12:0] tgts_16; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_73;
  reg [12:0] tgts_17; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_74;
  reg [12:0] tgts_18; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_75;
  reg [12:0] tgts_19; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_76;
  reg [12:0] tgts_20; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_77;
  reg [12:0] tgts_21; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_78;
  reg [12:0] tgts_22; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_79;
  reg [12:0] tgts_23; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_80;
  reg [12:0] tgts_24; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_81;
  reg [12:0] tgts_25; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_82;
  reg [12:0] tgts_26; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_83;
  reg [12:0] tgts_27; // @[BTB.scala 190:17:shc.marmotcaravel.MarmotCaravelConfig.fir@207868.4]
  reg [31:0] _RAND_84;
  reg [2:0] tgtPages_0; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_85;
  reg [2:0] tgtPages_1; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_86;
  reg [2:0] tgtPages_2; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_87;
  reg [2:0] tgtPages_3; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_88;
  reg [2:0] tgtPages_4; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_89;
  reg [2:0] tgtPages_5; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_90;
  reg [2:0] tgtPages_6; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_91;
  reg [2:0] tgtPages_7; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_92;
  reg [2:0] tgtPages_8; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_93;
  reg [2:0] tgtPages_9; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_94;
  reg [2:0] tgtPages_10; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_95;
  reg [2:0] tgtPages_11; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_96;
  reg [2:0] tgtPages_12; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_97;
  reg [2:0] tgtPages_13; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_98;
  reg [2:0] tgtPages_14; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_99;
  reg [2:0] tgtPages_15; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_100;
  reg [2:0] tgtPages_16; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_101;
  reg [2:0] tgtPages_17; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_102;
  reg [2:0] tgtPages_18; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_103;
  reg [2:0] tgtPages_19; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_104;
  reg [2:0] tgtPages_20; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_105;
  reg [2:0] tgtPages_21; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_106;
  reg [2:0] tgtPages_22; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_107;
  reg [2:0] tgtPages_23; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_108;
  reg [2:0] tgtPages_24; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_109;
  reg [2:0] tgtPages_25; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_110;
  reg [2:0] tgtPages_26; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_111;
  reg [2:0] tgtPages_27; // @[BTB.scala 191:21:shc.marmotcaravel.MarmotCaravelConfig.fir@207869.4]
  reg [31:0] _RAND_112;
  reg [17:0] pages_0; // @[BTB.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207870.4]
  reg [31:0] _RAND_113;
  reg [17:0] pages_1; // @[BTB.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207870.4]
  reg [31:0] _RAND_114;
  reg [17:0] pages_2; // @[BTB.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207870.4]
  reg [31:0] _RAND_115;
  reg [17:0] pages_3; // @[BTB.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207870.4]
  reg [31:0] _RAND_116;
  reg [17:0] pages_4; // @[BTB.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207870.4]
  reg [31:0] _RAND_117;
  reg [17:0] pages_5; // @[BTB.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207870.4]
  reg [31:0] _RAND_118;
  reg [5:0] pageValid; // @[BTB.scala 193:22:shc.marmotcaravel.MarmotCaravelConfig.fir@207871.4]
  reg [31:0] _RAND_119;
  reg [27:0] isValid; // @[BTB.scala 195:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207872.4]
  reg [31:0] _RAND_120;
  reg [1:0] cfiType_0; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_121;
  reg [1:0] cfiType_1; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_122;
  reg [1:0] cfiType_2; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_123;
  reg [1:0] cfiType_3; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_124;
  reg [1:0] cfiType_4; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_125;
  reg [1:0] cfiType_5; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_126;
  reg [1:0] cfiType_6; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_127;
  reg [1:0] cfiType_7; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_128;
  reg [1:0] cfiType_8; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_129;
  reg [1:0] cfiType_9; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_130;
  reg [1:0] cfiType_10; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_131;
  reg [1:0] cfiType_11; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_132;
  reg [1:0] cfiType_12; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_133;
  reg [1:0] cfiType_13; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_134;
  reg [1:0] cfiType_14; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_135;
  reg [1:0] cfiType_15; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_136;
  reg [1:0] cfiType_16; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_137;
  reg [1:0] cfiType_17; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_138;
  reg [1:0] cfiType_18; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_139;
  reg [1:0] cfiType_19; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_140;
  reg [1:0] cfiType_20; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_141;
  reg [1:0] cfiType_21; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_142;
  reg [1:0] cfiType_22; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_143;
  reg [1:0] cfiType_23; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_144;
  reg [1:0] cfiType_24; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_145;
  reg [1:0] cfiType_25; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_146;
  reg [1:0] cfiType_26; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_147;
  reg [1:0] cfiType_27; // @[BTB.scala 196:20:shc.marmotcaravel.MarmotCaravelConfig.fir@207873.4]
  reg [31:0] _RAND_148;
  reg  brIdx_0; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_149;
  reg  brIdx_1; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_150;
  reg  brIdx_2; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_151;
  reg  brIdx_3; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_152;
  reg  brIdx_4; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_153;
  reg  brIdx_5; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_154;
  reg  brIdx_6; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_155;
  reg  brIdx_7; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_156;
  reg  brIdx_8; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_157;
  reg  brIdx_9; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_158;
  reg  brIdx_10; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_159;
  reg  brIdx_11; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_160;
  reg  brIdx_12; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_161;
  reg  brIdx_13; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_162;
  reg  brIdx_14; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_163;
  reg  brIdx_15; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_164;
  reg  brIdx_16; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_165;
  reg  brIdx_17; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_166;
  reg  brIdx_18; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_167;
  reg  brIdx_19; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_168;
  reg  brIdx_20; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_169;
  reg  brIdx_21; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_170;
  reg  brIdx_22; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_171;
  reg  brIdx_23; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_172;
  reg  brIdx_24; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_173;
  reg  brIdx_25; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_174;
  reg  brIdx_26; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_175;
  reg  brIdx_27; // @[BTB.scala 197:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207874.4]
  reg [31:0] _RAND_176;
  reg  r_btb_update_valid; // @[Valid.scala 48:22:shc.marmotcaravel.MarmotCaravelConfig.fir@207875.4]
  reg [31:0] _RAND_177;
  reg [4:0] r_btb_update_bits_prediction_entry; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207877.4]
  reg [31:0] _RAND_178;
  reg [31:0] r_btb_update_bits_pc; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207877.4]
  reg [31:0] _RAND_179;
  reg  r_btb_update_bits_isValid; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207877.4]
  reg [31:0] _RAND_180;
  reg [31:0] r_btb_update_bits_br_pc; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207877.4]
  reg [31:0] _RAND_181;
  reg [1:0] r_btb_update_bits_cfiType; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207877.4]
  reg [31:0] _RAND_182;
  wire [17:0] _T_248; // @[BTB.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@207898.4]
  wire  _T_249; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207899.4]
  wire  _T_250; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207900.4]
  wire  _T_251; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207901.4]
  wire  _T_252; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207902.4]
  wire  _T_253; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207903.4]
  wire  _T_254; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207904.4]
  wire [1:0] _T_255; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207905.4]
  wire [2:0] _T_256; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207906.4]
  wire [1:0] _T_257; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207907.4]
  wire [2:0] _T_258; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207908.4]
  wire [5:0] _T_259; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207909.4]
  wire [5:0] pageHit; // @[BTB.scala 202:15:shc.marmotcaravel.MarmotCaravelConfig.fir@207910.4]
  wire [12:0] _T_260; // @[BTB.scala 205:19:shc.marmotcaravel.MarmotCaravelConfig.fir@207911.4]
  wire  _T_261; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207912.4]
  wire  _T_262; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207913.4]
  wire  _T_263; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207914.4]
  wire  _T_264; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207915.4]
  wire  _T_265; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207916.4]
  wire  _T_266; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207917.4]
  wire  _T_267; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207918.4]
  wire  _T_268; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207919.4]
  wire  _T_269; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207920.4]
  wire  _T_270; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207921.4]
  wire  _T_271; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207922.4]
  wire  _T_272; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207923.4]
  wire  _T_273; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207924.4]
  wire  _T_274; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207925.4]
  wire  _T_275; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207926.4]
  wire  _T_276; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207927.4]
  wire  _T_277; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207928.4]
  wire  _T_278; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207929.4]
  wire  _T_279; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207930.4]
  wire  _T_280; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207931.4]
  wire  _T_281; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207932.4]
  wire  _T_282; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207933.4]
  wire  _T_283; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207934.4]
  wire  _T_284; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207935.4]
  wire  _T_285; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207936.4]
  wire  _T_286; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207937.4]
  wire  _T_287; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207938.4]
  wire  _T_288; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207939.4]
  wire [1:0] _T_289; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207940.4]
  wire [2:0] _T_290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207941.4]
  wire [1:0] _T_291; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207942.4]
  wire [1:0] _T_292; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207943.4]
  wire [3:0] _T_293; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207944.4]
  wire [6:0] _T_294; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207945.4]
  wire [1:0] _T_295; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207946.4]
  wire [2:0] _T_296; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207947.4]
  wire [1:0] _T_297; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207948.4]
  wire [1:0] _T_298; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207949.4]
  wire [3:0] _T_299; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207950.4]
  wire [6:0] _T_300; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207951.4]
  wire [13:0] _T_301; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207952.4]
  wire [1:0] _T_302; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207953.4]
  wire [2:0] _T_303; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207954.4]
  wire [1:0] _T_304; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207955.4]
  wire [1:0] _T_305; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207956.4]
  wire [3:0] _T_306; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207957.4]
  wire [6:0] _T_307; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207958.4]
  wire [1:0] _T_308; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207959.4]
  wire [2:0] _T_309; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207960.4]
  wire [1:0] _T_310; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207961.4]
  wire [1:0] _T_311; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207962.4]
  wire [3:0] _T_312; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207963.4]
  wire [6:0] _T_313; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207964.4]
  wire [13:0] _T_314; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207965.4]
  wire [27:0] _T_315; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207966.4]
  wire [27:0] idxHit; // @[BTB.scala 206:32:shc.marmotcaravel.MarmotCaravelConfig.fir@207967.4]
  wire [17:0] _T_316; // @[BTB.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@207968.4]
  wire  _T_317; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207969.4]
  wire  _T_318; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207970.4]
  wire  _T_319; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207971.4]
  wire  _T_320; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207972.4]
  wire  _T_321; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207973.4]
  wire  _T_322; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207974.4]
  wire [1:0] _T_323; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207975.4]
  wire [2:0] _T_324; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207976.4]
  wire [1:0] _T_325; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207977.4]
  wire [2:0] _T_326; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207978.4]
  wire [5:0] _T_327; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207979.4]
  wire [5:0] updatePageHit; // @[BTB.scala 202:15:shc.marmotcaravel.MarmotCaravelConfig.fir@207980.4]
  wire  updateHit; // @[BTB.scala 220:48:shc.marmotcaravel.MarmotCaravelConfig.fir@207981.4]
  wire  useUpdatePageHit; // @[BTB.scala 222:40:shc.marmotcaravel.MarmotCaravelConfig.fir@207982.4]
  wire  usePageHit; // @[BTB.scala 223:28:shc.marmotcaravel.MarmotCaravelConfig.fir@207983.4]
  wire  doIdxPageRepl; // @[BTB.scala 224:23:shc.marmotcaravel.MarmotCaravelConfig.fir@207984.4]
  reg [2:0] nextPageRepl; // @[BTB.scala 225:25:shc.marmotcaravel.MarmotCaravelConfig.fir@207985.4]
  reg [31:0] _RAND_183;
  wire [4:0] _T_329; // @[BTB.scala 226:32:shc.marmotcaravel.MarmotCaravelConfig.fir@207986.4]
  wire  _T_330; // @[BTB.scala 226:53:shc.marmotcaravel.MarmotCaravelConfig.fir@207987.4]
  wire [5:0] _T_331; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207988.4]
  wire [7:0] _T_332; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@207989.4]
  wire [7:0] _T_333; // @[BTB.scala 226:70:shc.marmotcaravel.MarmotCaravelConfig.fir@207990.4]
  wire [7:0] _GEN_438; // @[BTB.scala 226:65:shc.marmotcaravel.MarmotCaravelConfig.fir@207991.4]
  wire [7:0] idxPageRepl; // @[BTB.scala 226:65:shc.marmotcaravel.MarmotCaravelConfig.fir@207991.4]
  wire [7:0] idxPageUpdateOH; // @[BTB.scala 227:28:shc.marmotcaravel.MarmotCaravelConfig.fir@207992.4]
  wire [3:0] _T_334; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207993.4]
  wire [3:0] _T_335; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207994.4]
  wire  _T_336; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@207995.4]
  wire [3:0] _T_337; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@207996.4]
  wire [1:0] _T_338; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207997.4]
  wire [1:0] _T_339; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207998.4]
  wire  _T_340; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@207999.4]
  wire [1:0] _T_341; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208000.4]
  wire  _T_342; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@208001.4]
  wire [1:0] _T_343; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208002.4]
  wire [2:0] idxPageUpdate; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208003.4]
  wire [7:0] idxPageReplEn; // @[BTB.scala 229:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208004.4]
  wire  samePage; // @[BTB.scala 231:45:shc.marmotcaravel.MarmotCaravelConfig.fir@208007.4]
  wire  _T_346; // @[BTB.scala 232:23:shc.marmotcaravel.MarmotCaravelConfig.fir@208008.4]
  wire  _T_347; // @[BTB.scala 232:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208009.4]
  wire  doTgtPageRepl; // @[BTB.scala 232:33:shc.marmotcaravel.MarmotCaravelConfig.fir@208010.4]
  wire [4:0] _T_348; // @[BTB.scala 233:71:shc.marmotcaravel.MarmotCaravelConfig.fir@208011.4]
  wire  _T_349; // @[BTB.scala 233:100:shc.marmotcaravel.MarmotCaravelConfig.fir@208012.4]
  wire [5:0] _T_350; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208013.4]
  wire [7:0] tgtPageRepl; // @[BTB.scala 233:24:shc.marmotcaravel.MarmotCaravelConfig.fir@208014.4]
  wire [7:0] _T_351; // @[BTB.scala 234:45:shc.marmotcaravel.MarmotCaravelConfig.fir@208015.4]
  wire [7:0] _GEN_439; // @[BTB.scala 234:40:shc.marmotcaravel.MarmotCaravelConfig.fir@208016.4]
  wire [7:0] _T_352; // @[BTB.scala 234:40:shc.marmotcaravel.MarmotCaravelConfig.fir@208016.4]
  wire [3:0] _T_353; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208017.4]
  wire [3:0] _T_354; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208018.4]
  wire  _T_355; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@208019.4]
  wire [3:0] _T_356; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208020.4]
  wire [1:0] _T_357; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208021.4]
  wire [1:0] _T_358; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208022.4]
  wire  _T_359; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@208023.4]
  wire [1:0] _T_360; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208024.4]
  wire  _T_361; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@208025.4]
  wire [1:0] _T_362; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208026.4]
  wire [2:0] tgtPageUpdate; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208027.4]
  wire [7:0] tgtPageReplEn; // @[BTB.scala 235:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208028.4]
  wire  _T_363; // @[BTB.scala 237:46:shc.marmotcaravel.MarmotCaravelConfig.fir@208029.4]
  wire  _T_364; // @[BTB.scala 237:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208030.4]
  wire  _T_365; // @[BTB.scala 238:30:shc.marmotcaravel.MarmotCaravelConfig.fir@208032.6]
  wire [1:0] _T_366; // @[BTB.scala 239:40:shc.marmotcaravel.MarmotCaravelConfig.fir@208033.6]
  wire [2:0] _GEN_440; // @[BTB.scala 239:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208034.6]
  wire [2:0] _T_368; // @[BTB.scala 239:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208035.6]
  wire  _T_369; // @[BTB.scala 240:30:shc.marmotcaravel.MarmotCaravelConfig.fir@208036.6]
  wire  _T_370; // @[BTB.scala 240:45:shc.marmotcaravel.MarmotCaravelConfig.fir@208037.6]
  reg [26:0] _T_373; // @[Replacement.scala 41:30:shc.marmotcaravel.MarmotCaravelConfig.fir@208041.4]
  reg [31:0] _RAND_184;
  wire [27:0] _GEN_441; // @[Replacement.scala 57:31:shc.marmotcaravel.MarmotCaravelConfig.fir@208042.4]
  wire [27:0] _T_374; // @[Replacement.scala 57:31:shc.marmotcaravel.MarmotCaravelConfig.fir@208042.4]
  wire [27:0] _T_378; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208046.4]
  wire  _T_379; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208047.4]
  wire [1:0] _T_381; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208049.4]
  wire [5:0] _T_382; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208050.4]
  wire [4:0] _T_383; // @[Replacement.scala 60:53:shc.marmotcaravel.MarmotCaravelConfig.fir@208051.4]
  wire  _T_384; // @[Replacement.scala 60:70:shc.marmotcaravel.MarmotCaravelConfig.fir@208052.4]
  wire [27:0] _T_385; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208053.4]
  wire  _T_386; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208054.4]
  wire  _T_387; // @[Replacement.scala 61:32:shc.marmotcaravel.MarmotCaravelConfig.fir@208055.4]
  wire [2:0] _T_388; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208056.4]
  wire [5:0] _T_389; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208057.4]
  wire [4:0] _T_390; // @[Replacement.scala 60:53:shc.marmotcaravel.MarmotCaravelConfig.fir@208058.4]
  wire  _T_391; // @[Replacement.scala 60:70:shc.marmotcaravel.MarmotCaravelConfig.fir@208059.4]
  wire [27:0] _T_392; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208060.4]
  wire  _T_393; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208061.4]
  wire  _T_394; // @[Replacement.scala 61:32:shc.marmotcaravel.MarmotCaravelConfig.fir@208062.4]
  wire [3:0] _T_395; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208063.4]
  wire [5:0] _T_396; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208064.4]
  wire [4:0] _T_397; // @[Replacement.scala 60:53:shc.marmotcaravel.MarmotCaravelConfig.fir@208065.4]
  wire  _T_398; // @[Replacement.scala 60:70:shc.marmotcaravel.MarmotCaravelConfig.fir@208066.4]
  wire [27:0] _T_399; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208067.4]
  wire  _T_400; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208068.4]
  wire  _T_401; // @[Replacement.scala 61:32:shc.marmotcaravel.MarmotCaravelConfig.fir@208069.4]
  wire [4:0] _T_402; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208070.4]
  wire [5:0] _T_403; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208071.4]
  wire [4:0] _T_404; // @[Replacement.scala 60:53:shc.marmotcaravel.MarmotCaravelConfig.fir@208072.4]
  wire  _T_405; // @[Replacement.scala 60:70:shc.marmotcaravel.MarmotCaravelConfig.fir@208073.4]
  wire [27:0] _T_406; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208074.4]
  wire  _T_407; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208075.4]
  wire  _T_408; // @[Replacement.scala 61:32:shc.marmotcaravel.MarmotCaravelConfig.fir@208076.4]
  wire [5:0] _T_409; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208077.4]
  wire [4:0] _T_410; // @[Replacement.scala 63:8:shc.marmotcaravel.MarmotCaravelConfig.fir@208078.4]
  wire [4:0] waddr; // @[BTB.scala 244:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208079.4]
  reg  r_resp_valid; // @[Valid.scala 48:22:shc.marmotcaravel.MarmotCaravelConfig.fir@208080.4]
  reg [31:0] _RAND_185;
  reg  r_resp_bits_taken; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208082.4]
  reg [31:0] _RAND_186;
  reg [4:0] r_resp_bits_entry; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208082.4]
  reg [31:0] _RAND_187;
  wire  _T_419; // @[BTB.scala 246:22:shc.marmotcaravel.MarmotCaravelConfig.fir@208097.4]
  wire  _T_420; // @[BTB.scala 246:43:shc.marmotcaravel.MarmotCaravelConfig.fir@208098.4]
  wire [4:0] _T_421; // @[BTB.scala 247:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208100.6]
  wire  _T_423; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208102.6]
  wire  _T_424; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@208103.6]
  wire [1:0] _T_425; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208104.6]
  wire [27:0] _GEN_443; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208105.6]
  wire [27:0] _T_426; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208105.6]
  wire [27:0] _T_427; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208106.6]
  wire [27:0] _T_428; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208107.6]
  wire [27:0] _T_429; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208108.6]
  wire [27:0] _T_430; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208109.6]
  wire [1:0] _T_431; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208110.6]
  wire  _T_432; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208111.6]
  wire  _T_433; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@208112.6]
  wire [3:0] _T_434; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208113.6]
  wire [27:0] _GEN_445; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208114.6]
  wire [27:0] _T_435; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208114.6]
  wire [27:0] _T_436; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208115.6]
  wire [27:0] _T_437; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208116.6]
  wire [27:0] _T_438; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208117.6]
  wire [27:0] _T_439; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208118.6]
  wire [2:0] _T_440; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208119.6]
  wire  _T_441; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208120.6]
  wire  _T_442; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@208121.6]
  wire [7:0] _T_443; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208122.6]
  wire [27:0] _GEN_447; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208123.6]
  wire [27:0] _T_444; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208123.6]
  wire [27:0] _T_445; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208124.6]
  wire [27:0] _T_446; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208125.6]
  wire [27:0] _T_447; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208126.6]
  wire [27:0] _T_448; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208127.6]
  wire [3:0] _T_449; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208128.6]
  wire  _T_450; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208129.6]
  wire  _T_451; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@208130.6]
  wire [15:0] _T_452; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208131.6]
  wire [27:0] _GEN_449; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208132.6]
  wire [27:0] _T_453; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208132.6]
  wire [27:0] _T_454; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208133.6]
  wire [27:0] _T_455; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208134.6]
  wire [27:0] _T_456; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208135.6]
  wire [27:0] _T_457; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208136.6]
  wire [4:0] _T_458; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208137.6]
  wire  _T_459; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208138.6]
  wire  _T_460; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@208139.6]
  wire [31:0] _T_461; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208140.6]
  wire [31:0] _GEN_451; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208141.6]
  wire [31:0] _T_462; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208141.6]
  wire [27:0] _T_463; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208142.6]
  wire [31:0] _GEN_452; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208143.6]
  wire [31:0] _T_464; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208143.6]
  wire [31:0] _T_465; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208144.6]
  wire [31:0] _T_466; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208145.6]
  wire [26:0] _T_468; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@208147.6]
  wire [31:0] _T_469; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@208151.6]
  wire [12:0] _T_471; // @[BTB.scala 252:40:shc.marmotcaravel.MarmotCaravelConfig.fir@208152.6]
  wire [3:0] _T_475; // @[BTB.scala 254:38:shc.marmotcaravel.MarmotCaravelConfig.fir@208156.6]
  wire [2:0] _idxPages_waddr; // @[BTB.scala 254:21:shc.marmotcaravel.MarmotCaravelConfig.fir@208157.6 BTB.scala 254:21:shc.marmotcaravel.MarmotCaravelConfig.fir@208157.6]
  wire [31:0] _GEN_453; // @[BTB.scala 257:55:shc.marmotcaravel.MarmotCaravelConfig.fir@208160.6]
  wire [31:0] _T_478; // @[BTB.scala 257:55:shc.marmotcaravel.MarmotCaravelConfig.fir@208160.6]
  wire [31:0] _T_479; // @[BTB.scala 257:73:shc.marmotcaravel.MarmotCaravelConfig.fir@208161.6]
  wire [31:0] _T_480; // @[BTB.scala 257:71:shc.marmotcaravel.MarmotCaravelConfig.fir@208162.6]
  wire [31:0] _T_481; // @[BTB.scala 257:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208163.6]
  wire [30:0] _T_483; // @[BTB.scala 259:47:shc.marmotcaravel.MarmotCaravelConfig.fir@208165.6]
  wire  _brIdx_waddr; // @[BTB.scala 259:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208166.6 BTB.scala 259:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208166.6]
  wire  _T_484; // @[BTB.scala 262:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208167.6]
  wire  _T_485; // @[BTB.scala 262:25:shc.marmotcaravel.MarmotCaravelConfig.fir@208168.6]
  wire [7:0] _T_486; // @[BTB.scala 268:24:shc.marmotcaravel.MarmotCaravelConfig.fir@208169.6]
  wire  _T_490; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208173.6]
  wire  _T_491; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208177.6]
  wire  _T_492; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208181.6]
  wire [7:0] _T_493; // @[BTB.scala 270:24:shc.marmotcaravel.MarmotCaravelConfig.fir@208185.6]
  wire  _T_497; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208189.6]
  wire  _T_498; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208193.6]
  wire  _T_499; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208197.6]
  wire [7:0] _GEN_455; // @[BTB.scala 272:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208201.6]
  wire [7:0] _T_500; // @[BTB.scala 272:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208201.6]
  wire [7:0] _T_501; // @[BTB.scala 272:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208202.6]
  wire [31:0] _GEN_338; // @[BTB.scala 250:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208150.4]
  wire [7:0] _GEN_373; // @[BTB.scala 250:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208150.4]
  wire [6:0] _GEN_456; // @[BTB.scala 275:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208205.4]
  wire [6:0] _T_502; // @[BTB.scala 275:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208205.4]
  wire  _T_503; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208206.4]
  wire  _T_504; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208207.4]
  wire  _T_505; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208208.4]
  wire  _T_506; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208209.4]
  wire  _T_507; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208210.4]
  wire  _T_508; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208211.4]
  wire  _T_509; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208212.4]
  wire  _T_510; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208213.4]
  wire  _T_511; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208214.4]
  wire  _T_512; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208215.4]
  wire  _T_513; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208216.4]
  wire  _T_514; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208217.4]
  wire  _T_515; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208218.4]
  wire  _T_516; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208219.4]
  wire  _T_517; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208220.4]
  wire  _T_518; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208221.4]
  wire  _T_519; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208222.4]
  wire  _T_520; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208223.4]
  wire  _T_521; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208224.4]
  wire  _T_522; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208225.4]
  wire  _T_523; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208226.4]
  wire  _T_524; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208227.4]
  wire  _T_525; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208228.4]
  wire  _T_526; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208229.4]
  wire  _T_527; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208230.4]
  wire  _T_528; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208231.4]
  wire  _T_529; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208232.4]
  wire  _T_530; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208233.4]
  wire [2:0] _T_532; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208234.4]
  wire [2:0] _T_533; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208235.4]
  wire [2:0] _T_534; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208236.4]
  wire [2:0] _T_535; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208237.4]
  wire [2:0] _T_536; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208238.4]
  wire [2:0] _T_537; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208239.4]
  wire [2:0] _T_538; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208240.4]
  wire [2:0] _T_539; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208241.4]
  wire [2:0] _T_540; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208242.4]
  wire [2:0] _T_541; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208243.4]
  wire [2:0] _T_542; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208244.4]
  wire [2:0] _T_543; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208245.4]
  wire [2:0] _T_544; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208246.4]
  wire [2:0] _T_545; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208247.4]
  wire [2:0] _T_546; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208248.4]
  wire [2:0] _T_547; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208249.4]
  wire [2:0] _T_548; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208250.4]
  wire [2:0] _T_549; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208251.4]
  wire [2:0] _T_550; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208252.4]
  wire [2:0] _T_551; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208253.4]
  wire [2:0] _T_552; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208254.4]
  wire [2:0] _T_553; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208255.4]
  wire [2:0] _T_554; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208256.4]
  wire [2:0] _T_555; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208257.4]
  wire [2:0] _T_556; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208258.4]
  wire [2:0] _T_557; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208259.4]
  wire [2:0] _T_558; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208260.4]
  wire [2:0] _T_559; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208261.4]
  wire [2:0] _T_560; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208262.4]
  wire [2:0] _T_561; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208263.4]
  wire [2:0] _T_562; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208264.4]
  wire [2:0] _T_563; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208265.4]
  wire [2:0] _T_564; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208266.4]
  wire [2:0] _T_565; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208267.4]
  wire [2:0] _T_566; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208268.4]
  wire [2:0] _T_567; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208269.4]
  wire [2:0] _T_568; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208270.4]
  wire [2:0] _T_569; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208271.4]
  wire [2:0] _T_570; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208272.4]
  wire [2:0] _T_571; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208273.4]
  wire [2:0] _T_572; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208274.4]
  wire [2:0] _T_573; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208275.4]
  wire [2:0] _T_574; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208276.4]
  wire [2:0] _T_575; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208277.4]
  wire [2:0] _T_576; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208278.4]
  wire [2:0] _T_577; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208279.4]
  wire [2:0] _T_578; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208280.4]
  wire [2:0] _T_579; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208281.4]
  wire [2:0] _T_580; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208282.4]
  wire [2:0] _T_581; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208283.4]
  wire [2:0] _T_582; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208284.4]
  wire [2:0] _T_583; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208285.4]
  wire [2:0] _T_584; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208286.4]
  wire [2:0] _T_585; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208287.4]
  wire [2:0] _T_586; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208288.4]
  wire [6:0] _T_589; // @[BTB.scala 275:34:shc.marmotcaravel.MarmotCaravelConfig.fir@208291.4]
  wire [2:0] _T_620; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208323.4]
  wire [2:0] _T_621; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208324.4]
  wire [2:0] _T_622; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208325.4]
  wire [2:0] _T_623; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208326.4]
  wire [2:0] _T_624; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208327.4]
  wire [2:0] _T_625; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208328.4]
  wire [2:0] _T_626; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208329.4]
  wire [2:0] _T_627; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208330.4]
  wire [2:0] _T_628; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208331.4]
  wire [2:0] _T_629; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208332.4]
  wire [2:0] _T_630; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208333.4]
  wire [2:0] _T_631; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208334.4]
  wire [2:0] _T_632; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208335.4]
  wire [2:0] _T_633; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208336.4]
  wire [2:0] _T_634; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208337.4]
  wire [2:0] _T_635; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208338.4]
  wire [2:0] _T_636; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208339.4]
  wire [2:0] _T_637; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208340.4]
  wire [2:0] _T_638; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208341.4]
  wire [2:0] _T_639; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208342.4]
  wire [2:0] _T_640; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208343.4]
  wire [2:0] _T_641; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208344.4]
  wire [2:0] _T_642; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208345.4]
  wire [2:0] _T_643; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208346.4]
  wire [2:0] _T_644; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208347.4]
  wire [2:0] _T_645; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208348.4]
  wire [2:0] _T_646; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208349.4]
  wire [2:0] _T_647; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208350.4]
  wire [2:0] _T_648; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208351.4]
  wire [2:0] _T_649; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208352.4]
  wire [2:0] _T_650; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208353.4]
  wire [2:0] _T_651; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208354.4]
  wire [2:0] _T_652; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208355.4]
  wire [2:0] _T_653; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208356.4]
  wire [2:0] _T_654; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208357.4]
  wire [2:0] _T_655; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208358.4]
  wire [2:0] _T_656; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208359.4]
  wire [2:0] _T_657; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208360.4]
  wire [2:0] _T_658; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208361.4]
  wire [2:0] _T_659; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208362.4]
  wire [2:0] _T_660; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208363.4]
  wire [2:0] _T_661; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208364.4]
  wire [2:0] _T_662; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208365.4]
  wire [2:0] _T_663; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208366.4]
  wire [2:0] _T_664; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208367.4]
  wire [2:0] _T_665; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208368.4]
  wire [2:0] _T_666; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208369.4]
  wire [2:0] _T_667; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208370.4]
  wire [2:0] _T_668; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208371.4]
  wire [2:0] _T_669; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208372.4]
  wire [2:0] _T_670; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208373.4]
  wire [2:0] _T_671; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208374.4]
  wire [2:0] _T_672; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208375.4]
  wire [2:0] _T_673; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208376.4]
  wire [2:0] _T_674; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208377.4]
  wire [12:0] _T_707; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208408.4]
  wire [12:0] _T_708; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208409.4]
  wire [12:0] _T_709; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208410.4]
  wire [12:0] _T_710; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208411.4]
  wire [12:0] _T_711; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208412.4]
  wire [12:0] _T_712; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208413.4]
  wire [12:0] _T_713; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208414.4]
  wire [12:0] _T_714; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208415.4]
  wire [12:0] _T_715; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208416.4]
  wire [12:0] _T_716; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208417.4]
  wire [12:0] _T_717; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208418.4]
  wire [12:0] _T_718; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208419.4]
  wire [12:0] _T_719; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208420.4]
  wire [12:0] _T_720; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208421.4]
  wire [12:0] _T_721; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208422.4]
  wire [12:0] _T_722; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208423.4]
  wire [12:0] _T_723; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208424.4]
  wire [12:0] _T_724; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208425.4]
  wire [12:0] _T_725; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208426.4]
  wire [12:0] _T_726; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208427.4]
  wire [12:0] _T_727; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208428.4]
  wire [12:0] _T_728; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208429.4]
  wire [12:0] _T_729; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208430.4]
  wire [12:0] _T_730; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208431.4]
  wire [12:0] _T_731; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208432.4]
  wire [12:0] _T_732; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208433.4]
  wire [12:0] _T_733; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208434.4]
  wire [12:0] _T_734; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208435.4]
  wire [12:0] _T_735; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208436.4]
  wire [12:0] _T_736; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208437.4]
  wire [12:0] _T_737; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208438.4]
  wire [12:0] _T_738; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208439.4]
  wire [12:0] _T_739; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208440.4]
  wire [12:0] _T_740; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208441.4]
  wire [12:0] _T_741; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208442.4]
  wire [12:0] _T_742; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208443.4]
  wire [12:0] _T_743; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208444.4]
  wire [12:0] _T_744; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208445.4]
  wire [12:0] _T_745; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208446.4]
  wire [12:0] _T_746; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208447.4]
  wire [12:0] _T_747; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208448.4]
  wire [12:0] _T_748; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208449.4]
  wire [12:0] _T_749; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208450.4]
  wire [12:0] _T_750; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208451.4]
  wire [12:0] _T_751; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208452.4]
  wire [12:0] _T_752; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208453.4]
  wire [12:0] _T_753; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208454.4]
  wire [12:0] _T_754; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208455.4]
  wire [12:0] _T_755; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208456.4]
  wire [12:0] _T_756; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208457.4]
  wire [12:0] _T_757; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208458.4]
  wire [12:0] _T_758; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208459.4]
  wire [12:0] _T_759; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208460.4]
  wire [12:0] _T_760; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208461.4]
  wire [12:0] _T_761; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208462.4]
  wire [13:0] _GEN_457; // @[BTB.scala 277:82:shc.marmotcaravel.MarmotCaravelConfig.fir@208465.4]
  wire [13:0] _T_764; // @[BTB.scala 277:82:shc.marmotcaravel.MarmotCaravelConfig.fir@208465.4]
  wire [17:0] _GEN_375; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208466.4]
  wire [17:0] _GEN_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208466.4]
  wire [17:0] _GEN_377; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208466.4]
  wire [17:0] _GEN_378; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208466.4]
  wire [17:0] _GEN_379; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208466.4]
  wire [31:0] _T_765; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208466.4]
  wire [11:0] _T_766; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208468.4]
  wire [15:0] _T_767; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208469.4]
  wire  _T_768; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@208470.4]
  wire [15:0] _GEN_458; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208471.4]
  wire [15:0] _T_769; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208471.4]
  wire [7:0] _T_770; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208472.4]
  wire [7:0] _T_771; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208473.4]
  wire  _T_772; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@208474.4]
  wire [7:0] _T_773; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208475.4]
  wire [3:0] _T_774; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208476.4]
  wire [3:0] _T_775; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208477.4]
  wire  _T_776; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@208478.4]
  wire [3:0] _T_777; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208479.4]
  wire [1:0] _T_778; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208480.4]
  wire [1:0] _T_779; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208481.4]
  wire  _T_780; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@208482.4]
  wire [1:0] _T_781; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208483.4]
  wire  _T_782; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@208484.4]
  wire [1:0] _T_783; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208485.4]
  wire [2:0] _T_784; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208486.4]
  wire [3:0] _T_785; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208487.4]
  wire  _T_816; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208518.4]
  wire  _T_817; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208519.4]
  wire  _T_818; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208520.4]
  wire  _T_819; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208521.4]
  wire  _T_820; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208522.4]
  wire  _T_821; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208523.4]
  wire  _T_822; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208524.4]
  wire  _T_823; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208525.4]
  wire  _T_824; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208526.4]
  wire  _T_825; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208527.4]
  wire  _T_826; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208528.4]
  wire  _T_827; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208529.4]
  wire  _T_828; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208530.4]
  wire  _T_829; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208531.4]
  wire  _T_830; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208532.4]
  wire  _T_831; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208533.4]
  wire  _T_832; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208534.4]
  wire  _T_833; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208535.4]
  wire  _T_834; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208536.4]
  wire  _T_835; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208537.4]
  wire  _T_836; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208538.4]
  wire  _T_837; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208539.4]
  wire  _T_838; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208540.4]
  wire  _T_839; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208541.4]
  wire  _T_840; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208542.4]
  wire  _T_841; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208543.4]
  wire  _T_842; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208544.4]
  wire  _T_843; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208545.4]
  wire  _T_844; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208546.4]
  wire  _T_845; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208547.4]
  wire  _T_846; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208548.4]
  wire  _T_847; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208549.4]
  wire  _T_848; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208550.4]
  wire  _T_849; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208551.4]
  wire  _T_850; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208552.4]
  wire  _T_851; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208553.4]
  wire  _T_852; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208554.4]
  wire  _T_853; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208555.4]
  wire  _T_854; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208556.4]
  wire  _T_855; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208557.4]
  wire  _T_856; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208558.4]
  wire  _T_857; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208559.4]
  wire  _T_858; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208560.4]
  wire  _T_859; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208561.4]
  wire  _T_860; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208562.4]
  wire  _T_861; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208563.4]
  wire  _T_862; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208564.4]
  wire  _T_863; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208565.4]
  wire  _T_864; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208566.4]
  wire  _T_865; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208567.4]
  wire  _T_866; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208568.4]
  wire  _T_867; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208569.4]
  wire  _T_868; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208570.4]
  wire  _T_869; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208571.4]
  wire [13:0] _T_967; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208671.4]
  wire [6:0] _T_968; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208672.4]
  wire [2:0] _T_969; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208673.4]
  wire  _T_970; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208674.4]
  wire [1:0] _T_972; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208676.4]
  wire  _T_973; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208677.4]
  wire  _T_975; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208679.4]
  wire  _T_977; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208681.4]
  wire  _T_979; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208683.4]
  wire  _T_981; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208685.4]
  wire  _T_983; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208687.4]
  wire  _T_984; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208688.4]
  wire [3:0] _T_985; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208689.4]
  wire [1:0] _T_986; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208690.4]
  wire  _T_987; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208691.4]
  wire  _T_989; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208693.4]
  wire  _T_991; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208695.4]
  wire  _T_993; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208697.4]
  wire [1:0] _T_995; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208699.4]
  wire  _T_996; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208700.4]
  wire  _T_998; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208702.4]
  wire  _T_1000; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208704.4]
  wire  _T_1002; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208706.4]
  wire  _T_1004; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208708.4]
  wire  _T_1005; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208709.4]
  wire  _T_1006; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208710.4]
  wire  _T_1007; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208711.4]
  wire  _T_1008; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208712.4]
  wire  _T_1009; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208713.4]
  wire  _T_1010; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208714.4]
  wire  _T_1011; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208715.4]
  wire [6:0] _T_1012; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208716.4]
  wire [2:0] _T_1013; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208717.4]
  wire  _T_1014; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208718.4]
  wire [1:0] _T_1016; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208720.4]
  wire  _T_1017; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208721.4]
  wire  _T_1019; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208723.4]
  wire  _T_1021; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208725.4]
  wire  _T_1023; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208727.4]
  wire  _T_1025; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208729.4]
  wire  _T_1027; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208731.4]
  wire  _T_1028; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208732.4]
  wire [3:0] _T_1029; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208733.4]
  wire [1:0] _T_1030; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208734.4]
  wire  _T_1031; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208735.4]
  wire  _T_1033; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208737.4]
  wire  _T_1035; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208739.4]
  wire  _T_1037; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208741.4]
  wire [1:0] _T_1039; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208743.4]
  wire  _T_1040; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208744.4]
  wire  _T_1042; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208746.4]
  wire  _T_1044; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208748.4]
  wire  _T_1046; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208750.4]
  wire  _T_1048; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208752.4]
  wire  _T_1049; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208753.4]
  wire  _T_1050; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208754.4]
  wire  _T_1051; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208755.4]
  wire  _T_1052; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208756.4]
  wire  _T_1053; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208757.4]
  wire  _T_1054; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208758.4]
  wire  _T_1055; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208759.4]
  wire  _T_1056; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208760.4]
  wire  _T_1057; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208761.4]
  wire  _T_1058; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208762.4]
  wire  _T_1059; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208763.4]
  wire [13:0] _T_1060; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208764.4]
  wire [6:0] _T_1061; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208765.4]
  wire [2:0] _T_1062; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208766.4]
  wire  _T_1063; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208767.4]
  wire [1:0] _T_1065; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208769.4]
  wire  _T_1066; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208770.4]
  wire  _T_1068; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208772.4]
  wire  _T_1070; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208774.4]
  wire  _T_1072; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208776.4]
  wire  _T_1074; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208778.4]
  wire  _T_1076; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208780.4]
  wire  _T_1077; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208781.4]
  wire [3:0] _T_1078; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208782.4]
  wire [1:0] _T_1079; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208783.4]
  wire  _T_1080; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208784.4]
  wire  _T_1082; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208786.4]
  wire  _T_1084; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208788.4]
  wire  _T_1086; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208790.4]
  wire [1:0] _T_1088; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208792.4]
  wire  _T_1089; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208793.4]
  wire  _T_1091; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208795.4]
  wire  _T_1093; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208797.4]
  wire  _T_1095; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208799.4]
  wire  _T_1097; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208801.4]
  wire  _T_1098; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208802.4]
  wire  _T_1099; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208803.4]
  wire  _T_1100; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208804.4]
  wire  _T_1101; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208805.4]
  wire  _T_1102; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208806.4]
  wire  _T_1103; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208807.4]
  wire  _T_1104; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208808.4]
  wire [6:0] _T_1105; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208809.4]
  wire [2:0] _T_1106; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208810.4]
  wire  _T_1107; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208811.4]
  wire [1:0] _T_1109; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208813.4]
  wire  _T_1110; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208814.4]
  wire  _T_1112; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208816.4]
  wire  _T_1114; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208818.4]
  wire  _T_1116; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208820.4]
  wire  _T_1118; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208822.4]
  wire  _T_1120; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208824.4]
  wire  _T_1121; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208825.4]
  wire [3:0] _T_1122; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208826.4]
  wire [1:0] _T_1123; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208827.4]
  wire  _T_1124; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208828.4]
  wire  _T_1126; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208830.4]
  wire  _T_1128; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208832.4]
  wire  _T_1130; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208834.4]
  wire [1:0] _T_1132; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208836.4]
  wire  _T_1133; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208837.4]
  wire  _T_1135; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208839.4]
  wire  _T_1137; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208841.4]
  wire  _T_1139; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208843.4]
  wire  _T_1141; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208845.4]
  wire  _T_1142; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208846.4]
  wire  _T_1143; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208847.4]
  wire  _T_1144; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208848.4]
  wire  _T_1145; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208849.4]
  wire  _T_1146; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208850.4]
  wire  _T_1147; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208851.4]
  wire  _T_1148; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208852.4]
  wire  _T_1149; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208853.4]
  wire  _T_1150; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208854.4]
  wire  _T_1151; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208855.4]
  wire  _T_1152; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208856.4]
  wire  _T_1154; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208858.4]
  wire  _T_1155; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208859.4]
  wire  _T_1156; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208860.4]
  wire [27:0] _T_1157; // @[BTB.scala 285:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208862.6]
  wire [27:0] _T_1158; // @[BTB.scala 285:24:shc.marmotcaravel.MarmotCaravelConfig.fir@208863.6]
  wire [31:0] _GEN_380; // @[BTB.scala 284:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208861.4]
  wire [31:0] _GEN_381; // @[BTB.scala 287:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208866.4]
  reg [7:0] _T_1163; // @[BTB.scala 114:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208870.4]
  reg [31:0] _RAND_188;
  wire  _T_1164; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208871.4]
  wire  _T_1165; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208872.4]
  wire  _T_1166; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208873.4]
  wire  _T_1167; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208874.4]
  wire  _T_1168; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208875.4]
  wire  _T_1169; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208876.4]
  wire  _T_1170; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208877.4]
  wire  _T_1171; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208878.4]
  wire  _T_1172; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208879.4]
  wire  _T_1173; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208880.4]
  wire  _T_1174; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208881.4]
  wire  _T_1175; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208882.4]
  wire  _T_1176; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208883.4]
  wire  _T_1177; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208884.4]
  wire  _T_1178; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208885.4]
  wire  _T_1179; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208886.4]
  wire  _T_1180; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208887.4]
  wire  _T_1181; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208888.4]
  wire  _T_1182; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208889.4]
  wire  _T_1183; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208890.4]
  wire  _T_1184; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208891.4]
  wire  _T_1185; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208892.4]
  wire  _T_1186; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208893.4]
  wire  _T_1187; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208894.4]
  wire  _T_1188; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208895.4]
  wire  _T_1189; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208896.4]
  wire  _T_1190; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208897.4]
  wire  _T_1191; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208898.4]
  wire [1:0] _T_1192; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208899.4]
  wire [2:0] _T_1193; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208900.4]
  wire [1:0] _T_1194; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208901.4]
  wire [1:0] _T_1195; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208902.4]
  wire [3:0] _T_1196; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208903.4]
  wire [6:0] _T_1197; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208904.4]
  wire [1:0] _T_1198; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208905.4]
  wire [2:0] _T_1199; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208906.4]
  wire [1:0] _T_1200; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208907.4]
  wire [1:0] _T_1201; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208908.4]
  wire [3:0] _T_1202; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208909.4]
  wire [6:0] _T_1203; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208910.4]
  wire [13:0] _T_1204; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208911.4]
  wire [1:0] _T_1205; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208912.4]
  wire [2:0] _T_1206; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208913.4]
  wire [1:0] _T_1207; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208914.4]
  wire [1:0] _T_1208; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208915.4]
  wire [3:0] _T_1209; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208916.4]
  wire [6:0] _T_1210; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208917.4]
  wire [1:0] _T_1211; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208918.4]
  wire [2:0] _T_1212; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208919.4]
  wire [1:0] _T_1213; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208920.4]
  wire [1:0] _T_1214; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208921.4]
  wire [3:0] _T_1215; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208922.4]
  wire [6:0] _T_1216; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208923.4]
  wire [13:0] _T_1217; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208924.4]
  wire [27:0] _T_1218; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208925.4]
  wire [27:0] _T_1219; // @[BTB.scala 293:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208926.4]
  wire  _T_1220; // @[BTB.scala 293:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208927.4]
  wire [29:0] _T_1223; // @[BTB.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@208930.4]
  wire [8:0] _T_1224; // @[BTB.scala 87:9:shc.marmotcaravel.MarmotCaravelConfig.fir@208931.4]
  wire [20:0] _T_1225; // @[BTB.scala 87:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208932.4]
  wire [1:0] _T_1226; // @[BTB.scala 87:77:shc.marmotcaravel.MarmotCaravelConfig.fir@208933.4]
  wire [8:0] _GEN_459; // @[BTB.scala 87:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208934.4]
  wire [8:0] _T_1227; // @[BTB.scala 87:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208934.4]
  wire [15:0] _T_1228; // @[BTB.scala 83:12:shc.marmotcaravel.MarmotCaravelConfig.fir@208935.4]
  wire [2:0] _T_1229; // @[BTB.scala 83:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208936.4]
  wire [8:0] _GEN_460; // @[BTB.scala 89:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208937.4]
  wire [8:0] _T_1230; // @[BTB.scala 89:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208937.4]
  wire [6:0] _T_1234; // @[BTB.scala 110:35:shc.marmotcaravel.MarmotCaravelConfig.fir@208944.6]
  wire [7:0] _T_1235; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208945.6]
  wire [29:0] _T_1236; // @[BTB.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@208950.8]
  wire [8:0] _T_1237; // @[BTB.scala 87:9:shc.marmotcaravel.MarmotCaravelConfig.fir@208951.8]
  wire [20:0] _T_1238; // @[BTB.scala 87:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208952.8]
  wire [1:0] _T_1239; // @[BTB.scala 87:77:shc.marmotcaravel.MarmotCaravelConfig.fir@208953.8]
  wire [8:0] _GEN_461; // @[BTB.scala 87:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208954.8]
  wire [8:0] _T_1240; // @[BTB.scala 87:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208954.8]
  wire [15:0] _T_1241; // @[BTB.scala 83:12:shc.marmotcaravel.MarmotCaravelConfig.fir@208955.8]
  wire [2:0] _T_1242; // @[BTB.scala 83:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208956.8]
  wire [8:0] _GEN_462; // @[BTB.scala 89:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208957.8]
  wire [8:0] _T_1243; // @[BTB.scala 89:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208957.8]
  wire [6:0] _T_1246; // @[BTB.scala 107:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208962.10]
  wire [7:0] _T_1247; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208963.10]
  wire  _T_1222_value; // @[BTB.scala 92:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208928.4 BTB.scala 93:15:shc.marmotcaravel.MarmotCaravelConfig.fir@208940.4]
  wire  _T_1249; // @[BTB.scala 308:11:shc.marmotcaravel.MarmotCaravelConfig.fir@208973.4]
  wire  _T_1250; // @[BTB.scala 308:22:shc.marmotcaravel.MarmotCaravelConfig.fir@208974.4]
  reg [2:0] _T_1252; // @[BTB.scala 57:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208979.4]
  reg [31:0] _RAND_189;
  reg [2:0] _T_1254; // @[BTB.scala 58:24:shc.marmotcaravel.MarmotCaravelConfig.fir@208980.4]
  reg [31:0] _RAND_190;
  reg [31:0] _T_1258_0; // @[BTB.scala 59:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208981.4]
  reg [31:0] _RAND_191;
  reg [31:0] _T_1258_1; // @[BTB.scala 59:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208981.4]
  reg [31:0] _RAND_192;
  reg [31:0] _T_1258_2; // @[BTB.scala 59:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208981.4]
  reg [31:0] _RAND_193;
  reg [31:0] _T_1258_3; // @[BTB.scala 59:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208981.4]
  reg [31:0] _RAND_194;
  reg [31:0] _T_1258_4; // @[BTB.scala 59:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208981.4]
  reg [31:0] _RAND_195;
  reg [31:0] _T_1258_5; // @[BTB.scala 59:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208981.4]
  reg [31:0] _RAND_196;
  wire  _T_1267; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208982.4]
  wire  _T_1268; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208983.4]
  wire  _T_1269; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208984.4]
  wire  _T_1270; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208985.4]
  wire  _T_1271; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208986.4]
  wire  _T_1272; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208987.4]
  wire  _T_1273; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208988.4]
  wire  _T_1274; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208989.4]
  wire  _T_1275; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208990.4]
  wire  _T_1276; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208991.4]
  wire  _T_1277; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208992.4]
  wire  _T_1278; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208993.4]
  wire  _T_1279; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208994.4]
  wire  _T_1280; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208995.4]
  wire  _T_1281; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208996.4]
  wire  _T_1282; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208997.4]
  wire  _T_1283; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208998.4]
  wire  _T_1284; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208999.4]
  wire  _T_1285; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209000.4]
  wire  _T_1286; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209001.4]
  wire  _T_1287; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209002.4]
  wire  _T_1288; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209003.4]
  wire  _T_1289; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209004.4]
  wire  _T_1290; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209005.4]
  wire  _T_1291; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209006.4]
  wire  _T_1292; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209007.4]
  wire  _T_1293; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209008.4]
  wire  _T_1294; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209009.4]
  wire [1:0] _T_1295; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209010.4]
  wire [2:0] _T_1296; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209011.4]
  wire [1:0] _T_1297; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209012.4]
  wire [1:0] _T_1298; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209013.4]
  wire [3:0] _T_1299; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209014.4]
  wire [6:0] _T_1300; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209015.4]
  wire [1:0] _T_1301; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209016.4]
  wire [2:0] _T_1302; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209017.4]
  wire [1:0] _T_1303; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209018.4]
  wire [1:0] _T_1304; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209019.4]
  wire [3:0] _T_1305; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209020.4]
  wire [6:0] _T_1306; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209021.4]
  wire [13:0] _T_1307; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209022.4]
  wire [1:0] _T_1308; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209023.4]
  wire [2:0] _T_1309; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209024.4]
  wire [1:0] _T_1310; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209025.4]
  wire [1:0] _T_1311; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209026.4]
  wire [3:0] _T_1312; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209027.4]
  wire [6:0] _T_1313; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209028.4]
  wire [1:0] _T_1314; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209029.4]
  wire [2:0] _T_1315; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209030.4]
  wire [1:0] _T_1316; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209031.4]
  wire [1:0] _T_1317; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209032.4]
  wire [3:0] _T_1318; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209033.4]
  wire [6:0] _T_1319; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209034.4]
  wire [13:0] _T_1320; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209035.4]
  wire [27:0] _T_1321; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209036.4]
  wire [27:0] _T_1322; // @[BTB.scala 314:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209037.4]
  wire  _T_1323; // @[BTB.scala 314:67:shc.marmotcaravel.MarmotCaravelConfig.fir@209038.4]
  wire  _T_1324; // @[BTB.scala 55:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209039.4]
  wire  _T_1325; // @[BTB.scala 315:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209040.4]
  wire [31:0] _GEN_399; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209042.4]
  wire [31:0] _GEN_400; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209042.4]
  wire [31:0] _GEN_401; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209042.4]
  wire [31:0] _GEN_402; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209042.4]
  wire [31:0] _GEN_403; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209042.4]
  wire  _T_1329; // @[BTB.scala 317:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209045.4]
  wire  _T_1331; // @[BTB.scala 321:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209050.6]
  wire  _T_1332; // @[BTB.scala 44:17:shc.marmotcaravel.MarmotCaravelConfig.fir@209052.8]
  wire [2:0] _T_1334; // @[BTB.scala 44:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209055.10]
  wire  _T_1335; // @[BTB.scala 45:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209058.8]
  wire [2:0] _T_1338; // @[BTB.scala 45:62:shc.marmotcaravel.MarmotCaravelConfig.fir@209061.8]
  wire [2:0] _T_1339; // @[BTB.scala 45:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209062.8]
  wire  _T_1341; // @[BTB.scala 323:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209067.8]
  wire [3:0] _T_1344; // @[BTB.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209072.12]
  wire [3:0] _T_1345; // @[BTB.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209073.12]
  wire [2:0] _T_1346; // @[BTB.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209074.12]
  wire  _T_1347; // @[BTB.scala 52:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209076.12]
  wire [3:0] _T_1349; // @[BTB.scala 52:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209078.12]
  wire [3:0] _T_1350; // @[BTB.scala 52:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209079.12]
  wire [2:0] _T_1351; // @[BTB.scala 52:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209080.12]
  assign _T_1161__T_1232_addr = _T_1227 ^ _T_1230;
  assign _T_1161__T_1232_data = _T_1161[_T_1161__T_1232_addr]; // @[BTB.scala 113:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208869.4]
  assign _T_1161__T_1245_data = io_bht_update_bits_taken;
  assign _T_1161__T_1245_addr = _T_1240 ^ _T_1243;
  assign _T_1161__T_1245_mask = 1'h1;
  assign _T_1161__T_1245_en = io_bht_update_valid ? io_bht_update_bits_branch : 1'h0;
  assign _T_248 = io_req_bits_addr[31:14]; // @[BTB.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@207898.4]
  assign _T_249 = pages_0 == _T_248; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207899.4]
  assign _T_250 = pages_1 == _T_248; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207900.4]
  assign _T_251 = pages_2 == _T_248; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207901.4]
  assign _T_252 = pages_3 == _T_248; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207902.4]
  assign _T_253 = pages_4 == _T_248; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207903.4]
  assign _T_254 = pages_5 == _T_248; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207904.4]
  assign _T_255 = {_T_251,_T_250}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207905.4]
  assign _T_256 = {_T_255,_T_249}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207906.4]
  assign _T_257 = {_T_254,_T_253}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207907.4]
  assign _T_258 = {_T_257,_T_252}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207908.4]
  assign _T_259 = {_T_258,_T_256}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207909.4]
  assign pageHit = pageValid & _T_259; // @[BTB.scala 202:15:shc.marmotcaravel.MarmotCaravelConfig.fir@207910.4]
  assign _T_260 = io_req_bits_addr[13:1]; // @[BTB.scala 205:19:shc.marmotcaravel.MarmotCaravelConfig.fir@207911.4]
  assign _T_261 = idxs_0 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207912.4]
  assign _T_262 = idxs_1 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207913.4]
  assign _T_263 = idxs_2 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207914.4]
  assign _T_264 = idxs_3 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207915.4]
  assign _T_265 = idxs_4 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207916.4]
  assign _T_266 = idxs_5 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207917.4]
  assign _T_267 = idxs_6 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207918.4]
  assign _T_268 = idxs_7 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207919.4]
  assign _T_269 = idxs_8 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207920.4]
  assign _T_270 = idxs_9 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207921.4]
  assign _T_271 = idxs_10 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207922.4]
  assign _T_272 = idxs_11 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207923.4]
  assign _T_273 = idxs_12 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207924.4]
  assign _T_274 = idxs_13 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207925.4]
  assign _T_275 = idxs_14 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207926.4]
  assign _T_276 = idxs_15 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207927.4]
  assign _T_277 = idxs_16 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207928.4]
  assign _T_278 = idxs_17 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207929.4]
  assign _T_279 = idxs_18 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207930.4]
  assign _T_280 = idxs_19 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207931.4]
  assign _T_281 = idxs_20 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207932.4]
  assign _T_282 = idxs_21 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207933.4]
  assign _T_283 = idxs_22 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207934.4]
  assign _T_284 = idxs_23 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207935.4]
  assign _T_285 = idxs_24 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207936.4]
  assign _T_286 = idxs_25 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207937.4]
  assign _T_287 = idxs_26 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207938.4]
  assign _T_288 = idxs_27 == _T_260; // @[BTB.scala 206:16:shc.marmotcaravel.MarmotCaravelConfig.fir@207939.4]
  assign _T_289 = {_T_263,_T_262}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207940.4]
  assign _T_290 = {_T_289,_T_261}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207941.4]
  assign _T_291 = {_T_265,_T_264}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207942.4]
  assign _T_292 = {_T_267,_T_266}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207943.4]
  assign _T_293 = {_T_292,_T_291}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207944.4]
  assign _T_294 = {_T_293,_T_290}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207945.4]
  assign _T_295 = {_T_270,_T_269}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207946.4]
  assign _T_296 = {_T_295,_T_268}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207947.4]
  assign _T_297 = {_T_272,_T_271}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207948.4]
  assign _T_298 = {_T_274,_T_273}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207949.4]
  assign _T_299 = {_T_298,_T_297}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207950.4]
  assign _T_300 = {_T_299,_T_296}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207951.4]
  assign _T_301 = {_T_300,_T_294}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207952.4]
  assign _T_302 = {_T_277,_T_276}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207953.4]
  assign _T_303 = {_T_302,_T_275}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207954.4]
  assign _T_304 = {_T_279,_T_278}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207955.4]
  assign _T_305 = {_T_281,_T_280}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207956.4]
  assign _T_306 = {_T_305,_T_304}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207957.4]
  assign _T_307 = {_T_306,_T_303}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207958.4]
  assign _T_308 = {_T_284,_T_283}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207959.4]
  assign _T_309 = {_T_308,_T_282}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207960.4]
  assign _T_310 = {_T_286,_T_285}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207961.4]
  assign _T_311 = {_T_288,_T_287}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207962.4]
  assign _T_312 = {_T_311,_T_310}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207963.4]
  assign _T_313 = {_T_312,_T_309}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207964.4]
  assign _T_314 = {_T_313,_T_307}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207965.4]
  assign _T_315 = {_T_314,_T_301}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207966.4]
  assign idxHit = _T_315 & isValid; // @[BTB.scala 206:32:shc.marmotcaravel.MarmotCaravelConfig.fir@207967.4]
  assign _T_316 = r_btb_update_bits_pc[31:14]; // @[BTB.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@207968.4]
  assign _T_317 = pages_0 == _T_316; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207969.4]
  assign _T_318 = pages_1 == _T_316; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207970.4]
  assign _T_319 = pages_2 == _T_316; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207971.4]
  assign _T_320 = pages_3 == _T_316; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207972.4]
  assign _T_321 = pages_4 == _T_316; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207973.4]
  assign _T_322 = pages_5 == _T_316; // @[BTB.scala 202:29:shc.marmotcaravel.MarmotCaravelConfig.fir@207974.4]
  assign _T_323 = {_T_319,_T_318}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207975.4]
  assign _T_324 = {_T_323,_T_317}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207976.4]
  assign _T_325 = {_T_322,_T_321}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207977.4]
  assign _T_326 = {_T_325,_T_320}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207978.4]
  assign _T_327 = {_T_326,_T_324}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207979.4]
  assign updatePageHit = pageValid & _T_327; // @[BTB.scala 202:15:shc.marmotcaravel.MarmotCaravelConfig.fir@207980.4]
  assign updateHit = r_btb_update_bits_prediction_entry < 5'h1c; // @[BTB.scala 220:48:shc.marmotcaravel.MarmotCaravelConfig.fir@207981.4]
  assign useUpdatePageHit = updatePageHit != 6'h0; // @[BTB.scala 222:40:shc.marmotcaravel.MarmotCaravelConfig.fir@207982.4]
  assign usePageHit = pageHit != 6'h0; // @[BTB.scala 223:28:shc.marmotcaravel.MarmotCaravelConfig.fir@207983.4]
  assign doIdxPageRepl = useUpdatePageHit == 1'h0; // @[BTB.scala 224:23:shc.marmotcaravel.MarmotCaravelConfig.fir@207984.4]
  assign _T_329 = pageHit[4:0]; // @[BTB.scala 226:32:shc.marmotcaravel.MarmotCaravelConfig.fir@207986.4]
  assign _T_330 = pageHit[5]; // @[BTB.scala 226:53:shc.marmotcaravel.MarmotCaravelConfig.fir@207987.4]
  assign _T_331 = {_T_329,_T_330}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@207988.4]
  assign _T_332 = 8'h1 << nextPageRepl; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@207989.4]
  assign _T_333 = usePageHit ? 8'h0 : _T_332; // @[BTB.scala 226:70:shc.marmotcaravel.MarmotCaravelConfig.fir@207990.4]
  assign _GEN_438 = {{2'd0}, _T_331}; // @[BTB.scala 226:65:shc.marmotcaravel.MarmotCaravelConfig.fir@207991.4]
  assign idxPageRepl = _GEN_438 | _T_333; // @[BTB.scala 226:65:shc.marmotcaravel.MarmotCaravelConfig.fir@207991.4]
  assign idxPageUpdateOH = useUpdatePageHit ? {{2'd0}, updatePageHit} : idxPageRepl; // @[BTB.scala 227:28:shc.marmotcaravel.MarmotCaravelConfig.fir@207992.4]
  assign _T_334 = idxPageUpdateOH[7:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207993.4]
  assign _T_335 = idxPageUpdateOH[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207994.4]
  assign _T_336 = _T_334 != 4'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@207995.4]
  assign _T_337 = _T_334 | _T_335; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@207996.4]
  assign _T_338 = _T_337[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207997.4]
  assign _T_339 = _T_337[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@207998.4]
  assign _T_340 = _T_338 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@207999.4]
  assign _T_341 = _T_338 | _T_339; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208000.4]
  assign _T_342 = _T_341[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@208001.4]
  assign _T_343 = {_T_340,_T_342}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208002.4]
  assign idxPageUpdate = {_T_336,_T_343}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208003.4]
  assign idxPageReplEn = doIdxPageRepl ? idxPageRepl : 8'h0; // @[BTB.scala 229:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208004.4]
  assign samePage = _T_316 == _T_248; // @[BTB.scala 231:45:shc.marmotcaravel.MarmotCaravelConfig.fir@208007.4]
  assign _T_346 = samePage == 1'h0; // @[BTB.scala 232:23:shc.marmotcaravel.MarmotCaravelConfig.fir@208008.4]
  assign _T_347 = usePageHit == 1'h0; // @[BTB.scala 232:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208009.4]
  assign doTgtPageRepl = _T_346 & _T_347; // @[BTB.scala 232:33:shc.marmotcaravel.MarmotCaravelConfig.fir@208010.4]
  assign _T_348 = idxPageUpdateOH[4:0]; // @[BTB.scala 233:71:shc.marmotcaravel.MarmotCaravelConfig.fir@208011.4]
  assign _T_349 = idxPageUpdateOH[5]; // @[BTB.scala 233:100:shc.marmotcaravel.MarmotCaravelConfig.fir@208012.4]
  assign _T_350 = {_T_348,_T_349}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208013.4]
  assign tgtPageRepl = samePage ? idxPageUpdateOH : {{2'd0}, _T_350}; // @[BTB.scala 233:24:shc.marmotcaravel.MarmotCaravelConfig.fir@208014.4]
  assign _T_351 = usePageHit ? 8'h0 : tgtPageRepl; // @[BTB.scala 234:45:shc.marmotcaravel.MarmotCaravelConfig.fir@208015.4]
  assign _GEN_439 = {{2'd0}, pageHit}; // @[BTB.scala 234:40:shc.marmotcaravel.MarmotCaravelConfig.fir@208016.4]
  assign _T_352 = _GEN_439 | _T_351; // @[BTB.scala 234:40:shc.marmotcaravel.MarmotCaravelConfig.fir@208016.4]
  assign _T_353 = _T_352[7:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208017.4]
  assign _T_354 = _T_352[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208018.4]
  assign _T_355 = _T_353 != 4'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@208019.4]
  assign _T_356 = _T_353 | _T_354; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208020.4]
  assign _T_357 = _T_356[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208021.4]
  assign _T_358 = _T_356[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208022.4]
  assign _T_359 = _T_357 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@208023.4]
  assign _T_360 = _T_357 | _T_358; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208024.4]
  assign _T_361 = _T_360[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@208025.4]
  assign _T_362 = {_T_359,_T_361}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208026.4]
  assign tgtPageUpdate = {_T_355,_T_362}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208027.4]
  assign tgtPageReplEn = doTgtPageRepl ? tgtPageRepl : 8'h0; // @[BTB.scala 235:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208028.4]
  assign _T_363 = doIdxPageRepl | doTgtPageRepl; // @[BTB.scala 237:46:shc.marmotcaravel.MarmotCaravelConfig.fir@208029.4]
  assign _T_364 = r_btb_update_valid & _T_363; // @[BTB.scala 237:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208030.4]
  assign _T_365 = doIdxPageRepl & doTgtPageRepl; // @[BTB.scala 238:30:shc.marmotcaravel.MarmotCaravelConfig.fir@208032.6]
  assign _T_366 = _T_365 ? 2'h2 : 2'h1; // @[BTB.scala 239:40:shc.marmotcaravel.MarmotCaravelConfig.fir@208033.6]
  assign _GEN_440 = {{1'd0}, _T_366}; // @[BTB.scala 239:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208034.6]
  assign _T_368 = nextPageRepl + _GEN_440; // @[BTB.scala 239:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208035.6]
  assign _T_369 = _T_368 >= 3'h6; // @[BTB.scala 240:30:shc.marmotcaravel.MarmotCaravelConfig.fir@208036.6]
  assign _T_370 = _T_368[0]; // @[BTB.scala 240:45:shc.marmotcaravel.MarmotCaravelConfig.fir@208037.6]
  assign _GEN_441 = {{1'd0}, _T_373}; // @[Replacement.scala 57:31:shc.marmotcaravel.MarmotCaravelConfig.fir@208042.4]
  assign _T_374 = _GEN_441 << 1; // @[Replacement.scala 57:31:shc.marmotcaravel.MarmotCaravelConfig.fir@208042.4]
  assign _T_378 = _T_374 >> 1'h1; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208046.4]
  assign _T_379 = _T_378[0]; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208047.4]
  assign _T_381 = {1'h1,_T_379}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208049.4]
  assign _T_382 = {_T_381,4'h8}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208050.4]
  assign _T_383 = _T_382[4:0]; // @[Replacement.scala 60:53:shc.marmotcaravel.MarmotCaravelConfig.fir@208051.4]
  assign _T_384 = _T_383 < 5'h1c; // @[Replacement.scala 60:70:shc.marmotcaravel.MarmotCaravelConfig.fir@208052.4]
  assign _T_385 = _T_374 >> _T_381; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208053.4]
  assign _T_386 = _T_385[0]; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208054.4]
  assign _T_387 = _T_384 & _T_386; // @[Replacement.scala 61:32:shc.marmotcaravel.MarmotCaravelConfig.fir@208055.4]
  assign _T_388 = {_T_381,_T_387}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208056.4]
  assign _T_389 = {_T_388,3'h4}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208057.4]
  assign _T_390 = _T_389[4:0]; // @[Replacement.scala 60:53:shc.marmotcaravel.MarmotCaravelConfig.fir@208058.4]
  assign _T_391 = _T_390 < 5'h1c; // @[Replacement.scala 60:70:shc.marmotcaravel.MarmotCaravelConfig.fir@208059.4]
  assign _T_392 = _T_374 >> _T_388; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208060.4]
  assign _T_393 = _T_392[0]; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208061.4]
  assign _T_394 = _T_391 & _T_393; // @[Replacement.scala 61:32:shc.marmotcaravel.MarmotCaravelConfig.fir@208062.4]
  assign _T_395 = {_T_388,_T_394}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208063.4]
  assign _T_396 = {_T_395,2'h2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208064.4]
  assign _T_397 = _T_396[4:0]; // @[Replacement.scala 60:53:shc.marmotcaravel.MarmotCaravelConfig.fir@208065.4]
  assign _T_398 = _T_397 < 5'h1c; // @[Replacement.scala 60:70:shc.marmotcaravel.MarmotCaravelConfig.fir@208066.4]
  assign _T_399 = _T_374 >> _T_395; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208067.4]
  assign _T_400 = _T_399[0]; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208068.4]
  assign _T_401 = _T_398 & _T_400; // @[Replacement.scala 61:32:shc.marmotcaravel.MarmotCaravelConfig.fir@208069.4]
  assign _T_402 = {_T_395,_T_401}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208070.4]
  assign _T_403 = {_T_402,1'h1}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208071.4]
  assign _T_404 = _T_403[4:0]; // @[Replacement.scala 60:53:shc.marmotcaravel.MarmotCaravelConfig.fir@208072.4]
  assign _T_405 = _T_404 < 5'h1c; // @[Replacement.scala 60:70:shc.marmotcaravel.MarmotCaravelConfig.fir@208073.4]
  assign _T_406 = _T_374 >> _T_402; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208074.4]
  assign _T_407 = _T_406[0]; // @[Replacement.scala 61:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208075.4]
  assign _T_408 = _T_405 & _T_407; // @[Replacement.scala 61:32:shc.marmotcaravel.MarmotCaravelConfig.fir@208076.4]
  assign _T_409 = {_T_402,_T_408}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208077.4]
  assign _T_410 = _T_409[4:0]; // @[Replacement.scala 63:8:shc.marmotcaravel.MarmotCaravelConfig.fir@208078.4]
  assign waddr = updateHit ? r_btb_update_bits_prediction_entry : _T_410; // @[BTB.scala 244:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208079.4]
  assign _T_419 = r_resp_valid & r_resp_bits_taken; // @[BTB.scala 246:22:shc.marmotcaravel.MarmotCaravelConfig.fir@208097.4]
  assign _T_420 = _T_419 | r_btb_update_valid; // @[BTB.scala 246:43:shc.marmotcaravel.MarmotCaravelConfig.fir@208098.4]
  assign _T_421 = r_btb_update_valid ? waddr : r_resp_bits_entry; // @[BTB.scala 247:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208100.6]
  assign _T_423 = _T_421[4]; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208102.6]
  assign _T_424 = _T_423 == 1'h0; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@208103.6]
  assign _T_425 = 2'h1 << 1'h1; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208104.6]
  assign _GEN_443 = {{26'd0}, _T_425}; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208105.6]
  assign _T_426 = _T_374 | _GEN_443; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208105.6]
  assign _T_427 = ~ _T_374; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208106.6]
  assign _T_428 = _T_427 | _GEN_443; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208107.6]
  assign _T_429 = ~ _T_428; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208108.6]
  assign _T_430 = _T_424 ? _T_426 : _T_429; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208109.6]
  assign _T_431 = {1'h1,_T_423}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208110.6]
  assign _T_432 = _T_421[3]; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208111.6]
  assign _T_433 = _T_432 == 1'h0; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@208112.6]
  assign _T_434 = 4'h1 << _T_431; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208113.6]
  assign _GEN_445 = {{24'd0}, _T_434}; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208114.6]
  assign _T_435 = _T_430 | _GEN_445; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208114.6]
  assign _T_436 = ~ _T_430; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208115.6]
  assign _T_437 = _T_436 | _GEN_445; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208116.6]
  assign _T_438 = ~ _T_437; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208117.6]
  assign _T_439 = _T_433 ? _T_435 : _T_438; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208118.6]
  assign _T_440 = {_T_431,_T_432}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208119.6]
  assign _T_441 = _T_421[2]; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208120.6]
  assign _T_442 = _T_441 == 1'h0; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@208121.6]
  assign _T_443 = 8'h1 << _T_440; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208122.6]
  assign _GEN_447 = {{20'd0}, _T_443}; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208123.6]
  assign _T_444 = _T_439 | _GEN_447; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208123.6]
  assign _T_445 = ~ _T_439; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208124.6]
  assign _T_446 = _T_445 | _GEN_447; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208125.6]
  assign _T_447 = ~ _T_446; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208126.6]
  assign _T_448 = _T_442 ? _T_444 : _T_447; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208127.6]
  assign _T_449 = {_T_440,_T_441}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208128.6]
  assign _T_450 = _T_421[1]; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208129.6]
  assign _T_451 = _T_450 == 1'h0; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@208130.6]
  assign _T_452 = 16'h1 << _T_449; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208131.6]
  assign _GEN_449 = {{12'd0}, _T_452}; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208132.6]
  assign _T_453 = _T_448 | _GEN_449; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208132.6]
  assign _T_454 = ~ _T_448; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208133.6]
  assign _T_455 = _T_454 | _GEN_449; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208134.6]
  assign _T_456 = ~ _T_455; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208135.6]
  assign _T_457 = _T_451 ? _T_453 : _T_456; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208136.6]
  assign _T_458 = {_T_449,_T_450}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208137.6]
  assign _T_459 = _T_421[0]; // @[Replacement.scala 49:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208138.6]
  assign _T_460 = _T_459 == 1'h0; // @[Replacement.scala 50:43:shc.marmotcaravel.MarmotCaravelConfig.fir@208139.6]
  assign _T_461 = 32'h1 << _T_458; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208140.6]
  assign _GEN_451 = {{4'd0}, _T_457}; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208141.6]
  assign _T_462 = _GEN_451 | _T_461; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208141.6]
  assign _T_463 = ~ _T_457; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208142.6]
  assign _GEN_452 = {{4'd0}, _T_463}; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208143.6]
  assign _T_464 = _GEN_452 | _T_461; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208143.6]
  assign _T_465 = ~ _T_464; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208144.6]
  assign _T_466 = _T_460 ? _T_462 : _T_465; // @[Replacement.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208145.6]
  assign _T_468 = _T_466[27:1]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@208147.6]
  assign _T_469 = 32'h1 << waddr; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@208151.6]
  assign _T_471 = r_btb_update_bits_pc[13:1]; // @[BTB.scala 252:40:shc.marmotcaravel.MarmotCaravelConfig.fir@208152.6]
  assign _T_475 = idxPageUpdate + 3'h1; // @[BTB.scala 254:38:shc.marmotcaravel.MarmotCaravelConfig.fir@208156.6]
  assign _idxPages_waddr = _T_475[2:0]; // @[BTB.scala 254:21:shc.marmotcaravel.MarmotCaravelConfig.fir@208157.6 BTB.scala 254:21:shc.marmotcaravel.MarmotCaravelConfig.fir@208157.6]
  assign _GEN_453 = {{4'd0}, isValid}; // @[BTB.scala 257:55:shc.marmotcaravel.MarmotCaravelConfig.fir@208160.6]
  assign _T_478 = _GEN_453 | _T_469; // @[BTB.scala 257:55:shc.marmotcaravel.MarmotCaravelConfig.fir@208160.6]
  assign _T_479 = ~ _T_469; // @[BTB.scala 257:73:shc.marmotcaravel.MarmotCaravelConfig.fir@208161.6]
  assign _T_480 = _GEN_453 & _T_479; // @[BTB.scala 257:71:shc.marmotcaravel.MarmotCaravelConfig.fir@208162.6]
  assign _T_481 = r_btb_update_bits_isValid ? _T_478 : _T_480; // @[BTB.scala 257:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208163.6]
  assign _T_483 = r_btb_update_bits_br_pc[31:1]; // @[BTB.scala 259:47:shc.marmotcaravel.MarmotCaravelConfig.fir@208165.6]
  assign _brIdx_waddr = _T_483[0]; // @[BTB.scala 259:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208166.6 BTB.scala 259:20:shc.marmotcaravel.MarmotCaravelConfig.fir@208166.6]
  assign _T_484 = idxPageUpdate[0]; // @[BTB.scala 262:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208167.6]
  assign _T_485 = _T_484 == 1'h0; // @[BTB.scala 262:25:shc.marmotcaravel.MarmotCaravelConfig.fir@208168.6]
  assign _T_486 = _T_485 ? idxPageReplEn : tgtPageReplEn; // @[BTB.scala 268:24:shc.marmotcaravel.MarmotCaravelConfig.fir@208169.6]
  assign _T_490 = _T_486[0]; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208173.6]
  assign _T_491 = _T_486[2]; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208177.6]
  assign _T_492 = _T_486[4]; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208181.6]
  assign _T_493 = _T_485 ? tgtPageReplEn : idxPageReplEn; // @[BTB.scala 270:24:shc.marmotcaravel.MarmotCaravelConfig.fir@208185.6]
  assign _T_497 = _T_493[1]; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208189.6]
  assign _T_498 = _T_493[3]; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208193.6]
  assign _T_499 = _T_493[5]; // @[BTB.scala 266:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208197.6]
  assign _GEN_455 = {{2'd0}, pageValid}; // @[BTB.scala 272:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208201.6]
  assign _T_500 = _GEN_455 | tgtPageReplEn; // @[BTB.scala 272:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208201.6]
  assign _T_501 = _T_500 | idxPageReplEn; // @[BTB.scala 272:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208202.6]
  assign _GEN_338 = r_btb_update_valid ? _T_481 : {{4'd0}, isValid}; // @[BTB.scala 250:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208150.4]
  assign _GEN_373 = r_btb_update_valid ? _T_501 : {{2'd0}, pageValid}; // @[BTB.scala 250:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208150.4]
  assign _GEN_456 = {{1'd0}, pageHit}; // @[BTB.scala 275:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208205.4]
  assign _T_502 = _GEN_456 << 1; // @[BTB.scala 275:29:shc.marmotcaravel.MarmotCaravelConfig.fir@208205.4]
  assign _T_503 = idxHit[0]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208206.4]
  assign _T_504 = idxHit[1]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208207.4]
  assign _T_505 = idxHit[2]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208208.4]
  assign _T_506 = idxHit[3]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208209.4]
  assign _T_507 = idxHit[4]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208210.4]
  assign _T_508 = idxHit[5]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208211.4]
  assign _T_509 = idxHit[6]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208212.4]
  assign _T_510 = idxHit[7]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208213.4]
  assign _T_511 = idxHit[8]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208214.4]
  assign _T_512 = idxHit[9]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208215.4]
  assign _T_513 = idxHit[10]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208216.4]
  assign _T_514 = idxHit[11]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208217.4]
  assign _T_515 = idxHit[12]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208218.4]
  assign _T_516 = idxHit[13]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208219.4]
  assign _T_517 = idxHit[14]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208220.4]
  assign _T_518 = idxHit[15]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208221.4]
  assign _T_519 = idxHit[16]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208222.4]
  assign _T_520 = idxHit[17]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208223.4]
  assign _T_521 = idxHit[18]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208224.4]
  assign _T_522 = idxHit[19]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208225.4]
  assign _T_523 = idxHit[20]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208226.4]
  assign _T_524 = idxHit[21]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208227.4]
  assign _T_525 = idxHit[22]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208228.4]
  assign _T_526 = idxHit[23]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208229.4]
  assign _T_527 = idxHit[24]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208230.4]
  assign _T_528 = idxHit[25]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208231.4]
  assign _T_529 = idxHit[26]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208232.4]
  assign _T_530 = idxHit[27]; // @[Mux.scala 21:36:shc.marmotcaravel.MarmotCaravelConfig.fir@208233.4]
  assign _T_532 = _T_503 ? idxPages_0 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208234.4]
  assign _T_533 = _T_504 ? idxPages_1 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208235.4]
  assign _T_534 = _T_505 ? idxPages_2 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208236.4]
  assign _T_535 = _T_506 ? idxPages_3 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208237.4]
  assign _T_536 = _T_507 ? idxPages_4 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208238.4]
  assign _T_537 = _T_508 ? idxPages_5 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208239.4]
  assign _T_538 = _T_509 ? idxPages_6 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208240.4]
  assign _T_539 = _T_510 ? idxPages_7 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208241.4]
  assign _T_540 = _T_511 ? idxPages_8 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208242.4]
  assign _T_541 = _T_512 ? idxPages_9 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208243.4]
  assign _T_542 = _T_513 ? idxPages_10 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208244.4]
  assign _T_543 = _T_514 ? idxPages_11 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208245.4]
  assign _T_544 = _T_515 ? idxPages_12 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208246.4]
  assign _T_545 = _T_516 ? idxPages_13 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208247.4]
  assign _T_546 = _T_517 ? idxPages_14 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208248.4]
  assign _T_547 = _T_518 ? idxPages_15 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208249.4]
  assign _T_548 = _T_519 ? idxPages_16 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208250.4]
  assign _T_549 = _T_520 ? idxPages_17 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208251.4]
  assign _T_550 = _T_521 ? idxPages_18 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208252.4]
  assign _T_551 = _T_522 ? idxPages_19 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208253.4]
  assign _T_552 = _T_523 ? idxPages_20 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208254.4]
  assign _T_553 = _T_524 ? idxPages_21 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208255.4]
  assign _T_554 = _T_525 ? idxPages_22 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208256.4]
  assign _T_555 = _T_526 ? idxPages_23 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208257.4]
  assign _T_556 = _T_527 ? idxPages_24 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208258.4]
  assign _T_557 = _T_528 ? idxPages_25 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208259.4]
  assign _T_558 = _T_529 ? idxPages_26 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208260.4]
  assign _T_559 = _T_530 ? idxPages_27 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208261.4]
  assign _T_560 = _T_532 | _T_533; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208262.4]
  assign _T_561 = _T_560 | _T_534; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208263.4]
  assign _T_562 = _T_561 | _T_535; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208264.4]
  assign _T_563 = _T_562 | _T_536; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208265.4]
  assign _T_564 = _T_563 | _T_537; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208266.4]
  assign _T_565 = _T_564 | _T_538; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208267.4]
  assign _T_566 = _T_565 | _T_539; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208268.4]
  assign _T_567 = _T_566 | _T_540; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208269.4]
  assign _T_568 = _T_567 | _T_541; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208270.4]
  assign _T_569 = _T_568 | _T_542; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208271.4]
  assign _T_570 = _T_569 | _T_543; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208272.4]
  assign _T_571 = _T_570 | _T_544; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208273.4]
  assign _T_572 = _T_571 | _T_545; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208274.4]
  assign _T_573 = _T_572 | _T_546; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208275.4]
  assign _T_574 = _T_573 | _T_547; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208276.4]
  assign _T_575 = _T_574 | _T_548; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208277.4]
  assign _T_576 = _T_575 | _T_549; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208278.4]
  assign _T_577 = _T_576 | _T_550; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208279.4]
  assign _T_578 = _T_577 | _T_551; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208280.4]
  assign _T_579 = _T_578 | _T_552; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208281.4]
  assign _T_580 = _T_579 | _T_553; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208282.4]
  assign _T_581 = _T_580 | _T_554; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208283.4]
  assign _T_582 = _T_581 | _T_555; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208284.4]
  assign _T_583 = _T_582 | _T_556; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208285.4]
  assign _T_584 = _T_583 | _T_557; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208286.4]
  assign _T_585 = _T_584 | _T_558; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208287.4]
  assign _T_586 = _T_585 | _T_559; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208288.4]
  assign _T_589 = _T_502 >> _T_586; // @[BTB.scala 275:34:shc.marmotcaravel.MarmotCaravelConfig.fir@208291.4]
  assign _T_620 = _T_503 ? tgtPages_0 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208323.4]
  assign _T_621 = _T_504 ? tgtPages_1 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208324.4]
  assign _T_622 = _T_505 ? tgtPages_2 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208325.4]
  assign _T_623 = _T_506 ? tgtPages_3 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208326.4]
  assign _T_624 = _T_507 ? tgtPages_4 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208327.4]
  assign _T_625 = _T_508 ? tgtPages_5 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208328.4]
  assign _T_626 = _T_509 ? tgtPages_6 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208329.4]
  assign _T_627 = _T_510 ? tgtPages_7 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208330.4]
  assign _T_628 = _T_511 ? tgtPages_8 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208331.4]
  assign _T_629 = _T_512 ? tgtPages_9 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208332.4]
  assign _T_630 = _T_513 ? tgtPages_10 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208333.4]
  assign _T_631 = _T_514 ? tgtPages_11 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208334.4]
  assign _T_632 = _T_515 ? tgtPages_12 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208335.4]
  assign _T_633 = _T_516 ? tgtPages_13 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208336.4]
  assign _T_634 = _T_517 ? tgtPages_14 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208337.4]
  assign _T_635 = _T_518 ? tgtPages_15 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208338.4]
  assign _T_636 = _T_519 ? tgtPages_16 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208339.4]
  assign _T_637 = _T_520 ? tgtPages_17 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208340.4]
  assign _T_638 = _T_521 ? tgtPages_18 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208341.4]
  assign _T_639 = _T_522 ? tgtPages_19 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208342.4]
  assign _T_640 = _T_523 ? tgtPages_20 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208343.4]
  assign _T_641 = _T_524 ? tgtPages_21 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208344.4]
  assign _T_642 = _T_525 ? tgtPages_22 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208345.4]
  assign _T_643 = _T_526 ? tgtPages_23 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208346.4]
  assign _T_644 = _T_527 ? tgtPages_24 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208347.4]
  assign _T_645 = _T_528 ? tgtPages_25 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208348.4]
  assign _T_646 = _T_529 ? tgtPages_26 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208349.4]
  assign _T_647 = _T_530 ? tgtPages_27 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208350.4]
  assign _T_648 = _T_620 | _T_621; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208351.4]
  assign _T_649 = _T_648 | _T_622; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208352.4]
  assign _T_650 = _T_649 | _T_623; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208353.4]
  assign _T_651 = _T_650 | _T_624; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208354.4]
  assign _T_652 = _T_651 | _T_625; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208355.4]
  assign _T_653 = _T_652 | _T_626; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208356.4]
  assign _T_654 = _T_653 | _T_627; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208357.4]
  assign _T_655 = _T_654 | _T_628; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208358.4]
  assign _T_656 = _T_655 | _T_629; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208359.4]
  assign _T_657 = _T_656 | _T_630; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208360.4]
  assign _T_658 = _T_657 | _T_631; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208361.4]
  assign _T_659 = _T_658 | _T_632; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208362.4]
  assign _T_660 = _T_659 | _T_633; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208363.4]
  assign _T_661 = _T_660 | _T_634; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208364.4]
  assign _T_662 = _T_661 | _T_635; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208365.4]
  assign _T_663 = _T_662 | _T_636; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208366.4]
  assign _T_664 = _T_663 | _T_637; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208367.4]
  assign _T_665 = _T_664 | _T_638; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208368.4]
  assign _T_666 = _T_665 | _T_639; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208369.4]
  assign _T_667 = _T_666 | _T_640; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208370.4]
  assign _T_668 = _T_667 | _T_641; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208371.4]
  assign _T_669 = _T_668 | _T_642; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208372.4]
  assign _T_670 = _T_669 | _T_643; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208373.4]
  assign _T_671 = _T_670 | _T_644; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208374.4]
  assign _T_672 = _T_671 | _T_645; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208375.4]
  assign _T_673 = _T_672 | _T_646; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208376.4]
  assign _T_674 = _T_673 | _T_647; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208377.4]
  assign _T_707 = _T_503 ? tgts_0 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208408.4]
  assign _T_708 = _T_504 ? tgts_1 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208409.4]
  assign _T_709 = _T_505 ? tgts_2 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208410.4]
  assign _T_710 = _T_506 ? tgts_3 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208411.4]
  assign _T_711 = _T_507 ? tgts_4 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208412.4]
  assign _T_712 = _T_508 ? tgts_5 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208413.4]
  assign _T_713 = _T_509 ? tgts_6 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208414.4]
  assign _T_714 = _T_510 ? tgts_7 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208415.4]
  assign _T_715 = _T_511 ? tgts_8 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208416.4]
  assign _T_716 = _T_512 ? tgts_9 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208417.4]
  assign _T_717 = _T_513 ? tgts_10 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208418.4]
  assign _T_718 = _T_514 ? tgts_11 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208419.4]
  assign _T_719 = _T_515 ? tgts_12 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208420.4]
  assign _T_720 = _T_516 ? tgts_13 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208421.4]
  assign _T_721 = _T_517 ? tgts_14 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208422.4]
  assign _T_722 = _T_518 ? tgts_15 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208423.4]
  assign _T_723 = _T_519 ? tgts_16 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208424.4]
  assign _T_724 = _T_520 ? tgts_17 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208425.4]
  assign _T_725 = _T_521 ? tgts_18 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208426.4]
  assign _T_726 = _T_522 ? tgts_19 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208427.4]
  assign _T_727 = _T_523 ? tgts_20 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208428.4]
  assign _T_728 = _T_524 ? tgts_21 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208429.4]
  assign _T_729 = _T_525 ? tgts_22 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208430.4]
  assign _T_730 = _T_526 ? tgts_23 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208431.4]
  assign _T_731 = _T_527 ? tgts_24 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208432.4]
  assign _T_732 = _T_528 ? tgts_25 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208433.4]
  assign _T_733 = _T_529 ? tgts_26 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208434.4]
  assign _T_734 = _T_530 ? tgts_27 : 13'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208435.4]
  assign _T_735 = _T_707 | _T_708; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208436.4]
  assign _T_736 = _T_735 | _T_709; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208437.4]
  assign _T_737 = _T_736 | _T_710; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208438.4]
  assign _T_738 = _T_737 | _T_711; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208439.4]
  assign _T_739 = _T_738 | _T_712; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208440.4]
  assign _T_740 = _T_739 | _T_713; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208441.4]
  assign _T_741 = _T_740 | _T_714; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208442.4]
  assign _T_742 = _T_741 | _T_715; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208443.4]
  assign _T_743 = _T_742 | _T_716; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208444.4]
  assign _T_744 = _T_743 | _T_717; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208445.4]
  assign _T_745 = _T_744 | _T_718; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208446.4]
  assign _T_746 = _T_745 | _T_719; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208447.4]
  assign _T_747 = _T_746 | _T_720; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208448.4]
  assign _T_748 = _T_747 | _T_721; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208449.4]
  assign _T_749 = _T_748 | _T_722; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208450.4]
  assign _T_750 = _T_749 | _T_723; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208451.4]
  assign _T_751 = _T_750 | _T_724; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208452.4]
  assign _T_752 = _T_751 | _T_725; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208453.4]
  assign _T_753 = _T_752 | _T_726; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208454.4]
  assign _T_754 = _T_753 | _T_727; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208455.4]
  assign _T_755 = _T_754 | _T_728; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208456.4]
  assign _T_756 = _T_755 | _T_729; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208457.4]
  assign _T_757 = _T_756 | _T_730; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208458.4]
  assign _T_758 = _T_757 | _T_731; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208459.4]
  assign _T_759 = _T_758 | _T_732; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208460.4]
  assign _T_760 = _T_759 | _T_733; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208461.4]
  assign _T_761 = _T_760 | _T_734; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208462.4]
  assign _GEN_457 = {{1'd0}, _T_761}; // @[BTB.scala 277:82:shc.marmotcaravel.MarmotCaravelConfig.fir@208465.4]
  assign _T_764 = _GEN_457 << 1; // @[BTB.scala 277:82:shc.marmotcaravel.MarmotCaravelConfig.fir@208465.4]
  assign _GEN_375 = 3'h1 == _T_674 ? pages_1 : pages_0; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208466.4]
  assign _GEN_376 = 3'h2 == _T_674 ? pages_2 : _GEN_375; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208466.4]
  assign _GEN_377 = 3'h3 == _T_674 ? pages_3 : _GEN_376; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208466.4]
  assign _GEN_378 = 3'h4 == _T_674 ? pages_4 : _GEN_377; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208466.4]
  assign _GEN_379 = 3'h5 == _T_674 ? pages_5 : _GEN_378; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208466.4]
  assign _T_765 = {_GEN_379,_T_764}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208466.4]
  assign _T_766 = idxHit[27:16]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208468.4]
  assign _T_767 = idxHit[15:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208469.4]
  assign _T_768 = _T_766 != 12'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@208470.4]
  assign _GEN_458 = {{4'd0}, _T_766}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208471.4]
  assign _T_769 = _GEN_458 | _T_767; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208471.4]
  assign _T_770 = _T_769[15:8]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208472.4]
  assign _T_771 = _T_769[7:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208473.4]
  assign _T_772 = _T_770 != 8'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@208474.4]
  assign _T_773 = _T_770 | _T_771; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208475.4]
  assign _T_774 = _T_773[7:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208476.4]
  assign _T_775 = _T_773[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208477.4]
  assign _T_776 = _T_774 != 4'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@208478.4]
  assign _T_777 = _T_774 | _T_775; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208479.4]
  assign _T_778 = _T_777[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208480.4]
  assign _T_779 = _T_777[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@208481.4]
  assign _T_780 = _T_778 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@208482.4]
  assign _T_781 = _T_778 | _T_779; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208483.4]
  assign _T_782 = _T_781[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@208484.4]
  assign _T_783 = {_T_780,_T_782}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208485.4]
  assign _T_784 = {_T_776,_T_783}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208486.4]
  assign _T_785 = {_T_772,_T_784}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208487.4]
  assign _T_816 = _T_503 ? brIdx_0 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208518.4]
  assign _T_817 = _T_504 ? brIdx_1 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208519.4]
  assign _T_818 = _T_505 ? brIdx_2 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208520.4]
  assign _T_819 = _T_506 ? brIdx_3 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208521.4]
  assign _T_820 = _T_507 ? brIdx_4 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208522.4]
  assign _T_821 = _T_508 ? brIdx_5 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208523.4]
  assign _T_822 = _T_509 ? brIdx_6 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208524.4]
  assign _T_823 = _T_510 ? brIdx_7 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208525.4]
  assign _T_824 = _T_511 ? brIdx_8 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208526.4]
  assign _T_825 = _T_512 ? brIdx_9 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208527.4]
  assign _T_826 = _T_513 ? brIdx_10 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208528.4]
  assign _T_827 = _T_514 ? brIdx_11 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208529.4]
  assign _T_828 = _T_515 ? brIdx_12 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208530.4]
  assign _T_829 = _T_516 ? brIdx_13 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208531.4]
  assign _T_830 = _T_517 ? brIdx_14 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208532.4]
  assign _T_831 = _T_518 ? brIdx_15 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208533.4]
  assign _T_832 = _T_519 ? brIdx_16 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208534.4]
  assign _T_833 = _T_520 ? brIdx_17 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208535.4]
  assign _T_834 = _T_521 ? brIdx_18 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208536.4]
  assign _T_835 = _T_522 ? brIdx_19 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208537.4]
  assign _T_836 = _T_523 ? brIdx_20 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208538.4]
  assign _T_837 = _T_524 ? brIdx_21 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208539.4]
  assign _T_838 = _T_525 ? brIdx_22 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208540.4]
  assign _T_839 = _T_526 ? brIdx_23 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208541.4]
  assign _T_840 = _T_527 ? brIdx_24 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208542.4]
  assign _T_841 = _T_528 ? brIdx_25 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208543.4]
  assign _T_842 = _T_529 ? brIdx_26 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208544.4]
  assign _T_843 = _T_530 ? brIdx_27 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208545.4]
  assign _T_844 = _T_816 | _T_817; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208546.4]
  assign _T_845 = _T_844 | _T_818; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208547.4]
  assign _T_846 = _T_845 | _T_819; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208548.4]
  assign _T_847 = _T_846 | _T_820; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208549.4]
  assign _T_848 = _T_847 | _T_821; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208550.4]
  assign _T_849 = _T_848 | _T_822; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208551.4]
  assign _T_850 = _T_849 | _T_823; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208552.4]
  assign _T_851 = _T_850 | _T_824; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208553.4]
  assign _T_852 = _T_851 | _T_825; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208554.4]
  assign _T_853 = _T_852 | _T_826; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208555.4]
  assign _T_854 = _T_853 | _T_827; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208556.4]
  assign _T_855 = _T_854 | _T_828; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208557.4]
  assign _T_856 = _T_855 | _T_829; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208558.4]
  assign _T_857 = _T_856 | _T_830; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208559.4]
  assign _T_858 = _T_857 | _T_831; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208560.4]
  assign _T_859 = _T_858 | _T_832; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208561.4]
  assign _T_860 = _T_859 | _T_833; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208562.4]
  assign _T_861 = _T_860 | _T_834; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208563.4]
  assign _T_862 = _T_861 | _T_835; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208564.4]
  assign _T_863 = _T_862 | _T_836; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208565.4]
  assign _T_864 = _T_863 | _T_837; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208566.4]
  assign _T_865 = _T_864 | _T_838; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208567.4]
  assign _T_866 = _T_865 | _T_839; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208568.4]
  assign _T_867 = _T_866 | _T_840; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208569.4]
  assign _T_868 = _T_867 | _T_841; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208570.4]
  assign _T_869 = _T_868 | _T_842; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208571.4]
  assign _T_967 = idxHit[13:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208671.4]
  assign _T_968 = _T_967[6:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208672.4]
  assign _T_969 = _T_968[2:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208673.4]
  assign _T_970 = _T_969[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208674.4]
  assign _T_972 = _T_969[2:1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208676.4]
  assign _T_973 = _T_972[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208677.4]
  assign _T_975 = _T_972[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208679.4]
  assign _T_977 = _T_973 | _T_975; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208681.4]
  assign _T_979 = _T_973 & _T_975; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208683.4]
  assign _T_981 = _T_970 | _T_977; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208685.4]
  assign _T_983 = _T_970 & _T_977; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208687.4]
  assign _T_984 = _T_979 | _T_983; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208688.4]
  assign _T_985 = _T_968[6:3]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208689.4]
  assign _T_986 = _T_985[1:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208690.4]
  assign _T_987 = _T_986[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208691.4]
  assign _T_989 = _T_986[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208693.4]
  assign _T_991 = _T_987 | _T_989; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208695.4]
  assign _T_993 = _T_987 & _T_989; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208697.4]
  assign _T_995 = _T_985[3:2]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208699.4]
  assign _T_996 = _T_995[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208700.4]
  assign _T_998 = _T_995[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208702.4]
  assign _T_1000 = _T_996 | _T_998; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208704.4]
  assign _T_1002 = _T_996 & _T_998; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208706.4]
  assign _T_1004 = _T_991 | _T_1000; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208708.4]
  assign _T_1005 = _T_993 | _T_1002; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208709.4]
  assign _T_1006 = _T_991 & _T_1000; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208710.4]
  assign _T_1007 = _T_1005 | _T_1006; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208711.4]
  assign _T_1008 = _T_981 | _T_1004; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208712.4]
  assign _T_1009 = _T_984 | _T_1007; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208713.4]
  assign _T_1010 = _T_981 & _T_1004; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208714.4]
  assign _T_1011 = _T_1009 | _T_1010; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208715.4]
  assign _T_1012 = _T_967[13:7]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208716.4]
  assign _T_1013 = _T_1012[2:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208717.4]
  assign _T_1014 = _T_1013[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208718.4]
  assign _T_1016 = _T_1013[2:1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208720.4]
  assign _T_1017 = _T_1016[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208721.4]
  assign _T_1019 = _T_1016[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208723.4]
  assign _T_1021 = _T_1017 | _T_1019; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208725.4]
  assign _T_1023 = _T_1017 & _T_1019; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208727.4]
  assign _T_1025 = _T_1014 | _T_1021; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208729.4]
  assign _T_1027 = _T_1014 & _T_1021; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208731.4]
  assign _T_1028 = _T_1023 | _T_1027; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208732.4]
  assign _T_1029 = _T_1012[6:3]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208733.4]
  assign _T_1030 = _T_1029[1:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208734.4]
  assign _T_1031 = _T_1030[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208735.4]
  assign _T_1033 = _T_1030[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208737.4]
  assign _T_1035 = _T_1031 | _T_1033; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208739.4]
  assign _T_1037 = _T_1031 & _T_1033; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208741.4]
  assign _T_1039 = _T_1029[3:2]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208743.4]
  assign _T_1040 = _T_1039[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208744.4]
  assign _T_1042 = _T_1039[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208746.4]
  assign _T_1044 = _T_1040 | _T_1042; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208748.4]
  assign _T_1046 = _T_1040 & _T_1042; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208750.4]
  assign _T_1048 = _T_1035 | _T_1044; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208752.4]
  assign _T_1049 = _T_1037 | _T_1046; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208753.4]
  assign _T_1050 = _T_1035 & _T_1044; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208754.4]
  assign _T_1051 = _T_1049 | _T_1050; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208755.4]
  assign _T_1052 = _T_1025 | _T_1048; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208756.4]
  assign _T_1053 = _T_1028 | _T_1051; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208757.4]
  assign _T_1054 = _T_1025 & _T_1048; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208758.4]
  assign _T_1055 = _T_1053 | _T_1054; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208759.4]
  assign _T_1056 = _T_1008 | _T_1052; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208760.4]
  assign _T_1057 = _T_1011 | _T_1055; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208761.4]
  assign _T_1058 = _T_1008 & _T_1052; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208762.4]
  assign _T_1059 = _T_1057 | _T_1058; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208763.4]
  assign _T_1060 = idxHit[27:14]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208764.4]
  assign _T_1061 = _T_1060[6:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208765.4]
  assign _T_1062 = _T_1061[2:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208766.4]
  assign _T_1063 = _T_1062[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208767.4]
  assign _T_1065 = _T_1062[2:1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208769.4]
  assign _T_1066 = _T_1065[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208770.4]
  assign _T_1068 = _T_1065[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208772.4]
  assign _T_1070 = _T_1066 | _T_1068; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208774.4]
  assign _T_1072 = _T_1066 & _T_1068; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208776.4]
  assign _T_1074 = _T_1063 | _T_1070; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208778.4]
  assign _T_1076 = _T_1063 & _T_1070; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208780.4]
  assign _T_1077 = _T_1072 | _T_1076; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208781.4]
  assign _T_1078 = _T_1061[6:3]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208782.4]
  assign _T_1079 = _T_1078[1:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208783.4]
  assign _T_1080 = _T_1079[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208784.4]
  assign _T_1082 = _T_1079[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208786.4]
  assign _T_1084 = _T_1080 | _T_1082; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208788.4]
  assign _T_1086 = _T_1080 & _T_1082; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208790.4]
  assign _T_1088 = _T_1078[3:2]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208792.4]
  assign _T_1089 = _T_1088[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208793.4]
  assign _T_1091 = _T_1088[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208795.4]
  assign _T_1093 = _T_1089 | _T_1091; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208797.4]
  assign _T_1095 = _T_1089 & _T_1091; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208799.4]
  assign _T_1097 = _T_1084 | _T_1093; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208801.4]
  assign _T_1098 = _T_1086 | _T_1095; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208802.4]
  assign _T_1099 = _T_1084 & _T_1093; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208803.4]
  assign _T_1100 = _T_1098 | _T_1099; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208804.4]
  assign _T_1101 = _T_1074 | _T_1097; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208805.4]
  assign _T_1102 = _T_1077 | _T_1100; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208806.4]
  assign _T_1103 = _T_1074 & _T_1097; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208807.4]
  assign _T_1104 = _T_1102 | _T_1103; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208808.4]
  assign _T_1105 = _T_1060[13:7]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208809.4]
  assign _T_1106 = _T_1105[2:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208810.4]
  assign _T_1107 = _T_1106[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208811.4]
  assign _T_1109 = _T_1106[2:1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208813.4]
  assign _T_1110 = _T_1109[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208814.4]
  assign _T_1112 = _T_1109[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208816.4]
  assign _T_1114 = _T_1110 | _T_1112; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208818.4]
  assign _T_1116 = _T_1110 & _T_1112; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208820.4]
  assign _T_1118 = _T_1107 | _T_1114; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208822.4]
  assign _T_1120 = _T_1107 & _T_1114; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208824.4]
  assign _T_1121 = _T_1116 | _T_1120; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208825.4]
  assign _T_1122 = _T_1105[6:3]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208826.4]
  assign _T_1123 = _T_1122[1:0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208827.4]
  assign _T_1124 = _T_1123[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208828.4]
  assign _T_1126 = _T_1123[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208830.4]
  assign _T_1128 = _T_1124 | _T_1126; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208832.4]
  assign _T_1130 = _T_1124 & _T_1126; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208834.4]
  assign _T_1132 = _T_1122[3:2]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208836.4]
  assign _T_1133 = _T_1132[0]; // @[Misc.scala 185:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208837.4]
  assign _T_1135 = _T_1132[1]; // @[Misc.scala 186:39:shc.marmotcaravel.MarmotCaravelConfig.fir@208839.4]
  assign _T_1137 = _T_1133 | _T_1135; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208841.4]
  assign _T_1139 = _T_1133 & _T_1135; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208843.4]
  assign _T_1141 = _T_1128 | _T_1137; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208845.4]
  assign _T_1142 = _T_1130 | _T_1139; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208846.4]
  assign _T_1143 = _T_1128 & _T_1137; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208847.4]
  assign _T_1144 = _T_1142 | _T_1143; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208848.4]
  assign _T_1145 = _T_1118 | _T_1141; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208849.4]
  assign _T_1146 = _T_1121 | _T_1144; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208850.4]
  assign _T_1147 = _T_1118 & _T_1141; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208851.4]
  assign _T_1148 = _T_1146 | _T_1147; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208852.4]
  assign _T_1149 = _T_1101 | _T_1145; // @[Misc.scala 187:16:shc.marmotcaravel.MarmotCaravelConfig.fir@208853.4]
  assign _T_1150 = _T_1104 | _T_1148; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208854.4]
  assign _T_1151 = _T_1101 & _T_1145; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208855.4]
  assign _T_1152 = _T_1150 | _T_1151; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208856.4]
  assign _T_1154 = _T_1059 | _T_1152; // @[Misc.scala 187:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208858.4]
  assign _T_1155 = _T_1056 & _T_1149; // @[Misc.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@208859.4]
  assign _T_1156 = _T_1154 | _T_1155; // @[Misc.scala 187:49:shc.marmotcaravel.MarmotCaravelConfig.fir@208860.4]
  assign _T_1157 = ~ idxHit; // @[BTB.scala 285:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208862.6]
  assign _T_1158 = isValid & _T_1157; // @[BTB.scala 285:24:shc.marmotcaravel.MarmotCaravelConfig.fir@208863.6]
  assign _GEN_380 = _T_1156 ? {{4'd0}, _T_1158} : _GEN_338; // @[BTB.scala 284:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208861.4]
  assign _GEN_381 = io_flush ? 32'h0 : _GEN_380; // @[BTB.scala 287:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208866.4]
  assign _T_1164 = cfiType_0 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208871.4]
  assign _T_1165 = cfiType_1 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208872.4]
  assign _T_1166 = cfiType_2 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208873.4]
  assign _T_1167 = cfiType_3 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208874.4]
  assign _T_1168 = cfiType_4 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208875.4]
  assign _T_1169 = cfiType_5 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208876.4]
  assign _T_1170 = cfiType_6 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208877.4]
  assign _T_1171 = cfiType_7 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208878.4]
  assign _T_1172 = cfiType_8 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208879.4]
  assign _T_1173 = cfiType_9 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208880.4]
  assign _T_1174 = cfiType_10 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208881.4]
  assign _T_1175 = cfiType_11 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208882.4]
  assign _T_1176 = cfiType_12 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208883.4]
  assign _T_1177 = cfiType_13 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208884.4]
  assign _T_1178 = cfiType_14 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208885.4]
  assign _T_1179 = cfiType_15 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208886.4]
  assign _T_1180 = cfiType_16 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208887.4]
  assign _T_1181 = cfiType_17 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208888.4]
  assign _T_1182 = cfiType_18 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208889.4]
  assign _T_1183 = cfiType_19 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208890.4]
  assign _T_1184 = cfiType_20 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208891.4]
  assign _T_1185 = cfiType_21 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208892.4]
  assign _T_1186 = cfiType_22 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208893.4]
  assign _T_1187 = cfiType_23 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208894.4]
  assign _T_1188 = cfiType_24 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208895.4]
  assign _T_1189 = cfiType_25 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208896.4]
  assign _T_1190 = cfiType_26 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208897.4]
  assign _T_1191 = cfiType_27 == 2'h0; // @[BTB.scala 293:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208898.4]
  assign _T_1192 = {_T_1166,_T_1165}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208899.4]
  assign _T_1193 = {_T_1192,_T_1164}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208900.4]
  assign _T_1194 = {_T_1168,_T_1167}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208901.4]
  assign _T_1195 = {_T_1170,_T_1169}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208902.4]
  assign _T_1196 = {_T_1195,_T_1194}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208903.4]
  assign _T_1197 = {_T_1196,_T_1193}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208904.4]
  assign _T_1198 = {_T_1173,_T_1172}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208905.4]
  assign _T_1199 = {_T_1198,_T_1171}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208906.4]
  assign _T_1200 = {_T_1175,_T_1174}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208907.4]
  assign _T_1201 = {_T_1177,_T_1176}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208908.4]
  assign _T_1202 = {_T_1201,_T_1200}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208909.4]
  assign _T_1203 = {_T_1202,_T_1199}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208910.4]
  assign _T_1204 = {_T_1203,_T_1197}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208911.4]
  assign _T_1205 = {_T_1180,_T_1179}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208912.4]
  assign _T_1206 = {_T_1205,_T_1178}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208913.4]
  assign _T_1207 = {_T_1182,_T_1181}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208914.4]
  assign _T_1208 = {_T_1184,_T_1183}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208915.4]
  assign _T_1209 = {_T_1208,_T_1207}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208916.4]
  assign _T_1210 = {_T_1209,_T_1206}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208917.4]
  assign _T_1211 = {_T_1187,_T_1186}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208918.4]
  assign _T_1212 = {_T_1211,_T_1185}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208919.4]
  assign _T_1213 = {_T_1189,_T_1188}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208920.4]
  assign _T_1214 = {_T_1191,_T_1190}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208921.4]
  assign _T_1215 = {_T_1214,_T_1213}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208922.4]
  assign _T_1216 = {_T_1215,_T_1212}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208923.4]
  assign _T_1217 = {_T_1216,_T_1210}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208924.4]
  assign _T_1218 = {_T_1217,_T_1204}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208925.4]
  assign _T_1219 = idxHit & _T_1218; // @[BTB.scala 293:28:shc.marmotcaravel.MarmotCaravelConfig.fir@208926.4]
  assign _T_1220 = _T_1219 != 28'h0; // @[BTB.scala 293:72:shc.marmotcaravel.MarmotCaravelConfig.fir@208927.4]
  assign _T_1223 = io_req_bits_addr[31:2]; // @[BTB.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@208930.4]
  assign _T_1224 = _T_1223[8:0]; // @[BTB.scala 87:9:shc.marmotcaravel.MarmotCaravelConfig.fir@208931.4]
  assign _T_1225 = _T_1223[29:9]; // @[BTB.scala 87:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208932.4]
  assign _T_1226 = _T_1225[1:0]; // @[BTB.scala 87:77:shc.marmotcaravel.MarmotCaravelConfig.fir@208933.4]
  assign _GEN_459 = {{7'd0}, _T_1226}; // @[BTB.scala 87:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208934.4]
  assign _T_1227 = _T_1224 ^ _GEN_459; // @[BTB.scala 87:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208934.4]
  assign _T_1228 = 8'hdd * _T_1163; // @[BTB.scala 83:12:shc.marmotcaravel.MarmotCaravelConfig.fir@208935.4]
  assign _T_1229 = _T_1228[7:5]; // @[BTB.scala 83:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208936.4]
  assign _GEN_460 = {{6'd0}, _T_1229}; // @[BTB.scala 89:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208937.4]
  assign _T_1230 = _GEN_460 << 6; // @[BTB.scala 89:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208937.4]
  assign _T_1234 = _T_1163[7:1]; // @[BTB.scala 110:35:shc.marmotcaravel.MarmotCaravelConfig.fir@208944.6]
  assign _T_1235 = {io_bht_advance_bits_bht_value,_T_1234}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208945.6]
  assign _T_1236 = io_bht_update_bits_pc[31:2]; // @[BTB.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@208950.8]
  assign _T_1237 = _T_1236[8:0]; // @[BTB.scala 87:9:shc.marmotcaravel.MarmotCaravelConfig.fir@208951.8]
  assign _T_1238 = _T_1236[29:9]; // @[BTB.scala 87:48:shc.marmotcaravel.MarmotCaravelConfig.fir@208952.8]
  assign _T_1239 = _T_1238[1:0]; // @[BTB.scala 87:77:shc.marmotcaravel.MarmotCaravelConfig.fir@208953.8]
  assign _GEN_461 = {{7'd0}, _T_1239}; // @[BTB.scala 87:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208954.8]
  assign _T_1240 = _T_1237 ^ _GEN_461; // @[BTB.scala 87:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208954.8]
  assign _T_1241 = 8'hdd * io_bht_update_bits_prediction_history; // @[BTB.scala 83:12:shc.marmotcaravel.MarmotCaravelConfig.fir@208955.8]
  assign _T_1242 = _T_1241[7:5]; // @[BTB.scala 83:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208956.8]
  assign _GEN_462 = {{6'd0}, _T_1242}; // @[BTB.scala 89:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208957.8]
  assign _T_1243 = _GEN_462 << 6; // @[BTB.scala 89:44:shc.marmotcaravel.MarmotCaravelConfig.fir@208957.8]
  assign _T_1246 = io_bht_update_bits_prediction_history[7:1]; // @[BTB.scala 107:37:shc.marmotcaravel.MarmotCaravelConfig.fir@208962.10]
  assign _T_1247 = {io_bht_update_bits_taken,_T_1246}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@208963.10]
  assign _T_1222_value = _T_1161__T_1232_data; // @[BTB.scala 92:19:shc.marmotcaravel.MarmotCaravelConfig.fir@208928.4 BTB.scala 93:15:shc.marmotcaravel.MarmotCaravelConfig.fir@208940.4]
  assign _T_1249 = _T_1222_value == 1'h0; // @[BTB.scala 308:11:shc.marmotcaravel.MarmotCaravelConfig.fir@208973.4]
  assign _T_1250 = _T_1249 & _T_1220; // @[BTB.scala 308:22:shc.marmotcaravel.MarmotCaravelConfig.fir@208974.4]
  assign _T_1267 = cfiType_0 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208982.4]
  assign _T_1268 = cfiType_1 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208983.4]
  assign _T_1269 = cfiType_2 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208984.4]
  assign _T_1270 = cfiType_3 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208985.4]
  assign _T_1271 = cfiType_4 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208986.4]
  assign _T_1272 = cfiType_5 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208987.4]
  assign _T_1273 = cfiType_6 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208988.4]
  assign _T_1274 = cfiType_7 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208989.4]
  assign _T_1275 = cfiType_8 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208990.4]
  assign _T_1276 = cfiType_9 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208991.4]
  assign _T_1277 = cfiType_10 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208992.4]
  assign _T_1278 = cfiType_11 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208993.4]
  assign _T_1279 = cfiType_12 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208994.4]
  assign _T_1280 = cfiType_13 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208995.4]
  assign _T_1281 = cfiType_14 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208996.4]
  assign _T_1282 = cfiType_15 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208997.4]
  assign _T_1283 = cfiType_16 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208998.4]
  assign _T_1284 = cfiType_17 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@208999.4]
  assign _T_1285 = cfiType_18 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209000.4]
  assign _T_1286 = cfiType_19 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209001.4]
  assign _T_1287 = cfiType_20 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209002.4]
  assign _T_1288 = cfiType_21 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209003.4]
  assign _T_1289 = cfiType_22 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209004.4]
  assign _T_1290 = cfiType_23 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209005.4]
  assign _T_1291 = cfiType_24 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209006.4]
  assign _T_1292 = cfiType_25 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209007.4]
  assign _T_1293 = cfiType_26 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209008.4]
  assign _T_1294 = cfiType_27 == 2'h3; // @[BTB.scala 314:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209009.4]
  assign _T_1295 = {_T_1269,_T_1268}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209010.4]
  assign _T_1296 = {_T_1295,_T_1267}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209011.4]
  assign _T_1297 = {_T_1271,_T_1270}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209012.4]
  assign _T_1298 = {_T_1273,_T_1272}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209013.4]
  assign _T_1299 = {_T_1298,_T_1297}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209014.4]
  assign _T_1300 = {_T_1299,_T_1296}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209015.4]
  assign _T_1301 = {_T_1276,_T_1275}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209016.4]
  assign _T_1302 = {_T_1301,_T_1274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209017.4]
  assign _T_1303 = {_T_1278,_T_1277}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209018.4]
  assign _T_1304 = {_T_1280,_T_1279}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209019.4]
  assign _T_1305 = {_T_1304,_T_1303}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209020.4]
  assign _T_1306 = {_T_1305,_T_1302}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209021.4]
  assign _T_1307 = {_T_1306,_T_1300}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209022.4]
  assign _T_1308 = {_T_1283,_T_1282}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209023.4]
  assign _T_1309 = {_T_1308,_T_1281}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209024.4]
  assign _T_1310 = {_T_1285,_T_1284}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209025.4]
  assign _T_1311 = {_T_1287,_T_1286}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209026.4]
  assign _T_1312 = {_T_1311,_T_1310}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209027.4]
  assign _T_1313 = {_T_1312,_T_1309}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209028.4]
  assign _T_1314 = {_T_1290,_T_1289}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209029.4]
  assign _T_1315 = {_T_1314,_T_1288}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209030.4]
  assign _T_1316 = {_T_1292,_T_1291}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209031.4]
  assign _T_1317 = {_T_1294,_T_1293}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209032.4]
  assign _T_1318 = {_T_1317,_T_1316}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209033.4]
  assign _T_1319 = {_T_1318,_T_1315}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209034.4]
  assign _T_1320 = {_T_1319,_T_1313}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209035.4]
  assign _T_1321 = {_T_1320,_T_1307}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209036.4]
  assign _T_1322 = idxHit & _T_1321; // @[BTB.scala 314:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209037.4]
  assign _T_1323 = _T_1322 != 28'h0; // @[BTB.scala 314:67:shc.marmotcaravel.MarmotCaravelConfig.fir@209038.4]
  assign _T_1324 = _T_1252 == 3'h0; // @[BTB.scala 55:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209039.4]
  assign _T_1325 = _T_1324 == 1'h0; // @[BTB.scala 315:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209040.4]
  assign _GEN_399 = 3'h1 == _T_1254 ? _T_1258_1 : _T_1258_0; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209042.4]
  assign _GEN_400 = 3'h2 == _T_1254 ? _T_1258_2 : _GEN_399; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209042.4]
  assign _GEN_401 = 3'h3 == _T_1254 ? _T_1258_3 : _GEN_400; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209042.4]
  assign _GEN_402 = 3'h4 == _T_1254 ? _T_1258_4 : _GEN_401; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209042.4]
  assign _GEN_403 = 3'h5 == _T_1254 ? _T_1258_5 : _GEN_402; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209042.4]
  assign _T_1329 = _T_1325 & _T_1323; // @[BTB.scala 317:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209045.4]
  assign _T_1331 = io_ras_update_bits_cfiType == 2'h2; // @[BTB.scala 321:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209050.6]
  assign _T_1332 = _T_1252 < 3'h6; // @[BTB.scala 44:17:shc.marmotcaravel.MarmotCaravelConfig.fir@209052.8]
  assign _T_1334 = _T_1252 + 3'h1; // @[BTB.scala 44:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209055.10]
  assign _T_1335 = _T_1254 < 3'h5; // @[BTB.scala 45:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209058.8]
  assign _T_1338 = _T_1254 + 3'h1; // @[BTB.scala 45:62:shc.marmotcaravel.MarmotCaravelConfig.fir@209061.8]
  assign _T_1339 = _T_1335 ? _T_1338 : 3'h0; // @[BTB.scala 45:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209062.8]
  assign _T_1341 = io_ras_update_bits_cfiType == 2'h3; // @[BTB.scala 323:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209067.8]
  assign _T_1344 = _T_1252 - 3'h1; // @[BTB.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209072.12]
  assign _T_1345 = $unsigned(_T_1344); // @[BTB.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209073.12]
  assign _T_1346 = _T_1345[2:0]; // @[BTB.scala 51:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209074.12]
  assign _T_1347 = _T_1254 > 3'h0; // @[BTB.scala 52:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209076.12]
  assign _T_1349 = _T_1254 - 3'h1; // @[BTB.scala 52:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209078.12]
  assign _T_1350 = $unsigned(_T_1349); // @[BTB.scala 52:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209079.12]
  assign _T_1351 = _T_1350[2:0]; // @[BTB.scala 52:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209080.12]
  assign io_resp_valid = _T_589[0]; // @[BTB.scala 275:17:shc.marmotcaravel.MarmotCaravelConfig.fir@208293.4]
  assign io_resp_bits_taken = _T_1250 ? 1'h0 : 1'h1; // @[BTB.scala 276:22:shc.marmotcaravel.MarmotCaravelConfig.fir@208294.4 BTB.scala 308:56:shc.marmotcaravel.MarmotCaravelConfig.fir@208976.6]
  assign io_resp_bits_bridx = _T_869 | _T_843; // @[BTB.scala 279:22:shc.marmotcaravel.MarmotCaravelConfig.fir@208575.4]
  assign io_resp_bits_target = _T_1329 ? _GEN_403 : _T_765; // @[BTB.scala 277:23:shc.marmotcaravel.MarmotCaravelConfig.fir@208467.4 BTB.scala 318:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209047.6]
  assign io_resp_bits_entry = {_T_768,_T_785}; // @[BTB.scala 278:22:shc.marmotcaravel.MarmotCaravelConfig.fir@208489.4]
  assign io_resp_bits_bht_history = _T_1163; // @[BTB.scala 309:22:shc.marmotcaravel.MarmotCaravelConfig.fir@208978.4]
  assign io_resp_bits_bht_value = _T_1161__T_1232_data; // @[BTB.scala 309:22:shc.marmotcaravel.MarmotCaravelConfig.fir@208978.4]
  assign io_ras_head_valid = _T_1324 == 1'h0; // @[BTB.scala 315:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209041.4]
  assign io_ras_head_bits = 3'h5 == _T_1254 ? _T_1258_5 : _GEN_402; // @[BTB.scala 316:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209042.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  _RAND_0 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 512; initvar = initvar+1)
    _T_1161[initvar] = _RAND_0[0:0];
  `endif // RANDOMIZE_MEM_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  idxs_0 = _RAND_1[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  idxs_1 = _RAND_2[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  idxs_2 = _RAND_3[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  idxs_3 = _RAND_4[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  idxs_4 = _RAND_5[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  idxs_5 = _RAND_6[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  idxs_6 = _RAND_7[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  idxs_7 = _RAND_8[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  idxs_8 = _RAND_9[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  idxs_9 = _RAND_10[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  idxs_10 = _RAND_11[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  idxs_11 = _RAND_12[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  idxs_12 = _RAND_13[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  idxs_13 = _RAND_14[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  idxs_14 = _RAND_15[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  idxs_15 = _RAND_16[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_17 = {1{`RANDOM}};
  idxs_16 = _RAND_17[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_18 = {1{`RANDOM}};
  idxs_17 = _RAND_18[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_19 = {1{`RANDOM}};
  idxs_18 = _RAND_19[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_20 = {1{`RANDOM}};
  idxs_19 = _RAND_20[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_21 = {1{`RANDOM}};
  idxs_20 = _RAND_21[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_22 = {1{`RANDOM}};
  idxs_21 = _RAND_22[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_23 = {1{`RANDOM}};
  idxs_22 = _RAND_23[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_24 = {1{`RANDOM}};
  idxs_23 = _RAND_24[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_25 = {1{`RANDOM}};
  idxs_24 = _RAND_25[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_26 = {1{`RANDOM}};
  idxs_25 = _RAND_26[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_27 = {1{`RANDOM}};
  idxs_26 = _RAND_27[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_28 = {1{`RANDOM}};
  idxs_27 = _RAND_28[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_29 = {1{`RANDOM}};
  idxPages_0 = _RAND_29[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_30 = {1{`RANDOM}};
  idxPages_1 = _RAND_30[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_31 = {1{`RANDOM}};
  idxPages_2 = _RAND_31[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_32 = {1{`RANDOM}};
  idxPages_3 = _RAND_32[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_33 = {1{`RANDOM}};
  idxPages_4 = _RAND_33[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_34 = {1{`RANDOM}};
  idxPages_5 = _RAND_34[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_35 = {1{`RANDOM}};
  idxPages_6 = _RAND_35[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_36 = {1{`RANDOM}};
  idxPages_7 = _RAND_36[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_37 = {1{`RANDOM}};
  idxPages_8 = _RAND_37[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_38 = {1{`RANDOM}};
  idxPages_9 = _RAND_38[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_39 = {1{`RANDOM}};
  idxPages_10 = _RAND_39[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_40 = {1{`RANDOM}};
  idxPages_11 = _RAND_40[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_41 = {1{`RANDOM}};
  idxPages_12 = _RAND_41[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_42 = {1{`RANDOM}};
  idxPages_13 = _RAND_42[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_43 = {1{`RANDOM}};
  idxPages_14 = _RAND_43[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_44 = {1{`RANDOM}};
  idxPages_15 = _RAND_44[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_45 = {1{`RANDOM}};
  idxPages_16 = _RAND_45[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_46 = {1{`RANDOM}};
  idxPages_17 = _RAND_46[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_47 = {1{`RANDOM}};
  idxPages_18 = _RAND_47[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_48 = {1{`RANDOM}};
  idxPages_19 = _RAND_48[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_49 = {1{`RANDOM}};
  idxPages_20 = _RAND_49[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_50 = {1{`RANDOM}};
  idxPages_21 = _RAND_50[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_51 = {1{`RANDOM}};
  idxPages_22 = _RAND_51[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_52 = {1{`RANDOM}};
  idxPages_23 = _RAND_52[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_53 = {1{`RANDOM}};
  idxPages_24 = _RAND_53[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_54 = {1{`RANDOM}};
  idxPages_25 = _RAND_54[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_55 = {1{`RANDOM}};
  idxPages_26 = _RAND_55[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_56 = {1{`RANDOM}};
  idxPages_27 = _RAND_56[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_57 = {1{`RANDOM}};
  tgts_0 = _RAND_57[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_58 = {1{`RANDOM}};
  tgts_1 = _RAND_58[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_59 = {1{`RANDOM}};
  tgts_2 = _RAND_59[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_60 = {1{`RANDOM}};
  tgts_3 = _RAND_60[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_61 = {1{`RANDOM}};
  tgts_4 = _RAND_61[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_62 = {1{`RANDOM}};
  tgts_5 = _RAND_62[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_63 = {1{`RANDOM}};
  tgts_6 = _RAND_63[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_64 = {1{`RANDOM}};
  tgts_7 = _RAND_64[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_65 = {1{`RANDOM}};
  tgts_8 = _RAND_65[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_66 = {1{`RANDOM}};
  tgts_9 = _RAND_66[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_67 = {1{`RANDOM}};
  tgts_10 = _RAND_67[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_68 = {1{`RANDOM}};
  tgts_11 = _RAND_68[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_69 = {1{`RANDOM}};
  tgts_12 = _RAND_69[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_70 = {1{`RANDOM}};
  tgts_13 = _RAND_70[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_71 = {1{`RANDOM}};
  tgts_14 = _RAND_71[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_72 = {1{`RANDOM}};
  tgts_15 = _RAND_72[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_73 = {1{`RANDOM}};
  tgts_16 = _RAND_73[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_74 = {1{`RANDOM}};
  tgts_17 = _RAND_74[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_75 = {1{`RANDOM}};
  tgts_18 = _RAND_75[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_76 = {1{`RANDOM}};
  tgts_19 = _RAND_76[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_77 = {1{`RANDOM}};
  tgts_20 = _RAND_77[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_78 = {1{`RANDOM}};
  tgts_21 = _RAND_78[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_79 = {1{`RANDOM}};
  tgts_22 = _RAND_79[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_80 = {1{`RANDOM}};
  tgts_23 = _RAND_80[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_81 = {1{`RANDOM}};
  tgts_24 = _RAND_81[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_82 = {1{`RANDOM}};
  tgts_25 = _RAND_82[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_83 = {1{`RANDOM}};
  tgts_26 = _RAND_83[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_84 = {1{`RANDOM}};
  tgts_27 = _RAND_84[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_85 = {1{`RANDOM}};
  tgtPages_0 = _RAND_85[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_86 = {1{`RANDOM}};
  tgtPages_1 = _RAND_86[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_87 = {1{`RANDOM}};
  tgtPages_2 = _RAND_87[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_88 = {1{`RANDOM}};
  tgtPages_3 = _RAND_88[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_89 = {1{`RANDOM}};
  tgtPages_4 = _RAND_89[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_90 = {1{`RANDOM}};
  tgtPages_5 = _RAND_90[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_91 = {1{`RANDOM}};
  tgtPages_6 = _RAND_91[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_92 = {1{`RANDOM}};
  tgtPages_7 = _RAND_92[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_93 = {1{`RANDOM}};
  tgtPages_8 = _RAND_93[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_94 = {1{`RANDOM}};
  tgtPages_9 = _RAND_94[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_95 = {1{`RANDOM}};
  tgtPages_10 = _RAND_95[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_96 = {1{`RANDOM}};
  tgtPages_11 = _RAND_96[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_97 = {1{`RANDOM}};
  tgtPages_12 = _RAND_97[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_98 = {1{`RANDOM}};
  tgtPages_13 = _RAND_98[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_99 = {1{`RANDOM}};
  tgtPages_14 = _RAND_99[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_100 = {1{`RANDOM}};
  tgtPages_15 = _RAND_100[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_101 = {1{`RANDOM}};
  tgtPages_16 = _RAND_101[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_102 = {1{`RANDOM}};
  tgtPages_17 = _RAND_102[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_103 = {1{`RANDOM}};
  tgtPages_18 = _RAND_103[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_104 = {1{`RANDOM}};
  tgtPages_19 = _RAND_104[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_105 = {1{`RANDOM}};
  tgtPages_20 = _RAND_105[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_106 = {1{`RANDOM}};
  tgtPages_21 = _RAND_106[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_107 = {1{`RANDOM}};
  tgtPages_22 = _RAND_107[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_108 = {1{`RANDOM}};
  tgtPages_23 = _RAND_108[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_109 = {1{`RANDOM}};
  tgtPages_24 = _RAND_109[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_110 = {1{`RANDOM}};
  tgtPages_25 = _RAND_110[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_111 = {1{`RANDOM}};
  tgtPages_26 = _RAND_111[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_112 = {1{`RANDOM}};
  tgtPages_27 = _RAND_112[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_113 = {1{`RANDOM}};
  pages_0 = _RAND_113[17:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_114 = {1{`RANDOM}};
  pages_1 = _RAND_114[17:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_115 = {1{`RANDOM}};
  pages_2 = _RAND_115[17:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_116 = {1{`RANDOM}};
  pages_3 = _RAND_116[17:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_117 = {1{`RANDOM}};
  pages_4 = _RAND_117[17:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_118 = {1{`RANDOM}};
  pages_5 = _RAND_118[17:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_119 = {1{`RANDOM}};
  pageValid = _RAND_119[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_120 = {1{`RANDOM}};
  isValid = _RAND_120[27:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_121 = {1{`RANDOM}};
  cfiType_0 = _RAND_121[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_122 = {1{`RANDOM}};
  cfiType_1 = _RAND_122[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_123 = {1{`RANDOM}};
  cfiType_2 = _RAND_123[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_124 = {1{`RANDOM}};
  cfiType_3 = _RAND_124[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_125 = {1{`RANDOM}};
  cfiType_4 = _RAND_125[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_126 = {1{`RANDOM}};
  cfiType_5 = _RAND_126[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_127 = {1{`RANDOM}};
  cfiType_6 = _RAND_127[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_128 = {1{`RANDOM}};
  cfiType_7 = _RAND_128[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_129 = {1{`RANDOM}};
  cfiType_8 = _RAND_129[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_130 = {1{`RANDOM}};
  cfiType_9 = _RAND_130[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_131 = {1{`RANDOM}};
  cfiType_10 = _RAND_131[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_132 = {1{`RANDOM}};
  cfiType_11 = _RAND_132[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_133 = {1{`RANDOM}};
  cfiType_12 = _RAND_133[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_134 = {1{`RANDOM}};
  cfiType_13 = _RAND_134[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_135 = {1{`RANDOM}};
  cfiType_14 = _RAND_135[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_136 = {1{`RANDOM}};
  cfiType_15 = _RAND_136[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_137 = {1{`RANDOM}};
  cfiType_16 = _RAND_137[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_138 = {1{`RANDOM}};
  cfiType_17 = _RAND_138[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_139 = {1{`RANDOM}};
  cfiType_18 = _RAND_139[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_140 = {1{`RANDOM}};
  cfiType_19 = _RAND_140[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_141 = {1{`RANDOM}};
  cfiType_20 = _RAND_141[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_142 = {1{`RANDOM}};
  cfiType_21 = _RAND_142[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_143 = {1{`RANDOM}};
  cfiType_22 = _RAND_143[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_144 = {1{`RANDOM}};
  cfiType_23 = _RAND_144[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_145 = {1{`RANDOM}};
  cfiType_24 = _RAND_145[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_146 = {1{`RANDOM}};
  cfiType_25 = _RAND_146[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_147 = {1{`RANDOM}};
  cfiType_26 = _RAND_147[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_148 = {1{`RANDOM}};
  cfiType_27 = _RAND_148[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_149 = {1{`RANDOM}};
  brIdx_0 = _RAND_149[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_150 = {1{`RANDOM}};
  brIdx_1 = _RAND_150[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_151 = {1{`RANDOM}};
  brIdx_2 = _RAND_151[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_152 = {1{`RANDOM}};
  brIdx_3 = _RAND_152[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_153 = {1{`RANDOM}};
  brIdx_4 = _RAND_153[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_154 = {1{`RANDOM}};
  brIdx_5 = _RAND_154[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_155 = {1{`RANDOM}};
  brIdx_6 = _RAND_155[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_156 = {1{`RANDOM}};
  brIdx_7 = _RAND_156[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_157 = {1{`RANDOM}};
  brIdx_8 = _RAND_157[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_158 = {1{`RANDOM}};
  brIdx_9 = _RAND_158[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_159 = {1{`RANDOM}};
  brIdx_10 = _RAND_159[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_160 = {1{`RANDOM}};
  brIdx_11 = _RAND_160[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_161 = {1{`RANDOM}};
  brIdx_12 = _RAND_161[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_162 = {1{`RANDOM}};
  brIdx_13 = _RAND_162[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_163 = {1{`RANDOM}};
  brIdx_14 = _RAND_163[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_164 = {1{`RANDOM}};
  brIdx_15 = _RAND_164[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_165 = {1{`RANDOM}};
  brIdx_16 = _RAND_165[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_166 = {1{`RANDOM}};
  brIdx_17 = _RAND_166[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_167 = {1{`RANDOM}};
  brIdx_18 = _RAND_167[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_168 = {1{`RANDOM}};
  brIdx_19 = _RAND_168[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_169 = {1{`RANDOM}};
  brIdx_20 = _RAND_169[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_170 = {1{`RANDOM}};
  brIdx_21 = _RAND_170[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_171 = {1{`RANDOM}};
  brIdx_22 = _RAND_171[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_172 = {1{`RANDOM}};
  brIdx_23 = _RAND_172[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_173 = {1{`RANDOM}};
  brIdx_24 = _RAND_173[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_174 = {1{`RANDOM}};
  brIdx_25 = _RAND_174[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_175 = {1{`RANDOM}};
  brIdx_26 = _RAND_175[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_176 = {1{`RANDOM}};
  brIdx_27 = _RAND_176[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_177 = {1{`RANDOM}};
  r_btb_update_valid = _RAND_177[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_178 = {1{`RANDOM}};
  r_btb_update_bits_prediction_entry = _RAND_178[4:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_179 = {1{`RANDOM}};
  r_btb_update_bits_pc = _RAND_179[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_180 = {1{`RANDOM}};
  r_btb_update_bits_isValid = _RAND_180[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_181 = {1{`RANDOM}};
  r_btb_update_bits_br_pc = _RAND_181[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_182 = {1{`RANDOM}};
  r_btb_update_bits_cfiType = _RAND_182[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_183 = {1{`RANDOM}};
  nextPageRepl = _RAND_183[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_184 = {1{`RANDOM}};
  _T_373 = _RAND_184[26:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_185 = {1{`RANDOM}};
  r_resp_valid = _RAND_185[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_186 = {1{`RANDOM}};
  r_resp_bits_taken = _RAND_186[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_187 = {1{`RANDOM}};
  r_resp_bits_entry = _RAND_187[4:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_188 = {1{`RANDOM}};
  _T_1163 = _RAND_188[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_189 = {1{`RANDOM}};
  _T_1252 = _RAND_189[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_190 = {1{`RANDOM}};
  _T_1254 = _RAND_190[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_191 = {1{`RANDOM}};
  _T_1258_0 = _RAND_191[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_192 = {1{`RANDOM}};
  _T_1258_1 = _RAND_192[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_193 = {1{`RANDOM}};
  _T_1258_2 = _RAND_193[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_194 = {1{`RANDOM}};
  _T_1258_3 = _RAND_194[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_195 = {1{`RANDOM}};
  _T_1258_4 = _RAND_195[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_196 = {1{`RANDOM}};
  _T_1258_5 = _RAND_196[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if(_T_1161__T_1245_en & _T_1161__T_1245_mask) begin
      _T_1161[_T_1161__T_1245_addr] <= _T_1161__T_1245_data; // @[BTB.scala 113:26:shc.marmotcaravel.MarmotCaravelConfig.fir@208869.4]
    end
    if (r_btb_update_valid) begin
      if (5'h0 == waddr) begin
        idxs_0 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h1 == waddr) begin
        idxs_1 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h2 == waddr) begin
        idxs_2 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h3 == waddr) begin
        idxs_3 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h4 == waddr) begin
        idxs_4 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h5 == waddr) begin
        idxs_5 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h6 == waddr) begin
        idxs_6 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h7 == waddr) begin
        idxs_7 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h8 == waddr) begin
        idxs_8 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h9 == waddr) begin
        idxs_9 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'ha == waddr) begin
        idxs_10 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'hb == waddr) begin
        idxs_11 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'hc == waddr) begin
        idxs_12 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'hd == waddr) begin
        idxs_13 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'he == waddr) begin
        idxs_14 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'hf == waddr) begin
        idxs_15 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h10 == waddr) begin
        idxs_16 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h11 == waddr) begin
        idxs_17 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h12 == waddr) begin
        idxs_18 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h13 == waddr) begin
        idxs_19 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h14 == waddr) begin
        idxs_20 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h15 == waddr) begin
        idxs_21 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h16 == waddr) begin
        idxs_22 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h17 == waddr) begin
        idxs_23 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h18 == waddr) begin
        idxs_24 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h19 == waddr) begin
        idxs_25 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h1a == waddr) begin
        idxs_26 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h1b == waddr) begin
        idxs_27 <= _T_471;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h0 == waddr) begin
        idxPages_0 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h1 == waddr) begin
        idxPages_1 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h2 == waddr) begin
        idxPages_2 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h3 == waddr) begin
        idxPages_3 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h4 == waddr) begin
        idxPages_4 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h5 == waddr) begin
        idxPages_5 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h6 == waddr) begin
        idxPages_6 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h7 == waddr) begin
        idxPages_7 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h8 == waddr) begin
        idxPages_8 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h9 == waddr) begin
        idxPages_9 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'ha == waddr) begin
        idxPages_10 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'hb == waddr) begin
        idxPages_11 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'hc == waddr) begin
        idxPages_12 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'hd == waddr) begin
        idxPages_13 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'he == waddr) begin
        idxPages_14 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'hf == waddr) begin
        idxPages_15 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h10 == waddr) begin
        idxPages_16 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h11 == waddr) begin
        idxPages_17 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h12 == waddr) begin
        idxPages_18 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h13 == waddr) begin
        idxPages_19 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h14 == waddr) begin
        idxPages_20 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h15 == waddr) begin
        idxPages_21 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h16 == waddr) begin
        idxPages_22 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h17 == waddr) begin
        idxPages_23 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h18 == waddr) begin
        idxPages_24 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h19 == waddr) begin
        idxPages_25 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h1a == waddr) begin
        idxPages_26 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h1b == waddr) begin
        idxPages_27 <= _idxPages_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h0 == waddr) begin
        tgts_0 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h1 == waddr) begin
        tgts_1 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h2 == waddr) begin
        tgts_2 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h3 == waddr) begin
        tgts_3 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h4 == waddr) begin
        tgts_4 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h5 == waddr) begin
        tgts_5 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h6 == waddr) begin
        tgts_6 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h7 == waddr) begin
        tgts_7 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h8 == waddr) begin
        tgts_8 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h9 == waddr) begin
        tgts_9 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'ha == waddr) begin
        tgts_10 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'hb == waddr) begin
        tgts_11 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'hc == waddr) begin
        tgts_12 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'hd == waddr) begin
        tgts_13 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'he == waddr) begin
        tgts_14 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'hf == waddr) begin
        tgts_15 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h10 == waddr) begin
        tgts_16 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h11 == waddr) begin
        tgts_17 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h12 == waddr) begin
        tgts_18 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h13 == waddr) begin
        tgts_19 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h14 == waddr) begin
        tgts_20 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h15 == waddr) begin
        tgts_21 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h16 == waddr) begin
        tgts_22 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h17 == waddr) begin
        tgts_23 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h18 == waddr) begin
        tgts_24 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h19 == waddr) begin
        tgts_25 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h1a == waddr) begin
        tgts_26 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h1b == waddr) begin
        tgts_27 <= _T_260;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h0 == waddr) begin
        tgtPages_0 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h1 == waddr) begin
        tgtPages_1 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h2 == waddr) begin
        tgtPages_2 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h3 == waddr) begin
        tgtPages_3 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h4 == waddr) begin
        tgtPages_4 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h5 == waddr) begin
        tgtPages_5 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h6 == waddr) begin
        tgtPages_6 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h7 == waddr) begin
        tgtPages_7 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h8 == waddr) begin
        tgtPages_8 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h9 == waddr) begin
        tgtPages_9 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (5'ha == waddr) begin
        tgtPages_10 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (5'hb == waddr) begin
        tgtPages_11 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (5'hc == waddr) begin
        tgtPages_12 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (5'hd == waddr) begin
        tgtPages_13 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (5'he == waddr) begin
        tgtPages_14 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (5'hf == waddr) begin
        tgtPages_15 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h10 == waddr) begin
        tgtPages_16 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h11 == waddr) begin
        tgtPages_17 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h12 == waddr) begin
        tgtPages_18 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h13 == waddr) begin
        tgtPages_19 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h14 == waddr) begin
        tgtPages_20 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h15 == waddr) begin
        tgtPages_21 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h16 == waddr) begin
        tgtPages_22 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h17 == waddr) begin
        tgtPages_23 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h18 == waddr) begin
        tgtPages_24 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h19 == waddr) begin
        tgtPages_25 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h1a == waddr) begin
        tgtPages_26 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h1b == waddr) begin
        tgtPages_27 <= tgtPageUpdate;
      end
    end
    if (r_btb_update_valid) begin
      if (_T_490) begin
        if (_T_485) begin
          pages_0 <= _T_316;
        end else begin
          pages_0 <= _T_248;
        end
      end
    end
    if (r_btb_update_valid) begin
      if (_T_497) begin
        if (_T_485) begin
          pages_1 <= _T_248;
        end else begin
          pages_1 <= _T_316;
        end
      end
    end
    if (r_btb_update_valid) begin
      if (_T_491) begin
        if (_T_485) begin
          pages_2 <= _T_316;
        end else begin
          pages_2 <= _T_248;
        end
      end
    end
    if (r_btb_update_valid) begin
      if (_T_498) begin
        if (_T_485) begin
          pages_3 <= _T_248;
        end else begin
          pages_3 <= _T_316;
        end
      end
    end
    if (r_btb_update_valid) begin
      if (_T_492) begin
        if (_T_485) begin
          pages_4 <= _T_316;
        end else begin
          pages_4 <= _T_248;
        end
      end
    end
    if (r_btb_update_valid) begin
      if (_T_499) begin
        if (_T_485) begin
          pages_5 <= _T_248;
        end else begin
          pages_5 <= _T_316;
        end
      end
    end
    if (reset) begin
      pageValid <= 6'h0;
    end else begin
      pageValid <= _GEN_373[5:0];
    end
    if (reset) begin
      isValid <= 28'h0;
    end else begin
      isValid <= _GEN_381[27:0];
    end
    if (r_btb_update_valid) begin
      if (5'h0 == waddr) begin
        cfiType_0 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h1 == waddr) begin
        cfiType_1 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h2 == waddr) begin
        cfiType_2 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h3 == waddr) begin
        cfiType_3 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h4 == waddr) begin
        cfiType_4 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h5 == waddr) begin
        cfiType_5 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h6 == waddr) begin
        cfiType_6 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h7 == waddr) begin
        cfiType_7 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h8 == waddr) begin
        cfiType_8 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h9 == waddr) begin
        cfiType_9 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'ha == waddr) begin
        cfiType_10 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'hb == waddr) begin
        cfiType_11 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'hc == waddr) begin
        cfiType_12 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'hd == waddr) begin
        cfiType_13 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'he == waddr) begin
        cfiType_14 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'hf == waddr) begin
        cfiType_15 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h10 == waddr) begin
        cfiType_16 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h11 == waddr) begin
        cfiType_17 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h12 == waddr) begin
        cfiType_18 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h13 == waddr) begin
        cfiType_19 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h14 == waddr) begin
        cfiType_20 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h15 == waddr) begin
        cfiType_21 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h16 == waddr) begin
        cfiType_22 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h17 == waddr) begin
        cfiType_23 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h18 == waddr) begin
        cfiType_24 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h19 == waddr) begin
        cfiType_25 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h1a == waddr) begin
        cfiType_26 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h1b == waddr) begin
        cfiType_27 <= r_btb_update_bits_cfiType;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h0 == waddr) begin
        brIdx_0 <= _brIdx_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h1 == waddr) begin
        brIdx_1 <= _brIdx_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h2 == waddr) begin
        brIdx_2 <= _brIdx_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h3 == waddr) begin
        brIdx_3 <= _brIdx_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h4 == waddr) begin
        brIdx_4 <= _brIdx_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h5 == waddr) begin
        brIdx_5 <= _brIdx_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h6 == waddr) begin
        brIdx_6 <= _brIdx_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h7 == waddr) begin
        brIdx_7 <= _brIdx_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h8 == waddr) begin
        brIdx_8 <= _brIdx_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h9 == waddr) begin
        brIdx_9 <= _brIdx_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'ha == waddr) begin
        brIdx_10 <= _brIdx_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'hb == waddr) begin
        brIdx_11 <= _brIdx_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'hc == waddr) begin
        brIdx_12 <= _brIdx_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'hd == waddr) begin
        brIdx_13 <= _brIdx_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'he == waddr) begin
        brIdx_14 <= _brIdx_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'hf == waddr) begin
        brIdx_15 <= _brIdx_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h10 == waddr) begin
        brIdx_16 <= _brIdx_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h11 == waddr) begin
        brIdx_17 <= _brIdx_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h12 == waddr) begin
        brIdx_18 <= _brIdx_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h13 == waddr) begin
        brIdx_19 <= _brIdx_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h14 == waddr) begin
        brIdx_20 <= _brIdx_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h15 == waddr) begin
        brIdx_21 <= _brIdx_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h16 == waddr) begin
        brIdx_22 <= _brIdx_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h17 == waddr) begin
        brIdx_23 <= _brIdx_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h18 == waddr) begin
        brIdx_24 <= _brIdx_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h19 == waddr) begin
        brIdx_25 <= _brIdx_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h1a == waddr) begin
        brIdx_26 <= _brIdx_waddr;
      end
    end
    if (r_btb_update_valid) begin
      if (5'h1b == waddr) begin
        brIdx_27 <= _brIdx_waddr;
      end
    end
    if (reset) begin
      r_btb_update_valid <= 1'h0;
    end else begin
      r_btb_update_valid <= io_btb_update_valid;
    end
    if (io_btb_update_valid) begin
      r_btb_update_bits_prediction_entry <= io_btb_update_bits_prediction_entry;
    end
    if (io_btb_update_valid) begin
      r_btb_update_bits_pc <= io_btb_update_bits_pc;
    end
    if (io_btb_update_valid) begin
      r_btb_update_bits_isValid <= io_btb_update_bits_isValid;
    end
    if (io_btb_update_valid) begin
      r_btb_update_bits_br_pc <= io_btb_update_bits_br_pc;
    end
    if (io_btb_update_valid) begin
      r_btb_update_bits_cfiType <= io_btb_update_bits_cfiType;
    end
    if (_T_364) begin
      if (_T_369) begin
        nextPageRepl <= {{2'd0}, _T_370};
      end else begin
        nextPageRepl <= _T_368;
      end
    end
    if (_T_420) begin
      _T_373 <= _T_468;
    end
    if (reset) begin
      r_resp_valid <= 1'h0;
    end else begin
      r_resp_valid <= io_resp_valid;
    end
    if (io_resp_valid) begin
      r_resp_bits_taken <= io_resp_bits_taken;
    end
    if (io_resp_valid) begin
      r_resp_bits_entry <= io_resp_bits_entry;
    end
    if (io_bht_update_valid) begin
      if (io_bht_update_bits_branch) begin
        if (io_bht_update_bits_mispredict) begin
          _T_1163 <= _T_1247;
        end else begin
          if (io_bht_advance_valid) begin
            _T_1163 <= _T_1235;
          end
        end
      end else begin
        if (io_bht_update_bits_mispredict) begin
          _T_1163 <= io_bht_update_bits_prediction_history;
        end else begin
          if (io_bht_advance_valid) begin
            _T_1163 <= _T_1235;
          end
        end
      end
    end else begin
      if (io_bht_advance_valid) begin
        _T_1163 <= _T_1235;
      end
    end
    if (io_ras_update_valid) begin
      if (_T_1331) begin
        if (_T_1332) begin
          _T_1252 <= _T_1334;
        end
      end else begin
        if (_T_1341) begin
          if (_T_1325) begin
            _T_1252 <= _T_1346;
          end
        end
      end
    end
    if (io_ras_update_valid) begin
      if (_T_1331) begin
        if (_T_1335) begin
          _T_1254 <= _T_1338;
        end else begin
          _T_1254 <= 3'h0;
        end
      end else begin
        if (_T_1341) begin
          if (_T_1325) begin
            if (_T_1347) begin
              _T_1254 <= _T_1351;
            end else begin
              _T_1254 <= 3'h5;
            end
          end
        end
      end
    end
    if (io_ras_update_valid) begin
      if (_T_1331) begin
        if (3'h0 == _T_1339) begin
          _T_1258_0 <= io_ras_update_bits_returnAddr;
        end
      end
    end
    if (io_ras_update_valid) begin
      if (_T_1331) begin
        if (3'h1 == _T_1339) begin
          _T_1258_1 <= io_ras_update_bits_returnAddr;
        end
      end
    end
    if (io_ras_update_valid) begin
      if (_T_1331) begin
        if (3'h2 == _T_1339) begin
          _T_1258_2 <= io_ras_update_bits_returnAddr;
        end
      end
    end
    if (io_ras_update_valid) begin
      if (_T_1331) begin
        if (3'h3 == _T_1339) begin
          _T_1258_3 <= io_ras_update_bits_returnAddr;
        end
      end
    end
    if (io_ras_update_valid) begin
      if (_T_1331) begin
        if (3'h4 == _T_1339) begin
          _T_1258_4 <= io_ras_update_bits_returnAddr;
        end
      end
    end
    if (io_ras_update_valid) begin
      if (_T_1331) begin
        if (3'h5 == _T_1339) begin
          _T_1258_5 <= io_ras_update_bits_returnAddr;
        end
      end
    end
  end
endmodule
module Frontend( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209087.2]
  input         gated_clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209088.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209089.4]
  output        auto_icache_slave_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
  input         auto_icache_slave_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
  input  [2:0]  auto_icache_slave_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
  input  [1:0]  auto_icache_slave_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
  input  [6:0]  auto_icache_slave_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
  input  [27:0] auto_icache_slave_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
  input  [3:0]  auto_icache_slave_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
  input  [31:0] auto_icache_slave_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
  input         auto_icache_slave_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
  output        auto_icache_slave_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
  output [2:0]  auto_icache_slave_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
  output [1:0]  auto_icache_slave_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
  output [6:0]  auto_icache_slave_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
  output [31:0] auto_icache_slave_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
  input         auto_icache_master_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
  output        auto_icache_master_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
  output [31:0] auto_icache_master_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
  output        auto_icache_master_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
  input         auto_icache_master_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
  input  [2:0]  auto_icache_master_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
  input  [3:0]  auto_icache_master_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
  input  [31:0] auto_icache_master_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
  input         auto_icache_master_out_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209090.4]
  input  [31:0] io_reset_vector, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_cpu_might_request, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_cpu_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [31:0] io_cpu_req_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_cpu_req_bits_speculative, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_cpu_sfence_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_cpu_resp_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  output        io_cpu_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  output        io_cpu_resp_bits_btb_taken, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  output        io_cpu_resp_bits_btb_bridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  output [4:0]  io_cpu_resp_bits_btb_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  output [7:0]  io_cpu_resp_bits_btb_bht_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  output [31:0] io_cpu_resp_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  output [31:0] io_cpu_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  output        io_cpu_resp_bits_xcpt_ae_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  output        io_cpu_resp_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_cpu_btb_update_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [4:0]  io_cpu_btb_update_bits_prediction_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [31:0] io_cpu_btb_update_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_cpu_btb_update_bits_isValid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [31:0] io_cpu_btb_update_bits_br_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [1:0]  io_cpu_btb_update_bits_cfiType, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_cpu_bht_update_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [7:0]  io_cpu_bht_update_bits_prediction_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [31:0] io_cpu_bht_update_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_cpu_bht_update_bits_branch, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_cpu_bht_update_bits_taken, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_cpu_bht_update_bits_mispredict, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_cpu_flush_icache, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  output [31:0] io_cpu_npc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [1:0]  io_ptw_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [29:0] io_ptw_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [31:0] io_ptw_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [1:0]  io_ptw_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [29:0] io_ptw_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [31:0] io_ptw_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [1:0]  io_ptw_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [29:0] io_ptw_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [31:0] io_ptw_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [1:0]  io_ptw_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [29:0] io_ptw_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [31:0] io_ptw_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [1:0]  io_ptw_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [29:0] io_ptw_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [31:0] io_ptw_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [1:0]  io_ptw_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [29:0] io_ptw_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [31:0] io_ptw_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [1:0]  io_ptw_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [29:0] io_ptw_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [31:0] io_ptw_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [1:0]  io_ptw_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input         io_ptw_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [29:0] io_ptw_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  input  [31:0] io_ptw_pmp_7_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209091.4]
  output [6:0] tag_array_ext_RW0_addr,
  output  tag_array_ext_RW0_en,
  output  tag_array_ext_RW0_clk,
  output  tag_array_ext_RW0_wmode,
  output [39:0] tag_array_ext_RW0_wdata,
  input  [39:0] tag_array_ext_RW0_rdata,
  output [1:0] tag_array_ext_RW0_wmask,
  output [10:0] data_arrays_0_0_ext_RW0_addr,
  output  data_arrays_0_0_ext_RW0_en,
  output  data_arrays_0_0_ext_RW0_clk,
  output  data_arrays_0_0_ext_RW0_wmode,
  output [63:0] data_arrays_0_0_ext_RW0_wdata,
  input  [63:0] data_arrays_0_0_ext_RW0_rdata,
  output [1:0] data_arrays_0_0_ext_RW0_wmask
);
  wire  icache_clock; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire  icache_reset; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire  icache_auto_slave_in_a_ready; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire  icache_auto_slave_in_a_valid; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire [2:0] icache_auto_slave_in_a_bits_opcode; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire [1:0] icache_auto_slave_in_a_bits_size; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire [6:0] icache_auto_slave_in_a_bits_source; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire [27:0] icache_auto_slave_in_a_bits_address; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire [3:0] icache_auto_slave_in_a_bits_mask; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire [31:0] icache_auto_slave_in_a_bits_data; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire  icache_auto_slave_in_d_ready; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire  icache_auto_slave_in_d_valid; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire [2:0] icache_auto_slave_in_d_bits_opcode; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire [1:0] icache_auto_slave_in_d_bits_size; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire [6:0] icache_auto_slave_in_d_bits_source; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire [31:0] icache_auto_slave_in_d_bits_data; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire  icache_auto_master_out_a_ready; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire  icache_auto_master_out_a_valid; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire [31:0] icache_auto_master_out_a_bits_address; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire  icache_auto_master_out_d_ready; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire  icache_auto_master_out_d_valid; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire [2:0] icache_auto_master_out_d_bits_opcode; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire [3:0] icache_auto_master_out_d_bits_size; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire [31:0] icache_auto_master_out_d_bits_data; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire  icache_auto_master_out_d_bits_corrupt; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire  icache_io_req_ready; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire  icache_io_req_valid; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire [31:0] icache_io_req_bits_addr; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire [31:0] icache_io_s1_paddr; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire [31:0] icache_io_s2_vaddr; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire  icache_io_s1_kill; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire  icache_io_s2_kill; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire  icache_io_resp_valid; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire [31:0] icache_io_resp_bits_data; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire  icache_io_resp_bits_ae; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire  icache_io_invalidate; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire  icache_io_clock_enabled; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire  icache_io_keep_clock_enabled; // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
  wire  fq_clock; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
  wire  fq_reset; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
  wire  fq_io_enq_ready; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
  wire  fq_io_enq_valid; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
  wire  fq_io_enq_bits_btb_taken; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
  wire  fq_io_enq_bits_btb_bridx; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
  wire [4:0] fq_io_enq_bits_btb_entry; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
  wire [7:0] fq_io_enq_bits_btb_bht_history; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
  wire [31:0] fq_io_enq_bits_pc; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
  wire [31:0] fq_io_enq_bits_data; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
  wire [1:0] fq_io_enq_bits_mask; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
  wire  fq_io_enq_bits_xcpt_ae_inst; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
  wire  fq_io_enq_bits_replay; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
  wire  fq_io_deq_ready; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
  wire  fq_io_deq_valid; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
  wire  fq_io_deq_bits_btb_taken; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
  wire  fq_io_deq_bits_btb_bridx; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
  wire [4:0] fq_io_deq_bits_btb_entry; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
  wire [7:0] fq_io_deq_bits_btb_bht_history; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
  wire [31:0] fq_io_deq_bits_pc; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
  wire [31:0] fq_io_deq_bits_data; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
  wire  fq_io_deq_bits_xcpt_ae_inst; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
  wire  fq_io_deq_bits_replay; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
  wire [4:0] fq_io_mask; // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
  wire [31:0] tlb_io_req_bits_vaddr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire [31:0] tlb_io_resp_paddr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_resp_ae_inst; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_0_cfg_l; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire [1:0] tlb_io_ptw_pmp_0_cfg_a; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_0_cfg_x; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_0_cfg_w; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_0_cfg_r; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire [29:0] tlb_io_ptw_pmp_0_addr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire [31:0] tlb_io_ptw_pmp_0_mask; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_1_cfg_l; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire [1:0] tlb_io_ptw_pmp_1_cfg_a; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_1_cfg_x; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_1_cfg_w; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_1_cfg_r; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire [29:0] tlb_io_ptw_pmp_1_addr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire [31:0] tlb_io_ptw_pmp_1_mask; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_2_cfg_l; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire [1:0] tlb_io_ptw_pmp_2_cfg_a; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_2_cfg_x; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_2_cfg_w; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_2_cfg_r; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire [29:0] tlb_io_ptw_pmp_2_addr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire [31:0] tlb_io_ptw_pmp_2_mask; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_3_cfg_l; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire [1:0] tlb_io_ptw_pmp_3_cfg_a; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_3_cfg_x; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_3_cfg_w; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_3_cfg_r; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire [29:0] tlb_io_ptw_pmp_3_addr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire [31:0] tlb_io_ptw_pmp_3_mask; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_4_cfg_l; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire [1:0] tlb_io_ptw_pmp_4_cfg_a; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_4_cfg_x; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_4_cfg_w; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_4_cfg_r; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire [29:0] tlb_io_ptw_pmp_4_addr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire [31:0] tlb_io_ptw_pmp_4_mask; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_5_cfg_l; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire [1:0] tlb_io_ptw_pmp_5_cfg_a; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_5_cfg_x; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_5_cfg_w; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_5_cfg_r; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire [29:0] tlb_io_ptw_pmp_5_addr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire [31:0] tlb_io_ptw_pmp_5_mask; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_6_cfg_l; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire [1:0] tlb_io_ptw_pmp_6_cfg_a; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_6_cfg_x; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_6_cfg_w; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_6_cfg_r; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire [29:0] tlb_io_ptw_pmp_6_addr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire [31:0] tlb_io_ptw_pmp_6_mask; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_7_cfg_l; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire [1:0] tlb_io_ptw_pmp_7_cfg_a; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_7_cfg_x; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_7_cfg_w; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  tlb_io_ptw_pmp_7_cfg_r; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire [29:0] tlb_io_ptw_pmp_7_addr; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire [31:0] tlb_io_ptw_pmp_7_mask; // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
  wire  btb_clock; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire  btb_reset; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire [31:0] btb_io_req_bits_addr; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire  btb_io_resp_valid; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire  btb_io_resp_bits_taken; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire  btb_io_resp_bits_bridx; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire [31:0] btb_io_resp_bits_target; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire [4:0] btb_io_resp_bits_entry; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire [7:0] btb_io_resp_bits_bht_history; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire  btb_io_resp_bits_bht_value; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire  btb_io_btb_update_valid; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire [4:0] btb_io_btb_update_bits_prediction_entry; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire [31:0] btb_io_btb_update_bits_pc; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire  btb_io_btb_update_bits_isValid; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire [31:0] btb_io_btb_update_bits_br_pc; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire [1:0] btb_io_btb_update_bits_cfiType; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire  btb_io_bht_update_valid; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire [7:0] btb_io_bht_update_bits_prediction_history; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire [31:0] btb_io_bht_update_bits_pc; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire  btb_io_bht_update_bits_branch; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire  btb_io_bht_update_bits_taken; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire  btb_io_bht_update_bits_mispredict; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire  btb_io_bht_advance_valid; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire  btb_io_bht_advance_bits_bht_value; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire  btb_io_ras_update_valid; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire [1:0] btb_io_ras_update_bits_cfiType; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire [31:0] btb_io_ras_update_bits_returnAddr; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire  btb_io_ras_head_valid; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire [31:0] btb_io_ras_head_bits; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  wire  btb_io_flush; // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
  reg  clock_en_reg; // @[Frontend.scala 84:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209112.4]
  reg [31:0] _RAND_0;
  wire  _T_284; // @[Frontend.scala 86:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209114.4]
  wire  _T_285; // @[Frontend.scala 86:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209115.4]
  wire  _T_286; // @[Frontend.scala 86:75:shc.marmotcaravel.MarmotCaravelConfig.fir@209116.4]
  wire  _T_287; // @[Frontend.scala 86:102:shc.marmotcaravel.MarmotCaravelConfig.fir@209117.4]
  wire  _T_288; // @[Frontend.scala 86:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209118.4]
  wire  _T_289; // @[Frontend.scala 86:130:shc.marmotcaravel.MarmotCaravelConfig.fir@209119.4]
  wire  _T_291; // @[Frontend.scala 86:9:shc.marmotcaravel.MarmotCaravelConfig.fir@209121.4]
  wire  _T_292; // @[Frontend.scala 86:9:shc.marmotcaravel.MarmotCaravelConfig.fir@209122.4]
  wire  _T_293; // @[Frontend.scala 97:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209133.4]
  wire  _T_294; // @[Frontend.scala 97:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209134.4]
  wire  s0_valid; // @[Frontend.scala 97:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209135.4]
  reg  s1_valid; // @[Frontend.scala 98:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209136.4]
  reg [31:0] _RAND_1;
  reg [31:0] s1_pc; // @[Frontend.scala 99:18:shc.marmotcaravel.MarmotCaravelConfig.fir@209138.4]
  reg [31:0] _RAND_2;
  reg  s1_speculative; // @[Frontend.scala 100:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209139.4]
  reg [31:0] _RAND_3;
  reg  s2_valid; // @[Frontend.scala 101:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209140.4]
  reg [31:0] _RAND_4;
  wire [31:0] _T_300; // @[Frontend.scala 331:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209141.4]
  wire [31:0] _T_301; // @[Frontend.scala 331:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209142.4]
  wire [31:0] _T_302; // @[Frontend.scala 331:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209143.4]
  reg [31:0] s2_pc; // @[Frontend.scala 102:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209144.4]
  reg [31:0] _RAND_5;
  reg  s2_btb_resp_valid; // @[Frontend.scala 103:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209145.4]
  reg [31:0] _RAND_6;
  reg  s2_btb_resp_bits_taken; // @[Frontend.scala 104:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209146.4]
  reg [31:0] _RAND_7;
  reg  s2_btb_resp_bits_bridx; // @[Frontend.scala 104:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209146.4]
  reg [31:0] _RAND_8;
  reg [4:0] s2_btb_resp_bits_entry; // @[Frontend.scala 104:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209146.4]
  reg [31:0] _RAND_9;
  reg [7:0] s2_btb_resp_bits_bht_history; // @[Frontend.scala 104:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209146.4]
  reg [31:0] _RAND_10;
  reg  s2_btb_resp_bits_bht_value; // @[Frontend.scala 104:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209146.4]
  reg [31:0] _RAND_11;
  wire  s2_btb_taken; // @[Frontend.scala 105:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209147.4]
  reg  s2_tlb_resp_ae_inst; // @[Frontend.scala 106:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209148.4]
  reg [31:0] _RAND_12;
  reg  s2_speculative; // @[Frontend.scala 108:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209150.4]
  reg [31:0] _RAND_13;
  reg  s2_partial_insn_valid; // @[Frontend.scala 109:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209151.4]
  reg [31:0] _RAND_14;
  reg [15:0] s2_partial_insn; // @[Frontend.scala 110:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209152.4]
  reg [31:0] _RAND_15;
  reg  wrong_path; // @[Frontend.scala 111:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209153.4]
  reg [31:0] _RAND_16;
  wire [31:0] _T_309; // @[Frontend.scala 113:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209154.4]
  wire [31:0] _T_310; // @[Frontend.scala 113:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209155.4]
  wire [31:0] s1_base_pc; // @[Frontend.scala 113:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209156.4]
  wire [31:0] ntpc; // @[Frontend.scala 114:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209158.4]
  wire  _T_315; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209167.4]
  wire  _T_316; // @[Frontend.scala 119:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209168.4]
  wire  _T_317; // @[Frontend.scala 119:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209169.4]
  wire  _T_318; // @[Frontend.scala 119:72:shc.marmotcaravel.MarmotCaravelConfig.fir@209170.4]
  reg  _T_321; // @[Frontend.scala 119:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209172.4]
  reg [31:0] _RAND_17;
  wire  s2_replay; // @[Frontend.scala 119:48:shc.marmotcaravel.MarmotCaravelConfig.fir@209174.4]
  wire  _T_319; // @[Frontend.scala 119:69:shc.marmotcaravel.MarmotCaravelConfig.fir@209171.4]
  wire [1:0] _T_379; // @[Frontend.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209316.4]
  wire  _T_380; // @[Frontend.scala 199:45:shc.marmotcaravel.MarmotCaravelConfig.fir@209317.4]
  wire  _T_381; // @[Frontend.scala 200:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209318.4]
  wire  taken_prevRVI; // @[Frontend.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209319.4]
  wire [15:0] taken_bits; // @[Frontend.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209323.4]
  wire [31:0] taken_rviBits; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209326.4]
  wire [6:0] _T_386; // @[Frontend.scala 206:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209329.4]
  wire  taken_rviJump; // @[Frontend.scala 206:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209330.4]
  wire  taken_rviJALR; // @[Frontend.scala 207:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209332.4]
  wire  _T_574; // @[Frontend.scala 221:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209531.4]
  wire  taken_rviBranch; // @[Frontend.scala 205:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209328.4]
  wire  _T_575; // @[Frontend.scala 221:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209532.4]
  wire  _T_576; // @[Frontend.scala 221:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209533.4]
  wire  _T_577; // @[Frontend.scala 221:17:shc.marmotcaravel.MarmotCaravelConfig.fir@209534.4]
  wire  _T_382; // @[Frontend.scala 201:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209320.4]
  wire  _T_383; // @[Frontend.scala 201:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209321.4]
  wire  taken_valid; // @[Frontend.scala 201:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209322.4]
  wire [15:0] _T_402; // @[Frontend.scala 212:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209351.4]
  wire  _T_403; // @[Frontend.scala 212:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209352.4]
  wire  taken_rvcJAL; // @[Frontend.scala 211:45:shc.marmotcaravel.MarmotCaravelConfig.fir@209349.4]
  wire  taken_rvcJump; // @[Frontend.scala 212:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209353.4]
  wire [15:0] _T_444; // @[Frontend.scala 216:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209397.4]
  wire  _T_445; // @[Frontend.scala 216:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209398.4]
  wire [4:0] _T_446; // @[Frontend.scala 216:56:shc.marmotcaravel.MarmotCaravelConfig.fir@209399.4]
  wire  _T_447; // @[Frontend.scala 216:62:shc.marmotcaravel.MarmotCaravelConfig.fir@209400.4]
  wire  taken_rvcJALR; // @[Frontend.scala 216:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209401.4]
  wire  _T_578; // @[Frontend.scala 222:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209535.4]
  wire  _T_438; // @[Frontend.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209389.4]
  wire  taken_rvcJR; // @[Frontend.scala 214:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209392.4]
  wire  _T_579; // @[Frontend.scala 222:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209536.4]
  wire  _T_397; // @[Frontend.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209344.4]
  wire  _T_399; // @[Frontend.scala 210:60:shc.marmotcaravel.MarmotCaravelConfig.fir@209346.4]
  wire  taken_rvcBranch; // @[Frontend.scala 210:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209347.4]
  wire  _T_580; // @[Frontend.scala 222:60:shc.marmotcaravel.MarmotCaravelConfig.fir@209537.4]
  wire  _T_581; // @[Frontend.scala 222:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209538.4]
  wire  _T_582; // @[Frontend.scala 222:15:shc.marmotcaravel.MarmotCaravelConfig.fir@209539.4]
  wire  taken_taken; // @[Frontend.scala 221:71:shc.marmotcaravel.MarmotCaravelConfig.fir@209540.4]
  wire  taken_idx; // @[Frontend.scala 236:13:shc.marmotcaravel.MarmotCaravelConfig.fir@209885.4]
  wire  _T_882; // @[Frontend.scala 245:15:shc.marmotcaravel.MarmotCaravelConfig.fir@209908.6]
  wire [1:0] _T_646; // @[Frontend.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209638.4]
  wire  _T_647; // @[Frontend.scala 199:45:shc.marmotcaravel.MarmotCaravelConfig.fir@209639.4]
  wire  _T_648; // @[Frontend.scala 200:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209640.4]
  wire  taken_prevRVI_1; // @[Frontend.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209641.4]
  wire [15:0] taken_bits_1; // @[Frontend.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209645.4]
  wire [31:0] taken_rviBits_1; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209648.4]
  wire [6:0] _T_654; // @[Frontend.scala 207:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209653.4]
  wire  taken_rviJALR_1; // @[Frontend.scala 207:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209654.4]
  wire  _T_655; // @[Frontend.scala 208:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209655.4]
  wire  _T_656; // @[Frontend.scala 208:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209656.4]
  wire  _T_657; // @[Frontend.scala 208:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209657.4]
  wire [4:0] _T_658; // @[Frontend.scala 208:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209658.4]
  wire [4:0] _T_659; // @[Frontend.scala 208:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209659.4]
  wire  _T_660; // @[Frontend.scala 208:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209660.4]
  wire  taken_rviReturn_1; // @[Frontend.scala 208:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209661.4]
  wire  _T_850; // @[Frontend.scala 223:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209863.4]
  wire  _T_649; // @[Frontend.scala 201:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209642.4]
  wire  _T_650; // @[Frontend.scala 201:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209643.4]
  wire  taken_valid_1; // @[Frontend.scala 201:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209644.4]
  wire [15:0] _T_704; // @[Frontend.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209710.4]
  wire  _T_705; // @[Frontend.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209711.4]
  wire [4:0] _T_706; // @[Frontend.scala 214:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209712.4]
  wire  _T_707; // @[Frontend.scala 214:59:shc.marmotcaravel.MarmotCaravelConfig.fir@209713.4]
  wire  taken_rvcJR_1; // @[Frontend.scala 214:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209714.4]
  wire [4:0] _T_708; // @[Frontend.scala 215:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209715.4]
  wire [4:0] _T_709; // @[Frontend.scala 215:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209716.4]
  wire  _T_710; // @[Frontend.scala 215:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209717.4]
  wire  taken_rvcReturn_1; // @[Frontend.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209718.4]
  wire  _T_851; // @[Frontend.scala 223:83:shc.marmotcaravel.MarmotCaravelConfig.fir@209864.4]
  wire  _T_852; // @[Frontend.scala 223:74:shc.marmotcaravel.MarmotCaravelConfig.fir@209865.4]
  wire  taken_predictReturn_1; // @[Frontend.scala 223:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209866.4]
  wire  _T_891; // @[Frontend.scala 249:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209921.8]
  wire  _T_388; // @[Frontend.scala 208:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209333.4]
  wire  _T_389; // @[Frontend.scala 208:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209334.4]
  wire  _T_390; // @[Frontend.scala 208:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209335.4]
  wire [4:0] _T_391; // @[Frontend.scala 208:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209336.4]
  wire [4:0] _T_392; // @[Frontend.scala 208:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209337.4]
  wire  _T_393; // @[Frontend.scala 208:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209338.4]
  wire  taken_rviReturn; // @[Frontend.scala 208:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209339.4]
  wire  _T_583; // @[Frontend.scala 223:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209541.4]
  wire [4:0] _T_441; // @[Frontend.scala 215:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209393.4]
  wire [4:0] _T_442; // @[Frontend.scala 215:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209394.4]
  wire  _T_443; // @[Frontend.scala 215:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209395.4]
  wire  taken_rvcReturn; // @[Frontend.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209396.4]
  wire  _T_584; // @[Frontend.scala 223:83:shc.marmotcaravel.MarmotCaravelConfig.fir@209542.4]
  wire  _T_585; // @[Frontend.scala 223:74:shc.marmotcaravel.MarmotCaravelConfig.fir@209543.4]
  wire  taken_predictReturn; // @[Frontend.scala 223:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209544.4]
  wire  _T_624; // @[Frontend.scala 249:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209599.8]
  wire  _GEN_44; // @[Frontend.scala 245:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209587.6]
  wire  _GEN_77; // @[Frontend.scala 249:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209922.8]
  wire  _GEN_80; // @[Frontend.scala 245:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209909.6]
  wire  useRAS; // @[Frontend.scala 236:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209886.4]
  wire  taken_rviBranch_1; // @[Frontend.scala 205:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209650.4]
  wire  _T_855; // @[Frontend.scala 225:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209870.4]
  wire [15:0] _T_663; // @[Frontend.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209665.4]
  wire  _T_664; // @[Frontend.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209666.4]
  wire  _T_666; // @[Frontend.scala 210:60:shc.marmotcaravel.MarmotCaravelConfig.fir@209668.4]
  wire  taken_rvcBranch_1; // @[Frontend.scala 210:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209669.4]
  wire  _T_856; // @[Frontend.scala 225:75:shc.marmotcaravel.MarmotCaravelConfig.fir@209871.4]
  wire  _T_857; // @[Frontend.scala 225:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209872.4]
  wire  taken_predictBranch_1; // @[Frontend.scala 225:41:shc.marmotcaravel.MarmotCaravelConfig.fir@209873.4]
  wire  taken_rviJump_1; // @[Frontend.scala 206:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209652.4]
  wire  _T_853; // @[Frontend.scala 224:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209867.4]
  wire  _T_670; // @[Frontend.scala 212:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209674.4]
  wire  taken_rvcJAL_1; // @[Frontend.scala 211:45:shc.marmotcaravel.MarmotCaravelConfig.fir@209671.4]
  wire  taken_rvcJump_1; // @[Frontend.scala 212:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209675.4]
  wire  _T_854; // @[Frontend.scala 224:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209868.4]
  wire  taken_predictJump_1; // @[Frontend.scala 224:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209869.4]
  wire  _T_892; // @[Frontend.scala 252:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209925.8]
  wire  _T_893; // @[Frontend.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209926.8]
  wire [31:0] _T_361; // @[Frontend.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209281.4]
  wire [31:0] _T_362; // @[Frontend.scala 192:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209282.4]
  wire [31:0] s2_base_pc; // @[Frontend.scala 192:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209283.4]
  wire [31:0] taken_pc_1; // @[Frontend.scala 253:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209928.10]
  wire [32:0] _T_894; // @[Frontend.scala 256:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209929.10]
  wire [32:0] _T_895; // @[Frontend.scala 256:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209930.10]
  wire [31:0] _T_896; // @[Frontend.scala 256:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209931.10]
  wire [31:0] _T_897; // @[Frontend.scala 256:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209932.10]
  wire [31:0] _T_898; // @[Frontend.scala 256:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209933.10]
  wire  _T_715; // @[Frontend.scala 218:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209725.4]
  wire  _T_717; // @[RocketCore.scala 932:48:shc.marmotcaravel.MarmotCaravelConfig.fir@209727.4]
  wire  _T_718; // @[RocketCore.scala 932:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209728.4]
  wire  _T_773; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209783.4]
  wire [10:0] _T_723; // @[RocketCore.scala 933:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209733.4]
  wire [10:0] _T_772; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209782.4]
  wire [11:0] _T_774; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209784.4]
  wire [7:0] _T_727; // @[RocketCore.scala 934:65:shc.marmotcaravel.MarmotCaravelConfig.fir@209737.4]
  wire [7:0] _T_728; // @[RocketCore.scala 934:73:shc.marmotcaravel.MarmotCaravelConfig.fir@209738.4]
  wire [7:0] _T_770; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209780.4]
  wire  _T_734; // @[RocketCore.scala 936:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209744.4]
  wire  _T_735; // @[RocketCore.scala 936:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209745.4]
  wire  _T_738; // @[RocketCore.scala 937:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209748.4]
  wire  _T_769; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209779.4]
  wire [8:0] _T_771; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209781.4]
  wire [20:0] _T_775; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209785.4]
  wire [5:0] _T_745; // @[RocketCore.scala 938:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209755.4]
  wire [3:0] _T_751; // @[RocketCore.scala 940:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209761.4]
  wire [3:0] _T_754; // @[RocketCore.scala 941:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209764.4]
  wire [9:0] _T_767; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209777.4]
  wire [10:0] _T_768; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209778.4]
  wire [31:0] _T_776; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209786.4]
  wire [31:0] _T_777; // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209787.4]
  wire [7:0] _T_791; // @[RocketCore.scala 934:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209801.4]
  wire [7:0] _T_832; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209842.4]
  wire  _T_831; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209841.4]
  wire [8:0] _T_833; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209843.4]
  wire [20:0] _T_837; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209847.4]
  wire [9:0] _T_829; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209839.4]
  wire [10:0] _T_830; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209840.4]
  wire [31:0] _T_838; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209848.4]
  wire [31:0] _T_839; // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209849.4]
  wire [31:0] taken_rviImm_1; // @[Frontend.scala 218:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209850.4]
  wire  _T_671; // @[Frontend.scala 213:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209676.4]
  wire  _T_672; // @[RVC.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209677.4]
  wire [4:0] _T_674; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209679.4]
  wire [1:0] _T_675; // @[RVC.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209680.4]
  wire [6:0] _T_681; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209686.4]
  wire  _T_676; // @[RVC.scala 45:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209681.4]
  wire [7:0] _T_682; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209687.4]
  wire [1:0] _T_677; // @[RVC.scala 45:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209682.4]
  wire [1:0] _T_678; // @[RVC.scala 45:59:shc.marmotcaravel.MarmotCaravelConfig.fir@209683.4]
  wire [3:0] _T_679; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209684.4]
  wire [4:0] _T_680; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209685.4]
  wire [12:0] _T_683; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209688.4]
  wire [12:0] _T_684; // @[Frontend.scala 213:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209689.4]
  wire [9:0] _T_687; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209692.4]
  wire  _T_688; // @[RVC.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209693.4]
  wire [10:0] _T_699; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209704.4]
  wire [1:0] _T_689; // @[RVC.scala 44:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209694.4]
  wire [12:0] _T_700; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209705.4]
  wire  _T_690; // @[RVC.scala 44:51:shc.marmotcaravel.MarmotCaravelConfig.fir@209695.4]
  wire  _T_691; // @[RVC.scala 44:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209696.4]
  wire [1:0] _T_698; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209703.4]
  wire [14:0] _T_701; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209706.4]
  wire  _T_693; // @[RVC.scala 44:69:shc.marmotcaravel.MarmotCaravelConfig.fir@209698.4]
  wire [1:0] _T_696; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209701.4]
  wire [2:0] _T_694; // @[RVC.scala 44:76:shc.marmotcaravel.MarmotCaravelConfig.fir@209699.4]
  wire [3:0] _T_695; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209700.4]
  wire [5:0] _T_697; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209702.4]
  wire [20:0] _T_702; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209707.4]
  wire [20:0] _T_703; // @[Frontend.scala 213:106:shc.marmotcaravel.MarmotCaravelConfig.fir@209708.4]
  wire [20:0] taken_rvcImm_1; // @[Frontend.scala 213:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209709.4]
  wire [31:0] _T_899; // @[Frontend.scala 256:69:shc.marmotcaravel.MarmotCaravelConfig.fir@209934.10]
  wire [31:0] _T_901; // @[Frontend.scala 256:64:shc.marmotcaravel.MarmotCaravelConfig.fir@209936.10]
  wire [31:0] taken_npc_1; // @[Frontend.scala 256:64:shc.marmotcaravel.MarmotCaravelConfig.fir@209937.10]
  wire [31:0] _T_902; // @[Frontend.scala 257:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209938.10]
  wire  _T_588; // @[Frontend.scala 225:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209548.4]
  wire  _T_589; // @[Frontend.scala 225:75:shc.marmotcaravel.MarmotCaravelConfig.fir@209549.4]
  wire  _T_590; // @[Frontend.scala 225:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209550.4]
  wire  taken_predictBranch; // @[Frontend.scala 225:41:shc.marmotcaravel.MarmotCaravelConfig.fir@209551.4]
  wire  _T_586; // @[Frontend.scala 224:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209545.4]
  wire  _T_587; // @[Frontend.scala 224:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209546.4]
  wire  taken_predictJump; // @[Frontend.scala 224:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209547.4]
  wire  _T_625; // @[Frontend.scala 252:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209603.8]
  wire  _T_626; // @[Frontend.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209604.8]
  wire [31:0] _T_627; // @[Frontend.scala 255:32:shc.marmotcaravel.MarmotCaravelConfig.fir@209607.10]
  wire  _T_448; // @[Frontend.scala 218:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209403.4]
  wire  _T_450; // @[RocketCore.scala 932:48:shc.marmotcaravel.MarmotCaravelConfig.fir@209405.4]
  wire  _T_451; // @[RocketCore.scala 932:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209406.4]
  wire  _T_506; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209461.4]
  wire [10:0] _T_456; // @[RocketCore.scala 933:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209411.4]
  wire [10:0] _T_505; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209460.4]
  wire [11:0] _T_507; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209462.4]
  wire [7:0] _T_460; // @[RocketCore.scala 934:65:shc.marmotcaravel.MarmotCaravelConfig.fir@209415.4]
  wire [7:0] _T_461; // @[RocketCore.scala 934:73:shc.marmotcaravel.MarmotCaravelConfig.fir@209416.4]
  wire [7:0] _T_503; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209458.4]
  wire  _T_467; // @[RocketCore.scala 936:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209422.4]
  wire  _T_468; // @[RocketCore.scala 936:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209423.4]
  wire  _T_471; // @[RocketCore.scala 937:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209426.4]
  wire  _T_502; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209457.4]
  wire [8:0] _T_504; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209459.4]
  wire [20:0] _T_508; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209463.4]
  wire [5:0] _T_478; // @[RocketCore.scala 938:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209433.4]
  wire [3:0] _T_484; // @[RocketCore.scala 940:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209439.4]
  wire [3:0] _T_487; // @[RocketCore.scala 941:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209442.4]
  wire [9:0] _T_500; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209455.4]
  wire [10:0] _T_501; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209456.4]
  wire [31:0] _T_509; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209464.4]
  wire [31:0] _T_510; // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209465.4]
  wire [7:0] _T_524; // @[RocketCore.scala 934:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209479.4]
  wire [7:0] _T_565; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209520.4]
  wire  _T_564; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209519.4]
  wire [8:0] _T_566; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209521.4]
  wire [20:0] _T_570; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209525.4]
  wire [9:0] _T_562; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209517.4]
  wire [10:0] _T_563; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209518.4]
  wire [31:0] _T_571; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209526.4]
  wire [31:0] _T_572; // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209527.4]
  wire [31:0] taken_rviImm; // @[Frontend.scala 218:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209528.4]
  wire [32:0] _T_628; // @[Frontend.scala 255:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209608.10]
  wire  _T_404; // @[Frontend.scala 213:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209354.4]
  wire  _T_405; // @[RVC.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209355.4]
  wire [4:0] _T_407; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209357.4]
  wire [1:0] _T_408; // @[RVC.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209358.4]
  wire [6:0] _T_414; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209364.4]
  wire  _T_409; // @[RVC.scala 45:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209359.4]
  wire [7:0] _T_415; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209365.4]
  wire [1:0] _T_410; // @[RVC.scala 45:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209360.4]
  wire [1:0] _T_411; // @[RVC.scala 45:59:shc.marmotcaravel.MarmotCaravelConfig.fir@209361.4]
  wire [3:0] _T_412; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209362.4]
  wire [4:0] _T_413; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209363.4]
  wire [12:0] _T_416; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209366.4]
  wire [12:0] _T_417; // @[Frontend.scala 213:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209367.4]
  wire [9:0] _T_420; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209370.4]
  wire  _T_421; // @[RVC.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209371.4]
  wire [10:0] _T_432; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209382.4]
  wire [1:0] _T_422; // @[RVC.scala 44:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209372.4]
  wire [12:0] _T_433; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209383.4]
  wire  _T_423; // @[RVC.scala 44:51:shc.marmotcaravel.MarmotCaravelConfig.fir@209373.4]
  wire  _T_424; // @[RVC.scala 44:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209374.4]
  wire [1:0] _T_431; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209381.4]
  wire [14:0] _T_434; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209384.4]
  wire  _T_426; // @[RVC.scala 44:69:shc.marmotcaravel.MarmotCaravelConfig.fir@209376.4]
  wire [1:0] _T_429; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209379.4]
  wire [2:0] _T_427; // @[RVC.scala 44:76:shc.marmotcaravel.MarmotCaravelConfig.fir@209377.4]
  wire [3:0] _T_428; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209378.4]
  wire [5:0] _T_430; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209380.4]
  wire [20:0] _T_435; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209385.4]
  wire [20:0] _T_436; // @[Frontend.scala 213:106:shc.marmotcaravel.MarmotCaravelConfig.fir@209386.4]
  wire [20:0] taken_rvcImm; // @[Frontend.scala 213:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209387.4]
  wire [32:0] _T_629; // @[Frontend.scala 255:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209609.10]
  wire [32:0] _GEN_126; // @[Frontend.scala 255:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209610.10]
  wire [32:0] _T_631; // @[Frontend.scala 255:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209611.10]
  wire [32:0] taken_npc; // @[Frontend.scala 255:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209612.10]
  wire [32:0] _T_632; // @[Frontend.scala 257:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209613.10]
  wire  predicted_taken; // @[Frontend.scala 183:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209270.4]
  wire [31:0] _GEN_27; // @[Frontend.scala 183:56:shc.marmotcaravel.MarmotCaravelConfig.fir@209271.4]
  wire [32:0] _GEN_42; // @[Frontend.scala 252:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209605.8]
  wire [32:0] _GEN_45; // @[Frontend.scala 245:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209587.6]
  wire [32:0] _GEN_78; // @[Frontend.scala 252:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209927.8]
  wire [32:0] _GEN_81; // @[Frontend.scala 245:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209909.6]
  wire [32:0] _GEN_98; // @[Frontend.scala 236:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209886.4]
  wire [32:0] predicted_npc; // @[Frontend.scala 296:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209976.4]
  wire [32:0] npc; // @[Frontend.scala 120:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209176.4]
  wire  _T_323; // @[Frontend.scala 126:56:shc.marmotcaravel.MarmotCaravelConfig.fir@209178.4]
  wire  _T_324; // @[Frontend.scala 126:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209179.4]
  wire  _T_325; // @[Frontend.scala 126:41:shc.marmotcaravel.MarmotCaravelConfig.fir@209180.4]
  wire  s0_speculative; // @[Frontend.scala 126:72:shc.marmotcaravel.MarmotCaravelConfig.fir@209181.4]
  wire  _T_329; // @[Frontend.scala 132:9:shc.marmotcaravel.MarmotCaravelConfig.fir@209189.4]
  wire  _T_841; // @[Frontend.scala 221:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209853.4]
  wire  _T_842; // @[Frontend.scala 221:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209854.4]
  wire  _T_843; // @[Frontend.scala 221:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209855.4]
  wire  _T_844; // @[Frontend.scala 221:17:shc.marmotcaravel.MarmotCaravelConfig.fir@209856.4]
  wire  _T_712; // @[Frontend.scala 216:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209720.4]
  wire  taken_rvcJALR_1; // @[Frontend.scala 216:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209723.4]
  wire  _T_845; // @[Frontend.scala 222:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209857.4]
  wire  _T_846; // @[Frontend.scala 222:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209858.4]
  wire  _T_847; // @[Frontend.scala 222:60:shc.marmotcaravel.MarmotCaravelConfig.fir@209859.4]
  wire  _T_848; // @[Frontend.scala 222:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209860.4]
  wire  _T_849; // @[Frontend.scala 222:15:shc.marmotcaravel.MarmotCaravelConfig.fir@209861.4]
  wire  taken_taken_1; // @[Frontend.scala 221:71:shc.marmotcaravel.MarmotCaravelConfig.fir@209862.4]
  wire  taken; // @[Frontend.scala 277:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209975.4]
  wire  _GEN_115; // @[Frontend.scala 307:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209992.8]
  wire  _GEN_119; // @[Frontend.scala 303:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209987.6]
  wire  s2_redirect; // @[Frontend.scala 302:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209986.4]
  wire  _T_330; // @[Frontend.scala 133:17:shc.marmotcaravel.MarmotCaravelConfig.fir@209191.6]
  reg  _T_340; // @[Frontend.scala 157:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209221.4]
  reg [31:0] _RAND_18;
  wire  _T_341; // @[Frontend.scala 157:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209223.4]
  wire  _T_343; // @[Frontend.scala 157:98:shc.marmotcaravel.MarmotCaravelConfig.fir@209225.4]
  wire  _T_344; // @[Frontend.scala 157:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209226.4]
  wire [32:0] _T_346; // @[Frontend.scala 159:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209230.4]
  wire [32:0] _T_347; // @[Frontend.scala 331:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209231.4]
  wire [32:0] _T_348; // @[Frontend.scala 331:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209232.4]
  wire [32:0] _T_349; // @[Frontend.scala 331:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209233.4]
  wire  _T_350; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@209236.4]
  wire [2:0] _T_351; // @[Frontend.scala 162:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209237.4]
  wire  _T_352; // @[Frontend.scala 163:79:shc.marmotcaravel.MarmotCaravelConfig.fir@209239.4]
  wire  _T_353; // @[Frontend.scala 163:76:shc.marmotcaravel.MarmotCaravelConfig.fir@209240.4]
  wire  _T_354; // @[Frontend.scala 163:104:shc.marmotcaravel.MarmotCaravelConfig.fir@209241.4]
  wire  _T_355; // @[Frontend.scala 163:101:shc.marmotcaravel.MarmotCaravelConfig.fir@209242.4]
  wire  _T_357; // @[Frontend.scala 167:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209248.4]
  wire  _T_367; // @[Frontend.scala 283:11:shc.marmotcaravel.MarmotCaravelConfig.fir@209294.4]
  wire  _T_368; // @[Frontend.scala 284:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209296.6]
  wire  fetch_bubble_likely; // @[Frontend.scala 284:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209297.6]
  wire  _T_370; // @[Frontend.scala 285:54:shc.marmotcaravel.MarmotCaravelConfig.fir@209299.6]
  wire  _T_371; // @[Frontend.scala 285:51:shc.marmotcaravel.MarmotCaravelConfig.fir@209300.6]
  wire  _T_372; // @[Frontend.scala 285:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209301.6]
  wire  _T_909; // @[Frontend.scala 264:15:shc.marmotcaravel.MarmotCaravelConfig.fir@209952.6]
  wire  _T_911; // @[Frontend.scala 264:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209954.6]
  wire  _T_912; // @[Frontend.scala 264:91:shc.marmotcaravel.MarmotCaravelConfig.fir@209955.6]
  wire  _T_913; // @[Frontend.scala 264:106:shc.marmotcaravel.MarmotCaravelConfig.fir@209956.6]
  wire  _T_914; // @[Frontend.scala 264:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209957.6]
  wire  _T_641; // @[Frontend.scala 264:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209629.6]
  wire  _T_642; // @[Frontend.scala 264:91:shc.marmotcaravel.MarmotCaravelConfig.fir@209630.6]
  wire  _T_643; // @[Frontend.scala 264:106:shc.marmotcaravel.MarmotCaravelConfig.fir@209631.6]
  wire  _T_644; // @[Frontend.scala 264:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209632.6]
  wire  _GEN_91; // @[Frontend.scala 264:125:shc.marmotcaravel.MarmotCaravelConfig.fir@209958.6]
  wire  updateBTB; // @[Frontend.scala 236:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209886.4]
  wire  _T_373; // @[Frontend.scala 285:89:shc.marmotcaravel.MarmotCaravelConfig.fir@209302.6]
  wire [1:0] _GEN_127; // @[Frontend.scala 289:63:shc.marmotcaravel.MarmotCaravelConfig.fir@209307.6]
  wire [1:0] _T_374; // @[Frontend.scala 289:63:shc.marmotcaravel.MarmotCaravelConfig.fir@209307.6]
  wire [31:0] _GEN_128; // @[Frontend.scala 289:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209308.6]
  wire [31:0] _T_375; // @[Frontend.scala 289:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209308.6]
  wire [1:0] after_idx; // @[Frontend.scala 236:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209886.4]
  wire [2:0] _GEN_129; // @[Frontend.scala 293:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209312.4]
  wire [2:0] _T_376; // @[Frontend.scala 293:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209312.4]
  wire [31:0] _GEN_130; // @[Frontend.scala 293:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209313.4]
  wire  _T_394; // @[Frontend.scala 209:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209340.4]
  wire  taken_rviCall; // @[Frontend.scala 209:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209342.4]
  wire  taken_rvcCall; // @[Frontend.scala 217:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209402.4]
  wire  _T_591; // @[Frontend.scala 227:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209552.4]
  wire  _T_592; // @[Frontend.scala 227:69:shc.marmotcaravel.MarmotCaravelConfig.fir@209553.4]
  wire  _T_593; // @[Frontend.scala 227:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209554.4]
  wire  _T_594; // @[Frontend.scala 227:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209555.4]
  wire  _T_596; // @[Frontend.scala 227:86:shc.marmotcaravel.MarmotCaravelConfig.fir@209557.4]
  wire  _GEN_38; // @[Frontend.scala 227:95:shc.marmotcaravel.MarmotCaravelConfig.fir@209558.4]
  wire  _GEN_39; // @[Frontend.scala 227:95:shc.marmotcaravel.MarmotCaravelConfig.fir@209558.4]
  wire  _T_601; // @[Frontend.scala 239:92:shc.marmotcaravel.MarmotCaravelConfig.fir@209570.6]
  wire  _T_602; // @[Frontend.scala 239:80:shc.marmotcaravel.MarmotCaravelConfig.fir@209571.6]
  wire  _T_603; // @[Frontend.scala 239:127:shc.marmotcaravel.MarmotCaravelConfig.fir@209572.6]
  wire  _T_604; // @[Frontend.scala 239:115:shc.marmotcaravel.MarmotCaravelConfig.fir@209573.6]
  wire  _T_605; // @[Frontend.scala 239:106:shc.marmotcaravel.MarmotCaravelConfig.fir@209574.6]
  wire  _T_606; // @[Frontend.scala 239:68:shc.marmotcaravel.MarmotCaravelConfig.fir@209575.6]
  wire  _T_607; // @[Frontend.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209577.6]
  wire  _T_608; // @[Frontend.scala 241:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209578.6]
  wire  _T_609; // @[Frontend.scala 242:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209579.6]
  wire  _T_612; // @[Frontend.scala 242:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209582.6]
  wire [1:0] _T_613; // @[Frontend.scala 241:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209583.6]
  wire [1:0] _T_614; // @[Frontend.scala 240:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209584.6]
  wire  _T_617; // @[Frontend.scala 246:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209589.8]
  wire  _T_618; // @[Frontend.scala 246:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209590.8]
  wire  _T_619; // @[Frontend.scala 246:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209591.8]
  wire  _T_620; // @[Frontend.scala 246:64:shc.marmotcaravel.MarmotCaravelConfig.fir@209592.8]
  wire  _T_621; // @[Frontend.scala 246:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209593.8]
  wire  _T_622; // @[Frontend.scala 246:80:shc.marmotcaravel.MarmotCaravelConfig.fir@209594.8]
  wire  _T_623; // @[Frontend.scala 246:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209595.8]
  wire  _GEN_46; // @[Frontend.scala 260:59:shc.marmotcaravel.MarmotCaravelConfig.fir@209620.6]
  wire [1:0] _T_651; // @[Frontend.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209646.4]
  wire  taken_rvc_1; // @[Frontend.scala 199:45:shc.marmotcaravel.MarmotCaravelConfig.fir@209647.4]
  wire  _T_661; // @[Frontend.scala 209:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209662.4]
  wire  taken_rviCall_1; // @[Frontend.scala 209:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209664.4]
  wire  taken_rvcCall_1; // @[Frontend.scala 217:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209724.4]
  wire  _T_860; // @[Frontend.scala 227:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209876.4]
  wire  _T_861; // @[Frontend.scala 227:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209877.4]
  wire  _T_862; // @[Frontend.scala 227:89:shc.marmotcaravel.MarmotCaravelConfig.fir@209878.4]
  wire  _T_863; // @[Frontend.scala 227:86:shc.marmotcaravel.MarmotCaravelConfig.fir@209879.4]
  wire  _T_868; // @[Frontend.scala 239:92:shc.marmotcaravel.MarmotCaravelConfig.fir@209892.6]
  wire  _T_869; // @[Frontend.scala 239:80:shc.marmotcaravel.MarmotCaravelConfig.fir@209893.6]
  wire  _T_870; // @[Frontend.scala 239:127:shc.marmotcaravel.MarmotCaravelConfig.fir@209894.6]
  wire  _T_871; // @[Frontend.scala 239:115:shc.marmotcaravel.MarmotCaravelConfig.fir@209895.6]
  wire  _T_872; // @[Frontend.scala 239:106:shc.marmotcaravel.MarmotCaravelConfig.fir@209896.6]
  wire  _T_873; // @[Frontend.scala 239:68:shc.marmotcaravel.MarmotCaravelConfig.fir@209897.6]
  wire  _T_874; // @[Frontend.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209899.6]
  wire  _T_875; // @[Frontend.scala 241:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209900.6]
  wire  _T_876; // @[Frontend.scala 242:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209901.6]
  wire  _T_879; // @[Frontend.scala 242:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209904.6]
  wire [1:0] _T_880; // @[Frontend.scala 241:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209905.6]
  wire [1:0] _T_881; // @[Frontend.scala 240:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209906.6]
  wire  _T_884; // @[Frontend.scala 246:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209911.8]
  wire  _T_885; // @[Frontend.scala 246:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209912.8]
  wire  _T_886; // @[Frontend.scala 246:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209913.8]
  wire  _T_887; // @[Frontend.scala 246:64:shc.marmotcaravel.MarmotCaravelConfig.fir@209914.8]
  wire  _T_888; // @[Frontend.scala 246:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209915.8]
  wire  _T_889; // @[Frontend.scala 246:80:shc.marmotcaravel.MarmotCaravelConfig.fir@209916.8]
  wire  _T_890; // @[Frontend.scala 246:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209917.8]
  wire  _GEN_82; // @[Frontend.scala 260:59:shc.marmotcaravel.MarmotCaravelConfig.fir@209945.6]
  wire  _T_917; // @[Frontend.scala 272:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209966.6]
  wire  _T_919; // @[Frontend.scala 272:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209968.6]
  wire [15:0] _T_920; // @[Frontend.scala 274:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209971.8]
  wire  _T_922; // @[Frontend.scala 299:45:shc.marmotcaravel.MarmotCaravelConfig.fir@209980.4]
  wire  _T_923; // @[Frontend.scala 299:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209981.4]
  wire  _GEN_116; // @[Frontend.scala 303:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209987.6]
  wire  _GEN_117; // @[Frontend.scala 303:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209987.6]
  wire [4:0] _GEN_118; // @[Frontend.scala 303:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209987.6]
  wire  _T_926; // @[Frontend.scala 311:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209997.4]
  wire  _T_928; // @[Frontend.scala 311:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209999.4]
  wire  _T_930; // @[Frontend.scala 311:11:shc.marmotcaravel.MarmotCaravelConfig.fir@210001.4]
  wire  _T_931; // @[Frontend.scala 311:11:shc.marmotcaravel.MarmotCaravelConfig.fir@210002.4]
  wire  _T_933; // @[Frontend.scala 324:40:shc.marmotcaravel.MarmotCaravelConfig.fir@210018.4]
  wire  _T_934; // @[Frontend.scala 325:34:shc.marmotcaravel.MarmotCaravelConfig.fir@210019.4]
  wire  _T_935; // @[Frontend.scala 326:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210020.4]
  wire  _T_938; // @[Frontend.scala 328:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210023.4]
  wire  _T_939; // @[Frontend.scala 328:5:shc.marmotcaravel.MarmotCaravelConfig.fir@210024.4]
  ICache icache ( // @[Frontend.scala 61:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209097.4]
    .clock(icache_clock),
    .reset(icache_reset),
    .auto_slave_in_a_ready(icache_auto_slave_in_a_ready),
    .auto_slave_in_a_valid(icache_auto_slave_in_a_valid),
    .auto_slave_in_a_bits_opcode(icache_auto_slave_in_a_bits_opcode),
    .auto_slave_in_a_bits_size(icache_auto_slave_in_a_bits_size),
    .auto_slave_in_a_bits_source(icache_auto_slave_in_a_bits_source),
    .auto_slave_in_a_bits_address(icache_auto_slave_in_a_bits_address),
    .auto_slave_in_a_bits_mask(icache_auto_slave_in_a_bits_mask),
    .auto_slave_in_a_bits_data(icache_auto_slave_in_a_bits_data),
    .auto_slave_in_d_ready(icache_auto_slave_in_d_ready),
    .auto_slave_in_d_valid(icache_auto_slave_in_d_valid),
    .auto_slave_in_d_bits_opcode(icache_auto_slave_in_d_bits_opcode),
    .auto_slave_in_d_bits_size(icache_auto_slave_in_d_bits_size),
    .auto_slave_in_d_bits_source(icache_auto_slave_in_d_bits_source),
    .auto_slave_in_d_bits_data(icache_auto_slave_in_d_bits_data),
    .auto_master_out_a_ready(icache_auto_master_out_a_ready),
    .auto_master_out_a_valid(icache_auto_master_out_a_valid),
    .auto_master_out_a_bits_address(icache_auto_master_out_a_bits_address),
    .auto_master_out_d_ready(icache_auto_master_out_d_ready),
    .auto_master_out_d_valid(icache_auto_master_out_d_valid),
    .auto_master_out_d_bits_opcode(icache_auto_master_out_d_bits_opcode),
    .auto_master_out_d_bits_size(icache_auto_master_out_d_bits_size),
    .auto_master_out_d_bits_data(icache_auto_master_out_d_bits_data),
    .auto_master_out_d_bits_corrupt(icache_auto_master_out_d_bits_corrupt),
    .io_req_ready(icache_io_req_ready),
    .io_req_valid(icache_io_req_valid),
    .io_req_bits_addr(icache_io_req_bits_addr),
    .io_s1_paddr(icache_io_s1_paddr),
    .io_s2_vaddr(icache_io_s2_vaddr),
    .io_s1_kill(icache_io_s1_kill),
    .io_s2_kill(icache_io_s2_kill),
    .io_resp_valid(icache_io_resp_valid),
    .io_resp_bits_data(icache_io_resp_bits_data),
    .io_resp_bits_ae(icache_io_resp_bits_ae),
    .io_invalidate(icache_io_invalidate),
    .io_clock_enabled(icache_io_clock_enabled),
    .io_keep_clock_enabled(icache_io_keep_clock_enabled),
    .tag_array_ext_RW0_addr(tag_array_ext_RW0_addr),
    .tag_array_ext_RW0_en(tag_array_ext_RW0_en),
    .tag_array_ext_RW0_clk(tag_array_ext_RW0_clk),
    .tag_array_ext_RW0_wmode(tag_array_ext_RW0_wmode),
    .tag_array_ext_RW0_wdata(tag_array_ext_RW0_wdata),
    .tag_array_ext_RW0_rdata(tag_array_ext_RW0_rdata),
    .tag_array_ext_RW0_wmask(tag_array_ext_RW0_wmask),
    .data_arrays_0_0_ext_RW0_addr(data_arrays_0_0_ext_RW0_addr),
    .data_arrays_0_0_ext_RW0_en(data_arrays_0_0_ext_RW0_en),
    .data_arrays_0_0_ext_RW0_clk(data_arrays_0_0_ext_RW0_clk),
    .data_arrays_0_0_ext_RW0_wmode(data_arrays_0_0_ext_RW0_wmode),
    .data_arrays_0_0_ext_RW0_wdata(data_arrays_0_0_ext_RW0_wdata),
    .data_arrays_0_0_ext_RW0_rdata(data_arrays_0_0_ext_RW0_rdata),
    .data_arrays_0_0_ext_RW0_wmask(data_arrays_0_0_ext_RW0_wmask)
  );
  ShiftQueue fq ( // @[Frontend.scala 82:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209108.4]
    .clock(fq_clock),
    .reset(fq_reset),
    .io_enq_ready(fq_io_enq_ready),
    .io_enq_valid(fq_io_enq_valid),
    .io_enq_bits_btb_taken(fq_io_enq_bits_btb_taken),
    .io_enq_bits_btb_bridx(fq_io_enq_bits_btb_bridx),
    .io_enq_bits_btb_entry(fq_io_enq_bits_btb_entry),
    .io_enq_bits_btb_bht_history(fq_io_enq_bits_btb_bht_history),
    .io_enq_bits_pc(fq_io_enq_bits_pc),
    .io_enq_bits_data(fq_io_enq_bits_data),
    .io_enq_bits_mask(fq_io_enq_bits_mask),
    .io_enq_bits_xcpt_ae_inst(fq_io_enq_bits_xcpt_ae_inst),
    .io_enq_bits_replay(fq_io_enq_bits_replay),
    .io_deq_ready(fq_io_deq_ready),
    .io_deq_valid(fq_io_deq_valid),
    .io_deq_bits_btb_taken(fq_io_deq_bits_btb_taken),
    .io_deq_bits_btb_bridx(fq_io_deq_bits_btb_bridx),
    .io_deq_bits_btb_entry(fq_io_deq_bits_btb_entry),
    .io_deq_bits_btb_bht_history(fq_io_deq_bits_btb_bht_history),
    .io_deq_bits_pc(fq_io_deq_bits_pc),
    .io_deq_bits_data(fq_io_deq_bits_data),
    .io_deq_bits_xcpt_ae_inst(fq_io_deq_bits_xcpt_ae_inst),
    .io_deq_bits_replay(fq_io_deq_bits_replay),
    .io_mask(fq_io_mask)
  );
  TLB_1 tlb ( // @[Frontend.scala 95:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209129.4]
    .io_req_bits_vaddr(tlb_io_req_bits_vaddr),
    .io_resp_paddr(tlb_io_resp_paddr),
    .io_resp_ae_inst(tlb_io_resp_ae_inst),
    .io_ptw_pmp_0_cfg_l(tlb_io_ptw_pmp_0_cfg_l),
    .io_ptw_pmp_0_cfg_a(tlb_io_ptw_pmp_0_cfg_a),
    .io_ptw_pmp_0_cfg_x(tlb_io_ptw_pmp_0_cfg_x),
    .io_ptw_pmp_0_cfg_w(tlb_io_ptw_pmp_0_cfg_w),
    .io_ptw_pmp_0_cfg_r(tlb_io_ptw_pmp_0_cfg_r),
    .io_ptw_pmp_0_addr(tlb_io_ptw_pmp_0_addr),
    .io_ptw_pmp_0_mask(tlb_io_ptw_pmp_0_mask),
    .io_ptw_pmp_1_cfg_l(tlb_io_ptw_pmp_1_cfg_l),
    .io_ptw_pmp_1_cfg_a(tlb_io_ptw_pmp_1_cfg_a),
    .io_ptw_pmp_1_cfg_x(tlb_io_ptw_pmp_1_cfg_x),
    .io_ptw_pmp_1_cfg_w(tlb_io_ptw_pmp_1_cfg_w),
    .io_ptw_pmp_1_cfg_r(tlb_io_ptw_pmp_1_cfg_r),
    .io_ptw_pmp_1_addr(tlb_io_ptw_pmp_1_addr),
    .io_ptw_pmp_1_mask(tlb_io_ptw_pmp_1_mask),
    .io_ptw_pmp_2_cfg_l(tlb_io_ptw_pmp_2_cfg_l),
    .io_ptw_pmp_2_cfg_a(tlb_io_ptw_pmp_2_cfg_a),
    .io_ptw_pmp_2_cfg_x(tlb_io_ptw_pmp_2_cfg_x),
    .io_ptw_pmp_2_cfg_w(tlb_io_ptw_pmp_2_cfg_w),
    .io_ptw_pmp_2_cfg_r(tlb_io_ptw_pmp_2_cfg_r),
    .io_ptw_pmp_2_addr(tlb_io_ptw_pmp_2_addr),
    .io_ptw_pmp_2_mask(tlb_io_ptw_pmp_2_mask),
    .io_ptw_pmp_3_cfg_l(tlb_io_ptw_pmp_3_cfg_l),
    .io_ptw_pmp_3_cfg_a(tlb_io_ptw_pmp_3_cfg_a),
    .io_ptw_pmp_3_cfg_x(tlb_io_ptw_pmp_3_cfg_x),
    .io_ptw_pmp_3_cfg_w(tlb_io_ptw_pmp_3_cfg_w),
    .io_ptw_pmp_3_cfg_r(tlb_io_ptw_pmp_3_cfg_r),
    .io_ptw_pmp_3_addr(tlb_io_ptw_pmp_3_addr),
    .io_ptw_pmp_3_mask(tlb_io_ptw_pmp_3_mask),
    .io_ptw_pmp_4_cfg_l(tlb_io_ptw_pmp_4_cfg_l),
    .io_ptw_pmp_4_cfg_a(tlb_io_ptw_pmp_4_cfg_a),
    .io_ptw_pmp_4_cfg_x(tlb_io_ptw_pmp_4_cfg_x),
    .io_ptw_pmp_4_cfg_w(tlb_io_ptw_pmp_4_cfg_w),
    .io_ptw_pmp_4_cfg_r(tlb_io_ptw_pmp_4_cfg_r),
    .io_ptw_pmp_4_addr(tlb_io_ptw_pmp_4_addr),
    .io_ptw_pmp_4_mask(tlb_io_ptw_pmp_4_mask),
    .io_ptw_pmp_5_cfg_l(tlb_io_ptw_pmp_5_cfg_l),
    .io_ptw_pmp_5_cfg_a(tlb_io_ptw_pmp_5_cfg_a),
    .io_ptw_pmp_5_cfg_x(tlb_io_ptw_pmp_5_cfg_x),
    .io_ptw_pmp_5_cfg_w(tlb_io_ptw_pmp_5_cfg_w),
    .io_ptw_pmp_5_cfg_r(tlb_io_ptw_pmp_5_cfg_r),
    .io_ptw_pmp_5_addr(tlb_io_ptw_pmp_5_addr),
    .io_ptw_pmp_5_mask(tlb_io_ptw_pmp_5_mask),
    .io_ptw_pmp_6_cfg_l(tlb_io_ptw_pmp_6_cfg_l),
    .io_ptw_pmp_6_cfg_a(tlb_io_ptw_pmp_6_cfg_a),
    .io_ptw_pmp_6_cfg_x(tlb_io_ptw_pmp_6_cfg_x),
    .io_ptw_pmp_6_cfg_w(tlb_io_ptw_pmp_6_cfg_w),
    .io_ptw_pmp_6_cfg_r(tlb_io_ptw_pmp_6_cfg_r),
    .io_ptw_pmp_6_addr(tlb_io_ptw_pmp_6_addr),
    .io_ptw_pmp_6_mask(tlb_io_ptw_pmp_6_mask),
    .io_ptw_pmp_7_cfg_l(tlb_io_ptw_pmp_7_cfg_l),
    .io_ptw_pmp_7_cfg_a(tlb_io_ptw_pmp_7_cfg_a),
    .io_ptw_pmp_7_cfg_x(tlb_io_ptw_pmp_7_cfg_x),
    .io_ptw_pmp_7_cfg_w(tlb_io_ptw_pmp_7_cfg_w),
    .io_ptw_pmp_7_cfg_r(tlb_io_ptw_pmp_7_cfg_r),
    .io_ptw_pmp_7_addr(tlb_io_ptw_pmp_7_addr),
    .io_ptw_pmp_7_mask(tlb_io_ptw_pmp_7_mask)
  );
  BTB btb ( // @[Frontend.scala 170:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209252.4]
    .clock(btb_clock),
    .reset(btb_reset),
    .io_req_bits_addr(btb_io_req_bits_addr),
    .io_resp_valid(btb_io_resp_valid),
    .io_resp_bits_taken(btb_io_resp_bits_taken),
    .io_resp_bits_bridx(btb_io_resp_bits_bridx),
    .io_resp_bits_target(btb_io_resp_bits_target),
    .io_resp_bits_entry(btb_io_resp_bits_entry),
    .io_resp_bits_bht_history(btb_io_resp_bits_bht_history),
    .io_resp_bits_bht_value(btb_io_resp_bits_bht_value),
    .io_btb_update_valid(btb_io_btb_update_valid),
    .io_btb_update_bits_prediction_entry(btb_io_btb_update_bits_prediction_entry),
    .io_btb_update_bits_pc(btb_io_btb_update_bits_pc),
    .io_btb_update_bits_isValid(btb_io_btb_update_bits_isValid),
    .io_btb_update_bits_br_pc(btb_io_btb_update_bits_br_pc),
    .io_btb_update_bits_cfiType(btb_io_btb_update_bits_cfiType),
    .io_bht_update_valid(btb_io_bht_update_valid),
    .io_bht_update_bits_prediction_history(btb_io_bht_update_bits_prediction_history),
    .io_bht_update_bits_pc(btb_io_bht_update_bits_pc),
    .io_bht_update_bits_branch(btb_io_bht_update_bits_branch),
    .io_bht_update_bits_taken(btb_io_bht_update_bits_taken),
    .io_bht_update_bits_mispredict(btb_io_bht_update_bits_mispredict),
    .io_bht_advance_valid(btb_io_bht_advance_valid),
    .io_bht_advance_bits_bht_value(btb_io_bht_advance_bits_bht_value),
    .io_ras_update_valid(btb_io_ras_update_valid),
    .io_ras_update_bits_cfiType(btb_io_ras_update_bits_cfiType),
    .io_ras_update_bits_returnAddr(btb_io_ras_update_bits_returnAddr),
    .io_ras_head_valid(btb_io_ras_head_valid),
    .io_ras_head_bits(btb_io_ras_head_bits),
    .io_flush(btb_io_flush)
  );
  assign _T_284 = io_cpu_req_valid | io_cpu_sfence_valid; // @[Frontend.scala 86:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209114.4]
  assign _T_285 = _T_284 | io_cpu_flush_icache; // @[Frontend.scala 86:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209115.4]
  assign _T_286 = _T_285 | io_cpu_bht_update_valid; // @[Frontend.scala 86:75:shc.marmotcaravel.MarmotCaravelConfig.fir@209116.4]
  assign _T_287 = _T_286 | io_cpu_btb_update_valid; // @[Frontend.scala 86:102:shc.marmotcaravel.MarmotCaravelConfig.fir@209117.4]
  assign _T_288 = _T_287 == 1'h0; // @[Frontend.scala 86:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209118.4]
  assign _T_289 = _T_288 | io_cpu_might_request; // @[Frontend.scala 86:130:shc.marmotcaravel.MarmotCaravelConfig.fir@209119.4]
  assign _T_291 = _T_289 | reset; // @[Frontend.scala 86:9:shc.marmotcaravel.MarmotCaravelConfig.fir@209121.4]
  assign _T_292 = _T_291 == 1'h0; // @[Frontend.scala 86:9:shc.marmotcaravel.MarmotCaravelConfig.fir@209122.4]
  assign _T_293 = fq_io_mask[2]; // @[Frontend.scala 97:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209133.4]
  assign _T_294 = _T_293 == 1'h0; // @[Frontend.scala 97:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209134.4]
  assign s0_valid = io_cpu_req_valid | _T_294; // @[Frontend.scala 97:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209135.4]
  assign _T_300 = ~ io_reset_vector; // @[Frontend.scala 331:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209141.4]
  assign _T_301 = _T_300 | 32'h1; // @[Frontend.scala 331:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209142.4]
  assign _T_302 = ~ _T_301; // @[Frontend.scala 331:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209143.4]
  assign s2_btb_taken = s2_btb_resp_valid & s2_btb_resp_bits_taken; // @[Frontend.scala 105:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209147.4]
  assign _T_309 = ~ s1_pc; // @[Frontend.scala 113:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209154.4]
  assign _T_310 = _T_309 | 32'h3; // @[Frontend.scala 113:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209155.4]
  assign s1_base_pc = ~ _T_310; // @[Frontend.scala 113:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209156.4]
  assign ntpc = s1_base_pc + 32'h4; // @[Frontend.scala 114:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209158.4]
  assign _T_315 = fq_io_enq_ready & fq_io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209167.4]
  assign _T_316 = _T_315 == 1'h0; // @[Frontend.scala 119:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209168.4]
  assign _T_317 = s2_valid & _T_316; // @[Frontend.scala 119:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209169.4]
  assign _T_318 = s0_valid == 1'h0; // @[Frontend.scala 119:72:shc.marmotcaravel.MarmotCaravelConfig.fir@209170.4]
  assign s2_replay = _T_317 | _T_321; // @[Frontend.scala 119:48:shc.marmotcaravel.MarmotCaravelConfig.fir@209174.4]
  assign _T_319 = s2_replay & _T_318; // @[Frontend.scala 119:69:shc.marmotcaravel.MarmotCaravelConfig.fir@209171.4]
  assign _T_379 = s2_partial_insn[1:0]; // @[Frontend.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209316.4]
  assign _T_380 = _T_379 != 2'h3; // @[Frontend.scala 199:45:shc.marmotcaravel.MarmotCaravelConfig.fir@209317.4]
  assign _T_381 = _T_380 == 1'h0; // @[Frontend.scala 200:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209318.4]
  assign taken_prevRVI = s2_partial_insn_valid & _T_381; // @[Frontend.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209319.4]
  assign taken_bits = fq_io_enq_bits_data[15:0]; // @[Frontend.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209323.4]
  assign taken_rviBits = {taken_bits,s2_partial_insn}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209326.4]
  assign _T_386 = taken_rviBits[6:0]; // @[Frontend.scala 206:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209329.4]
  assign taken_rviJump = _T_386 == 7'h6f; // @[Frontend.scala 206:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209330.4]
  assign taken_rviJALR = _T_386 == 7'h67; // @[Frontend.scala 207:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209332.4]
  assign _T_574 = taken_rviJump | taken_rviJALR; // @[Frontend.scala 221:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209531.4]
  assign taken_rviBranch = _T_386 == 7'h63; // @[Frontend.scala 205:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209328.4]
  assign _T_575 = taken_rviBranch & s2_btb_resp_bits_bht_value; // @[Frontend.scala 221:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209532.4]
  assign _T_576 = _T_574 | _T_575; // @[Frontend.scala 221:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209533.4]
  assign _T_577 = taken_prevRVI & _T_576; // @[Frontend.scala 221:17:shc.marmotcaravel.MarmotCaravelConfig.fir@209534.4]
  assign _T_382 = fq_io_enq_bits_mask[0]; // @[Frontend.scala 201:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209320.4]
  assign _T_383 = taken_prevRVI == 1'h0; // @[Frontend.scala 201:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209321.4]
  assign taken_valid = _T_382 & _T_383; // @[Frontend.scala 201:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209322.4]
  assign _T_402 = taken_bits & 16'he003; // @[Frontend.scala 212:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209351.4]
  assign _T_403 = 16'ha001 == _T_402; // @[Frontend.scala 212:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209352.4]
  assign taken_rvcJAL = 16'h2001 == _T_402; // @[Frontend.scala 211:45:shc.marmotcaravel.MarmotCaravelConfig.fir@209349.4]
  assign taken_rvcJump = _T_403 | taken_rvcJAL; // @[Frontend.scala 212:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209353.4]
  assign _T_444 = taken_bits & 16'hf003; // @[Frontend.scala 216:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209397.4]
  assign _T_445 = 16'h9002 == _T_444; // @[Frontend.scala 216:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209398.4]
  assign _T_446 = taken_bits[6:2]; // @[Frontend.scala 216:56:shc.marmotcaravel.MarmotCaravelConfig.fir@209399.4]
  assign _T_447 = _T_446 == 5'h0; // @[Frontend.scala 216:62:shc.marmotcaravel.MarmotCaravelConfig.fir@209400.4]
  assign taken_rvcJALR = _T_445 & _T_447; // @[Frontend.scala 216:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209401.4]
  assign _T_578 = taken_rvcJump | taken_rvcJALR; // @[Frontend.scala 222:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209535.4]
  assign _T_438 = 16'h8002 == _T_444; // @[Frontend.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209389.4]
  assign taken_rvcJR = _T_438 & _T_447; // @[Frontend.scala 214:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209392.4]
  assign _T_579 = _T_578 | taken_rvcJR; // @[Frontend.scala 222:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209536.4]
  assign _T_397 = 16'hc001 == _T_402; // @[Frontend.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209344.4]
  assign _T_399 = 16'he001 == _T_402; // @[Frontend.scala 210:60:shc.marmotcaravel.MarmotCaravelConfig.fir@209346.4]
  assign taken_rvcBranch = _T_397 | _T_399; // @[Frontend.scala 210:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209347.4]
  assign _T_580 = taken_rvcBranch & s2_btb_resp_bits_bht_value; // @[Frontend.scala 222:60:shc.marmotcaravel.MarmotCaravelConfig.fir@209537.4]
  assign _T_581 = _T_579 | _T_580; // @[Frontend.scala 222:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209538.4]
  assign _T_582 = taken_valid & _T_581; // @[Frontend.scala 222:15:shc.marmotcaravel.MarmotCaravelConfig.fir@209539.4]
  assign taken_taken = _T_577 | _T_582; // @[Frontend.scala 221:71:shc.marmotcaravel.MarmotCaravelConfig.fir@209540.4]
  assign taken_idx = taken_taken == 1'h0; // @[Frontend.scala 236:13:shc.marmotcaravel.MarmotCaravelConfig.fir@209885.4]
  assign _T_882 = s2_btb_taken == 1'h0; // @[Frontend.scala 245:15:shc.marmotcaravel.MarmotCaravelConfig.fir@209908.6]
  assign _T_646 = taken_bits[1:0]; // @[Frontend.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209638.4]
  assign _T_647 = _T_646 != 2'h3; // @[Frontend.scala 199:45:shc.marmotcaravel.MarmotCaravelConfig.fir@209639.4]
  assign _T_648 = _T_647 == 1'h0; // @[Frontend.scala 200:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209640.4]
  assign taken_prevRVI_1 = taken_valid & _T_648; // @[Frontend.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209641.4]
  assign taken_bits_1 = fq_io_enq_bits_data[31:16]; // @[Frontend.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209645.4]
  assign taken_rviBits_1 = {taken_bits_1,taken_bits}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209648.4]
  assign _T_654 = taken_rviBits_1[6:0]; // @[Frontend.scala 207:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209653.4]
  assign taken_rviJALR_1 = _T_654 == 7'h67; // @[Frontend.scala 207:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209654.4]
  assign _T_655 = taken_rviBits_1[7]; // @[Frontend.scala 208:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209655.4]
  assign _T_656 = _T_655 == 1'h0; // @[Frontend.scala 208:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209656.4]
  assign _T_657 = taken_rviJALR_1 & _T_656; // @[Frontend.scala 208:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209657.4]
  assign _T_658 = taken_rviBits_1[19:15]; // @[Frontend.scala 208:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209658.4]
  assign _T_659 = _T_658 & 5'h1b; // @[Frontend.scala 208:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209659.4]
  assign _T_660 = 5'h1 == _T_659; // @[Frontend.scala 208:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209660.4]
  assign taken_rviReturn_1 = _T_657 & _T_660; // @[Frontend.scala 208:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209661.4]
  assign _T_850 = taken_prevRVI_1 & taken_rviReturn_1; // @[Frontend.scala 223:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209863.4]
  assign _T_649 = fq_io_enq_bits_mask[1]; // @[Frontend.scala 201:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209642.4]
  assign _T_650 = taken_prevRVI_1 == 1'h0; // @[Frontend.scala 201:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209643.4]
  assign taken_valid_1 = _T_649 & _T_650; // @[Frontend.scala 201:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209644.4]
  assign _T_704 = taken_bits_1 & 16'hf003; // @[Frontend.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209710.4]
  assign _T_705 = 16'h8002 == _T_704; // @[Frontend.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209711.4]
  assign _T_706 = taken_bits_1[6:2]; // @[Frontend.scala 214:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209712.4]
  assign _T_707 = _T_706 == 5'h0; // @[Frontend.scala 214:59:shc.marmotcaravel.MarmotCaravelConfig.fir@209713.4]
  assign taken_rvcJR_1 = _T_705 & _T_707; // @[Frontend.scala 214:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209714.4]
  assign _T_708 = taken_bits_1[11:7]; // @[Frontend.scala 215:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209715.4]
  assign _T_709 = _T_708 & 5'h1b; // @[Frontend.scala 215:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209716.4]
  assign _T_710 = 5'h1 == _T_709; // @[Frontend.scala 215:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209717.4]
  assign taken_rvcReturn_1 = taken_rvcJR_1 & _T_710; // @[Frontend.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209718.4]
  assign _T_851 = taken_valid_1 & taken_rvcReturn_1; // @[Frontend.scala 223:83:shc.marmotcaravel.MarmotCaravelConfig.fir@209864.4]
  assign _T_852 = _T_850 | _T_851; // @[Frontend.scala 223:74:shc.marmotcaravel.MarmotCaravelConfig.fir@209865.4]
  assign taken_predictReturn_1 = btb_io_ras_head_valid & _T_852; // @[Frontend.scala 223:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209866.4]
  assign _T_891 = s2_valid & taken_predictReturn_1; // @[Frontend.scala 249:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209921.8]
  assign _T_388 = taken_rviBits[7]; // @[Frontend.scala 208:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209333.4]
  assign _T_389 = _T_388 == 1'h0; // @[Frontend.scala 208:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209334.4]
  assign _T_390 = taken_rviJALR & _T_389; // @[Frontend.scala 208:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209335.4]
  assign _T_391 = taken_rviBits[19:15]; // @[Frontend.scala 208:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209336.4]
  assign _T_392 = _T_391 & 5'h1b; // @[Frontend.scala 208:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209337.4]
  assign _T_393 = 5'h1 == _T_392; // @[Frontend.scala 208:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209338.4]
  assign taken_rviReturn = _T_390 & _T_393; // @[Frontend.scala 208:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209339.4]
  assign _T_583 = taken_prevRVI & taken_rviReturn; // @[Frontend.scala 223:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209541.4]
  assign _T_441 = taken_bits[11:7]; // @[Frontend.scala 215:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209393.4]
  assign _T_442 = _T_441 & 5'h1b; // @[Frontend.scala 215:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209394.4]
  assign _T_443 = 5'h1 == _T_442; // @[Frontend.scala 215:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209395.4]
  assign taken_rvcReturn = taken_rvcJR & _T_443; // @[Frontend.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209396.4]
  assign _T_584 = taken_valid & taken_rvcReturn; // @[Frontend.scala 223:83:shc.marmotcaravel.MarmotCaravelConfig.fir@209542.4]
  assign _T_585 = _T_583 | _T_584; // @[Frontend.scala 223:74:shc.marmotcaravel.MarmotCaravelConfig.fir@209543.4]
  assign taken_predictReturn = btb_io_ras_head_valid & _T_585; // @[Frontend.scala 223:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209544.4]
  assign _T_624 = s2_valid & taken_predictReturn; // @[Frontend.scala 249:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209599.8]
  assign _GEN_44 = _T_882 ? _T_624 : 1'h0; // @[Frontend.scala 245:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209587.6]
  assign _GEN_77 = _T_891 ? 1'h1 : _GEN_44; // @[Frontend.scala 249:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209922.8]
  assign _GEN_80 = _T_882 ? _GEN_77 : _GEN_44; // @[Frontend.scala 245:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209909.6]
  assign useRAS = taken_idx ? _GEN_80 : _GEN_44; // @[Frontend.scala 236:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209886.4]
  assign taken_rviBranch_1 = _T_654 == 7'h63; // @[Frontend.scala 205:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209650.4]
  assign _T_855 = taken_prevRVI_1 & taken_rviBranch_1; // @[Frontend.scala 225:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209870.4]
  assign _T_663 = taken_bits_1 & 16'he003; // @[Frontend.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209665.4]
  assign _T_664 = 16'hc001 == _T_663; // @[Frontend.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209666.4]
  assign _T_666 = 16'he001 == _T_663; // @[Frontend.scala 210:60:shc.marmotcaravel.MarmotCaravelConfig.fir@209668.4]
  assign taken_rvcBranch_1 = _T_664 | _T_666; // @[Frontend.scala 210:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209669.4]
  assign _T_856 = taken_valid_1 & taken_rvcBranch_1; // @[Frontend.scala 225:75:shc.marmotcaravel.MarmotCaravelConfig.fir@209871.4]
  assign _T_857 = _T_855 | _T_856; // @[Frontend.scala 225:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209872.4]
  assign taken_predictBranch_1 = s2_btb_resp_bits_bht_value & _T_857; // @[Frontend.scala 225:41:shc.marmotcaravel.MarmotCaravelConfig.fir@209873.4]
  assign taken_rviJump_1 = _T_654 == 7'h6f; // @[Frontend.scala 206:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209652.4]
  assign _T_853 = taken_prevRVI_1 & taken_rviJump_1; // @[Frontend.scala 224:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209867.4]
  assign _T_670 = 16'ha001 == _T_663; // @[Frontend.scala 212:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209674.4]
  assign taken_rvcJAL_1 = 16'h2001 == _T_663; // @[Frontend.scala 211:45:shc.marmotcaravel.MarmotCaravelConfig.fir@209671.4]
  assign taken_rvcJump_1 = _T_670 | taken_rvcJAL_1; // @[Frontend.scala 212:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209675.4]
  assign _T_854 = taken_valid_1 & taken_rvcJump_1; // @[Frontend.scala 224:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209868.4]
  assign taken_predictJump_1 = _T_853 | _T_854; // @[Frontend.scala 224:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209869.4]
  assign _T_892 = taken_predictBranch_1 | taken_predictJump_1; // @[Frontend.scala 252:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209925.8]
  assign _T_893 = s2_valid & _T_892; // @[Frontend.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209926.8]
  assign _T_361 = ~ s2_pc; // @[Frontend.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209281.4]
  assign _T_362 = _T_361 | 32'h3; // @[Frontend.scala 192:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209282.4]
  assign s2_base_pc = ~ _T_362; // @[Frontend.scala 192:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209283.4]
  assign taken_pc_1 = s2_base_pc | 32'h2; // @[Frontend.scala 253:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209928.10]
  assign _T_894 = taken_pc_1 - 32'h2; // @[Frontend.scala 256:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209929.10]
  assign _T_895 = $unsigned(_T_894); // @[Frontend.scala 256:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209930.10]
  assign _T_896 = _T_895[31:0]; // @[Frontend.scala 256:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209931.10]
  assign _T_897 = taken_prevRVI_1 ? _T_896 : taken_pc_1; // @[Frontend.scala 256:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209932.10]
  assign _T_898 = $signed(_T_897); // @[Frontend.scala 256:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209933.10]
  assign _T_715 = taken_rviBits_1[3]; // @[Frontend.scala 218:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209725.4]
  assign _T_717 = taken_rviBits_1[31]; // @[RocketCore.scala 932:48:shc.marmotcaravel.MarmotCaravelConfig.fir@209727.4]
  assign _T_718 = $signed(_T_717); // @[RocketCore.scala 932:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209728.4]
  assign _T_773 = $unsigned(_T_718); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209783.4]
  assign _T_723 = {11{_T_718}}; // @[RocketCore.scala 933:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209733.4]
  assign _T_772 = $unsigned(_T_723); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209782.4]
  assign _T_774 = {_T_773,_T_772}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209784.4]
  assign _T_727 = taken_rviBits_1[19:12]; // @[RocketCore.scala 934:65:shc.marmotcaravel.MarmotCaravelConfig.fir@209737.4]
  assign _T_728 = $signed(_T_727); // @[RocketCore.scala 934:73:shc.marmotcaravel.MarmotCaravelConfig.fir@209738.4]
  assign _T_770 = $unsigned(_T_728); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209780.4]
  assign _T_734 = taken_rviBits_1[20]; // @[RocketCore.scala 936:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209744.4]
  assign _T_735 = $signed(_T_734); // @[RocketCore.scala 936:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209745.4]
  assign _T_738 = $signed(_T_655); // @[RocketCore.scala 937:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209748.4]
  assign _T_769 = $unsigned(_T_735); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209779.4]
  assign _T_771 = {_T_770,_T_769}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209781.4]
  assign _T_775 = {_T_774,_T_771}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209785.4]
  assign _T_745 = taken_rviBits_1[30:25]; // @[RocketCore.scala 938:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209755.4]
  assign _T_751 = taken_rviBits_1[11:8]; // @[RocketCore.scala 940:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209761.4]
  assign _T_754 = taken_rviBits_1[24:21]; // @[RocketCore.scala 941:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209764.4]
  assign _T_767 = {_T_745,_T_754}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209777.4]
  assign _T_768 = {_T_767,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209778.4]
  assign _T_776 = {_T_775,_T_768}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209786.4]
  assign _T_777 = $signed(_T_776); // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209787.4]
  assign _T_791 = {8{_T_718}}; // @[RocketCore.scala 934:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209801.4]
  assign _T_832 = $unsigned(_T_791); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209842.4]
  assign _T_831 = $unsigned(_T_738); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209841.4]
  assign _T_833 = {_T_832,_T_831}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209843.4]
  assign _T_837 = {_T_774,_T_833}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209847.4]
  assign _T_829 = {_T_745,_T_751}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209839.4]
  assign _T_830 = {_T_829,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209840.4]
  assign _T_838 = {_T_837,_T_830}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209848.4]
  assign _T_839 = $signed(_T_838); // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209849.4]
  assign taken_rviImm_1 = _T_715 ? $signed(_T_777) : $signed(_T_839); // @[Frontend.scala 218:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209850.4]
  assign _T_671 = taken_bits_1[14]; // @[Frontend.scala 213:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209676.4]
  assign _T_672 = taken_bits_1[12]; // @[RVC.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209677.4]
  assign _T_674 = _T_672 ? 5'h1f : 5'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209679.4]
  assign _T_675 = taken_bits_1[6:5]; // @[RVC.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209680.4]
  assign _T_681 = {_T_674,_T_675}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209686.4]
  assign _T_676 = taken_bits_1[2]; // @[RVC.scala 45:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209681.4]
  assign _T_682 = {_T_681,_T_676}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209687.4]
  assign _T_677 = taken_bits_1[11:10]; // @[RVC.scala 45:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209682.4]
  assign _T_678 = taken_bits_1[4:3]; // @[RVC.scala 45:59:shc.marmotcaravel.MarmotCaravelConfig.fir@209683.4]
  assign _T_679 = {_T_677,_T_678}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209684.4]
  assign _T_680 = {_T_679,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209685.4]
  assign _T_683 = {_T_682,_T_680}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209688.4]
  assign _T_684 = $signed(_T_683); // @[Frontend.scala 213:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209689.4]
  assign _T_687 = _T_672 ? 10'h3ff : 10'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209692.4]
  assign _T_688 = taken_bits_1[8]; // @[RVC.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209693.4]
  assign _T_699 = {_T_687,_T_688}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209704.4]
  assign _T_689 = taken_bits_1[10:9]; // @[RVC.scala 44:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209694.4]
  assign _T_700 = {_T_699,_T_689}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209705.4]
  assign _T_690 = taken_bits_1[6]; // @[RVC.scala 44:51:shc.marmotcaravel.MarmotCaravelConfig.fir@209695.4]
  assign _T_691 = taken_bits_1[7]; // @[RVC.scala 44:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209696.4]
  assign _T_698 = {_T_690,_T_691}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209703.4]
  assign _T_701 = {_T_700,_T_698}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209706.4]
  assign _T_693 = taken_bits_1[11]; // @[RVC.scala 44:69:shc.marmotcaravel.MarmotCaravelConfig.fir@209698.4]
  assign _T_696 = {_T_676,_T_693}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209701.4]
  assign _T_694 = taken_bits_1[5:3]; // @[RVC.scala 44:76:shc.marmotcaravel.MarmotCaravelConfig.fir@209699.4]
  assign _T_695 = {_T_694,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209700.4]
  assign _T_697 = {_T_696,_T_695}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209702.4]
  assign _T_702 = {_T_701,_T_697}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209707.4]
  assign _T_703 = $signed(_T_702); // @[Frontend.scala 213:106:shc.marmotcaravel.MarmotCaravelConfig.fir@209708.4]
  assign taken_rvcImm_1 = _T_671 ? $signed({{8{_T_684[12]}},_T_684}) : $signed(_T_703); // @[Frontend.scala 213:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209709.4]
  assign _T_899 = taken_prevRVI_1 ? $signed(taken_rviImm_1) : $signed({{11{taken_rvcImm_1[20]}},taken_rvcImm_1}); // @[Frontend.scala 256:69:shc.marmotcaravel.MarmotCaravelConfig.fir@209934.10]
  assign _T_901 = $signed(_T_898) + $signed(_T_899); // @[Frontend.scala 256:64:shc.marmotcaravel.MarmotCaravelConfig.fir@209936.10]
  assign taken_npc_1 = $signed(_T_901); // @[Frontend.scala 256:64:shc.marmotcaravel.MarmotCaravelConfig.fir@209937.10]
  assign _T_902 = $unsigned(taken_npc_1); // @[Frontend.scala 257:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209938.10]
  assign _T_588 = taken_prevRVI & taken_rviBranch; // @[Frontend.scala 225:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209548.4]
  assign _T_589 = taken_valid & taken_rvcBranch; // @[Frontend.scala 225:75:shc.marmotcaravel.MarmotCaravelConfig.fir@209549.4]
  assign _T_590 = _T_588 | _T_589; // @[Frontend.scala 225:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209550.4]
  assign taken_predictBranch = s2_btb_resp_bits_bht_value & _T_590; // @[Frontend.scala 225:41:shc.marmotcaravel.MarmotCaravelConfig.fir@209551.4]
  assign _T_586 = taken_prevRVI & taken_rviJump; // @[Frontend.scala 224:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209545.4]
  assign _T_587 = taken_valid & taken_rvcJump; // @[Frontend.scala 224:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209546.4]
  assign taken_predictJump = _T_586 | _T_587; // @[Frontend.scala 224:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209547.4]
  assign _T_625 = taken_predictBranch | taken_predictJump; // @[Frontend.scala 252:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209603.8]
  assign _T_626 = s2_valid & _T_625; // @[Frontend.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209604.8]
  assign _T_627 = $signed(s2_base_pc); // @[Frontend.scala 255:32:shc.marmotcaravel.MarmotCaravelConfig.fir@209607.10]
  assign _T_448 = taken_rviBits[3]; // @[Frontend.scala 218:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209403.4]
  assign _T_450 = taken_rviBits[31]; // @[RocketCore.scala 932:48:shc.marmotcaravel.MarmotCaravelConfig.fir@209405.4]
  assign _T_451 = $signed(_T_450); // @[RocketCore.scala 932:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209406.4]
  assign _T_506 = $unsigned(_T_451); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209461.4]
  assign _T_456 = {11{_T_451}}; // @[RocketCore.scala 933:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209411.4]
  assign _T_505 = $unsigned(_T_456); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209460.4]
  assign _T_507 = {_T_506,_T_505}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209462.4]
  assign _T_460 = taken_rviBits[19:12]; // @[RocketCore.scala 934:65:shc.marmotcaravel.MarmotCaravelConfig.fir@209415.4]
  assign _T_461 = $signed(_T_460); // @[RocketCore.scala 934:73:shc.marmotcaravel.MarmotCaravelConfig.fir@209416.4]
  assign _T_503 = $unsigned(_T_461); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209458.4]
  assign _T_467 = taken_rviBits[20]; // @[RocketCore.scala 936:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209422.4]
  assign _T_468 = $signed(_T_467); // @[RocketCore.scala 936:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209423.4]
  assign _T_471 = $signed(_T_388); // @[RocketCore.scala 937:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209426.4]
  assign _T_502 = $unsigned(_T_468); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209457.4]
  assign _T_504 = {_T_503,_T_502}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209459.4]
  assign _T_508 = {_T_507,_T_504}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209463.4]
  assign _T_478 = taken_rviBits[30:25]; // @[RocketCore.scala 938:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209433.4]
  assign _T_484 = taken_rviBits[11:8]; // @[RocketCore.scala 940:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209439.4]
  assign _T_487 = taken_rviBits[24:21]; // @[RocketCore.scala 941:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209442.4]
  assign _T_500 = {_T_478,_T_487}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209455.4]
  assign _T_501 = {_T_500,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209456.4]
  assign _T_509 = {_T_508,_T_501}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209464.4]
  assign _T_510 = $signed(_T_509); // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209465.4]
  assign _T_524 = {8{_T_451}}; // @[RocketCore.scala 934:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209479.4]
  assign _T_565 = $unsigned(_T_524); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209520.4]
  assign _T_564 = $unsigned(_T_471); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209519.4]
  assign _T_566 = {_T_565,_T_564}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209521.4]
  assign _T_570 = {_T_507,_T_566}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209525.4]
  assign _T_562 = {_T_478,_T_484}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209517.4]
  assign _T_563 = {_T_562,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209518.4]
  assign _T_571 = {_T_570,_T_563}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209526.4]
  assign _T_572 = $signed(_T_571); // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209527.4]
  assign taken_rviImm = _T_448 ? $signed(_T_510) : $signed(_T_572); // @[Frontend.scala 218:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209528.4]
  assign _T_628 = $signed(taken_rviImm) - $signed(32'sh2); // @[Frontend.scala 255:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209608.10]
  assign _T_404 = taken_bits[14]; // @[Frontend.scala 213:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209354.4]
  assign _T_405 = taken_bits[12]; // @[RVC.scala 45:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209355.4]
  assign _T_407 = _T_405 ? 5'h1f : 5'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209357.4]
  assign _T_408 = taken_bits[6:5]; // @[RVC.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209358.4]
  assign _T_414 = {_T_407,_T_408}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209364.4]
  assign _T_409 = taken_bits[2]; // @[RVC.scala 45:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209359.4]
  assign _T_415 = {_T_414,_T_409}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209365.4]
  assign _T_410 = taken_bits[11:10]; // @[RVC.scala 45:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209360.4]
  assign _T_411 = taken_bits[4:3]; // @[RVC.scala 45:59:shc.marmotcaravel.MarmotCaravelConfig.fir@209361.4]
  assign _T_412 = {_T_410,_T_411}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209362.4]
  assign _T_413 = {_T_412,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209363.4]
  assign _T_416 = {_T_415,_T_413}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209366.4]
  assign _T_417 = $signed(_T_416); // @[Frontend.scala 213:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209367.4]
  assign _T_420 = _T_405 ? 10'h3ff : 10'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209370.4]
  assign _T_421 = taken_bits[8]; // @[RVC.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209371.4]
  assign _T_432 = {_T_420,_T_421}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209382.4]
  assign _T_422 = taken_bits[10:9]; // @[RVC.scala 44:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209372.4]
  assign _T_433 = {_T_432,_T_422}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209383.4]
  assign _T_423 = taken_bits[6]; // @[RVC.scala 44:51:shc.marmotcaravel.MarmotCaravelConfig.fir@209373.4]
  assign _T_424 = taken_bits[7]; // @[RVC.scala 44:57:shc.marmotcaravel.MarmotCaravelConfig.fir@209374.4]
  assign _T_431 = {_T_423,_T_424}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209381.4]
  assign _T_434 = {_T_433,_T_431}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209384.4]
  assign _T_426 = taken_bits[11]; // @[RVC.scala 44:69:shc.marmotcaravel.MarmotCaravelConfig.fir@209376.4]
  assign _T_429 = {_T_409,_T_426}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209379.4]
  assign _T_427 = taken_bits[5:3]; // @[RVC.scala 44:76:shc.marmotcaravel.MarmotCaravelConfig.fir@209377.4]
  assign _T_428 = {_T_427,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209378.4]
  assign _T_430 = {_T_429,_T_428}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209380.4]
  assign _T_435 = {_T_434,_T_430}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@209385.4]
  assign _T_436 = $signed(_T_435); // @[Frontend.scala 213:106:shc.marmotcaravel.MarmotCaravelConfig.fir@209386.4]
  assign taken_rvcImm = _T_404 ? $signed({{8{_T_417[12]}},_T_417}) : $signed(_T_436); // @[Frontend.scala 213:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209387.4]
  assign _T_629 = taken_prevRVI ? $signed(_T_628) : $signed({{12{taken_rvcImm[20]}},taken_rvcImm}); // @[Frontend.scala 255:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209609.10]
  assign _GEN_126 = {{1{_T_627[31]}},_T_627}; // @[Frontend.scala 255:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209610.10]
  assign _T_631 = $signed(_GEN_126) + $signed(_T_629); // @[Frontend.scala 255:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209611.10]
  assign taken_npc = $signed(_T_631); // @[Frontend.scala 255:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209612.10]
  assign _T_632 = $unsigned(taken_npc); // @[Frontend.scala 257:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209613.10]
  assign predicted_taken = btb_io_resp_valid & btb_io_resp_bits_taken; // @[Frontend.scala 183:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209270.4]
  assign _GEN_27 = predicted_taken ? btb_io_resp_bits_target : ntpc; // @[Frontend.scala 183:56:shc.marmotcaravel.MarmotCaravelConfig.fir@209271.4]
  assign _GEN_42 = _T_626 ? _T_632 : {{1'd0}, _GEN_27}; // @[Frontend.scala 252:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209605.8]
  assign _GEN_45 = _T_882 ? _GEN_42 : {{1'd0}, _GEN_27}; // @[Frontend.scala 245:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209587.6]
  assign _GEN_78 = _T_893 ? {{1'd0}, _T_902} : _GEN_45; // @[Frontend.scala 252:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209927.8]
  assign _GEN_81 = _T_882 ? _GEN_78 : _GEN_45; // @[Frontend.scala 245:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209909.6]
  assign _GEN_98 = taken_idx ? _GEN_81 : _GEN_45; // @[Frontend.scala 236:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209886.4]
  assign predicted_npc = useRAS ? {{1'd0}, btb_io_ras_head_bits} : _GEN_98; // @[Frontend.scala 296:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209976.4]
  assign npc = s2_replay ? {{1'd0}, s2_pc} : predicted_npc; // @[Frontend.scala 120:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209176.4]
  assign _T_323 = s2_speculative == 1'h0; // @[Frontend.scala 126:56:shc.marmotcaravel.MarmotCaravelConfig.fir@209178.4]
  assign _T_324 = s2_valid & _T_323; // @[Frontend.scala 126:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209179.4]
  assign _T_325 = s1_speculative | _T_324; // @[Frontend.scala 126:41:shc.marmotcaravel.MarmotCaravelConfig.fir@209180.4]
  assign s0_speculative = _T_325 | predicted_taken; // @[Frontend.scala 126:72:shc.marmotcaravel.MarmotCaravelConfig.fir@209181.4]
  assign _T_329 = s2_replay == 1'h0; // @[Frontend.scala 132:9:shc.marmotcaravel.MarmotCaravelConfig.fir@209189.4]
  assign _T_841 = taken_rviJump_1 | taken_rviJALR_1; // @[Frontend.scala 221:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209853.4]
  assign _T_842 = taken_rviBranch_1 & s2_btb_resp_bits_bht_value; // @[Frontend.scala 221:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209854.4]
  assign _T_843 = _T_841 | _T_842; // @[Frontend.scala 221:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209855.4]
  assign _T_844 = taken_prevRVI_1 & _T_843; // @[Frontend.scala 221:17:shc.marmotcaravel.MarmotCaravelConfig.fir@209856.4]
  assign _T_712 = 16'h9002 == _T_704; // @[Frontend.scala 216:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209720.4]
  assign taken_rvcJALR_1 = _T_712 & _T_707; // @[Frontend.scala 216:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209723.4]
  assign _T_845 = taken_rvcJump_1 | taken_rvcJALR_1; // @[Frontend.scala 222:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209857.4]
  assign _T_846 = _T_845 | taken_rvcJR_1; // @[Frontend.scala 222:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209858.4]
  assign _T_847 = taken_rvcBranch_1 & s2_btb_resp_bits_bht_value; // @[Frontend.scala 222:60:shc.marmotcaravel.MarmotCaravelConfig.fir@209859.4]
  assign _T_848 = _T_846 | _T_847; // @[Frontend.scala 222:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209860.4]
  assign _T_849 = taken_valid_1 & _T_848; // @[Frontend.scala 222:15:shc.marmotcaravel.MarmotCaravelConfig.fir@209861.4]
  assign taken_taken_1 = _T_844 | _T_849; // @[Frontend.scala 221:71:shc.marmotcaravel.MarmotCaravelConfig.fir@209862.4]
  assign taken = taken_taken | taken_taken_1; // @[Frontend.scala 277:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209975.4]
  assign _GEN_115 = _T_315 ? 1'h1 : io_cpu_req_valid; // @[Frontend.scala 307:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209992.8]
  assign _GEN_119 = taken ? _GEN_115 : io_cpu_req_valid; // @[Frontend.scala 303:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209987.6]
  assign s2_redirect = _T_882 ? _GEN_119 : io_cpu_req_valid; // @[Frontend.scala 302:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209986.4]
  assign _T_330 = s2_redirect == 1'h0; // @[Frontend.scala 133:17:shc.marmotcaravel.MarmotCaravelConfig.fir@209191.6]
  assign _T_341 = _T_340 & s2_valid; // @[Frontend.scala 157:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209223.4]
  assign _T_343 = icache_io_s2_kill; // @[Frontend.scala 157:98:shc.marmotcaravel.MarmotCaravelConfig.fir@209225.4]
  assign _T_344 = icache_io_resp_valid | _T_343; // @[Frontend.scala 157:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209226.4]
  assign _T_346 = io_cpu_req_valid ? {{1'd0}, io_cpu_req_bits_pc} : npc; // @[Frontend.scala 159:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209230.4]
  assign _T_347 = ~ _T_346; // @[Frontend.scala 331:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209231.4]
  assign _T_348 = _T_347 | 33'h1; // @[Frontend.scala 331:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209232.4]
  assign _T_349 = ~ _T_348; // @[Frontend.scala 331:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209233.4]
  assign _T_350 = s2_pc[1]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@209236.4]
  assign _T_351 = 3'h3 << _T_350; // @[Frontend.scala 162:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209237.4]
  assign _T_352 = icache_io_resp_valid == 1'h0; // @[Frontend.scala 163:79:shc.marmotcaravel.MarmotCaravelConfig.fir@209239.4]
  assign _T_353 = icache_io_s2_kill & _T_352; // @[Frontend.scala 163:76:shc.marmotcaravel.MarmotCaravelConfig.fir@209240.4]
  assign _T_354 = s2_tlb_resp_ae_inst == 1'h0; // @[Frontend.scala 163:104:shc.marmotcaravel.MarmotCaravelConfig.fir@209241.4]
  assign _T_355 = _T_353 & _T_354; // @[Frontend.scala 163:101:shc.marmotcaravel.MarmotCaravelConfig.fir@209242.4]
  assign _T_357 = icache_io_resp_valid & icache_io_resp_bits_ae; // @[Frontend.scala 167:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209248.4]
  assign _T_367 = io_cpu_btb_update_valid == 1'h0; // @[Frontend.scala 283:11:shc.marmotcaravel.MarmotCaravelConfig.fir@209294.4]
  assign _T_368 = fq_io_mask[1]; // @[Frontend.scala 284:44:shc.marmotcaravel.MarmotCaravelConfig.fir@209296.6]
  assign fetch_bubble_likely = _T_368 == 1'h0; // @[Frontend.scala 284:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209297.6]
  assign _T_370 = wrong_path == 1'h0; // @[Frontend.scala 285:54:shc.marmotcaravel.MarmotCaravelConfig.fir@209299.6]
  assign _T_371 = _T_315 & _T_370; // @[Frontend.scala 285:51:shc.marmotcaravel.MarmotCaravelConfig.fir@209300.6]
  assign _T_372 = _T_371 & fetch_bubble_likely; // @[Frontend.scala 285:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209301.6]
  assign _T_909 = s2_btb_resp_valid == 1'h0; // @[Frontend.scala 264:15:shc.marmotcaravel.MarmotCaravelConfig.fir@209952.6]
  assign _T_911 = taken_predictBranch_1 & s2_btb_resp_bits_bht_value; // @[Frontend.scala 264:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209954.6]
  assign _T_912 = _T_911 | taken_predictJump_1; // @[Frontend.scala 264:91:shc.marmotcaravel.MarmotCaravelConfig.fir@209955.6]
  assign _T_913 = _T_912 | taken_predictReturn_1; // @[Frontend.scala 264:106:shc.marmotcaravel.MarmotCaravelConfig.fir@209956.6]
  assign _T_914 = _T_909 & _T_913; // @[Frontend.scala 264:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209957.6]
  assign _T_641 = taken_predictBranch & s2_btb_resp_bits_bht_value; // @[Frontend.scala 264:52:shc.marmotcaravel.MarmotCaravelConfig.fir@209629.6]
  assign _T_642 = _T_641 | taken_predictJump; // @[Frontend.scala 264:91:shc.marmotcaravel.MarmotCaravelConfig.fir@209630.6]
  assign _T_643 = _T_642 | taken_predictReturn; // @[Frontend.scala 264:106:shc.marmotcaravel.MarmotCaravelConfig.fir@209631.6]
  assign _T_644 = _T_909 & _T_643; // @[Frontend.scala 264:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209632.6]
  assign _GEN_91 = _T_914 ? 1'h1 : _T_644; // @[Frontend.scala 264:125:shc.marmotcaravel.MarmotCaravelConfig.fir@209958.6]
  assign updateBTB = taken_idx ? _GEN_91 : _T_644; // @[Frontend.scala 236:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209886.4]
  assign _T_373 = _T_372 & updateBTB; // @[Frontend.scala 285:89:shc.marmotcaravel.MarmotCaravelConfig.fir@209302.6]
  assign _GEN_127 = {{1'd0}, taken_idx}; // @[Frontend.scala 289:63:shc.marmotcaravel.MarmotCaravelConfig.fir@209307.6]
  assign _T_374 = _GEN_127 << 1; // @[Frontend.scala 289:63:shc.marmotcaravel.MarmotCaravelConfig.fir@209307.6]
  assign _GEN_128 = {{30'd0}, _T_374}; // @[Frontend.scala 289:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209308.6]
  assign _T_375 = s2_base_pc | _GEN_128; // @[Frontend.scala 289:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209308.6]
  assign after_idx = taken_idx ? 2'h2 : 2'h1; // @[Frontend.scala 236:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209886.4]
  assign _GEN_129 = {{1'd0}, after_idx}; // @[Frontend.scala 293:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209312.4]
  assign _T_376 = _GEN_129 << 1; // @[Frontend.scala 293:66:shc.marmotcaravel.MarmotCaravelConfig.fir@209312.4]
  assign _GEN_130 = {{29'd0}, _T_376}; // @[Frontend.scala 293:53:shc.marmotcaravel.MarmotCaravelConfig.fir@209313.4]
  assign _T_394 = taken_rviJALR | taken_rviJump; // @[Frontend.scala 209:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209340.4]
  assign taken_rviCall = _T_394 & _T_388; // @[Frontend.scala 209:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209342.4]
  assign taken_rvcCall = taken_rvcJAL | taken_rvcJALR; // @[Frontend.scala 217:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209402.4]
  assign _T_591 = s2_valid & s2_btb_resp_valid; // @[Frontend.scala 227:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209552.4]
  assign _T_592 = s2_btb_resp_bits_bridx == 1'h0; // @[Frontend.scala 227:69:shc.marmotcaravel.MarmotCaravelConfig.fir@209553.4]
  assign _T_593 = _T_591 & _T_592; // @[Frontend.scala 227:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209554.4]
  assign _T_594 = _T_593 & taken_valid; // @[Frontend.scala 227:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209555.4]
  assign _T_596 = _T_594 & _T_648; // @[Frontend.scala 227:86:shc.marmotcaravel.MarmotCaravelConfig.fir@209557.4]
  assign _GEN_38 = _T_596 ? 1'h1 : _T_355; // @[Frontend.scala 227:95:shc.marmotcaravel.MarmotCaravelConfig.fir@209558.4]
  assign _GEN_39 = _T_596 ? 1'h1 : wrong_path; // @[Frontend.scala 227:95:shc.marmotcaravel.MarmotCaravelConfig.fir@209558.4]
  assign _T_601 = taken_rviCall | taken_rviReturn; // @[Frontend.scala 239:92:shc.marmotcaravel.MarmotCaravelConfig.fir@209570.6]
  assign _T_602 = taken_prevRVI & _T_601; // @[Frontend.scala 239:80:shc.marmotcaravel.MarmotCaravelConfig.fir@209571.6]
  assign _T_603 = taken_rvcCall | taken_rvcReturn; // @[Frontend.scala 239:127:shc.marmotcaravel.MarmotCaravelConfig.fir@209572.6]
  assign _T_604 = taken_valid & _T_603; // @[Frontend.scala 239:115:shc.marmotcaravel.MarmotCaravelConfig.fir@209573.6]
  assign _T_605 = _T_602 | _T_604; // @[Frontend.scala 239:106:shc.marmotcaravel.MarmotCaravelConfig.fir@209574.6]
  assign _T_606 = _T_371 & _T_605; // @[Frontend.scala 239:68:shc.marmotcaravel.MarmotCaravelConfig.fir@209575.6]
  assign _T_607 = taken_prevRVI ? taken_rviReturn : taken_rvcReturn; // @[Frontend.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209577.6]
  assign _T_608 = taken_prevRVI ? taken_rviCall : taken_rvcCall; // @[Frontend.scala 241:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209578.6]
  assign _T_609 = taken_prevRVI ? taken_rviBranch : taken_rvcBranch; // @[Frontend.scala 242:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209579.6]
  assign _T_612 = _T_609 ? 1'h0 : 1'h1; // @[Frontend.scala 242:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209582.6]
  assign _T_613 = _T_608 ? 2'h2 : {{1'd0}, _T_612}; // @[Frontend.scala 241:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209583.6]
  assign _T_614 = _T_607 ? 2'h3 : _T_613; // @[Frontend.scala 240:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209584.6]
  assign _T_617 = _T_315 & taken_taken; // @[Frontend.scala 246:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209589.8]
  assign _T_618 = taken_predictBranch == 1'h0; // @[Frontend.scala 246:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209590.8]
  assign _T_619 = _T_617 & _T_618; // @[Frontend.scala 246:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209591.8]
  assign _T_620 = taken_predictJump == 1'h0; // @[Frontend.scala 246:64:shc.marmotcaravel.MarmotCaravelConfig.fir@209592.8]
  assign _T_621 = _T_619 & _T_620; // @[Frontend.scala 246:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209593.8]
  assign _T_622 = taken_predictReturn == 1'h0; // @[Frontend.scala 246:80:shc.marmotcaravel.MarmotCaravelConfig.fir@209594.8]
  assign _T_623 = _T_621 & _T_622; // @[Frontend.scala 246:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209595.8]
  assign _GEN_46 = _T_590 ? _T_371 : 1'h0; // @[Frontend.scala 260:59:shc.marmotcaravel.MarmotCaravelConfig.fir@209620.6]
  assign _T_651 = taken_bits_1[1:0]; // @[Frontend.scala 199:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209646.4]
  assign taken_rvc_1 = _T_651 != 2'h3; // @[Frontend.scala 199:45:shc.marmotcaravel.MarmotCaravelConfig.fir@209647.4]
  assign _T_661 = taken_rviJALR_1 | taken_rviJump_1; // @[Frontend.scala 209:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209662.4]
  assign taken_rviCall_1 = _T_661 & _T_655; // @[Frontend.scala 209:42:shc.marmotcaravel.MarmotCaravelConfig.fir@209664.4]
  assign taken_rvcCall_1 = taken_rvcJAL_1 | taken_rvcJALR_1; // @[Frontend.scala 217:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209724.4]
  assign _T_860 = _T_591 & s2_btb_resp_bits_bridx; // @[Frontend.scala 227:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209876.4]
  assign _T_861 = _T_860 & taken_valid_1; // @[Frontend.scala 227:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209877.4]
  assign _T_862 = taken_rvc_1 == 1'h0; // @[Frontend.scala 227:89:shc.marmotcaravel.MarmotCaravelConfig.fir@209878.4]
  assign _T_863 = _T_861 & _T_862; // @[Frontend.scala 227:86:shc.marmotcaravel.MarmotCaravelConfig.fir@209879.4]
  assign _T_868 = taken_rviCall_1 | taken_rviReturn_1; // @[Frontend.scala 239:92:shc.marmotcaravel.MarmotCaravelConfig.fir@209892.6]
  assign _T_869 = taken_prevRVI_1 & _T_868; // @[Frontend.scala 239:80:shc.marmotcaravel.MarmotCaravelConfig.fir@209893.6]
  assign _T_870 = taken_rvcCall_1 | taken_rvcReturn_1; // @[Frontend.scala 239:127:shc.marmotcaravel.MarmotCaravelConfig.fir@209894.6]
  assign _T_871 = taken_valid_1 & _T_870; // @[Frontend.scala 239:115:shc.marmotcaravel.MarmotCaravelConfig.fir@209895.6]
  assign _T_872 = _T_869 | _T_871; // @[Frontend.scala 239:106:shc.marmotcaravel.MarmotCaravelConfig.fir@209896.6]
  assign _T_873 = _T_371 & _T_872; // @[Frontend.scala 239:68:shc.marmotcaravel.MarmotCaravelConfig.fir@209897.6]
  assign _T_874 = taken_prevRVI_1 ? taken_rviReturn_1 : taken_rvcReturn_1; // @[Frontend.scala 240:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209899.6]
  assign _T_875 = taken_prevRVI_1 ? taken_rviCall_1 : taken_rvcCall_1; // @[Frontend.scala 241:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209900.6]
  assign _T_876 = taken_prevRVI_1 ? taken_rviBranch_1 : taken_rvcBranch_1; // @[Frontend.scala 242:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209901.6]
  assign _T_879 = _T_876 ? 1'h0 : 1'h1; // @[Frontend.scala 242:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209904.6]
  assign _T_880 = _T_875 ? 2'h2 : {{1'd0}, _T_879}; // @[Frontend.scala 241:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209905.6]
  assign _T_881 = _T_874 ? 2'h3 : _T_880; // @[Frontend.scala 240:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209906.6]
  assign _T_884 = _T_315 & taken_taken_1; // @[Frontend.scala 246:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209911.8]
  assign _T_885 = taken_predictBranch_1 == 1'h0; // @[Frontend.scala 246:46:shc.marmotcaravel.MarmotCaravelConfig.fir@209912.8]
  assign _T_886 = _T_884 & _T_885; // @[Frontend.scala 246:43:shc.marmotcaravel.MarmotCaravelConfig.fir@209913.8]
  assign _T_887 = taken_predictJump_1 == 1'h0; // @[Frontend.scala 246:64:shc.marmotcaravel.MarmotCaravelConfig.fir@209914.8]
  assign _T_888 = _T_886 & _T_887; // @[Frontend.scala 246:61:shc.marmotcaravel.MarmotCaravelConfig.fir@209915.8]
  assign _T_889 = taken_predictReturn_1 == 1'h0; // @[Frontend.scala 246:80:shc.marmotcaravel.MarmotCaravelConfig.fir@209916.8]
  assign _T_890 = _T_888 & _T_889; // @[Frontend.scala 246:77:shc.marmotcaravel.MarmotCaravelConfig.fir@209917.8]
  assign _GEN_82 = _T_857 ? _T_371 : _GEN_46; // @[Frontend.scala 260:59:shc.marmotcaravel.MarmotCaravelConfig.fir@209945.6]
  assign _T_917 = taken_valid_1 & taken_idx; // @[Frontend.scala 272:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209966.6]
  assign _T_919 = _T_917 & _T_862; // @[Frontend.scala 272:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209968.6]
  assign _T_920 = taken_bits_1 | 16'h3; // @[Frontend.scala 274:37:shc.marmotcaravel.MarmotCaravelConfig.fir@209971.8]
  assign _T_922 = s2_btb_taken | taken; // @[Frontend.scala 299:45:shc.marmotcaravel.MarmotCaravelConfig.fir@209980.4]
  assign _T_923 = _T_315 & _T_922; // @[Frontend.scala 299:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209981.4]
  assign _GEN_116 = taken ? taken_idx : s2_btb_resp_bits_bridx; // @[Frontend.scala 303:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209987.6]
  assign _GEN_117 = taken ? 1'h1 : s2_btb_taken; // @[Frontend.scala 303:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209987.6]
  assign _GEN_118 = taken ? 5'h1c : s2_btb_resp_bits_entry; // @[Frontend.scala 303:20:shc.marmotcaravel.MarmotCaravelConfig.fir@209987.6]
  assign _T_926 = s2_partial_insn_valid == 1'h0; // @[Frontend.scala 311:12:shc.marmotcaravel.MarmotCaravelConfig.fir@209997.4]
  assign _T_928 = _T_926 | _T_382; // @[Frontend.scala 311:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209999.4]
  assign _T_930 = _T_928 | reset; // @[Frontend.scala 311:11:shc.marmotcaravel.MarmotCaravelConfig.fir@210001.4]
  assign _T_931 = _T_930 == 1'h0; // @[Frontend.scala 311:11:shc.marmotcaravel.MarmotCaravelConfig.fir@210002.4]
  assign _T_933 = io_cpu_might_request | icache_io_keep_clock_enabled; // @[Frontend.scala 324:40:shc.marmotcaravel.MarmotCaravelConfig.fir@210018.4]
  assign _T_934 = _T_933 | s1_valid; // @[Frontend.scala 325:34:shc.marmotcaravel.MarmotCaravelConfig.fir@210019.4]
  assign _T_935 = _T_934 | s2_valid; // @[Frontend.scala 326:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210020.4]
  assign _T_938 = fq_io_mask[4]; // @[Frontend.scala 328:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210023.4]
  assign _T_939 = _T_938 == 1'h0; // @[Frontend.scala 328:5:shc.marmotcaravel.MarmotCaravelConfig.fir@210024.4]
  assign auto_icache_slave_in_a_ready = icache_auto_slave_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
  assign auto_icache_slave_in_d_valid = icache_auto_slave_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
  assign auto_icache_slave_in_d_bits_opcode = icache_auto_slave_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
  assign auto_icache_slave_in_d_bits_size = icache_auto_slave_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
  assign auto_icache_slave_in_d_bits_source = icache_auto_slave_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
  assign auto_icache_slave_in_d_bits_data = icache_auto_slave_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
  assign auto_icache_master_out_a_valid = icache_auto_master_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209104.4]
  assign auto_icache_master_out_a_bits_address = icache_auto_master_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209104.4]
  assign auto_icache_master_out_d_ready = icache_auto_master_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209104.4]
  assign io_cpu_resp_valid = fq_io_deq_valid; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210013.4]
  assign io_cpu_resp_bits_btb_taken = fq_io_deq_bits_btb_taken; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210013.4]
  assign io_cpu_resp_bits_btb_bridx = fq_io_deq_bits_btb_bridx; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210013.4]
  assign io_cpu_resp_bits_btb_entry = fq_io_deq_bits_btb_entry; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210013.4]
  assign io_cpu_resp_bits_btb_bht_history = fq_io_deq_bits_btb_bht_history; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210013.4]
  assign io_cpu_resp_bits_pc = fq_io_deq_bits_pc; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210013.4]
  assign io_cpu_resp_bits_data = fq_io_deq_bits_data; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210013.4]
  assign io_cpu_resp_bits_xcpt_ae_inst = fq_io_deq_bits_xcpt_ae_inst; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210013.4]
  assign io_cpu_resp_bits_replay = fq_io_deq_bits_replay; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210013.4]
  assign io_cpu_npc = _T_349[31:0]; // @[Frontend.scala 159:14:shc.marmotcaravel.MarmotCaravelConfig.fir@209234.4]
  assign icache_clock = gated_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209102.4 Frontend.scala 91:16:shc.marmotcaravel.MarmotCaravelConfig.fir@209127.4]
  assign icache_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209103.4]
  assign icache_auto_slave_in_a_valid = auto_icache_slave_in_a_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
  assign icache_auto_slave_in_a_bits_opcode = auto_icache_slave_in_a_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
  assign icache_auto_slave_in_a_bits_size = auto_icache_slave_in_a_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
  assign icache_auto_slave_in_a_bits_source = auto_icache_slave_in_a_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
  assign icache_auto_slave_in_a_bits_address = auto_icache_slave_in_a_bits_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
  assign icache_auto_slave_in_a_bits_mask = auto_icache_slave_in_a_bits_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
  assign icache_auto_slave_in_a_bits_data = auto_icache_slave_in_a_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
  assign icache_auto_slave_in_d_ready = auto_icache_slave_in_d_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209105.4]
  assign icache_auto_master_out_a_ready = auto_icache_master_out_a_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209104.4]
  assign icache_auto_master_out_d_valid = auto_icache_master_out_d_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209104.4]
  assign icache_auto_master_out_d_bits_opcode = auto_icache_master_out_d_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209104.4]
  assign icache_auto_master_out_d_bits_size = auto_icache_master_out_d_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209104.4]
  assign icache_auto_master_out_d_bits_data = auto_icache_master_out_d_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209104.4]
  assign icache_auto_master_out_d_bits_corrupt = auto_icache_master_out_d_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@209104.4]
  assign icache_io_req_valid = io_cpu_req_valid | _T_294; // @[Frontend.scala 148:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209208.4]
  assign icache_io_req_bits_addr = io_cpu_npc; // @[Frontend.scala 149:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209209.4]
  assign icache_io_s1_paddr = tlb_io_resp_paddr; // @[Frontend.scala 151:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209211.4]
  assign icache_io_s2_vaddr = s2_pc; // @[Frontend.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209212.4]
  assign icache_io_s1_kill = s2_redirect | s2_replay; // @[Frontend.scala 153:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209215.4]
  assign icache_io_s2_kill = s2_speculative | s2_tlb_resp_ae_inst; // @[Frontend.scala 154:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209219.4]
  assign icache_io_invalidate = io_cpu_flush_icache; // @[Frontend.scala 150:24:shc.marmotcaravel.MarmotCaravelConfig.fir@209210.4]
  assign icache_io_clock_enabled = clock_en_reg | io_cpu_might_request; // @[Frontend.scala 92:27:shc.marmotcaravel.MarmotCaravelConfig.fir@209128.4]
  assign fq_clock = gated_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209110.4]
  assign fq_reset = reset | io_cpu_req_valid; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209111.4]
  assign fq_io_enq_valid = _T_341 & _T_344; // @[Frontend.scala 157:19:shc.marmotcaravel.MarmotCaravelConfig.fir@209228.4]
  assign fq_io_enq_bits_btb_taken = _T_882 ? _GEN_117 : s2_btb_taken; // @[Frontend.scala 164:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209245.4 Frontend.scala 165:28:shc.marmotcaravel.MarmotCaravelConfig.fir@209246.4 Frontend.scala 305:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209989.8]
  assign fq_io_enq_bits_btb_bridx = _T_882 ? _GEN_116 : s2_btb_resp_bits_bridx; // @[Frontend.scala 164:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209245.4 Frontend.scala 304:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209988.8]
  assign fq_io_enq_bits_btb_entry = _T_882 ? _GEN_118 : s2_btb_resp_bits_entry; // @[Frontend.scala 164:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209245.4 Frontend.scala 306:34:shc.marmotcaravel.MarmotCaravelConfig.fir@209990.8]
  assign fq_io_enq_bits_btb_bht_history = s2_btb_resp_bits_bht_history; // @[Frontend.scala 164:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209245.4]
  assign fq_io_enq_bits_pc = s2_pc; // @[Frontend.scala 158:21:shc.marmotcaravel.MarmotCaravelConfig.fir@209229.4]
  assign fq_io_enq_bits_data = icache_io_resp_bits_data; // @[Frontend.scala 161:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209235.4]
  assign fq_io_enq_bits_mask = _T_351[1:0]; // @[Frontend.scala 162:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209238.4]
  assign fq_io_enq_bits_xcpt_ae_inst = _T_357 ? 1'h1 : s2_tlb_resp_ae_inst; // @[Frontend.scala 166:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209247.4 Frontend.scala 167:87:shc.marmotcaravel.MarmotCaravelConfig.fir@209250.6]
  assign fq_io_enq_bits_replay = _T_863 ? 1'h1 : _GEN_38; // @[Frontend.scala 163:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209244.4 Frontend.scala 231:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209560.6 Frontend.scala 231:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209882.6]
  assign fq_io_deq_ready = io_cpu_resp_ready; // @[Frontend.scala 316:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210013.4]
  assign tlb_io_req_bits_vaddr = s1_pc; // @[Frontend.scala 141:25:shc.marmotcaravel.MarmotCaravelConfig.fir@209201.4]
  assign tlb_io_ptw_pmp_0_cfg_l = io_ptw_pmp_0_cfg_l; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_0_cfg_a = io_ptw_pmp_0_cfg_a; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_0_cfg_x = io_ptw_pmp_0_cfg_x; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_0_cfg_w = io_ptw_pmp_0_cfg_w; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_0_cfg_r = io_ptw_pmp_0_cfg_r; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_0_addr = io_ptw_pmp_0_addr; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_0_mask = io_ptw_pmp_0_mask; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_1_cfg_l = io_ptw_pmp_1_cfg_l; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_1_cfg_a = io_ptw_pmp_1_cfg_a; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_1_cfg_x = io_ptw_pmp_1_cfg_x; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_1_cfg_w = io_ptw_pmp_1_cfg_w; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_1_cfg_r = io_ptw_pmp_1_cfg_r; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_1_addr = io_ptw_pmp_1_addr; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_1_mask = io_ptw_pmp_1_mask; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_2_cfg_l = io_ptw_pmp_2_cfg_l; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_2_cfg_a = io_ptw_pmp_2_cfg_a; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_2_cfg_x = io_ptw_pmp_2_cfg_x; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_2_cfg_w = io_ptw_pmp_2_cfg_w; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_2_cfg_r = io_ptw_pmp_2_cfg_r; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_2_addr = io_ptw_pmp_2_addr; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_2_mask = io_ptw_pmp_2_mask; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_3_cfg_l = io_ptw_pmp_3_cfg_l; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_3_cfg_a = io_ptw_pmp_3_cfg_a; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_3_cfg_x = io_ptw_pmp_3_cfg_x; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_3_cfg_w = io_ptw_pmp_3_cfg_w; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_3_cfg_r = io_ptw_pmp_3_cfg_r; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_3_addr = io_ptw_pmp_3_addr; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_3_mask = io_ptw_pmp_3_mask; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_4_cfg_l = io_ptw_pmp_4_cfg_l; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_4_cfg_a = io_ptw_pmp_4_cfg_a; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_4_cfg_x = io_ptw_pmp_4_cfg_x; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_4_cfg_w = io_ptw_pmp_4_cfg_w; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_4_cfg_r = io_ptw_pmp_4_cfg_r; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_4_addr = io_ptw_pmp_4_addr; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_4_mask = io_ptw_pmp_4_mask; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_5_cfg_l = io_ptw_pmp_5_cfg_l; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_5_cfg_a = io_ptw_pmp_5_cfg_a; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_5_cfg_x = io_ptw_pmp_5_cfg_x; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_5_cfg_w = io_ptw_pmp_5_cfg_w; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_5_cfg_r = io_ptw_pmp_5_cfg_r; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_5_addr = io_ptw_pmp_5_addr; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_5_mask = io_ptw_pmp_5_mask; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_6_cfg_l = io_ptw_pmp_6_cfg_l; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_6_cfg_a = io_ptw_pmp_6_cfg_a; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_6_cfg_x = io_ptw_pmp_6_cfg_x; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_6_cfg_w = io_ptw_pmp_6_cfg_w; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_6_cfg_r = io_ptw_pmp_6_cfg_r; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_6_addr = io_ptw_pmp_6_addr; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_6_mask = io_ptw_pmp_6_mask; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_7_cfg_l = io_ptw_pmp_7_cfg_l; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_7_cfg_a = io_ptw_pmp_7_cfg_a; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_7_cfg_x = io_ptw_pmp_7_cfg_x; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_7_cfg_w = io_ptw_pmp_7_cfg_w; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_7_cfg_r = io_ptw_pmp_7_cfg_r; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_7_addr = io_ptw_pmp_7_addr; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign tlb_io_ptw_pmp_7_mask = io_ptw_pmp_7_mask; // @[Frontend.scala 139:10:shc.marmotcaravel.MarmotCaravelConfig.fir@209197.4]
  assign btb_clock = gated_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209254.4]
  assign btb_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@209255.4]
  assign btb_io_req_bits_addr = s1_pc; // @[Frontend.scala 173:26:shc.marmotcaravel.MarmotCaravelConfig.fir@209258.4]
  assign btb_io_btb_update_valid = _T_367 ? _T_373 : io_cpu_btb_update_valid; // @[Frontend.scala 174:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209259.4 Frontend.scala 285:31:shc.marmotcaravel.MarmotCaravelConfig.fir@209303.6]
  assign btb_io_btb_update_bits_prediction_entry = _T_367 ? 5'h1c : io_cpu_btb_update_bits_prediction_entry; // @[Frontend.scala 174:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209259.4 Frontend.scala 286:47:shc.marmotcaravel.MarmotCaravelConfig.fir@209304.6]
  assign btb_io_btb_update_bits_pc = _T_367 ? s2_base_pc : io_cpu_btb_update_bits_pc; // @[Frontend.scala 174:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209259.4 Frontend.scala 290:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209310.6]
  assign btb_io_btb_update_bits_isValid = _T_367 ? 1'h1 : io_cpu_btb_update_bits_isValid; // @[Frontend.scala 174:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209259.4 Frontend.scala 287:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209305.6]
  assign btb_io_btb_update_bits_br_pc = _T_367 ? _T_375 : io_cpu_btb_update_bits_br_pc; // @[Frontend.scala 174:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209259.4 Frontend.scala 289:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209309.6]
  assign btb_io_btb_update_bits_cfiType = _T_367 ? btb_io_ras_update_bits_cfiType : io_cpu_btb_update_bits_cfiType; // @[Frontend.scala 174:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209259.4 Frontend.scala 288:38:shc.marmotcaravel.MarmotCaravelConfig.fir@209306.6]
  assign btb_io_bht_update_valid = io_cpu_bht_update_valid; // @[Frontend.scala 175:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209260.4 Frontend.scala 190:50:shc.marmotcaravel.MarmotCaravelConfig.fir@209279.6]
  assign btb_io_bht_update_bits_prediction_history = io_cpu_bht_update_bits_prediction_history; // @[Frontend.scala 175:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209260.4]
  assign btb_io_bht_update_bits_pc = io_cpu_bht_update_bits_pc; // @[Frontend.scala 175:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209260.4]
  assign btb_io_bht_update_bits_branch = io_cpu_bht_update_bits_branch; // @[Frontend.scala 175:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209260.4]
  assign btb_io_bht_update_bits_taken = io_cpu_bht_update_bits_taken; // @[Frontend.scala 175:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209260.4]
  assign btb_io_bht_update_bits_mispredict = io_cpu_bht_update_bits_mispredict; // @[Frontend.scala 175:23:shc.marmotcaravel.MarmotCaravelConfig.fir@209260.4]
  assign btb_io_bht_advance_valid = taken_idx ? _GEN_82 : _GEN_46; // @[Frontend.scala 177:30:shc.marmotcaravel.MarmotCaravelConfig.fir@209262.4 Frontend.scala 261:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209624.8 Frontend.scala 261:36:shc.marmotcaravel.MarmotCaravelConfig.fir@209949.8]
  assign btb_io_bht_advance_bits_bht_value = s2_btb_resp_bits_bht_value; // @[Frontend.scala 262:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209625.8 Frontend.scala 262:35:shc.marmotcaravel.MarmotCaravelConfig.fir@209950.8]
  assign btb_io_ras_update_valid = taken_idx ? _T_873 : _T_606; // @[Frontend.scala 176:29:shc.marmotcaravel.MarmotCaravelConfig.fir@209261.4 Frontend.scala 239:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209576.6 Frontend.scala 239:33:shc.marmotcaravel.MarmotCaravelConfig.fir@209898.6]
  assign btb_io_ras_update_bits_cfiType = taken_idx ? _T_881 : _T_614; // @[Frontend.scala 240:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209585.6 Frontend.scala 240:40:shc.marmotcaravel.MarmotCaravelConfig.fir@209907.6]
  assign btb_io_ras_update_bits_returnAddr = s2_base_pc + _GEN_130; // @[Frontend.scala 293:39:shc.marmotcaravel.MarmotCaravelConfig.fir@209315.4]
  assign btb_io_flush = _T_863 ? 1'h1 : _T_596; // @[Frontend.scala 171:18:shc.marmotcaravel.MarmotCaravelConfig.fir@209256.4 Frontend.scala 189:54:shc.marmotcaravel.MarmotCaravelConfig.fir@209276.6 Frontend.scala 230:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209559.6 Frontend.scala 230:22:shc.marmotcaravel.MarmotCaravelConfig.fir@209881.6]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  clock_en_reg = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  s1_valid = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  s1_pc = _RAND_2[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  s1_speculative = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  s2_valid = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  s2_pc = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  s2_btb_resp_valid = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  s2_btb_resp_bits_taken = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  s2_btb_resp_bits_bridx = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  s2_btb_resp_bits_entry = _RAND_9[4:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  s2_btb_resp_bits_bht_history = _RAND_10[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  s2_btb_resp_bits_bht_value = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  s2_tlb_resp_ae_inst = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  s2_speculative = _RAND_13[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  s2_partial_insn_valid = _RAND_14[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  s2_partial_insn = _RAND_15[15:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  wrong_path = _RAND_16[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_17 = {1{`RANDOM}};
  _T_321 = _RAND_17[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_18 = {1{`RANDOM}};
  _T_340 = _RAND_18[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge gated_clock) begin
    clock_en_reg <= _T_935 | _T_939;
    s1_valid <= io_cpu_req_valid | _T_294;
    s1_pc <= io_cpu_npc;
    if (io_cpu_req_valid) begin
      s1_speculative <= io_cpu_req_bits_speculative;
    end else begin
      if (s2_replay) begin
        s1_speculative <= s2_speculative;
      end else begin
        s1_speculative <= s0_speculative;
      end
    end
    if (reset) begin
      s2_valid <= 1'h0;
    end else begin
      if (_T_329) begin
        s2_valid <= _T_330;
      end else begin
        s2_valid <= 1'h0;
      end
    end
    if (reset) begin
      s2_pc <= _T_302;
    end else begin
      if (_T_329) begin
        s2_pc <= s1_pc;
      end
    end
    if (_T_329) begin
      s2_btb_resp_valid <= btb_io_resp_valid;
    end
    if (_T_329) begin
      s2_btb_resp_bits_taken <= btb_io_resp_bits_taken;
    end
    if (_T_329) begin
      s2_btb_resp_bits_bridx <= btb_io_resp_bits_bridx;
    end
    if (_T_329) begin
      s2_btb_resp_bits_entry <= btb_io_resp_bits_entry;
    end
    if (_T_329) begin
      s2_btb_resp_bits_bht_history <= btb_io_resp_bits_bht_history;
    end
    if (_T_329) begin
      s2_btb_resp_bits_bht_value <= btb_io_resp_bits_bht_value;
    end
    if (_T_329) begin
      s2_tlb_resp_ae_inst <= tlb_io_resp_ae_inst;
    end
    if (reset) begin
      s2_speculative <= 1'h0;
    end else begin
      if (_T_329) begin
        s2_speculative <= s1_speculative;
      end
    end
    if (reset) begin
      s2_partial_insn_valid <= 1'h0;
    end else begin
      if (s2_redirect) begin
        s2_partial_insn_valid <= 1'h0;
      end else begin
        if (_T_923) begin
          s2_partial_insn_valid <= 1'h0;
        end else begin
          if (_T_315) begin
            s2_partial_insn_valid <= _T_919;
          end
        end
      end
    end
    if (_T_315) begin
      if (_T_919) begin
        s2_partial_insn <= _T_920;
      end
    end
    if (io_cpu_req_valid) begin
      wrong_path <= 1'h0;
    end else begin
      if (taken_idx) begin
        if (_T_882) begin
          if (_T_890) begin
            wrong_path <= 1'h1;
          end else begin
            if (_T_863) begin
              wrong_path <= 1'h1;
            end else begin
              if (_T_882) begin
                if (_T_623) begin
                  wrong_path <= 1'h1;
                end else begin
                  if (_T_596) begin
                    wrong_path <= 1'h1;
                  end
                end
              end else begin
                if (_T_596) begin
                  wrong_path <= 1'h1;
                end
              end
            end
          end
        end else begin
          if (_T_863) begin
            wrong_path <= 1'h1;
          end else begin
            if (_T_882) begin
              if (_T_623) begin
                wrong_path <= 1'h1;
              end else begin
                if (_T_596) begin
                  wrong_path <= 1'h1;
                end
              end
            end else begin
              if (_T_596) begin
                wrong_path <= 1'h1;
              end
            end
          end
        end
      end else begin
        if (_T_863) begin
          wrong_path <= 1'h1;
        end else begin
          if (_T_882) begin
            if (_T_623) begin
              wrong_path <= 1'h1;
            end else begin
              wrong_path <= _GEN_39;
            end
          end else begin
            wrong_path <= _GEN_39;
          end
        end
      end
    end
    if (reset) begin
      _T_321 <= 1'h1;
    end else begin
      _T_321 <= _T_319;
    end
    _T_340 <= s1_valid;
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_292) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Frontend.scala:86 assert(!(io.cpu.req.valid || io.cpu.sfence.valid || io.cpu.flush_icache || io.cpu.bht_update.valid || io.cpu.btb_update.valid) || io.cpu.might_request)\n"); // @[Frontend.scala 86:9:shc.marmotcaravel.MarmotCaravelConfig.fir@209124.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_292) begin
          $fatal; // @[Frontend.scala 86:9:shc.marmotcaravel.MarmotCaravelConfig.fir@209125.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_931) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Frontend.scala:311 assert(!s2_partial_insn_valid || fq.io.enq.bits.mask(0))\n"); // @[Frontend.scala 311:11:shc.marmotcaravel.MarmotCaravelConfig.fir@210004.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_931) begin
          $fatal; // @[Frontend.scala 311:11:shc.marmotcaravel.MarmotCaravelConfig.fir@210005.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLFragmenter_17( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210059.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210060.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210061.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  input  [27:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  output [6:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  output [27:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  input  [6:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210062.4]
);
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
  wire [27:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
  wire  Repeater_io_enq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
  wire [27:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
  wire  Repeater_io_deq_bits_corrupt; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
  reg [3:0] _T_222; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210073.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_224; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@210074.4]
  reg [31:0] _RAND_1;
  reg  _T_226; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210075.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_227; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@210076.4]
  wire  _T_228; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210077.4]
  wire  _T_229; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210078.4]
  wire [3:0] _T_231; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@210080.4]
  wire [2:0] _T_232; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210081.4]
  wire [4:0] _T_234; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210083.4]
  wire [1:0] _T_235; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210084.4]
  wire [1:0] _T_236; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210085.4]
  wire  _T_237; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@210086.4]
  wire  _T_249; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210102.4]
  wire  _T_250; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@210103.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210104.4]
  wire [5:0] _T_251; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210104.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210105.4]
  wire [5:0] _T_252; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210105.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210106.4]
  wire [6:0] _T_253; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210106.4]
  wire [6:0] _T_254; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@210107.4]
  wire [6:0] _T_255; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210108.4]
  wire [6:0] _T_256; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210109.4]
  wire [6:0] _T_257; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@210110.4]
  wire [2:0] _T_258; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210111.4]
  wire [3:0] _T_259; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210112.4]
  wire  _T_260; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210113.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210114.4]
  wire [3:0] _T_261; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210114.4]
  wire [1:0] _T_262; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210115.4]
  wire [1:0] _T_263; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210116.4]
  wire  _T_264; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210117.4]
  wire [1:0] _T_265; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210118.4]
  wire  _T_266; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@210119.4]
  wire [1:0] _T_267; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210120.4]
  wire [2:0] _T_268; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210121.4]
  wire  _T_276; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210136.4]
  wire  _T_275; // @[Fragmenter.scala 197:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210135.4]
  wire  _T_277; // @[Fragmenter.scala 200:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210137.4]
  wire  _T_278; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210138.4]
  wire  _T_279; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210139.4]
  wire  _T_280; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210140.4]
  wire  _T_269; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210122.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210124.6]
  wire [4:0] _T_270; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210124.6]
  wire [4:0] _T_271; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210125.6]
  wire [3:0] _T_272; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210126.6]
  wire  _T_274; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@210131.8]
  wire  _T_281; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210142.4]
  wire  _T_309; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210175.4]
  wire [2:0] _T_310; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@210176.4]
  wire [12:0] _T_312; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210178.4]
  wire [5:0] _T_313; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210179.4]
  wire [5:0] _T_314; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210180.4]
  wire [8:0] _T_316; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210182.4]
  wire [1:0] _T_317; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210183.4]
  wire [1:0] _T_318; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210184.4]
  wire  _T_319; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210185.4]
  wire  _T_320; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210186.4]
  reg [3:0] _T_323; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210188.4]
  reg [31:0] _RAND_3;
  wire  _T_324; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210189.4]
  wire [3:0] _T_325; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210190.4]
  wire [4:0] _T_326; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210191.4]
  wire [4:0] _T_327; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210192.4]
  wire [3:0] _T_328; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210193.4]
  wire [3:0] _T_329; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210194.4]
  wire [3:0] _T_330; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210195.4]
  wire [3:0] _T_333; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@210198.4]
  reg  _T_341; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210205.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210206.4]
  wire  _T_343; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210210.4]
  wire  _T_344; // @[Fragmenter.scala 275:76:shc.marmotcaravel.MarmotCaravelConfig.fir@210211.4]
  wire  _T_70_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@210069.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@210220.4]
  wire  _T_345; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210212.4]
  wire  _T_346; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210216.4]
  wire  _T_347; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@210217.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@210221.4]
  wire [5:0] _T_349; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@210221.4]
  wire [5:0] _T_350; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@210222.4]
  wire [5:0] _T_351; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@210223.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@210224.4]
  wire [5:0] _T_352; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@210224.4]
  wire [5:0] _T_353; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@210225.4]
  wire [5:0] _T_354; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210226.4]
  wire [27:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@210227.4]
  wire [4:0] _T_356; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210229.4]
  wire [1:0] _T_357; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210230.4]
  wire  _T_359; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210234.4]
  wire  _T_361; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210236.4]
  wire  _T_363; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210238.4]
  wire  _T_364; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210239.4]
  wire  _T_366; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@210246.4]
  wire  _T_367; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210247.4]
  wire  _T_369; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210249.4]
  wire  _T_370; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210250.4]
  Repeater Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210150.4]
    .clock(Repeater_clock),
    .reset(Repeater_reset),
    .io_repeat(Repeater_io_repeat),
    .io_full(Repeater_io_full),
    .io_enq_ready(Repeater_io_enq_ready),
    .io_enq_valid(Repeater_io_enq_valid),
    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
    .io_enq_bits_param(Repeater_io_enq_bits_param),
    .io_enq_bits_size(Repeater_io_enq_bits_size),
    .io_enq_bits_source(Repeater_io_enq_bits_source),
    .io_enq_bits_address(Repeater_io_enq_bits_address),
    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
    .io_enq_bits_corrupt(Repeater_io_enq_bits_corrupt),
    .io_deq_ready(Repeater_io_deq_ready),
    .io_deq_valid(Repeater_io_deq_valid),
    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
    .io_deq_bits_param(Repeater_io_deq_bits_param),
    .io_deq_bits_size(Repeater_io_deq_bits_size),
    .io_deq_bits_source(Repeater_io_deq_bits_source),
    .io_deq_bits_address(Repeater_io_deq_bits_address),
    .io_deq_bits_mask(Repeater_io_deq_bits_mask),
    .io_deq_bits_corrupt(Repeater_io_deq_bits_corrupt)
  );
  assign _T_227 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@210076.4]
  assign _T_228 = _T_222 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210077.4]
  assign _T_229 = _T_227 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210078.4]
  assign _T_231 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@210080.4]
  assign _T_232 = _T_231[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210081.4]
  assign _T_234 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210083.4]
  assign _T_235 = _T_234[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210084.4]
  assign _T_236 = ~ _T_235; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210085.4]
  assign _T_237 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@210086.4]
  assign _T_249 = _T_232[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210102.4]
  assign _T_250 = _T_237 ? 1'h1 : _T_249; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@210103.4]
  assign _GEN_7 = {{2'd0}, _T_227}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210104.4]
  assign _T_251 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210104.4]
  assign _GEN_8 = {{4'd0}, _T_236}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210105.4]
  assign _T_252 = _T_251 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210105.4]
  assign _GEN_9 = {{1'd0}, _T_252}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210106.4]
  assign _T_253 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210106.4]
  assign _T_254 = _T_253 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@210107.4]
  assign _T_255 = {1'h0,_T_252}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210108.4]
  assign _T_256 = ~ _T_255; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210109.4]
  assign _T_257 = _T_254 & _T_256; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@210110.4]
  assign _T_258 = _T_257[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210111.4]
  assign _T_259 = _T_257[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210112.4]
  assign _T_260 = _T_258 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210113.4]
  assign _GEN_10 = {{1'd0}, _T_258}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210114.4]
  assign _T_261 = _GEN_10 | _T_259; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210114.4]
  assign _T_262 = _T_261[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210115.4]
  assign _T_263 = _T_261[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210116.4]
  assign _T_264 = _T_262 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210117.4]
  assign _T_265 = _T_262 | _T_263; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210118.4]
  assign _T_266 = _T_265[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@210119.4]
  assign _T_267 = {_T_264,_T_266}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210120.4]
  assign _T_268 = {_T_260,_T_267}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210121.4]
  assign _T_276 = _T_237 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210136.4]
  assign _T_275 = auto_out_d_bits_source[5]; // @[Fragmenter.scala 197:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210135.4]
  assign _T_277 = _T_275 ? _T_228 : _T_229; // @[Fragmenter.scala 200:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210137.4]
  assign _T_278 = _T_277 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210138.4]
  assign _T_279 = _T_276 & _T_278; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210139.4]
  assign _T_280 = auto_in_d_ready | _T_279; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210140.4]
  assign _T_269 = _T_280 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210122.4]
  assign _GEN_11 = {{3'd0}, _T_250}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210124.6]
  assign _T_270 = _T_222 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210124.6]
  assign _T_271 = $unsigned(_T_270); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210125.6]
  assign _T_272 = _T_271[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210126.6]
  assign _T_274 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@210131.8]
  assign _T_281 = _T_279 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210142.4]
  assign _T_309 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210175.4]
  assign _T_310 = _T_309 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@210176.4]
  assign _T_312 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210178.4]
  assign _T_313 = _T_312[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210179.4]
  assign _T_314 = ~ _T_313; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210180.4]
  assign _T_316 = 9'h3 << _T_310; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210182.4]
  assign _T_317 = _T_316[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210183.4]
  assign _T_318 = ~ _T_317; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210184.4]
  assign _T_319 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210185.4]
  assign _T_320 = _T_319 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210186.4]
  assign _T_324 = _T_323 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210189.4]
  assign _T_325 = _T_314[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210190.4]
  assign _T_326 = _T_323 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210191.4]
  assign _T_327 = $unsigned(_T_326); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210192.4]
  assign _T_328 = _T_327[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210193.4]
  assign _T_329 = _T_324 ? _T_325 : _T_328; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210194.4]
  assign _T_330 = ~ _T_329; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210195.4]
  assign _T_333 = ~ _T_330; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@210198.4]
  assign _GEN_5 = _T_324 ? _T_226 : _T_341; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210206.4]
  assign _T_343 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210210.4]
  assign _T_344 = Repeater_io_deq_bits_opcode == 3'h0; // @[Fragmenter.scala 275:76:shc.marmotcaravel.MarmotCaravelConfig.fir@210211.4]
  assign _T_70_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@210069.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@210220.4]
  assign _T_345 = auto_out_a_ready & _T_70_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210212.4]
  assign _T_346 = _T_320 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210216.4]
  assign _T_347 = _T_333 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@210217.4]
  assign _GEN_12 = {{2'd0}, _T_329}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@210221.4]
  assign _T_349 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@210221.4]
  assign _T_350 = ~ _T_314; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@210222.4]
  assign _T_351 = _T_349 | _T_350; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@210223.4]
  assign _GEN_13 = {{4'd0}, _T_318}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@210224.4]
  assign _T_352 = _T_351 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@210224.4]
  assign _T_353 = _T_352 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@210225.4]
  assign _T_354 = ~ _T_353; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210226.4]
  assign _GEN_14 = {{22'd0}, _T_354}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@210227.4]
  assign _T_356 = {_T_343,_T_333}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210229.4]
  assign _T_357 = {Repeater_io_deq_bits_source,_T_344}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210230.4]
  assign _T_359 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210234.4]
  assign _T_361 = _T_359 | _T_346; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210236.4]
  assign _T_363 = _T_361 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210238.4]
  assign _T_364 = _T_363 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210239.4]
  assign _T_366 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@210246.4]
  assign _T_367 = _T_359 | _T_366; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210247.4]
  assign _T_369 = _T_367 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210249.4]
  assign _T_370 = _T_369 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210250.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210072.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_281; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210072.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210072.4]
  assign auto_in_d_bits_size = _T_228 ? _T_268 : _T_224; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210072.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[6:6]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210072.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210072.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210071.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210071.4]
  assign auto_out_a_bits_size = _T_310[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210071.4]
  assign auto_out_a_bits_source = {_T_357,_T_356}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210071.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210071.4]
  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210071.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210071.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_279; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210071.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210152.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210153.4]
  assign Repeater_io_repeat = _T_346 & _T_347; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210219.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210154.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210154.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210154.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210154.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210154.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210154.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210154.4]
  assign Repeater_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210154.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@210220.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_222 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_224 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_226 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_323 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_341 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_222 <= 4'h0;
    end else begin
      if (_T_269) begin
        if (_T_228) begin
          _T_222 <= _T_227;
        end else begin
          _T_222 <= _T_272;
        end
      end
    end
    if (_T_269) begin
      if (_T_228) begin
        _T_224 <= _T_268;
      end
    end
    if (reset) begin
      _T_226 <= 1'h0;
    end else begin
      if (_T_269) begin
        if (_T_228) begin
          _T_226 <= _T_274;
        end
      end
    end
    if (reset) begin
      _T_323 <= 4'h0;
    end else begin
      if (_T_345) begin
        _T_323 <= _T_333;
      end
    end
    if (_T_324) begin
      _T_341 <= _T_226;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210097.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210098.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_364) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210241.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_364) begin
          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210242.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_370) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210252.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_370) begin
          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210253.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module ScratchpadSlavePort( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210264.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210265.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210266.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
  input  [6:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
  output [6:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210267.4]
  input         io_dmem_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210268.4]
  output        io_dmem_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210268.4]
  output [31:0] io_dmem_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210268.4]
  output [4:0]  io_dmem_req_bits_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210268.4]
  output [2:0]  io_dmem_req_bits_typ, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210268.4]
  output        io_dmem_s1_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210268.4]
  output [31:0] io_dmem_s1_data_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210268.4]
  output [3:0]  io_dmem_s1_data_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210268.4]
  input         io_dmem_s2_nack, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210268.4]
  input         io_dmem_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210268.4]
  input  [31:0] io_dmem_resp_bits_data_raw // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210268.4]
);
  reg [2:0] state; // @[ScratchpadSlavePort.scala 40:20:shc.marmotcaravel.MarmotCaravelConfig.fir@210277.4]
  reg [31:0] _RAND_0;
  wire  _T_174; // @[ScratchpadSlavePort.scala 42:17:shc.marmotcaravel.MarmotCaravelConfig.fir@210280.4]
  wire  _T_226; // @[ScratchpadSlavePort.scala 91:50:shc.marmotcaravel.MarmotCaravelConfig.fir@210370.4]
  wire  tl_in_d_valid; // @[ScratchpadSlavePort.scala 91:41:shc.marmotcaravel.MarmotCaravelConfig.fir@210371.4]
  wire  _T_175; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210287.4]
  wire  _T_180; // @[ScratchpadSlavePort.scala 79:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210306.4]
  wire  _T_181; // @[ScratchpadSlavePort.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@210307.4]
  wire  _T_182; // @[ScratchpadSlavePort.scala 79:56:shc.marmotcaravel.MarmotCaravelConfig.fir@210308.4]
  wire  _T_183; // @[ScratchpadSlavePort.scala 79:78:shc.marmotcaravel.MarmotCaravelConfig.fir@210309.4]
  wire  ready; // @[ScratchpadSlavePort.scala 79:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210310.4]
  wire  _T_184; // @[ScratchpadSlavePort.scala 80:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210311.4]
  wire  _T_185; // @[ScratchpadSlavePort.scala 80:57:shc.marmotcaravel.MarmotCaravelConfig.fir@210312.4]
  wire  dmem_req_valid; // @[ScratchpadSlavePort.scala 80:48:shc.marmotcaravel.MarmotCaravelConfig.fir@210313.4]
  wire  _T_176; // @[ScratchpadSlavePort.scala 46:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210294.4]
  reg [2:0] acq_opcode; // @[ScratchpadSlavePort.scala 48:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210298.4]
  reg [31:0] _RAND_1;
  reg [2:0] acq_param; // @[ScratchpadSlavePort.scala 48:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210298.4]
  reg [31:0] _RAND_2;
  reg [1:0] acq_size; // @[ScratchpadSlavePort.scala 48:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210298.4]
  reg [31:0] _RAND_3;
  reg [6:0] acq_source; // @[ScratchpadSlavePort.scala 48:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210298.4]
  reg [31:0] _RAND_4;
  reg [31:0] acq_address; // @[ScratchpadSlavePort.scala 48:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210298.4]
  reg [31:0] _RAND_5;
  reg [3:0] acq_mask; // @[ScratchpadSlavePort.scala 48:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210298.4]
  reg [31:0] _RAND_6;
  reg [31:0] acq_data; // @[ScratchpadSlavePort.scala 48:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210298.4]
  reg [31:0] _RAND_7;
  wire  tl_in_a_ready; // @[ScratchpadSlavePort.scala 84:40:shc.marmotcaravel.MarmotCaravelConfig.fir@210319.4]
  wire  _T_177; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210299.4]
  wire  ready_likely; // @[ScratchpadSlavePort.scala 78:42:shc.marmotcaravel.MarmotCaravelConfig.fir@210305.4]
  wire  _T_187; // @[ScratchpadSlavePort.scala 81:48:shc.marmotcaravel.MarmotCaravelConfig.fir@210315.4]
  wire [2:0] _T_191_opcode; // @[ScratchpadSlavePort.scala 85:41:shc.marmotcaravel.MarmotCaravelConfig.fir@210322.4]
  wire [2:0] _T_191_param; // @[ScratchpadSlavePort.scala 85:41:shc.marmotcaravel.MarmotCaravelConfig.fir@210322.4]
  wire [1:0] _T_191_size; // @[ScratchpadSlavePort.scala 85:41:shc.marmotcaravel.MarmotCaravelConfig.fir@210322.4]
  wire  _T_196; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210329.4]
  wire [3:0] _T_197; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210330.4]
  wire  _T_198; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210331.4]
  wire [3:0] _T_199; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210332.4]
  wire  _T_200; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210333.4]
  wire [3:0] _T_201; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210334.4]
  wire  _T_202; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210335.4]
  wire [3:0] _T_203; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210336.4]
  wire  _T_204; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210337.4]
  wire [3:0] _T_205; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210338.4]
  wire [2:0] _T_208; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210342.4]
  wire [3:0] _T_210; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210344.4]
  wire [3:0] _T_212; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210346.4]
  wire [3:0] _T_214; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210348.4]
  wire  _T_217; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210351.4]
  wire [3:0] _T_218; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210352.4]
  wire  _T_219; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210353.4]
  wire [3:0] _T_220; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210354.4]
  wire  _T_221; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210355.4]
  wire [4:0] _T_222; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210356.4]
  wire  _T_223; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210357.4]
  wire  _T_228; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@210373.4]
  wire  _T_229; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@210374.4]
  wire  _T_230; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@210375.4]
  reg [31:0] _T_238; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210399.4]
  reg [31:0] _RAND_8;
  assign _T_174 = state == 3'h1; // @[ScratchpadSlavePort.scala 42:17:shc.marmotcaravel.MarmotCaravelConfig.fir@210280.4]
  assign _T_226 = state == 3'h4; // @[ScratchpadSlavePort.scala 91:50:shc.marmotcaravel.MarmotCaravelConfig.fir@210370.4]
  assign tl_in_d_valid = io_dmem_resp_valid | _T_226; // @[ScratchpadSlavePort.scala 91:41:shc.marmotcaravel.MarmotCaravelConfig.fir@210371.4]
  assign _T_175 = auto_in_d_ready & tl_in_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210287.4]
  assign _T_180 = state == 3'h0; // @[ScratchpadSlavePort.scala 79:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210306.4]
  assign _T_181 = state == 3'h2; // @[ScratchpadSlavePort.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@210307.4]
  assign _T_182 = _T_181 & io_dmem_resp_valid; // @[ScratchpadSlavePort.scala 79:56:shc.marmotcaravel.MarmotCaravelConfig.fir@210308.4]
  assign _T_183 = _T_182 & auto_in_d_ready; // @[ScratchpadSlavePort.scala 79:78:shc.marmotcaravel.MarmotCaravelConfig.fir@210309.4]
  assign ready = _T_180 | _T_183; // @[ScratchpadSlavePort.scala 79:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210310.4]
  assign _T_184 = auto_in_a_valid & ready; // @[ScratchpadSlavePort.scala 80:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210311.4]
  assign _T_185 = state == 3'h3; // @[ScratchpadSlavePort.scala 80:57:shc.marmotcaravel.MarmotCaravelConfig.fir@210312.4]
  assign dmem_req_valid = _T_184 | _T_185; // @[ScratchpadSlavePort.scala 80:48:shc.marmotcaravel.MarmotCaravelConfig.fir@210313.4]
  assign _T_176 = dmem_req_valid & io_dmem_req_ready; // @[ScratchpadSlavePort.scala 46:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210294.4]
  assign tl_in_a_ready = io_dmem_req_ready & ready; // @[ScratchpadSlavePort.scala 84:40:shc.marmotcaravel.MarmotCaravelConfig.fir@210319.4]
  assign _T_177 = tl_in_a_ready & auto_in_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210299.4]
  assign ready_likely = _T_180 | _T_181; // @[ScratchpadSlavePort.scala 78:42:shc.marmotcaravel.MarmotCaravelConfig.fir@210305.4]
  assign _T_187 = auto_in_a_valid & ready_likely; // @[ScratchpadSlavePort.scala 81:48:shc.marmotcaravel.MarmotCaravelConfig.fir@210315.4]
  assign _T_191_opcode = _T_185 ? acq_opcode : auto_in_a_bits_opcode; // @[ScratchpadSlavePort.scala 85:41:shc.marmotcaravel.MarmotCaravelConfig.fir@210322.4]
  assign _T_191_param = _T_185 ? acq_param : auto_in_a_bits_param; // @[ScratchpadSlavePort.scala 85:41:shc.marmotcaravel.MarmotCaravelConfig.fir@210322.4]
  assign _T_191_size = _T_185 ? acq_size : auto_in_a_bits_size; // @[ScratchpadSlavePort.scala 85:41:shc.marmotcaravel.MarmotCaravelConfig.fir@210322.4]
  assign _T_196 = 3'h4 == _T_191_param; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210329.4]
  assign _T_197 = _T_196 ? 4'h8 : 4'h0; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210330.4]
  assign _T_198 = 3'h3 == _T_191_param; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210331.4]
  assign _T_199 = _T_198 ? 4'hf : _T_197; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210332.4]
  assign _T_200 = 3'h2 == _T_191_param; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210333.4]
  assign _T_201 = _T_200 ? 4'he : _T_199; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210334.4]
  assign _T_202 = 3'h1 == _T_191_param; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210335.4]
  assign _T_203 = _T_202 ? 4'hd : _T_201; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210336.4]
  assign _T_204 = 3'h0 == _T_191_param; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210337.4]
  assign _T_205 = _T_204 ? 4'hc : _T_203; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210338.4]
  assign _T_208 = _T_198 ? 3'h4 : 3'h0; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210342.4]
  assign _T_210 = _T_200 ? 4'hb : {{1'd0}, _T_208}; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210344.4]
  assign _T_212 = _T_202 ? 4'ha : _T_210; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210346.4]
  assign _T_214 = _T_204 ? 4'h9 : _T_212; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210348.4]
  assign _T_217 = 3'h3 == _T_191_opcode; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210351.4]
  assign _T_218 = _T_217 ? _T_214 : 4'h0; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210352.4]
  assign _T_219 = 3'h2 == _T_191_opcode; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210353.4]
  assign _T_220 = _T_219 ? _T_205 : _T_218; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210354.4]
  assign _T_221 = 3'h1 == _T_191_opcode; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210355.4]
  assign _T_222 = _T_221 ? 5'h11 : {{1'd0}, _T_220}; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210356.4]
  assign _T_223 = 3'h0 == _T_191_opcode; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210357.4]
  assign _T_228 = acq_opcode == 3'h0; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@210373.4]
  assign _T_229 = acq_opcode == 3'h1; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@210374.4]
  assign _T_230 = _T_228 | _T_229; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@210375.4]
  assign auto_in_a_ready = io_dmem_req_ready & ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210276.4]
  assign auto_in_d_valid = io_dmem_resp_valid | _T_226; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210276.4]
  assign auto_in_d_bits_opcode = _T_230 ? 3'h0 : 3'h1; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210276.4]
  assign auto_in_d_bits_size = acq_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210276.4]
  assign auto_in_d_bits_source = acq_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210276.4]
  assign auto_in_d_bits_data = _T_181 ? io_dmem_resp_bits_data_raw : _T_238; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210276.4]
  assign io_dmem_req_valid = _T_187 | _T_185; // @[ScratchpadSlavePort.scala 83:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210318.4]
  assign io_dmem_req_bits_addr = _T_185 ? acq_address : auto_in_a_bits_address; // @[ScratchpadSlavePort.scala 85:22:shc.marmotcaravel.MarmotCaravelConfig.fir@210364.4]
  assign io_dmem_req_bits_cmd = _T_223 ? 5'h1 : _T_222; // @[ScratchpadSlavePort.scala 85:22:shc.marmotcaravel.MarmotCaravelConfig.fir@210364.4]
  assign io_dmem_req_bits_typ = {{1'd0}, _T_191_size}; // @[ScratchpadSlavePort.scala 85:22:shc.marmotcaravel.MarmotCaravelConfig.fir@210364.4]
  assign io_dmem_s1_kill = state != 3'h1; // @[ScratchpadSlavePort.scala 88:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210368.4]
  assign io_dmem_s1_data_data = acq_data; // @[ScratchpadSlavePort.scala 86:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210365.4]
  assign io_dmem_s1_data_mask = acq_mask; // @[ScratchpadSlavePort.scala 87:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210366.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  state = _RAND_0[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  acq_opcode = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  acq_param = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  acq_size = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  acq_source = _RAND_4[6:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  acq_address = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  acq_mask = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  acq_data = _RAND_7[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_238 = _RAND_8[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      state <= 3'h0;
    end else begin
      if (_T_176) begin
        state <= 3'h1;
      end else begin
        if (io_dmem_s2_nack) begin
          state <= 3'h3;
        end else begin
          if (_T_175) begin
            state <= 3'h0;
          end else begin
            if (io_dmem_resp_valid) begin
              state <= 3'h4;
            end else begin
              if (_T_174) begin
                state <= 3'h2;
              end
            end
          end
        end
      end
    end
    if (_T_177) begin
      acq_opcode <= auto_in_a_bits_opcode;
    end
    if (_T_177) begin
      acq_param <= auto_in_a_bits_param;
    end
    if (_T_177) begin
      acq_size <= auto_in_a_bits_size;
    end
    if (_T_177) begin
      acq_source <= auto_in_a_bits_source;
    end
    if (_T_177) begin
      acq_address <= auto_in_a_bits_address;
    end
    if (_T_177) begin
      acq_mask <= auto_in_a_bits_mask;
    end
    if (_T_177) begin
      acq_data <= auto_in_a_bits_data;
    end
    if (_T_181) begin
      _T_238 <= io_dmem_resp_bits_data_raw;
    end
  end
endmodule
module Repeater_19( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210409.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210410.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210411.4]
  input         io_repeat, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
  output        io_full, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
  input  [31:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
  output [31:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
  output [3:0]  io_deq_bits_mask // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210412.4]
);
  reg  full; // @[Repeater.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210417.4]
  reg [31:0] _RAND_0;
  reg [2:0] saved_opcode; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210418.4]
  reg [31:0] _RAND_1;
  reg [2:0] saved_param; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210418.4]
  reg [31:0] _RAND_2;
  reg [2:0] saved_size; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210418.4]
  reg [31:0] _RAND_3;
  reg  saved_source; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210418.4]
  reg [31:0] _RAND_4;
  reg [31:0] saved_address; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210418.4]
  reg [31:0] _RAND_5;
  reg [3:0] saved_mask; // @[Repeater.scala 19:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210418.4]
  reg [31:0] _RAND_6;
  wire  _T_18; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210421.4]
  wire  _T_21; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210427.4]
  wire  _T_22; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210428.4]
  wire  _T_23; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210433.4]
  wire  _T_24; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210434.4]
  wire  _T_25; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210435.4]
  assign _T_18 = full == 1'h0; // @[Repeater.scala 23:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210421.4]
  assign _T_21 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210427.4]
  assign _T_22 = _T_21 & io_repeat; // @[Repeater.scala 27:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210428.4]
  assign _T_23 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210433.4]
  assign _T_24 = io_repeat == 1'h0; // @[Repeater.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210434.4]
  assign _T_25 = _T_23 & _T_24; // @[Repeater.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210435.4]
  assign io_full = full; // @[Repeater.scala 25:11:shc.marmotcaravel.MarmotCaravelConfig.fir@210426.4]
  assign io_enq_ready = io_deq_ready & _T_18; // @[Repeater.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210423.4]
  assign io_deq_valid = io_enq_valid | full; // @[Repeater.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210420.4]
  assign io_deq_bits_opcode = full ? saved_opcode : io_enq_bits_opcode; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210425.4]
  assign io_deq_bits_param = full ? saved_param : io_enq_bits_param; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210425.4]
  assign io_deq_bits_size = full ? saved_size : io_enq_bits_size; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210425.4]
  assign io_deq_bits_source = full ? saved_source : io_enq_bits_source; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210425.4]
  assign io_deq_bits_address = full ? saved_address : io_enq_bits_address; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210425.4]
  assign io_deq_bits_mask = full ? saved_mask : io_enq_bits_mask; // @[Repeater.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210425.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  full = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  saved_opcode = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  saved_param = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  saved_size = _RAND_3[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  saved_source = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  saved_address = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  saved_mask = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      full <= 1'h0;
    end else begin
      if (_T_25) begin
        full <= 1'h0;
      end else begin
        if (_T_22) begin
          full <= 1'h1;
        end
      end
    end
    if (_T_22) begin
      saved_opcode <= io_enq_bits_opcode;
    end
    if (_T_22) begin
      saved_param <= io_enq_bits_param;
    end
    if (_T_22) begin
      saved_size <= io_enq_bits_size;
    end
    if (_T_22) begin
      saved_source <= io_enq_bits_source;
    end
    if (_T_22) begin
      saved_address <= io_enq_bits_address;
    end
    if (_T_22) begin
      saved_mask <= io_enq_bits_mask;
    end
  end
endmodule
module TLFragmenter_18( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210440.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210441.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210442.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  output [6:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  input  [6:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210443.4]
);
  wire  Repeater_clock; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
  wire  Repeater_reset; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
  wire  Repeater_io_repeat; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
  wire  Repeater_io_full; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
  wire  Repeater_io_enq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
  wire  Repeater_io_enq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
  wire [2:0] Repeater_io_enq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
  wire [2:0] Repeater_io_enq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
  wire [2:0] Repeater_io_enq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
  wire  Repeater_io_enq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
  wire [31:0] Repeater_io_enq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
  wire [3:0] Repeater_io_enq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
  wire  Repeater_io_deq_ready; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
  wire  Repeater_io_deq_valid; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
  wire [2:0] Repeater_io_deq_bits_opcode; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
  wire [2:0] Repeater_io_deq_bits_param; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
  wire [2:0] Repeater_io_deq_bits_size; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
  wire  Repeater_io_deq_bits_source; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
  wire [31:0] Repeater_io_deq_bits_address; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
  wire [3:0] Repeater_io_deq_bits_mask; // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
  reg [3:0] _T_222; // @[Fragmenter.scala 167:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210454.4]
  reg [31:0] _RAND_0;
  reg [2:0] _T_224; // @[Fragmenter.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@210455.4]
  reg [31:0] _RAND_1;
  reg  _T_226; // @[Fragmenter.scala 169:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210456.4]
  reg [31:0] _RAND_2;
  wire [3:0] _T_227; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@210457.4]
  wire  _T_228; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210458.4]
  wire  _T_229; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210459.4]
  wire [3:0] _T_231; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@210461.4]
  wire [2:0] _T_232; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210462.4]
  wire [4:0] _T_234; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210464.4]
  wire [1:0] _T_235; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210465.4]
  wire [1:0] _T_236; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210466.4]
  wire  _T_237; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@210467.4]
  wire  _T_249; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210483.4]
  wire  _T_250; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@210484.4]
  wire [5:0] _GEN_7; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210485.4]
  wire [5:0] _T_251; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210485.4]
  wire [5:0] _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210486.4]
  wire [5:0] _T_252; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210486.4]
  wire [6:0] _GEN_9; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210487.4]
  wire [6:0] _T_253; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210487.4]
  wire [6:0] _T_254; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@210488.4]
  wire [6:0] _T_255; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210489.4]
  wire [6:0] _T_256; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210490.4]
  wire [6:0] _T_257; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@210491.4]
  wire [2:0] _T_258; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210492.4]
  wire [3:0] _T_259; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210493.4]
  wire  _T_260; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210494.4]
  wire [3:0] _GEN_10; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210495.4]
  wire [3:0] _T_261; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210495.4]
  wire [1:0] _T_262; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210496.4]
  wire [1:0] _T_263; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210497.4]
  wire  _T_264; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210498.4]
  wire [1:0] _T_265; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210499.4]
  wire  _T_266; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@210500.4]
  wire [1:0] _T_267; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210501.4]
  wire [2:0] _T_268; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210502.4]
  wire  _T_276; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210517.4]
  wire  _T_275; // @[Fragmenter.scala 197:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210516.4]
  wire  _T_277; // @[Fragmenter.scala 200:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210518.4]
  wire  _T_278; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210519.4]
  wire  _T_279; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210520.4]
  wire  _T_280; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210521.4]
  wire  _T_269; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210503.4]
  wire [3:0] _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210505.6]
  wire [4:0] _T_270; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210505.6]
  wire [4:0] _T_271; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210506.6]
  wire [3:0] _T_272; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210507.6]
  wire  _T_274; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@210512.8]
  wire  _T_281; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210523.4]
  wire  _T_309; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210556.4]
  wire [2:0] _T_310; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@210557.4]
  wire [12:0] _T_312; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210559.4]
  wire [5:0] _T_313; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210560.4]
  wire [5:0] _T_314; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210561.4]
  wire [8:0] _T_316; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210563.4]
  wire [1:0] _T_317; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210564.4]
  wire [1:0] _T_318; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210565.4]
  wire  _T_319; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210566.4]
  wire  _T_320; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210567.4]
  reg [3:0] _T_323; // @[Fragmenter.scala 268:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210569.4]
  reg [31:0] _RAND_3;
  wire  _T_324; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210570.4]
  wire [3:0] _T_325; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210571.4]
  wire [4:0] _T_326; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210572.4]
  wire [4:0] _T_327; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210573.4]
  wire [3:0] _T_328; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210574.4]
  wire [3:0] _T_329; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210575.4]
  wire [3:0] _T_330; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210576.4]
  wire [3:0] _T_333; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@210579.4]
  reg  _T_341; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210586.4]
  reg [31:0] _RAND_4;
  wire  _GEN_5; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210587.4]
  wire  _T_343; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210591.4]
  wire  _T_344; // @[Fragmenter.scala 275:76:shc.marmotcaravel.MarmotCaravelConfig.fir@210592.4]
  wire  _T_70_a_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@210450.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@210601.4]
  wire  _T_345; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210593.4]
  wire  _T_346; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210597.4]
  wire  _T_347; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@210598.4]
  wire [5:0] _GEN_12; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@210602.4]
  wire [5:0] _T_349; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@210602.4]
  wire [5:0] _T_350; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@210603.4]
  wire [5:0] _T_351; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@210604.4]
  wire [5:0] _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@210605.4]
  wire [5:0] _T_352; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@210605.4]
  wire [5:0] _T_353; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@210606.4]
  wire [5:0] _T_354; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210607.4]
  wire [31:0] _GEN_14; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@210608.4]
  wire [4:0] _T_356; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210610.4]
  wire [1:0] _T_357; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210611.4]
  wire  _T_359; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210615.4]
  wire  _T_361; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210617.4]
  wire  _T_363; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210619.4]
  wire  _T_364; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210620.4]
  wire  _T_366; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@210627.4]
  wire  _T_367; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210628.4]
  wire  _T_369; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210630.4]
  wire  _T_370; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210631.4]
  Repeater_19 Repeater ( // @[Fragmenter.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210531.4]
    .clock(Repeater_clock),
    .reset(Repeater_reset),
    .io_repeat(Repeater_io_repeat),
    .io_full(Repeater_io_full),
    .io_enq_ready(Repeater_io_enq_ready),
    .io_enq_valid(Repeater_io_enq_valid),
    .io_enq_bits_opcode(Repeater_io_enq_bits_opcode),
    .io_enq_bits_param(Repeater_io_enq_bits_param),
    .io_enq_bits_size(Repeater_io_enq_bits_size),
    .io_enq_bits_source(Repeater_io_enq_bits_source),
    .io_enq_bits_address(Repeater_io_enq_bits_address),
    .io_enq_bits_mask(Repeater_io_enq_bits_mask),
    .io_deq_ready(Repeater_io_deq_ready),
    .io_deq_valid(Repeater_io_deq_valid),
    .io_deq_bits_opcode(Repeater_io_deq_bits_opcode),
    .io_deq_bits_param(Repeater_io_deq_bits_param),
    .io_deq_bits_size(Repeater_io_deq_bits_size),
    .io_deq_bits_source(Repeater_io_deq_bits_source),
    .io_deq_bits_address(Repeater_io_deq_bits_address),
    .io_deq_bits_mask(Repeater_io_deq_bits_mask)
  );
  assign _T_227 = auto_out_d_bits_source[3:0]; // @[Fragmenter.scala 170:39:shc.marmotcaravel.MarmotCaravelConfig.fir@210457.4]
  assign _T_228 = _T_222 == 4'h0; // @[Fragmenter.scala 171:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210458.4]
  assign _T_229 = _T_227 == 4'h0; // @[Fragmenter.scala 172:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210459.4]
  assign _T_231 = 4'h1 << auto_out_d_bits_size; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@210461.4]
  assign _T_232 = _T_231[2:0]; // @[OneHot.scala 52:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210462.4]
  assign _T_234 = 5'h3 << auto_out_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210464.4]
  assign _T_235 = _T_234[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210465.4]
  assign _T_236 = ~ _T_235; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210466.4]
  assign _T_237 = auto_out_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@210467.4]
  assign _T_249 = _T_232[2:2]; // @[Fragmenter.scala 182:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210483.4]
  assign _T_250 = _T_237 ? 1'h1 : _T_249; // @[Fragmenter.scala 182:30:shc.marmotcaravel.MarmotCaravelConfig.fir@210484.4]
  assign _GEN_7 = {{2'd0}, _T_227}; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210485.4]
  assign _T_251 = _GEN_7 << 2; // @[Fragmenter.scala 184:45:shc.marmotcaravel.MarmotCaravelConfig.fir@210485.4]
  assign _GEN_8 = {{4'd0}, _T_236}; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210486.4]
  assign _T_252 = _T_251 | _GEN_8; // @[Fragmenter.scala 184:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210486.4]
  assign _GEN_9 = {{1'd0}, _T_252}; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210487.4]
  assign _T_253 = _GEN_9 << 1; // @[package.scala 183:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210487.4]
  assign _T_254 = _T_253 | 7'h1; // @[package.scala 183:40:shc.marmotcaravel.MarmotCaravelConfig.fir@210488.4]
  assign _T_255 = {1'h0,_T_252}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210489.4]
  assign _T_256 = ~ _T_255; // @[package.scala 183:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210490.4]
  assign _T_257 = _T_254 & _T_256; // @[package.scala 183:51:shc.marmotcaravel.MarmotCaravelConfig.fir@210491.4]
  assign _T_258 = _T_257[6:4]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210492.4]
  assign _T_259 = _T_257[3:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210493.4]
  assign _T_260 = _T_258 != 3'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210494.4]
  assign _GEN_10 = {{1'd0}, _T_258}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210495.4]
  assign _T_261 = _GEN_10 | _T_259; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210495.4]
  assign _T_262 = _T_261[3:2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210496.4]
  assign _T_263 = _T_261[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210497.4]
  assign _T_264 = _T_262 != 2'h0; // @[OneHot.scala 28:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210498.4]
  assign _T_265 = _T_262 | _T_263; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210499.4]
  assign _T_266 = _T_265[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@210500.4]
  assign _T_267 = {_T_264,_T_266}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210501.4]
  assign _T_268 = {_T_260,_T_267}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210502.4]
  assign _T_276 = _T_237 == 1'h0; // @[Fragmenter.scala 200:18:shc.marmotcaravel.MarmotCaravelConfig.fir@210517.4]
  assign _T_275 = auto_out_d_bits_source[5]; // @[Fragmenter.scala 197:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210516.4]
  assign _T_277 = _T_275 ? _T_228 : _T_229; // @[Fragmenter.scala 200:35:shc.marmotcaravel.MarmotCaravelConfig.fir@210518.4]
  assign _T_278 = _T_277 == 1'h0; // @[Fragmenter.scala 200:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210519.4]
  assign _T_279 = _T_276 & _T_278; // @[Fragmenter.scala 200:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210520.4]
  assign _T_280 = auto_in_d_ready | _T_279; // @[Fragmenter.scala 201:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210521.4]
  assign _T_269 = _T_280 & auto_out_d_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210503.4]
  assign _GEN_11 = {{3'd0}, _T_250}; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210505.6]
  assign _T_270 = _T_222 - _GEN_11; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210505.6]
  assign _T_271 = $unsigned(_T_270); // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210506.6]
  assign _T_272 = _T_271[3:0]; // @[Fragmenter.scala 187:53:shc.marmotcaravel.MarmotCaravelConfig.fir@210507.6]
  assign _T_274 = auto_out_d_bits_source[4]; // @[Fragmenter.scala 190:39:shc.marmotcaravel.MarmotCaravelConfig.fir@210512.8]
  assign _T_281 = _T_279 == 1'h0; // @[Fragmenter.scala 202:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210523.4]
  assign _T_309 = Repeater_io_deq_bits_size > 3'h2; // @[Fragmenter.scala 262:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210556.4]
  assign _T_310 = _T_309 ? 3'h2 : Repeater_io_deq_bits_size; // @[Fragmenter.scala 262:22:shc.marmotcaravel.MarmotCaravelConfig.fir@210557.4]
  assign _T_312 = 13'h3f << Repeater_io_deq_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210559.4]
  assign _T_313 = _T_312[5:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210560.4]
  assign _T_314 = ~ _T_313; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210561.4]
  assign _T_316 = 9'h3 << _T_310; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210563.4]
  assign _T_317 = _T_316[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210564.4]
  assign _T_318 = ~ _T_317; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210565.4]
  assign _T_319 = Repeater_io_deq_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210566.4]
  assign _T_320 = _T_319 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210567.4]
  assign _T_324 = _T_323 == 4'h0; // @[Fragmenter.scala 269:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210570.4]
  assign _T_325 = _T_314[5:2]; // @[Fragmenter.scala 270:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210571.4]
  assign _T_326 = _T_323 - 4'h1; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210572.4]
  assign _T_327 = $unsigned(_T_326); // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210573.4]
  assign _T_328 = _T_327[3:0]; // @[Fragmenter.scala 270:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210574.4]
  assign _T_329 = _T_324 ? _T_325 : _T_328; // @[Fragmenter.scala 270:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210575.4]
  assign _T_330 = ~ _T_329; // @[Fragmenter.scala 271:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210576.4]
  assign _T_333 = ~ _T_330; // @[Fragmenter.scala 271:24:shc.marmotcaravel.MarmotCaravelConfig.fir@210579.4]
  assign _GEN_5 = _T_324 ? _T_226 : _T_341; // @[Reg.scala 12:19:shc.marmotcaravel.MarmotCaravelConfig.fir@210587.4]
  assign _T_343 = _GEN_5 == 1'h0; // @[Fragmenter.scala 274:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210591.4]
  assign _T_344 = Repeater_io_deq_bits_opcode == 3'h0; // @[Fragmenter.scala 275:76:shc.marmotcaravel.MarmotCaravelConfig.fir@210592.4]
  assign _T_70_a_valid = Repeater_io_deq_valid; // @[Nodes.scala 332:76:shc.marmotcaravel.MarmotCaravelConfig.fir@210450.4 Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@210601.4]
  assign _T_345 = auto_out_a_ready & _T_70_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@210593.4]
  assign _T_346 = _T_320 == 1'h0; // @[Fragmenter.scala 279:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210597.4]
  assign _T_347 = _T_333 != 4'h0; // @[Fragmenter.scala 279:51:shc.marmotcaravel.MarmotCaravelConfig.fir@210598.4]
  assign _GEN_12 = {{2'd0}, _T_329}; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@210602.4]
  assign _T_349 = _GEN_12 << 2; // @[Fragmenter.scala 281:63:shc.marmotcaravel.MarmotCaravelConfig.fir@210602.4]
  assign _T_350 = ~ _T_314; // @[Fragmenter.scala 281:88:shc.marmotcaravel.MarmotCaravelConfig.fir@210603.4]
  assign _T_351 = _T_349 | _T_350; // @[Fragmenter.scala 281:86:shc.marmotcaravel.MarmotCaravelConfig.fir@210604.4]
  assign _GEN_13 = {{4'd0}, _T_318}; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@210605.4]
  assign _T_352 = _T_351 | _GEN_13; // @[Fragmenter.scala 281:98:shc.marmotcaravel.MarmotCaravelConfig.fir@210605.4]
  assign _T_353 = _T_352 | 6'h3; // @[Fragmenter.scala 281:109:shc.marmotcaravel.MarmotCaravelConfig.fir@210606.4]
  assign _T_354 = ~ _T_353; // @[Fragmenter.scala 281:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210607.4]
  assign _GEN_14 = {{26'd0}, _T_354}; // @[Fragmenter.scala 281:47:shc.marmotcaravel.MarmotCaravelConfig.fir@210608.4]
  assign _T_356 = {_T_343,_T_333}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210610.4]
  assign _T_357 = {Repeater_io_deq_bits_source,_T_344}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210611.4]
  assign _T_359 = Repeater_io_full == 1'h0; // @[Fragmenter.scala 286:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210615.4]
  assign _T_361 = _T_359 | _T_346; // @[Fragmenter.scala 286:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210617.4]
  assign _T_363 = _T_361 | reset; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210619.4]
  assign _T_364 = _T_363 == 1'h0; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210620.4]
  assign _T_366 = Repeater_io_deq_bits_mask == 4'hf; // @[Fragmenter.scala 289:51:shc.marmotcaravel.MarmotCaravelConfig.fir@210627.4]
  assign _T_367 = _T_359 | _T_366; // @[Fragmenter.scala 289:33:shc.marmotcaravel.MarmotCaravelConfig.fir@210628.4]
  assign _T_369 = _T_367 | reset; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210630.4]
  assign _T_370 = _T_369 == 1'h0; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210631.4]
  assign auto_in_a_ready = Repeater_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210453.4]
  assign auto_in_d_valid = auto_out_d_valid & _T_281; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210453.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210453.4]
  assign auto_in_d_bits_size = _T_228 ? _T_268 : _T_224; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210453.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source[6:6]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210453.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210453.4]
  assign auto_out_a_valid = Repeater_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210452.4]
  assign auto_out_a_bits_opcode = Repeater_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210452.4]
  assign auto_out_a_bits_param = Repeater_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210452.4]
  assign auto_out_a_bits_size = _T_310[1:0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210452.4]
  assign auto_out_a_bits_source = {_T_357,_T_356}; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210452.4]
  assign auto_out_a_bits_address = Repeater_io_deq_bits_address | _GEN_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210452.4]
  assign auto_out_a_bits_mask = Repeater_io_full ? 4'hf : auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210452.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210452.4]
  assign auto_out_d_ready = auto_in_d_ready | _T_279; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210452.4]
  assign Repeater_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210533.4]
  assign Repeater_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210534.4]
  assign Repeater_io_repeat = _T_346 & _T_347; // @[Fragmenter.scala 279:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210600.4]
  assign Repeater_io_enq_valid = auto_in_a_valid; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210535.4]
  assign Repeater_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210535.4]
  assign Repeater_io_enq_bits_param = auto_in_a_bits_param; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210535.4]
  assign Repeater_io_enq_bits_size = auto_in_a_bits_size; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210535.4]
  assign Repeater_io_enq_bits_source = auto_in_a_bits_source; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210535.4]
  assign Repeater_io_enq_bits_address = auto_in_a_bits_address; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210535.4]
  assign Repeater_io_enq_bits_mask = auto_in_a_bits_mask; // @[Fragmenter.scala 240:23:shc.marmotcaravel.MarmotCaravelConfig.fir@210535.4]
  assign Repeater_io_deq_ready = auto_out_a_ready; // @[Fragmenter.scala 280:13:shc.marmotcaravel.MarmotCaravelConfig.fir@210601.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_222 = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_224 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_226 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_323 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_341 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_222 <= 4'h0;
    end else begin
      if (_T_269) begin
        if (_T_228) begin
          _T_222 <= _T_227;
        end else begin
          _T_222 <= _T_272;
        end
      end
    end
    if (_T_269) begin
      if (_T_228) begin
        _T_224 <= _T_268;
      end
    end
    if (reset) begin
      _T_226 <= 1'h0;
    end else begin
      if (_T_269) begin
        if (_T_228) begin
          _T_226 <= _T_274;
        end
      end
    end
    if (reset) begin
      _T_323 <= 4'h0;
    end else begin
      if (_T_345) begin
        _T_323 <= _T_333;
      end
    end
    if (_T_324) begin
      _T_341 <= _T_226;
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:180 assert (!out.d.valid || (acknum_fragment & acknum_size) === UInt(0))\n"); // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210478.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Fragmenter.scala 180:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210479.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_364) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:286 assert (!repeater.io.full || !aHasData)\n"); // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210622.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_364) begin
          $fatal; // @[Fragmenter.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210623.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_370) begin
          $fwrite(32'h80000002,"Assertion failed\n    at Fragmenter.scala:289 assert (!repeater.io.full || in_a.bits.mask === fullMask)\n"); // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210633.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_370) begin
          $fatal; // @[Fragmenter.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210634.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_55( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210652.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210653.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210654.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
  input  [3:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
  input         io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
  input  [31:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
  input  [1:0]  io_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
  input  [3:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
  input         io_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
  input         io_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
  input         io_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
  input         io_in_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@210655.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@212445.4]
  wire  _T_21; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@210671.6]
  wire  _T_30; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210676.6]
  wire [26:0] _T_32; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210678.6]
  wire [11:0] _T_33; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210679.6]
  wire [11:0] _T_34; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210680.6]
  wire [31:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210681.6]
  wire [31:0] _T_35; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210681.6]
  wire  _T_36; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@210682.6]
  wire  _T_38; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210684.6]
  wire [1:0] _T_39; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@210685.6]
  wire [1:0] _T_41; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@210687.6]
  wire  _T_42; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210688.6]
  wire  _T_43; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210689.6]
  wire  _T_44; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210690.6]
  wire  _T_45; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@210691.6]
  wire  _T_47; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210693.6]
  wire  _T_48; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210694.6]
  wire  _T_50; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210696.6]
  wire  _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210697.6]
  wire  _T_52; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210698.6]
  wire  _T_53; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.6]
  wire  _T_54; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@210700.6]
  wire  _T_55; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210701.6]
  wire  _T_56; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210702.6]
  wire  _T_57; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210703.6]
  wire  _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210704.6]
  wire  _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210705.6]
  wire  _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210706.6]
  wire  _T_61; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210707.6]
  wire  _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210708.6]
  wire  _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210709.6]
  wire  _T_64; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210710.6]
  wire  _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210711.6]
  wire  _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210712.6]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210713.6]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210714.6]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210715.6]
  wire [32:0] _T_73; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210719.6]
  wire  _T_90; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210740.6]
  wire [31:0] _T_92; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210743.8]
  wire [32:0] _T_93; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210744.8]
  wire [32:0] _T_94; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210745.8]
  wire [32:0] _T_95; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210746.8]
  wire  _T_96; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210747.8]
  wire [31:0] _T_97; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210748.8]
  wire [32:0] _T_98; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210749.8]
  wire [32:0] _T_99; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210750.8]
  wire [32:0] _T_100; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210751.8]
  wire  _T_101; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210752.8]
  wire [31:0] _T_102; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210753.8]
  wire [32:0] _T_103; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210754.8]
  wire [32:0] _T_104; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210755.8]
  wire [32:0] _T_105; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210756.8]
  wire  _T_106; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210757.8]
  wire [31:0] _T_107; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210758.8]
  wire [32:0] _T_108; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210759.8]
  wire [32:0] _T_109; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210760.8]
  wire [32:0] _T_110; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210761.8]
  wire  _T_111; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210762.8]
  wire [31:0] _T_112; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210763.8]
  wire [32:0] _T_113; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210764.8]
  wire [32:0] _T_114; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210765.8]
  wire [32:0] _T_115; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210766.8]
  wire  _T_116; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210767.8]
  wire [31:0] _T_117; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210768.8]
  wire [32:0] _T_118; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210769.8]
  wire [32:0] _T_119; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210770.8]
  wire [32:0] _T_120; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210771.8]
  wire  _T_121; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210772.8]
  wire [31:0] _T_122; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210773.8]
  wire [32:0] _T_123; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210774.8]
  wire [32:0] _T_124; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210775.8]
  wire [32:0] _T_125; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210776.8]
  wire  _T_126; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210777.8]
  wire [31:0] _T_127; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210778.8]
  wire [32:0] _T_128; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210779.8]
  wire [32:0] _T_129; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210780.8]
  wire [32:0] _T_130; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210781.8]
  wire  _T_131; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210782.8]
  wire [31:0] _T_132; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210783.8]
  wire [32:0] _T_133; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210784.8]
  wire [32:0] _T_134; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210785.8]
  wire [32:0] _T_135; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210786.8]
  wire  _T_136; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210787.8]
  wire [31:0] _T_137; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210788.8]
  wire [32:0] _T_138; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210789.8]
  wire [32:0] _T_139; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210790.8]
  wire [32:0] _T_140; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210791.8]
  wire  _T_141; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210792.8]
  wire [32:0] _T_144; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210795.8]
  wire [32:0] _T_145; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210796.8]
  wire  _T_146; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210797.8]
  wire [31:0] _T_147; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210798.8]
  wire [32:0] _T_148; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210799.8]
  wire [32:0] _T_149; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210800.8]
  wire [32:0] _T_150; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210801.8]
  wire  _T_151; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210802.8]
  wire [31:0] _T_152; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210803.8]
  wire [32:0] _T_153; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210804.8]
  wire [32:0] _T_154; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210805.8]
  wire [32:0] _T_155; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210806.8]
  wire  _T_156; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210807.8]
  wire [31:0] _T_157; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210808.8]
  wire [32:0] _T_158; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210809.8]
  wire [32:0] _T_159; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210810.8]
  wire [32:0] _T_160; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210811.8]
  wire  _T_161; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210812.8]
  wire  _T_162; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@210813.8]
  wire  _T_163; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@210814.8]
  wire  _T_164; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@210815.8]
  wire  _T_165; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@210816.8]
  wire  _T_179; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210830.8]
  wire  _T_184; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210843.8]
  wire  _T_185; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210844.8]
  wire  _T_188; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210851.8]
  wire  _T_189; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210852.8]
  wire  _T_191; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210858.8]
  wire  _T_192; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210859.8]
  wire  _T_193; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210864.8]
  wire  _T_195; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210866.8]
  wire  _T_196; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210867.8]
  wire [3:0] _T_197; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210872.8]
  wire  _T_198; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210873.8]
  wire  _T_200; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210875.8]
  wire  _T_201; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210876.8]
  wire  _T_202; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210881.8]
  wire  _T_204; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210883.8]
  wire  _T_205; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210884.8]
  wire  _T_206; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210890.6]
  wire  _T_313; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@211022.8]
  wire  _T_315; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211024.8]
  wire  _T_316; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211025.8]
  wire  _T_326; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211048.6]
  wire  _T_328; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211051.8]
  wire  _T_336; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@211059.8]
  wire  _T_338; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211061.8]
  wire  _T_406; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211129.8]
  wire  _T_407; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211130.8]
  wire  _T_408; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211131.8]
  wire  _T_409; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211132.8]
  wire  _T_410; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211133.8]
  wire  _T_411; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211134.8]
  wire  _T_412; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211135.8]
  wire  _T_413; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211136.8]
  wire  _T_414; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211137.8]
  wire  _T_415; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211138.8]
  wire  _T_416; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211139.8]
  wire  _T_417; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211140.8]
  wire  _T_418; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@211141.8]
  wire  _T_420; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@211143.8]
  wire  _T_422; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211145.8]
  wire  _T_423; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211146.8]
  wire  _T_430; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@211165.8]
  wire  _T_432; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211167.8]
  wire  _T_433; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211168.8]
  wire  _T_434; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@211173.8]
  wire  _T_436; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211175.8]
  wire  _T_437; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211176.8]
  wire  _T_442; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211190.6]
  wire  _T_515; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211264.8]
  wire  _T_516; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211265.8]
  wire  _T_517; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211266.8]
  wire  _T_518; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211267.8]
  wire  _T_519; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211268.8]
  wire  _T_520; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211269.8]
  wire  _T_521; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211270.8]
  wire  _T_522; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@211271.8]
  wire  _T_537; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@211286.8]
  wire  _T_540; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211289.8]
  wire  _T_541; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211290.8]
  wire  _T_556; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211326.6]
  wire [3:0] _T_666; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@211453.8]
  wire [3:0] _T_667; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@211454.8]
  wire  _T_668; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@211455.8]
  wire  _T_670; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211457.8]
  wire  _T_671; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211458.8]
  wire  _T_672; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211464.6]
  wire  _T_674; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211467.8]
  wire  _T_741; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211534.8]
  wire  _T_742; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211535.8]
  wire  _T_743; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211536.8]
  wire  _T_744; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211537.8]
  wire  _T_745; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211538.8]
  wire  _T_746; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211539.8]
  wire  _T_747; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211540.8]
  wire  _T_748; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@211541.8]
  wire  _T_765; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211558.8]
  wire  _T_766; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211559.8]
  wire  _T_773; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@211578.8]
  wire  _T_775; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211580.8]
  wire  _T_776; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211581.8]
  wire  _T_781; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211595.6]
  wire  _T_882; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@211709.8]
  wire  _T_884; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211711.8]
  wire  _T_885; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211712.8]
  wire  _T_890; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211726.6]
  wire  _T_983; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211820.8]
  wire  _T_984; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211821.8]
  wire  _T_999; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@211859.6]
  wire  _T_1001; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@211861.6]
  wire  _T_1002; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@211862.6]
  wire  _T_1004; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@211868.6]
  wire  _T_1013; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@211873.6]
  wire  _T_1015; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211875.6]
  wire  _T_1017; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211878.8]
  wire  _T_1018; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211879.8]
  wire  _T_1019; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@211884.8]
  wire  _T_1021; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211886.8]
  wire  _T_1022; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211887.8]
  wire  _T_1023; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@211892.8]
  wire  _T_1025; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211894.8]
  wire  _T_1026; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211895.8]
  wire  _T_1027; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@211900.8]
  wire  _T_1029; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211902.8]
  wire  _T_1030; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211903.8]
  wire  _T_1031; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@211908.8]
  wire  _T_1033; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211910.8]
  wire  _T_1034; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211911.8]
  wire  _T_1035; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211917.6]
  wire  _T_1046; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@211941.8]
  wire  _T_1048; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211943.8]
  wire  _T_1049; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211944.8]
  wire  _T_1050; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@211949.8]
  wire  _T_1052; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211951.8]
  wire  _T_1053; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211952.8]
  wire  _T_1063; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211975.6]
  wire  _T_1083; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@212016.8]
  wire  _T_1085; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212018.8]
  wire  _T_1086; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212019.8]
  wire  _T_1092; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212034.6]
  wire  _T_1109; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212069.6]
  wire  _T_1127; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212105.6]
  wire  _T_1156; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212165.4]
  wire [9:0] _T_1161; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@212170.4]
  wire  _T_1162; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@212171.4]
  wire  _T_1163; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212172.4]
  reg [9:0] _T_1166; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212174.4]
  reg [31:0] _RAND_0;
  wire [10:0] _T_1167; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212175.4]
  wire [10:0] _T_1168; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212176.4]
  wire [9:0] _T_1169; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212177.4]
  wire  _T_1170; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212178.4]
  reg [2:0] _T_1179; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212189.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_1181; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212190.4]
  reg [31:0] _RAND_2;
  reg [3:0] _T_1183; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212191.4]
  reg [31:0] _RAND_3;
  reg  _T_1185; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212192.4]
  reg [31:0] _RAND_4;
  reg [31:0] _T_1187; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212193.4]
  reg [31:0] _RAND_5;
  wire  _T_1188; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212194.4]
  wire  _T_1189; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212195.4]
  wire  _T_1190; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212197.6]
  wire  _T_1192; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212199.6]
  wire  _T_1193; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212200.6]
  wire  _T_1194; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212205.6]
  wire  _T_1196; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212207.6]
  wire  _T_1197; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212208.6]
  wire  _T_1198; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212213.6]
  wire  _T_1200; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212215.6]
  wire  _T_1201; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212216.6]
  wire  _T_1202; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212221.6]
  wire  _T_1204; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212223.6]
  wire  _T_1205; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212224.6]
  wire  _T_1206; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212229.6]
  wire  _T_1208; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212231.6]
  wire  _T_1209; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212232.6]
  wire  _T_1211; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@212239.4]
  wire  _T_1212; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212247.4]
  wire [26:0] _T_1214; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@212249.4]
  wire [11:0] _T_1215; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@212250.4]
  wire [11:0] _T_1216; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@212251.4]
  wire [9:0] _T_1217; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@212252.4]
  wire  _T_1218; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@212253.4]
  reg [9:0] _T_1221; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212255.4]
  reg [31:0] _RAND_6;
  wire [10:0] _T_1222; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212256.4]
  wire [10:0] _T_1223; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212257.4]
  wire [9:0] _T_1224; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212258.4]
  wire  _T_1225; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212259.4]
  reg [2:0] _T_1234; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212270.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_1236; // @[Monitor.scala 419:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212271.4]
  reg [31:0] _RAND_8;
  reg [3:0] _T_1238; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212272.4]
  reg [31:0] _RAND_9;
  reg  _T_1240; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212273.4]
  reg [31:0] _RAND_10;
  reg  _T_1242; // @[Monitor.scala 422:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212274.4]
  reg [31:0] _RAND_11;
  reg  _T_1244; // @[Monitor.scala 423:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212275.4]
  reg [31:0] _RAND_12;
  wire  _T_1245; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212276.4]
  wire  _T_1246; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212277.4]
  wire  _T_1247; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212279.6]
  wire  _T_1249; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212281.6]
  wire  _T_1250; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212282.6]
  wire  _T_1251; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212287.6]
  wire  _T_1253; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212289.6]
  wire  _T_1254; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212290.6]
  wire  _T_1255; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212295.6]
  wire  _T_1257; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212297.6]
  wire  _T_1258; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212298.6]
  wire  _T_1259; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212303.6]
  wire  _T_1261; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212305.6]
  wire  _T_1262; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212306.6]
  wire  _T_1263; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212311.6]
  wire  _T_1265; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212313.6]
  wire  _T_1266; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212314.6]
  wire  _T_1267; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212319.6]
  wire  _T_1269; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212321.6]
  wire  _T_1270; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212322.6]
  wire  _T_1272; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@212329.4]
  reg [1:0] _T_1274; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212338.4]
  reg [31:0] _RAND_13;
  reg [9:0] _T_1285; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212348.4]
  reg [31:0] _RAND_14;
  wire [10:0] _T_1286; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212349.4]
  wire [10:0] _T_1287; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212350.4]
  wire [9:0] _T_1288; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212351.4]
  wire  _T_1289; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212352.4]
  reg [9:0] _T_1306; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212371.4]
  reg [31:0] _RAND_15;
  wire [10:0] _T_1307; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212372.4]
  wire [10:0] _T_1308; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212373.4]
  wire [9:0] _T_1309; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212374.4]
  wire  _T_1310; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212375.4]
  wire  _T_1321; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212390.4]
  wire [1:0] _T_1323; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@212393.6]
  wire [1:0] _T_1324; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@212395.6]
  wire  _T_1325; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@212396.6]
  wire  _T_1326; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212397.6]
  wire  _T_1328; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212399.6]
  wire  _T_1329; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212400.6]
  wire [1:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@212392.4]
  wire  _T_1334; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212411.4]
  wire  _T_1336; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@212413.4]
  wire  _T_1337; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@212414.4]
  wire [1:0] _T_1338; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@212416.6]
  wire [1:0] _T_1339; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212418.6]
  wire [1:0] _T_1340; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@212419.6]
  wire  _T_1341; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@212420.6]
  wire  _T_1343; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212422.6]
  wire  _T_1344; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212423.6]
  wire [1:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@212415.4]
  wire  _T_1345; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@212429.4]
  wire  _T_1346; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@212430.4]
  wire  _T_1347; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@212431.4]
  wire  _T_1348; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@212432.4]
  wire  _T_1350; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212434.4]
  wire  _T_1351; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212435.4]
  wire [1:0] _T_1352; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212440.4]
  wire [1:0] _T_1353; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@212441.4]
  wire [1:0] _T_1354; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@212442.4]
  reg [31:0] _T_1356; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212444.4]
  reg [31:0] _RAND_16;
  wire  _T_1357; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@212447.4]
  wire  _T_1358; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212448.4]
  wire  _T_1359; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@212449.4]
  wire  _T_1360; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212450.4]
  wire  _T_1361; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@212451.4]
  wire  _T_1362; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@212452.4]
  wire  _T_1364; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@212454.4]
  wire  _T_1365; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@212455.4]
  wire [31:0] _T_1367; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@212461.4]
  wire  _T_1370; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212465.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210832.10]
  wire  _GEN_35; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210982.10]
  wire  _GEN_53; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211148.10]
  wire  _GEN_65; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211292.10]
  wire  _GEN_75; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211428.10]
  wire  _GEN_85; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211561.10]
  wire  _GEN_95; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211692.10]
  wire  _GEN_105; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211823.10]
  wire  _GEN_115; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211881.10]
  wire  _GEN_125; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211923.10]
  wire  _GEN_137; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211981.10]
  wire  _GEN_149; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212040.10]
  wire  _GEN_155; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212075.10]
  wire  _GEN_161; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212111.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@212445.4]
    .out(plusarg_reader_out)
  );
  assign _T_21 = io_in_a_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@210671.6]
  assign _T_30 = io_in_a_bits_source | _T_21; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210676.6]
  assign _T_32 = 27'hfff << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@210678.6]
  assign _T_33 = _T_32[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@210679.6]
  assign _T_34 = ~ _T_33; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@210680.6]
  assign _GEN_18 = {{20'd0}, _T_34}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210681.6]
  assign _T_35 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@210681.6]
  assign _T_36 = _T_35 == 32'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@210682.6]
  assign _T_38 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210684.6]
  assign _T_39 = 2'h1 << _T_38; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@210685.6]
  assign _T_41 = _T_39 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@210687.6]
  assign _T_42 = io_in_a_bits_size >= 4'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@210688.6]
  assign _T_43 = _T_41[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210689.6]
  assign _T_44 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210690.6]
  assign _T_45 = _T_44 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@210691.6]
  assign _T_47 = _T_43 & _T_45; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210693.6]
  assign _T_48 = _T_42 | _T_47; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210694.6]
  assign _T_50 = _T_43 & _T_44; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210696.6]
  assign _T_51 = _T_42 | _T_50; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210697.6]
  assign _T_52 = _T_41[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210698.6]
  assign _T_53 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@210699.6]
  assign _T_54 = _T_53 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@210700.6]
  assign _T_55 = _T_45 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210701.6]
  assign _T_56 = _T_52 & _T_55; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210702.6]
  assign _T_57 = _T_48 | _T_56; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210703.6]
  assign _T_58 = _T_45 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210704.6]
  assign _T_59 = _T_52 & _T_58; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210705.6]
  assign _T_60 = _T_48 | _T_59; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210706.6]
  assign _T_61 = _T_44 & _T_54; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210707.6]
  assign _T_62 = _T_52 & _T_61; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210708.6]
  assign _T_63 = _T_51 | _T_62; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210709.6]
  assign _T_64 = _T_44 & _T_53; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210710.6]
  assign _T_65 = _T_52 & _T_64; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@210711.6]
  assign _T_66 = _T_51 | _T_65; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@210712.6]
  assign _T_67 = {_T_60,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210713.6]
  assign _T_68 = {_T_66,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210714.6]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@210715.6]
  assign _T_73 = {1'b0,$signed(io_in_a_bits_address)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210719.6]
  assign _T_90 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210740.6]
  assign _T_92 = io_in_a_bits_address ^ 32'h3000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210743.8]
  assign _T_93 = {1'b0,$signed(_T_92)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210744.8]
  assign _T_94 = $signed(_T_93) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210745.8]
  assign _T_95 = $signed(_T_94); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210746.8]
  assign _T_96 = $signed(_T_95) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210747.8]
  assign _T_97 = io_in_a_bits_address ^ 32'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210748.8]
  assign _T_98 = {1'b0,$signed(_T_97)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210749.8]
  assign _T_99 = $signed(_T_98) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210750.8]
  assign _T_100 = $signed(_T_99); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210751.8]
  assign _T_101 = $signed(_T_100) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210752.8]
  assign _T_102 = io_in_a_bits_address ^ 32'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210753.8]
  assign _T_103 = {1'b0,$signed(_T_102)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210754.8]
  assign _T_104 = $signed(_T_103) & $signed(-33'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210755.8]
  assign _T_105 = $signed(_T_104); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210756.8]
  assign _T_106 = $signed(_T_105) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210757.8]
  assign _T_107 = io_in_a_bits_address ^ 32'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210758.8]
  assign _T_108 = {1'b0,$signed(_T_107)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210759.8]
  assign _T_109 = $signed(_T_108) & $signed(-33'sh11000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210760.8]
  assign _T_110 = $signed(_T_109); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210761.8]
  assign _T_111 = $signed(_T_110) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210762.8]
  assign _T_112 = io_in_a_bits_address ^ 32'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210763.8]
  assign _T_113 = {1'b0,$signed(_T_112)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210764.8]
  assign _T_114 = $signed(_T_113) & $signed(-33'sh21000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210765.8]
  assign _T_115 = $signed(_T_114); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210766.8]
  assign _T_116 = $signed(_T_115) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210767.8]
  assign _T_117 = io_in_a_bits_address ^ 32'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210768.8]
  assign _T_118 = {1'b0,$signed(_T_117)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210769.8]
  assign _T_119 = $signed(_T_118) & $signed(-33'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210770.8]
  assign _T_120 = $signed(_T_119); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210771.8]
  assign _T_121 = $signed(_T_120) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210772.8]
  assign _T_122 = io_in_a_bits_address ^ 32'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210773.8]
  assign _T_123 = {1'b0,$signed(_T_122)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210774.8]
  assign _T_124 = $signed(_T_123) & $signed(-33'sh3000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210775.8]
  assign _T_125 = $signed(_T_124); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210776.8]
  assign _T_126 = $signed(_T_125) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210777.8]
  assign _T_127 = io_in_a_bits_address ^ 32'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210778.8]
  assign _T_128 = {1'b0,$signed(_T_127)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210779.8]
  assign _T_129 = $signed(_T_128) & $signed(-33'sh5000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210780.8]
  assign _T_130 = $signed(_T_129); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210781.8]
  assign _T_131 = $signed(_T_130) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210782.8]
  assign _T_132 = io_in_a_bits_address ^ 32'hc000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210783.8]
  assign _T_133 = {1'b0,$signed(_T_132)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210784.8]
  assign _T_134 = $signed(_T_133) & $signed(-33'sh4000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210785.8]
  assign _T_135 = $signed(_T_134); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210786.8]
  assign _T_136 = $signed(_T_135) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210787.8]
  assign _T_137 = io_in_a_bits_address ^ 32'h2000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210788.8]
  assign _T_138 = {1'b0,$signed(_T_137)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210789.8]
  assign _T_139 = $signed(_T_138) & $signed(-33'sh10000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210790.8]
  assign _T_140 = $signed(_T_139); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210791.8]
  assign _T_141 = $signed(_T_140) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210792.8]
  assign _T_144 = $signed(_T_73) & $signed(-33'sh10001000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210795.8]
  assign _T_145 = $signed(_T_144); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210796.8]
  assign _T_146 = $signed(_T_145) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210797.8]
  assign _T_147 = io_in_a_bits_address ^ 32'h8000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210798.8]
  assign _T_148 = {1'b0,$signed(_T_147)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210799.8]
  assign _T_149 = $signed(_T_148) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210800.8]
  assign _T_150 = $signed(_T_149); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210801.8]
  assign _T_151 = $signed(_T_150) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210802.8]
  assign _T_152 = io_in_a_bits_address ^ 32'h80000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210803.8]
  assign _T_153 = {1'b0,$signed(_T_152)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210804.8]
  assign _T_154 = $signed(_T_153) & $signed(-33'sh4000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210805.8]
  assign _T_155 = $signed(_T_154); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210806.8]
  assign _T_156 = $signed(_T_155) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210807.8]
  assign _T_157 = io_in_a_bits_address ^ 32'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@210808.8]
  assign _T_158 = {1'b0,$signed(_T_157)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@210809.8]
  assign _T_159 = $signed(_T_158) & $signed(-33'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210810.8]
  assign _T_160 = $signed(_T_159); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@210811.8]
  assign _T_161 = $signed(_T_160) == $signed(33'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@210812.8]
  assign _T_162 = _T_96 | _T_101; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@210813.8]
  assign _T_163 = _T_162 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@210814.8]
  assign _T_164 = _T_163 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@210815.8]
  assign _T_165 = _T_164 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@210816.8]
  assign _T_179 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210830.8]
  assign _T_184 = _T_30 | reset; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210843.8]
  assign _T_185 = _T_184 == 1'h0; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210844.8]
  assign _T_188 = _T_42 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210851.8]
  assign _T_189 = _T_188 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210852.8]
  assign _T_191 = _T_36 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210858.8]
  assign _T_192 = _T_191 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210859.8]
  assign _T_193 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@210864.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210866.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210867.8]
  assign _T_197 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210872.8]
  assign _T_198 = _T_197 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@210873.8]
  assign _T_200 = _T_198 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210875.8]
  assign _T_201 = _T_200 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210876.8]
  assign _T_202 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@210881.8]
  assign _T_204 = _T_202 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210883.8]
  assign _T_205 = _T_204 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210884.8]
  assign _T_206 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@210890.6]
  assign _T_313 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@211022.8]
  assign _T_315 = _T_313 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211024.8]
  assign _T_316 = _T_315 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211025.8]
  assign _T_326 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211048.6]
  assign _T_328 = io_in_a_bits_size <= 4'hc; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211051.8]
  assign _T_336 = _T_328 & _T_96; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@211059.8]
  assign _T_338 = io_in_a_bits_size <= 4'h6; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211061.8]
  assign _T_406 = _T_101 | _T_106; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211129.8]
  assign _T_407 = _T_406 | _T_111; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211130.8]
  assign _T_408 = _T_407 | _T_116; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211131.8]
  assign _T_409 = _T_408 | _T_121; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211132.8]
  assign _T_410 = _T_409 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211133.8]
  assign _T_411 = _T_410 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211134.8]
  assign _T_412 = _T_411 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211135.8]
  assign _T_413 = _T_412 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211136.8]
  assign _T_414 = _T_413 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211137.8]
  assign _T_415 = _T_414 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211138.8]
  assign _T_416 = _T_415 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211139.8]
  assign _T_417 = _T_416 | _T_161; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211140.8]
  assign _T_418 = _T_338 & _T_417; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@211141.8]
  assign _T_420 = _T_336 | _T_418; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@211143.8]
  assign _T_422 = _T_420 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211145.8]
  assign _T_423 = _T_422 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211146.8]
  assign _T_430 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@211165.8]
  assign _T_432 = _T_430 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211167.8]
  assign _T_433 = _T_432 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211168.8]
  assign _T_434 = io_in_a_bits_mask == _T_69; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@211173.8]
  assign _T_436 = _T_434 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211175.8]
  assign _T_437 = _T_436 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211176.8]
  assign _T_442 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211190.6]
  assign _T_515 = _T_408 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211264.8]
  assign _T_516 = _T_515 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211265.8]
  assign _T_517 = _T_516 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211266.8]
  assign _T_518 = _T_517 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211267.8]
  assign _T_519 = _T_518 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211268.8]
  assign _T_520 = _T_519 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211269.8]
  assign _T_521 = _T_520 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211270.8]
  assign _T_522 = _T_338 & _T_521; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@211271.8]
  assign _T_537 = _T_336 | _T_522; // @[Parameters.scala 170:30:shc.marmotcaravel.MarmotCaravelConfig.fir@211286.8]
  assign _T_540 = _T_537 | reset; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211289.8]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211290.8]
  assign _T_556 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211326.6]
  assign _T_666 = ~ _T_69; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@211453.8]
  assign _T_667 = io_in_a_bits_mask & _T_666; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@211454.8]
  assign _T_668 = _T_667 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@211455.8]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211457.8]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211458.8]
  assign _T_672 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211464.6]
  assign _T_674 = io_in_a_bits_size <= 4'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211467.8]
  assign _T_741 = _T_165 | _T_126; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211534.8]
  assign _T_742 = _T_741 | _T_131; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211535.8]
  assign _T_743 = _T_742 | _T_136; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211536.8]
  assign _T_744 = _T_743 | _T_141; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211537.8]
  assign _T_745 = _T_744 | _T_146; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211538.8]
  assign _T_746 = _T_745 | _T_151; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211539.8]
  assign _T_747 = _T_746 | _T_156; // @[Parameters.scala 169:42:shc.marmotcaravel.MarmotCaravelConfig.fir@211540.8]
  assign _T_748 = _T_674 & _T_747; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@211541.8]
  assign _T_765 = _T_748 | reset; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211558.8]
  assign _T_766 = _T_765 == 1'h0; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211559.8]
  assign _T_773 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@211578.8]
  assign _T_775 = _T_773 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211580.8]
  assign _T_776 = _T_775 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211581.8]
  assign _T_781 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211595.6]
  assign _T_882 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@211709.8]
  assign _T_884 = _T_882 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211711.8]
  assign _T_885 = _T_884 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211712.8]
  assign _T_890 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211726.6]
  assign _T_983 = _T_336 | reset; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211820.8]
  assign _T_984 = _T_983 == 1'h0; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211821.8]
  assign _T_999 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@211859.6]
  assign _T_1001 = _T_999 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@211861.6]
  assign _T_1002 = _T_1001 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@211862.6]
  assign _T_1004 = io_in_d_bits_source == 1'h0; // @[Parameters.scala 44:9:shc.marmotcaravel.MarmotCaravelConfig.fir@211868.6]
  assign _T_1013 = io_in_d_bits_source | _T_1004; // @[Parameters.scala 280:46:shc.marmotcaravel.MarmotCaravelConfig.fir@211873.6]
  assign _T_1015 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211875.6]
  assign _T_1017 = _T_1013 | reset; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211878.8]
  assign _T_1018 = _T_1017 == 1'h0; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211879.8]
  assign _T_1019 = io_in_d_bits_size >= 4'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@211884.8]
  assign _T_1021 = _T_1019 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211886.8]
  assign _T_1022 = _T_1021 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211887.8]
  assign _T_1023 = io_in_d_bits_param == 2'h0; // @[Monitor.scala 278:28:shc.marmotcaravel.MarmotCaravelConfig.fir@211892.8]
  assign _T_1025 = _T_1023 | reset; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211894.8]
  assign _T_1026 = _T_1025 == 1'h0; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211895.8]
  assign _T_1027 = io_in_d_bits_corrupt == 1'h0; // @[Monitor.scala 279:15:shc.marmotcaravel.MarmotCaravelConfig.fir@211900.8]
  assign _T_1029 = _T_1027 | reset; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211902.8]
  assign _T_1030 = _T_1029 == 1'h0; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211903.8]
  assign _T_1031 = io_in_d_bits_denied == 1'h0; // @[Monitor.scala 280:15:shc.marmotcaravel.MarmotCaravelConfig.fir@211908.8]
  assign _T_1033 = _T_1031 | reset; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211910.8]
  assign _T_1034 = _T_1033 == 1'h0; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211911.8]
  assign _T_1035 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211917.6]
  assign _T_1046 = io_in_d_bits_param <= 2'h2; // @[Bundles.scala 103:26:shc.marmotcaravel.MarmotCaravelConfig.fir@211941.8]
  assign _T_1048 = _T_1046 | reset; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211943.8]
  assign _T_1049 = _T_1048 == 1'h0; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211944.8]
  assign _T_1050 = io_in_d_bits_param != 2'h2; // @[Monitor.scala 288:28:shc.marmotcaravel.MarmotCaravelConfig.fir@211949.8]
  assign _T_1052 = _T_1050 | reset; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211951.8]
  assign _T_1053 = _T_1052 == 1'h0; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211952.8]
  assign _T_1063 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@211975.6]
  assign _T_1083 = _T_1031 | io_in_d_bits_corrupt; // @[Monitor.scala 299:30:shc.marmotcaravel.MarmotCaravelConfig.fir@212016.8]
  assign _T_1085 = _T_1083 | reset; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212018.8]
  assign _T_1086 = _T_1085 == 1'h0; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212019.8]
  assign _T_1092 = io_in_d_bits_opcode == 3'h0; // @[Monitor.scala 303:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212034.6]
  assign _T_1109 = io_in_d_bits_opcode == 3'h1; // @[Monitor.scala 311:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212069.6]
  assign _T_1127 = io_in_d_bits_opcode == 3'h2; // @[Monitor.scala 319:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212105.6]
  assign _T_1156 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212165.4]
  assign _T_1161 = _T_34[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@212170.4]
  assign _T_1162 = io_in_a_bits_opcode[2]; // @[Edges.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@212171.4]
  assign _T_1163 = _T_1162 == 1'h0; // @[Edges.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212172.4]
  assign _T_1167 = _T_1166 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212175.4]
  assign _T_1168 = $unsigned(_T_1167); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212176.4]
  assign _T_1169 = _T_1168[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212177.4]
  assign _T_1170 = _T_1166 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212178.4]
  assign _T_1188 = _T_1170 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212194.4]
  assign _T_1189 = io_in_a_valid & _T_1188; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212195.4]
  assign _T_1190 = io_in_a_bits_opcode == _T_1179; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212197.6]
  assign _T_1192 = _T_1190 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212199.6]
  assign _T_1193 = _T_1192 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212200.6]
  assign _T_1194 = io_in_a_bits_param == _T_1181; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212205.6]
  assign _T_1196 = _T_1194 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212207.6]
  assign _T_1197 = _T_1196 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212208.6]
  assign _T_1198 = io_in_a_bits_size == _T_1183; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212213.6]
  assign _T_1200 = _T_1198 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212215.6]
  assign _T_1201 = _T_1200 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212216.6]
  assign _T_1202 = io_in_a_bits_source == _T_1185; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212221.6]
  assign _T_1204 = _T_1202 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212223.6]
  assign _T_1205 = _T_1204 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212224.6]
  assign _T_1206 = io_in_a_bits_address == _T_1187; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212229.6]
  assign _T_1208 = _T_1206 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212231.6]
  assign _T_1209 = _T_1208 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212232.6]
  assign _T_1211 = _T_1156 & _T_1170; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@212239.4]
  assign _T_1212 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212247.4]
  assign _T_1214 = 27'hfff << io_in_d_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@212249.4]
  assign _T_1215 = _T_1214[11:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@212250.4]
  assign _T_1216 = ~ _T_1215; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@212251.4]
  assign _T_1217 = _T_1216[11:2]; // @[Edges.scala 220:59:shc.marmotcaravel.MarmotCaravelConfig.fir@212252.4]
  assign _T_1218 = io_in_d_bits_opcode[0]; // @[Edges.scala 106:36:shc.marmotcaravel.MarmotCaravelConfig.fir@212253.4]
  assign _T_1222 = _T_1221 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212256.4]
  assign _T_1223 = $unsigned(_T_1222); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212257.4]
  assign _T_1224 = _T_1223[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212258.4]
  assign _T_1225 = _T_1221 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212259.4]
  assign _T_1245 = _T_1225 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212276.4]
  assign _T_1246 = io_in_d_valid & _T_1245; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212277.4]
  assign _T_1247 = io_in_d_bits_opcode == _T_1234; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212279.6]
  assign _T_1249 = _T_1247 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212281.6]
  assign _T_1250 = _T_1249 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212282.6]
  assign _T_1251 = io_in_d_bits_param == _T_1236; // @[Monitor.scala 426:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212287.6]
  assign _T_1253 = _T_1251 | reset; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212289.6]
  assign _T_1254 = _T_1253 == 1'h0; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212290.6]
  assign _T_1255 = io_in_d_bits_size == _T_1238; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212295.6]
  assign _T_1257 = _T_1255 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212297.6]
  assign _T_1258 = _T_1257 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212298.6]
  assign _T_1259 = io_in_d_bits_source == _T_1240; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212303.6]
  assign _T_1261 = _T_1259 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212305.6]
  assign _T_1262 = _T_1261 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212306.6]
  assign _T_1263 = io_in_d_bits_sink == _T_1242; // @[Monitor.scala 429:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212311.6]
  assign _T_1265 = _T_1263 | reset; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212313.6]
  assign _T_1266 = _T_1265 == 1'h0; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212314.6]
  assign _T_1267 = io_in_d_bits_denied == _T_1244; // @[Monitor.scala 430:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212319.6]
  assign _T_1269 = _T_1267 | reset; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212321.6]
  assign _T_1270 = _T_1269 == 1'h0; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212322.6]
  assign _T_1272 = _T_1212 & _T_1225; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@212329.4]
  assign _T_1286 = _T_1285 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212349.4]
  assign _T_1287 = $unsigned(_T_1286); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212350.4]
  assign _T_1288 = _T_1287[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212351.4]
  assign _T_1289 = _T_1285 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212352.4]
  assign _T_1307 = _T_1306 - 10'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212372.4]
  assign _T_1308 = $unsigned(_T_1307); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212373.4]
  assign _T_1309 = _T_1308[9:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212374.4]
  assign _T_1310 = _T_1306 == 10'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212375.4]
  assign _T_1321 = _T_1156 & _T_1289; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212390.4]
  assign _T_1323 = 2'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@212393.6]
  assign _T_1324 = _T_1274 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@212395.6]
  assign _T_1325 = _T_1324[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@212396.6]
  assign _T_1326 = _T_1325 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212397.6]
  assign _T_1328 = _T_1326 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212399.6]
  assign _T_1329 = _T_1328 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212400.6]
  assign _GEN_15 = _T_1321 ? _T_1323 : 2'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@212392.4]
  assign _T_1334 = _T_1212 & _T_1310; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212411.4]
  assign _T_1336 = _T_1015 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@212413.4]
  assign _T_1337 = _T_1334 & _T_1336; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@212414.4]
  assign _T_1338 = 2'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@212416.6]
  assign _T_1339 = _GEN_15 | _T_1274; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212418.6]
  assign _T_1340 = _T_1339 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@212419.6]
  assign _T_1341 = _T_1340[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@212420.6]
  assign _T_1343 = _T_1341 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212422.6]
  assign _T_1344 = _T_1343 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212423.6]
  assign _GEN_16 = _T_1337 ? _T_1338 : 2'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@212415.4]
  assign _T_1345 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@212429.4]
  assign _T_1346 = _GEN_15 != 2'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@212430.4]
  assign _T_1347 = _T_1346 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@212431.4]
  assign _T_1348 = _T_1345 | _T_1347; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@212432.4]
  assign _T_1350 = _T_1348 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212434.4]
  assign _T_1351 = _T_1350 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212435.4]
  assign _T_1352 = _T_1274 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212440.4]
  assign _T_1353 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@212441.4]
  assign _T_1354 = _T_1352 & _T_1353; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@212442.4]
  assign _T_1357 = _T_1274 != 2'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@212447.4]
  assign _T_1358 = _T_1357 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212448.4]
  assign _T_1359 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@212449.4]
  assign _T_1360 = _T_1358 | _T_1359; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212450.4]
  assign _T_1361 = _T_1356 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@212451.4]
  assign _T_1362 = _T_1360 | _T_1361; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@212452.4]
  assign _T_1364 = _T_1362 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@212454.4]
  assign _T_1365 = _T_1364 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@212455.4]
  assign _T_1367 = _T_1356 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@212461.4]
  assign _T_1370 = _T_1156 | _T_1212; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@212465.4]
  assign _GEN_19 = io_in_a_valid & _T_90; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210832.10]
  assign _GEN_35 = io_in_a_valid & _T_206; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210982.10]
  assign _GEN_53 = io_in_a_valid & _T_326; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211148.10]
  assign _GEN_65 = io_in_a_valid & _T_442; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211292.10]
  assign _GEN_75 = io_in_a_valid & _T_556; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211428.10]
  assign _GEN_85 = io_in_a_valid & _T_672; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211561.10]
  assign _GEN_95 = io_in_a_valid & _T_781; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211692.10]
  assign _GEN_105 = io_in_a_valid & _T_890; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211823.10]
  assign _GEN_115 = io_in_d_valid & _T_1015; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211881.10]
  assign _GEN_125 = io_in_d_valid & _T_1035; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211923.10]
  assign _GEN_137 = io_in_d_valid & _T_1063; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211981.10]
  assign _GEN_149 = io_in_d_valid & _T_1092; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212040.10]
  assign _GEN_155 = io_in_d_valid & _T_1109; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212075.10]
  assign _GEN_161 = io_in_d_valid & _T_1127; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212111.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_1166 = _RAND_0[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_1179 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_1181 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_1183 = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_1185 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_1187 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_1221 = _RAND_6[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_1234 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_1236 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_1238 = _RAND_9[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_1240 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_1242 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_1244 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_1274 = _RAND_13[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  _T_1285 = _RAND_14[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  _T_1306 = _RAND_15[9:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  _T_1356 = _RAND_16[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_1166 <= 10'h0;
    end else begin
      if (_T_1156) begin
        if (_T_1170) begin
          if (_T_1163) begin
            _T_1166 <= _T_1161;
          end else begin
            _T_1166 <= 10'h0;
          end
        end else begin
          _T_1166 <= _T_1169;
        end
      end
    end
    if (_T_1211) begin
      _T_1179 <= io_in_a_bits_opcode;
    end
    if (_T_1211) begin
      _T_1181 <= io_in_a_bits_param;
    end
    if (_T_1211) begin
      _T_1183 <= io_in_a_bits_size;
    end
    if (_T_1211) begin
      _T_1185 <= io_in_a_bits_source;
    end
    if (_T_1211) begin
      _T_1187 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_1221 <= 10'h0;
    end else begin
      if (_T_1212) begin
        if (_T_1225) begin
          if (_T_1218) begin
            _T_1221 <= _T_1217;
          end else begin
            _T_1221 <= 10'h0;
          end
        end else begin
          _T_1221 <= _T_1224;
        end
      end
    end
    if (_T_1272) begin
      _T_1234 <= io_in_d_bits_opcode;
    end
    if (_T_1272) begin
      _T_1236 <= io_in_d_bits_param;
    end
    if (_T_1272) begin
      _T_1238 <= io_in_d_bits_size;
    end
    if (_T_1272) begin
      _T_1240 <= io_in_d_bits_source;
    end
    if (_T_1272) begin
      _T_1242 <= io_in_d_bits_sink;
    end
    if (_T_1272) begin
      _T_1244 <= io_in_d_bits_denied;
    end
    if (reset) begin
      _T_1274 <= 2'h0;
    end else begin
      _T_1274 <= _T_1354;
    end
    if (reset) begin
      _T_1285 <= 10'h0;
    end else begin
      if (_T_1156) begin
        if (_T_1289) begin
          if (_T_1163) begin
            _T_1285 <= _T_1161;
          end else begin
            _T_1285 <= 10'h0;
          end
        end else begin
          _T_1285 <= _T_1288;
        end
      end
    end
    if (reset) begin
      _T_1306 <= 10'h0;
    end else begin
      if (_T_1212) begin
        if (_T_1310) begin
          if (_T_1218) begin
            _T_1306 <= _T_1217;
          end else begin
            _T_1306 <= 10'h0;
          end
        end else begin
          _T_1306 <= _T_1309;
        end
      end
    end
    if (reset) begin
      _T_1356 <= 32'h0;
    end else begin
      if (_T_1370) begin
        _T_1356 <= 32'h0;
      end else begin
        _T_1356 <= _T_1367;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@210667.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@210668.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@210737.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@210738.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210832.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210833.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210839.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_179) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210840.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210846.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_185) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210847.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210854.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_189) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210855.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210861.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_192) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210862.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210869.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_196) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210870.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210878.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_201) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210879.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210886.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_205) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210887.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210982.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210983.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210989.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_179) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210990.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210996.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_185) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@210997.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_189) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211004.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_189) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211005.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211011.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_192) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211012.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211019.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_196) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211020.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_316) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211027.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_316) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211028.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211036.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_201) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211037.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_35 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211044.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_35 & _T_205) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211045.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_423) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211148.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_423) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211149.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211155.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_185) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211156.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211162.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_192) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211163.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211170.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_433) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211171.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211178.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_437) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211179.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_53 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211186.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_53 & _T_205) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211187.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211292.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_541) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211293.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211299.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_185) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211300.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211306.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_192) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211307.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211314.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_433) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211315.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_65 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211322.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_65 & _T_437) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211323.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211428.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_541) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211429.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211435.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_185) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211436.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211442.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_192) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211443.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_433) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211450.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_433) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211451.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211460.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_671) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211461.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_766) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211561.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_766) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211562.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211568.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_185) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211569.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211575.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_192) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211576.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_776) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211583.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_776) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211584.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_85 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211591.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_85 & _T_437) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211592.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_766) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211692.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_766) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211693.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211699.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_185) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211700.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211706.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_192) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211707.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_885) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211714.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_885) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211715.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_95 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211722.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_95 & _T_437) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211723.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_984) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211823.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_984) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211824.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_185) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211830.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_185) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211831.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_192) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211837.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_192) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211838.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_437) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211845.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_437) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211846.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211853.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_205) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211854.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_1002) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@211864.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_1002) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@211865.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211881.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1018) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211882.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211889.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1022) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211890.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211897.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1026) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211898.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211905.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1030) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211906.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_115 & _T_1034) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211913.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_115 & _T_1034) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211914.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211923.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1018) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211924.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211930.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_179) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211931.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211938.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1022) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211939.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1049) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211946.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1049) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211947.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1053) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211954.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1053) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211955.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_125 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211962.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_125 & _T_1030) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211963.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211971.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211972.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211981.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1018) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211982.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_179) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211988.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_179) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211989.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1022) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211996.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1022) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@211997.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1049) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212004.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1049) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212005.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1053) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212012.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1053) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212013.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_137 & _T_1086) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212021.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_137 & _T_1086) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212022.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212030.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212031.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212040.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1018) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212041.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212048.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1026) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212049.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_149 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212056.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_149 & _T_1030) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212057.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212065.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212066.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212075.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1018) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212076.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212083.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1026) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212084.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_155 & _T_1086) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212092.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_155 & _T_1086) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212093.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212101.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212102.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1018) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212111.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1018) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212112.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1026) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212119.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1026) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212120.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_161 & _T_1030) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212127.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_161 & _T_1030) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212128.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212136.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212137.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212146.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212147.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212154.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212155.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212162.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212163.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1193) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212202.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1193) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212203.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1197) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212210.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1197) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212211.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1201) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212218.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1201) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212219.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1205) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212226.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1205) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212227.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1189 & _T_1209) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212234.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1189 & _T_1209) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212235.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1250) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212284.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1250) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212285.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1254) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212292.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1254) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212293.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1258) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212300.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1258) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212301.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1262) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212308.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1262) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212309.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1266) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212316.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1266) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212317.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1246 & _T_1270) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212324.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1246 & _T_1270) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@212325.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1321 & _T_1329) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212402.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1321 & _T_1329) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212403.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1337 & _T_1344) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212425.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1337 & _T_1344) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212426.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1351) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 4 (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212437.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1351) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212438.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1365) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:30:80)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@212457.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1365) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@212458.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_15( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212598.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212599.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212600.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  input  [3:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  output [3:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  output [3:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  input  [3:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212601.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
  wire [3:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
  wire  TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
  wire [31:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
  wire [1:0] TLMonitor_io_in_d_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
  wire [3:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
  wire  TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
  wire  TLMonitor_io_in_d_bits_sink; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
  wire  TLMonitor_io_in_d_bits_denied; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
  wire  TLMonitor_io_in_d_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
  wire  Queue_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
  wire  Queue_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
  wire  Queue_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
  wire  Queue_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
  wire [2:0] Queue_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
  wire [2:0] Queue_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
  wire [3:0] Queue_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
  wire  Queue_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
  wire [31:0] Queue_io_enq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
  wire [3:0] Queue_io_enq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
  wire [31:0] Queue_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
  wire  Queue_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
  wire  Queue_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
  wire  Queue_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
  wire [2:0] Queue_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
  wire [2:0] Queue_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
  wire [3:0] Queue_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
  wire  Queue_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
  wire [31:0] Queue_io_deq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
  wire [3:0] Queue_io_deq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
  wire [31:0] Queue_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
  wire  Queue_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
  wire  Queue_1_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
  wire  Queue_1_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
  wire  Queue_1_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
  wire  Queue_1_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
  wire [2:0] Queue_1_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
  wire [1:0] Queue_1_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
  wire [3:0] Queue_1_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
  wire  Queue_1_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
  wire  Queue_1_io_enq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
  wire  Queue_1_io_enq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
  wire [31:0] Queue_1_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
  wire  Queue_1_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
  wire  Queue_1_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
  wire  Queue_1_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
  wire [2:0] Queue_1_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
  wire [1:0] Queue_1_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
  wire [3:0] Queue_1_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
  wire  Queue_1_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
  wire  Queue_1_io_deq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
  wire  Queue_1_io_deq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
  wire [31:0] Queue_1_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
  wire  Queue_1_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
  TLMonitor_55 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@212608.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_param(TLMonitor_io_in_d_bits_param),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source),
    .io_in_d_bits_sink(TLMonitor_io_in_d_bits_sink),
    .io_in_d_bits_denied(TLMonitor_io_in_d_bits_denied),
    .io_in_d_bits_corrupt(TLMonitor_io_in_d_bits_corrupt)
  );
  Queue Queue ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212649.4]
    .clock(Queue_clock),
    .reset(Queue_reset),
    .io_enq_ready(Queue_io_enq_ready),
    .io_enq_valid(Queue_io_enq_valid),
    .io_enq_bits_opcode(Queue_io_enq_bits_opcode),
    .io_enq_bits_param(Queue_io_enq_bits_param),
    .io_enq_bits_size(Queue_io_enq_bits_size),
    .io_enq_bits_source(Queue_io_enq_bits_source),
    .io_enq_bits_address(Queue_io_enq_bits_address),
    .io_enq_bits_mask(Queue_io_enq_bits_mask),
    .io_enq_bits_data(Queue_io_enq_bits_data),
    .io_enq_bits_corrupt(Queue_io_enq_bits_corrupt),
    .io_deq_ready(Queue_io_deq_ready),
    .io_deq_valid(Queue_io_deq_valid),
    .io_deq_bits_opcode(Queue_io_deq_bits_opcode),
    .io_deq_bits_param(Queue_io_deq_bits_param),
    .io_deq_bits_size(Queue_io_deq_bits_size),
    .io_deq_bits_source(Queue_io_deq_bits_source),
    .io_deq_bits_address(Queue_io_deq_bits_address),
    .io_deq_bits_mask(Queue_io_deq_bits_mask),
    .io_deq_bits_data(Queue_io_deq_bits_data),
    .io_deq_bits_corrupt(Queue_io_deq_bits_corrupt)
  );
  Queue_1 Queue_1 ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212663.4]
    .clock(Queue_1_clock),
    .reset(Queue_1_reset),
    .io_enq_ready(Queue_1_io_enq_ready),
    .io_enq_valid(Queue_1_io_enq_valid),
    .io_enq_bits_opcode(Queue_1_io_enq_bits_opcode),
    .io_enq_bits_param(Queue_1_io_enq_bits_param),
    .io_enq_bits_size(Queue_1_io_enq_bits_size),
    .io_enq_bits_source(Queue_1_io_enq_bits_source),
    .io_enq_bits_sink(Queue_1_io_enq_bits_sink),
    .io_enq_bits_denied(Queue_1_io_enq_bits_denied),
    .io_enq_bits_data(Queue_1_io_enq_bits_data),
    .io_enq_bits_corrupt(Queue_1_io_enq_bits_corrupt),
    .io_deq_ready(Queue_1_io_deq_ready),
    .io_deq_valid(Queue_1_io_deq_valid),
    .io_deq_bits_opcode(Queue_1_io_deq_bits_opcode),
    .io_deq_bits_param(Queue_1_io_deq_bits_param),
    .io_deq_bits_size(Queue_1_io_deq_bits_size),
    .io_deq_bits_source(Queue_1_io_deq_bits_source),
    .io_deq_bits_sink(Queue_1_io_deq_bits_sink),
    .io_deq_bits_denied(Queue_1_io_deq_bits_denied),
    .io_deq_bits_data(Queue_1_io_deq_bits_data),
    .io_deq_bits_corrupt(Queue_1_io_deq_bits_corrupt)
  );
  assign auto_in_a_ready = Queue_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212648.4]
  assign auto_in_d_valid = Queue_1_io_deq_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212648.4]
  assign auto_in_d_bits_opcode = Queue_1_io_deq_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212648.4]
  assign auto_in_d_bits_param = Queue_1_io_deq_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212648.4]
  assign auto_in_d_bits_size = Queue_1_io_deq_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212648.4]
  assign auto_in_d_bits_source = Queue_1_io_deq_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212648.4]
  assign auto_in_d_bits_sink = Queue_1_io_deq_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212648.4]
  assign auto_in_d_bits_denied = Queue_1_io_deq_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212648.4]
  assign auto_in_d_bits_data = Queue_1_io_deq_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212648.4]
  assign auto_in_d_bits_corrupt = Queue_1_io_deq_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212648.4]
  assign auto_out_a_valid = Queue_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212647.4]
  assign auto_out_a_bits_opcode = Queue_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212647.4]
  assign auto_out_a_bits_param = Queue_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212647.4]
  assign auto_out_a_bits_size = Queue_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212647.4]
  assign auto_out_a_bits_source = Queue_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212647.4]
  assign auto_out_a_bits_address = Queue_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212647.4]
  assign auto_out_a_bits_mask = Queue_io_deq_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212647.4]
  assign auto_out_a_bits_data = Queue_io_deq_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212647.4]
  assign auto_out_a_bits_corrupt = Queue_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212647.4]
  assign auto_out_d_ready = Queue_1_io_enq_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212647.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212610.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212611.4]
  assign TLMonitor_io_in_a_ready = Queue_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
  assign TLMonitor_io_in_d_valid = Queue_1_io_deq_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
  assign TLMonitor_io_in_d_bits_opcode = Queue_1_io_deq_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
  assign TLMonitor_io_in_d_bits_param = Queue_1_io_deq_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
  assign TLMonitor_io_in_d_bits_size = Queue_1_io_deq_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
  assign TLMonitor_io_in_d_bits_source = Queue_1_io_deq_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
  assign TLMonitor_io_in_d_bits_sink = Queue_1_io_deq_bits_sink; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
  assign TLMonitor_io_in_d_bits_denied = Queue_1_io_deq_bits_denied; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
  assign TLMonitor_io_in_d_bits_corrupt = Queue_1_io_deq_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@212644.4]
  assign Queue_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212650.4]
  assign Queue_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212651.4]
  assign Queue_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212652.4]
  assign Queue_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212660.4]
  assign Queue_io_enq_bits_param = auto_in_a_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212659.4]
  assign Queue_io_enq_bits_size = auto_in_a_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212658.4]
  assign Queue_io_enq_bits_source = auto_in_a_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212657.4]
  assign Queue_io_enq_bits_address = auto_in_a_bits_address; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212656.4]
  assign Queue_io_enq_bits_mask = auto_in_a_bits_mask; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212655.4]
  assign Queue_io_enq_bits_data = auto_in_a_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212654.4]
  assign Queue_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212653.4]
  assign Queue_io_deq_ready = auto_out_a_ready; // @[Buffer.scala 38:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212662.4]
  assign Queue_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212664.4]
  assign Queue_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212665.4]
  assign Queue_1_io_enq_valid = auto_out_d_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212666.4]
  assign Queue_1_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212674.4]
  assign Queue_1_io_enq_bits_param = auto_out_d_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212673.4]
  assign Queue_1_io_enq_bits_size = auto_out_d_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212672.4]
  assign Queue_1_io_enq_bits_source = auto_out_d_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212671.4]
  assign Queue_1_io_enq_bits_sink = auto_out_d_bits_sink; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212670.4]
  assign Queue_1_io_enq_bits_denied = auto_out_d_bits_denied; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212669.4]
  assign Queue_1_io_enq_bits_data = auto_out_d_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212668.4]
  assign Queue_1_io_enq_bits_corrupt = auto_out_d_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212667.4]
  assign Queue_1_io_deq_ready = auto_in_d_ready; // @[Buffer.scala 39:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212676.4]
endmodule
module Queue_11( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212684.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212685.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212686.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
  input  [2:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
  input  [31:0] io_enq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
  output [31:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212687.4]
);
  reg [2:0] _T_35_opcode [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  reg [31:0] _RAND_0;
  wire [2:0] _T_35_opcode__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_opcode__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire [2:0] _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_opcode__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_opcode__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_opcode__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  reg [2:0] _T_35_param [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  reg [31:0] _RAND_1;
  wire [2:0] _T_35_param__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_param__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire [2:0] _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_param__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_param__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_param__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  reg [2:0] _T_35_size [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  reg [31:0] _RAND_2;
  wire [2:0] _T_35_size__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_size__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire [2:0] _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_size__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_size__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_size__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  reg  _T_35_source [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  reg [31:0] _RAND_3;
  wire  _T_35_source__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_source__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_source__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_source__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_source__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  reg [31:0] _T_35_address [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  reg [31:0] _RAND_4;
  wire [31:0] _T_35_address__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_address__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire [31:0] _T_35_address__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_address__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_address__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_address__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  reg [3:0] _T_35_mask [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  reg [31:0] _RAND_5;
  wire [3:0] _T_35_mask__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_mask__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire [3:0] _T_35_mask__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_mask__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_mask__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_mask__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  reg [31:0] _T_35_data [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  reg [31:0] _RAND_6;
  wire [31:0] _T_35_data__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_data__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire [31:0] _T_35_data__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_data__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_data__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_data__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  reg  _T_35_corrupt [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  reg [31:0] _RAND_7;
  wire  _T_35_corrupt__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_corrupt__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_corrupt__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_corrupt__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  wire  _T_35_corrupt__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  reg  value; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@212690.4]
  reg [31:0] _RAND_8;
  reg  value_1; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@212691.4]
  reg [31:0] _RAND_9;
  reg  _T_39; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@212692.4]
  reg [31:0] _RAND_10;
  wire  _T_40; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@212693.4]
  wire  _T_41; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@212694.4]
  wire  _T_42; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@212695.4]
  wire  _T_43; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@212696.4]
  wire  _T_44; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@212697.4]
  wire  _T_47; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@212700.4]
  wire  _T_52; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212715.6]
  wire  _T_54; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212721.6]
  wire  _T_55; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@212724.4]
  assign _T_35_opcode__T_58_addr = value_1;
  assign _T_35_opcode__T_58_data = _T_35_opcode[_T_35_opcode__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  assign _T_35_opcode__T_50_data = io_enq_bits_opcode;
  assign _T_35_opcode__T_50_addr = value;
  assign _T_35_opcode__T_50_mask = 1'h1;
  assign _T_35_opcode__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_param__T_58_addr = value_1;
  assign _T_35_param__T_58_data = _T_35_param[_T_35_param__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  assign _T_35_param__T_50_data = io_enq_bits_param;
  assign _T_35_param__T_50_addr = value;
  assign _T_35_param__T_50_mask = 1'h1;
  assign _T_35_param__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_size__T_58_addr = value_1;
  assign _T_35_size__T_58_data = _T_35_size[_T_35_size__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  assign _T_35_size__T_50_data = io_enq_bits_size;
  assign _T_35_size__T_50_addr = value;
  assign _T_35_size__T_50_mask = 1'h1;
  assign _T_35_size__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_source__T_58_addr = value_1;
  assign _T_35_source__T_58_data = _T_35_source[_T_35_source__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  assign _T_35_source__T_50_data = io_enq_bits_source;
  assign _T_35_source__T_50_addr = value;
  assign _T_35_source__T_50_mask = 1'h1;
  assign _T_35_source__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_address__T_58_addr = value_1;
  assign _T_35_address__T_58_data = _T_35_address[_T_35_address__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  assign _T_35_address__T_50_data = io_enq_bits_address;
  assign _T_35_address__T_50_addr = value;
  assign _T_35_address__T_50_mask = 1'h1;
  assign _T_35_address__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_mask__T_58_addr = value_1;
  assign _T_35_mask__T_58_data = _T_35_mask[_T_35_mask__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  assign _T_35_mask__T_50_data = io_enq_bits_mask;
  assign _T_35_mask__T_50_addr = value;
  assign _T_35_mask__T_50_mask = 1'h1;
  assign _T_35_mask__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_data__T_58_addr = value_1;
  assign _T_35_data__T_58_data = _T_35_data[_T_35_data__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  assign _T_35_data__T_50_data = io_enq_bits_data;
  assign _T_35_data__T_50_addr = value;
  assign _T_35_data__T_50_mask = 1'h1;
  assign _T_35_data__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_corrupt__T_58_addr = value_1;
  assign _T_35_corrupt__T_58_data = _T_35_corrupt[_T_35_corrupt__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
  assign _T_35_corrupt__T_50_data = io_enq_bits_corrupt;
  assign _T_35_corrupt__T_50_addr = value;
  assign _T_35_corrupt__T_50_mask = 1'h1;
  assign _T_35_corrupt__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_40 = value == value_1; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@212693.4]
  assign _T_41 = _T_39 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@212694.4]
  assign _T_42 = _T_40 & _T_41; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@212695.4]
  assign _T_43 = _T_40 & _T_39; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@212696.4]
  assign _T_44 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@212697.4]
  assign _T_47 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@212700.4]
  assign _T_52 = value + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212715.6]
  assign _T_54 = value_1 + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212721.6]
  assign _T_55 = _T_44 != _T_47; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@212724.4]
  assign io_enq_ready = _T_43 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@212731.4]
  assign io_deq_valid = _T_42 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@212729.4]
  assign io_deq_bits_opcode = _T_35_opcode__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212740.4]
  assign io_deq_bits_param = _T_35_param__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212739.4]
  assign io_deq_bits_size = _T_35_size__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212738.4]
  assign io_deq_bits_source = _T_35_source__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212737.4]
  assign io_deq_bits_address = _T_35_address__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212736.4]
  assign io_deq_bits_mask = _T_35_mask__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212735.4]
  assign io_deq_bits_data = _T_35_data__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212734.4]
  assign io_deq_bits_corrupt = _T_35_corrupt__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212733.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  _RAND_0 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_opcode[initvar] = _RAND_0[2:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_1 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_param[initvar] = _RAND_1[2:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_2 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_size[initvar] = _RAND_2[2:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_3 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_source[initvar] = _RAND_3[0:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_4 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_address[initvar] = _RAND_4[31:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_5 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_mask[initvar] = _RAND_5[3:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_6 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_data[initvar] = _RAND_6[31:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_7 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_corrupt[initvar] = _RAND_7[0:0];
  `endif // RANDOMIZE_MEM_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  value = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  value_1 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_39 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if(_T_35_opcode__T_50_en & _T_35_opcode__T_50_mask) begin
      _T_35_opcode[_T_35_opcode__T_50_addr] <= _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
    end
    if(_T_35_param__T_50_en & _T_35_param__T_50_mask) begin
      _T_35_param[_T_35_param__T_50_addr] <= _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
    end
    if(_T_35_size__T_50_en & _T_35_size__T_50_mask) begin
      _T_35_size[_T_35_size__T_50_addr] <= _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
    end
    if(_T_35_source__T_50_en & _T_35_source__T_50_mask) begin
      _T_35_source[_T_35_source__T_50_addr] <= _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
    end
    if(_T_35_address__T_50_en & _T_35_address__T_50_mask) begin
      _T_35_address[_T_35_address__T_50_addr] <= _T_35_address__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
    end
    if(_T_35_mask__T_50_en & _T_35_mask__T_50_mask) begin
      _T_35_mask[_T_35_mask__T_50_addr] <= _T_35_mask__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
    end
    if(_T_35_data__T_50_en & _T_35_data__T_50_mask) begin
      _T_35_data[_T_35_data__T_50_addr] <= _T_35_data__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
    end
    if(_T_35_corrupt__T_50_en & _T_35_corrupt__T_50_mask) begin
      _T_35_corrupt[_T_35_corrupt__T_50_addr] <= _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212689.4]
    end
    if (reset) begin
      value <= 1'h0;
    end else begin
      if (_T_44) begin
        value <= _T_52;
      end
    end
    if (reset) begin
      value_1 <= 1'h0;
    end else begin
      if (_T_47) begin
        value_1 <= _T_54;
      end
    end
    if (reset) begin
      _T_39 <= 1'h0;
    end else begin
      if (_T_55) begin
        _T_39 <= _T_44;
      end
    end
  end
endmodule
module Queue_12( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212748.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212749.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212750.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
  input  [1:0]  io_enq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
  input  [2:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
  input         io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
  input         io_enq_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
  input         io_enq_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
  input         io_enq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
  output [1:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
  output [2:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
  output        io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
  output        io_deq_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
  output        io_deq_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
  output        io_deq_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212751.4]
);
  reg [2:0] _T_35_opcode [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  reg [31:0] _RAND_0;
  wire [2:0] _T_35_opcode__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_opcode__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire [2:0] _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_opcode__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_opcode__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_opcode__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  reg [1:0] _T_35_param [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  reg [31:0] _RAND_1;
  wire [1:0] _T_35_param__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_param__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire [1:0] _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_param__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_param__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_param__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  reg [2:0] _T_35_size [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  reg [31:0] _RAND_2;
  wire [2:0] _T_35_size__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_size__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire [2:0] _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_size__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_size__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_size__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  reg  _T_35_source [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  reg [31:0] _RAND_3;
  wire  _T_35_source__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_source__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_source__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_source__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_source__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  reg  _T_35_sink [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  reg [31:0] _RAND_4;
  wire  _T_35_sink__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_sink__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_sink__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_sink__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_sink__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_sink__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  reg  _T_35_denied [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  reg [31:0] _RAND_5;
  wire  _T_35_denied__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_denied__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_denied__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_denied__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_denied__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_denied__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  reg [31:0] _T_35_data [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  reg [31:0] _RAND_6;
  wire [31:0] _T_35_data__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_data__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire [31:0] _T_35_data__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_data__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_data__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_data__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  reg  _T_35_corrupt [0:1]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  reg [31:0] _RAND_7;
  wire  _T_35_corrupt__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_corrupt__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_corrupt__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_corrupt__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  wire  _T_35_corrupt__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  reg  value; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@212754.4]
  reg [31:0] _RAND_8;
  reg  value_1; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@212755.4]
  reg [31:0] _RAND_9;
  reg  _T_39; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@212756.4]
  reg [31:0] _RAND_10;
  wire  _T_40; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@212757.4]
  wire  _T_41; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@212758.4]
  wire  _T_42; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@212759.4]
  wire  _T_43; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@212760.4]
  wire  _T_44; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@212761.4]
  wire  _T_47; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@212764.4]
  wire  _T_52; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212779.6]
  wire  _T_54; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212785.6]
  wire  _T_55; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@212788.4]
  assign _T_35_opcode__T_58_addr = value_1;
  assign _T_35_opcode__T_58_data = _T_35_opcode[_T_35_opcode__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  assign _T_35_opcode__T_50_data = io_enq_bits_opcode;
  assign _T_35_opcode__T_50_addr = value;
  assign _T_35_opcode__T_50_mask = 1'h1;
  assign _T_35_opcode__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_param__T_58_addr = value_1;
  assign _T_35_param__T_58_data = _T_35_param[_T_35_param__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  assign _T_35_param__T_50_data = io_enq_bits_param;
  assign _T_35_param__T_50_addr = value;
  assign _T_35_param__T_50_mask = 1'h1;
  assign _T_35_param__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_size__T_58_addr = value_1;
  assign _T_35_size__T_58_data = _T_35_size[_T_35_size__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  assign _T_35_size__T_50_data = io_enq_bits_size;
  assign _T_35_size__T_50_addr = value;
  assign _T_35_size__T_50_mask = 1'h1;
  assign _T_35_size__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_source__T_58_addr = value_1;
  assign _T_35_source__T_58_data = _T_35_source[_T_35_source__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  assign _T_35_source__T_50_data = io_enq_bits_source;
  assign _T_35_source__T_50_addr = value;
  assign _T_35_source__T_50_mask = 1'h1;
  assign _T_35_source__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_sink__T_58_addr = value_1;
  assign _T_35_sink__T_58_data = _T_35_sink[_T_35_sink__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  assign _T_35_sink__T_50_data = io_enq_bits_sink;
  assign _T_35_sink__T_50_addr = value;
  assign _T_35_sink__T_50_mask = 1'h1;
  assign _T_35_sink__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_denied__T_58_addr = value_1;
  assign _T_35_denied__T_58_data = _T_35_denied[_T_35_denied__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  assign _T_35_denied__T_50_data = io_enq_bits_denied;
  assign _T_35_denied__T_50_addr = value;
  assign _T_35_denied__T_50_mask = 1'h1;
  assign _T_35_denied__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_data__T_58_addr = value_1;
  assign _T_35_data__T_58_data = _T_35_data[_T_35_data__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  assign _T_35_data__T_50_data = io_enq_bits_data;
  assign _T_35_data__T_50_addr = value;
  assign _T_35_data__T_50_mask = 1'h1;
  assign _T_35_data__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_35_corrupt__T_58_addr = value_1;
  assign _T_35_corrupt__T_58_data = _T_35_corrupt[_T_35_corrupt__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
  assign _T_35_corrupt__T_50_data = io_enq_bits_corrupt;
  assign _T_35_corrupt__T_50_addr = value;
  assign _T_35_corrupt__T_50_mask = 1'h1;
  assign _T_35_corrupt__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_40 = value == value_1; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@212757.4]
  assign _T_41 = _T_39 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@212758.4]
  assign _T_42 = _T_40 & _T_41; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@212759.4]
  assign _T_43 = _T_40 & _T_39; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@212760.4]
  assign _T_44 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@212761.4]
  assign _T_47 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@212764.4]
  assign _T_52 = value + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212779.6]
  assign _T_54 = value_1 + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212785.6]
  assign _T_55 = _T_44 != _T_47; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@212788.4]
  assign io_enq_ready = _T_43 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@212795.4]
  assign io_deq_valid = _T_42 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@212793.4]
  assign io_deq_bits_opcode = _T_35_opcode__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212804.4]
  assign io_deq_bits_param = _T_35_param__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212803.4]
  assign io_deq_bits_size = _T_35_size__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212802.4]
  assign io_deq_bits_source = _T_35_source__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212801.4]
  assign io_deq_bits_sink = _T_35_sink__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212800.4]
  assign io_deq_bits_denied = _T_35_denied__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212799.4]
  assign io_deq_bits_data = _T_35_data__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212798.4]
  assign io_deq_bits_corrupt = _T_35_corrupt__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@212797.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  _RAND_0 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_opcode[initvar] = _RAND_0[2:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_1 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_param[initvar] = _RAND_1[1:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_2 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_size[initvar] = _RAND_2[2:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_3 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_source[initvar] = _RAND_3[0:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_4 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_sink[initvar] = _RAND_4[0:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_5 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_denied[initvar] = _RAND_5[0:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_6 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_data[initvar] = _RAND_6[31:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_7 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 2; initvar = initvar+1)
    _T_35_corrupt[initvar] = _RAND_7[0:0];
  `endif // RANDOMIZE_MEM_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  value = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  value_1 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_39 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if(_T_35_opcode__T_50_en & _T_35_opcode__T_50_mask) begin
      _T_35_opcode[_T_35_opcode__T_50_addr] <= _T_35_opcode__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
    end
    if(_T_35_param__T_50_en & _T_35_param__T_50_mask) begin
      _T_35_param[_T_35_param__T_50_addr] <= _T_35_param__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
    end
    if(_T_35_size__T_50_en & _T_35_size__T_50_mask) begin
      _T_35_size[_T_35_size__T_50_addr] <= _T_35_size__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
    end
    if(_T_35_source__T_50_en & _T_35_source__T_50_mask) begin
      _T_35_source[_T_35_source__T_50_addr] <= _T_35_source__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
    end
    if(_T_35_sink__T_50_en & _T_35_sink__T_50_mask) begin
      _T_35_sink[_T_35_sink__T_50_addr] <= _T_35_sink__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
    end
    if(_T_35_denied__T_50_en & _T_35_denied__T_50_mask) begin
      _T_35_denied[_T_35_denied__T_50_addr] <= _T_35_denied__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
    end
    if(_T_35_data__T_50_en & _T_35_data__T_50_mask) begin
      _T_35_data[_T_35_data__T_50_addr] <= _T_35_data__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
    end
    if(_T_35_corrupt__T_50_en & _T_35_corrupt__T_50_mask) begin
      _T_35_corrupt[_T_35_corrupt__T_50_addr] <= _T_35_corrupt__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212753.4]
    end
    if (reset) begin
      value <= 1'h0;
    end else begin
      if (_T_44) begin
        value <= _T_52;
      end
    end
    if (reset) begin
      value_1 <= 1'h0;
    end else begin
      if (_T_47) begin
        value_1 <= _T_54;
      end
    end
    if (reset) begin
      _T_39 <= 1'h0;
    end else begin
      if (_T_55) begin
        _T_39 <= _T_44;
      end
    end
  end
endmodule
module TLBuffer_16( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212812.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212813.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212814.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  input  [2:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  input         auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  input  [31:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  output [1:0]  auto_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  output [2:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  output        auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  output        auto_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  output        auto_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  output        auto_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  output [2:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  output        auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  output [31:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  input  [1:0]  auto_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  input  [2:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  input         auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  input         auto_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  input         auto_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  input  [31:0] auto_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
  input         auto_out_d_bits_corrupt // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212815.4]
);
  wire  Queue_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
  wire  Queue_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
  wire  Queue_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
  wire  Queue_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
  wire [2:0] Queue_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
  wire [2:0] Queue_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
  wire [2:0] Queue_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
  wire  Queue_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
  wire [31:0] Queue_io_enq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
  wire [3:0] Queue_io_enq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
  wire [31:0] Queue_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
  wire  Queue_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
  wire  Queue_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
  wire  Queue_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
  wire [2:0] Queue_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
  wire [2:0] Queue_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
  wire [2:0] Queue_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
  wire  Queue_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
  wire [31:0] Queue_io_deq_bits_address; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
  wire [3:0] Queue_io_deq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
  wire [31:0] Queue_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
  wire  Queue_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
  wire  Queue_1_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
  wire  Queue_1_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
  wire  Queue_1_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
  wire  Queue_1_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
  wire [2:0] Queue_1_io_enq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
  wire [1:0] Queue_1_io_enq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
  wire [2:0] Queue_1_io_enq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
  wire  Queue_1_io_enq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
  wire  Queue_1_io_enq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
  wire  Queue_1_io_enq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
  wire [31:0] Queue_1_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
  wire  Queue_1_io_enq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
  wire  Queue_1_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
  wire  Queue_1_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
  wire [2:0] Queue_1_io_deq_bits_opcode; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
  wire [1:0] Queue_1_io_deq_bits_param; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
  wire [2:0] Queue_1_io_deq_bits_size; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
  wire  Queue_1_io_deq_bits_source; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
  wire  Queue_1_io_deq_bits_sink; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
  wire  Queue_1_io_deq_bits_denied; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
  wire [31:0] Queue_1_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
  wire  Queue_1_io_deq_bits_corrupt; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
  Queue_11 Queue ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212826.4]
    .clock(Queue_clock),
    .reset(Queue_reset),
    .io_enq_ready(Queue_io_enq_ready),
    .io_enq_valid(Queue_io_enq_valid),
    .io_enq_bits_opcode(Queue_io_enq_bits_opcode),
    .io_enq_bits_param(Queue_io_enq_bits_param),
    .io_enq_bits_size(Queue_io_enq_bits_size),
    .io_enq_bits_source(Queue_io_enq_bits_source),
    .io_enq_bits_address(Queue_io_enq_bits_address),
    .io_enq_bits_mask(Queue_io_enq_bits_mask),
    .io_enq_bits_data(Queue_io_enq_bits_data),
    .io_enq_bits_corrupt(Queue_io_enq_bits_corrupt),
    .io_deq_ready(Queue_io_deq_ready),
    .io_deq_valid(Queue_io_deq_valid),
    .io_deq_bits_opcode(Queue_io_deq_bits_opcode),
    .io_deq_bits_param(Queue_io_deq_bits_param),
    .io_deq_bits_size(Queue_io_deq_bits_size),
    .io_deq_bits_source(Queue_io_deq_bits_source),
    .io_deq_bits_address(Queue_io_deq_bits_address),
    .io_deq_bits_mask(Queue_io_deq_bits_mask),
    .io_deq_bits_data(Queue_io_deq_bits_data),
    .io_deq_bits_corrupt(Queue_io_deq_bits_corrupt)
  );
  Queue_12 Queue_1 ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212840.4]
    .clock(Queue_1_clock),
    .reset(Queue_1_reset),
    .io_enq_ready(Queue_1_io_enq_ready),
    .io_enq_valid(Queue_1_io_enq_valid),
    .io_enq_bits_opcode(Queue_1_io_enq_bits_opcode),
    .io_enq_bits_param(Queue_1_io_enq_bits_param),
    .io_enq_bits_size(Queue_1_io_enq_bits_size),
    .io_enq_bits_source(Queue_1_io_enq_bits_source),
    .io_enq_bits_sink(Queue_1_io_enq_bits_sink),
    .io_enq_bits_denied(Queue_1_io_enq_bits_denied),
    .io_enq_bits_data(Queue_1_io_enq_bits_data),
    .io_enq_bits_corrupt(Queue_1_io_enq_bits_corrupt),
    .io_deq_ready(Queue_1_io_deq_ready),
    .io_deq_valid(Queue_1_io_deq_valid),
    .io_deq_bits_opcode(Queue_1_io_deq_bits_opcode),
    .io_deq_bits_param(Queue_1_io_deq_bits_param),
    .io_deq_bits_size(Queue_1_io_deq_bits_size),
    .io_deq_bits_source(Queue_1_io_deq_bits_source),
    .io_deq_bits_sink(Queue_1_io_deq_bits_sink),
    .io_deq_bits_denied(Queue_1_io_deq_bits_denied),
    .io_deq_bits_data(Queue_1_io_deq_bits_data),
    .io_deq_bits_corrupt(Queue_1_io_deq_bits_corrupt)
  );
  assign auto_in_a_ready = Queue_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212825.4]
  assign auto_in_d_valid = Queue_1_io_deq_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212825.4]
  assign auto_in_d_bits_opcode = Queue_1_io_deq_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212825.4]
  assign auto_in_d_bits_param = Queue_1_io_deq_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212825.4]
  assign auto_in_d_bits_size = Queue_1_io_deq_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212825.4]
  assign auto_in_d_bits_source = Queue_1_io_deq_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212825.4]
  assign auto_in_d_bits_sink = Queue_1_io_deq_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212825.4]
  assign auto_in_d_bits_denied = Queue_1_io_deq_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212825.4]
  assign auto_in_d_bits_data = Queue_1_io_deq_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212825.4]
  assign auto_in_d_bits_corrupt = Queue_1_io_deq_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212825.4]
  assign auto_out_a_valid = Queue_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212824.4]
  assign auto_out_a_bits_opcode = Queue_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212824.4]
  assign auto_out_a_bits_param = Queue_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212824.4]
  assign auto_out_a_bits_size = Queue_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212824.4]
  assign auto_out_a_bits_source = Queue_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212824.4]
  assign auto_out_a_bits_address = Queue_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212824.4]
  assign auto_out_a_bits_mask = Queue_io_deq_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212824.4]
  assign auto_out_a_bits_data = Queue_io_deq_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212824.4]
  assign auto_out_a_bits_corrupt = Queue_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212824.4]
  assign auto_out_d_ready = Queue_1_io_enq_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212824.4]
  assign Queue_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212827.4]
  assign Queue_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212828.4]
  assign Queue_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212829.4]
  assign Queue_io_enq_bits_opcode = auto_in_a_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212837.4]
  assign Queue_io_enq_bits_param = auto_in_a_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212836.4]
  assign Queue_io_enq_bits_size = auto_in_a_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212835.4]
  assign Queue_io_enq_bits_source = auto_in_a_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212834.4]
  assign Queue_io_enq_bits_address = auto_in_a_bits_address; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212833.4]
  assign Queue_io_enq_bits_mask = auto_in_a_bits_mask; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212832.4]
  assign Queue_io_enq_bits_data = auto_in_a_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212831.4]
  assign Queue_io_enq_bits_corrupt = auto_in_a_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212830.4]
  assign Queue_io_deq_ready = auto_out_a_ready; // @[Buffer.scala 38:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212839.4]
  assign Queue_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212841.4]
  assign Queue_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212842.4]
  assign Queue_1_io_enq_valid = auto_out_d_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212843.4]
  assign Queue_1_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212851.4]
  assign Queue_1_io_enq_bits_param = auto_out_d_bits_param; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212850.4]
  assign Queue_1_io_enq_bits_size = auto_out_d_bits_size; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212849.4]
  assign Queue_1_io_enq_bits_source = auto_out_d_bits_source; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212848.4]
  assign Queue_1_io_enq_bits_sink = auto_out_d_bits_sink; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212847.4]
  assign Queue_1_io_enq_bits_denied = auto_out_d_bits_denied; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212846.4]
  assign Queue_1_io_enq_bits_data = auto_out_d_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212845.4]
  assign Queue_1_io_enq_bits_corrupt = auto_out_d_bits_corrupt; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212844.4]
  assign Queue_1_io_deq_ready = auto_in_d_ready; // @[Buffer.scala 39:13:shc.marmotcaravel.MarmotCaravelConfig.fir@212853.4]
endmodule
module SynchronizerShiftReg_w1_d3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212861.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212862.4]
  input   io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212864.4]
  output  io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212864.4]
);
  reg  sync_0; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@212869.4]
  reg [31:0] _RAND_0;
  reg  sync_1; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@212870.4]
  reg [31:0] _RAND_1;
  reg  sync_2; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@212871.4]
  reg [31:0] _RAND_2;
  assign io_q = sync_0; // @[ShiftReg.scala 123:8:shc.marmotcaravel.MarmotCaravelConfig.fir@212875.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  sync_0 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  sync_1 = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  sync_2 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    sync_0 <= sync_1;
    sync_1 <= sync_2;
    sync_2 <= io_d;
  end
endmodule
module IntSyncCrossingSink( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212877.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212878.4]
  input   auto_in_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212880.4]
  output  auto_out_0 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212880.4]
);
  wire  SynchronizerShiftReg_w1_d3_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@212891.4]
  wire  SynchronizerShiftReg_w1_d3_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@212891.4]
  wire  SynchronizerShiftReg_w1_d3_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@212891.4]
  SynchronizerShiftReg_w1_d3 SynchronizerShiftReg_w1_d3 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@212891.4]
    .clock(SynchronizerShiftReg_w1_d3_clock),
    .io_d(SynchronizerShiftReg_w1_d3_io_d),
    .io_q(SynchronizerShiftReg_w1_d3_io_q)
  );
  assign auto_out_0 = SynchronizerShiftReg_w1_d3_io_q; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212889.4]
  assign SynchronizerShiftReg_w1_d3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212893.4]
  assign SynchronizerShiftReg_w1_d3_io_d = auto_in_sync_0; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@212895.4]
endmodule
module IntSyncCrossingSink_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212905.2]
  input   auto_in_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212908.4]
  input   auto_in_sync_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212908.4]
  output  auto_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212908.4]
  output  auto_out_1 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212908.4]
);
  assign auto_out_0 = auto_in_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212917.4]
  assign auto_out_1 = auto_in_sync_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212917.4]
endmodule
module IntSyncCrossingSink_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212921.2]
  input   auto_in_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212924.4]
  output  auto_out_0 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212924.4]
);
  assign auto_out_0 = auto_in_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@212933.4]
endmodule
module HellaCacheArbiter( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212946.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212947.4]
  output        io_requestor_0_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input         io_requestor_0_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input  [31:0] io_requestor_0_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input  [6:0]  io_requestor_0_req_bits_tag, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input  [4:0]  io_requestor_0_req_bits_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input  [2:0]  io_requestor_0_req_bits_typ, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input         io_requestor_0_s1_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input  [31:0] io_requestor_0_s1_data_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output        io_requestor_0_s2_nack, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output        io_requestor_0_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output [6:0]  io_requestor_0_resp_bits_tag, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output [31:0] io_requestor_0_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output        io_requestor_0_resp_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output        io_requestor_0_resp_bits_has_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output [31:0] io_requestor_0_resp_bits_data_word_bypass, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output        io_requestor_0_replay_next, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output        io_requestor_0_s2_xcpt_ma_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output        io_requestor_0_s2_xcpt_ma_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output        io_requestor_0_s2_xcpt_pf_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output        io_requestor_0_s2_xcpt_pf_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output        io_requestor_0_s2_xcpt_ae_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output        io_requestor_0_s2_xcpt_ae_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output        io_requestor_0_ordered, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output        io_requestor_0_perf_grant, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input         io_requestor_0_keep_clock_enabled, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output        io_requestor_0_clock_enabled, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output        io_requestor_1_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input         io_requestor_1_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input  [31:0] io_requestor_1_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input  [4:0]  io_requestor_1_req_bits_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input  [2:0]  io_requestor_1_req_bits_typ, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input         io_requestor_1_s1_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input  [31:0] io_requestor_1_s1_data_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input  [3:0]  io_requestor_1_s1_data_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output        io_requestor_1_s2_nack, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output        io_requestor_1_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output [31:0] io_requestor_1_resp_bits_data_raw, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input         io_mem_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output        io_mem_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output [31:0] io_mem_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output [6:0]  io_mem_req_bits_tag, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output [4:0]  io_mem_req_bits_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output [2:0]  io_mem_req_bits_typ, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output        io_mem_req_bits_phys, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output        io_mem_s1_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output [31:0] io_mem_s1_data_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output [3:0]  io_mem_s1_data_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input         io_mem_s2_nack, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input         io_mem_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input  [6:0]  io_mem_resp_bits_tag, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input  [31:0] io_mem_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input         io_mem_resp_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input         io_mem_resp_bits_has_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input  [31:0] io_mem_resp_bits_data_word_bypass, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input  [31:0] io_mem_resp_bits_data_raw, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input         io_mem_replay_next, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input         io_mem_s2_xcpt_ma_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input         io_mem_s2_xcpt_ma_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input         io_mem_s2_xcpt_pf_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input         io_mem_s2_xcpt_pf_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input         io_mem_s2_xcpt_ae_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input         io_mem_s2_xcpt_ae_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input         io_mem_ordered, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input         io_mem_perf_grant, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  output        io_mem_keep_clock_enabled, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
  input         io_mem_clock_enabled // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@212949.4]
);
  reg  _T_210; // @[HellaCacheArbiter.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@212954.4]
  reg [31:0] _RAND_0;
  reg  _T_212; // @[HellaCacheArbiter.scala 20:20:shc.marmotcaravel.MarmotCaravelConfig.fir@212955.4]
  reg [31:0] _RAND_1;
  wire  _T_215; // @[HellaCacheArbiter.scala 27:67:shc.marmotcaravel.MarmotCaravelConfig.fir@212962.4]
  wire [7:0] _T_218; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@212980.6]
  wire [7:0] _GEN_4; // @[HellaCacheArbiter.scala 52:26:shc.marmotcaravel.MarmotCaravelConfig.fir@212975.4]
  wire  _T_219; // @[HellaCacheArbiter.scala 53:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212984.4]
  wire  _T_220; // @[HellaCacheArbiter.scala 54:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212989.4]
  wire  _T_221; // @[HellaCacheArbiter.scala 60:41:shc.marmotcaravel.MarmotCaravelConfig.fir@212993.4]
  wire  _T_222; // @[HellaCacheArbiter.scala 60:57:shc.marmotcaravel.MarmotCaravelConfig.fir@212994.4]
  wire [5:0] _T_226; // @[HellaCacheArbiter.scala 69:45:shc.marmotcaravel.MarmotCaravelConfig.fir@213006.4]
  assign _T_215 = io_requestor_0_req_valid == 1'h0; // @[HellaCacheArbiter.scala 27:67:shc.marmotcaravel.MarmotCaravelConfig.fir@212962.4]
  assign _T_218 = {io_requestor_0_req_bits_tag,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@212980.6]
  assign _GEN_4 = io_requestor_0_req_valid ? _T_218 : 8'h1; // @[HellaCacheArbiter.scala 52:26:shc.marmotcaravel.MarmotCaravelConfig.fir@212975.4]
  assign _T_219 = _T_210 == 1'h0; // @[HellaCacheArbiter.scala 53:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212984.4]
  assign _T_220 = _T_212 == 1'h0; // @[HellaCacheArbiter.scala 54:21:shc.marmotcaravel.MarmotCaravelConfig.fir@212989.4]
  assign _T_221 = io_mem_resp_bits_tag[0]; // @[HellaCacheArbiter.scala 60:41:shc.marmotcaravel.MarmotCaravelConfig.fir@212993.4]
  assign _T_222 = _T_221 == 1'h0; // @[HellaCacheArbiter.scala 60:57:shc.marmotcaravel.MarmotCaravelConfig.fir@212994.4]
  assign _T_226 = io_mem_resp_bits_tag[6:1]; // @[HellaCacheArbiter.scala 69:45:shc.marmotcaravel.MarmotCaravelConfig.fir@213006.4]
  assign io_requestor_0_req_ready = io_mem_req_ready; // @[HellaCacheArbiter.scala 25:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212961.4]
  assign io_requestor_0_s2_nack = io_mem_s2_nack & _T_220; // @[HellaCacheArbiter.scala 65:31:shc.marmotcaravel.MarmotCaravelConfig.fir@213002.4]
  assign io_requestor_0_resp_valid = io_mem_resp_valid & _T_222; // @[HellaCacheArbiter.scala 61:18:shc.marmotcaravel.MarmotCaravelConfig.fir@212996.4]
  assign io_requestor_0_resp_bits_tag = {{1'd0}, _T_226}; // @[HellaCacheArbiter.scala 68:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213005.4 HellaCacheArbiter.scala 69:21:shc.marmotcaravel.MarmotCaravelConfig.fir@213007.4]
  assign io_requestor_0_resp_bits_data = io_mem_resp_bits_data; // @[HellaCacheArbiter.scala 68:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213005.4]
  assign io_requestor_0_resp_bits_replay = io_mem_resp_bits_replay; // @[HellaCacheArbiter.scala 68:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213005.4]
  assign io_requestor_0_resp_bits_has_data = io_mem_resp_bits_has_data; // @[HellaCacheArbiter.scala 68:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213005.4]
  assign io_requestor_0_resp_bits_data_word_bypass = io_mem_resp_bits_data_word_bypass; // @[HellaCacheArbiter.scala 68:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213005.4]
  assign io_requestor_0_replay_next = io_mem_replay_next; // @[HellaCacheArbiter.scala 71:35:shc.marmotcaravel.MarmotCaravelConfig.fir@213008.4]
  assign io_requestor_0_s2_xcpt_ma_ld = io_mem_s2_xcpt_ma_ld; // @[HellaCacheArbiter.scala 62:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212997.4]
  assign io_requestor_0_s2_xcpt_ma_st = io_mem_s2_xcpt_ma_st; // @[HellaCacheArbiter.scala 62:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212997.4]
  assign io_requestor_0_s2_xcpt_pf_ld = io_mem_s2_xcpt_pf_ld; // @[HellaCacheArbiter.scala 62:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212997.4]
  assign io_requestor_0_s2_xcpt_pf_st = io_mem_s2_xcpt_pf_st; // @[HellaCacheArbiter.scala 62:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212997.4]
  assign io_requestor_0_s2_xcpt_ae_ld = io_mem_s2_xcpt_ae_ld; // @[HellaCacheArbiter.scala 62:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212997.4]
  assign io_requestor_0_s2_xcpt_ae_st = io_mem_s2_xcpt_ae_st; // @[HellaCacheArbiter.scala 62:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212997.4]
  assign io_requestor_0_ordered = io_mem_ordered; // @[HellaCacheArbiter.scala 63:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212998.4]
  assign io_requestor_0_perf_grant = io_mem_perf_grant; // @[HellaCacheArbiter.scala 64:28:shc.marmotcaravel.MarmotCaravelConfig.fir@212999.4]
  assign io_requestor_0_clock_enabled = io_mem_clock_enabled; // @[HellaCacheArbiter.scala 67:37:shc.marmotcaravel.MarmotCaravelConfig.fir@213004.4]
  assign io_requestor_1_req_ready = io_requestor_0_req_ready & _T_215; // @[HellaCacheArbiter.scala 27:33:shc.marmotcaravel.MarmotCaravelConfig.fir@212964.4]
  assign io_requestor_1_s2_nack = io_mem_s2_nack & _T_212; // @[HellaCacheArbiter.scala 65:31:shc.marmotcaravel.MarmotCaravelConfig.fir@213018.4]
  assign io_requestor_1_resp_valid = io_mem_resp_valid & _T_221; // @[HellaCacheArbiter.scala 61:18:shc.marmotcaravel.MarmotCaravelConfig.fir@213012.4]
  assign io_requestor_1_resp_bits_data_raw = io_mem_resp_bits_data_raw; // @[HellaCacheArbiter.scala 68:17:shc.marmotcaravel.MarmotCaravelConfig.fir@213021.4]
  assign io_mem_req_valid = io_requestor_0_req_valid | io_requestor_1_req_valid; // @[HellaCacheArbiter.scala 24:22:shc.marmotcaravel.MarmotCaravelConfig.fir@212960.4]
  assign io_mem_req_bits_addr = io_requestor_0_req_valid ? io_requestor_0_req_bits_addr : io_requestor_1_req_bits_addr; // @[HellaCacheArbiter.scala 34:30:shc.marmotcaravel.MarmotCaravelConfig.fir@212967.4 HellaCacheArbiter.scala 34:30:shc.marmotcaravel.MarmotCaravelConfig.fir@212978.6]
  assign io_mem_req_bits_tag = _GEN_4[6:0]; // @[HellaCacheArbiter.scala 36:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212970.4 HellaCacheArbiter.scala 36:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212981.6]
  assign io_mem_req_bits_cmd = io_requestor_0_req_valid ? io_requestor_0_req_bits_cmd : io_requestor_1_req_bits_cmd; // @[HellaCacheArbiter.scala 32:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212965.4 HellaCacheArbiter.scala 32:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212976.6]
  assign io_mem_req_bits_typ = io_requestor_0_req_valid ? io_requestor_0_req_bits_typ : io_requestor_1_req_bits_typ; // @[HellaCacheArbiter.scala 33:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212966.4 HellaCacheArbiter.scala 33:29:shc.marmotcaravel.MarmotCaravelConfig.fir@212977.6]
  assign io_mem_req_bits_phys = io_requestor_0_req_valid ? 1'h0 : 1'h1; // @[HellaCacheArbiter.scala 35:30:shc.marmotcaravel.MarmotCaravelConfig.fir@212968.4 HellaCacheArbiter.scala 35:30:shc.marmotcaravel.MarmotCaravelConfig.fir@212979.6]
  assign io_mem_s1_kill = _T_219 ? io_requestor_0_s1_kill : io_requestor_1_s1_kill; // @[HellaCacheArbiter.scala 40:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212972.4 HellaCacheArbiter.scala 40:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212986.6]
  assign io_mem_s1_data_data = _T_219 ? io_requestor_0_s1_data_data : io_requestor_1_s1_data_data; // @[HellaCacheArbiter.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212973.4 HellaCacheArbiter.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212987.6]
  assign io_mem_s1_data_mask = _T_219 ? 4'h0 : io_requestor_1_s1_data_mask; // @[HellaCacheArbiter.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212973.4 HellaCacheArbiter.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@212987.6]
  assign io_mem_keep_clock_enabled = io_requestor_0_keep_clock_enabled; // @[HellaCacheArbiter.scala 22:31:shc.marmotcaravel.MarmotCaravelConfig.fir@212958.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_210 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_212 = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (io_requestor_0_req_valid) begin
      _T_210 <= 1'h0;
    end else begin
      _T_210 <= 1'h1;
    end
    _T_212 <= _T_210;
  end
endmodule
module PTW( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213066.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213067.4]
  output        io_requestor_0_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [1:0]  io_requestor_0_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [29:0] io_requestor_0_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [31:0] io_requestor_0_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [1:0]  io_requestor_0_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [29:0] io_requestor_0_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [31:0] io_requestor_0_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [1:0]  io_requestor_0_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [29:0] io_requestor_0_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [31:0] io_requestor_0_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [1:0]  io_requestor_0_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [29:0] io_requestor_0_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [31:0] io_requestor_0_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [1:0]  io_requestor_0_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [29:0] io_requestor_0_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [31:0] io_requestor_0_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [1:0]  io_requestor_0_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [29:0] io_requestor_0_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [31:0] io_requestor_0_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [1:0]  io_requestor_0_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [29:0] io_requestor_0_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [31:0] io_requestor_0_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [1:0]  io_requestor_0_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_0_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [29:0] io_requestor_0_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [31:0] io_requestor_0_pmp_7_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [1:0]  io_requestor_1_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [29:0] io_requestor_1_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [31:0] io_requestor_1_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [1:0]  io_requestor_1_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [29:0] io_requestor_1_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [31:0] io_requestor_1_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [1:0]  io_requestor_1_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [29:0] io_requestor_1_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [31:0] io_requestor_1_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [1:0]  io_requestor_1_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [29:0] io_requestor_1_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [31:0] io_requestor_1_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [1:0]  io_requestor_1_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [29:0] io_requestor_1_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [31:0] io_requestor_1_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [1:0]  io_requestor_1_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [29:0] io_requestor_1_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [31:0] io_requestor_1_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [1:0]  io_requestor_1_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [29:0] io_requestor_1_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [31:0] io_requestor_1_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [1:0]  io_requestor_1_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output        io_requestor_1_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [29:0] io_requestor_1_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  output [31:0] io_requestor_1_pmp_7_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input  [1:0]  io_dpath_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input  [29:0] io_dpath_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input  [31:0] io_dpath_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input  [1:0]  io_dpath_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input  [29:0] io_dpath_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input  [31:0] io_dpath_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input  [1:0]  io_dpath_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input  [29:0] io_dpath_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input  [31:0] io_dpath_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input  [1:0]  io_dpath_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input  [29:0] io_dpath_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input  [31:0] io_dpath_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input  [1:0]  io_dpath_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input  [29:0] io_dpath_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input  [31:0] io_dpath_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input  [1:0]  io_dpath_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input  [29:0] io_dpath_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input  [31:0] io_dpath_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input  [1:0]  io_dpath_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input  [29:0] io_dpath_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input  [31:0] io_dpath_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input  [1:0]  io_dpath_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input         io_dpath_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input  [29:0] io_dpath_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
  input  [31:0] io_dpath_pmp_7_mask // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@213069.4]
);
  assign io_requestor_0_pmp_0_cfg_l = io_dpath_pmp_0_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_0_cfg_a = io_dpath_pmp_0_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_0_cfg_x = io_dpath_pmp_0_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_0_cfg_w = io_dpath_pmp_0_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_0_cfg_r = io_dpath_pmp_0_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_0_addr = io_dpath_pmp_0_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_0_mask = io_dpath_pmp_0_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_1_cfg_l = io_dpath_pmp_1_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_1_cfg_a = io_dpath_pmp_1_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_1_cfg_x = io_dpath_pmp_1_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_1_cfg_w = io_dpath_pmp_1_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_1_cfg_r = io_dpath_pmp_1_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_1_addr = io_dpath_pmp_1_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_1_mask = io_dpath_pmp_1_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_2_cfg_l = io_dpath_pmp_2_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_2_cfg_a = io_dpath_pmp_2_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_2_cfg_x = io_dpath_pmp_2_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_2_cfg_w = io_dpath_pmp_2_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_2_cfg_r = io_dpath_pmp_2_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_2_addr = io_dpath_pmp_2_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_2_mask = io_dpath_pmp_2_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_3_cfg_l = io_dpath_pmp_3_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_3_cfg_a = io_dpath_pmp_3_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_3_cfg_x = io_dpath_pmp_3_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_3_cfg_w = io_dpath_pmp_3_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_3_cfg_r = io_dpath_pmp_3_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_3_addr = io_dpath_pmp_3_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_3_mask = io_dpath_pmp_3_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_4_cfg_l = io_dpath_pmp_4_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_4_cfg_a = io_dpath_pmp_4_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_4_cfg_x = io_dpath_pmp_4_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_4_cfg_w = io_dpath_pmp_4_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_4_cfg_r = io_dpath_pmp_4_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_4_addr = io_dpath_pmp_4_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_4_mask = io_dpath_pmp_4_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_5_cfg_l = io_dpath_pmp_5_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_5_cfg_a = io_dpath_pmp_5_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_5_cfg_x = io_dpath_pmp_5_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_5_cfg_w = io_dpath_pmp_5_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_5_cfg_r = io_dpath_pmp_5_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_5_addr = io_dpath_pmp_5_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_5_mask = io_dpath_pmp_5_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_6_cfg_l = io_dpath_pmp_6_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_6_cfg_a = io_dpath_pmp_6_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_6_cfg_x = io_dpath_pmp_6_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_6_cfg_w = io_dpath_pmp_6_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_6_cfg_r = io_dpath_pmp_6_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_6_addr = io_dpath_pmp_6_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_6_mask = io_dpath_pmp_6_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_7_cfg_l = io_dpath_pmp_7_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_7_cfg_a = io_dpath_pmp_7_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_7_cfg_x = io_dpath_pmp_7_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_7_cfg_w = io_dpath_pmp_7_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_7_cfg_r = io_dpath_pmp_7_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_7_addr = io_dpath_pmp_7_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_0_pmp_7_mask = io_dpath_pmp_7_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214011.4]
  assign io_requestor_1_pmp_0_cfg_l = io_dpath_pmp_0_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_0_cfg_a = io_dpath_pmp_0_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_0_cfg_x = io_dpath_pmp_0_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_0_cfg_w = io_dpath_pmp_0_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_0_cfg_r = io_dpath_pmp_0_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_0_addr = io_dpath_pmp_0_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_0_mask = io_dpath_pmp_0_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_1_cfg_l = io_dpath_pmp_1_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_1_cfg_a = io_dpath_pmp_1_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_1_cfg_x = io_dpath_pmp_1_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_1_cfg_w = io_dpath_pmp_1_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_1_cfg_r = io_dpath_pmp_1_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_1_addr = io_dpath_pmp_1_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_1_mask = io_dpath_pmp_1_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_2_cfg_l = io_dpath_pmp_2_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_2_cfg_a = io_dpath_pmp_2_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_2_cfg_x = io_dpath_pmp_2_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_2_cfg_w = io_dpath_pmp_2_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_2_cfg_r = io_dpath_pmp_2_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_2_addr = io_dpath_pmp_2_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_2_mask = io_dpath_pmp_2_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_3_cfg_l = io_dpath_pmp_3_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_3_cfg_a = io_dpath_pmp_3_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_3_cfg_x = io_dpath_pmp_3_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_3_cfg_w = io_dpath_pmp_3_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_3_cfg_r = io_dpath_pmp_3_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_3_addr = io_dpath_pmp_3_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_3_mask = io_dpath_pmp_3_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_4_cfg_l = io_dpath_pmp_4_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_4_cfg_a = io_dpath_pmp_4_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_4_cfg_x = io_dpath_pmp_4_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_4_cfg_w = io_dpath_pmp_4_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_4_cfg_r = io_dpath_pmp_4_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_4_addr = io_dpath_pmp_4_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_4_mask = io_dpath_pmp_4_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_5_cfg_l = io_dpath_pmp_5_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_5_cfg_a = io_dpath_pmp_5_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_5_cfg_x = io_dpath_pmp_5_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_5_cfg_w = io_dpath_pmp_5_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_5_cfg_r = io_dpath_pmp_5_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_5_addr = io_dpath_pmp_5_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_5_mask = io_dpath_pmp_5_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_6_cfg_l = io_dpath_pmp_6_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_6_cfg_a = io_dpath_pmp_6_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_6_cfg_x = io_dpath_pmp_6_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_6_cfg_w = io_dpath_pmp_6_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_6_cfg_r = io_dpath_pmp_6_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_6_addr = io_dpath_pmp_6_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_6_mask = io_dpath_pmp_6_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_7_cfg_l = io_dpath_pmp_7_cfg_l; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_7_cfg_a = io_dpath_pmp_7_cfg_a; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_7_cfg_x = io_dpath_pmp_7_cfg_x; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_7_cfg_w = io_dpath_pmp_7_cfg_w; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_7_cfg_r = io_dpath_pmp_7_cfg_r; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_7_addr = io_dpath_pmp_7_addr; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  assign io_requestor_1_pmp_7_mask = io_dpath_pmp_7_mask; // @[PTW.scala 266:25:shc.marmotcaravel.MarmotCaravelConfig.fir@214023.4]
  always @(posedge clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed\n    at PTW.scala:323 assert(state === s_req || state === s_wait1)\n"); // @[PTW.scala 323:11:shc.marmotcaravel.MarmotCaravelConfig.fir@214151.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[PTW.scala 323:11:shc.marmotcaravel.MarmotCaravelConfig.fir@214152.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed\n    at PTW.scala:330 assert(state === s_wait2)\n"); // @[PTW.scala 330:11:shc.marmotcaravel.MarmotCaravelConfig.fir@214167.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[PTW.scala 330:11:shc.marmotcaravel.MarmotCaravelConfig.fir@214168.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed\n    at PTW.scala:334 assert(state === s_wait2 || state === s_wait3)\n"); // @[PTW.scala 334:11:shc.marmotcaravel.MarmotCaravelConfig.fir@214180.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[PTW.scala 334:11:shc.marmotcaravel.MarmotCaravelConfig.fir@214181.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module RVCExpander( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214252.2]
  input  [31:0] io_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214255.4]
  output [31:0] io_out_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214255.4]
  output [4:0]  io_out_rd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214255.4]
  output [4:0]  io_out_rs1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214255.4]
  output [4:0]  io_out_rs2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214255.4]
  output        io_rvc // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@214255.4]
);
  wire [1:0] _T_6; // @[RVC.scala 163:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214260.4]
  wire [7:0] _T_8; // @[RVC.scala 53:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214263.4]
  wire  _T_9; // @[RVC.scala 53:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214264.4]
  wire [6:0] _T_10; // @[RVC.scala 53:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214265.4]
  wire [3:0] _T_11; // @[RVC.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214266.4]
  wire [1:0] _T_12; // @[RVC.scala 34:35:shc.marmotcaravel.MarmotCaravelConfig.fir@214267.4]
  wire  _T_13; // @[RVC.scala 34:45:shc.marmotcaravel.MarmotCaravelConfig.fir@214268.4]
  wire  _T_14; // @[RVC.scala 34:51:shc.marmotcaravel.MarmotCaravelConfig.fir@214269.4]
  wire [2:0] _T_15; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214270.4]
  wire [5:0] _T_16; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214271.4]
  wire [6:0] _T_17; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214272.4]
  wire [9:0] _T_18; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214273.4]
  wire [2:0] _T_19; // @[RVC.scala 31:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214274.4]
  wire [4:0] _T_20; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214275.4]
  wire [11:0] _T_21; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214276.4]
  wire [14:0] _T_22; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214277.4]
  wire [17:0] _T_23; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214278.4]
  wire [29:0] _T_24; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214279.4]
  wire [1:0] _T_32; // @[RVC.scala 36:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214292.4]
  wire [2:0] _T_33; // @[RVC.scala 36:28:shc.marmotcaravel.MarmotCaravelConfig.fir@214293.4]
  wire [4:0] _T_34; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214294.4]
  wire [7:0] _T_35; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214295.4]
  wire [2:0] _T_36; // @[RVC.scala 30:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214296.4]
  wire [4:0] _T_37; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214297.4]
  wire [11:0] _T_40; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214300.4]
  wire [12:0] _T_41; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214301.4]
  wire [15:0] _T_42; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214302.4]
  wire [27:0] _T_43; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214303.4]
  wire [3:0] _T_57; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214322.4]
  wire [6:0] _T_58; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214323.4]
  wire [11:0] _T_63; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214328.4]
  wire [11:0] _T_64; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214329.4]
  wire [14:0] _T_65; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214330.4]
  wire [26:0] _T_66; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214331.4]
  wire [26:0] _T_89; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214359.4]
  wire [1:0] _T_105; // @[RVC.scala 63:32:shc.marmotcaravel.MarmotCaravelConfig.fir@214380.4]
  wire [4:0] _T_116; // @[RVC.scala 63:66:shc.marmotcaravel.MarmotCaravelConfig.fir@214391.4]
  wire [7:0] _T_117; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214392.4]
  wire [14:0] _T_118; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214393.4]
  wire [6:0] _T_119; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214394.4]
  wire [11:0] _T_120; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214395.4]
  wire [26:0] _T_121; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214396.4]
  wire [2:0] _T_135; // @[RVC.scala 66:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214415.4]
  wire [4:0] _T_144; // @[RVC.scala 66:64:shc.marmotcaravel.MarmotCaravelConfig.fir@214424.4]
  wire [7:0] _T_145; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214425.4]
  wire [14:0] _T_146; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214426.4]
  wire [7:0] _T_147; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214427.4]
  wire [12:0] _T_148; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214428.4]
  wire [27:0] _T_149; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214429.4]
  wire [14:0] _T_178; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214463.4]
  wire [26:0] _T_181; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214466.4]
  wire [14:0] _T_210; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214500.4]
  wire [26:0] _T_213; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214503.4]
  wire  _T_223; // @[RVC.scala 43:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214518.4]
  wire [6:0] _T_225; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214520.4]
  wire [4:0] _T_226; // @[RVC.scala 43:38:shc.marmotcaravel.MarmotCaravelConfig.fir@214521.4]
  wire [11:0] _T_227; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214522.4]
  wire [4:0] _T_228; // @[RVC.scala 33:13:shc.marmotcaravel.MarmotCaravelConfig.fir@214523.4]
  wire [11:0] _T_230; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  wire [16:0] _T_231; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214526.4]
  wire [19:0] _T_232; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214527.4]
  wire [31:0] _T_233; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214528.4]
  wire [9:0] _T_243; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214543.4]
  wire  _T_244; // @[RVC.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@214544.4]
  wire [1:0] _T_245; // @[RVC.scala 44:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214545.4]
  wire  _T_247; // @[RVC.scala 44:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214547.4]
  wire  _T_248; // @[RVC.scala 44:63:shc.marmotcaravel.MarmotCaravelConfig.fir@214548.4]
  wire  _T_249; // @[RVC.scala 44:69:shc.marmotcaravel.MarmotCaravelConfig.fir@214549.4]
  wire [2:0] _T_250; // @[RVC.scala 44:76:shc.marmotcaravel.MarmotCaravelConfig.fir@214550.4]
  wire [3:0] _T_251; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214551.4]
  wire [1:0] _T_252; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214552.4]
  wire [5:0] _T_253; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214553.4]
  wire [1:0] _T_254; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214554.4]
  wire [10:0] _T_255; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214555.4]
  wire [12:0] _T_256; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214556.4]
  wire [14:0] _T_257; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214557.4]
  wire [20:0] _T_258; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214558.4]
  wire  _T_259; // @[RVC.scala 81:36:shc.marmotcaravel.MarmotCaravelConfig.fir@214559.4]
  wire [9:0] _T_278; // @[RVC.scala 81:46:shc.marmotcaravel.MarmotCaravelConfig.fir@214578.4]
  wire  _T_297; // @[RVC.scala 81:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214597.4]
  wire [7:0] _T_316; // @[RVC.scala 81:68:shc.marmotcaravel.MarmotCaravelConfig.fir@214616.4]
  wire [12:0] _T_317; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214617.4]
  wire [19:0] _T_318; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214618.4]
  wire [10:0] _T_319; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214619.4]
  wire [11:0] _T_320; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214620.4]
  wire [31:0] _T_321; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214621.4]
  wire [16:0] _T_335; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214640.4]
  wire [19:0] _T_336; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214641.4]
  wire [31:0] _T_337; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214642.4]
  wire  _T_349; // @[RVC.scala 90:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214659.4]
  wire [6:0] _T_350; // @[RVC.scala 90:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214660.4]
  wire [14:0] _T_353; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214663.4]
  wire [19:0] _T_355; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214665.4]
  wire [31:0] _T_356; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214666.4]
  wire [19:0] _T_357; // @[RVC.scala 91:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214667.4]
  wire [24:0] _T_359; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214669.4]
  wire [31:0] _T_360; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214670.4]
  wire  _T_369; // @[RVC.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214684.4]
  wire  _T_371; // @[RVC.scala 92:27:shc.marmotcaravel.MarmotCaravelConfig.fir@214686.4]
  wire  _T_372; // @[RVC.scala 92:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214687.4]
  wire [6:0] _T_379; // @[RVC.scala 86:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214694.4]
  wire [2:0] _T_382; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214697.4]
  wire [1:0] _T_383; // @[RVC.scala 42:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214698.4]
  wire [1:0] _T_387; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214702.4]
  wire [5:0] _T_388; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214703.4]
  wire [4:0] _T_389; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214704.4]
  wire [5:0] _T_390; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214705.4]
  wire [11:0] _T_391; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214706.4]
  wire [11:0] _T_394; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214709.4]
  wire [16:0] _T_395; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214710.4]
  wire [19:0] _T_396; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214711.4]
  wire [31:0] _T_397; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214712.4]
  wire [31:0] _T_405_bits; // @[RVC.scala 92:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214725.4]
  wire [4:0] _T_405_rd; // @[RVC.scala 92:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214725.4]
  wire [4:0] _T_405_rs2; // @[RVC.scala 92:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214725.4]
  wire [5:0] _T_408; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214728.4]
  wire [11:0] _T_413; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214733.4]
  wire [10:0] _T_414; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214734.4]
  wire [13:0] _T_415; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214735.4]
  wire [25:0] _T_416; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214736.4]
  wire [30:0] _GEN_0; // @[RVC.scala 99:23:shc.marmotcaravel.MarmotCaravelConfig.fir@214748.4]
  wire [30:0] _T_428; // @[RVC.scala 99:23:shc.marmotcaravel.MarmotCaravelConfig.fir@214748.4]
  wire [16:0] _T_439; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214759.4]
  wire [19:0] _T_440; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214760.4]
  wire [31:0] _T_441; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214761.4]
  wire [2:0] _T_444; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214764.4]
  wire  _T_445; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214765.4]
  wire [2:0] _T_446; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214766.4]
  wire  _T_447; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214767.4]
  wire [2:0] _T_448; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214768.4]
  wire  _T_449; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214769.4]
  wire [2:0] _T_450; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214770.4]
  wire  _T_451; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214771.4]
  wire [2:0] _T_452; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214772.4]
  wire  _T_453; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214773.4]
  wire [2:0] _T_454; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214774.4]
  wire  _T_455; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214775.4]
  wire [2:0] _T_456; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214776.4]
  wire  _T_457; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214777.4]
  wire [2:0] _T_458; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214778.4]
  wire  _T_460; // @[RVC.scala 103:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214780.4]
  wire [30:0] _T_461; // @[RVC.scala 103:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214781.4]
  wire [6:0] _T_463; // @[RVC.scala 104:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214783.4]
  wire [11:0] _T_470; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214790.4]
  wire [9:0] _T_471; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214791.4]
  wire [12:0] _T_472; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214792.4]
  wire [24:0] _T_473; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214793.4]
  wire [30:0] _GEN_1; // @[RVC.scala 105:43:shc.marmotcaravel.MarmotCaravelConfig.fir@214794.4]
  wire [30:0] _T_474; // @[RVC.scala 105:43:shc.marmotcaravel.MarmotCaravelConfig.fir@214794.4]
  wire [1:0] _T_475; // @[RVC.scala 107:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214795.4]
  wire  _T_476; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214796.4]
  wire [30:0] _T_477; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214797.4]
  wire  _T_478; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214798.4]
  wire [31:0] _T_479; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214799.4]
  wire  _T_480; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214800.4]
  wire [31:0] _T_481; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214801.4]
  wire [12:0] _T_567; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214892.4]
  wire [19:0] _T_568; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214893.4]
  wire [31:0] _T_571; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214896.4]
  wire [4:0] _T_581; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214911.4]
  wire [3:0] _T_586; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214916.4]
  wire [4:0] _T_587; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214917.4]
  wire [6:0] _T_588; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214918.4]
  wire [7:0] _T_589; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214919.4]
  wire [12:0] _T_590; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214920.4]
  wire  _T_591; // @[RVC.scala 95:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214921.4]
  wire [5:0] _T_604; // @[RVC.scala 95:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214934.4]
  wire [3:0] _T_619; // @[RVC.scala 95:72:shc.marmotcaravel.MarmotCaravelConfig.fir@214949.4]
  wire  _T_632; // @[RVC.scala 95:83:shc.marmotcaravel.MarmotCaravelConfig.fir@214962.4]
  wire [7:0] _T_633; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214963.4]
  wire [6:0] _T_634; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214964.4]
  wire [14:0] _T_635; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214965.4]
  wire [9:0] _T_636; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214966.4]
  wire [6:0] _T_637; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214967.4]
  wire [16:0] _T_638; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214968.4]
  wire [31:0] _T_639; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214969.4]
  wire [6:0] _T_702; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215037.4]
  wire [14:0] _T_703; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215038.4]
  wire [31:0] _T_707; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215042.4]
  wire  _T_714; // @[RVC.scala 113:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215054.4]
  wire [6:0] _T_715; // @[RVC.scala 113:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215055.4]
  wire [10:0] _T_722; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215062.4]
  wire [13:0] _T_723; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215063.4]
  wire [25:0] _T_724; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215064.4]
  wire [4:0] _T_734; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215079.4]
  wire [3:0] _T_735; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215080.4]
  wire [8:0] _T_736; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215081.4]
  wire [11:0] _T_738; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215083.4]
  wire [13:0] _T_739; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215084.4]
  wire [16:0] _T_740; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215085.4]
  wire [28:0] _T_741; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215086.4]
  wire [1:0] _T_747; // @[RVC.scala 37:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215097.4]
  wire [2:0] _T_749; // @[RVC.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215099.4]
  wire [4:0] _T_750; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215100.4]
  wire [2:0] _T_751; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215101.4]
  wire [7:0] _T_752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215102.4]
  wire [11:0] _T_754; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215104.4]
  wire [12:0] _T_755; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215105.4]
  wire [15:0] _T_756; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215106.4]
  wire [27:0] _T_757; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215107.4]
  wire [27:0] _T_773; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215128.4]
  wire [11:0] _T_781; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215141.4]
  wire [9:0] _T_782; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215142.4]
  wire [12:0] _T_783; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215143.4]
  wire [24:0] _T_784; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215144.4]
  wire [9:0] _T_794; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215159.4]
  wire [12:0] _T_795; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215160.4]
  wire [24:0] _T_796; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215161.4]
  wire [24:0] _T_808; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215178.4]
  wire [17:0] _T_809; // @[RVC.scala 133:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215179.4]
  wire [24:0] _T_810; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215180.4]
  wire [24:0] _T_813; // @[RVC.scala 134:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215183.4]
  wire  _T_820; // @[RVC.scala 135:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215195.4]
  wire [31:0] _T_789_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215148.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215150.4]
  wire [31:0] _T_818_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215187.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215189.4]
  wire [31:0] _T_821_bits; // @[RVC.scala 135:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215196.4]
  wire [4:0] _T_821_rd; // @[RVC.scala 135:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215196.4]
  wire [4:0] _T_821_rs1; // @[RVC.scala 135:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215196.4]
  wire [4:0] _T_821_rs2; // @[RVC.scala 135:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215196.4]
  wire [24:0] _T_827; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215202.4]
  wire [24:0] _T_829; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215204.4]
  wire [24:0] _T_830; // @[RVC.scala 137:47:shc.marmotcaravel.MarmotCaravelConfig.fir@215205.4]
  wire [24:0] _T_833; // @[RVC.scala 138:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215208.4]
  wire [31:0] _T_802_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215166.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215168.4]
  wire [31:0] _T_838_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215212.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215214.4]
  wire [31:0] _T_841_bits; // @[RVC.scala 139:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215221.4]
  wire [4:0] _T_841_rd; // @[RVC.scala 139:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215221.4]
  wire [4:0] _T_841_rs1; // @[RVC.scala 139:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215221.4]
  wire [31:0] _T_843_bits; // @[RVC.scala 140:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215223.4]
  wire [4:0] _T_843_rd; // @[RVC.scala 140:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215223.4]
  wire [4:0] _T_843_rs1; // @[RVC.scala 140:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215223.4]
  wire [4:0] _T_843_rs2; // @[RVC.scala 140:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215223.4]
  wire [5:0] _T_846; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215226.4]
  wire [8:0] _T_847; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215227.4]
  wire [3:0] _T_848; // @[RVC.scala 124:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215228.4]
  wire [4:0] _T_854; // @[RVC.scala 124:67:shc.marmotcaravel.MarmotCaravelConfig.fir@215234.4]
  wire [7:0] _T_855; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215235.4]
  wire [14:0] _T_856; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215236.4]
  wire [8:0] _T_857; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215237.4]
  wire [13:0] _T_858; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215238.4]
  wire [28:0] _T_859; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215239.4]
  wire [1:0] _T_865; // @[RVC.scala 39:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215250.4]
  wire [3:0] _T_866; // @[RVC.scala 39:30:shc.marmotcaravel.MarmotCaravelConfig.fir@215251.4]
  wire [5:0] _T_867; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215252.4]
  wire [7:0] _T_868; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215253.4]
  wire [2:0] _T_869; // @[RVC.scala 123:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215254.4]
  wire [4:0] _T_875; // @[RVC.scala 123:66:shc.marmotcaravel.MarmotCaravelConfig.fir@215260.4]
  wire [7:0] _T_876; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215261.4]
  wire [14:0] _T_877; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215262.4]
  wire [7:0] _T_878; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215263.4]
  wire [12:0] _T_879; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215264.4]
  wire [27:0] _T_880; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215265.4]
  wire [14:0] _T_898; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215288.4]
  wire [27:0] _T_901; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215291.4]
  wire [4:0] _T_908; // @[RVC.scala 20:57:shc.marmotcaravel.MarmotCaravelConfig.fir@215303.4]
  wire [4:0] _T_909; // @[RVC.scala 20:79:shc.marmotcaravel.MarmotCaravelConfig.fir@215304.4]
  wire [2:0] _T_956; // @[RVC.scala 151:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215391.4]
  wire [4:0] _T_957; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215392.4]
  wire  _T_958; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215393.4]
  wire [31:0] _T_52_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214311.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214313.4]
  wire [31:0] _T_31_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214285.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214287.4]
  wire [31:0] _T_959_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215394.4]
  wire [4:0] _T_959_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215394.4]
  wire [4:0] _T_959_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215394.4]
  wire  _T_960; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215395.4]
  wire [31:0] _T_75_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214339.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214341.4]
  wire [31:0] _T_961_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215396.4]
  wire [4:0] _T_961_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215396.4]
  wire [4:0] _T_961_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215396.4]
  wire  _T_962; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215397.4]
  wire [31:0] _T_98_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214367.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214369.4]
  wire [31:0] _T_963_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215398.4]
  wire [4:0] _T_963_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215398.4]
  wire [4:0] _T_963_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215398.4]
  wire  _T_964; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215399.4]
  wire [31:0] _T_130_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214404.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214406.4]
  wire [31:0] _T_965_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215400.4]
  wire [4:0] _T_965_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215400.4]
  wire [4:0] _T_965_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215400.4]
  wire  _T_966; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215401.4]
  wire [31:0] _T_158_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214437.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214439.4]
  wire [31:0] _T_967_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215402.4]
  wire [4:0] _T_967_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215402.4]
  wire [4:0] _T_967_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215402.4]
  wire  _T_968; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215403.4]
  wire [31:0] _T_190_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214474.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214476.4]
  wire [31:0] _T_969_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215404.4]
  wire [4:0] _T_969_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215404.4]
  wire [4:0] _T_969_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215404.4]
  wire  _T_970; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215405.4]
  wire [31:0] _T_222_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214511.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214513.4]
  wire [31:0] _T_971_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215406.4]
  wire [4:0] _T_971_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215406.4]
  wire [4:0] _T_971_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215406.4]
  wire  _T_972; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215407.4]
  wire [31:0] _T_973_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215408.4]
  wire [4:0] _T_973_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215408.4]
  wire [4:0] _T_973_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215408.4]
  wire [4:0] _T_973_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215408.4]
  wire  _T_974; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215409.4]
  wire [31:0] _T_975_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215410.4]
  wire [4:0] _T_975_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215410.4]
  wire [4:0] _T_975_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215410.4]
  wire [4:0] _T_975_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215410.4]
  wire  _T_976; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215411.4]
  wire [31:0] _T_977_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215412.4]
  wire [4:0] _T_977_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215412.4]
  wire [4:0] _T_977_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215412.4]
  wire [4:0] _T_977_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215412.4]
  wire  _T_978; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215413.4]
  wire [31:0] _T_979_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215414.4]
  wire [4:0] _T_979_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215414.4]
  wire [4:0] _T_979_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215414.4]
  wire [4:0] _T_979_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215414.4]
  wire  _T_980; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215415.4]
  wire [31:0] _T_981_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215416.4]
  wire [4:0] _T_981_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215416.4]
  wire [4:0] _T_981_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215416.4]
  wire [4:0] _T_981_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215416.4]
  wire  _T_982; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215417.4]
  wire [31:0] _T_983_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215418.4]
  wire [4:0] _T_983_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215418.4]
  wire [4:0] _T_983_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215418.4]
  wire [4:0] _T_983_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215418.4]
  wire  _T_984; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215419.4]
  wire [31:0] _T_985_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215420.4]
  wire [4:0] _T_985_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215420.4]
  wire [4:0] _T_985_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215420.4]
  wire [4:0] _T_985_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215420.4]
  wire  _T_986; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215421.4]
  wire [31:0] _T_987_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215422.4]
  wire [4:0] _T_987_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215422.4]
  wire [4:0] _T_987_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215422.4]
  wire [4:0] _T_987_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215422.4]
  wire  _T_988; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215423.4]
  wire [31:0] _T_730_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215069.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215071.4]
  wire [31:0] _T_989_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215424.4]
  wire [4:0] _T_989_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215424.4]
  wire [4:0] _T_989_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215424.4]
  wire [4:0] _T_989_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215424.4]
  wire  _T_990; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215425.4]
  wire [31:0] _T_746_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215090.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215092.4]
  wire [31:0] _T_991_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215426.4]
  wire [4:0] _T_991_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215426.4]
  wire [4:0] _T_991_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215426.4]
  wire [4:0] _T_991_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215426.4]
  wire  _T_992; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215427.4]
  wire [31:0] _T_762_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215111.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215113.4]
  wire [31:0] _T_993_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215428.4]
  wire [4:0] _T_993_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215428.4]
  wire [4:0] _T_993_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215428.4]
  wire [4:0] _T_993_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215428.4]
  wire  _T_994; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215429.4]
  wire [31:0] _T_778_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215132.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215134.4]
  wire [31:0] _T_995_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215430.4]
  wire [4:0] _T_995_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215430.4]
  wire [4:0] _T_995_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215430.4]
  wire [4:0] _T_995_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215430.4]
  wire  _T_996; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215431.4]
  wire [31:0] _T_997_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215432.4]
  wire [4:0] _T_997_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215432.4]
  wire [4:0] _T_997_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215432.4]
  wire [4:0] _T_997_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215432.4]
  wire  _T_998; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215433.4]
  wire [31:0] _T_864_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215243.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215245.4]
  wire [31:0] _T_999_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215434.4]
  wire [4:0] _T_999_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215434.4]
  wire [4:0] _T_999_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215434.4]
  wire [4:0] _T_999_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215434.4]
  wire  _T_1000; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215435.4]
  wire [31:0] _T_885_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215269.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215271.4]
  wire [31:0] _T_1001_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215436.4]
  wire [4:0] _T_1001_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215436.4]
  wire [4:0] _T_1001_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215436.4]
  wire [4:0] _T_1001_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215436.4]
  wire  _T_1002; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215437.4]
  wire [31:0] _T_906_bits; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215295.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215297.4]
  wire [31:0] _T_1003_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215438.4]
  wire [4:0] _T_1003_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215438.4]
  wire [4:0] _T_1003_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215438.4]
  wire [4:0] _T_1003_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215438.4]
  wire  _T_1004; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215439.4]
  wire [31:0] _T_1005_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215440.4]
  wire [4:0] _T_1005_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215440.4]
  wire [4:0] _T_1005_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215440.4]
  wire [4:0] _T_1005_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215440.4]
  wire  _T_1006; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215441.4]
  wire [31:0] _T_1007_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215442.4]
  wire [4:0] _T_1007_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215442.4]
  wire [4:0] _T_1007_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215442.4]
  wire [4:0] _T_1007_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215442.4]
  wire  _T_1008; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215443.4]
  wire [31:0] _T_1009_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215444.4]
  wire [4:0] _T_1009_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215444.4]
  wire [4:0] _T_1009_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215444.4]
  wire [4:0] _T_1009_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215444.4]
  wire  _T_1010; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215445.4]
  wire [31:0] _T_1011_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215446.4]
  wire [4:0] _T_1011_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215446.4]
  wire [4:0] _T_1011_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215446.4]
  wire [4:0] _T_1011_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215446.4]
  wire  _T_1012; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215447.4]
  wire [31:0] _T_1013_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215448.4]
  wire [4:0] _T_1013_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215448.4]
  wire [4:0] _T_1013_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215448.4]
  wire [4:0] _T_1013_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215448.4]
  wire  _T_1014; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215449.4]
  wire [31:0] _T_1015_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215450.4]
  wire [4:0] _T_1015_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215450.4]
  wire [4:0] _T_1015_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215450.4]
  wire [4:0] _T_1015_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215450.4]
  wire  _T_1016; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215451.4]
  wire [31:0] _T_1017_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215452.4]
  wire [4:0] _T_1017_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215452.4]
  wire [4:0] _T_1017_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215452.4]
  wire [4:0] _T_1017_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215452.4]
  wire  _T_1018; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215453.4]
  assign _T_6 = io_in[1:0]; // @[RVC.scala 163:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214260.4]
  assign _T_8 = io_in[12:5]; // @[RVC.scala 53:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214263.4]
  assign _T_9 = _T_8 != 8'h0; // @[RVC.scala 53:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214264.4]
  assign _T_10 = _T_9 ? 7'h13 : 7'h1f; // @[RVC.scala 53:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214265.4]
  assign _T_11 = io_in[10:7]; // @[RVC.scala 34:26:shc.marmotcaravel.MarmotCaravelConfig.fir@214266.4]
  assign _T_12 = io_in[12:11]; // @[RVC.scala 34:35:shc.marmotcaravel.MarmotCaravelConfig.fir@214267.4]
  assign _T_13 = io_in[5]; // @[RVC.scala 34:45:shc.marmotcaravel.MarmotCaravelConfig.fir@214268.4]
  assign _T_14 = io_in[6]; // @[RVC.scala 34:51:shc.marmotcaravel.MarmotCaravelConfig.fir@214269.4]
  assign _T_15 = {_T_14,2'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214270.4]
  assign _T_16 = {_T_11,_T_12}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214271.4]
  assign _T_17 = {_T_16,_T_13}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214272.4]
  assign _T_18 = {_T_17,_T_15}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214273.4]
  assign _T_19 = io_in[4:2]; // @[RVC.scala 31:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214274.4]
  assign _T_20 = {2'h1,_T_19}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214275.4]
  assign _T_21 = {_T_20,_T_10}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214276.4]
  assign _T_22 = {_T_18,5'h2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214277.4]
  assign _T_23 = {_T_22,3'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214278.4]
  assign _T_24 = {_T_23,_T_21}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214279.4]
  assign _T_32 = io_in[6:5]; // @[RVC.scala 36:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214292.4]
  assign _T_33 = io_in[12:10]; // @[RVC.scala 36:28:shc.marmotcaravel.MarmotCaravelConfig.fir@214293.4]
  assign _T_34 = {_T_32,_T_33}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214294.4]
  assign _T_35 = {_T_34,3'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214295.4]
  assign _T_36 = io_in[9:7]; // @[RVC.scala 30:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214296.4]
  assign _T_37 = {2'h1,_T_36}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214297.4]
  assign _T_40 = {_T_20,7'h7}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214300.4]
  assign _T_41 = {_T_35,_T_37}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214301.4]
  assign _T_42 = {_T_41,3'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214302.4]
  assign _T_43 = {_T_42,_T_40}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214303.4]
  assign _T_57 = {_T_13,_T_33}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214322.4]
  assign _T_58 = {_T_57,_T_15}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214323.4]
  assign _T_63 = {_T_20,7'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214328.4]
  assign _T_64 = {_T_58,_T_37}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214329.4]
  assign _T_65 = {_T_64,3'h2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214330.4]
  assign _T_66 = {_T_65,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214331.4]
  assign _T_89 = {_T_65,_T_40}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214359.4]
  assign _T_105 = _T_58[6:5]; // @[RVC.scala 63:32:shc.marmotcaravel.MarmotCaravelConfig.fir@214380.4]
  assign _T_116 = _T_58[4:0]; // @[RVC.scala 63:66:shc.marmotcaravel.MarmotCaravelConfig.fir@214391.4]
  assign _T_117 = {3'h2,_T_116}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214392.4]
  assign _T_118 = {_T_117,7'h3f}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214393.4]
  assign _T_119 = {_T_105,_T_20}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214394.4]
  assign _T_120 = {_T_119,_T_37}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214395.4]
  assign _T_121 = {_T_120,_T_118}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214396.4]
  assign _T_135 = _T_35[7:5]; // @[RVC.scala 66:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214415.4]
  assign _T_144 = _T_35[4:0]; // @[RVC.scala 66:64:shc.marmotcaravel.MarmotCaravelConfig.fir@214424.4]
  assign _T_145 = {3'h3,_T_144}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214425.4]
  assign _T_146 = {_T_145,7'h27}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214426.4]
  assign _T_147 = {_T_135,_T_20}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214427.4]
  assign _T_148 = {_T_147,_T_37}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214428.4]
  assign _T_149 = {_T_148,_T_146}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214429.4]
  assign _T_178 = {_T_117,7'h23}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214463.4]
  assign _T_181 = {_T_120,_T_178}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214466.4]
  assign _T_210 = {_T_117,7'h27}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214500.4]
  assign _T_213 = {_T_120,_T_210}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214503.4]
  assign _T_223 = io_in[12]; // @[RVC.scala 43:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214518.4]
  assign _T_225 = _T_223 ? 7'h7f : 7'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214520.4]
  assign _T_226 = io_in[6:2]; // @[RVC.scala 43:38:shc.marmotcaravel.MarmotCaravelConfig.fir@214521.4]
  assign _T_227 = {_T_225,_T_226}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214522.4]
  assign _T_228 = io_in[11:7]; // @[RVC.scala 33:13:shc.marmotcaravel.MarmotCaravelConfig.fir@214523.4]
  assign _T_230 = {_T_228,7'h13}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214525.4]
  assign _T_231 = {_T_227,_T_228}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214526.4]
  assign _T_232 = {_T_231,3'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214527.4]
  assign _T_233 = {_T_232,_T_230}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214528.4]
  assign _T_243 = _T_223 ? 10'h3ff : 10'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214543.4]
  assign _T_244 = io_in[8]; // @[RVC.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@214544.4]
  assign _T_245 = io_in[10:9]; // @[RVC.scala 44:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214545.4]
  assign _T_247 = io_in[7]; // @[RVC.scala 44:57:shc.marmotcaravel.MarmotCaravelConfig.fir@214547.4]
  assign _T_248 = io_in[2]; // @[RVC.scala 44:63:shc.marmotcaravel.MarmotCaravelConfig.fir@214548.4]
  assign _T_249 = io_in[11]; // @[RVC.scala 44:69:shc.marmotcaravel.MarmotCaravelConfig.fir@214549.4]
  assign _T_250 = io_in[5:3]; // @[RVC.scala 44:76:shc.marmotcaravel.MarmotCaravelConfig.fir@214550.4]
  assign _T_251 = {_T_250,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214551.4]
  assign _T_252 = {_T_248,_T_249}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214552.4]
  assign _T_253 = {_T_252,_T_251}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214553.4]
  assign _T_254 = {_T_14,_T_247}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214554.4]
  assign _T_255 = {_T_243,_T_244}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214555.4]
  assign _T_256 = {_T_255,_T_245}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214556.4]
  assign _T_257 = {_T_256,_T_254}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214557.4]
  assign _T_258 = {_T_257,_T_253}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214558.4]
  assign _T_259 = _T_258[20]; // @[RVC.scala 81:36:shc.marmotcaravel.MarmotCaravelConfig.fir@214559.4]
  assign _T_278 = _T_258[10:1]; // @[RVC.scala 81:46:shc.marmotcaravel.MarmotCaravelConfig.fir@214578.4]
  assign _T_297 = _T_258[11]; // @[RVC.scala 81:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214597.4]
  assign _T_316 = _T_258[19:12]; // @[RVC.scala 81:68:shc.marmotcaravel.MarmotCaravelConfig.fir@214616.4]
  assign _T_317 = {_T_316,5'h1}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214617.4]
  assign _T_318 = {_T_317,7'h6f}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214618.4]
  assign _T_319 = {_T_259,_T_278}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214619.4]
  assign _T_320 = {_T_319,_T_297}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214620.4]
  assign _T_321 = {_T_320,_T_318}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214621.4]
  assign _T_335 = {_T_227,5'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214640.4]
  assign _T_336 = {_T_335,3'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214641.4]
  assign _T_337 = {_T_336,_T_230}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214642.4]
  assign _T_349 = _T_227 != 12'h0; // @[RVC.scala 90:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214659.4]
  assign _T_350 = _T_349 ? 7'h37 : 7'h3f; // @[RVC.scala 90:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214660.4]
  assign _T_353 = _T_223 ? 15'h7fff : 15'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214663.4]
  assign _T_355 = {_T_353,_T_226}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214665.4]
  assign _T_356 = {_T_355,12'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214666.4]
  assign _T_357 = _T_356[31:12]; // @[RVC.scala 91:31:shc.marmotcaravel.MarmotCaravelConfig.fir@214667.4]
  assign _T_359 = {_T_357,_T_228}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214669.4]
  assign _T_360 = {_T_359,_T_350}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214670.4]
  assign _T_369 = _T_228 == 5'h0; // @[RVC.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214684.4]
  assign _T_371 = _T_228 == 5'h2; // @[RVC.scala 92:27:shc.marmotcaravel.MarmotCaravelConfig.fir@214686.4]
  assign _T_372 = _T_369 | _T_371; // @[RVC.scala 92:21:shc.marmotcaravel.MarmotCaravelConfig.fir@214687.4]
  assign _T_379 = _T_349 ? 7'h13 : 7'h1f; // @[RVC.scala 86:20:shc.marmotcaravel.MarmotCaravelConfig.fir@214694.4]
  assign _T_382 = _T_223 ? 3'h7 : 3'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214697.4]
  assign _T_383 = io_in[4:3]; // @[RVC.scala 42:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214698.4]
  assign _T_387 = {_T_248,_T_14}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214702.4]
  assign _T_388 = {_T_387,4'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214703.4]
  assign _T_389 = {_T_382,_T_383}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214704.4]
  assign _T_390 = {_T_389,_T_13}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214705.4]
  assign _T_391 = {_T_390,_T_388}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214706.4]
  assign _T_394 = {_T_228,_T_379}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214709.4]
  assign _T_395 = {_T_391,_T_228}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214710.4]
  assign _T_396 = {_T_395,3'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214711.4]
  assign _T_397 = {_T_396,_T_394}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214712.4]
  assign _T_405_bits = _T_372 ? _T_397 : _T_360; // @[RVC.scala 92:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214725.4]
  assign _T_405_rd = _T_372 ? _T_228 : _T_228; // @[RVC.scala 92:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214725.4]
  assign _T_405_rs2 = _T_372 ? _T_20 : _T_20; // @[RVC.scala 92:10:shc.marmotcaravel.MarmotCaravelConfig.fir@214725.4]
  assign _T_408 = {_T_223,_T_226}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214728.4]
  assign _T_413 = {_T_37,7'h13}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214733.4]
  assign _T_414 = {_T_408,_T_37}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214734.4]
  assign _T_415 = {_T_414,3'h5}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214735.4]
  assign _T_416 = {_T_415,_T_413}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214736.4]
  assign _GEN_0 = {{5'd0}, _T_416}; // @[RVC.scala 99:23:shc.marmotcaravel.MarmotCaravelConfig.fir@214748.4]
  assign _T_428 = _GEN_0 | 31'h40000000; // @[RVC.scala 99:23:shc.marmotcaravel.MarmotCaravelConfig.fir@214748.4]
  assign _T_439 = {_T_227,_T_37}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214759.4]
  assign _T_440 = {_T_439,3'h7}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214760.4]
  assign _T_441 = {_T_440,_T_413}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214761.4]
  assign _T_444 = {_T_223,_T_32}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214764.4]
  assign _T_445 = _T_444 == 3'h1; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214765.4]
  assign _T_446 = _T_445 ? 3'h4 : 3'h0; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214766.4]
  assign _T_447 = _T_444 == 3'h2; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214767.4]
  assign _T_448 = _T_447 ? 3'h6 : _T_446; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214768.4]
  assign _T_449 = _T_444 == 3'h3; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214769.4]
  assign _T_450 = _T_449 ? 3'h7 : _T_448; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214770.4]
  assign _T_451 = _T_444 == 3'h4; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214771.4]
  assign _T_452 = _T_451 ? 3'h0 : _T_450; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214772.4]
  assign _T_453 = _T_444 == 3'h5; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214773.4]
  assign _T_454 = _T_453 ? 3'h0 : _T_452; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214774.4]
  assign _T_455 = _T_444 == 3'h6; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214775.4]
  assign _T_456 = _T_455 ? 3'h2 : _T_454; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214776.4]
  assign _T_457 = _T_444 == 3'h7; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214777.4]
  assign _T_458 = _T_457 ? 3'h3 : _T_456; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214778.4]
  assign _T_460 = _T_32 == 2'h0; // @[RVC.scala 103:30:shc.marmotcaravel.MarmotCaravelConfig.fir@214780.4]
  assign _T_461 = _T_460 ? 31'h40000000 : 31'h0; // @[RVC.scala 103:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214781.4]
  assign _T_463 = _T_223 ? 7'h3b : 7'h33; // @[RVC.scala 104:22:shc.marmotcaravel.MarmotCaravelConfig.fir@214783.4]
  assign _T_470 = {_T_37,_T_463}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214790.4]
  assign _T_471 = {_T_20,_T_37}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214791.4]
  assign _T_472 = {_T_471,_T_458}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214792.4]
  assign _T_473 = {_T_472,_T_470}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214793.4]
  assign _GEN_1 = {{6'd0}, _T_473}; // @[RVC.scala 105:43:shc.marmotcaravel.MarmotCaravelConfig.fir@214794.4]
  assign _T_474 = _GEN_1 | _T_461; // @[RVC.scala 105:43:shc.marmotcaravel.MarmotCaravelConfig.fir@214794.4]
  assign _T_475 = io_in[11:10]; // @[RVC.scala 107:42:shc.marmotcaravel.MarmotCaravelConfig.fir@214795.4]
  assign _T_476 = _T_475 == 2'h1; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214796.4]
  assign _T_477 = _T_476 ? _T_428 : {{5'd0}, _T_416}; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214797.4]
  assign _T_478 = _T_475 == 2'h2; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214798.4]
  assign _T_479 = _T_478 ? _T_441 : {{1'd0}, _T_477}; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214799.4]
  assign _T_480 = _T_475 == 2'h3; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@214800.4]
  assign _T_481 = _T_480 ? {{1'd0}, _T_474} : _T_479; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@214801.4]
  assign _T_567 = {_T_316,5'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214892.4]
  assign _T_568 = {_T_567,7'h6f}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214893.4]
  assign _T_571 = {_T_320,_T_568}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214896.4]
  assign _T_581 = _T_223 ? 5'h1f : 5'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214911.4]
  assign _T_586 = {_T_475,_T_383}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214916.4]
  assign _T_587 = {_T_586,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214917.4]
  assign _T_588 = {_T_581,_T_32}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214918.4]
  assign _T_589 = {_T_588,_T_248}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214919.4]
  assign _T_590 = {_T_589,_T_587}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214920.4]
  assign _T_591 = _T_590[12]; // @[RVC.scala 95:29:shc.marmotcaravel.MarmotCaravelConfig.fir@214921.4]
  assign _T_604 = _T_590[10:5]; // @[RVC.scala 95:39:shc.marmotcaravel.MarmotCaravelConfig.fir@214934.4]
  assign _T_619 = _T_590[4:1]; // @[RVC.scala 95:72:shc.marmotcaravel.MarmotCaravelConfig.fir@214949.4]
  assign _T_632 = _T_590[11]; // @[RVC.scala 95:83:shc.marmotcaravel.MarmotCaravelConfig.fir@214962.4]
  assign _T_633 = {_T_632,7'h63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214963.4]
  assign _T_634 = {3'h0,_T_619}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214964.4]
  assign _T_635 = {_T_634,_T_633}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214965.4]
  assign _T_636 = {5'h0,_T_37}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214966.4]
  assign _T_637 = {_T_591,_T_604}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214967.4]
  assign _T_638 = {_T_637,_T_636}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214968.4]
  assign _T_639 = {_T_638,_T_635}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@214969.4]
  assign _T_702 = {3'h1,_T_619}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215037.4]
  assign _T_703 = {_T_702,_T_633}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215038.4]
  assign _T_707 = {_T_638,_T_703}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215042.4]
  assign _T_714 = _T_228 != 5'h0; // @[RVC.scala 113:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215054.4]
  assign _T_715 = _T_714 ? 7'h3 : 7'h1f; // @[RVC.scala 113:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215055.4]
  assign _T_722 = {_T_408,_T_228}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215062.4]
  assign _T_723 = {_T_722,3'h1}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215063.4]
  assign _T_724 = {_T_723,_T_230}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215064.4]
  assign _T_734 = {_T_32,3'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215079.4]
  assign _T_735 = {_T_19,_T_223}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215080.4]
  assign _T_736 = {_T_735,_T_734}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215081.4]
  assign _T_738 = {_T_228,7'h7}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215083.4]
  assign _T_739 = {_T_736,5'h2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215084.4]
  assign _T_740 = {_T_739,3'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215085.4]
  assign _T_741 = {_T_740,_T_738}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215086.4]
  assign _T_747 = io_in[3:2]; // @[RVC.scala 37:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215097.4]
  assign _T_749 = io_in[6:4]; // @[RVC.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215099.4]
  assign _T_750 = {_T_749,2'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215100.4]
  assign _T_751 = {_T_747,_T_223}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215101.4]
  assign _T_752 = {_T_751,_T_750}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215102.4]
  assign _T_754 = {_T_228,_T_715}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215104.4]
  assign _T_755 = {_T_752,5'h2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215105.4]
  assign _T_756 = {_T_755,3'h2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215106.4]
  assign _T_757 = {_T_756,_T_754}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215107.4]
  assign _T_773 = {_T_756,_T_738}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215128.4]
  assign _T_781 = {_T_228,7'h33}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215141.4]
  assign _T_782 = {_T_226,5'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215142.4]
  assign _T_783 = {_T_782,3'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215143.4]
  assign _T_784 = {_T_783,_T_781}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215144.4]
  assign _T_794 = {_T_226,_T_228}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215159.4]
  assign _T_795 = {_T_794,3'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215160.4]
  assign _T_796 = {_T_795,_T_781}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215161.4]
  assign _T_808 = {_T_795,12'h67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215178.4]
  assign _T_809 = _T_808[24:7]; // @[RVC.scala 133:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215179.4]
  assign _T_810 = {_T_809,7'h1f}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215180.4]
  assign _T_813 = _T_714 ? _T_808 : _T_810; // @[RVC.scala 134:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215183.4]
  assign _T_820 = _T_226 != 5'h0; // @[RVC.scala 135:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215195.4]
  assign _T_789_bits = {{7'd0}, _T_784}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215148.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215150.4]
  assign _T_818_bits = {{7'd0}, _T_813}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215187.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215189.4]
  assign _T_821_bits = _T_820 ? _T_789_bits : _T_818_bits; // @[RVC.scala 135:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215196.4]
  assign _T_821_rd = _T_820 ? _T_228 : 5'h0; // @[RVC.scala 135:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215196.4]
  assign _T_821_rs1 = _T_820 ? 5'h0 : _T_228; // @[RVC.scala 135:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215196.4]
  assign _T_821_rs2 = _T_820 ? _T_226 : _T_226; // @[RVC.scala 135:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215196.4]
  assign _T_827 = {_T_795,12'he7}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215202.4]
  assign _T_829 = {_T_809,7'h73}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215204.4]
  assign _T_830 = _T_829 | 25'h100000; // @[RVC.scala 137:47:shc.marmotcaravel.MarmotCaravelConfig.fir@215205.4]
  assign _T_833 = _T_714 ? _T_827 : _T_830; // @[RVC.scala 138:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215208.4]
  assign _T_802_bits = {{7'd0}, _T_796}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215166.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215168.4]
  assign _T_838_bits = {{7'd0}, _T_833}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215212.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215214.4]
  assign _T_841_bits = _T_820 ? _T_802_bits : _T_838_bits; // @[RVC.scala 139:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215221.4]
  assign _T_841_rd = _T_820 ? _T_228 : 5'h1; // @[RVC.scala 139:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215221.4]
  assign _T_841_rs1 = _T_820 ? _T_228 : _T_228; // @[RVC.scala 139:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215221.4]
  assign _T_843_bits = _T_223 ? _T_841_bits : _T_821_bits; // @[RVC.scala 140:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215223.4]
  assign _T_843_rd = _T_223 ? _T_841_rd : _T_821_rd; // @[RVC.scala 140:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215223.4]
  assign _T_843_rs1 = _T_223 ? _T_841_rs1 : _T_821_rs1; // @[RVC.scala 140:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215223.4]
  assign _T_843_rs2 = _T_223 ? _T_821_rs2 : _T_821_rs2; // @[RVC.scala 140:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215223.4]
  assign _T_846 = {_T_36,_T_33}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215226.4]
  assign _T_847 = {_T_846,3'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215227.4]
  assign _T_848 = _T_847[8:5]; // @[RVC.scala 124:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215228.4]
  assign _T_854 = _T_847[4:0]; // @[RVC.scala 124:67:shc.marmotcaravel.MarmotCaravelConfig.fir@215234.4]
  assign _T_855 = {3'h3,_T_854}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215235.4]
  assign _T_856 = {_T_855,7'h27}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215236.4]
  assign _T_857 = {_T_848,_T_226}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215237.4]
  assign _T_858 = {_T_857,5'h2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215238.4]
  assign _T_859 = {_T_858,_T_856}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215239.4]
  assign _T_865 = io_in[8:7]; // @[RVC.scala 39:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215250.4]
  assign _T_866 = io_in[12:9]; // @[RVC.scala 39:30:shc.marmotcaravel.MarmotCaravelConfig.fir@215251.4]
  assign _T_867 = {_T_865,_T_866}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215252.4]
  assign _T_868 = {_T_867,2'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215253.4]
  assign _T_869 = _T_868[7:5]; // @[RVC.scala 123:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215254.4]
  assign _T_875 = _T_868[4:0]; // @[RVC.scala 123:66:shc.marmotcaravel.MarmotCaravelConfig.fir@215260.4]
  assign _T_876 = {3'h2,_T_875}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215261.4]
  assign _T_877 = {_T_876,7'h23}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215262.4]
  assign _T_878 = {_T_869,_T_226}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215263.4]
  assign _T_879 = {_T_878,5'h2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215264.4]
  assign _T_880 = {_T_879,_T_877}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215265.4]
  assign _T_898 = {_T_876,7'h27}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215288.4]
  assign _T_901 = {_T_879,_T_898}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215291.4]
  assign _T_908 = io_in[19:15]; // @[RVC.scala 20:57:shc.marmotcaravel.MarmotCaravelConfig.fir@215303.4]
  assign _T_909 = io_in[24:20]; // @[RVC.scala 20:79:shc.marmotcaravel.MarmotCaravelConfig.fir@215304.4]
  assign _T_956 = io_in[15:13]; // @[RVC.scala 151:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215391.4]
  assign _T_957 = {_T_6,_T_956}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215392.4]
  assign _T_958 = _T_957 == 5'h1; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215393.4]
  assign _T_52_bits = {{4'd0}, _T_43}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214311.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214313.4]
  assign _T_31_bits = {{2'd0}, _T_24}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214285.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214287.4]
  assign _T_959_bits = _T_958 ? _T_52_bits : _T_31_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215394.4]
  assign _T_959_rd = _T_958 ? _T_20 : _T_20; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215394.4]
  assign _T_959_rs1 = _T_958 ? _T_37 : 5'h2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215394.4]
  assign _T_960 = _T_957 == 5'h2; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215395.4]
  assign _T_75_bits = {{5'd0}, _T_66}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214339.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214341.4]
  assign _T_961_bits = _T_960 ? _T_75_bits : _T_959_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215396.4]
  assign _T_961_rd = _T_960 ? _T_20 : _T_959_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215396.4]
  assign _T_961_rs1 = _T_960 ? _T_37 : _T_959_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215396.4]
  assign _T_962 = _T_957 == 5'h3; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215397.4]
  assign _T_98_bits = {{5'd0}, _T_89}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214367.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214369.4]
  assign _T_963_bits = _T_962 ? _T_98_bits : _T_961_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215398.4]
  assign _T_963_rd = _T_962 ? _T_20 : _T_961_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215398.4]
  assign _T_963_rs1 = _T_962 ? _T_37 : _T_961_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215398.4]
  assign _T_964 = _T_957 == 5'h4; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215399.4]
  assign _T_130_bits = {{5'd0}, _T_121}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214404.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214406.4]
  assign _T_965_bits = _T_964 ? _T_130_bits : _T_963_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215400.4]
  assign _T_965_rd = _T_964 ? _T_20 : _T_963_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215400.4]
  assign _T_965_rs1 = _T_964 ? _T_37 : _T_963_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215400.4]
  assign _T_966 = _T_957 == 5'h5; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215401.4]
  assign _T_158_bits = {{4'd0}, _T_149}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214437.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214439.4]
  assign _T_967_bits = _T_966 ? _T_158_bits : _T_965_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215402.4]
  assign _T_967_rd = _T_966 ? _T_20 : _T_965_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215402.4]
  assign _T_967_rs1 = _T_966 ? _T_37 : _T_965_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215402.4]
  assign _T_968 = _T_957 == 5'h6; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215403.4]
  assign _T_190_bits = {{5'd0}, _T_181}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214474.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214476.4]
  assign _T_969_bits = _T_968 ? _T_190_bits : _T_967_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215404.4]
  assign _T_969_rd = _T_968 ? _T_20 : _T_967_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215404.4]
  assign _T_969_rs1 = _T_968 ? _T_37 : _T_967_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215404.4]
  assign _T_970 = _T_957 == 5'h7; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215405.4]
  assign _T_222_bits = {{5'd0}, _T_213}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@214511.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@214513.4]
  assign _T_971_bits = _T_970 ? _T_222_bits : _T_969_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215406.4]
  assign _T_971_rd = _T_970 ? _T_20 : _T_969_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215406.4]
  assign _T_971_rs1 = _T_970 ? _T_37 : _T_969_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215406.4]
  assign _T_972 = _T_957 == 5'h8; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215407.4]
  assign _T_973_bits = _T_972 ? _T_233 : _T_971_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215408.4]
  assign _T_973_rd = _T_972 ? _T_228 : _T_971_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215408.4]
  assign _T_973_rs1 = _T_972 ? _T_228 : _T_971_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215408.4]
  assign _T_973_rs2 = _T_972 ? _T_20 : _T_971_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215408.4]
  assign _T_974 = _T_957 == 5'h9; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215409.4]
  assign _T_975_bits = _T_974 ? _T_321 : _T_973_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215410.4]
  assign _T_975_rd = _T_974 ? 5'h1 : _T_973_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215410.4]
  assign _T_975_rs1 = _T_974 ? _T_228 : _T_973_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215410.4]
  assign _T_975_rs2 = _T_974 ? _T_20 : _T_973_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215410.4]
  assign _T_976 = _T_957 == 5'ha; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215411.4]
  assign _T_977_bits = _T_976 ? _T_337 : _T_975_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215412.4]
  assign _T_977_rd = _T_976 ? _T_228 : _T_975_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215412.4]
  assign _T_977_rs1 = _T_976 ? 5'h0 : _T_975_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215412.4]
  assign _T_977_rs2 = _T_976 ? _T_20 : _T_975_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215412.4]
  assign _T_978 = _T_957 == 5'hb; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215413.4]
  assign _T_979_bits = _T_978 ? _T_405_bits : _T_977_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215414.4]
  assign _T_979_rd = _T_978 ? _T_405_rd : _T_977_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215414.4]
  assign _T_979_rs1 = _T_978 ? _T_405_rd : _T_977_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215414.4]
  assign _T_979_rs2 = _T_978 ? _T_405_rs2 : _T_977_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215414.4]
  assign _T_980 = _T_957 == 5'hc; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215415.4]
  assign _T_981_bits = _T_980 ? _T_481 : _T_979_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215416.4]
  assign _T_981_rd = _T_980 ? _T_37 : _T_979_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215416.4]
  assign _T_981_rs1 = _T_980 ? _T_37 : _T_979_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215416.4]
  assign _T_981_rs2 = _T_980 ? _T_20 : _T_979_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215416.4]
  assign _T_982 = _T_957 == 5'hd; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215417.4]
  assign _T_983_bits = _T_982 ? _T_571 : _T_981_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215418.4]
  assign _T_983_rd = _T_982 ? 5'h0 : _T_981_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215418.4]
  assign _T_983_rs1 = _T_982 ? _T_37 : _T_981_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215418.4]
  assign _T_983_rs2 = _T_982 ? _T_20 : _T_981_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215418.4]
  assign _T_984 = _T_957 == 5'he; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215419.4]
  assign _T_985_bits = _T_984 ? _T_639 : _T_983_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215420.4]
  assign _T_985_rd = _T_984 ? _T_37 : _T_983_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215420.4]
  assign _T_985_rs1 = _T_984 ? _T_37 : _T_983_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215420.4]
  assign _T_985_rs2 = _T_984 ? 5'h0 : _T_983_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215420.4]
  assign _T_986 = _T_957 == 5'hf; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215421.4]
  assign _T_987_bits = _T_986 ? _T_707 : _T_985_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215422.4]
  assign _T_987_rd = _T_986 ? 5'h0 : _T_985_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215422.4]
  assign _T_987_rs1 = _T_986 ? _T_37 : _T_985_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215422.4]
  assign _T_987_rs2 = _T_986 ? 5'h0 : _T_985_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215422.4]
  assign _T_988 = _T_957 == 5'h10; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215423.4]
  assign _T_730_bits = {{6'd0}, _T_724}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215069.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215071.4]
  assign _T_989_bits = _T_988 ? _T_730_bits : _T_987_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215424.4]
  assign _T_989_rd = _T_988 ? _T_228 : _T_987_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215424.4]
  assign _T_989_rs1 = _T_988 ? _T_228 : _T_987_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215424.4]
  assign _T_989_rs2 = _T_988 ? _T_226 : _T_987_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215424.4]
  assign _T_990 = _T_957 == 5'h11; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215425.4]
  assign _T_746_bits = {{3'd0}, _T_741}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215090.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215092.4]
  assign _T_991_bits = _T_990 ? _T_746_bits : _T_989_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215426.4]
  assign _T_991_rd = _T_990 ? _T_228 : _T_989_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215426.4]
  assign _T_991_rs1 = _T_990 ? 5'h2 : _T_989_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215426.4]
  assign _T_991_rs2 = _T_990 ? _T_226 : _T_989_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215426.4]
  assign _T_992 = _T_957 == 5'h12; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215427.4]
  assign _T_762_bits = {{4'd0}, _T_757}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215111.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215113.4]
  assign _T_993_bits = _T_992 ? _T_762_bits : _T_991_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215428.4]
  assign _T_993_rd = _T_992 ? _T_228 : _T_991_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215428.4]
  assign _T_993_rs1 = _T_992 ? 5'h2 : _T_991_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215428.4]
  assign _T_993_rs2 = _T_992 ? _T_226 : _T_991_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215428.4]
  assign _T_994 = _T_957 == 5'h13; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215429.4]
  assign _T_778_bits = {{4'd0}, _T_773}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215132.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215134.4]
  assign _T_995_bits = _T_994 ? _T_778_bits : _T_993_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215430.4]
  assign _T_995_rd = _T_994 ? _T_228 : _T_993_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215430.4]
  assign _T_995_rs1 = _T_994 ? 5'h2 : _T_993_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215430.4]
  assign _T_995_rs2 = _T_994 ? _T_226 : _T_993_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215430.4]
  assign _T_996 = _T_957 == 5'h14; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215431.4]
  assign _T_997_bits = _T_996 ? _T_843_bits : _T_995_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215432.4]
  assign _T_997_rd = _T_996 ? _T_843_rd : _T_995_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215432.4]
  assign _T_997_rs1 = _T_996 ? _T_843_rs1 : _T_995_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215432.4]
  assign _T_997_rs2 = _T_996 ? _T_843_rs2 : _T_995_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215432.4]
  assign _T_998 = _T_957 == 5'h15; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215433.4]
  assign _T_864_bits = {{3'd0}, _T_859}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215243.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215245.4]
  assign _T_999_bits = _T_998 ? _T_864_bits : _T_997_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215434.4]
  assign _T_999_rd = _T_998 ? _T_228 : _T_997_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215434.4]
  assign _T_999_rs1 = _T_998 ? 5'h2 : _T_997_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215434.4]
  assign _T_999_rs2 = _T_998 ? _T_226 : _T_997_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215434.4]
  assign _T_1000 = _T_957 == 5'h16; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215435.4]
  assign _T_885_bits = {{4'd0}, _T_880}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215269.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215271.4]
  assign _T_1001_bits = _T_1000 ? _T_885_bits : _T_999_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215436.4]
  assign _T_1001_rd = _T_1000 ? _T_228 : _T_999_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215436.4]
  assign _T_1001_rs1 = _T_1000 ? 5'h2 : _T_999_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215436.4]
  assign _T_1001_rs2 = _T_1000 ? _T_226 : _T_999_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215436.4]
  assign _T_1002 = _T_957 == 5'h17; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215437.4]
  assign _T_906_bits = {{4'd0}, _T_901}; // @[RVC.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215295.4 RVC.scala 22:14:shc.marmotcaravel.MarmotCaravelConfig.fir@215297.4]
  assign _T_1003_bits = _T_1002 ? _T_906_bits : _T_1001_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215438.4]
  assign _T_1003_rd = _T_1002 ? _T_228 : _T_1001_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215438.4]
  assign _T_1003_rs1 = _T_1002 ? 5'h2 : _T_1001_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215438.4]
  assign _T_1003_rs2 = _T_1002 ? _T_226 : _T_1001_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215438.4]
  assign _T_1004 = _T_957 == 5'h18; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215439.4]
  assign _T_1005_bits = _T_1004 ? io_in : _T_1003_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215440.4]
  assign _T_1005_rd = _T_1004 ? _T_228 : _T_1003_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215440.4]
  assign _T_1005_rs1 = _T_1004 ? _T_908 : _T_1003_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215440.4]
  assign _T_1005_rs2 = _T_1004 ? _T_909 : _T_1003_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215440.4]
  assign _T_1006 = _T_957 == 5'h19; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215441.4]
  assign _T_1007_bits = _T_1006 ? io_in : _T_1005_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215442.4]
  assign _T_1007_rd = _T_1006 ? _T_228 : _T_1005_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215442.4]
  assign _T_1007_rs1 = _T_1006 ? _T_908 : _T_1005_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215442.4]
  assign _T_1007_rs2 = _T_1006 ? _T_909 : _T_1005_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215442.4]
  assign _T_1008 = _T_957 == 5'h1a; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215443.4]
  assign _T_1009_bits = _T_1008 ? io_in : _T_1007_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215444.4]
  assign _T_1009_rd = _T_1008 ? _T_228 : _T_1007_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215444.4]
  assign _T_1009_rs1 = _T_1008 ? _T_908 : _T_1007_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215444.4]
  assign _T_1009_rs2 = _T_1008 ? _T_909 : _T_1007_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215444.4]
  assign _T_1010 = _T_957 == 5'h1b; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215445.4]
  assign _T_1011_bits = _T_1010 ? io_in : _T_1009_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215446.4]
  assign _T_1011_rd = _T_1010 ? _T_228 : _T_1009_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215446.4]
  assign _T_1011_rs1 = _T_1010 ? _T_908 : _T_1009_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215446.4]
  assign _T_1011_rs2 = _T_1010 ? _T_909 : _T_1009_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215446.4]
  assign _T_1012 = _T_957 == 5'h1c; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215447.4]
  assign _T_1013_bits = _T_1012 ? io_in : _T_1011_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215448.4]
  assign _T_1013_rd = _T_1012 ? _T_228 : _T_1011_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215448.4]
  assign _T_1013_rs1 = _T_1012 ? _T_908 : _T_1011_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215448.4]
  assign _T_1013_rs2 = _T_1012 ? _T_909 : _T_1011_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215448.4]
  assign _T_1014 = _T_957 == 5'h1d; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215449.4]
  assign _T_1015_bits = _T_1014 ? io_in : _T_1013_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215450.4]
  assign _T_1015_rd = _T_1014 ? _T_228 : _T_1013_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215450.4]
  assign _T_1015_rs1 = _T_1014 ? _T_908 : _T_1013_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215450.4]
  assign _T_1015_rs2 = _T_1014 ? _T_909 : _T_1013_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215450.4]
  assign _T_1016 = _T_957 == 5'h1e; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215451.4]
  assign _T_1017_bits = _T_1016 ? io_in : _T_1015_bits; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215452.4]
  assign _T_1017_rd = _T_1016 ? _T_228 : _T_1015_rd; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215452.4]
  assign _T_1017_rs1 = _T_1016 ? _T_908 : _T_1015_rs1; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215452.4]
  assign _T_1017_rs2 = _T_1016 ? _T_909 : _T_1015_rs2; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215452.4]
  assign _T_1018 = _T_957 == 5'h1f; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@215453.4]
  assign io_out_bits = _T_1018 ? io_in : _T_1017_bits; // @[RVC.scala 164:12:shc.marmotcaravel.MarmotCaravelConfig.fir@215455.4]
  assign io_out_rd = _T_1018 ? _T_228 : _T_1017_rd; // @[RVC.scala 164:12:shc.marmotcaravel.MarmotCaravelConfig.fir@215455.4]
  assign io_out_rs1 = _T_1018 ? _T_908 : _T_1017_rs1; // @[RVC.scala 164:12:shc.marmotcaravel.MarmotCaravelConfig.fir@215455.4]
  assign io_out_rs2 = _T_1018 ? _T_909 : _T_1017_rs2; // @[RVC.scala 164:12:shc.marmotcaravel.MarmotCaravelConfig.fir@215455.4]
  assign io_rvc = _T_6 != 2'h3; // @[RVC.scala 163:12:shc.marmotcaravel.MarmotCaravelConfig.fir@214262.4]
endmodule
module IBuf( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215457.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215458.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215459.4]
  output        io_imem_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
  input         io_imem_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
  input         io_imem_bits_btb_taken, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
  input         io_imem_bits_btb_bridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
  input  [4:0]  io_imem_bits_btb_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
  input  [7:0]  io_imem_bits_btb_bht_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
  input  [31:0] io_imem_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
  input  [31:0] io_imem_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
  input         io_imem_bits_xcpt_ae_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
  input         io_imem_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
  input         io_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
  output [31:0] io_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
  output [4:0]  io_btb_resp_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
  output [7:0]  io_btb_resp_bht_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
  input         io_inst_0_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
  output        io_inst_0_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
  output        io_inst_0_bits_xcpt0_pf_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
  output        io_inst_0_bits_xcpt0_ae_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
  output        io_inst_0_bits_xcpt1_pf_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
  output        io_inst_0_bits_xcpt1_ae_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
  output        io_inst_0_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
  output        io_inst_0_bits_rvc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
  output [31:0] io_inst_0_bits_inst_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
  output [4:0]  io_inst_0_bits_inst_rd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
  output [4:0]  io_inst_0_bits_inst_rs1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
  output [4:0]  io_inst_0_bits_inst_rs2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
  output [31:0] io_inst_0_bits_raw // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215460.4]
);
  wire [31:0] RVCExpander_io_in; // @[IBuf.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215596.4]
  wire [31:0] RVCExpander_io_out_bits; // @[IBuf.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215596.4]
  wire [4:0] RVCExpander_io_out_rd; // @[IBuf.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215596.4]
  wire [4:0] RVCExpander_io_out_rs1; // @[IBuf.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215596.4]
  wire [4:0] RVCExpander_io_out_rs2; // @[IBuf.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215596.4]
  wire  RVCExpander_io_rvc; // @[IBuf.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215596.4]
  reg  nBufValid; // @[IBuf.scala 34:47:shc.marmotcaravel.MarmotCaravelConfig.fir@215465.4]
  reg [31:0] _RAND_0;
  reg [31:0] buf__pc; // @[IBuf.scala 35:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215466.4]
  reg [31:0] _RAND_1;
  reg [31:0] buf__data; // @[IBuf.scala 35:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215466.4]
  reg [31:0] _RAND_2;
  reg  buf__xcpt_pf_inst; // @[IBuf.scala 35:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215466.4]
  reg [31:0] _RAND_3;
  reg  buf__xcpt_ae_inst; // @[IBuf.scala 35:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215466.4]
  reg [31:0] _RAND_4;
  reg  buf__replay; // @[IBuf.scala 35:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215466.4]
  reg [31:0] _RAND_5;
  reg [4:0] ibufBTBResp_entry; // @[IBuf.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@215467.4]
  reg [31:0] _RAND_6;
  reg [7:0] ibufBTBResp_bht_history; // @[IBuf.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@215467.4]
  reg [31:0] _RAND_7;
  wire  pcWordBits; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@215468.4]
  wire [1:0] _T_25; // @[IBuf.scala 41:64:shc.marmotcaravel.MarmotCaravelConfig.fir@215472.4]
  wire [1:0] _T_26; // @[IBuf.scala 41:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215473.4]
  wire [1:0] _GEN_56; // @[IBuf.scala 41:88:shc.marmotcaravel.MarmotCaravelConfig.fir@215474.4]
  wire [2:0] _T_27; // @[IBuf.scala 41:88:shc.marmotcaravel.MarmotCaravelConfig.fir@215474.4]
  wire [2:0] _T_28; // @[IBuf.scala 41:88:shc.marmotcaravel.MarmotCaravelConfig.fir@215475.4]
  wire [1:0] nIC; // @[IBuf.scala 41:88:shc.marmotcaravel.MarmotCaravelConfig.fir@215476.4]
  wire [1:0] _T_31; // @[IBuf.scala 43:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215480.4]
  wire [1:0] _GEN_57; // @[IBuf.scala 43:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215481.4]
  wire [1:0] nValid; // @[IBuf.scala 43:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215482.4]
  wire [3:0] _T_94; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215562.4]
  wire [4:0] _T_95; // @[IBuf.scala 74:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215563.4]
  wire [4:0] _T_96; // @[IBuf.scala 74:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215564.4]
  wire [3:0] _T_97; // @[IBuf.scala 74:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215565.4]
  wire [1:0] valid; // @[IBuf.scala 74:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215566.4]
  wire [1:0] _T_127; // @[IBuf.scala 93:42:shc.marmotcaravel.MarmotCaravelConfig.fir@215614.4]
  wire  _T_128; // @[IBuf.scala 93:42:shc.marmotcaravel.MarmotCaravelConfig.fir@215615.4]
  wire  _T_129; // @[IBuf.scala 93:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215616.4]
  wire [1:0] _T_98; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215567.4]
  wire [2:0] _T_99; // @[IBuf.scala 75:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215568.4]
  wire [2:0] _T_100; // @[IBuf.scala 75:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215569.4]
  wire [1:0] bufMask; // @[IBuf.scala 75:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215570.4]
  wire [1:0] buf_replay; // @[IBuf.scala 77:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215575.4]
  wire [1:0] _T_130; // @[IBuf.scala 93:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215617.4]
  wire  _T_131; // @[IBuf.scala 93:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215618.4]
  wire  _T_132; // @[IBuf.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@215619.4]
  wire [1:0] _T_165; // @[IBuf.scala 102:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215663.6]
  wire [1:0] nReady; // @[IBuf.scala 102:56:shc.marmotcaravel.MarmotCaravelConfig.fir@215658.4]
  wire [2:0] _T_29; // @[IBuf.scala 42:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215477.4]
  wire [2:0] _T_30; // @[IBuf.scala 42:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215478.4]
  wire [1:0] nICReady; // @[IBuf.scala 42:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215479.4]
  wire  _T_33; // @[IBuf.scala 44:47:shc.marmotcaravel.MarmotCaravelConfig.fir@215483.4]
  wire  _T_34; // @[IBuf.scala 44:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215484.4]
  wire  _T_35; // @[IBuf.scala 44:73:shc.marmotcaravel.MarmotCaravelConfig.fir@215485.4]
  wire [2:0] _T_36; // @[IBuf.scala 44:92:shc.marmotcaravel.MarmotCaravelConfig.fir@215486.4]
  wire [2:0] _T_37; // @[IBuf.scala 44:92:shc.marmotcaravel.MarmotCaravelConfig.fir@215487.4]
  wire [1:0] _T_38; // @[IBuf.scala 44:92:shc.marmotcaravel.MarmotCaravelConfig.fir@215488.4]
  wire  _T_39; // @[IBuf.scala 44:85:shc.marmotcaravel.MarmotCaravelConfig.fir@215489.4]
  wire  _T_40; // @[IBuf.scala 44:80:shc.marmotcaravel.MarmotCaravelConfig.fir@215490.4]
  wire [2:0] _T_43; // @[IBuf.scala 48:64:shc.marmotcaravel.MarmotCaravelConfig.fir@215495.6]
  wire [2:0] _T_44; // @[IBuf.scala 48:64:shc.marmotcaravel.MarmotCaravelConfig.fir@215496.6]
  wire [1:0] _T_45; // @[IBuf.scala 48:64:shc.marmotcaravel.MarmotCaravelConfig.fir@215497.6]
  wire [1:0] _T_46; // @[IBuf.scala 48:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215498.6]
  wire  _T_48; // @[IBuf.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215501.6]
  wire  _T_49; // @[IBuf.scala 54:62:shc.marmotcaravel.MarmotCaravelConfig.fir@215502.6]
  wire  _T_50; // @[IBuf.scala 54:50:shc.marmotcaravel.MarmotCaravelConfig.fir@215503.6]
  wire  _T_55; // @[IBuf.scala 54:68:shc.marmotcaravel.MarmotCaravelConfig.fir@215508.6]
  wire [1:0] _T_57; // @[IBuf.scala 55:32:shc.marmotcaravel.MarmotCaravelConfig.fir@215511.8]
  wire [15:0] _T_61; // @[IBuf.scala 127:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215517.8]
  wire [31:0] _T_62; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215518.8]
  wire [63:0] _T_63; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215519.8]
  wire [5:0] _GEN_64; // @[IBuf.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215520.8]
  wire [5:0] _T_64; // @[IBuf.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215520.8]
  wire [63:0] _T_65; // @[IBuf.scala 128:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215521.8]
  wire [15:0] _T_66; // @[IBuf.scala 58:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215522.8]
  wire [31:0] _T_68; // @[IBuf.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215525.8]
  wire [2:0] _GEN_65; // @[IBuf.scala 59:80:shc.marmotcaravel.MarmotCaravelConfig.fir@215526.8]
  wire [2:0] _T_69; // @[IBuf.scala 59:80:shc.marmotcaravel.MarmotCaravelConfig.fir@215526.8]
  wire [31:0] _GEN_66; // @[IBuf.scala 59:68:shc.marmotcaravel.MarmotCaravelConfig.fir@215527.8]
  wire [31:0] _T_71; // @[IBuf.scala 59:68:shc.marmotcaravel.MarmotCaravelConfig.fir@215528.8]
  wire [31:0] _T_72; // @[IBuf.scala 59:109:shc.marmotcaravel.MarmotCaravelConfig.fir@215529.8]
  wire [31:0] _T_73; // @[IBuf.scala 59:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215530.8]
  wire [1:0] _GEN_0; // @[IBuf.scala 54:92:shc.marmotcaravel.MarmotCaravelConfig.fir@215509.6]
  wire [1:0] _GEN_23; // @[IBuf.scala 47:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215493.4]
  wire [1:0] _GEN_46; // @[IBuf.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215535.4]
  wire [1:0] _T_75; // @[IBuf.scala 68:32:shc.marmotcaravel.MarmotCaravelConfig.fir@215539.4]
  wire [2:0] _T_76; // @[IBuf.scala 68:44:shc.marmotcaravel.MarmotCaravelConfig.fir@215540.4]
  wire [2:0] _T_77; // @[IBuf.scala 68:44:shc.marmotcaravel.MarmotCaravelConfig.fir@215541.4]
  wire [1:0] icShiftAmt; // @[IBuf.scala 68:44:shc.marmotcaravel.MarmotCaravelConfig.fir@215542.4]
  wire [15:0] _T_79; // @[IBuf.scala 69:87:shc.marmotcaravel.MarmotCaravelConfig.fir@215544.4]
  wire [31:0] _T_80; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215545.4]
  wire [63:0] _T_81; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215546.4]
  wire [15:0] _T_82; // @[IBuf.scala 120:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215547.4]
  wire [31:0] _T_83; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215548.4]
  wire [63:0] _T_84; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215549.4]
  wire [127:0] _T_85; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215550.4]
  wire [5:0] _GEN_69; // @[IBuf.scala 121:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215551.4]
  wire [5:0] _T_86; // @[IBuf.scala 121:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215551.4]
  wire [190:0] _GEN_70; // @[IBuf.scala 121:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215552.4]
  wire [190:0] _T_87; // @[IBuf.scala 121:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215552.4]
  wire [31:0] icData; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@215553.4]
  wire [4:0] _GEN_71; // @[IBuf.scala 71:65:shc.marmotcaravel.MarmotCaravelConfig.fir@215555.4]
  wire [4:0] _T_89; // @[IBuf.scala 71:65:shc.marmotcaravel.MarmotCaravelConfig.fir@215555.4]
  wire [62:0] _T_90; // @[IBuf.scala 71:51:shc.marmotcaravel.MarmotCaravelConfig.fir@215556.4]
  wire [31:0] icMask; // @[IBuf.scala 71:92:shc.marmotcaravel.MarmotCaravelConfig.fir@215557.4]
  wire [31:0] _T_91; // @[IBuf.scala 72:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215558.4]
  wire [31:0] _T_92; // @[IBuf.scala 72:43:shc.marmotcaravel.MarmotCaravelConfig.fir@215559.4]
  wire [31:0] _T_93; // @[IBuf.scala 72:41:shc.marmotcaravel.MarmotCaravelConfig.fir@215560.4]
  wire  _T_101; // @[IBuf.scala 76:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215571.4]
  wire  _T_102; // @[IBuf.scala 76:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215573.4]
  wire  xcpt_1_pf_inst; // @[IBuf.scala 76:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215574.4]
  wire  xcpt_1_ae_inst; // @[IBuf.scala 76:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215574.4]
  wire [1:0] _T_103; // @[IBuf.scala 78:65:shc.marmotcaravel.MarmotCaravelConfig.fir@215576.4]
  wire [1:0] _T_104; // @[IBuf.scala 78:63:shc.marmotcaravel.MarmotCaravelConfig.fir@215577.4]
  wire [1:0] _T_105; // @[IBuf.scala 78:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215578.4]
  wire [1:0] ic_replay; // @[IBuf.scala 78:30:shc.marmotcaravel.MarmotCaravelConfig.fir@215579.4]
  wire  _T_106; // @[IBuf.scala 79:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215580.4]
  wire  _T_107; // @[IBuf.scala 79:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215581.4]
  wire  _T_108; // @[IBuf.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215582.4]
  wire  _T_109; // @[IBuf.scala 79:78:shc.marmotcaravel.MarmotCaravelConfig.fir@215583.4]
  wire  _T_110; // @[IBuf.scala 79:52:shc.marmotcaravel.MarmotCaravelConfig.fir@215584.4]
  wire  _T_112; // @[IBuf.scala 79:9:shc.marmotcaravel.MarmotCaravelConfig.fir@215586.4]
  wire  _T_113; // @[IBuf.scala 79:9:shc.marmotcaravel.MarmotCaravelConfig.fir@215587.4]
  wire  _T_114; // @[IBuf.scala 82:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215593.4]
  wire [1:0] _T_116; // @[IBuf.scala 92:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215603.4]
  wire  _T_117; // @[IBuf.scala 92:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215604.4]
  wire  _T_118; // @[IBuf.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215605.4]
  wire [1:0] _T_121; // @[IBuf.scala 92:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215608.4]
  wire  _T_122; // @[IBuf.scala 92:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215609.4]
  wire  _T_123; // @[IBuf.scala 92:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215610.4]
  wire [1:0] _T_133; // @[IBuf.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@215620.4]
  wire  _T_134; // @[IBuf.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@215621.4]
  wire [1:0] _T_142; // @[IBuf.scala 96:63:shc.marmotcaravel.MarmotCaravelConfig.fir@215631.4]
  wire [1:0] _T_143; // @[IBuf.scala 96:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215632.4]
  wire [1:0] _T_151; // @[IBuf.scala 100:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215645.4]
  wire  _T_152; // @[IBuf.scala 100:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215646.4]
  wire  _T_153; // @[IBuf.scala 100:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215647.4]
  wire [1:0] _T_156; // @[IBuf.scala 100:50:shc.marmotcaravel.MarmotCaravelConfig.fir@215650.4]
  wire  _T_157; // @[IBuf.scala 100:50:shc.marmotcaravel.MarmotCaravelConfig.fir@215651.4]
  wire  _T_158; // @[IBuf.scala 100:40:shc.marmotcaravel.MarmotCaravelConfig.fir@215652.4]
  RVCExpander RVCExpander ( // @[IBuf.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215596.4]
    .io_in(RVCExpander_io_in),
    .io_out_bits(RVCExpander_io_out_bits),
    .io_out_rd(RVCExpander_io_out_rd),
    .io_out_rs1(RVCExpander_io_out_rs1),
    .io_out_rs2(RVCExpander_io_out_rs2),
    .io_rvc(RVCExpander_io_rvc)
  );
  assign pcWordBits = io_imem_bits_pc[1]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@215468.4]
  assign _T_25 = io_imem_bits_btb_bridx + 1'h1; // @[IBuf.scala 41:64:shc.marmotcaravel.MarmotCaravelConfig.fir@215472.4]
  assign _T_26 = io_imem_bits_btb_taken ? _T_25 : 2'h2; // @[IBuf.scala 41:16:shc.marmotcaravel.MarmotCaravelConfig.fir@215473.4]
  assign _GEN_56 = {{1'd0}, pcWordBits}; // @[IBuf.scala 41:88:shc.marmotcaravel.MarmotCaravelConfig.fir@215474.4]
  assign _T_27 = _T_26 - _GEN_56; // @[IBuf.scala 41:88:shc.marmotcaravel.MarmotCaravelConfig.fir@215474.4]
  assign _T_28 = $unsigned(_T_27); // @[IBuf.scala 41:88:shc.marmotcaravel.MarmotCaravelConfig.fir@215475.4]
  assign nIC = _T_28[1:0]; // @[IBuf.scala 41:88:shc.marmotcaravel.MarmotCaravelConfig.fir@215476.4]
  assign _T_31 = io_imem_valid ? nIC : 2'h0; // @[IBuf.scala 43:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215480.4]
  assign _GEN_57 = {{1'd0}, nBufValid}; // @[IBuf.scala 43:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215481.4]
  assign nValid = _T_31 + _GEN_57; // @[IBuf.scala 43:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215482.4]
  assign _T_94 = 4'h1 << nValid; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215562.4]
  assign _T_95 = _T_94 - 4'h1; // @[IBuf.scala 74:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215563.4]
  assign _T_96 = $unsigned(_T_95); // @[IBuf.scala 74:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215564.4]
  assign _T_97 = _T_96[3:0]; // @[IBuf.scala 74:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215565.4]
  assign valid = _T_97[1:0]; // @[IBuf.scala 74:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215566.4]
  assign _T_127 = valid >> 1'h1; // @[IBuf.scala 93:42:shc.marmotcaravel.MarmotCaravelConfig.fir@215614.4]
  assign _T_128 = _T_127[0]; // @[IBuf.scala 93:42:shc.marmotcaravel.MarmotCaravelConfig.fir@215615.4]
  assign _T_129 = RVCExpander_io_rvc | _T_128; // @[IBuf.scala 93:34:shc.marmotcaravel.MarmotCaravelConfig.fir@215616.4]
  assign _T_98 = 2'h1 << nBufValid; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215567.4]
  assign _T_99 = _T_98 - 2'h1; // @[IBuf.scala 75:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215568.4]
  assign _T_100 = $unsigned(_T_99); // @[IBuf.scala 75:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215569.4]
  assign bufMask = _T_100[1:0]; // @[IBuf.scala 75:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215570.4]
  assign buf_replay = buf__replay ? bufMask : 2'h0; // @[IBuf.scala 77:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215575.4]
  assign _T_130 = buf_replay >> 1'h0; // @[IBuf.scala 93:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215617.4]
  assign _T_131 = _T_130[0]; // @[IBuf.scala 93:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215618.4]
  assign _T_132 = _T_129 | _T_131; // @[IBuf.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@215619.4]
  assign _T_165 = RVCExpander_io_rvc ? 2'h1 : 2'h2; // @[IBuf.scala 102:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215663.6]
  assign nReady = _T_132 ? _T_165 : 2'h0; // @[IBuf.scala 102:56:shc.marmotcaravel.MarmotCaravelConfig.fir@215658.4]
  assign _T_29 = nReady - _GEN_57; // @[IBuf.scala 42:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215477.4]
  assign _T_30 = $unsigned(_T_29); // @[IBuf.scala 42:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215478.4]
  assign nICReady = _T_30[1:0]; // @[IBuf.scala 42:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215479.4]
  assign _T_33 = nReady >= _GEN_57; // @[IBuf.scala 44:47:shc.marmotcaravel.MarmotCaravelConfig.fir@215483.4]
  assign _T_34 = io_inst_0_ready & _T_33; // @[IBuf.scala 44:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215484.4]
  assign _T_35 = nICReady >= nIC; // @[IBuf.scala 44:73:shc.marmotcaravel.MarmotCaravelConfig.fir@215485.4]
  assign _T_36 = nIC - nICReady; // @[IBuf.scala 44:92:shc.marmotcaravel.MarmotCaravelConfig.fir@215486.4]
  assign _T_37 = $unsigned(_T_36); // @[IBuf.scala 44:92:shc.marmotcaravel.MarmotCaravelConfig.fir@215487.4]
  assign _T_38 = _T_37[1:0]; // @[IBuf.scala 44:92:shc.marmotcaravel.MarmotCaravelConfig.fir@215488.4]
  assign _T_39 = 2'h1 >= _T_38; // @[IBuf.scala 44:85:shc.marmotcaravel.MarmotCaravelConfig.fir@215489.4]
  assign _T_40 = _T_35 | _T_39; // @[IBuf.scala 44:80:shc.marmotcaravel.MarmotCaravelConfig.fir@215490.4]
  assign _T_43 = _GEN_57 - nReady; // @[IBuf.scala 48:64:shc.marmotcaravel.MarmotCaravelConfig.fir@215495.6]
  assign _T_44 = $unsigned(_T_43); // @[IBuf.scala 48:64:shc.marmotcaravel.MarmotCaravelConfig.fir@215496.6]
  assign _T_45 = _T_44[1:0]; // @[IBuf.scala 48:64:shc.marmotcaravel.MarmotCaravelConfig.fir@215497.6]
  assign _T_46 = _T_33 ? 2'h0 : _T_45; // @[IBuf.scala 48:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215498.6]
  assign _T_48 = io_imem_valid & _T_33; // @[IBuf.scala 54:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215501.6]
  assign _T_49 = nICReady < nIC; // @[IBuf.scala 54:62:shc.marmotcaravel.MarmotCaravelConfig.fir@215502.6]
  assign _T_50 = _T_48 & _T_49; // @[IBuf.scala 54:50:shc.marmotcaravel.MarmotCaravelConfig.fir@215503.6]
  assign _T_55 = _T_50 & _T_39; // @[IBuf.scala 54:68:shc.marmotcaravel.MarmotCaravelConfig.fir@215508.6]
  assign _T_57 = _GEN_56 + nICReady; // @[IBuf.scala 55:32:shc.marmotcaravel.MarmotCaravelConfig.fir@215511.8]
  assign _T_61 = io_imem_bits_data[31:16]; // @[IBuf.scala 127:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215517.8]
  assign _T_62 = {_T_61,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215518.8]
  assign _T_63 = {_T_62,io_imem_bits_data}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215519.8]
  assign _GEN_64 = {{4'd0}, _T_57}; // @[IBuf.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215520.8]
  assign _T_64 = _GEN_64 << 4; // @[IBuf.scala 128:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215520.8]
  assign _T_65 = _T_63 >> _T_64; // @[IBuf.scala 128:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215521.8]
  assign _T_66 = _T_65[15:0]; // @[IBuf.scala 58:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215522.8]
  assign _T_68 = io_imem_bits_pc & 32'hfffffffc; // @[IBuf.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215525.8]
  assign _GEN_65 = {{1'd0}, nICReady}; // @[IBuf.scala 59:80:shc.marmotcaravel.MarmotCaravelConfig.fir@215526.8]
  assign _T_69 = _GEN_65 << 1; // @[IBuf.scala 59:80:shc.marmotcaravel.MarmotCaravelConfig.fir@215526.8]
  assign _GEN_66 = {{29'd0}, _T_69}; // @[IBuf.scala 59:68:shc.marmotcaravel.MarmotCaravelConfig.fir@215527.8]
  assign _T_71 = io_imem_bits_pc + _GEN_66; // @[IBuf.scala 59:68:shc.marmotcaravel.MarmotCaravelConfig.fir@215528.8]
  assign _T_72 = _T_71 & 32'h3; // @[IBuf.scala 59:109:shc.marmotcaravel.MarmotCaravelConfig.fir@215529.8]
  assign _T_73 = _T_68 | _T_72; // @[IBuf.scala 59:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215530.8]
  assign _GEN_0 = _T_55 ? _T_38 : _T_46; // @[IBuf.scala 54:92:shc.marmotcaravel.MarmotCaravelConfig.fir@215509.6]
  assign _GEN_23 = io_inst_0_ready ? _GEN_0 : {{1'd0}, nBufValid}; // @[IBuf.scala 47:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215493.4]
  assign _GEN_46 = io_kill ? 2'h0 : _GEN_23; // @[IBuf.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215535.4]
  assign _T_75 = 2'h2 + _GEN_57; // @[IBuf.scala 68:32:shc.marmotcaravel.MarmotCaravelConfig.fir@215539.4]
  assign _T_76 = _T_75 - _GEN_56; // @[IBuf.scala 68:44:shc.marmotcaravel.MarmotCaravelConfig.fir@215540.4]
  assign _T_77 = $unsigned(_T_76); // @[IBuf.scala 68:44:shc.marmotcaravel.MarmotCaravelConfig.fir@215541.4]
  assign icShiftAmt = _T_77[1:0]; // @[IBuf.scala 68:44:shc.marmotcaravel.MarmotCaravelConfig.fir@215542.4]
  assign _T_79 = io_imem_bits_data[15:0]; // @[IBuf.scala 69:87:shc.marmotcaravel.MarmotCaravelConfig.fir@215544.4]
  assign _T_80 = {_T_79,_T_79}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215545.4]
  assign _T_81 = {io_imem_bits_data,_T_80}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215546.4]
  assign _T_82 = _T_81[63:48]; // @[IBuf.scala 120:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215547.4]
  assign _T_83 = {_T_82,_T_82}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215548.4]
  assign _T_84 = {_T_83,_T_83}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215549.4]
  assign _T_85 = {_T_84,_T_81}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215550.4]
  assign _GEN_69 = {{4'd0}, icShiftAmt}; // @[IBuf.scala 121:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215551.4]
  assign _T_86 = _GEN_69 << 4; // @[IBuf.scala 121:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215551.4]
  assign _GEN_70 = {{63'd0}, _T_85}; // @[IBuf.scala 121:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215552.4]
  assign _T_87 = _GEN_70 << _T_86; // @[IBuf.scala 121:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215552.4]
  assign icData = _T_87[95:64]; // @[package.scala 119:13:shc.marmotcaravel.MarmotCaravelConfig.fir@215553.4]
  assign _GEN_71 = {{4'd0}, nBufValid}; // @[IBuf.scala 71:65:shc.marmotcaravel.MarmotCaravelConfig.fir@215555.4]
  assign _T_89 = _GEN_71 << 4; // @[IBuf.scala 71:65:shc.marmotcaravel.MarmotCaravelConfig.fir@215555.4]
  assign _T_90 = 63'hffffffff << _T_89; // @[IBuf.scala 71:51:shc.marmotcaravel.MarmotCaravelConfig.fir@215556.4]
  assign icMask = _T_90[31:0]; // @[IBuf.scala 71:92:shc.marmotcaravel.MarmotCaravelConfig.fir@215557.4]
  assign _T_91 = icData & icMask; // @[IBuf.scala 72:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215558.4]
  assign _T_92 = ~ icMask; // @[IBuf.scala 72:43:shc.marmotcaravel.MarmotCaravelConfig.fir@215559.4]
  assign _T_93 = buf__data & _T_92; // @[IBuf.scala 72:41:shc.marmotcaravel.MarmotCaravelConfig.fir@215560.4]
  assign _T_101 = bufMask[0]; // @[IBuf.scala 76:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215571.4]
  assign _T_102 = bufMask[1]; // @[IBuf.scala 76:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215573.4]
  assign xcpt_1_pf_inst = _T_102 ? buf__xcpt_pf_inst : 1'h0; // @[IBuf.scala 76:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215574.4]
  assign xcpt_1_ae_inst = _T_102 ? buf__xcpt_ae_inst : io_imem_bits_xcpt_ae_inst; // @[IBuf.scala 76:53:shc.marmotcaravel.MarmotCaravelConfig.fir@215574.4]
  assign _T_103 = ~ bufMask; // @[IBuf.scala 78:65:shc.marmotcaravel.MarmotCaravelConfig.fir@215576.4]
  assign _T_104 = valid & _T_103; // @[IBuf.scala 78:63:shc.marmotcaravel.MarmotCaravelConfig.fir@215577.4]
  assign _T_105 = io_imem_bits_replay ? _T_104 : 2'h0; // @[IBuf.scala 78:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215578.4]
  assign ic_replay = buf_replay | _T_105; // @[IBuf.scala 78:30:shc.marmotcaravel.MarmotCaravelConfig.fir@215579.4]
  assign _T_106 = io_imem_valid == 1'h0; // @[IBuf.scala 79:10:shc.marmotcaravel.MarmotCaravelConfig.fir@215580.4]
  assign _T_107 = io_imem_bits_btb_taken == 1'h0; // @[IBuf.scala 79:28:shc.marmotcaravel.MarmotCaravelConfig.fir@215581.4]
  assign _T_108 = _T_106 | _T_107; // @[IBuf.scala 79:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215582.4]
  assign _T_109 = io_imem_bits_btb_bridx >= pcWordBits; // @[IBuf.scala 79:78:shc.marmotcaravel.MarmotCaravelConfig.fir@215583.4]
  assign _T_110 = _T_108 | _T_109; // @[IBuf.scala 79:52:shc.marmotcaravel.MarmotCaravelConfig.fir@215584.4]
  assign _T_112 = _T_110 | reset; // @[IBuf.scala 79:9:shc.marmotcaravel.MarmotCaravelConfig.fir@215586.4]
  assign _T_113 = _T_112 == 1'h0; // @[IBuf.scala 79:9:shc.marmotcaravel.MarmotCaravelConfig.fir@215587.4]
  assign _T_114 = nBufValid > 1'h0; // @[IBuf.scala 82:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215593.4]
  assign _T_116 = ic_replay >> 1'h0; // @[IBuf.scala 92:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215603.4]
  assign _T_117 = _T_116[0]; // @[IBuf.scala 92:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215604.4]
  assign _T_118 = RVCExpander_io_rvc == 1'h0; // @[IBuf.scala 92:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215605.4]
  assign _T_121 = ic_replay >> 1'h1; // @[IBuf.scala 92:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215608.4]
  assign _T_122 = _T_121[0]; // @[IBuf.scala 92:61:shc.marmotcaravel.MarmotCaravelConfig.fir@215609.4]
  assign _T_123 = _T_118 & _T_122; // @[IBuf.scala 92:49:shc.marmotcaravel.MarmotCaravelConfig.fir@215610.4]
  assign _T_133 = valid >> 1'h0; // @[IBuf.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@215620.4]
  assign _T_134 = _T_133[0]; // @[IBuf.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@215621.4]
  assign _T_142 = {xcpt_1_pf_inst,xcpt_1_ae_inst}; // @[IBuf.scala 96:63:shc.marmotcaravel.MarmotCaravelConfig.fir@215631.4]
  assign _T_143 = RVCExpander_io_rvc ? 2'h0 : _T_142; // @[IBuf.scala 96:35:shc.marmotcaravel.MarmotCaravelConfig.fir@215632.4]
  assign _T_151 = bufMask >> 1'h0; // @[IBuf.scala 100:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215645.4]
  assign _T_152 = _T_151[0]; // @[IBuf.scala 100:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215646.4]
  assign _T_153 = _T_152 & RVCExpander_io_rvc; // @[IBuf.scala 100:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215647.4]
  assign _T_156 = bufMask >> 1'h1; // @[IBuf.scala 100:50:shc.marmotcaravel.MarmotCaravelConfig.fir@215650.4]
  assign _T_157 = _T_156[0]; // @[IBuf.scala 100:50:shc.marmotcaravel.MarmotCaravelConfig.fir@215651.4]
  assign _T_158 = _T_153 | _T_157; // @[IBuf.scala 100:40:shc.marmotcaravel.MarmotCaravelConfig.fir@215652.4]
  assign io_imem_ready = _T_34 & _T_40; // @[IBuf.scala 44:17:shc.marmotcaravel.MarmotCaravelConfig.fir@215492.4]
  assign io_pc = _T_114 ? buf__pc : io_imem_bits_pc; // @[IBuf.scala 82:9:shc.marmotcaravel.MarmotCaravelConfig.fir@215595.4]
  assign io_btb_resp_entry = _T_158 ? ibufBTBResp_entry : io_imem_bits_btb_entry; // @[IBuf.scala 81:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215592.4 IBuf.scala 100:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215654.6]
  assign io_btb_resp_bht_history = _T_158 ? ibufBTBResp_bht_history : io_imem_bits_btb_bht_history; // @[IBuf.scala 81:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215592.4 IBuf.scala 100:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215654.6]
  assign io_inst_0_valid = _T_134 & _T_132; // @[IBuf.scala 94:24:shc.marmotcaravel.MarmotCaravelConfig.fir@215623.4]
  assign io_inst_0_bits_xcpt0_pf_inst = _T_101 ? buf__xcpt_pf_inst : 1'h0; // @[IBuf.scala 95:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215626.4]
  assign io_inst_0_bits_xcpt0_ae_inst = _T_101 ? buf__xcpt_ae_inst : io_imem_bits_xcpt_ae_inst; // @[IBuf.scala 95:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215626.4]
  assign io_inst_0_bits_xcpt1_pf_inst = _T_143[1]; // @[IBuf.scala 96:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215642.4]
  assign io_inst_0_bits_xcpt1_ae_inst = _T_143[0]; // @[IBuf.scala 96:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215642.4]
  assign io_inst_0_bits_replay = _T_117 | _T_123; // @[IBuf.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@215643.4]
  assign io_inst_0_bits_rvc = RVCExpander_io_rvc; // @[IBuf.scala 98:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215644.4]
  assign io_inst_0_bits_inst_bits = RVCExpander_io_out_bits; // @[IBuf.scala 88:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215601.4]
  assign io_inst_0_bits_inst_rd = RVCExpander_io_out_rd; // @[IBuf.scala 88:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215601.4]
  assign io_inst_0_bits_inst_rs1 = RVCExpander_io_out_rs1; // @[IBuf.scala 88:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215601.4]
  assign io_inst_0_bits_inst_rs2 = RVCExpander_io_out_rs2; // @[IBuf.scala 88:26:shc.marmotcaravel.MarmotCaravelConfig.fir@215601.4]
  assign io_inst_0_bits_raw = _T_91 | _T_93; // @[IBuf.scala 89:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215602.4]
  assign RVCExpander_io_in = _T_91 | _T_93; // @[IBuf.scala 87:15:shc.marmotcaravel.MarmotCaravelConfig.fir@215600.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  nBufValid = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  buf__pc = _RAND_1[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  buf__data = _RAND_2[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  buf__xcpt_pf_inst = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  buf__xcpt_ae_inst = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  buf__replay = _RAND_5[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  ibufBTBResp_entry = _RAND_6[4:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  ibufBTBResp_bht_history = _RAND_7[7:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      nBufValid <= 1'h0;
    end else begin
      nBufValid <= _GEN_46[0];
    end
    if (io_inst_0_ready) begin
      if (_T_55) begin
        buf__pc <= _T_73;
      end
    end
    if (io_inst_0_ready) begin
      if (_T_55) begin
        buf__data <= {{16'd0}, _T_66};
      end
    end
    if (io_inst_0_ready) begin
      if (_T_55) begin
        buf__xcpt_pf_inst <= 1'h0;
      end
    end
    if (io_inst_0_ready) begin
      if (_T_55) begin
        buf__xcpt_ae_inst <= io_imem_bits_xcpt_ae_inst;
      end
    end
    if (io_inst_0_ready) begin
      if (_T_55) begin
        buf__replay <= io_imem_bits_replay;
      end
    end
    if (io_inst_0_ready) begin
      if (_T_55) begin
        ibufBTBResp_entry <= io_imem_bits_btb_entry;
      end
    end
    if (io_inst_0_ready) begin
      if (_T_55) begin
        ibufBTBResp_bht_history <= io_imem_bits_btb_bht_history;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_113) begin
          $fwrite(32'h80000002,"Assertion failed\n    at IBuf.scala:79 assert(!io.imem.valid || !io.imem.bits.btb.taken || io.imem.bits.btb.bridx >= pcWordBits)\n"); // @[IBuf.scala 79:9:shc.marmotcaravel.MarmotCaravelConfig.fir@215589.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_113) begin
          $fatal; // @[IBuf.scala 79:9:shc.marmotcaravel.MarmotCaravelConfig.fir@215590.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module CSRFile( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215675.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215676.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215677.4]
  input         io_ungated_clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  input         io_interrupts_debug, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  input         io_interrupts_mtip, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  input         io_interrupts_msip, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  input         io_interrupts_meip, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  input         io_hartid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  input  [11:0] io_rw_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  input  [2:0]  io_rw_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [31:0] io_rw_rdata, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  input  [31:0] io_rw_wdata, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  input  [11:0] io_decode_0_csr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_decode_0_fp_illegal, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_decode_0_fp_csr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_decode_0_read_illegal, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_decode_0_write_illegal, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_decode_0_write_flush, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_csr_stall, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_eret, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_singleStep, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_status_debug, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [31:0] io_status_isa, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [1:0]  io_status_dprv, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [1:0]  io_status_prv, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_status_sd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [26:0] io_status_zero2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [1:0]  io_status_sxl, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [1:0]  io_status_uxl, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_status_sd_rv32, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [7:0]  io_status_zero1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_status_tsr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_status_tw, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_status_tvm, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_status_mxr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_status_sum, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_status_mprv, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [1:0]  io_status_xs, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [1:0]  io_status_fs, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [1:0]  io_status_mpp, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [1:0]  io_status_hpp, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_status_spp, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_status_mpie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_status_hpie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_status_spie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_status_upie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_status_mie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_status_hie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_status_sie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_status_uie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [31:0] io_evec, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  input         io_exception, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  input         io_retire, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  input  [31:0] io_cause, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  input  [31:0] io_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  input  [31:0] io_tval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [31:0] io_time, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_interrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [31:0] io_interrupt_cause, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_bp_0_control_action, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_bp_0_control_chain, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [1:0]  io_bp_0_control_tmatch, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_bp_0_control_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_bp_0_control_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_bp_0_control_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [31:0] io_bp_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_bp_1_control_action, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [1:0]  io_bp_1_control_tmatch, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_bp_1_control_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_bp_1_control_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_bp_1_control_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [31:0] io_bp_1_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [1:0]  io_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [29:0] io_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [31:0] io_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [1:0]  io_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [29:0] io_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [31:0] io_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [1:0]  io_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [29:0] io_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [31:0] io_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [1:0]  io_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [29:0] io_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [31:0] io_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [1:0]  io_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [29:0] io_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [31:0] io_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [1:0]  io_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [29:0] io_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [31:0] io_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [1:0]  io_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [29:0] io_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [31:0] io_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [1:0]  io_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [29:0] io_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [31:0] io_pmp_7_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  input  [31:0] io_inst_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_trace_0_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [31:0] io_trace_0_iaddr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output [31:0] io_trace_0_insn, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
  output        io_trace_0_exception // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@215678.4]
);
  reg [1:0] reg_mstatus_mpp; // @[CSR.scala 236:24:shc.marmotcaravel.MarmotCaravelConfig.fir@215751.4]
  reg [31:0] _RAND_0;
  reg  reg_mstatus_spp; // @[CSR.scala 236:24:shc.marmotcaravel.MarmotCaravelConfig.fir@215751.4]
  reg [31:0] _RAND_1;
  reg  reg_mstatus_mpie; // @[CSR.scala 236:24:shc.marmotcaravel.MarmotCaravelConfig.fir@215751.4]
  reg [31:0] _RAND_2;
  reg  reg_mstatus_mie; // @[CSR.scala 236:24:shc.marmotcaravel.MarmotCaravelConfig.fir@215751.4]
  reg [31:0] _RAND_3;
  reg  reg_dcsr_ebreakm; // @[CSR.scala 244:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215794.4]
  reg [31:0] _RAND_4;
  reg [2:0] reg_dcsr_cause; // @[CSR.scala 244:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215794.4]
  reg [31:0] _RAND_5;
  reg  reg_dcsr_step; // @[CSR.scala 244:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215794.4]
  reg [31:0] _RAND_6;
  reg [1:0] reg_dcsr_prv; // @[CSR.scala 244:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215794.4]
  reg [31:0] _RAND_7;
  reg  reg_debug; // @[CSR.scala 282:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215850.4]
  reg [31:0] _RAND_8;
  reg [31:0] reg_dpc; // @[CSR.scala 283:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215851.4]
  reg [31:0] _RAND_9;
  reg [31:0] reg_dscratch; // @[CSR.scala 284:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215852.4]
  reg [31:0] _RAND_10;
  reg  reg_singleStepped; // @[CSR.scala 285:30:shc.marmotcaravel.MarmotCaravelConfig.fir@215853.4]
  reg [31:0] _RAND_11;
  reg  reg_tselect; // @[CSR.scala 287:24:shc.marmotcaravel.MarmotCaravelConfig.fir@215854.4]
  reg [31:0] _RAND_12;
  reg  reg_bp_0_control_dmode; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
  reg [31:0] _RAND_13;
  reg  reg_bp_0_control_action; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
  reg [31:0] _RAND_14;
  reg  reg_bp_0_control_chain; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
  reg [31:0] _RAND_15;
  reg [1:0] reg_bp_0_control_tmatch; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
  reg [31:0] _RAND_16;
  reg  reg_bp_0_control_x; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
  reg [31:0] _RAND_17;
  reg  reg_bp_0_control_w; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
  reg [31:0] _RAND_18;
  reg  reg_bp_0_control_r; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
  reg [31:0] _RAND_19;
  reg [31:0] reg_bp_0_address; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
  reg [31:0] _RAND_20;
  reg  reg_bp_1_control_dmode; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
  reg [31:0] _RAND_21;
  reg  reg_bp_1_control_action; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
  reg [31:0] _RAND_22;
  reg [1:0] reg_bp_1_control_tmatch; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
  reg [31:0] _RAND_23;
  reg  reg_bp_1_control_x; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
  reg [31:0] _RAND_24;
  reg  reg_bp_1_control_w; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
  reg [31:0] _RAND_25;
  reg  reg_bp_1_control_r; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
  reg [31:0] _RAND_26;
  reg [31:0] reg_bp_1_address; // @[CSR.scala 288:19:shc.marmotcaravel.MarmotCaravelConfig.fir@215855.4]
  reg [31:0] _RAND_27;
  reg  reg_pmp_0_cfg_l; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_28;
  reg [1:0] reg_pmp_0_cfg_a; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_29;
  reg  reg_pmp_0_cfg_x; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_30;
  reg  reg_pmp_0_cfg_w; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_31;
  reg  reg_pmp_0_cfg_r; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_32;
  reg [29:0] reg_pmp_0_addr; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_33;
  reg  reg_pmp_1_cfg_l; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_34;
  reg [1:0] reg_pmp_1_cfg_a; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_35;
  reg  reg_pmp_1_cfg_x; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_36;
  reg  reg_pmp_1_cfg_w; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_37;
  reg  reg_pmp_1_cfg_r; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_38;
  reg [29:0] reg_pmp_1_addr; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_39;
  reg  reg_pmp_2_cfg_l; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_40;
  reg [1:0] reg_pmp_2_cfg_a; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_41;
  reg  reg_pmp_2_cfg_x; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_42;
  reg  reg_pmp_2_cfg_w; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_43;
  reg  reg_pmp_2_cfg_r; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_44;
  reg [29:0] reg_pmp_2_addr; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_45;
  reg  reg_pmp_3_cfg_l; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_46;
  reg [1:0] reg_pmp_3_cfg_a; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_47;
  reg  reg_pmp_3_cfg_x; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_48;
  reg  reg_pmp_3_cfg_w; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_49;
  reg  reg_pmp_3_cfg_r; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_50;
  reg [29:0] reg_pmp_3_addr; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_51;
  reg  reg_pmp_4_cfg_l; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_52;
  reg [1:0] reg_pmp_4_cfg_a; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_53;
  reg  reg_pmp_4_cfg_x; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_54;
  reg  reg_pmp_4_cfg_w; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_55;
  reg  reg_pmp_4_cfg_r; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_56;
  reg [29:0] reg_pmp_4_addr; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_57;
  reg  reg_pmp_5_cfg_l; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_58;
  reg [1:0] reg_pmp_5_cfg_a; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_59;
  reg  reg_pmp_5_cfg_x; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_60;
  reg  reg_pmp_5_cfg_w; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_61;
  reg  reg_pmp_5_cfg_r; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_62;
  reg [29:0] reg_pmp_5_addr; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_63;
  reg  reg_pmp_6_cfg_l; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_64;
  reg [1:0] reg_pmp_6_cfg_a; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_65;
  reg  reg_pmp_6_cfg_x; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_66;
  reg  reg_pmp_6_cfg_w; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_67;
  reg  reg_pmp_6_cfg_r; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_68;
  reg [29:0] reg_pmp_6_addr; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_69;
  reg  reg_pmp_7_cfg_l; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_70;
  reg [1:0] reg_pmp_7_cfg_a; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_71;
  reg  reg_pmp_7_cfg_x; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_72;
  reg  reg_pmp_7_cfg_w; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_73;
  reg  reg_pmp_7_cfg_r; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_74;
  reg [29:0] reg_pmp_7_addr; // @[CSR.scala 289:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215856.4]
  reg [31:0] _RAND_75;
  reg [31:0] reg_mie; // @[CSR.scala 291:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215857.4]
  reg [31:0] _RAND_76;
  reg [31:0] reg_mepc; // @[CSR.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@215861.4]
  reg [31:0] _RAND_77;
  reg [31:0] reg_mcause; // @[CSR.scala 296:23:shc.marmotcaravel.MarmotCaravelConfig.fir@215862.4]
  reg [31:0] _RAND_78;
  reg [31:0] reg_mbadaddr; // @[CSR.scala 297:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215863.4]
  reg [31:0] _RAND_79;
  reg [31:0] reg_mscratch; // @[CSR.scala 298:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215864.4]
  reg [31:0] _RAND_80;
  reg [31:0] reg_mtvec; // @[CSR.scala 301:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215865.4]
  reg [31:0] _RAND_81;
  reg  reg_wfi; // @[CSR.scala 314:50:shc.marmotcaravel.MarmotCaravelConfig.fir@215874.4]
  reg [31:0] _RAND_82;
  reg [5:0] _T_258; // @[Counters.scala 46:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215877.4]
  reg [31:0] _RAND_83;
  wire [5:0] _GEN_446; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215878.4]
  wire [6:0] _T_259; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215878.4]
  reg [57:0] _T_261; // @[Counters.scala 51:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215880.4]
  reg [63:0] _RAND_84;
  wire  _T_262; // @[Counters.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215881.4]
  wire [57:0] _T_264; // @[Counters.scala 52:43:shc.marmotcaravel.MarmotCaravelConfig.fir@215884.6]
  wire [63:0] _T_265; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215887.4]
  wire  _T_266; // @[CSR.scala 320:103:shc.marmotcaravel.MarmotCaravelConfig.fir@215888.4]
  reg [5:0] _T_268; // @[Counters.scala 46:37:shc.marmotcaravel.MarmotCaravelConfig.fir@215889.4]
  reg [31:0] _RAND_85;
  wire [5:0] _GEN_447; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215890.4]
  wire [6:0] _T_269; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215890.4]
  reg [57:0] _T_271; // @[Counters.scala 51:27:shc.marmotcaravel.MarmotCaravelConfig.fir@215892.4]
  reg [63:0] _RAND_86;
  wire  _T_272; // @[Counters.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215893.4]
  wire [57:0] _T_274; // @[Counters.scala 52:43:shc.marmotcaravel.MarmotCaravelConfig.fir@215896.6]
  wire [63:0] _T_275; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215899.4]
  wire [1:0] _T_282; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215908.4]
  wire [3:0] _T_283; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215909.4]
  wire [1:0] _T_285; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215911.4]
  wire [3:0] _T_286; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215912.4]
  wire [7:0] _T_287; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215913.4]
  wire [1:0] _T_289; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215915.4]
  wire [3:0] _T_290; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215916.4]
  wire [7:0] _T_294; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215920.4]
  wire [15:0] _T_295; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215921.4]
  wire [15:0] read_mip; // @[CSR.scala 333:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215922.4]
  wire [31:0] _GEN_448; // @[CSR.scala 336:56:shc.marmotcaravel.MarmotCaravelConfig.fir@215923.4]
  wire [31:0] pending_interrupts; // @[CSR.scala 336:56:shc.marmotcaravel.MarmotCaravelConfig.fir@215923.4]
  wire [14:0] _GEN_449; // @[CSR.scala 337:42:shc.marmotcaravel.MarmotCaravelConfig.fir@215925.4]
  wire [14:0] d_interrupts; // @[CSR.scala 337:42:shc.marmotcaravel.MarmotCaravelConfig.fir@215925.4]
  wire [31:0] _T_299; // @[CSR.scala 338:73:shc.marmotcaravel.MarmotCaravelConfig.fir@215928.4]
  wire [31:0] _T_301; // @[CSR.scala 338:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215930.4]
  wire [31:0] m_interrupts; // @[CSR.scala 338:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215931.4]
  wire  _T_307; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215938.4]
  wire  _T_308; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215939.4]
  wire  _T_309; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215940.4]
  wire  _T_310; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215941.4]
  wire  _T_311; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215942.4]
  wire  _T_312; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215943.4]
  wire  _T_313; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215944.4]
  wire  _T_314; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215945.4]
  wire  _T_315; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215946.4]
  wire  _T_316; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215947.4]
  wire  _T_317; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215948.4]
  wire  _T_318; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215949.4]
  wire  _T_319; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215950.4]
  wire  _T_320; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215951.4]
  wire  _T_321; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215952.4]
  wire  _T_322; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215953.4]
  wire  _T_323; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215954.4]
  wire  _T_324; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215955.4]
  wire  _T_325; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215956.4]
  wire  _T_326; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215957.4]
  wire  _T_327; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215958.4]
  wire  _T_328; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215959.4]
  wire  _T_329; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215960.4]
  wire  _T_330; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215961.4]
  wire  _T_331; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215962.4]
  wire  _T_345; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215976.4]
  wire  _T_346; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215977.4]
  wire  _T_347; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215978.4]
  wire  _T_348; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215979.4]
  wire  _T_349; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215980.4]
  wire  _T_350; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215981.4]
  wire  _T_351; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215982.4]
  wire  _T_352; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215983.4]
  wire  _T_353; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215984.4]
  wire  _T_354; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215985.4]
  wire  _T_355; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215986.4]
  wire  _T_356; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215987.4]
  wire  _T_357; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215988.4]
  wire  _T_358; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215989.4]
  wire  _T_359; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215990.4]
  wire  _T_360; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215991.4]
  wire  _T_361; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215992.4]
  wire  _T_362; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215993.4]
  wire  _T_363; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215994.4]
  wire  _T_364; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215995.4]
  wire  _T_365; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215996.4]
  wire  _T_366; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215997.4]
  wire  _T_367; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215998.4]
  wire  anyInterrupt; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215999.4]
  wire [3:0] _T_432; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216064.4]
  wire [3:0] _T_433; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216065.4]
  wire [3:0] _T_434; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216066.4]
  wire [3:0] _T_435; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216067.4]
  wire [3:0] _T_436; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216068.4]
  wire [3:0] _T_437; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216069.4]
  wire [3:0] _T_438; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216070.4]
  wire [3:0] _T_439; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216071.4]
  wire [3:0] _T_440; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216072.4]
  wire [3:0] _T_441; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216073.4]
  wire [3:0] _T_442; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216074.4]
  wire [3:0] _T_443; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216075.4]
  wire [3:0] _T_444; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216076.4]
  wire [3:0] _T_445; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216077.4]
  wire [3:0] _T_446; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216078.4]
  wire [3:0] _T_447; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216079.4]
  wire [3:0] _T_448; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216080.4]
  wire [3:0] _T_449; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216081.4]
  wire [3:0] _T_450; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216082.4]
  wire [3:0] _T_451; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216083.4]
  wire [3:0] _T_452; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216084.4]
  wire [3:0] _T_453; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216085.4]
  wire [3:0] _T_454; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216086.4]
  wire [3:0] whichInterrupt; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216087.4]
  wire [31:0] _GEN_450; // @[CSR.scala 342:43:shc.marmotcaravel.MarmotCaravelConfig.fir@216088.4]
  wire  _T_456; // @[CSR.scala 343:36:shc.marmotcaravel.MarmotCaravelConfig.fir@216090.4]
  wire  _T_457; // @[CSR.scala 343:33:shc.marmotcaravel.MarmotCaravelConfig.fir@216091.4]
  wire  _T_458; // @[CSR.scala 343:51:shc.marmotcaravel.MarmotCaravelConfig.fir@216092.4]
  wire  _T_459; // @[CSR.scala 343:76:shc.marmotcaravel.MarmotCaravelConfig.fir@216093.4]
  wire  _T_463; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216102.4]
  wire [30:0] _T_464; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216103.4]
  wire [30:0] _T_467; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216106.4]
  wire [30:0] _T_468; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216107.4]
  wire [30:0] _T_469; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216108.4]
  wire [32:0] _T_470; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216109.4]
  wire  _T_473; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216114.4]
  wire [30:0] _T_474; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216115.4]
  wire [30:0] _T_477; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216118.4]
  wire [30:0] _T_478; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216119.4]
  wire [30:0] _T_479; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216120.4]
  wire [32:0] _T_480; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216121.4]
  wire  _T_483; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216126.4]
  wire [30:0] _T_484; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216127.4]
  wire [30:0] _T_487; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216130.4]
  wire [30:0] _T_488; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216131.4]
  wire [30:0] _T_489; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216132.4]
  wire [32:0] _T_490; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216133.4]
  wire  _T_493; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216138.4]
  wire [30:0] _T_494; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216139.4]
  wire [30:0] _T_497; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216142.4]
  wire [30:0] _T_498; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216143.4]
  wire [30:0] _T_499; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216144.4]
  wire [32:0] _T_500; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216145.4]
  wire  _T_503; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216150.4]
  wire [30:0] _T_504; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216151.4]
  wire [30:0] _T_507; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216154.4]
  wire [30:0] _T_508; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216155.4]
  wire [30:0] _T_509; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216156.4]
  wire [32:0] _T_510; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216157.4]
  wire  _T_513; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216162.4]
  wire [30:0] _T_514; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216163.4]
  wire [30:0] _T_517; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216166.4]
  wire [30:0] _T_518; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216167.4]
  wire [30:0] _T_519; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216168.4]
  wire [32:0] _T_520; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216169.4]
  wire  _T_523; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216174.4]
  wire [30:0] _T_524; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216175.4]
  wire [30:0] _T_527; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216178.4]
  wire [30:0] _T_528; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216179.4]
  wire [30:0] _T_529; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216180.4]
  wire [32:0] _T_530; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216181.4]
  wire  _T_533; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216186.4]
  wire [30:0] _T_534; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216187.4]
  wire [30:0] _T_537; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216190.4]
  wire [30:0] _T_538; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216191.4]
  wire [30:0] _T_539; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216192.4]
  wire [32:0] _T_540; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216193.4]
  reg [31:0] reg_misa; // @[CSR.scala 359:21:shc.marmotcaravel.MarmotCaravelConfig.fir@216203.4]
  reg [31:0] _RAND_87;
  wire [1:0] _T_542; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216204.4]
  wire [2:0] _T_543; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216205.4]
  wire [1:0] _T_544; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216206.4]
  wire [1:0] _T_545; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216207.4]
  wire [3:0] _T_546; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216208.4]
  wire [6:0] _T_547; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216209.4]
  wire [2:0] _T_548; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216210.4]
  wire [3:0] _T_549; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216211.4]
  wire [3:0] _T_550; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216212.4]
  wire [2:0] _T_551; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216213.4]
  wire [6:0] _T_552; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216214.4]
  wire [10:0] _T_553; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216215.4]
  wire [17:0] _T_554; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216216.4]
  wire [1:0] _T_555; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216217.4]
  wire [2:0] _T_556; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216218.4]
  wire [1:0] _T_557; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216219.4]
  wire [8:0] _T_558; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216220.4]
  wire [10:0] _T_559; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216221.4]
  wire [13:0] _T_560; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216222.4]
  wire [3:0] _T_561; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216223.4]
  wire [27:0] _T_562; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216224.4]
  wire [31:0] _T_563; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216225.4]
  wire [3:0] _T_564; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216226.4]
  wire [32:0] _T_565; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216227.4]
  wire [36:0] _T_566; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216228.4]
  wire [68:0] _T_567; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216229.4]
  wire [82:0] _T_568; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216230.4]
  wire [100:0] _T_569; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216231.4]
  wire [31:0] read_mstatus; // @[CSR.scala 360:40:shc.marmotcaravel.MarmotCaravelConfig.fir@216232.4]
  wire  _GEN_19; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
  wire  _GEN_22; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
  wire  _GEN_23; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
  wire [1:0] _GEN_25; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
  wire  _GEN_30; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
  wire  _GEN_31; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
  wire  _GEN_32; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
  wire [31:0] _GEN_33; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
  wire [1:0] _T_571; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
  wire [2:0] _T_572; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216234.4]
  wire [6:0] _T_576; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216238.4]
  wire [3:0] _T_577; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216239.4]
  wire [1:0] _T_578; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216240.4]
  wire [5:0] _T_579; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216241.4]
  wire [4:0] _T_581; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216243.4]
  wire [18:0] _T_582; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216244.4]
  wire [24:0] _T_583; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216245.4]
  wire [31:0] _T_584; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216246.4]
  wire [31:0] _T_586; // @[CSR.scala 908:28:shc.marmotcaravel.MarmotCaravelConfig.fir@216247.4]
  wire  _T_587; // @[CSR.scala 908:45:shc.marmotcaravel.MarmotCaravelConfig.fir@216248.4]
  wire [1:0] _T_588; // @[CSR.scala 908:36:shc.marmotcaravel.MarmotCaravelConfig.fir@216249.4]
  wire [31:0] _GEN_451; // @[CSR.scala 908:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216250.4]
  wire [31:0] _T_589; // @[CSR.scala 908:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216250.4]
  wire [31:0] _T_590; // @[CSR.scala 908:26:shc.marmotcaravel.MarmotCaravelConfig.fir@216251.4]
  wire [3:0] _T_591; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216252.4]
  wire [5:0] _T_592; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216253.4]
  wire [3:0] _T_593; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216254.4]
  wire [5:0] _T_595; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216256.4]
  wire [11:0] _T_596; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216257.4]
  wire [12:0] _T_599; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216260.4]
  wire [16:0] _T_601; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216262.4]
  wire [19:0] _T_602; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216263.4]
  wire [31:0] _T_603; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216264.4]
  wire [31:0] _T_604; // @[CSR.scala 908:28:shc.marmotcaravel.MarmotCaravelConfig.fir@216265.4]
  wire [31:0] _T_607; // @[CSR.scala 908:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216268.4]
  wire [31:0] _T_608; // @[CSR.scala 908:26:shc.marmotcaravel.MarmotCaravelConfig.fir@216269.4]
  wire [31:0] _T_610; // @[CSR.scala 415:50:shc.marmotcaravel.MarmotCaravelConfig.fir@216271.4]
  wire [31:0] _T_611; // @[CSR.scala 416:54:shc.marmotcaravel.MarmotCaravelConfig.fir@216272.4]
  wire [1:0] _T_626; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216294.4]
  wire [2:0] _T_627; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216295.4]
  wire [2:0] _T_628; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216296.4]
  wire [4:0] _T_629; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216297.4]
  wire [7:0] _T_630; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216298.4]
  wire [1:0] _T_631; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216299.4]
  wire [2:0] _T_632; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216300.4]
  wire [2:0] _T_633; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216301.4]
  wire [4:0] _T_634; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216302.4]
  wire [7:0] _T_635; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216303.4]
  wire [1:0] _T_636; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216304.4]
  wire [2:0] _T_637; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216305.4]
  wire [2:0] _T_638; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216306.4]
  wire [4:0] _T_639; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216307.4]
  wire [7:0] _T_640; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216308.4]
  wire [1:0] _T_641; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216309.4]
  wire [2:0] _T_642; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216310.4]
  wire [2:0] _T_643; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216311.4]
  wire [4:0] _T_644; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216312.4]
  wire [7:0] _T_645; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216313.4]
  wire [15:0] _T_646; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216314.4]
  wire [15:0] _T_647; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216315.4]
  wire [31:0] _T_648; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216316.4]
  wire [1:0] _T_649; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216317.4]
  wire [2:0] _T_650; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216318.4]
  wire [2:0] _T_651; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216319.4]
  wire [4:0] _T_652; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216320.4]
  wire [7:0] _T_653; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216321.4]
  wire [1:0] _T_654; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216322.4]
  wire [2:0] _T_655; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216323.4]
  wire [2:0] _T_656; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216324.4]
  wire [4:0] _T_657; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216325.4]
  wire [7:0] _T_658; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216326.4]
  wire [1:0] _T_659; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216327.4]
  wire [2:0] _T_660; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216328.4]
  wire [2:0] _T_661; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216329.4]
  wire [4:0] _T_662; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216330.4]
  wire [7:0] _T_663; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216331.4]
  wire [1:0] _T_664; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216332.4]
  wire [2:0] _T_665; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216333.4]
  wire [2:0] _T_666; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216334.4]
  wire [4:0] _T_667; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216335.4]
  wire [7:0] _T_668; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216336.4]
  wire [15:0] _T_669; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216337.4]
  wire [15:0] _T_670; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216338.4]
  wire [31:0] _T_671; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216339.4]
  wire  _T_722; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216390.4]
  wire  _T_723; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216391.4]
  wire  _T_724; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216392.4]
  wire  _T_725; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216393.4]
  wire  _T_726; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216394.4]
  wire  _T_727; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216395.4]
  wire  _T_728; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216396.4]
  wire  _T_729; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216397.4]
  wire  _T_730; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216398.4]
  wire  _T_731; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216399.4]
  wire  _T_732; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216400.4]
  wire  _T_733; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216401.4]
  wire  _T_734; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216402.4]
  wire  _T_735; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216403.4]
  wire  _T_736; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216404.4]
  wire  _T_737; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216405.4]
  wire  _T_738; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216406.4]
  wire  _T_739; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216407.4]
  wire  _T_827; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216495.4]
  wire  _T_828; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216496.4]
  wire  _T_829; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216497.4]
  wire  _T_830; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216498.4]
  wire  _T_833; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216501.4]
  wire  _T_834; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216502.4]
  wire  _T_835; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216503.4]
  wire  _T_836; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216504.4]
  wire  _T_837; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216505.4]
  wire  _T_838; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216506.4]
  wire  _T_839; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216507.4]
  wire  _T_840; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216508.4]
  wire  _T_850; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216518.4]
  wire  _T_852; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216520.4]
  wire  _T_853; // @[CSR.scala 886:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216521.4]
  wire [31:0] _T_854; // @[CSR.scala 886:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216522.4]
  wire [31:0] _T_855; // @[CSR.scala 886:34:shc.marmotcaravel.MarmotCaravelConfig.fir@216523.4]
  wire [1:0] _T_856; // @[CSR.scala 886:53:shc.marmotcaravel.MarmotCaravelConfig.fir@216524.4]
  wire [1:0] _T_857; // @[CSR.scala 886:59:shc.marmotcaravel.MarmotCaravelConfig.fir@216525.4]
  wire  _T_858; // @[CSR.scala 886:59:shc.marmotcaravel.MarmotCaravelConfig.fir@216526.4]
  wire [31:0] _T_859; // @[CSR.scala 886:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216527.4]
  wire [31:0] _T_860; // @[CSR.scala 886:45:shc.marmotcaravel.MarmotCaravelConfig.fir@216528.4]
  wire [31:0] wdata; // @[CSR.scala 886:43:shc.marmotcaravel.MarmotCaravelConfig.fir@216529.4]
  wire  system_insn; // @[CSR.scala 479:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216530.4]
  wire [31:0] _GEN_453; // @[CSR.scala 488:92:shc.marmotcaravel.MarmotCaravelConfig.fir@216531.4]
  wire [31:0] _T_861; // @[CSR.scala 488:92:shc.marmotcaravel.MarmotCaravelConfig.fir@216531.4]
  wire [31:0] _T_862; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@216532.4]
  wire  _T_863; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@216533.4]
  wire [31:0] _T_865; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@216535.4]
  wire  _T_866; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@216536.4]
  wire [31:0] _T_868; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@216538.4]
  wire  _T_869; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@216539.4]
  wire [31:0] _T_871; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@216541.4]
  wire  _T_872; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@216542.4]
  wire  insn_call; // @[CSR.scala 488:159:shc.marmotcaravel.MarmotCaravelConfig.fir@216545.4]
  wire  insn_break; // @[CSR.scala 488:159:shc.marmotcaravel.MarmotCaravelConfig.fir@216547.4]
  wire  insn_ret; // @[CSR.scala 488:159:shc.marmotcaravel.MarmotCaravelConfig.fir@216549.4]
  wire  insn_wfi; // @[CSR.scala 488:159:shc.marmotcaravel.MarmotCaravelConfig.fir@216551.4]
  wire  _T_918; // @[CSR.scala 499:39:shc.marmotcaravel.MarmotCaravelConfig.fir@216593.4]
  wire  _T_919; // @[CSR.scala 499:57:shc.marmotcaravel.MarmotCaravelConfig.fir@216594.4]
  wire  _T_920; // @[CSR.scala 499:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216595.4]
  wire  _T_933; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216611.4]
  wire  _T_934; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216612.4]
  wire  _T_935; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216613.4]
  wire  _T_936; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216614.4]
  wire  _T_937; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216615.4]
  wire  _T_938; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216616.4]
  wire  _T_939; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216617.4]
  wire  _T_940; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216618.4]
  wire  _T_941; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216619.4]
  wire  _T_942; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216620.4]
  wire  _T_943; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216621.4]
  wire  _T_944; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216622.4]
  wire  _T_945; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216623.4]
  wire  _T_946; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216624.4]
  wire  _T_947; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216625.4]
  wire  _T_948; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216626.4]
  wire  _T_949; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216627.4]
  wire  _T_950; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216628.4]
  wire  _T_951; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216629.4]
  wire  _T_952; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216630.4]
  wire  _T_953; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216631.4]
  wire  _T_954; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216632.4]
  wire  _T_955; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216633.4]
  wire  _T_956; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216634.4]
  wire  _T_957; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216635.4]
  wire  _T_958; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216636.4]
  wire  _T_959; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216637.4]
  wire  _T_960; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216638.4]
  wire  _T_961; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216639.4]
  wire  _T_962; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216640.4]
  wire  _T_963; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216641.4]
  wire  _T_964; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216642.4]
  wire  _T_965; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216643.4]
  wire  _T_966; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216644.4]
  wire  _T_967; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216645.4]
  wire  _T_968; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216646.4]
  wire  _T_969; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216647.4]
  wire  _T_970; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216648.4]
  wire  _T_971; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216649.4]
  wire  _T_972; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216650.4]
  wire  _T_973; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216651.4]
  wire  _T_974; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216652.4]
  wire  _T_975; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216653.4]
  wire  _T_976; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216654.4]
  wire  _T_977; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216655.4]
  wire  _T_978; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216656.4]
  wire  _T_979; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216657.4]
  wire  _T_980; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216658.4]
  wire  _T_981; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216659.4]
  wire  _T_982; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216660.4]
  wire  _T_983; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216661.4]
  wire  _T_984; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216662.4]
  wire  _T_985; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216663.4]
  wire  _T_986; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216664.4]
  wire  _T_987; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216665.4]
  wire  _T_988; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216666.4]
  wire  _T_989; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216667.4]
  wire  _T_990; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216668.4]
  wire  _T_991; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216669.4]
  wire  _T_992; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216670.4]
  wire  _T_993; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216671.4]
  wire  _T_994; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216672.4]
  wire  _T_995; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216673.4]
  wire  _T_996; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216674.4]
  wire  _T_997; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216675.4]
  wire  _T_998; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216676.4]
  wire  _T_999; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216677.4]
  wire  _T_1000; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216678.4]
  wire  _T_1001; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216679.4]
  wire  _T_1002; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216680.4]
  wire  _T_1003; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216681.4]
  wire  _T_1004; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216682.4]
  wire  _T_1005; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216683.4]
  wire  _T_1006; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216684.4]
  wire  _T_1007; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216685.4]
  wire  _T_1008; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216686.4]
  wire  _T_1009; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216687.4]
  wire  _T_1010; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216688.4]
  wire  _T_1011; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216689.4]
  wire  _T_1012; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216690.4]
  wire  _T_1013; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216691.4]
  wire  _T_1014; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216692.4]
  wire  _T_1015; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216693.4]
  wire  _T_1016; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216694.4]
  wire  _T_1017; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216695.4]
  wire  _T_1018; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216696.4]
  wire  _T_1019; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216697.4]
  wire  _T_1020; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216698.4]
  wire  _T_1021; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216699.4]
  wire  _T_1022; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216700.4]
  wire  _T_1023; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216701.4]
  wire  _T_1024; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216702.4]
  wire  _T_1025; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216703.4]
  wire  _T_1026; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216704.4]
  wire  _T_1027; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216705.4]
  wire  _T_1028; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216706.4]
  wire  _T_1029; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216707.4]
  wire  _T_1030; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216708.4]
  wire  _T_1031; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216709.4]
  wire  _T_1032; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216710.4]
  wire  _T_1033; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216711.4]
  wire  _T_1034; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216712.4]
  wire  _T_1035; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216713.4]
  wire  _T_1036; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216714.4]
  wire  _T_1037; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216715.4]
  wire  _T_1038; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216716.4]
  wire  _T_1039; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216717.4]
  wire  _T_1040; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216718.4]
  wire  _T_1041; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216719.4]
  wire  _T_1042; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216720.4]
  wire  _T_1043; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216721.4]
  wire  _T_1044; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216722.4]
  wire  _T_1045; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216723.4]
  wire  _T_1046; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216724.4]
  wire  _T_1047; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216725.4]
  wire  _T_1048; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216726.4]
  wire  _T_1049; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216727.4]
  wire  _T_1050; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216728.4]
  wire  _T_1051; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216729.4]
  wire  _T_1052; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216730.4]
  wire  _T_1053; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216731.4]
  wire  _T_1054; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216732.4]
  wire  _T_1055; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216733.4]
  wire  _T_1056; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216734.4]
  wire  _T_1057; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216735.4]
  wire  _T_1058; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216736.4]
  wire  _T_1059; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216737.4]
  wire  _T_1060; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216738.4]
  wire  _T_1061; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216739.4]
  wire  _T_1062; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216740.4]
  wire  _T_1063; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216741.4]
  wire  _T_1064; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216742.4]
  wire  _T_1065; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216743.4]
  wire  _T_1066; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216744.4]
  wire  _T_1067; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216745.4]
  wire  _T_1068; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216746.4]
  wire  _T_1069; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216747.4]
  wire  _T_1070; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216748.4]
  wire  _T_1071; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216749.4]
  wire  _T_1072; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216750.4]
  wire  _T_1073; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216751.4]
  wire  _T_1074; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216752.4]
  wire  _T_1075; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216753.4]
  wire  _T_1076; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216754.4]
  wire  _T_1077; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216755.4]
  wire  _T_1078; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216756.4]
  wire  _T_1079; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216757.4]
  wire  _T_1080; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216758.4]
  wire  _T_1081; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216759.4]
  wire  _T_1082; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216760.4]
  wire  _T_1083; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216761.4]
  wire  _T_1084; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216762.4]
  wire  _T_1085; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216763.4]
  wire  _T_1086; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216764.4]
  wire  _T_1087; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216765.4]
  wire  _T_1088; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216766.4]
  wire  _T_1089; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216767.4]
  wire  _T_1090; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216768.4]
  wire  _T_1091; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216769.4]
  wire  _T_1092; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216770.4]
  wire  _T_1093; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216771.4]
  wire  _T_1094; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216772.4]
  wire  _T_1095; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216773.4]
  wire  _T_1096; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216774.4]
  wire  _T_1097; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216775.4]
  wire  _T_1098; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216776.4]
  wire  _T_1099; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216777.4]
  wire  _T_1100; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216778.4]
  wire  _T_1101; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216779.4]
  wire  _T_1102; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216780.4]
  wire  _T_1103; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216781.4]
  wire  _T_1104; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216782.4]
  wire  _T_1105; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216783.4]
  wire  _T_1106; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216784.4]
  wire  _T_1107; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216785.4]
  wire  _T_1108; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216786.4]
  wire  _T_1109; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216787.4]
  wire  _T_1110; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216788.4]
  wire  _T_1111; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216789.4]
  wire  _T_1112; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216790.4]
  wire  _T_1113; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216791.4]
  wire  _T_1114; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216792.4]
  wire  _T_1115; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216793.4]
  wire  _T_1116; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216794.4]
  wire  _T_1117; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216795.4]
  wire  _T_1118; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216796.4]
  wire  _T_1119; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216797.4]
  wire  _T_1120; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216798.4]
  wire  _T_1121; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216799.4]
  wire  _T_1122; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216800.4]
  wire  _T_1123; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216801.4]
  wire  _T_1124; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216802.4]
  wire  _T_1125; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216803.4]
  wire  _T_1126; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216804.4]
  wire  _T_1127; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216805.4]
  wire  _T_1128; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216806.4]
  wire  _T_1129; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216807.4]
  wire  _T_1130; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216808.4]
  wire  _T_1131; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216809.4]
  wire  _T_1132; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216810.4]
  wire  _T_1133; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216811.4]
  wire  _T_1134; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216812.4]
  wire  _T_1135; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216813.4]
  wire  _T_1136; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216814.4]
  wire  _T_1137; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216815.4]
  wire  _T_1138; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216816.4]
  wire  _T_1139; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216817.4]
  wire  _T_1140; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216818.4]
  wire  _T_1141; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216819.4]
  wire  _T_1142; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216820.4]
  wire  _T_1143; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216821.4]
  wire  _T_1144; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216822.4]
  wire  _T_1145; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216823.4]
  wire  _T_1146; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216824.4]
  wire  _T_1147; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216825.4]
  wire  _T_1148; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216826.4]
  wire  _T_1149; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216827.4]
  wire  _T_1150; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216828.4]
  wire  _T_1151; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216829.4]
  wire  _T_1152; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216830.4]
  wire  _T_1153; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216831.4]
  wire  _T_1154; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216832.4]
  wire  _T_1155; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216833.4]
  wire  _T_1156; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216834.4]
  wire  _T_1157; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216835.4]
  wire  _T_1158; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216836.4]
  wire  _T_1159; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216837.4]
  wire  _T_1160; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216838.4]
  wire  _T_1161; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216839.4]
  wire  _T_1162; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216840.4]
  wire  _T_1163; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216841.4]
  wire  _T_1164; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216842.4]
  wire  _T_1165; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216843.4]
  wire  _T_1166; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216844.4]
  wire  _T_1167; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216845.4]
  wire  _T_1168; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216846.4]
  wire  _T_1169; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216847.4]
  wire  _T_1170; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216848.4]
  wire  _T_1171; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216849.4]
  wire  _T_1172; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216850.4]
  wire  _T_1173; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216851.4]
  wire  _T_1174; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216852.4]
  wire  _T_1175; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216853.4]
  wire  _T_1176; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216854.4]
  wire  _T_1177; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216855.4]
  wire  _T_1178; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216856.4]
  wire  _T_1179; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216857.4]
  wire  _T_1180; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216858.4]
  wire  _T_1181; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216859.4]
  wire  _T_1182; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216860.4]
  wire  _T_1183; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216861.4]
  wire  _T_1184; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216862.4]
  wire  _T_1185; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216863.4]
  wire  _T_1186; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216864.4]
  wire  _T_1187; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216865.4]
  wire  _T_1188; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216866.4]
  wire  _T_1189; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216867.4]
  wire  _T_1190; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216868.4]
  wire  _T_1191; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216869.4]
  wire  _T_1192; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216870.4]
  wire  _T_1193; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216871.4]
  wire  _T_1194; // @[CSR.scala 503:7:shc.marmotcaravel.MarmotCaravelConfig.fir@216872.4]
  wire  _T_1213; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216891.4]
  wire  _T_1214; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216892.4]
  wire  _T_1217; // @[CSR.scala 506:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216895.4]
  wire  _T_1218; // @[CSR.scala 505:148:shc.marmotcaravel.MarmotCaravelConfig.fir@216896.4]
  wire  _T_1219; // @[CSR.scala 507:21:shc.marmotcaravel.MarmotCaravelConfig.fir@216897.4]
  wire [1:0] _T_1221; // @[CSR.scala 508:39:shc.marmotcaravel.MarmotCaravelConfig.fir@216900.4]
  wire [1:0] _T_1222; // @[CSR.scala 508:47:shc.marmotcaravel.MarmotCaravelConfig.fir@216901.4]
  wire  _T_1224; // @[CSR.scala 509:40:shc.marmotcaravel.MarmotCaravelConfig.fir@216904.4]
  wire  _T_1225; // @[CSR.scala 509:71:shc.marmotcaravel.MarmotCaravelConfig.fir@216905.4]
  wire  _T_1226; // @[CSR.scala 509:57:shc.marmotcaravel.MarmotCaravelConfig.fir@216906.4]
  wire  _T_1227; // @[CSR.scala 509:102:shc.marmotcaravel.MarmotCaravelConfig.fir@216907.4]
  wire  _T_1228; // @[CSR.scala 509:133:shc.marmotcaravel.MarmotCaravelConfig.fir@216908.4]
  wire  _T_1229; // @[CSR.scala 509:119:shc.marmotcaravel.MarmotCaravelConfig.fir@216909.4]
  wire  _T_1230; // @[CSR.scala 509:88:shc.marmotcaravel.MarmotCaravelConfig.fir@216910.4]
  wire [31:0] _T_1245; // @[CSR.scala 518:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216927.4]
  wire [31:0] cause; // @[CSR.scala 517:8:shc.marmotcaravel.MarmotCaravelConfig.fir@216928.4]
  wire [7:0] cause_lsbs; // @[CSR.scala 519:25:shc.marmotcaravel.MarmotCaravelConfig.fir@216929.4]
  wire  _T_1246; // @[CSR.scala 520:30:shc.marmotcaravel.MarmotCaravelConfig.fir@216930.4]
  wire  _T_1247; // @[CSR.scala 520:53:shc.marmotcaravel.MarmotCaravelConfig.fir@216931.4]
  wire  causeIsDebugInt; // @[CSR.scala 520:39:shc.marmotcaravel.MarmotCaravelConfig.fir@216932.4]
  wire  _T_1249; // @[CSR.scala 521:29:shc.marmotcaravel.MarmotCaravelConfig.fir@216934.4]
  wire  causeIsDebugTrigger; // @[CSR.scala 521:44:shc.marmotcaravel.MarmotCaravelConfig.fir@216936.4]
  wire  _T_1253; // @[CSR.scala 522:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216939.4]
  wire [1:0] _T_1255; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216941.4]
  wire [3:0] _T_1256; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216942.4]
  wire [3:0] _T_1257; // @[CSR.scala 522:134:shc.marmotcaravel.MarmotCaravelConfig.fir@216943.4]
  wire  _T_1258; // @[CSR.scala 522:134:shc.marmotcaravel.MarmotCaravelConfig.fir@216944.4]
  wire  causeIsDebugBreak; // @[CSR.scala 522:56:shc.marmotcaravel.MarmotCaravelConfig.fir@216945.4]
  wire  _T_1259; // @[CSR.scala 523:60:shc.marmotcaravel.MarmotCaravelConfig.fir@216946.4]
  wire  _T_1260; // @[CSR.scala 523:79:shc.marmotcaravel.MarmotCaravelConfig.fir@216947.4]
  wire  _T_1261; // @[CSR.scala 523:102:shc.marmotcaravel.MarmotCaravelConfig.fir@216948.4]
  wire  trapToDebug; // @[CSR.scala 523:123:shc.marmotcaravel.MarmotCaravelConfig.fir@216949.4]
  wire [11:0] _T_1263; // @[CSR.scala 524:37:shc.marmotcaravel.MarmotCaravelConfig.fir@216951.4]
  wire [11:0] debugTVec; // @[CSR.scala 524:22:shc.marmotcaravel.MarmotCaravelConfig.fir@216952.4]
  wire [4:0] _T_1273; // @[CSR.scala 533:32:shc.marmotcaravel.MarmotCaravelConfig.fir@216963.4]
  wire [6:0] _GEN_455; // @[CSR.scala 533:59:shc.marmotcaravel.MarmotCaravelConfig.fir@216964.4]
  wire [6:0] _T_1274; // @[CSR.scala 533:59:shc.marmotcaravel.MarmotCaravelConfig.fir@216964.4]
  wire [24:0] _T_1275; // @[CSR.scala 534:33:shc.marmotcaravel.MarmotCaravelConfig.fir@216965.4]
  wire [31:0] _T_1276; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216966.4]
  wire  _T_1277; // @[CSR.scala 535:24:shc.marmotcaravel.MarmotCaravelConfig.fir@216967.4]
  wire  _T_1279; // @[CSR.scala 535:28:shc.marmotcaravel.MarmotCaravelConfig.fir@216969.4]
  wire [2:0] _T_1280; // @[CSR.scala 535:70:shc.marmotcaravel.MarmotCaravelConfig.fir@216970.4]
  wire  _T_1281; // @[CSR.scala 535:94:shc.marmotcaravel.MarmotCaravelConfig.fir@216971.4]
  wire  _T_1282; // @[CSR.scala 535:55:shc.marmotcaravel.MarmotCaravelConfig.fir@216972.4]
  wire [31:0] notDebugTVec; // @[CSR.scala 536:8:shc.marmotcaravel.MarmotCaravelConfig.fir@216973.4]
  wire [31:0] tvec; // @[CSR.scala 538:17:shc.marmotcaravel.MarmotCaravelConfig.fir@216974.4]
  wire  _T_1283; // @[CSR.scala 541:24:shc.marmotcaravel.MarmotCaravelConfig.fir@216977.4]
  wire [1:0] _T_1287; // @[CSR.scala 544:32:shc.marmotcaravel.MarmotCaravelConfig.fir@216984.4]
  wire  _T_1288; // @[CSR.scala 544:32:shc.marmotcaravel.MarmotCaravelConfig.fir@216985.4]
  wire [1:0] _T_1289; // @[CSR.scala 544:53:shc.marmotcaravel.MarmotCaravelConfig.fir@216986.4]
  wire  _T_1290; // @[CSR.scala 544:53:shc.marmotcaravel.MarmotCaravelConfig.fir@216987.4]
  wire  exception; // @[CSR.scala 553:43:shc.marmotcaravel.MarmotCaravelConfig.fir@217002.4]
  wire [1:0] _T_1298; // @[Bitwise.scala 48:55:shc.marmotcaravel.MarmotCaravelConfig.fir@217003.4]
  wire [1:0] _T_1299; // @[Bitwise.scala 48:55:shc.marmotcaravel.MarmotCaravelConfig.fir@217004.4]
  wire [2:0] _T_1300; // @[Bitwise.scala 48:55:shc.marmotcaravel.MarmotCaravelConfig.fir@217005.4]
  wire  _T_1301; // @[CSR.scala 554:79:shc.marmotcaravel.MarmotCaravelConfig.fir@217006.4]
  wire  _T_1303; // @[CSR.scala 554:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217008.4]
  wire  _T_1304; // @[CSR.scala 554:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217009.4]
  wire  _T_1306; // @[CSR.scala 556:18:shc.marmotcaravel.MarmotCaravelConfig.fir@217015.4]
  wire  _T_1308; // @[CSR.scala 556:36:shc.marmotcaravel.MarmotCaravelConfig.fir@217017.4]
  wire  _T_1309; // @[CSR.scala 557:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217021.4]
  wire  _T_1310; // @[CSR.scala 557:32:shc.marmotcaravel.MarmotCaravelConfig.fir@217022.4]
  wire  _T_1311; // @[CSR.scala 557:55:shc.marmotcaravel.MarmotCaravelConfig.fir@217023.4]
  wire  _T_1313; // @[CSR.scala 559:22:shc.marmotcaravel.MarmotCaravelConfig.fir@217028.4]
  wire  _T_1321; // @[CSR.scala 562:10:shc.marmotcaravel.MarmotCaravelConfig.fir@217046.4]
  wire  _T_1322; // @[CSR.scala 562:42:shc.marmotcaravel.MarmotCaravelConfig.fir@217047.4]
  wire  _T_1323; // @[CSR.scala 562:29:shc.marmotcaravel.MarmotCaravelConfig.fir@217048.4]
  wire  _T_1325; // @[CSR.scala 562:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217050.4]
  wire  _T_1326; // @[CSR.scala 562:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217051.4]
  wire [31:0] _T_1327; // @[CSR.scala 907:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217056.4]
  wire [31:0] _T_1328; // @[CSR.scala 907:31:shc.marmotcaravel.MarmotCaravelConfig.fir@217057.4]
  wire [31:0] epc; // @[CSR.scala 907:26:shc.marmotcaravel.MarmotCaravelConfig.fir@217058.4]
  wire [1:0] _T_1331; // @[CSR.scala 573:86:shc.marmotcaravel.MarmotCaravelConfig.fir@217068.10]
  wire [1:0] _T_1332; // @[CSR.scala 573:56:shc.marmotcaravel.MarmotCaravelConfig.fir@217069.10]
  wire [1:0] _GEN_48; // @[CSR.scala 577:27:shc.marmotcaravel.MarmotCaravelConfig.fir@217077.8]
  wire [1:0] _GEN_67; // @[CSR.scala 569:24:shc.marmotcaravel.MarmotCaravelConfig.fir@217063.6]
  wire [1:0] _GEN_85; // @[CSR.scala 568:20:shc.marmotcaravel.MarmotCaravelConfig.fir@217062.4]
  wire  _T_1542; // @[CSR.scala 623:47:shc.marmotcaravel.MarmotCaravelConfig.fir@217315.8]
  wire [31:0] _GEN_95; // @[CSR.scala 623:53:shc.marmotcaravel.MarmotCaravelConfig.fir@217317.8]
  wire  _T_1555; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217354.4]
  wire [31:0] _T_1556; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217355.4]
  wire [31:0] _T_1557; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217356.4]
  wire [31:0] _T_1558; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217357.4]
  wire [31:0] _T_1559; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217358.4]
  wire [31:0] _T_1560; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217359.4]
  wire [15:0] _T_1561; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217360.4]
  wire [31:0] _T_1562; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217361.4]
  wire [31:0] _T_1563; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217362.4]
  wire [31:0] _T_1564; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217363.4]
  wire [31:0] _T_1565; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217364.4]
  wire [31:0] _T_1566; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217365.4]
  wire  _T_1567; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217366.4]
  wire [31:0] _T_1568; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217367.4]
  wire [31:0] _T_1569; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217368.4]
  wire [31:0] _T_1570; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217369.4]
  wire [63:0] _T_1571; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217370.4]
  wire [63:0] _T_1572; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217371.4]
  wire [31:0] _T_1660; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217459.4]
  wire [31:0] _T_1661; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217460.4]
  wire [31:0] _T_1662; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217461.4]
  wire [31:0] _T_1663; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217462.4]
  wire [29:0] _T_1666; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217465.4]
  wire [29:0] _T_1667; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217466.4]
  wire [29:0] _T_1668; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217467.4]
  wire [29:0] _T_1669; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217468.4]
  wire [29:0] _T_1670; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217469.4]
  wire [29:0] _T_1671; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217470.4]
  wire [29:0] _T_1672; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217471.4]
  wire [29:0] _T_1673; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217472.4]
  wire [31:0] _T_1683; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217482.4]
  wire [31:0] _T_1685; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217484.4]
  wire [31:0] _GEN_458; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217485.4]
  wire [31:0] _T_1686; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217485.4]
  wire [31:0] _T_1687; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217486.4]
  wire [31:0] _T_1688; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217487.4]
  wire [31:0] _T_1689; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217488.4]
  wire [31:0] _T_1690; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217489.4]
  wire [31:0] _GEN_459; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217490.4]
  wire [31:0] _T_1691; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217490.4]
  wire [31:0] _T_1692; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217491.4]
  wire [31:0] _T_1693; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217492.4]
  wire [31:0] _T_1694; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217493.4]
  wire [31:0] _T_1695; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217494.4]
  wire [31:0] _T_1696; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217495.4]
  wire [31:0] _GEN_460; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217496.4]
  wire [31:0] _T_1697; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217496.4]
  wire [31:0] _T_1698; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217497.4]
  wire [31:0] _T_1699; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217498.4]
  wire [31:0] _T_1700; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217499.4]
  wire [63:0] _GEN_461; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217500.4]
  wire [63:0] _T_1701; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217500.4]
  wire [63:0] _T_1702; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217501.4]
  wire [63:0] _GEN_462; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217589.4]
  wire [63:0] _T_1790; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217589.4]
  wire [63:0] _GEN_463; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217590.4]
  wire [63:0] _T_1791; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217590.4]
  wire [63:0] _GEN_464; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217591.4]
  wire [63:0] _T_1792; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217591.4]
  wire [63:0] _GEN_465; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217592.4]
  wire [63:0] _T_1793; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217592.4]
  wire [63:0] _GEN_466; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217595.4]
  wire [63:0] _T_1796; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217595.4]
  wire [63:0] _GEN_467; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217596.4]
  wire [63:0] _T_1797; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217596.4]
  wire [63:0] _GEN_468; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217597.4]
  wire [63:0] _T_1798; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217597.4]
  wire [63:0] _GEN_469; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217598.4]
  wire [63:0] _T_1799; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217598.4]
  wire [63:0] _GEN_470; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217599.4]
  wire [63:0] _T_1800; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217599.4]
  wire [63:0] _GEN_471; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217600.4]
  wire [63:0] _T_1801; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217600.4]
  wire [63:0] _GEN_472; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217601.4]
  wire [63:0] _T_1802; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217601.4]
  wire [63:0] _GEN_473; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217602.4]
  wire [63:0] _T_1803; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217602.4]
  wire [63:0] _GEN_474; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217612.4]
  wire [63:0] _T_1813; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217612.4]
  wire [63:0] _GEN_475; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217614.4]
  wire [63:0] _T_1815; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217614.4]
  wire  _T_1818; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@217618.4]
  wire  _T_1819; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@217619.4]
  wire  _T_1820; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@217620.4]
  wire  _T_3002; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@218809.4]
  wire  csr_wen; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@218810.4]
  wire [100:0] _T_3019; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218828.8 :shc.marmotcaravel.MarmotCaravelConfig.fir@218830.8]
  wire  _T_3023; // @[CSR.scala 670:47:shc.marmotcaravel.MarmotCaravelConfig.fir@218837.8]
  wire  _T_3027; // @[CSR.scala 670:47:shc.marmotcaravel.MarmotCaravelConfig.fir@218845.8]
  wire  _T_3049; // @[CSR.scala 694:20:shc.marmotcaravel.MarmotCaravelConfig.fir@218893.8]
  wire  _T_3050; // @[CSR.scala 696:39:shc.marmotcaravel.MarmotCaravelConfig.fir@218894.8]
  wire  _T_3051; // @[CSR.scala 696:33:shc.marmotcaravel.MarmotCaravelConfig.fir@218895.8]
  wire  _T_3053; // @[CSR.scala 696:51:shc.marmotcaravel.MarmotCaravelConfig.fir@218897.8]
  wire  _T_3054; // @[CSR.scala 696:43:shc.marmotcaravel.MarmotCaravelConfig.fir@218898.8]
  wire [31:0] _T_3055; // @[CSR.scala 698:25:shc.marmotcaravel.MarmotCaravelConfig.fir@218900.10]
  wire  _T_3056; // @[CSR.scala 698:35:shc.marmotcaravel.MarmotCaravelConfig.fir@218901.10]
  wire [3:0] _GEN_476; // @[CSR.scala 698:38:shc.marmotcaravel.MarmotCaravelConfig.fir@218902.10]
  wire [3:0] _T_3057; // @[CSR.scala 698:38:shc.marmotcaravel.MarmotCaravelConfig.fir@218902.10]
  wire [31:0] _GEN_477; // @[CSR.scala 698:32:shc.marmotcaravel.MarmotCaravelConfig.fir@218903.10]
  wire [31:0] _T_3058; // @[CSR.scala 698:32:shc.marmotcaravel.MarmotCaravelConfig.fir@218903.10]
  wire [31:0] _T_3059; // @[CSR.scala 698:23:shc.marmotcaravel.MarmotCaravelConfig.fir@218904.10]
  wire [31:0] _T_3060; // @[CSR.scala 698:55:shc.marmotcaravel.MarmotCaravelConfig.fir@218905.10]
  wire [31:0] _T_3062; // @[CSR.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@218907.10]
  wire [31:0] _T_3063; // @[CSR.scala 698:62:shc.marmotcaravel.MarmotCaravelConfig.fir@218908.10]
  wire [31:0] _T_3115; // @[CSR.scala 713:59:shc.marmotcaravel.MarmotCaravelConfig.fir@218976.8]
  wire [31:0] _T_3117; // @[CSR.scala 907:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218981.8]
  wire [31:0] _T_3118; // @[CSR.scala 907:26:shc.marmotcaravel.MarmotCaravelConfig.fir@218982.8]
  wire [31:0] _T_3120; // @[CSR.scala 717:64:shc.marmotcaravel.MarmotCaravelConfig.fir@218990.8]
  wire  _T_3121; // @[CSR.scala 717:81:shc.marmotcaravel.MarmotCaravelConfig.fir@218991.8]
  wire [6:0] _T_3122; // @[CSR.scala 717:75:shc.marmotcaravel.MarmotCaravelConfig.fir@218992.8]
  wire [31:0] _GEN_478; // @[CSR.scala 717:70:shc.marmotcaravel.MarmotCaravelConfig.fir@218993.8]
  wire [31:0] _T_3123; // @[CSR.scala 717:70:shc.marmotcaravel.MarmotCaravelConfig.fir@218993.8]
  wire [31:0] _T_3124; // @[CSR.scala 717:55:shc.marmotcaravel.MarmotCaravelConfig.fir@218994.8]
  wire [31:0] _T_3125; // @[CSR.scala 718:62:shc.marmotcaravel.MarmotCaravelConfig.fir@218998.8]
  wire [31:0] _T_3127; // @[CSR.scala 901:47:shc.marmotcaravel.MarmotCaravelConfig.fir@219006.8]
  wire [63:0] _T_3128; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219007.8]
  wire [57:0] _T_3129; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@219009.8]
  wire [63:0] _GEN_129; // @[CSR.scala 901:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219005.6]
  wire [31:0] _T_3131; // @[CSR.scala 902:74:shc.marmotcaravel.MarmotCaravelConfig.fir@219014.8]
  wire [63:0] _T_3132; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219015.8]
  wire [57:0] _T_3133; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@219017.8]
  wire [63:0] _GEN_131; // @[CSR.scala 902:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219012.6]
  wire [31:0] _T_3134; // @[CSR.scala 901:47:shc.marmotcaravel.MarmotCaravelConfig.fir@219021.8]
  wire [63:0] _T_3135; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219022.8]
  wire [57:0] _T_3136; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@219024.8]
  wire [63:0] _GEN_133; // @[CSR.scala 901:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219020.6]
  wire [31:0] _T_3138; // @[CSR.scala 902:74:shc.marmotcaravel.MarmotCaravelConfig.fir@219029.8]
  wire [63:0] _T_3139; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219030.8]
  wire [57:0] _T_3140; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@219032.8]
  wire [63:0] _GEN_135; // @[CSR.scala 902:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219027.6]
  wire  _T_3152; // @[CSR.scala 737:43:shc.marmotcaravel.MarmotCaravelConfig.fir@219053.8]
  wire  _T_3153; // @[CSR.scala 737:43:shc.marmotcaravel.MarmotCaravelConfig.fir@219055.8]
  wire  _T_3156; // @[CSR.scala 737:43:shc.marmotcaravel.MarmotCaravelConfig.fir@219061.8]
  wire [31:0] _GEN_141; // @[CSR.scala 786:41:shc.marmotcaravel.MarmotCaravelConfig.fir@219081.6]
  wire  _T_3164; // @[CSR.scala 789:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219084.6]
  wire  _T_3165; // @[CSR.scala 789:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219085.6]
  wire  _T_3172; // @[CSR.scala 791:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219095.10]
  wire [1:0] _T_3178; // @[CSR.scala 791:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219107.10]
  wire  _T_3184; // @[CSR.scala 791:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219119.10]
  wire  _T_3186; // @[CSR.scala 792:36:shc.marmotcaravel.MarmotCaravelConfig.fir@219123.10]
  wire  _T_3187; // @[CSR.scala 795:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219126.10]
  wire  _T_3188; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219133.6]
  wire  _T_3189; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219134.6]
  wire [7:0] _T_3195; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219139.8 :shc.marmotcaravel.MarmotCaravelConfig.fir@219141.8]
  wire  _T_3196; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219142.8]
  wire  _T_3197; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219144.8]
  wire  _T_3198; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219146.8]
  wire [1:0] _T_3199; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219148.8]
  wire  _T_3201; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219152.8]
  wire  _T_3202; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219156.6]
  wire  _T_3203; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219157.6]
  wire  _T_3205; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219159.6]
  wire  _T_3206; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219160.6]
  wire  _T_3207; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219161.6]
  wire  _T_3208; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219162.6]
  wire  _T_3209; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219163.6]
  wire [31:0] _GEN_248; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219164.6]
  wire  _T_3210; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219167.6]
  wire  _T_3211; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219168.6]
  wire [23:0] _T_3213; // @[CSR.scala 803:53:shc.marmotcaravel.MarmotCaravelConfig.fir@219170.8]
  wire [7:0] _T_3217; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219173.8 :shc.marmotcaravel.MarmotCaravelConfig.fir@219175.8]
  wire  _T_3218; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219176.8]
  wire  _T_3219; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219178.8]
  wire  _T_3220; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219180.8]
  wire [1:0] _T_3221; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219182.8]
  wire  _T_3223; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219186.8]
  wire  _T_3224; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219190.6]
  wire  _T_3225; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219191.6]
  wire  _T_3227; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219193.6]
  wire  _T_3228; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219194.6]
  wire  _T_3229; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219195.6]
  wire  _T_3230; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219196.6]
  wire  _T_3231; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219197.6]
  wire [31:0] _GEN_255; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219198.6]
  wire  _T_3232; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219201.6]
  wire  _T_3233; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219202.6]
  wire [15:0] _T_3235; // @[CSR.scala 803:53:shc.marmotcaravel.MarmotCaravelConfig.fir@219204.8]
  wire [7:0] _T_3239; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219207.8 :shc.marmotcaravel.MarmotCaravelConfig.fir@219209.8]
  wire  _T_3240; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219210.8]
  wire  _T_3241; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219212.8]
  wire  _T_3242; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219214.8]
  wire [1:0] _T_3243; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219216.8]
  wire  _T_3245; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219220.8]
  wire  _T_3246; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219224.6]
  wire  _T_3247; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219225.6]
  wire  _T_3249; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219227.6]
  wire  _T_3250; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219228.6]
  wire  _T_3251; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219229.6]
  wire  _T_3252; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219230.6]
  wire  _T_3253; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219231.6]
  wire [31:0] _GEN_262; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219232.6]
  wire  _T_3254; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219235.6]
  wire  _T_3255; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219236.6]
  wire [7:0] _T_3257; // @[CSR.scala 803:53:shc.marmotcaravel.MarmotCaravelConfig.fir@219238.8]
  wire  _T_3262; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219244.8]
  wire  _T_3263; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219246.8]
  wire  _T_3264; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219248.8]
  wire [1:0] _T_3265; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219250.8]
  wire  _T_3267; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219254.8]
  wire  _T_3268; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219258.6]
  wire  _T_3269; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219259.6]
  wire  _T_3271; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219261.6]
  wire  _T_3272; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219262.6]
  wire  _T_3273; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219263.6]
  wire  _T_3274; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219264.6]
  wire  _T_3275; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219265.6]
  wire [31:0] _GEN_269; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219266.6]
  wire  _T_3276; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219269.6]
  wire  _T_3277; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219270.6]
  wire  _T_3290; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219292.6]
  wire  _T_3291; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219293.6]
  wire  _T_3293; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219295.6]
  wire  _T_3294; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219296.6]
  wire  _T_3295; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219297.6]
  wire  _T_3296; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219298.6]
  wire  _T_3297; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219299.6]
  wire [31:0] _GEN_276; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219300.6]
  wire  _T_3298; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219303.6]
  wire  _T_3299; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219304.6]
  wire  _T_3312; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219326.6]
  wire  _T_3313; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219327.6]
  wire  _T_3315; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219329.6]
  wire  _T_3316; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219330.6]
  wire  _T_3317; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219331.6]
  wire  _T_3318; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219332.6]
  wire  _T_3319; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219333.6]
  wire [31:0] _GEN_283; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219334.6]
  wire  _T_3320; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219337.6]
  wire  _T_3321; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219338.6]
  wire  _T_3334; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219360.6]
  wire  _T_3335; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219361.6]
  wire  _T_3337; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219363.6]
  wire  _T_3338; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219364.6]
  wire  _T_3339; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219365.6]
  wire  _T_3340; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219366.6]
  wire  _T_3341; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219367.6]
  wire [31:0] _GEN_290; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219368.6]
  wire  _T_3342; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219371.6]
  wire  _T_3343; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219372.6]
  wire  _T_3361; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219399.6]
  wire  _T_3362; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219400.6]
  wire  _T_3363; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219401.6]
  wire [31:0] _GEN_297; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219402.6]
  wire [63:0] _GEN_315; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
  wire [63:0] _GEN_317; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
  wire [31:0] _GEN_323; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
  wire [31:0] _GEN_362; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
  wire [31:0] _GEN_369; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
  wire [31:0] _GEN_376; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
  wire [31:0] _GEN_383; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
  wire [31:0] _GEN_390; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
  wire [31:0] _GEN_397; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
  wire [31:0] _GEN_404; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
  wire [31:0] _GEN_411; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
  wire  _T_3392; // @[CSR.scala 865:26:shc.marmotcaravel.MarmotCaravelConfig.fir@219527.4]
  assign _GEN_446 = {{5'd0}, io_retire}; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215878.4]
  assign _T_259 = _T_258 + _GEN_446; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215878.4]
  assign _T_262 = _T_259[6]; // @[Counters.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215881.4]
  assign _T_264 = _T_261 + 58'h1; // @[Counters.scala 52:43:shc.marmotcaravel.MarmotCaravelConfig.fir@215884.6]
  assign _T_265 = {_T_261,_T_258}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215887.4]
  assign _T_266 = reg_wfi == 1'h0; // @[CSR.scala 320:103:shc.marmotcaravel.MarmotCaravelConfig.fir@215888.4]
  assign _GEN_447 = {{5'd0}, _T_266}; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215890.4]
  assign _T_269 = _T_268 + _GEN_447; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@215890.4]
  assign _T_272 = _T_269[6]; // @[Counters.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@215893.4]
  assign _T_274 = _T_271 + 58'h1; // @[Counters.scala 52:43:shc.marmotcaravel.MarmotCaravelConfig.fir@215896.6]
  assign _T_275 = {_T_271,_T_268}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@215899.4]
  assign _T_282 = {io_interrupts_msip,1'h0}; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215908.4]
  assign _T_283 = {_T_282,2'h0}; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215909.4]
  assign _T_285 = {io_interrupts_mtip,1'h0}; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215911.4]
  assign _T_286 = {_T_285,2'h0}; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215912.4]
  assign _T_287 = {_T_286,_T_283}; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215913.4]
  assign _T_289 = {io_interrupts_meip,1'h0}; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215915.4]
  assign _T_290 = {_T_289,2'h0}; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215916.4]
  assign _T_294 = {4'h0,_T_290}; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215920.4]
  assign _T_295 = {_T_294,_T_287}; // @[CSR.scala 333:22:shc.marmotcaravel.MarmotCaravelConfig.fir@215921.4]
  assign read_mip = _T_295 & 16'h888; // @[CSR.scala 333:29:shc.marmotcaravel.MarmotCaravelConfig.fir@215922.4]
  assign _GEN_448 = {{16'd0}, read_mip}; // @[CSR.scala 336:56:shc.marmotcaravel.MarmotCaravelConfig.fir@215923.4]
  assign pending_interrupts = _GEN_448 & reg_mie; // @[CSR.scala 336:56:shc.marmotcaravel.MarmotCaravelConfig.fir@215923.4]
  assign _GEN_449 = {{14'd0}, io_interrupts_debug}; // @[CSR.scala 337:42:shc.marmotcaravel.MarmotCaravelConfig.fir@215925.4]
  assign d_interrupts = _GEN_449 << 14; // @[CSR.scala 337:42:shc.marmotcaravel.MarmotCaravelConfig.fir@215925.4]
  assign _T_299 = ~ pending_interrupts; // @[CSR.scala 338:73:shc.marmotcaravel.MarmotCaravelConfig.fir@215928.4]
  assign _T_301 = ~ _T_299; // @[CSR.scala 338:71:shc.marmotcaravel.MarmotCaravelConfig.fir@215930.4]
  assign m_interrupts = reg_mstatus_mie ? _T_301 : 32'h0; // @[CSR.scala 338:25:shc.marmotcaravel.MarmotCaravelConfig.fir@215931.4]
  assign _T_307 = d_interrupts[14]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215938.4]
  assign _T_308 = d_interrupts[13]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215939.4]
  assign _T_309 = d_interrupts[12]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215940.4]
  assign _T_310 = d_interrupts[11]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215941.4]
  assign _T_311 = d_interrupts[3]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215942.4]
  assign _T_312 = d_interrupts[7]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215943.4]
  assign _T_313 = d_interrupts[9]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215944.4]
  assign _T_314 = d_interrupts[1]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215945.4]
  assign _T_315 = d_interrupts[5]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215946.4]
  assign _T_316 = d_interrupts[8]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215947.4]
  assign _T_317 = d_interrupts[0]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215948.4]
  assign _T_318 = d_interrupts[4]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215949.4]
  assign _T_319 = m_interrupts[15]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215950.4]
  assign _T_320 = m_interrupts[14]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215951.4]
  assign _T_321 = m_interrupts[13]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215952.4]
  assign _T_322 = m_interrupts[12]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215953.4]
  assign _T_323 = m_interrupts[11]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215954.4]
  assign _T_324 = m_interrupts[3]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215955.4]
  assign _T_325 = m_interrupts[7]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215956.4]
  assign _T_326 = m_interrupts[9]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215957.4]
  assign _T_327 = m_interrupts[1]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215958.4]
  assign _T_328 = m_interrupts[5]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215959.4]
  assign _T_329 = m_interrupts[8]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215960.4]
  assign _T_330 = m_interrupts[0]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215961.4]
  assign _T_331 = m_interrupts[4]; // @[CSR.scala 880:76:shc.marmotcaravel.MarmotCaravelConfig.fir@215962.4]
  assign _T_345 = _T_307 | _T_308; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215976.4]
  assign _T_346 = _T_345 | _T_309; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215977.4]
  assign _T_347 = _T_346 | _T_310; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215978.4]
  assign _T_348 = _T_347 | _T_311; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215979.4]
  assign _T_349 = _T_348 | _T_312; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215980.4]
  assign _T_350 = _T_349 | _T_313; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215981.4]
  assign _T_351 = _T_350 | _T_314; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215982.4]
  assign _T_352 = _T_351 | _T_315; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215983.4]
  assign _T_353 = _T_352 | _T_316; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215984.4]
  assign _T_354 = _T_353 | _T_317; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215985.4]
  assign _T_355 = _T_354 | _T_318; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215986.4]
  assign _T_356 = _T_355 | _T_319; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215987.4]
  assign _T_357 = _T_356 | _T_320; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215988.4]
  assign _T_358 = _T_357 | _T_321; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215989.4]
  assign _T_359 = _T_358 | _T_322; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215990.4]
  assign _T_360 = _T_359 | _T_323; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215991.4]
  assign _T_361 = _T_360 | _T_324; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215992.4]
  assign _T_362 = _T_361 | _T_325; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215993.4]
  assign _T_363 = _T_362 | _T_326; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215994.4]
  assign _T_364 = _T_363 | _T_327; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215995.4]
  assign _T_365 = _T_364 | _T_328; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215996.4]
  assign _T_366 = _T_365 | _T_329; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215997.4]
  assign _T_367 = _T_366 | _T_330; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215998.4]
  assign anyInterrupt = _T_367 | _T_331; // @[CSR.scala 880:90:shc.marmotcaravel.MarmotCaravelConfig.fir@215999.4]
  assign _T_432 = _T_330 ? 4'h0 : 4'h4; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216064.4]
  assign _T_433 = _T_329 ? 4'h8 : _T_432; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216065.4]
  assign _T_434 = _T_328 ? 4'h5 : _T_433; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216066.4]
  assign _T_435 = _T_327 ? 4'h1 : _T_434; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216067.4]
  assign _T_436 = _T_326 ? 4'h9 : _T_435; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216068.4]
  assign _T_437 = _T_325 ? 4'h7 : _T_436; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216069.4]
  assign _T_438 = _T_324 ? 4'h3 : _T_437; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216070.4]
  assign _T_439 = _T_323 ? 4'hb : _T_438; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216071.4]
  assign _T_440 = _T_322 ? 4'hc : _T_439; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216072.4]
  assign _T_441 = _T_321 ? 4'hd : _T_440; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216073.4]
  assign _T_442 = _T_320 ? 4'he : _T_441; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216074.4]
  assign _T_443 = _T_319 ? 4'hf : _T_442; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216075.4]
  assign _T_444 = _T_318 ? 4'h4 : _T_443; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216076.4]
  assign _T_445 = _T_317 ? 4'h0 : _T_444; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216077.4]
  assign _T_446 = _T_316 ? 4'h8 : _T_445; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216078.4]
  assign _T_447 = _T_315 ? 4'h5 : _T_446; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216079.4]
  assign _T_448 = _T_314 ? 4'h1 : _T_447; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216080.4]
  assign _T_449 = _T_313 ? 4'h9 : _T_448; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216081.4]
  assign _T_450 = _T_312 ? 4'h7 : _T_449; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216082.4]
  assign _T_451 = _T_311 ? 4'h3 : _T_450; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216083.4]
  assign _T_452 = _T_310 ? 4'hb : _T_451; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216084.4]
  assign _T_453 = _T_309 ? 4'hc : _T_452; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216085.4]
  assign _T_454 = _T_308 ? 4'hd : _T_453; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216086.4]
  assign whichInterrupt = _T_307 ? 4'he : _T_454; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@216087.4]
  assign _GEN_450 = {{28'd0}, whichInterrupt}; // @[CSR.scala 342:43:shc.marmotcaravel.MarmotCaravelConfig.fir@216088.4]
  assign _T_456 = io_singleStep == 1'h0; // @[CSR.scala 343:36:shc.marmotcaravel.MarmotCaravelConfig.fir@216090.4]
  assign _T_457 = anyInterrupt & _T_456; // @[CSR.scala 343:33:shc.marmotcaravel.MarmotCaravelConfig.fir@216091.4]
  assign _T_458 = _T_457 | reg_singleStepped; // @[CSR.scala 343:51:shc.marmotcaravel.MarmotCaravelConfig.fir@216092.4]
  assign _T_459 = reg_debug == 1'h0; // @[CSR.scala 343:76:shc.marmotcaravel.MarmotCaravelConfig.fir@216093.4]
  assign _T_463 = reg_pmp_0_cfg_a[0]; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216102.4]
  assign _T_464 = {reg_pmp_0_addr,_T_463}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216103.4]
  assign _T_467 = _T_464 + 31'h1; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216106.4]
  assign _T_468 = ~ _T_467; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216107.4]
  assign _T_469 = _T_464 & _T_468; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216108.4]
  assign _T_470 = {_T_469,2'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216109.4]
  assign _T_473 = reg_pmp_1_cfg_a[0]; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216114.4]
  assign _T_474 = {reg_pmp_1_addr,_T_473}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216115.4]
  assign _T_477 = _T_474 + 31'h1; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216118.4]
  assign _T_478 = ~ _T_477; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216119.4]
  assign _T_479 = _T_474 & _T_478; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216120.4]
  assign _T_480 = {_T_479,2'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216121.4]
  assign _T_483 = reg_pmp_2_cfg_a[0]; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216126.4]
  assign _T_484 = {reg_pmp_2_addr,_T_483}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216127.4]
  assign _T_487 = _T_484 + 31'h1; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216130.4]
  assign _T_488 = ~ _T_487; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216131.4]
  assign _T_489 = _T_484 & _T_488; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216132.4]
  assign _T_490 = {_T_489,2'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216133.4]
  assign _T_493 = reg_pmp_3_cfg_a[0]; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216138.4]
  assign _T_494 = {reg_pmp_3_addr,_T_493}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216139.4]
  assign _T_497 = _T_494 + 31'h1; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216142.4]
  assign _T_498 = ~ _T_497; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216143.4]
  assign _T_499 = _T_494 & _T_498; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216144.4]
  assign _T_500 = {_T_499,2'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216145.4]
  assign _T_503 = reg_pmp_4_cfg_a[0]; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216150.4]
  assign _T_504 = {reg_pmp_4_addr,_T_503}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216151.4]
  assign _T_507 = _T_504 + 31'h1; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216154.4]
  assign _T_508 = ~ _T_507; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216155.4]
  assign _T_509 = _T_504 & _T_508; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216156.4]
  assign _T_510 = {_T_509,2'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216157.4]
  assign _T_513 = reg_pmp_5_cfg_a[0]; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216162.4]
  assign _T_514 = {reg_pmp_5_addr,_T_513}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216163.4]
  assign _T_517 = _T_514 + 31'h1; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216166.4]
  assign _T_518 = ~ _T_517; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216167.4]
  assign _T_519 = _T_514 & _T_518; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216168.4]
  assign _T_520 = {_T_519,2'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216169.4]
  assign _T_523 = reg_pmp_6_cfg_a[0]; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216174.4]
  assign _T_524 = {reg_pmp_6_addr,_T_523}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216175.4]
  assign _T_527 = _T_524 + 31'h1; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216178.4]
  assign _T_528 = ~ _T_527; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216179.4]
  assign _T_529 = _T_524 & _T_528; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216180.4]
  assign _T_530 = {_T_529,2'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216181.4]
  assign _T_533 = reg_pmp_7_cfg_a[0]; // @[PMP.scala 51:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216186.4]
  assign _T_534 = {reg_pmp_7_addr,_T_533}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216187.4]
  assign _T_537 = _T_534 + 31'h1; // @[PMP.scala 52:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216190.4]
  assign _T_538 = ~ _T_537; // @[PMP.scala 52:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216191.4]
  assign _T_539 = _T_534 & _T_538; // @[PMP.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216192.4]
  assign _T_540 = {_T_539,2'h3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216193.4]
  assign _T_542 = {io_status_hie,io_status_sie}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216204.4]
  assign _T_543 = {_T_542,io_status_uie}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216205.4]
  assign _T_544 = {io_status_upie,io_status_mie}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216206.4]
  assign _T_545 = {io_status_hpie,io_status_spie}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216207.4]
  assign _T_546 = {_T_545,_T_544}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216208.4]
  assign _T_547 = {_T_546,_T_543}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216209.4]
  assign _T_548 = {io_status_hpp,io_status_spp}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216210.4]
  assign _T_549 = {_T_548,io_status_mpie}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216211.4]
  assign _T_550 = {io_status_fs,io_status_mpp}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216212.4]
  assign _T_551 = {io_status_mprv,io_status_xs}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216213.4]
  assign _T_552 = {_T_551,_T_550}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216214.4]
  assign _T_553 = {_T_552,_T_549}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216215.4]
  assign _T_554 = {_T_553,_T_547}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216216.4]
  assign _T_555 = {io_status_tvm,io_status_mxr}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216217.4]
  assign _T_556 = {_T_555,io_status_sum}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216218.4]
  assign _T_557 = {io_status_tsr,io_status_tw}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216219.4]
  assign _T_558 = {io_status_sd_rv32,io_status_zero1}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216220.4]
  assign _T_559 = {_T_558,_T_557}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216221.4]
  assign _T_560 = {_T_559,_T_556}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216222.4]
  assign _T_561 = {io_status_sxl,io_status_uxl}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216223.4]
  assign _T_562 = {io_status_sd,io_status_zero2}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216224.4]
  assign _T_563 = {_T_562,_T_561}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216225.4]
  assign _T_564 = {io_status_dprv,io_status_prv}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216226.4]
  assign _T_565 = {io_status_debug,io_status_isa}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216227.4]
  assign _T_566 = {_T_565,_T_564}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216228.4]
  assign _T_567 = {_T_566,_T_563}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216229.4]
  assign _T_568 = {_T_567,_T_560}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216230.4]
  assign _T_569 = {_T_568,_T_554}; // @[CSR.scala 360:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216231.4]
  assign read_mstatus = _T_569[31:0]; // @[CSR.scala 360:40:shc.marmotcaravel.MarmotCaravelConfig.fir@216232.4]
  assign _GEN_19 = reg_tselect ? reg_bp_1_control_dmode : reg_bp_0_control_dmode; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
  assign _GEN_22 = reg_tselect ? reg_bp_1_control_action : reg_bp_0_control_action; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
  assign _GEN_23 = reg_tselect ? 1'h0 : reg_bp_0_control_chain; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
  assign _GEN_25 = reg_tselect ? reg_bp_1_control_tmatch : reg_bp_0_control_tmatch; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
  assign _GEN_30 = reg_tselect ? reg_bp_1_control_x : reg_bp_0_control_x; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
  assign _GEN_31 = reg_tselect ? reg_bp_1_control_w : reg_bp_0_control_w; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
  assign _GEN_32 = reg_tselect ? reg_bp_1_control_r : reg_bp_0_control_r; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
  assign _GEN_33 = reg_tselect ? reg_bp_1_address : reg_bp_0_address; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
  assign _T_571 = {_GEN_30,_GEN_31}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216233.4]
  assign _T_572 = {_T_571,_GEN_32}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216234.4]
  assign _T_576 = {4'h8,_T_572}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216238.4]
  assign _T_577 = {2'h0,_GEN_25}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216239.4]
  assign _T_578 = {_GEN_22,_GEN_23}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216240.4]
  assign _T_579 = {_T_578,_T_577}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216241.4]
  assign _T_581 = {4'h2,_GEN_19}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216243.4]
  assign _T_582 = {_T_581,14'h400}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216244.4]
  assign _T_583 = {_T_582,_T_579}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216245.4]
  assign _T_584 = {_T_583,_T_576}; // @[CSR.scala 364:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216246.4]
  assign _T_586 = ~ reg_mepc; // @[CSR.scala 908:28:shc.marmotcaravel.MarmotCaravelConfig.fir@216247.4]
  assign _T_587 = reg_misa[2]; // @[CSR.scala 908:45:shc.marmotcaravel.MarmotCaravelConfig.fir@216248.4]
  assign _T_588 = _T_587 ? 2'h1 : 2'h3; // @[CSR.scala 908:36:shc.marmotcaravel.MarmotCaravelConfig.fir@216249.4]
  assign _GEN_451 = {{30'd0}, _T_588}; // @[CSR.scala 908:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216250.4]
  assign _T_589 = _T_586 | _GEN_451; // @[CSR.scala 908:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216250.4]
  assign _T_590 = ~ _T_589; // @[CSR.scala 908:26:shc.marmotcaravel.MarmotCaravelConfig.fir@216251.4]
  assign _T_591 = {3'h0,reg_dcsr_step}; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216252.4]
  assign _T_592 = {_T_591,reg_dcsr_prv}; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216253.4]
  assign _T_593 = {1'h0,reg_dcsr_cause}; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216254.4]
  assign _T_595 = {2'h0,_T_593}; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216256.4]
  assign _T_596 = {_T_595,_T_592}; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216257.4]
  assign _T_599 = {12'h0,reg_dcsr_ebreakm}; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216260.4]
  assign _T_601 = {4'h4,_T_599}; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216262.4]
  assign _T_602 = {_T_601,3'h0}; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216263.4]
  assign _T_603 = {_T_602,_T_596}; // @[CSR.scala 378:27:shc.marmotcaravel.MarmotCaravelConfig.fir@216264.4]
  assign _T_604 = ~ reg_dpc; // @[CSR.scala 908:28:shc.marmotcaravel.MarmotCaravelConfig.fir@216265.4]
  assign _T_607 = _T_604 | _GEN_451; // @[CSR.scala 908:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216268.4]
  assign _T_608 = ~ _T_607; // @[CSR.scala 908:26:shc.marmotcaravel.MarmotCaravelConfig.fir@216269.4]
  assign _T_610 = _T_275[63:32]; // @[CSR.scala 415:50:shc.marmotcaravel.MarmotCaravelConfig.fir@216271.4]
  assign _T_611 = _T_265[63:32]; // @[CSR.scala 416:54:shc.marmotcaravel.MarmotCaravelConfig.fir@216272.4]
  assign _T_626 = {reg_pmp_0_cfg_x,reg_pmp_0_cfg_w}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216294.4]
  assign _T_627 = {_T_626,reg_pmp_0_cfg_r}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216295.4]
  assign _T_628 = {reg_pmp_0_cfg_l,2'h0}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216296.4]
  assign _T_629 = {_T_628,reg_pmp_0_cfg_a}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216297.4]
  assign _T_630 = {_T_629,_T_627}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216298.4]
  assign _T_631 = {reg_pmp_1_cfg_x,reg_pmp_1_cfg_w}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216299.4]
  assign _T_632 = {_T_631,reg_pmp_1_cfg_r}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216300.4]
  assign _T_633 = {reg_pmp_1_cfg_l,2'h0}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216301.4]
  assign _T_634 = {_T_633,reg_pmp_1_cfg_a}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216302.4]
  assign _T_635 = {_T_634,_T_632}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216303.4]
  assign _T_636 = {reg_pmp_2_cfg_x,reg_pmp_2_cfg_w}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216304.4]
  assign _T_637 = {_T_636,reg_pmp_2_cfg_r}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216305.4]
  assign _T_638 = {reg_pmp_2_cfg_l,2'h0}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216306.4]
  assign _T_639 = {_T_638,reg_pmp_2_cfg_a}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216307.4]
  assign _T_640 = {_T_639,_T_637}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216308.4]
  assign _T_641 = {reg_pmp_3_cfg_x,reg_pmp_3_cfg_w}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216309.4]
  assign _T_642 = {_T_641,reg_pmp_3_cfg_r}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216310.4]
  assign _T_643 = {reg_pmp_3_cfg_l,2'h0}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216311.4]
  assign _T_644 = {_T_643,reg_pmp_3_cfg_a}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216312.4]
  assign _T_645 = {_T_644,_T_642}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216313.4]
  assign _T_646 = {_T_635,_T_630}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216314.4]
  assign _T_647 = {_T_645,_T_640}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216315.4]
  assign _T_648 = {_T_647,_T_646}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216316.4]
  assign _T_649 = {reg_pmp_4_cfg_x,reg_pmp_4_cfg_w}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216317.4]
  assign _T_650 = {_T_649,reg_pmp_4_cfg_r}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216318.4]
  assign _T_651 = {reg_pmp_4_cfg_l,2'h0}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216319.4]
  assign _T_652 = {_T_651,reg_pmp_4_cfg_a}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216320.4]
  assign _T_653 = {_T_652,_T_650}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216321.4]
  assign _T_654 = {reg_pmp_5_cfg_x,reg_pmp_5_cfg_w}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216322.4]
  assign _T_655 = {_T_654,reg_pmp_5_cfg_r}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216323.4]
  assign _T_656 = {reg_pmp_5_cfg_l,2'h0}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216324.4]
  assign _T_657 = {_T_656,reg_pmp_5_cfg_a}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216325.4]
  assign _T_658 = {_T_657,_T_655}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216326.4]
  assign _T_659 = {reg_pmp_6_cfg_x,reg_pmp_6_cfg_w}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216327.4]
  assign _T_660 = {_T_659,reg_pmp_6_cfg_r}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216328.4]
  assign _T_661 = {reg_pmp_6_cfg_l,2'h0}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216329.4]
  assign _T_662 = {_T_661,reg_pmp_6_cfg_a}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216330.4]
  assign _T_663 = {_T_662,_T_660}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216331.4]
  assign _T_664 = {reg_pmp_7_cfg_x,reg_pmp_7_cfg_w}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216332.4]
  assign _T_665 = {_T_664,reg_pmp_7_cfg_r}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216333.4]
  assign _T_666 = {reg_pmp_7_cfg_l,2'h0}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216334.4]
  assign _T_667 = {_T_666,reg_pmp_7_cfg_a}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216335.4]
  assign _T_668 = {_T_667,_T_665}; // @[package.scala 35:38:shc.marmotcaravel.MarmotCaravelConfig.fir@216336.4]
  assign _T_669 = {_T_658,_T_653}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216337.4]
  assign _T_670 = {_T_668,_T_663}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216338.4]
  assign _T_671 = {_T_670,_T_669}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216339.4]
  assign _T_722 = io_rw_addr == 12'h7a0; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216390.4]
  assign _T_723 = io_rw_addr == 12'h7a1; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216391.4]
  assign _T_724 = io_rw_addr == 12'h7a2; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216392.4]
  assign _T_725 = io_rw_addr == 12'h301; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216393.4]
  assign _T_726 = io_rw_addr == 12'h300; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216394.4]
  assign _T_727 = io_rw_addr == 12'h305; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216395.4]
  assign _T_728 = io_rw_addr == 12'h344; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216396.4]
  assign _T_729 = io_rw_addr == 12'h304; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216397.4]
  assign _T_730 = io_rw_addr == 12'h340; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216398.4]
  assign _T_731 = io_rw_addr == 12'h341; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216399.4]
  assign _T_732 = io_rw_addr == 12'h343; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216400.4]
  assign _T_733 = io_rw_addr == 12'h342; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216401.4]
  assign _T_734 = io_rw_addr == 12'hf14; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216402.4]
  assign _T_735 = io_rw_addr == 12'h7b0; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216403.4]
  assign _T_736 = io_rw_addr == 12'h7b1; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216404.4]
  assign _T_737 = io_rw_addr == 12'h7b2; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216405.4]
  assign _T_738 = io_rw_addr == 12'hb00; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216406.4]
  assign _T_739 = io_rw_addr == 12'hb02; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216407.4]
  assign _T_827 = io_rw_addr == 12'hb80; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216495.4]
  assign _T_828 = io_rw_addr == 12'hb82; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216496.4]
  assign _T_829 = io_rw_addr == 12'h3a0; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216497.4]
  assign _T_830 = io_rw_addr == 12'h3a1; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216498.4]
  assign _T_833 = io_rw_addr == 12'h3b0; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216501.4]
  assign _T_834 = io_rw_addr == 12'h3b1; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216502.4]
  assign _T_835 = io_rw_addr == 12'h3b2; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216503.4]
  assign _T_836 = io_rw_addr == 12'h3b3; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216504.4]
  assign _T_837 = io_rw_addr == 12'h3b4; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216505.4]
  assign _T_838 = io_rw_addr == 12'h3b5; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216506.4]
  assign _T_839 = io_rw_addr == 12'h3b6; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216507.4]
  assign _T_840 = io_rw_addr == 12'h3b7; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216508.4]
  assign _T_850 = io_rw_addr == 12'hf12; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216518.4]
  assign _T_852 = io_rw_addr == 12'hf13; // @[CSR.scala 476:73:shc.marmotcaravel.MarmotCaravelConfig.fir@216520.4]
  assign _T_853 = io_rw_cmd[1]; // @[CSR.scala 886:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216521.4]
  assign _T_854 = _T_853 ? io_rw_rdata : 32'h0; // @[CSR.scala 886:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216522.4]
  assign _T_855 = _T_854 | io_rw_wdata; // @[CSR.scala 886:34:shc.marmotcaravel.MarmotCaravelConfig.fir@216523.4]
  assign _T_856 = io_rw_cmd[1:0]; // @[CSR.scala 886:53:shc.marmotcaravel.MarmotCaravelConfig.fir@216524.4]
  assign _T_857 = ~ _T_856; // @[CSR.scala 886:59:shc.marmotcaravel.MarmotCaravelConfig.fir@216525.4]
  assign _T_858 = _T_857 == 2'h0; // @[CSR.scala 886:59:shc.marmotcaravel.MarmotCaravelConfig.fir@216526.4]
  assign _T_859 = _T_858 ? io_rw_wdata : 32'h0; // @[CSR.scala 886:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216527.4]
  assign _T_860 = ~ _T_859; // @[CSR.scala 886:45:shc.marmotcaravel.MarmotCaravelConfig.fir@216528.4]
  assign wdata = _T_855 & _T_860; // @[CSR.scala 886:43:shc.marmotcaravel.MarmotCaravelConfig.fir@216529.4]
  assign system_insn = io_rw_cmd == 3'h4; // @[CSR.scala 479:31:shc.marmotcaravel.MarmotCaravelConfig.fir@216530.4]
  assign _GEN_453 = {{20'd0}, io_rw_addr}; // @[CSR.scala 488:92:shc.marmotcaravel.MarmotCaravelConfig.fir@216531.4]
  assign _T_861 = _GEN_453 << 20; // @[CSR.scala 488:92:shc.marmotcaravel.MarmotCaravelConfig.fir@216531.4]
  assign _T_862 = _T_861 & 32'h20100000; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@216532.4]
  assign _T_863 = _T_862 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@216533.4]
  assign _T_865 = _T_861 & 32'h10100000; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@216535.4]
  assign _T_866 = _T_865 == 32'h100000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@216536.4]
  assign _T_868 = _T_861 & 32'h20000000; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@216538.4]
  assign _T_869 = _T_868 == 32'h20000000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@216539.4]
  assign _T_871 = _T_861 & 32'h30000000; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@216541.4]
  assign _T_872 = _T_871 == 32'h10000000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@216542.4]
  assign insn_call = system_insn & _T_863; // @[CSR.scala 488:159:shc.marmotcaravel.MarmotCaravelConfig.fir@216545.4]
  assign insn_break = system_insn & _T_866; // @[CSR.scala 488:159:shc.marmotcaravel.MarmotCaravelConfig.fir@216547.4]
  assign insn_ret = system_insn & _T_869; // @[CSR.scala 488:159:shc.marmotcaravel.MarmotCaravelConfig.fir@216549.4]
  assign insn_wfi = system_insn & _T_872; // @[CSR.scala 488:159:shc.marmotcaravel.MarmotCaravelConfig.fir@216551.4]
  assign _T_918 = io_status_fs == 2'h0; // @[CSR.scala 499:39:shc.marmotcaravel.MarmotCaravelConfig.fir@216593.4]
  assign _T_919 = reg_misa[5]; // @[CSR.scala 499:57:shc.marmotcaravel.MarmotCaravelConfig.fir@216594.4]
  assign _T_920 = _T_919 == 1'h0; // @[CSR.scala 499:48:shc.marmotcaravel.MarmotCaravelConfig.fir@216595.4]
  assign _T_933 = io_decode_0_csr == 12'h7a0; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216611.4]
  assign _T_934 = io_decode_0_csr == 12'h7a1; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216612.4]
  assign _T_935 = io_decode_0_csr == 12'h7a2; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216613.4]
  assign _T_936 = io_decode_0_csr == 12'h301; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216614.4]
  assign _T_937 = io_decode_0_csr == 12'h300; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216615.4]
  assign _T_938 = io_decode_0_csr == 12'h305; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216616.4]
  assign _T_939 = io_decode_0_csr == 12'h344; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216617.4]
  assign _T_940 = io_decode_0_csr == 12'h304; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216618.4]
  assign _T_941 = io_decode_0_csr == 12'h340; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216619.4]
  assign _T_942 = io_decode_0_csr == 12'h341; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216620.4]
  assign _T_943 = io_decode_0_csr == 12'h343; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216621.4]
  assign _T_944 = io_decode_0_csr == 12'h342; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216622.4]
  assign _T_945 = io_decode_0_csr == 12'hf14; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216623.4]
  assign _T_946 = io_decode_0_csr == 12'h7b0; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216624.4]
  assign _T_947 = io_decode_0_csr == 12'h7b1; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216625.4]
  assign _T_948 = io_decode_0_csr == 12'h7b2; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216626.4]
  assign _T_949 = io_decode_0_csr == 12'hb00; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216627.4]
  assign _T_950 = io_decode_0_csr == 12'hb02; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216628.4]
  assign _T_951 = io_decode_0_csr == 12'h323; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216629.4]
  assign _T_952 = io_decode_0_csr == 12'hb03; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216630.4]
  assign _T_953 = io_decode_0_csr == 12'hb83; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216631.4]
  assign _T_954 = io_decode_0_csr == 12'h324; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216632.4]
  assign _T_955 = io_decode_0_csr == 12'hb04; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216633.4]
  assign _T_956 = io_decode_0_csr == 12'hb84; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216634.4]
  assign _T_957 = io_decode_0_csr == 12'h325; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216635.4]
  assign _T_958 = io_decode_0_csr == 12'hb05; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216636.4]
  assign _T_959 = io_decode_0_csr == 12'hb85; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216637.4]
  assign _T_960 = io_decode_0_csr == 12'h326; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216638.4]
  assign _T_961 = io_decode_0_csr == 12'hb06; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216639.4]
  assign _T_962 = io_decode_0_csr == 12'hb86; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216640.4]
  assign _T_963 = io_decode_0_csr == 12'h327; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216641.4]
  assign _T_964 = io_decode_0_csr == 12'hb07; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216642.4]
  assign _T_965 = io_decode_0_csr == 12'hb87; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216643.4]
  assign _T_966 = io_decode_0_csr == 12'h328; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216644.4]
  assign _T_967 = io_decode_0_csr == 12'hb08; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216645.4]
  assign _T_968 = io_decode_0_csr == 12'hb88; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216646.4]
  assign _T_969 = io_decode_0_csr == 12'h329; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216647.4]
  assign _T_970 = io_decode_0_csr == 12'hb09; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216648.4]
  assign _T_971 = io_decode_0_csr == 12'hb89; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216649.4]
  assign _T_972 = io_decode_0_csr == 12'h32a; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216650.4]
  assign _T_973 = io_decode_0_csr == 12'hb0a; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216651.4]
  assign _T_974 = io_decode_0_csr == 12'hb8a; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216652.4]
  assign _T_975 = io_decode_0_csr == 12'h32b; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216653.4]
  assign _T_976 = io_decode_0_csr == 12'hb0b; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216654.4]
  assign _T_977 = io_decode_0_csr == 12'hb8b; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216655.4]
  assign _T_978 = io_decode_0_csr == 12'h32c; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216656.4]
  assign _T_979 = io_decode_0_csr == 12'hb0c; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216657.4]
  assign _T_980 = io_decode_0_csr == 12'hb8c; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216658.4]
  assign _T_981 = io_decode_0_csr == 12'h32d; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216659.4]
  assign _T_982 = io_decode_0_csr == 12'hb0d; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216660.4]
  assign _T_983 = io_decode_0_csr == 12'hb8d; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216661.4]
  assign _T_984 = io_decode_0_csr == 12'h32e; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216662.4]
  assign _T_985 = io_decode_0_csr == 12'hb0e; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216663.4]
  assign _T_986 = io_decode_0_csr == 12'hb8e; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216664.4]
  assign _T_987 = io_decode_0_csr == 12'h32f; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216665.4]
  assign _T_988 = io_decode_0_csr == 12'hb0f; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216666.4]
  assign _T_989 = io_decode_0_csr == 12'hb8f; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216667.4]
  assign _T_990 = io_decode_0_csr == 12'h330; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216668.4]
  assign _T_991 = io_decode_0_csr == 12'hb10; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216669.4]
  assign _T_992 = io_decode_0_csr == 12'hb90; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216670.4]
  assign _T_993 = io_decode_0_csr == 12'h331; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216671.4]
  assign _T_994 = io_decode_0_csr == 12'hb11; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216672.4]
  assign _T_995 = io_decode_0_csr == 12'hb91; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216673.4]
  assign _T_996 = io_decode_0_csr == 12'h332; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216674.4]
  assign _T_997 = io_decode_0_csr == 12'hb12; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216675.4]
  assign _T_998 = io_decode_0_csr == 12'hb92; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216676.4]
  assign _T_999 = io_decode_0_csr == 12'h333; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216677.4]
  assign _T_1000 = io_decode_0_csr == 12'hb13; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216678.4]
  assign _T_1001 = io_decode_0_csr == 12'hb93; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216679.4]
  assign _T_1002 = io_decode_0_csr == 12'h334; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216680.4]
  assign _T_1003 = io_decode_0_csr == 12'hb14; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216681.4]
  assign _T_1004 = io_decode_0_csr == 12'hb94; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216682.4]
  assign _T_1005 = io_decode_0_csr == 12'h335; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216683.4]
  assign _T_1006 = io_decode_0_csr == 12'hb15; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216684.4]
  assign _T_1007 = io_decode_0_csr == 12'hb95; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216685.4]
  assign _T_1008 = io_decode_0_csr == 12'h336; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216686.4]
  assign _T_1009 = io_decode_0_csr == 12'hb16; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216687.4]
  assign _T_1010 = io_decode_0_csr == 12'hb96; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216688.4]
  assign _T_1011 = io_decode_0_csr == 12'h337; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216689.4]
  assign _T_1012 = io_decode_0_csr == 12'hb17; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216690.4]
  assign _T_1013 = io_decode_0_csr == 12'hb97; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216691.4]
  assign _T_1014 = io_decode_0_csr == 12'h338; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216692.4]
  assign _T_1015 = io_decode_0_csr == 12'hb18; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216693.4]
  assign _T_1016 = io_decode_0_csr == 12'hb98; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216694.4]
  assign _T_1017 = io_decode_0_csr == 12'h339; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216695.4]
  assign _T_1018 = io_decode_0_csr == 12'hb19; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216696.4]
  assign _T_1019 = io_decode_0_csr == 12'hb99; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216697.4]
  assign _T_1020 = io_decode_0_csr == 12'h33a; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216698.4]
  assign _T_1021 = io_decode_0_csr == 12'hb1a; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216699.4]
  assign _T_1022 = io_decode_0_csr == 12'hb9a; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216700.4]
  assign _T_1023 = io_decode_0_csr == 12'h33b; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216701.4]
  assign _T_1024 = io_decode_0_csr == 12'hb1b; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216702.4]
  assign _T_1025 = io_decode_0_csr == 12'hb9b; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216703.4]
  assign _T_1026 = io_decode_0_csr == 12'h33c; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216704.4]
  assign _T_1027 = io_decode_0_csr == 12'hb1c; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216705.4]
  assign _T_1028 = io_decode_0_csr == 12'hb9c; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216706.4]
  assign _T_1029 = io_decode_0_csr == 12'h33d; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216707.4]
  assign _T_1030 = io_decode_0_csr == 12'hb1d; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216708.4]
  assign _T_1031 = io_decode_0_csr == 12'hb9d; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216709.4]
  assign _T_1032 = io_decode_0_csr == 12'h33e; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216710.4]
  assign _T_1033 = io_decode_0_csr == 12'hb1e; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216711.4]
  assign _T_1034 = io_decode_0_csr == 12'hb9e; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216712.4]
  assign _T_1035 = io_decode_0_csr == 12'h33f; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216713.4]
  assign _T_1036 = io_decode_0_csr == 12'hb1f; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216714.4]
  assign _T_1037 = io_decode_0_csr == 12'hb9f; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216715.4]
  assign _T_1038 = io_decode_0_csr == 12'hb80; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216716.4]
  assign _T_1039 = io_decode_0_csr == 12'hb82; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216717.4]
  assign _T_1040 = io_decode_0_csr == 12'h3a0; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216718.4]
  assign _T_1041 = io_decode_0_csr == 12'h3a1; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216719.4]
  assign _T_1042 = io_decode_0_csr == 12'h3a2; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216720.4]
  assign _T_1043 = io_decode_0_csr == 12'h3a3; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216721.4]
  assign _T_1044 = io_decode_0_csr == 12'h3b0; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216722.4]
  assign _T_1045 = io_decode_0_csr == 12'h3b1; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216723.4]
  assign _T_1046 = io_decode_0_csr == 12'h3b2; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216724.4]
  assign _T_1047 = io_decode_0_csr == 12'h3b3; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216725.4]
  assign _T_1048 = io_decode_0_csr == 12'h3b4; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216726.4]
  assign _T_1049 = io_decode_0_csr == 12'h3b5; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216727.4]
  assign _T_1050 = io_decode_0_csr == 12'h3b6; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216728.4]
  assign _T_1051 = io_decode_0_csr == 12'h3b7; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216729.4]
  assign _T_1052 = io_decode_0_csr == 12'h3b8; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216730.4]
  assign _T_1053 = io_decode_0_csr == 12'h3b9; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216731.4]
  assign _T_1054 = io_decode_0_csr == 12'h3ba; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216732.4]
  assign _T_1055 = io_decode_0_csr == 12'h3bb; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216733.4]
  assign _T_1056 = io_decode_0_csr == 12'h3bc; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216734.4]
  assign _T_1057 = io_decode_0_csr == 12'h3bd; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216735.4]
  assign _T_1058 = io_decode_0_csr == 12'h3be; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216736.4]
  assign _T_1059 = io_decode_0_csr == 12'h3bf; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216737.4]
  assign _T_1060 = io_decode_0_csr == 12'h7c1; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216738.4]
  assign _T_1061 = io_decode_0_csr == 12'hf12; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216739.4]
  assign _T_1062 = io_decode_0_csr == 12'hf11; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216740.4]
  assign _T_1063 = io_decode_0_csr == 12'hf13; // @[CSR.scala 492:99:shc.marmotcaravel.MarmotCaravelConfig.fir@216741.4]
  assign _T_1064 = _T_933 | _T_934; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216742.4]
  assign _T_1065 = _T_1064 | _T_935; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216743.4]
  assign _T_1066 = _T_1065 | _T_936; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216744.4]
  assign _T_1067 = _T_1066 | _T_937; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216745.4]
  assign _T_1068 = _T_1067 | _T_938; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216746.4]
  assign _T_1069 = _T_1068 | _T_939; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216747.4]
  assign _T_1070 = _T_1069 | _T_940; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216748.4]
  assign _T_1071 = _T_1070 | _T_941; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216749.4]
  assign _T_1072 = _T_1071 | _T_942; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216750.4]
  assign _T_1073 = _T_1072 | _T_943; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216751.4]
  assign _T_1074 = _T_1073 | _T_944; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216752.4]
  assign _T_1075 = _T_1074 | _T_945; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216753.4]
  assign _T_1076 = _T_1075 | _T_946; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216754.4]
  assign _T_1077 = _T_1076 | _T_947; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216755.4]
  assign _T_1078 = _T_1077 | _T_948; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216756.4]
  assign _T_1079 = _T_1078 | _T_949; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216757.4]
  assign _T_1080 = _T_1079 | _T_950; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216758.4]
  assign _T_1081 = _T_1080 | _T_951; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216759.4]
  assign _T_1082 = _T_1081 | _T_952; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216760.4]
  assign _T_1083 = _T_1082 | _T_953; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216761.4]
  assign _T_1084 = _T_1083 | _T_954; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216762.4]
  assign _T_1085 = _T_1084 | _T_955; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216763.4]
  assign _T_1086 = _T_1085 | _T_956; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216764.4]
  assign _T_1087 = _T_1086 | _T_957; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216765.4]
  assign _T_1088 = _T_1087 | _T_958; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216766.4]
  assign _T_1089 = _T_1088 | _T_959; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216767.4]
  assign _T_1090 = _T_1089 | _T_960; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216768.4]
  assign _T_1091 = _T_1090 | _T_961; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216769.4]
  assign _T_1092 = _T_1091 | _T_962; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216770.4]
  assign _T_1093 = _T_1092 | _T_963; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216771.4]
  assign _T_1094 = _T_1093 | _T_964; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216772.4]
  assign _T_1095 = _T_1094 | _T_965; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216773.4]
  assign _T_1096 = _T_1095 | _T_966; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216774.4]
  assign _T_1097 = _T_1096 | _T_967; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216775.4]
  assign _T_1098 = _T_1097 | _T_968; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216776.4]
  assign _T_1099 = _T_1098 | _T_969; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216777.4]
  assign _T_1100 = _T_1099 | _T_970; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216778.4]
  assign _T_1101 = _T_1100 | _T_971; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216779.4]
  assign _T_1102 = _T_1101 | _T_972; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216780.4]
  assign _T_1103 = _T_1102 | _T_973; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216781.4]
  assign _T_1104 = _T_1103 | _T_974; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216782.4]
  assign _T_1105 = _T_1104 | _T_975; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216783.4]
  assign _T_1106 = _T_1105 | _T_976; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216784.4]
  assign _T_1107 = _T_1106 | _T_977; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216785.4]
  assign _T_1108 = _T_1107 | _T_978; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216786.4]
  assign _T_1109 = _T_1108 | _T_979; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216787.4]
  assign _T_1110 = _T_1109 | _T_980; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216788.4]
  assign _T_1111 = _T_1110 | _T_981; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216789.4]
  assign _T_1112 = _T_1111 | _T_982; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216790.4]
  assign _T_1113 = _T_1112 | _T_983; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216791.4]
  assign _T_1114 = _T_1113 | _T_984; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216792.4]
  assign _T_1115 = _T_1114 | _T_985; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216793.4]
  assign _T_1116 = _T_1115 | _T_986; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216794.4]
  assign _T_1117 = _T_1116 | _T_987; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216795.4]
  assign _T_1118 = _T_1117 | _T_988; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216796.4]
  assign _T_1119 = _T_1118 | _T_989; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216797.4]
  assign _T_1120 = _T_1119 | _T_990; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216798.4]
  assign _T_1121 = _T_1120 | _T_991; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216799.4]
  assign _T_1122 = _T_1121 | _T_992; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216800.4]
  assign _T_1123 = _T_1122 | _T_993; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216801.4]
  assign _T_1124 = _T_1123 | _T_994; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216802.4]
  assign _T_1125 = _T_1124 | _T_995; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216803.4]
  assign _T_1126 = _T_1125 | _T_996; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216804.4]
  assign _T_1127 = _T_1126 | _T_997; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216805.4]
  assign _T_1128 = _T_1127 | _T_998; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216806.4]
  assign _T_1129 = _T_1128 | _T_999; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216807.4]
  assign _T_1130 = _T_1129 | _T_1000; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216808.4]
  assign _T_1131 = _T_1130 | _T_1001; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216809.4]
  assign _T_1132 = _T_1131 | _T_1002; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216810.4]
  assign _T_1133 = _T_1132 | _T_1003; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216811.4]
  assign _T_1134 = _T_1133 | _T_1004; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216812.4]
  assign _T_1135 = _T_1134 | _T_1005; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216813.4]
  assign _T_1136 = _T_1135 | _T_1006; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216814.4]
  assign _T_1137 = _T_1136 | _T_1007; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216815.4]
  assign _T_1138 = _T_1137 | _T_1008; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216816.4]
  assign _T_1139 = _T_1138 | _T_1009; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216817.4]
  assign _T_1140 = _T_1139 | _T_1010; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216818.4]
  assign _T_1141 = _T_1140 | _T_1011; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216819.4]
  assign _T_1142 = _T_1141 | _T_1012; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216820.4]
  assign _T_1143 = _T_1142 | _T_1013; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216821.4]
  assign _T_1144 = _T_1143 | _T_1014; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216822.4]
  assign _T_1145 = _T_1144 | _T_1015; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216823.4]
  assign _T_1146 = _T_1145 | _T_1016; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216824.4]
  assign _T_1147 = _T_1146 | _T_1017; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216825.4]
  assign _T_1148 = _T_1147 | _T_1018; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216826.4]
  assign _T_1149 = _T_1148 | _T_1019; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216827.4]
  assign _T_1150 = _T_1149 | _T_1020; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216828.4]
  assign _T_1151 = _T_1150 | _T_1021; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216829.4]
  assign _T_1152 = _T_1151 | _T_1022; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216830.4]
  assign _T_1153 = _T_1152 | _T_1023; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216831.4]
  assign _T_1154 = _T_1153 | _T_1024; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216832.4]
  assign _T_1155 = _T_1154 | _T_1025; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216833.4]
  assign _T_1156 = _T_1155 | _T_1026; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216834.4]
  assign _T_1157 = _T_1156 | _T_1027; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216835.4]
  assign _T_1158 = _T_1157 | _T_1028; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216836.4]
  assign _T_1159 = _T_1158 | _T_1029; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216837.4]
  assign _T_1160 = _T_1159 | _T_1030; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216838.4]
  assign _T_1161 = _T_1160 | _T_1031; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216839.4]
  assign _T_1162 = _T_1161 | _T_1032; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216840.4]
  assign _T_1163 = _T_1162 | _T_1033; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216841.4]
  assign _T_1164 = _T_1163 | _T_1034; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216842.4]
  assign _T_1165 = _T_1164 | _T_1035; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216843.4]
  assign _T_1166 = _T_1165 | _T_1036; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216844.4]
  assign _T_1167 = _T_1166 | _T_1037; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216845.4]
  assign _T_1168 = _T_1167 | _T_1038; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216846.4]
  assign _T_1169 = _T_1168 | _T_1039; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216847.4]
  assign _T_1170 = _T_1169 | _T_1040; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216848.4]
  assign _T_1171 = _T_1170 | _T_1041; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216849.4]
  assign _T_1172 = _T_1171 | _T_1042; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216850.4]
  assign _T_1173 = _T_1172 | _T_1043; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216851.4]
  assign _T_1174 = _T_1173 | _T_1044; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216852.4]
  assign _T_1175 = _T_1174 | _T_1045; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216853.4]
  assign _T_1176 = _T_1175 | _T_1046; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216854.4]
  assign _T_1177 = _T_1176 | _T_1047; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216855.4]
  assign _T_1178 = _T_1177 | _T_1048; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216856.4]
  assign _T_1179 = _T_1178 | _T_1049; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216857.4]
  assign _T_1180 = _T_1179 | _T_1050; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216858.4]
  assign _T_1181 = _T_1180 | _T_1051; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216859.4]
  assign _T_1182 = _T_1181 | _T_1052; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216860.4]
  assign _T_1183 = _T_1182 | _T_1053; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216861.4]
  assign _T_1184 = _T_1183 | _T_1054; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216862.4]
  assign _T_1185 = _T_1184 | _T_1055; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216863.4]
  assign _T_1186 = _T_1185 | _T_1056; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216864.4]
  assign _T_1187 = _T_1186 | _T_1057; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216865.4]
  assign _T_1188 = _T_1187 | _T_1058; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216866.4]
  assign _T_1189 = _T_1188 | _T_1059; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216867.4]
  assign _T_1190 = _T_1189 | _T_1060; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216868.4]
  assign _T_1191 = _T_1190 | _T_1061; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216869.4]
  assign _T_1192 = _T_1191 | _T_1062; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216870.4]
  assign _T_1193 = _T_1192 | _T_1063; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216871.4]
  assign _T_1194 = _T_1193 == 1'h0; // @[CSR.scala 503:7:shc.marmotcaravel.MarmotCaravelConfig.fir@216872.4]
  assign _T_1213 = _T_946 | _T_947; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216891.4]
  assign _T_1214 = _T_1213 | _T_948; // @[CSR.scala 492:115:shc.marmotcaravel.MarmotCaravelConfig.fir@216892.4]
  assign _T_1217 = _T_1214 & _T_459; // @[CSR.scala 506:49:shc.marmotcaravel.MarmotCaravelConfig.fir@216895.4]
  assign _T_1218 = _T_1194 | _T_1217; // @[CSR.scala 505:148:shc.marmotcaravel.MarmotCaravelConfig.fir@216896.4]
  assign _T_1219 = io_decode_0_fp_csr & io_decode_0_fp_illegal; // @[CSR.scala 507:21:shc.marmotcaravel.MarmotCaravelConfig.fir@216897.4]
  assign _T_1221 = io_decode_0_csr[11:10]; // @[CSR.scala 508:39:shc.marmotcaravel.MarmotCaravelConfig.fir@216900.4]
  assign _T_1222 = ~ _T_1221; // @[CSR.scala 508:47:shc.marmotcaravel.MarmotCaravelConfig.fir@216901.4]
  assign _T_1224 = io_decode_0_csr >= 12'h340; // @[CSR.scala 509:40:shc.marmotcaravel.MarmotCaravelConfig.fir@216904.4]
  assign _T_1225 = io_decode_0_csr <= 12'h343; // @[CSR.scala 509:71:shc.marmotcaravel.MarmotCaravelConfig.fir@216905.4]
  assign _T_1226 = _T_1224 & _T_1225; // @[CSR.scala 509:57:shc.marmotcaravel.MarmotCaravelConfig.fir@216906.4]
  assign _T_1227 = io_decode_0_csr >= 12'h140; // @[CSR.scala 509:102:shc.marmotcaravel.MarmotCaravelConfig.fir@216907.4]
  assign _T_1228 = io_decode_0_csr <= 12'h143; // @[CSR.scala 509:133:shc.marmotcaravel.MarmotCaravelConfig.fir@216908.4]
  assign _T_1229 = _T_1227 & _T_1228; // @[CSR.scala 509:119:shc.marmotcaravel.MarmotCaravelConfig.fir@216909.4]
  assign _T_1230 = _T_1226 | _T_1229; // @[CSR.scala 509:88:shc.marmotcaravel.MarmotCaravelConfig.fir@216910.4]
  assign _T_1245 = insn_break ? 32'h3 : io_cause; // @[CSR.scala 518:14:shc.marmotcaravel.MarmotCaravelConfig.fir@216927.4]
  assign cause = insn_call ? 32'hb : _T_1245; // @[CSR.scala 517:8:shc.marmotcaravel.MarmotCaravelConfig.fir@216928.4]
  assign cause_lsbs = cause[7:0]; // @[CSR.scala 519:25:shc.marmotcaravel.MarmotCaravelConfig.fir@216929.4]
  assign _T_1246 = cause[31]; // @[CSR.scala 520:30:shc.marmotcaravel.MarmotCaravelConfig.fir@216930.4]
  assign _T_1247 = cause_lsbs == 8'he; // @[CSR.scala 520:53:shc.marmotcaravel.MarmotCaravelConfig.fir@216931.4]
  assign causeIsDebugInt = _T_1246 & _T_1247; // @[CSR.scala 520:39:shc.marmotcaravel.MarmotCaravelConfig.fir@216932.4]
  assign _T_1249 = _T_1246 == 1'h0; // @[CSR.scala 521:29:shc.marmotcaravel.MarmotCaravelConfig.fir@216934.4]
  assign causeIsDebugTrigger = _T_1249 & _T_1247; // @[CSR.scala 521:44:shc.marmotcaravel.MarmotCaravelConfig.fir@216936.4]
  assign _T_1253 = _T_1249 & insn_break; // @[CSR.scala 522:42:shc.marmotcaravel.MarmotCaravelConfig.fir@216939.4]
  assign _T_1255 = {reg_dcsr_ebreakm,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216941.4]
  assign _T_1256 = {_T_1255,2'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216942.4]
  assign _T_1257 = _T_1256 >> 2'h3; // @[CSR.scala 522:134:shc.marmotcaravel.MarmotCaravelConfig.fir@216943.4]
  assign _T_1258 = _T_1257[0]; // @[CSR.scala 522:134:shc.marmotcaravel.MarmotCaravelConfig.fir@216944.4]
  assign causeIsDebugBreak = _T_1253 & _T_1258; // @[CSR.scala 522:56:shc.marmotcaravel.MarmotCaravelConfig.fir@216945.4]
  assign _T_1259 = reg_singleStepped | causeIsDebugInt; // @[CSR.scala 523:60:shc.marmotcaravel.MarmotCaravelConfig.fir@216946.4]
  assign _T_1260 = _T_1259 | causeIsDebugTrigger; // @[CSR.scala 523:79:shc.marmotcaravel.MarmotCaravelConfig.fir@216947.4]
  assign _T_1261 = _T_1260 | causeIsDebugBreak; // @[CSR.scala 523:102:shc.marmotcaravel.MarmotCaravelConfig.fir@216948.4]
  assign trapToDebug = _T_1261 | reg_debug; // @[CSR.scala 523:123:shc.marmotcaravel.MarmotCaravelConfig.fir@216949.4]
  assign _T_1263 = insn_break ? 12'h800 : 12'h808; // @[CSR.scala 524:37:shc.marmotcaravel.MarmotCaravelConfig.fir@216951.4]
  assign debugTVec = reg_debug ? _T_1263 : 12'h800; // @[CSR.scala 524:22:shc.marmotcaravel.MarmotCaravelConfig.fir@216952.4]
  assign _T_1273 = cause[4:0]; // @[CSR.scala 533:32:shc.marmotcaravel.MarmotCaravelConfig.fir@216963.4]
  assign _GEN_455 = {{2'd0}, _T_1273}; // @[CSR.scala 533:59:shc.marmotcaravel.MarmotCaravelConfig.fir@216964.4]
  assign _T_1274 = _GEN_455 << 2; // @[CSR.scala 533:59:shc.marmotcaravel.MarmotCaravelConfig.fir@216964.4]
  assign _T_1275 = reg_mtvec[31:7]; // @[CSR.scala 534:33:shc.marmotcaravel.MarmotCaravelConfig.fir@216965.4]
  assign _T_1276 = {_T_1275,_T_1274}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@216966.4]
  assign _T_1277 = reg_mtvec[0]; // @[CSR.scala 535:24:shc.marmotcaravel.MarmotCaravelConfig.fir@216967.4]
  assign _T_1279 = _T_1277 & _T_1246; // @[CSR.scala 535:28:shc.marmotcaravel.MarmotCaravelConfig.fir@216969.4]
  assign _T_1280 = cause_lsbs[7:5]; // @[CSR.scala 535:70:shc.marmotcaravel.MarmotCaravelConfig.fir@216970.4]
  assign _T_1281 = _T_1280 == 3'h0; // @[CSR.scala 535:94:shc.marmotcaravel.MarmotCaravelConfig.fir@216971.4]
  assign _T_1282 = _T_1279 & _T_1281; // @[CSR.scala 535:55:shc.marmotcaravel.MarmotCaravelConfig.fir@216972.4]
  assign notDebugTVec = _T_1282 ? _T_1276 : reg_mtvec; // @[CSR.scala 536:8:shc.marmotcaravel.MarmotCaravelConfig.fir@216973.4]
  assign tvec = trapToDebug ? {{20'd0}, debugTVec} : notDebugTVec; // @[CSR.scala 538:17:shc.marmotcaravel.MarmotCaravelConfig.fir@216974.4]
  assign _T_1283 = insn_call | insn_break; // @[CSR.scala 541:24:shc.marmotcaravel.MarmotCaravelConfig.fir@216977.4]
  assign _T_1287 = ~ io_status_fs; // @[CSR.scala 544:32:shc.marmotcaravel.MarmotCaravelConfig.fir@216984.4]
  assign _T_1288 = _T_1287 == 2'h0; // @[CSR.scala 544:32:shc.marmotcaravel.MarmotCaravelConfig.fir@216985.4]
  assign _T_1289 = ~ io_status_xs; // @[CSR.scala 544:53:shc.marmotcaravel.MarmotCaravelConfig.fir@216986.4]
  assign _T_1290 = _T_1289 == 2'h0; // @[CSR.scala 544:53:shc.marmotcaravel.MarmotCaravelConfig.fir@216987.4]
  assign exception = _T_1283 | io_exception; // @[CSR.scala 553:43:shc.marmotcaravel.MarmotCaravelConfig.fir@217002.4]
  assign _T_1298 = insn_ret + insn_call; // @[Bitwise.scala 48:55:shc.marmotcaravel.MarmotCaravelConfig.fir@217003.4]
  assign _T_1299 = insn_break + io_exception; // @[Bitwise.scala 48:55:shc.marmotcaravel.MarmotCaravelConfig.fir@217004.4]
  assign _T_1300 = _T_1298 + _T_1299; // @[Bitwise.scala 48:55:shc.marmotcaravel.MarmotCaravelConfig.fir@217005.4]
  assign _T_1301 = _T_1300 <= 3'h1; // @[CSR.scala 554:79:shc.marmotcaravel.MarmotCaravelConfig.fir@217006.4]
  assign _T_1303 = _T_1301 | reset; // @[CSR.scala 554:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217008.4]
  assign _T_1304 = _T_1303 == 1'h0; // @[CSR.scala 554:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217009.4]
  assign _T_1306 = insn_wfi & _T_456; // @[CSR.scala 556:18:shc.marmotcaravel.MarmotCaravelConfig.fir@217015.4]
  assign _T_1308 = _T_1306 & _T_459; // @[CSR.scala 556:36:shc.marmotcaravel.MarmotCaravelConfig.fir@217017.4]
  assign _T_1309 = pending_interrupts != 32'h0; // @[CSR.scala 557:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217021.4]
  assign _T_1310 = _T_1309 | io_interrupts_debug; // @[CSR.scala 557:32:shc.marmotcaravel.MarmotCaravelConfig.fir@217022.4]
  assign _T_1311 = _T_1310 | exception; // @[CSR.scala 557:55:shc.marmotcaravel.MarmotCaravelConfig.fir@217023.4]
  assign _T_1313 = io_retire | exception; // @[CSR.scala 559:22:shc.marmotcaravel.MarmotCaravelConfig.fir@217028.4]
  assign _T_1321 = reg_singleStepped == 1'h0; // @[CSR.scala 562:10:shc.marmotcaravel.MarmotCaravelConfig.fir@217046.4]
  assign _T_1322 = io_retire == 1'h0; // @[CSR.scala 562:42:shc.marmotcaravel.MarmotCaravelConfig.fir@217047.4]
  assign _T_1323 = _T_1321 | _T_1322; // @[CSR.scala 562:29:shc.marmotcaravel.MarmotCaravelConfig.fir@217048.4]
  assign _T_1325 = _T_1323 | reset; // @[CSR.scala 562:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217050.4]
  assign _T_1326 = _T_1325 == 1'h0; // @[CSR.scala 562:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217051.4]
  assign _T_1327 = ~ io_pc; // @[CSR.scala 907:28:shc.marmotcaravel.MarmotCaravelConfig.fir@217056.4]
  assign _T_1328 = _T_1327 | 32'h1; // @[CSR.scala 907:31:shc.marmotcaravel.MarmotCaravelConfig.fir@217057.4]
  assign epc = ~ _T_1328; // @[CSR.scala 907:26:shc.marmotcaravel.MarmotCaravelConfig.fir@217058.4]
  assign _T_1331 = causeIsDebugTrigger ? 2'h2 : 2'h1; // @[CSR.scala 573:86:shc.marmotcaravel.MarmotCaravelConfig.fir@217068.10]
  assign _T_1332 = causeIsDebugInt ? 2'h3 : _T_1331; // @[CSR.scala 573:56:shc.marmotcaravel.MarmotCaravelConfig.fir@217069.10]
  assign _GEN_48 = {{1'd0}, reg_mstatus_spp}; // @[CSR.scala 577:27:shc.marmotcaravel.MarmotCaravelConfig.fir@217077.8]
  assign _GEN_67 = trapToDebug ? {{1'd0}, reg_mstatus_spp} : _GEN_48; // @[CSR.scala 569:24:shc.marmotcaravel.MarmotCaravelConfig.fir@217063.6]
  assign _GEN_85 = exception ? _GEN_67 : {{1'd0}, reg_mstatus_spp}; // @[CSR.scala 568:20:shc.marmotcaravel.MarmotCaravelConfig.fir@217062.4]
  assign _T_1542 = io_rw_addr[10]; // @[CSR.scala 623:47:shc.marmotcaravel.MarmotCaravelConfig.fir@217315.8]
  assign _GEN_95 = _T_1542 ? _T_608 : _T_590; // @[CSR.scala 623:53:shc.marmotcaravel.MarmotCaravelConfig.fir@217317.8]
  assign _T_1555 = _T_722 ? reg_tselect : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217354.4]
  assign _T_1556 = _T_723 ? _T_584 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217355.4]
  assign _T_1557 = _T_724 ? _GEN_33 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217356.4]
  assign _T_1558 = _T_725 ? reg_misa : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217357.4]
  assign _T_1559 = _T_726 ? read_mstatus : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217358.4]
  assign _T_1560 = _T_727 ? reg_mtvec : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217359.4]
  assign _T_1561 = _T_728 ? read_mip : 16'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217360.4]
  assign _T_1562 = _T_729 ? reg_mie : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217361.4]
  assign _T_1563 = _T_730 ? reg_mscratch : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217362.4]
  assign _T_1564 = _T_731 ? _T_590 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217363.4]
  assign _T_1565 = _T_732 ? reg_mbadaddr : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217364.4]
  assign _T_1566 = _T_733 ? reg_mcause : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217365.4]
  assign _T_1567 = _T_734 ? io_hartid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217366.4]
  assign _T_1568 = _T_735 ? _T_603 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217367.4]
  assign _T_1569 = _T_736 ? _T_608 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217368.4]
  assign _T_1570 = _T_737 ? reg_dscratch : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217369.4]
  assign _T_1571 = _T_738 ? _T_275 : 64'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217370.4]
  assign _T_1572 = _T_739 ? _T_265 : 64'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217371.4]
  assign _T_1660 = _T_827 ? _T_610 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217459.4]
  assign _T_1661 = _T_828 ? _T_611 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217460.4]
  assign _T_1662 = _T_829 ? _T_648 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217461.4]
  assign _T_1663 = _T_830 ? _T_671 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217462.4]
  assign _T_1666 = _T_833 ? reg_pmp_0_addr : 30'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217465.4]
  assign _T_1667 = _T_834 ? reg_pmp_1_addr : 30'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217466.4]
  assign _T_1668 = _T_835 ? reg_pmp_2_addr : 30'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217467.4]
  assign _T_1669 = _T_836 ? reg_pmp_3_addr : 30'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217468.4]
  assign _T_1670 = _T_837 ? reg_pmp_4_addr : 30'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217469.4]
  assign _T_1671 = _T_838 ? reg_pmp_5_addr : 30'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217470.4]
  assign _T_1672 = _T_839 ? reg_pmp_6_addr : 30'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217471.4]
  assign _T_1673 = _T_840 ? reg_pmp_7_addr : 30'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217472.4]
  assign _T_1683 = _T_850 ? 32'h1 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217482.4]
  assign _T_1685 = _T_852 ? 32'h20181004 : 32'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217484.4]
  assign _GEN_458 = {{31'd0}, _T_1555}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217485.4]
  assign _T_1686 = _GEN_458 | _T_1556; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217485.4]
  assign _T_1687 = _T_1686 | _T_1557; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217486.4]
  assign _T_1688 = _T_1687 | _T_1558; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217487.4]
  assign _T_1689 = _T_1688 | _T_1559; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217488.4]
  assign _T_1690 = _T_1689 | _T_1560; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217489.4]
  assign _GEN_459 = {{16'd0}, _T_1561}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217490.4]
  assign _T_1691 = _T_1690 | _GEN_459; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217490.4]
  assign _T_1692 = _T_1691 | _T_1562; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217491.4]
  assign _T_1693 = _T_1692 | _T_1563; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217492.4]
  assign _T_1694 = _T_1693 | _T_1564; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217493.4]
  assign _T_1695 = _T_1694 | _T_1565; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217494.4]
  assign _T_1696 = _T_1695 | _T_1566; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217495.4]
  assign _GEN_460 = {{31'd0}, _T_1567}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217496.4]
  assign _T_1697 = _T_1696 | _GEN_460; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217496.4]
  assign _T_1698 = _T_1697 | _T_1568; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217497.4]
  assign _T_1699 = _T_1698 | _T_1569; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217498.4]
  assign _T_1700 = _T_1699 | _T_1570; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217499.4]
  assign _GEN_461 = {{32'd0}, _T_1700}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217500.4]
  assign _T_1701 = _GEN_461 | _T_1571; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217500.4]
  assign _T_1702 = _T_1701 | _T_1572; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217501.4]
  assign _GEN_462 = {{32'd0}, _T_1660}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217589.4]
  assign _T_1790 = _T_1702 | _GEN_462; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217589.4]
  assign _GEN_463 = {{32'd0}, _T_1661}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217590.4]
  assign _T_1791 = _T_1790 | _GEN_463; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217590.4]
  assign _GEN_464 = {{32'd0}, _T_1662}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217591.4]
  assign _T_1792 = _T_1791 | _GEN_464; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217591.4]
  assign _GEN_465 = {{32'd0}, _T_1663}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217592.4]
  assign _T_1793 = _T_1792 | _GEN_465; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217592.4]
  assign _GEN_466 = {{34'd0}, _T_1666}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217595.4]
  assign _T_1796 = _T_1793 | _GEN_466; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217595.4]
  assign _GEN_467 = {{34'd0}, _T_1667}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217596.4]
  assign _T_1797 = _T_1796 | _GEN_467; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217596.4]
  assign _GEN_468 = {{34'd0}, _T_1668}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217597.4]
  assign _T_1798 = _T_1797 | _GEN_468; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217597.4]
  assign _GEN_469 = {{34'd0}, _T_1669}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217598.4]
  assign _T_1799 = _T_1798 | _GEN_469; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217598.4]
  assign _GEN_470 = {{34'd0}, _T_1670}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217599.4]
  assign _T_1800 = _T_1799 | _GEN_470; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217599.4]
  assign _GEN_471 = {{34'd0}, _T_1671}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217600.4]
  assign _T_1801 = _T_1800 | _GEN_471; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217600.4]
  assign _GEN_472 = {{34'd0}, _T_1672}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217601.4]
  assign _T_1802 = _T_1801 | _GEN_472; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217601.4]
  assign _GEN_473 = {{34'd0}, _T_1673}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217602.4]
  assign _T_1803 = _T_1802 | _GEN_473; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217602.4]
  assign _GEN_474 = {{32'd0}, _T_1683}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217612.4]
  assign _T_1813 = _T_1803 | _GEN_474; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217612.4]
  assign _GEN_475 = {{32'd0}, _T_1685}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217614.4]
  assign _T_1815 = _T_1813 | _GEN_475; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@217614.4]
  assign _T_1818 = io_rw_cmd == 3'h5; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@217618.4]
  assign _T_1819 = io_rw_cmd == 3'h6; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@217619.4]
  assign _T_1820 = io_rw_cmd == 3'h7; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@217620.4]
  assign _T_3002 = _T_1819 | _T_1820; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@218809.4]
  assign csr_wen = _T_3002 | _T_1818; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@218810.4]
  assign _T_3019 = {{69'd0}, wdata}; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@218828.8 :shc.marmotcaravel.MarmotCaravelConfig.fir@218830.8]
  assign _T_3023 = _T_3019[3]; // @[CSR.scala 670:47:shc.marmotcaravel.MarmotCaravelConfig.fir@218837.8]
  assign _T_3027 = _T_3019[7]; // @[CSR.scala 670:47:shc.marmotcaravel.MarmotCaravelConfig.fir@218845.8]
  assign _T_3049 = wdata[5]; // @[CSR.scala 694:20:shc.marmotcaravel.MarmotCaravelConfig.fir@218893.8]
  assign _T_3050 = io_pc[1]; // @[CSR.scala 696:39:shc.marmotcaravel.MarmotCaravelConfig.fir@218894.8]
  assign _T_3051 = _T_3050 == 1'h0; // @[CSR.scala 696:33:shc.marmotcaravel.MarmotCaravelConfig.fir@218895.8]
  assign _T_3053 = wdata[2]; // @[CSR.scala 696:51:shc.marmotcaravel.MarmotCaravelConfig.fir@218897.8]
  assign _T_3054 = _T_3051 | _T_3053; // @[CSR.scala 696:43:shc.marmotcaravel.MarmotCaravelConfig.fir@218898.8]
  assign _T_3055 = ~ wdata; // @[CSR.scala 698:25:shc.marmotcaravel.MarmotCaravelConfig.fir@218900.10]
  assign _T_3056 = _T_3049 == 1'h0; // @[CSR.scala 698:35:shc.marmotcaravel.MarmotCaravelConfig.fir@218901.10]
  assign _GEN_476 = {{3'd0}, _T_3056}; // @[CSR.scala 698:38:shc.marmotcaravel.MarmotCaravelConfig.fir@218902.10]
  assign _T_3057 = _GEN_476 << 3; // @[CSR.scala 698:38:shc.marmotcaravel.MarmotCaravelConfig.fir@218902.10]
  assign _GEN_477 = {{28'd0}, _T_3057}; // @[CSR.scala 698:32:shc.marmotcaravel.MarmotCaravelConfig.fir@218903.10]
  assign _T_3058 = _T_3055 | _GEN_477; // @[CSR.scala 698:32:shc.marmotcaravel.MarmotCaravelConfig.fir@218903.10]
  assign _T_3059 = ~ _T_3058; // @[CSR.scala 698:23:shc.marmotcaravel.MarmotCaravelConfig.fir@218904.10]
  assign _T_3060 = _T_3059 & 32'h1005; // @[CSR.scala 698:55:shc.marmotcaravel.MarmotCaravelConfig.fir@218905.10]
  assign _T_3062 = reg_misa & 32'hffffeffa; // @[CSR.scala 698:73:shc.marmotcaravel.MarmotCaravelConfig.fir@218907.10]
  assign _T_3063 = _T_3060 | _T_3062; // @[CSR.scala 698:62:shc.marmotcaravel.MarmotCaravelConfig.fir@218908.10]
  assign _T_3115 = wdata & 32'h888; // @[CSR.scala 713:59:shc.marmotcaravel.MarmotCaravelConfig.fir@218976.8]
  assign _T_3117 = _T_3055 | 32'h1; // @[CSR.scala 907:31:shc.marmotcaravel.MarmotCaravelConfig.fir@218981.8]
  assign _T_3118 = ~ _T_3117; // @[CSR.scala 907:26:shc.marmotcaravel.MarmotCaravelConfig.fir@218982.8]
  assign _T_3120 = _T_3055 | 32'h2; // @[CSR.scala 717:64:shc.marmotcaravel.MarmotCaravelConfig.fir@218990.8]
  assign _T_3121 = wdata[0]; // @[CSR.scala 717:81:shc.marmotcaravel.MarmotCaravelConfig.fir@218991.8]
  assign _T_3122 = _T_3121 ? 7'h7c : 7'h0; // @[CSR.scala 717:75:shc.marmotcaravel.MarmotCaravelConfig.fir@218992.8]
  assign _GEN_478 = {{25'd0}, _T_3122}; // @[CSR.scala 717:70:shc.marmotcaravel.MarmotCaravelConfig.fir@218993.8]
  assign _T_3123 = _T_3120 | _GEN_478; // @[CSR.scala 717:70:shc.marmotcaravel.MarmotCaravelConfig.fir@218993.8]
  assign _T_3124 = ~ _T_3123; // @[CSR.scala 717:55:shc.marmotcaravel.MarmotCaravelConfig.fir@218994.8]
  assign _T_3125 = wdata & 32'h8000000f; // @[CSR.scala 718:62:shc.marmotcaravel.MarmotCaravelConfig.fir@218998.8]
  assign _T_3127 = _T_275[63:32]; // @[CSR.scala 901:47:shc.marmotcaravel.MarmotCaravelConfig.fir@219006.8]
  assign _T_3128 = {_T_3127,wdata}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219007.8]
  assign _T_3129 = _T_3128[63:6]; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@219009.8]
  assign _GEN_129 = _T_738 ? _T_3128 : {{57'd0}, _T_269}; // @[CSR.scala 901:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219005.6]
  assign _T_3131 = _T_275[31:0]; // @[CSR.scala 902:74:shc.marmotcaravel.MarmotCaravelConfig.fir@219014.8]
  assign _T_3132 = {wdata,_T_3131}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219015.8]
  assign _T_3133 = _T_3132[63:6]; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@219017.8]
  assign _GEN_131 = _T_827 ? _T_3132 : _GEN_129; // @[CSR.scala 902:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219012.6]
  assign _T_3134 = _T_265[63:32]; // @[CSR.scala 901:47:shc.marmotcaravel.MarmotCaravelConfig.fir@219021.8]
  assign _T_3135 = {_T_3134,wdata}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219022.8]
  assign _T_3136 = _T_3135[63:6]; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@219024.8]
  assign _GEN_133 = _T_739 ? _T_3135 : {{57'd0}, _T_259}; // @[CSR.scala 901:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219020.6]
  assign _T_3138 = _T_265[31:0]; // @[CSR.scala 902:74:shc.marmotcaravel.MarmotCaravelConfig.fir@219029.8]
  assign _T_3139 = {wdata,_T_3138}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219030.8]
  assign _T_3140 = _T_3139[63:6]; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@219032.8]
  assign _GEN_135 = _T_828 ? _T_3139 : _GEN_133; // @[CSR.scala 902:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219027.6]
  assign _T_3152 = wdata[11]; // @[CSR.scala 737:43:shc.marmotcaravel.MarmotCaravelConfig.fir@219053.8]
  assign _T_3153 = wdata[12]; // @[CSR.scala 737:43:shc.marmotcaravel.MarmotCaravelConfig.fir@219055.8]
  assign _T_3156 = wdata[15]; // @[CSR.scala 737:43:shc.marmotcaravel.MarmotCaravelConfig.fir@219061.8]
  assign _GEN_141 = _T_722 ? wdata : {{31'd0}, reg_tselect}; // @[CSR.scala 786:41:shc.marmotcaravel.MarmotCaravelConfig.fir@219081.6]
  assign _T_3164 = _GEN_19 == 1'h0; // @[CSR.scala 789:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219084.6]
  assign _T_3165 = _T_3164 | reg_debug; // @[CSR.scala 789:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219085.6]
  assign _T_3172 = wdata[1]; // @[CSR.scala 791:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219095.10]
  assign _T_3178 = wdata[8:7]; // @[CSR.scala 791:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219107.10]
  assign _T_3184 = wdata[27]; // @[CSR.scala 791:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219119.10]
  assign _T_3186 = _T_3184 & reg_debug; // @[CSR.scala 792:36:shc.marmotcaravel.MarmotCaravelConfig.fir@219123.10]
  assign _T_3187 = _T_3186 & _T_3153; // @[CSR.scala 795:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219126.10]
  assign _T_3188 = reg_pmp_0_cfg_l == 1'h0; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219133.6]
  assign _T_3189 = _T_829 & _T_3188; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219134.6]
  assign _T_3195 = wdata[7:0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219139.8 :shc.marmotcaravel.MarmotCaravelConfig.fir@219141.8]
  assign _T_3196 = _T_3195[0]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219142.8]
  assign _T_3197 = _T_3195[1]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219144.8]
  assign _T_3198 = _T_3195[2]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219146.8]
  assign _T_3199 = _T_3195[4:3]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219148.8]
  assign _T_3201 = _T_3195[7]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219152.8]
  assign _T_3202 = reg_pmp_1_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219156.6]
  assign _T_3203 = _T_3202 == 1'h0; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219157.6]
  assign _T_3205 = _T_3203 & _T_473; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219159.6]
  assign _T_3206 = reg_pmp_1_cfg_l & _T_3205; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219160.6]
  assign _T_3207 = reg_pmp_0_cfg_l | _T_3206; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219161.6]
  assign _T_3208 = _T_3207 == 1'h0; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219162.6]
  assign _T_3209 = _T_833 & _T_3208; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219163.6]
  assign _GEN_248 = _T_3209 ? wdata : {{2'd0}, reg_pmp_0_addr}; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219164.6]
  assign _T_3210 = reg_pmp_1_cfg_l == 1'h0; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219167.6]
  assign _T_3211 = _T_829 & _T_3210; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219168.6]
  assign _T_3213 = wdata[31:8]; // @[CSR.scala 803:53:shc.marmotcaravel.MarmotCaravelConfig.fir@219170.8]
  assign _T_3217 = _T_3213[7:0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219173.8 :shc.marmotcaravel.MarmotCaravelConfig.fir@219175.8]
  assign _T_3218 = _T_3217[0]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219176.8]
  assign _T_3219 = _T_3217[1]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219178.8]
  assign _T_3220 = _T_3217[2]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219180.8]
  assign _T_3221 = _T_3217[4:3]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219182.8]
  assign _T_3223 = _T_3217[7]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219186.8]
  assign _T_3224 = reg_pmp_2_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219190.6]
  assign _T_3225 = _T_3224 == 1'h0; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219191.6]
  assign _T_3227 = _T_3225 & _T_483; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219193.6]
  assign _T_3228 = reg_pmp_2_cfg_l & _T_3227; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219194.6]
  assign _T_3229 = reg_pmp_1_cfg_l | _T_3228; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219195.6]
  assign _T_3230 = _T_3229 == 1'h0; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219196.6]
  assign _T_3231 = _T_834 & _T_3230; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219197.6]
  assign _GEN_255 = _T_3231 ? wdata : {{2'd0}, reg_pmp_1_addr}; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219198.6]
  assign _T_3232 = reg_pmp_2_cfg_l == 1'h0; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219201.6]
  assign _T_3233 = _T_829 & _T_3232; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219202.6]
  assign _T_3235 = wdata[31:16]; // @[CSR.scala 803:53:shc.marmotcaravel.MarmotCaravelConfig.fir@219204.8]
  assign _T_3239 = _T_3235[7:0]; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219207.8 :shc.marmotcaravel.MarmotCaravelConfig.fir@219209.8]
  assign _T_3240 = _T_3239[0]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219210.8]
  assign _T_3241 = _T_3239[1]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219212.8]
  assign _T_3242 = _T_3239[2]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219214.8]
  assign _T_3243 = _T_3239[4:3]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219216.8]
  assign _T_3245 = _T_3239[7]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219220.8]
  assign _T_3246 = reg_pmp_3_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219224.6]
  assign _T_3247 = _T_3246 == 1'h0; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219225.6]
  assign _T_3249 = _T_3247 & _T_493; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219227.6]
  assign _T_3250 = reg_pmp_3_cfg_l & _T_3249; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219228.6]
  assign _T_3251 = reg_pmp_2_cfg_l | _T_3250; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219229.6]
  assign _T_3252 = _T_3251 == 1'h0; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219230.6]
  assign _T_3253 = _T_835 & _T_3252; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219231.6]
  assign _GEN_262 = _T_3253 ? wdata : {{2'd0}, reg_pmp_2_addr}; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219232.6]
  assign _T_3254 = reg_pmp_3_cfg_l == 1'h0; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219235.6]
  assign _T_3255 = _T_829 & _T_3254; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219236.6]
  assign _T_3257 = wdata[31:24]; // @[CSR.scala 803:53:shc.marmotcaravel.MarmotCaravelConfig.fir@219238.8]
  assign _T_3262 = _T_3257[0]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219244.8]
  assign _T_3263 = _T_3257[1]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219246.8]
  assign _T_3264 = _T_3257[2]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219248.8]
  assign _T_3265 = _T_3257[4:3]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219250.8]
  assign _T_3267 = _T_3257[7]; // @[CSR.scala 803:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219254.8]
  assign _T_3268 = reg_pmp_4_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219258.6]
  assign _T_3269 = _T_3268 == 1'h0; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219259.6]
  assign _T_3271 = _T_3269 & _T_503; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219261.6]
  assign _T_3272 = reg_pmp_4_cfg_l & _T_3271; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219262.6]
  assign _T_3273 = reg_pmp_3_cfg_l | _T_3272; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219263.6]
  assign _T_3274 = _T_3273 == 1'h0; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219264.6]
  assign _T_3275 = _T_836 & _T_3274; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219265.6]
  assign _GEN_269 = _T_3275 ? wdata : {{2'd0}, reg_pmp_3_addr}; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219266.6]
  assign _T_3276 = reg_pmp_4_cfg_l == 1'h0; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219269.6]
  assign _T_3277 = _T_830 & _T_3276; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219270.6]
  assign _T_3290 = reg_pmp_5_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219292.6]
  assign _T_3291 = _T_3290 == 1'h0; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219293.6]
  assign _T_3293 = _T_3291 & _T_513; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219295.6]
  assign _T_3294 = reg_pmp_5_cfg_l & _T_3293; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219296.6]
  assign _T_3295 = reg_pmp_4_cfg_l | _T_3294; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219297.6]
  assign _T_3296 = _T_3295 == 1'h0; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219298.6]
  assign _T_3297 = _T_837 & _T_3296; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219299.6]
  assign _GEN_276 = _T_3297 ? wdata : {{2'd0}, reg_pmp_4_addr}; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219300.6]
  assign _T_3298 = reg_pmp_5_cfg_l == 1'h0; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219303.6]
  assign _T_3299 = _T_830 & _T_3298; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219304.6]
  assign _T_3312 = reg_pmp_6_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219326.6]
  assign _T_3313 = _T_3312 == 1'h0; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219327.6]
  assign _T_3315 = _T_3313 & _T_523; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219329.6]
  assign _T_3316 = reg_pmp_6_cfg_l & _T_3315; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219330.6]
  assign _T_3317 = reg_pmp_5_cfg_l | _T_3316; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219331.6]
  assign _T_3318 = _T_3317 == 1'h0; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219332.6]
  assign _T_3319 = _T_838 & _T_3318; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219333.6]
  assign _GEN_283 = _T_3319 ? wdata : {{2'd0}, reg_pmp_5_addr}; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219334.6]
  assign _T_3320 = reg_pmp_6_cfg_l == 1'h0; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219337.6]
  assign _T_3321 = _T_830 & _T_3320; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219338.6]
  assign _T_3334 = reg_pmp_7_cfg_a[1]; // @[PMP.scala 39:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219360.6]
  assign _T_3335 = _T_3334 == 1'h0; // @[PMP.scala 41:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219361.6]
  assign _T_3337 = _T_3335 & _T_533; // @[PMP.scala 41:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219363.6]
  assign _T_3338 = reg_pmp_7_cfg_l & _T_3337; // @[PMP.scala 43:62:shc.marmotcaravel.MarmotCaravelConfig.fir@219364.6]
  assign _T_3339 = reg_pmp_6_cfg_l | _T_3338; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219365.6]
  assign _T_3340 = _T_3339 == 1'h0; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219366.6]
  assign _T_3341 = _T_839 & _T_3340; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219367.6]
  assign _GEN_290 = _T_3341 ? wdata : {{2'd0}, reg_pmp_6_addr}; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219368.6]
  assign _T_3342 = reg_pmp_7_cfg_l == 1'h0; // @[CSR.scala 802:60:shc.marmotcaravel.MarmotCaravelConfig.fir@219371.6]
  assign _T_3343 = _T_830 & _T_3342; // @[CSR.scala 802:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219372.6]
  assign _T_3361 = reg_pmp_7_cfg_l | _T_3338; // @[PMP.scala 43:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219399.6]
  assign _T_3362 = _T_3361 == 1'h0; // @[CSR.scala 809:48:shc.marmotcaravel.MarmotCaravelConfig.fir@219400.6]
  assign _T_3363 = _T_840 & _T_3362; // @[CSR.scala 809:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219401.6]
  assign _GEN_297 = _T_3363 ? wdata : {{2'd0}, reg_pmp_7_addr}; // @[CSR.scala 809:71:shc.marmotcaravel.MarmotCaravelConfig.fir@219402.6]
  assign _GEN_315 = csr_wen ? _GEN_131 : {{57'd0}, _T_269}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
  assign _GEN_317 = csr_wen ? _GEN_135 : {{57'd0}, _T_259}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
  assign _GEN_323 = csr_wen ? _GEN_141 : {{31'd0}, reg_tselect}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
  assign _GEN_362 = csr_wen ? _GEN_248 : {{2'd0}, reg_pmp_0_addr}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
  assign _GEN_369 = csr_wen ? _GEN_255 : {{2'd0}, reg_pmp_1_addr}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
  assign _GEN_376 = csr_wen ? _GEN_262 : {{2'd0}, reg_pmp_2_addr}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
  assign _GEN_383 = csr_wen ? _GEN_269 : {{2'd0}, reg_pmp_3_addr}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
  assign _GEN_390 = csr_wen ? _GEN_276 : {{2'd0}, reg_pmp_4_addr}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
  assign _GEN_397 = csr_wen ? _GEN_283 : {{2'd0}, reg_pmp_5_addr}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
  assign _GEN_404 = csr_wen ? _GEN_290 : {{2'd0}, reg_pmp_6_addr}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
  assign _GEN_411 = csr_wen ? _GEN_297 : {{2'd0}, reg_pmp_7_addr}; // @[CSR.scala 668:18:shc.marmotcaravel.MarmotCaravelConfig.fir@218824.4]
  assign _T_3392 = io_retire > 1'h0; // @[CSR.scala 865:26:shc.marmotcaravel.MarmotCaravelConfig.fir@219527.4]
  assign io_rw_rdata = _T_1815[31:0]; // @[CSR.scala 645:15:shc.marmotcaravel.MarmotCaravelConfig.fir@217617.4]
  assign io_decode_0_fp_illegal = _T_918 | _T_920; // @[CSR.scala 499:23:shc.marmotcaravel.MarmotCaravelConfig.fir@216597.4]
  assign io_decode_0_fp_csr = 1'h0; // @[CSR.scala 500:19:shc.marmotcaravel.MarmotCaravelConfig.fir@216603.4]
  assign io_decode_0_read_illegal = _T_1218 | _T_1219; // @[CSR.scala 502:25:shc.marmotcaravel.MarmotCaravelConfig.fir@216899.4]
  assign io_decode_0_write_illegal = _T_1222 == 2'h0; // @[CSR.scala 508:26:shc.marmotcaravel.MarmotCaravelConfig.fir@216903.4]
  assign io_decode_0_write_flush = _T_1230 == 1'h0; // @[CSR.scala 509:24:shc.marmotcaravel.MarmotCaravelConfig.fir@216912.4]
  assign io_csr_stall = reg_wfi; // @[CSR.scala 637:16:shc.marmotcaravel.MarmotCaravelConfig.fir@217341.4]
  assign io_eret = _T_1283 | insn_ret; // @[CSR.scala 541:11:shc.marmotcaravel.MarmotCaravelConfig.fir@216979.4]
  assign io_singleStep = reg_dcsr_step & _T_459; // @[CSR.scala 542:17:shc.marmotcaravel.MarmotCaravelConfig.fir@216982.4]
  assign io_status_debug = reg_debug; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4 CSR.scala 545:19:shc.marmotcaravel.MarmotCaravelConfig.fir@216990.4]
  assign io_status_isa = reg_misa; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4 CSR.scala 546:17:shc.marmotcaravel.MarmotCaravelConfig.fir@216991.4]
  assign io_status_dprv = 2'h3; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4 CSR.scala 549:18:shc.marmotcaravel.MarmotCaravelConfig.fir@216999.4]
  assign io_status_prv = 2'h3; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
  assign io_status_sd = _T_1288 | _T_1290; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4 CSR.scala 544:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216989.4]
  assign io_status_zero2 = 27'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
  assign io_status_sxl = 2'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4 CSR.scala 548:17:shc.marmotcaravel.MarmotCaravelConfig.fir@216993.4]
  assign io_status_uxl = 2'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4 CSR.scala 547:17:shc.marmotcaravel.MarmotCaravelConfig.fir@216992.4]
  assign io_status_sd_rv32 = io_status_sd; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4 CSR.scala 551:23:shc.marmotcaravel.MarmotCaravelConfig.fir@217000.4]
  assign io_status_zero1 = 8'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
  assign io_status_tsr = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
  assign io_status_tw = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
  assign io_status_tvm = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
  assign io_status_mxr = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
  assign io_status_sum = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
  assign io_status_mprv = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
  assign io_status_xs = 2'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
  assign io_status_fs = 2'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
  assign io_status_mpp = reg_mstatus_mpp; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
  assign io_status_hpp = 2'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
  assign io_status_spp = reg_mstatus_spp; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
  assign io_status_mpie = reg_mstatus_mpie; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
  assign io_status_hpie = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
  assign io_status_spie = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
  assign io_status_upie = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
  assign io_status_mie = reg_mstatus_mie; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
  assign io_status_hie = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
  assign io_status_sie = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
  assign io_status_uie = 1'h0; // @[CSR.scala 543:13:shc.marmotcaravel.MarmotCaravelConfig.fir@216983.4]
  assign io_evec = insn_ret ? _GEN_95 : tvec; // @[CSR.scala 539:11:shc.marmotcaravel.MarmotCaravelConfig.fir@216975.4 CSR.scala 622:15:shc.marmotcaravel.MarmotCaravelConfig.fir@217312.8 CSR.scala 626:15:shc.marmotcaravel.MarmotCaravelConfig.fir@217325.10 CSR.scala 632:15:shc.marmotcaravel.MarmotCaravelConfig.fir@217337.10]
  assign io_time = _T_275[31:0]; // @[CSR.scala 636:11:shc.marmotcaravel.MarmotCaravelConfig.fir@217340.4]
  assign io_interrupt = _T_458 & _T_459; // @[CSR.scala 343:16:shc.marmotcaravel.MarmotCaravelConfig.fir@216095.4]
  assign io_interrupt_cause = 32'h80000000 + _GEN_450; // @[CSR.scala 344:22:shc.marmotcaravel.MarmotCaravelConfig.fir@216096.4]
  assign io_bp_0_control_action = reg_bp_0_control_action; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216097.4]
  assign io_bp_0_control_chain = reg_bp_0_control_chain; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216097.4]
  assign io_bp_0_control_tmatch = reg_bp_0_control_tmatch; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216097.4]
  assign io_bp_0_control_x = reg_bp_0_control_x; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216097.4]
  assign io_bp_0_control_w = reg_bp_0_control_w; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216097.4]
  assign io_bp_0_control_r = reg_bp_0_control_r; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216097.4]
  assign io_bp_0_address = reg_bp_0_address; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216097.4]
  assign io_bp_1_control_action = reg_bp_1_control_action; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216098.4]
  assign io_bp_1_control_tmatch = reg_bp_1_control_tmatch; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216098.4]
  assign io_bp_1_control_x = reg_bp_1_control_x; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216098.4]
  assign io_bp_1_control_w = reg_bp_1_control_w; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216098.4]
  assign io_bp_1_control_r = reg_bp_1_control_r; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216098.4]
  assign io_bp_1_address = reg_bp_1_address; // @[CSR.scala 345:9:shc.marmotcaravel.MarmotCaravelConfig.fir@216098.4]
  assign io_pmp_0_cfg_l = reg_pmp_0_cfg_l; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216195.4]
  assign io_pmp_0_cfg_a = reg_pmp_0_cfg_a; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216195.4]
  assign io_pmp_0_cfg_x = reg_pmp_0_cfg_x; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216195.4]
  assign io_pmp_0_cfg_w = reg_pmp_0_cfg_w; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216195.4]
  assign io_pmp_0_cfg_r = reg_pmp_0_cfg_r; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216195.4]
  assign io_pmp_0_addr = reg_pmp_0_addr; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216195.4]
  assign io_pmp_0_mask = _T_470[31:0]; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216195.4]
  assign io_pmp_1_cfg_l = reg_pmp_1_cfg_l; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216196.4]
  assign io_pmp_1_cfg_a = reg_pmp_1_cfg_a; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216196.4]
  assign io_pmp_1_cfg_x = reg_pmp_1_cfg_x; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216196.4]
  assign io_pmp_1_cfg_w = reg_pmp_1_cfg_w; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216196.4]
  assign io_pmp_1_cfg_r = reg_pmp_1_cfg_r; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216196.4]
  assign io_pmp_1_addr = reg_pmp_1_addr; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216196.4]
  assign io_pmp_1_mask = _T_480[31:0]; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216196.4]
  assign io_pmp_2_cfg_l = reg_pmp_2_cfg_l; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216197.4]
  assign io_pmp_2_cfg_a = reg_pmp_2_cfg_a; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216197.4]
  assign io_pmp_2_cfg_x = reg_pmp_2_cfg_x; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216197.4]
  assign io_pmp_2_cfg_w = reg_pmp_2_cfg_w; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216197.4]
  assign io_pmp_2_cfg_r = reg_pmp_2_cfg_r; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216197.4]
  assign io_pmp_2_addr = reg_pmp_2_addr; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216197.4]
  assign io_pmp_2_mask = _T_490[31:0]; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216197.4]
  assign io_pmp_3_cfg_l = reg_pmp_3_cfg_l; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216198.4]
  assign io_pmp_3_cfg_a = reg_pmp_3_cfg_a; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216198.4]
  assign io_pmp_3_cfg_x = reg_pmp_3_cfg_x; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216198.4]
  assign io_pmp_3_cfg_w = reg_pmp_3_cfg_w; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216198.4]
  assign io_pmp_3_cfg_r = reg_pmp_3_cfg_r; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216198.4]
  assign io_pmp_3_addr = reg_pmp_3_addr; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216198.4]
  assign io_pmp_3_mask = _T_500[31:0]; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216198.4]
  assign io_pmp_4_cfg_l = reg_pmp_4_cfg_l; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216199.4]
  assign io_pmp_4_cfg_a = reg_pmp_4_cfg_a; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216199.4]
  assign io_pmp_4_cfg_x = reg_pmp_4_cfg_x; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216199.4]
  assign io_pmp_4_cfg_w = reg_pmp_4_cfg_w; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216199.4]
  assign io_pmp_4_cfg_r = reg_pmp_4_cfg_r; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216199.4]
  assign io_pmp_4_addr = reg_pmp_4_addr; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216199.4]
  assign io_pmp_4_mask = _T_510[31:0]; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216199.4]
  assign io_pmp_5_cfg_l = reg_pmp_5_cfg_l; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216200.4]
  assign io_pmp_5_cfg_a = reg_pmp_5_cfg_a; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216200.4]
  assign io_pmp_5_cfg_x = reg_pmp_5_cfg_x; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216200.4]
  assign io_pmp_5_cfg_w = reg_pmp_5_cfg_w; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216200.4]
  assign io_pmp_5_cfg_r = reg_pmp_5_cfg_r; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216200.4]
  assign io_pmp_5_addr = reg_pmp_5_addr; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216200.4]
  assign io_pmp_5_mask = _T_520[31:0]; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216200.4]
  assign io_pmp_6_cfg_l = reg_pmp_6_cfg_l; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216201.4]
  assign io_pmp_6_cfg_a = reg_pmp_6_cfg_a; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216201.4]
  assign io_pmp_6_cfg_x = reg_pmp_6_cfg_x; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216201.4]
  assign io_pmp_6_cfg_w = reg_pmp_6_cfg_w; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216201.4]
  assign io_pmp_6_cfg_r = reg_pmp_6_cfg_r; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216201.4]
  assign io_pmp_6_addr = reg_pmp_6_addr; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216201.4]
  assign io_pmp_6_mask = _T_530[31:0]; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216201.4]
  assign io_pmp_7_cfg_l = reg_pmp_7_cfg_l; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216202.4]
  assign io_pmp_7_cfg_a = reg_pmp_7_cfg_a; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216202.4]
  assign io_pmp_7_cfg_x = reg_pmp_7_cfg_x; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216202.4]
  assign io_pmp_7_cfg_w = reg_pmp_7_cfg_w; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216202.4]
  assign io_pmp_7_cfg_r = reg_pmp_7_cfg_r; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216202.4]
  assign io_pmp_7_addr = reg_pmp_7_addr; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216202.4]
  assign io_pmp_7_mask = _T_540[31:0]; // @[CSR.scala 346:10:shc.marmotcaravel.MarmotCaravelConfig.fir@216202.4]
  assign io_trace_0_valid = _T_3392 | io_trace_0_exception; // @[CSR.scala 865:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219529.4]
  assign io_trace_0_iaddr = io_pc; // @[CSR.scala 867:13:shc.marmotcaravel.MarmotCaravelConfig.fir@219531.4]
  assign io_trace_0_insn = io_inst_0; // @[CSR.scala 866:12:shc.marmotcaravel.MarmotCaravelConfig.fir@219530.4]
  assign io_trace_0_exception = _T_1283 | io_exception; // @[CSR.scala 864:17:shc.marmotcaravel.MarmotCaravelConfig.fir@219526.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  reg_mstatus_mpp = _RAND_0[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  reg_mstatus_spp = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  reg_mstatus_mpie = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  reg_mstatus_mie = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  reg_dcsr_ebreakm = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  reg_dcsr_cause = _RAND_5[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  reg_dcsr_step = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  reg_dcsr_prv = _RAND_7[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  reg_debug = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  reg_dpc = _RAND_9[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  reg_dscratch = _RAND_10[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  reg_singleStepped = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  reg_tselect = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  reg_bp_0_control_dmode = _RAND_13[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  reg_bp_0_control_action = _RAND_14[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  reg_bp_0_control_chain = _RAND_15[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  reg_bp_0_control_tmatch = _RAND_16[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_17 = {1{`RANDOM}};
  reg_bp_0_control_x = _RAND_17[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_18 = {1{`RANDOM}};
  reg_bp_0_control_w = _RAND_18[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_19 = {1{`RANDOM}};
  reg_bp_0_control_r = _RAND_19[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_20 = {1{`RANDOM}};
  reg_bp_0_address = _RAND_20[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_21 = {1{`RANDOM}};
  reg_bp_1_control_dmode = _RAND_21[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_22 = {1{`RANDOM}};
  reg_bp_1_control_action = _RAND_22[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_23 = {1{`RANDOM}};
  reg_bp_1_control_tmatch = _RAND_23[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_24 = {1{`RANDOM}};
  reg_bp_1_control_x = _RAND_24[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_25 = {1{`RANDOM}};
  reg_bp_1_control_w = _RAND_25[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_26 = {1{`RANDOM}};
  reg_bp_1_control_r = _RAND_26[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_27 = {1{`RANDOM}};
  reg_bp_1_address = _RAND_27[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_28 = {1{`RANDOM}};
  reg_pmp_0_cfg_l = _RAND_28[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_29 = {1{`RANDOM}};
  reg_pmp_0_cfg_a = _RAND_29[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_30 = {1{`RANDOM}};
  reg_pmp_0_cfg_x = _RAND_30[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_31 = {1{`RANDOM}};
  reg_pmp_0_cfg_w = _RAND_31[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_32 = {1{`RANDOM}};
  reg_pmp_0_cfg_r = _RAND_32[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_33 = {1{`RANDOM}};
  reg_pmp_0_addr = _RAND_33[29:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_34 = {1{`RANDOM}};
  reg_pmp_1_cfg_l = _RAND_34[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_35 = {1{`RANDOM}};
  reg_pmp_1_cfg_a = _RAND_35[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_36 = {1{`RANDOM}};
  reg_pmp_1_cfg_x = _RAND_36[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_37 = {1{`RANDOM}};
  reg_pmp_1_cfg_w = _RAND_37[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_38 = {1{`RANDOM}};
  reg_pmp_1_cfg_r = _RAND_38[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_39 = {1{`RANDOM}};
  reg_pmp_1_addr = _RAND_39[29:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_40 = {1{`RANDOM}};
  reg_pmp_2_cfg_l = _RAND_40[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_41 = {1{`RANDOM}};
  reg_pmp_2_cfg_a = _RAND_41[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_42 = {1{`RANDOM}};
  reg_pmp_2_cfg_x = _RAND_42[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_43 = {1{`RANDOM}};
  reg_pmp_2_cfg_w = _RAND_43[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_44 = {1{`RANDOM}};
  reg_pmp_2_cfg_r = _RAND_44[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_45 = {1{`RANDOM}};
  reg_pmp_2_addr = _RAND_45[29:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_46 = {1{`RANDOM}};
  reg_pmp_3_cfg_l = _RAND_46[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_47 = {1{`RANDOM}};
  reg_pmp_3_cfg_a = _RAND_47[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_48 = {1{`RANDOM}};
  reg_pmp_3_cfg_x = _RAND_48[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_49 = {1{`RANDOM}};
  reg_pmp_3_cfg_w = _RAND_49[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_50 = {1{`RANDOM}};
  reg_pmp_3_cfg_r = _RAND_50[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_51 = {1{`RANDOM}};
  reg_pmp_3_addr = _RAND_51[29:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_52 = {1{`RANDOM}};
  reg_pmp_4_cfg_l = _RAND_52[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_53 = {1{`RANDOM}};
  reg_pmp_4_cfg_a = _RAND_53[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_54 = {1{`RANDOM}};
  reg_pmp_4_cfg_x = _RAND_54[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_55 = {1{`RANDOM}};
  reg_pmp_4_cfg_w = _RAND_55[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_56 = {1{`RANDOM}};
  reg_pmp_4_cfg_r = _RAND_56[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_57 = {1{`RANDOM}};
  reg_pmp_4_addr = _RAND_57[29:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_58 = {1{`RANDOM}};
  reg_pmp_5_cfg_l = _RAND_58[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_59 = {1{`RANDOM}};
  reg_pmp_5_cfg_a = _RAND_59[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_60 = {1{`RANDOM}};
  reg_pmp_5_cfg_x = _RAND_60[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_61 = {1{`RANDOM}};
  reg_pmp_5_cfg_w = _RAND_61[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_62 = {1{`RANDOM}};
  reg_pmp_5_cfg_r = _RAND_62[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_63 = {1{`RANDOM}};
  reg_pmp_5_addr = _RAND_63[29:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_64 = {1{`RANDOM}};
  reg_pmp_6_cfg_l = _RAND_64[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_65 = {1{`RANDOM}};
  reg_pmp_6_cfg_a = _RAND_65[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_66 = {1{`RANDOM}};
  reg_pmp_6_cfg_x = _RAND_66[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_67 = {1{`RANDOM}};
  reg_pmp_6_cfg_w = _RAND_67[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_68 = {1{`RANDOM}};
  reg_pmp_6_cfg_r = _RAND_68[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_69 = {1{`RANDOM}};
  reg_pmp_6_addr = _RAND_69[29:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_70 = {1{`RANDOM}};
  reg_pmp_7_cfg_l = _RAND_70[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_71 = {1{`RANDOM}};
  reg_pmp_7_cfg_a = _RAND_71[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_72 = {1{`RANDOM}};
  reg_pmp_7_cfg_x = _RAND_72[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_73 = {1{`RANDOM}};
  reg_pmp_7_cfg_w = _RAND_73[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_74 = {1{`RANDOM}};
  reg_pmp_7_cfg_r = _RAND_74[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_75 = {1{`RANDOM}};
  reg_pmp_7_addr = _RAND_75[29:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_76 = {1{`RANDOM}};
  reg_mie = _RAND_76[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_77 = {1{`RANDOM}};
  reg_mepc = _RAND_77[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_78 = {1{`RANDOM}};
  reg_mcause = _RAND_78[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_79 = {1{`RANDOM}};
  reg_mbadaddr = _RAND_79[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_80 = {1{`RANDOM}};
  reg_mscratch = _RAND_80[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_81 = {1{`RANDOM}};
  reg_mtvec = _RAND_81[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_82 = {1{`RANDOM}};
  reg_wfi = _RAND_82[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_83 = {1{`RANDOM}};
  _T_258 = _RAND_83[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_84 = {2{`RANDOM}};
  _T_261 = _RAND_84[57:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_85 = {1{`RANDOM}};
  _T_268 = _RAND_85[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_86 = {2{`RANDOM}};
  _T_271 = _RAND_86[57:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_87 = {1{`RANDOM}};
  reg_misa = _RAND_87[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      reg_mstatus_mpp <= 2'h3;
    end else begin
      if (insn_ret) begin
        if (_T_1542) begin
          if (exception) begin
            if (!(trapToDebug)) begin
              reg_mstatus_mpp <= 2'h3;
            end
          end
        end else begin
          reg_mstatus_mpp <= 2'h3;
        end
      end else begin
        if (exception) begin
          if (!(trapToDebug)) begin
            reg_mstatus_mpp <= 2'h3;
          end
        end
      end
    end
    if (reset) begin
      reg_mstatus_spp <= 1'h0;
    end else begin
      reg_mstatus_spp <= _GEN_85[0];
    end
    if (reset) begin
      reg_mstatus_mpie <= 1'h0;
    end else begin
      if (csr_wen) begin
        if (_T_726) begin
          reg_mstatus_mpie <= _T_3027;
        end else begin
          if (insn_ret) begin
            if (_T_1542) begin
              if (exception) begin
                if (!(trapToDebug)) begin
                  reg_mstatus_mpie <= reg_mstatus_mie;
                end
              end
            end else begin
              reg_mstatus_mpie <= 1'h1;
            end
          end else begin
            if (exception) begin
              if (!(trapToDebug)) begin
                reg_mstatus_mpie <= reg_mstatus_mie;
              end
            end
          end
        end
      end else begin
        if (insn_ret) begin
          if (_T_1542) begin
            if (exception) begin
              if (!(trapToDebug)) begin
                reg_mstatus_mpie <= reg_mstatus_mie;
              end
            end
          end else begin
            reg_mstatus_mpie <= 1'h1;
          end
        end else begin
          if (exception) begin
            if (!(trapToDebug)) begin
              reg_mstatus_mpie <= reg_mstatus_mie;
            end
          end
        end
      end
    end
    if (reset) begin
      reg_mstatus_mie <= 1'h0;
    end else begin
      if (csr_wen) begin
        if (_T_726) begin
          reg_mstatus_mie <= _T_3023;
        end else begin
          if (insn_ret) begin
            if (_T_1542) begin
              if (exception) begin
                if (!(trapToDebug)) begin
                  reg_mstatus_mie <= 1'h0;
                end
              end
            end else begin
              reg_mstatus_mie <= reg_mstatus_mpie;
            end
          end else begin
            if (exception) begin
              if (!(trapToDebug)) begin
                reg_mstatus_mie <= 1'h0;
              end
            end
          end
        end
      end else begin
        if (insn_ret) begin
          if (_T_1542) begin
            if (exception) begin
              if (!(trapToDebug)) begin
                reg_mstatus_mie <= 1'h0;
              end
            end
          end else begin
            reg_mstatus_mie <= reg_mstatus_mpie;
          end
        end else begin
          if (exception) begin
            if (!(trapToDebug)) begin
              reg_mstatus_mie <= 1'h0;
            end
          end
        end
      end
    end
    if (reset) begin
      reg_dcsr_ebreakm <= 1'h0;
    end else begin
      if (csr_wen) begin
        if (_T_735) begin
          reg_dcsr_ebreakm <= _T_3156;
        end
      end
    end
    if (reset) begin
      reg_dcsr_cause <= 3'h0;
    end else begin
      if (exception) begin
        if (trapToDebug) begin
          if (_T_459) begin
            if (reg_singleStepped) begin
              reg_dcsr_cause <= 3'h4;
            end else begin
              reg_dcsr_cause <= {{1'd0}, _T_1332};
            end
          end
        end
      end
    end
    if (reset) begin
      reg_dcsr_step <= 1'h0;
    end else begin
      if (csr_wen) begin
        if (_T_735) begin
          reg_dcsr_step <= _T_3053;
        end
      end
    end
    if (reset) begin
      reg_dcsr_prv <= 2'h3;
    end else begin
      if (exception) begin
        if (trapToDebug) begin
          if (_T_459) begin
            reg_dcsr_prv <= 2'h3;
          end
        end
      end
    end
    if (reset) begin
      reg_debug <= 1'h0;
    end else begin
      if (insn_ret) begin
        if (_T_1542) begin
          reg_debug <= 1'h0;
        end else begin
          if (exception) begin
            if (trapToDebug) begin
              if (_T_459) begin
                reg_debug <= 1'h1;
              end
            end
          end
        end
      end else begin
        if (exception) begin
          if (trapToDebug) begin
            if (_T_459) begin
              reg_debug <= 1'h1;
            end
          end
        end
      end
    end
    if (csr_wen) begin
      if (_T_736) begin
        reg_dpc <= _T_3118;
      end else begin
        if (exception) begin
          if (trapToDebug) begin
            if (_T_459) begin
              reg_dpc <= epc;
            end
          end
        end
      end
    end else begin
      if (exception) begin
        if (trapToDebug) begin
          if (_T_459) begin
            reg_dpc <= epc;
          end
        end
      end
    end
    if (csr_wen) begin
      if (_T_737) begin
        reg_dscratch <= wdata;
      end
    end
    if (_T_456) begin
      reg_singleStepped <= 1'h0;
    end else begin
      if (_T_1313) begin
        reg_singleStepped <= 1'h1;
      end
    end
    reg_tselect <= _GEN_323[0];
    if (reset) begin
      reg_bp_0_control_dmode <= 1'h0;
    end else begin
      if (csr_wen) begin
        if (_T_3165) begin
          if (_T_723) begin
            if (1'h0 == reg_tselect) begin
              reg_bp_0_control_dmode <= _T_3186;
            end else begin
              if (1'h0 == reg_tselect) begin
                reg_bp_0_control_dmode <= _T_3184;
              end
            end
          end
        end
      end
    end
    if (reset) begin
      reg_bp_0_control_action <= 1'h0;
    end else begin
      if (csr_wen) begin
        if (_T_3165) begin
          if (_T_723) begin
            if (1'h0 == reg_tselect) begin
              reg_bp_0_control_action <= _T_3187;
            end else begin
              if (1'h0 == reg_tselect) begin
                reg_bp_0_control_action <= _T_3153;
              end
            end
          end
        end
      end
    end
    if (csr_wen) begin
      if (_T_3165) begin
        if (_T_723) begin
          if (1'h0 == reg_tselect) begin
            reg_bp_0_control_chain <= _T_3152;
          end
        end
      end
    end
    if (csr_wen) begin
      if (_T_3165) begin
        if (_T_723) begin
          if (1'h0 == reg_tselect) begin
            reg_bp_0_control_tmatch <= _T_3178;
          end
        end
      end
    end
    if (reset) begin
      reg_bp_0_control_x <= 1'h0;
    end else begin
      if (csr_wen) begin
        if (_T_3165) begin
          if (_T_723) begin
            if (1'h0 == reg_tselect) begin
              reg_bp_0_control_x <= _T_3053;
            end
          end
        end
      end
    end
    if (reset) begin
      reg_bp_0_control_w <= 1'h0;
    end else begin
      if (csr_wen) begin
        if (_T_3165) begin
          if (_T_723) begin
            if (1'h0 == reg_tselect) begin
              reg_bp_0_control_w <= _T_3172;
            end
          end
        end
      end
    end
    if (reset) begin
      reg_bp_0_control_r <= 1'h0;
    end else begin
      if (csr_wen) begin
        if (_T_3165) begin
          if (_T_723) begin
            if (1'h0 == reg_tselect) begin
              reg_bp_0_control_r <= _T_3121;
            end
          end
        end
      end
    end
    if (csr_wen) begin
      if (_T_3165) begin
        if (_T_724) begin
          if (1'h0 == reg_tselect) begin
            reg_bp_0_address <= wdata;
          end
        end
      end
    end
    if (reset) begin
      reg_bp_1_control_dmode <= 1'h0;
    end else begin
      if (csr_wen) begin
        if (_T_3165) begin
          if (_T_723) begin
            if (reg_tselect) begin
              reg_bp_1_control_dmode <= _T_3186;
            end else begin
              if (reg_tselect) begin
                reg_bp_1_control_dmode <= _T_3184;
              end
            end
          end
        end
      end
    end
    if (reset) begin
      reg_bp_1_control_action <= 1'h0;
    end else begin
      if (csr_wen) begin
        if (_T_3165) begin
          if (_T_723) begin
            if (reg_tselect) begin
              reg_bp_1_control_action <= _T_3187;
            end else begin
              if (reg_tselect) begin
                reg_bp_1_control_action <= _T_3153;
              end
            end
          end
        end
      end
    end
    if (csr_wen) begin
      if (_T_3165) begin
        if (_T_723) begin
          if (reg_tselect) begin
            reg_bp_1_control_tmatch <= _T_3178;
          end
        end
      end
    end
    if (reset) begin
      reg_bp_1_control_x <= 1'h0;
    end else begin
      if (csr_wen) begin
        if (_T_3165) begin
          if (_T_723) begin
            if (reg_tselect) begin
              reg_bp_1_control_x <= _T_3053;
            end
          end
        end
      end
    end
    if (reset) begin
      reg_bp_1_control_w <= 1'h0;
    end else begin
      if (csr_wen) begin
        if (_T_3165) begin
          if (_T_723) begin
            if (reg_tselect) begin
              reg_bp_1_control_w <= _T_3172;
            end
          end
        end
      end
    end
    if (reset) begin
      reg_bp_1_control_r <= 1'h0;
    end else begin
      if (csr_wen) begin
        if (_T_3165) begin
          if (_T_723) begin
            if (reg_tselect) begin
              reg_bp_1_control_r <= _T_3121;
            end
          end
        end
      end
    end
    if (csr_wen) begin
      if (_T_3165) begin
        if (_T_724) begin
          if (reg_tselect) begin
            reg_bp_1_address <= wdata;
          end
        end
      end
    end
    if (reset) begin
      reg_pmp_0_cfg_l <= 1'h0;
    end else begin
      if (csr_wen) begin
        if (_T_3189) begin
          reg_pmp_0_cfg_l <= _T_3201;
        end
      end
    end
    if (reset) begin
      reg_pmp_0_cfg_a <= 2'h0;
    end else begin
      if (csr_wen) begin
        if (_T_3189) begin
          reg_pmp_0_cfg_a <= _T_3199;
        end
      end
    end
    if (csr_wen) begin
      if (_T_3189) begin
        reg_pmp_0_cfg_x <= _T_3198;
      end
    end
    if (csr_wen) begin
      if (_T_3189) begin
        reg_pmp_0_cfg_w <= _T_3197;
      end
    end
    if (csr_wen) begin
      if (_T_3189) begin
        reg_pmp_0_cfg_r <= _T_3196;
      end
    end
    reg_pmp_0_addr <= _GEN_362[29:0];
    if (reset) begin
      reg_pmp_1_cfg_l <= 1'h0;
    end else begin
      if (csr_wen) begin
        if (_T_3211) begin
          reg_pmp_1_cfg_l <= _T_3223;
        end
      end
    end
    if (reset) begin
      reg_pmp_1_cfg_a <= 2'h0;
    end else begin
      if (csr_wen) begin
        if (_T_3211) begin
          reg_pmp_1_cfg_a <= _T_3221;
        end
      end
    end
    if (csr_wen) begin
      if (_T_3211) begin
        reg_pmp_1_cfg_x <= _T_3220;
      end
    end
    if (csr_wen) begin
      if (_T_3211) begin
        reg_pmp_1_cfg_w <= _T_3219;
      end
    end
    if (csr_wen) begin
      if (_T_3211) begin
        reg_pmp_1_cfg_r <= _T_3218;
      end
    end
    reg_pmp_1_addr <= _GEN_369[29:0];
    if (reset) begin
      reg_pmp_2_cfg_l <= 1'h0;
    end else begin
      if (csr_wen) begin
        if (_T_3233) begin
          reg_pmp_2_cfg_l <= _T_3245;
        end
      end
    end
    if (reset) begin
      reg_pmp_2_cfg_a <= 2'h0;
    end else begin
      if (csr_wen) begin
        if (_T_3233) begin
          reg_pmp_2_cfg_a <= _T_3243;
        end
      end
    end
    if (csr_wen) begin
      if (_T_3233) begin
        reg_pmp_2_cfg_x <= _T_3242;
      end
    end
    if (csr_wen) begin
      if (_T_3233) begin
        reg_pmp_2_cfg_w <= _T_3241;
      end
    end
    if (csr_wen) begin
      if (_T_3233) begin
        reg_pmp_2_cfg_r <= _T_3240;
      end
    end
    reg_pmp_2_addr <= _GEN_376[29:0];
    if (reset) begin
      reg_pmp_3_cfg_l <= 1'h0;
    end else begin
      if (csr_wen) begin
        if (_T_3255) begin
          reg_pmp_3_cfg_l <= _T_3267;
        end
      end
    end
    if (reset) begin
      reg_pmp_3_cfg_a <= 2'h0;
    end else begin
      if (csr_wen) begin
        if (_T_3255) begin
          reg_pmp_3_cfg_a <= _T_3265;
        end
      end
    end
    if (csr_wen) begin
      if (_T_3255) begin
        reg_pmp_3_cfg_x <= _T_3264;
      end
    end
    if (csr_wen) begin
      if (_T_3255) begin
        reg_pmp_3_cfg_w <= _T_3263;
      end
    end
    if (csr_wen) begin
      if (_T_3255) begin
        reg_pmp_3_cfg_r <= _T_3262;
      end
    end
    reg_pmp_3_addr <= _GEN_383[29:0];
    if (reset) begin
      reg_pmp_4_cfg_l <= 1'h0;
    end else begin
      if (csr_wen) begin
        if (_T_3277) begin
          reg_pmp_4_cfg_l <= _T_3201;
        end
      end
    end
    if (reset) begin
      reg_pmp_4_cfg_a <= 2'h0;
    end else begin
      if (csr_wen) begin
        if (_T_3277) begin
          reg_pmp_4_cfg_a <= _T_3199;
        end
      end
    end
    if (csr_wen) begin
      if (_T_3277) begin
        reg_pmp_4_cfg_x <= _T_3198;
      end
    end
    if (csr_wen) begin
      if (_T_3277) begin
        reg_pmp_4_cfg_w <= _T_3197;
      end
    end
    if (csr_wen) begin
      if (_T_3277) begin
        reg_pmp_4_cfg_r <= _T_3196;
      end
    end
    reg_pmp_4_addr <= _GEN_390[29:0];
    if (reset) begin
      reg_pmp_5_cfg_l <= 1'h0;
    end else begin
      if (csr_wen) begin
        if (_T_3299) begin
          reg_pmp_5_cfg_l <= _T_3223;
        end
      end
    end
    if (reset) begin
      reg_pmp_5_cfg_a <= 2'h0;
    end else begin
      if (csr_wen) begin
        if (_T_3299) begin
          reg_pmp_5_cfg_a <= _T_3221;
        end
      end
    end
    if (csr_wen) begin
      if (_T_3299) begin
        reg_pmp_5_cfg_x <= _T_3220;
      end
    end
    if (csr_wen) begin
      if (_T_3299) begin
        reg_pmp_5_cfg_w <= _T_3219;
      end
    end
    if (csr_wen) begin
      if (_T_3299) begin
        reg_pmp_5_cfg_r <= _T_3218;
      end
    end
    reg_pmp_5_addr <= _GEN_397[29:0];
    if (reset) begin
      reg_pmp_6_cfg_l <= 1'h0;
    end else begin
      if (csr_wen) begin
        if (_T_3321) begin
          reg_pmp_6_cfg_l <= _T_3245;
        end
      end
    end
    if (reset) begin
      reg_pmp_6_cfg_a <= 2'h0;
    end else begin
      if (csr_wen) begin
        if (_T_3321) begin
          reg_pmp_6_cfg_a <= _T_3243;
        end
      end
    end
    if (csr_wen) begin
      if (_T_3321) begin
        reg_pmp_6_cfg_x <= _T_3242;
      end
    end
    if (csr_wen) begin
      if (_T_3321) begin
        reg_pmp_6_cfg_w <= _T_3241;
      end
    end
    if (csr_wen) begin
      if (_T_3321) begin
        reg_pmp_6_cfg_r <= _T_3240;
      end
    end
    reg_pmp_6_addr <= _GEN_404[29:0];
    if (reset) begin
      reg_pmp_7_cfg_l <= 1'h0;
    end else begin
      if (csr_wen) begin
        if (_T_3343) begin
          reg_pmp_7_cfg_l <= _T_3267;
        end
      end
    end
    if (reset) begin
      reg_pmp_7_cfg_a <= 2'h0;
    end else begin
      if (csr_wen) begin
        if (_T_3343) begin
          reg_pmp_7_cfg_a <= _T_3265;
        end
      end
    end
    if (csr_wen) begin
      if (_T_3343) begin
        reg_pmp_7_cfg_x <= _T_3264;
      end
    end
    if (csr_wen) begin
      if (_T_3343) begin
        reg_pmp_7_cfg_w <= _T_3263;
      end
    end
    if (csr_wen) begin
      if (_T_3343) begin
        reg_pmp_7_cfg_r <= _T_3262;
      end
    end
    reg_pmp_7_addr <= _GEN_411[29:0];
    if (csr_wen) begin
      if (_T_729) begin
        reg_mie <= _T_3115;
      end
    end
    if (csr_wen) begin
      if (_T_731) begin
        reg_mepc <= _T_3118;
      end else begin
        if (exception) begin
          if (!(trapToDebug)) begin
            reg_mepc <= epc;
          end
        end
      end
    end else begin
      if (exception) begin
        if (!(trapToDebug)) begin
          reg_mepc <= epc;
        end
      end
    end
    if (csr_wen) begin
      if (_T_733) begin
        reg_mcause <= _T_3125;
      end else begin
        if (exception) begin
          if (!(trapToDebug)) begin
            if (insn_call) begin
              reg_mcause <= 32'hb;
            end else begin
              if (insn_break) begin
                reg_mcause <= 32'h3;
              end else begin
                reg_mcause <= io_cause;
              end
            end
          end
        end
      end
    end else begin
      if (exception) begin
        if (!(trapToDebug)) begin
          if (insn_call) begin
            reg_mcause <= 32'hb;
          end else begin
            if (insn_break) begin
              reg_mcause <= 32'h3;
            end else begin
              reg_mcause <= io_cause;
            end
          end
        end
      end
    end
    if (csr_wen) begin
      if (_T_732) begin
        reg_mbadaddr <= wdata;
      end else begin
        if (exception) begin
          if (!(trapToDebug)) begin
            reg_mbadaddr <= io_tval;
          end
        end
      end
    end else begin
      if (exception) begin
        if (!(trapToDebug)) begin
          reg_mbadaddr <= io_tval;
        end
      end
    end
    if (csr_wen) begin
      if (_T_730) begin
        reg_mscratch <= wdata;
      end
    end
    if (reset) begin
      reg_mtvec <= 32'h0;
    end else begin
      if (csr_wen) begin
        if (_T_727) begin
          reg_mtvec <= _T_3124;
        end
      end
    end
    if (reset) begin
      _T_258 <= 6'h0;
    end else begin
      _T_258 <= _GEN_317[5:0];
    end
    if (reset) begin
      _T_261 <= 58'h0;
    end else begin
      if (csr_wen) begin
        if (_T_828) begin
          _T_261 <= _T_3140;
        end else begin
          if (_T_739) begin
            _T_261 <= _T_3136;
          end else begin
            if (_T_262) begin
              _T_261 <= _T_264;
            end
          end
        end
      end else begin
        if (_T_262) begin
          _T_261 <= _T_264;
        end
      end
    end
    if (reset) begin
      reg_misa <= 32'h40001105;
    end else begin
      if (csr_wen) begin
        if (_T_725) begin
          if (_T_3054) begin
            reg_misa <= _T_3063;
          end
        end
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1304) begin
          $fwrite(32'h80000002,"Assertion failed: these conditions must be mutually exclusive\n    at CSR.scala:554 assert(PopCount(insn_ret :: insn_call :: insn_break :: io.exception :: Nil) <= 1, \"these conditions must be mutually exclusive\")\n"); // @[CSR.scala 554:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217011.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1304) begin
          $fatal; // @[CSR.scala 554:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217012.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed\n    at CSR.scala:561 assert(!io.singleStep || io.retire <= UInt(1))\n"); // @[CSR.scala 561:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217043.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[CSR.scala 561:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217044.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1326) begin
          $fwrite(32'h80000002,"Assertion failed\n    at CSR.scala:562 assert(!reg_singleStepped || io.retire === UInt(0))\n"); // @[CSR.scala 562:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217053.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_1326) begin
          $fatal; // @[CSR.scala 562:9:shc.marmotcaravel.MarmotCaravelConfig.fir@217054.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
  always @(posedge io_ungated_clock) begin
    if (reset) begin
      reg_wfi <= 1'h0;
    end else begin
      if (_T_1311) begin
        reg_wfi <= 1'h0;
      end else begin
        if (_T_1308) begin
          reg_wfi <= 1'h1;
        end
      end
    end
    if (reset) begin
      _T_268 <= 6'h0;
    end else begin
      _T_268 <= _GEN_315[5:0];
    end
    if (reset) begin
      _T_271 <= 58'h0;
    end else begin
      if (csr_wen) begin
        if (_T_827) begin
          _T_271 <= _T_3133;
        end else begin
          if (_T_738) begin
            _T_271 <= _T_3129;
          end else begin
            if (_T_272) begin
              _T_271 <= _T_274;
            end
          end
        end
      end else begin
        if (_T_272) begin
          _T_271 <= _T_274;
        end
      end
    end
  end
endmodule
module BreakpointUnit( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219539.2]
  input         io_status_debug, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
  input         io_bp_0_control_action, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
  input         io_bp_0_control_chain, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
  input  [1:0]  io_bp_0_control_tmatch, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
  input         io_bp_0_control_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
  input         io_bp_0_control_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
  input         io_bp_0_control_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
  input  [31:0] io_bp_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
  input         io_bp_1_control_action, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
  input  [1:0]  io_bp_1_control_tmatch, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
  input         io_bp_1_control_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
  input         io_bp_1_control_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
  input         io_bp_1_control_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
  input  [31:0] io_bp_1_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
  input  [31:0] io_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
  input  [31:0] io_ea, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
  output        io_xcpt_if, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
  output        io_xcpt_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
  output        io_xcpt_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
  output        io_debug_if, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
  output        io_debug_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
  output        io_debug_st // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219542.4]
);
  wire  _T_20; // @[Breakpoint.scala 30:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219553.4]
  wire [3:0] _T_24; // @[Breakpoint.scala 30:68:shc.marmotcaravel.MarmotCaravelConfig.fir@219557.4]
  wire  _T_25; // @[Breakpoint.scala 30:68:shc.marmotcaravel.MarmotCaravelConfig.fir@219558.4]
  wire  _T_26; // @[Breakpoint.scala 30:50:shc.marmotcaravel.MarmotCaravelConfig.fir@219559.4]
  wire  _T_28; // @[Breakpoint.scala 73:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219561.4]
  wire  _T_29; // @[Breakpoint.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@219562.4]
  wire  _T_30; // @[Breakpoint.scala 44:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219563.4]
  wire  _T_31; // @[Breakpoint.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@219564.4]
  wire  _T_32; // @[Breakpoint.scala 44:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219565.4]
  wire [31:0] _T_33; // @[Breakpoint.scala 41:6:shc.marmotcaravel.MarmotCaravelConfig.fir@219566.4]
  wire  _T_35; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@219568.4]
  wire  _T_36; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219569.4]
  wire  _T_37; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@219570.4]
  wire  _T_38; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219571.4]
  wire  _T_39; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@219572.4]
  wire  _T_40; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219573.4]
  wire [1:0] _T_41; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219574.4]
  wire [1:0] _T_42; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219575.4]
  wire [3:0] _T_43; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219576.4]
  wire [31:0] _GEN_12; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@219577.4]
  wire [31:0] _T_44; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@219577.4]
  wire [31:0] _T_45; // @[Breakpoint.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@219578.4]
  wire [31:0] _T_56; // @[Breakpoint.scala 41:33:shc.marmotcaravel.MarmotCaravelConfig.fir@219589.4]
  wire  _T_57; // @[Breakpoint.scala 41:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219590.4]
  wire  _T_58; // @[Breakpoint.scala 47:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219591.4]
  wire  _T_59; // @[Breakpoint.scala 73:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219592.4]
  wire  _T_61; // @[Breakpoint.scala 74:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219594.4]
  wire  _T_92; // @[Breakpoint.scala 74:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219625.4]
  wire  _T_94; // @[Breakpoint.scala 75:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219627.4]
  wire  _T_96; // @[Breakpoint.scala 44:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219629.4]
  wire  _T_98; // @[Breakpoint.scala 44:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219631.4]
  wire [31:0] _T_99; // @[Breakpoint.scala 41:6:shc.marmotcaravel.MarmotCaravelConfig.fir@219632.4]
  wire [31:0] _T_110; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@219643.4]
  wire  _T_123; // @[Breakpoint.scala 41:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219656.4]
  wire  _T_124; // @[Breakpoint.scala 47:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219657.4]
  wire  _T_125; // @[Breakpoint.scala 75:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219658.4]
  wire  _T_126; // @[Breakpoint.scala 76:15:shc.marmotcaravel.MarmotCaravelConfig.fir@219659.4]
  wire  _T_127; // @[Breakpoint.scala 78:15:shc.marmotcaravel.MarmotCaravelConfig.fir@219660.4]
  wire  _T_128; // @[Breakpoint.scala 78:37:shc.marmotcaravel.MarmotCaravelConfig.fir@219662.6]
  wire  _GEN_0; // @[Breakpoint.scala 78:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219661.4]
  wire  _GEN_1; // @[Breakpoint.scala 78:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219661.4]
  wire  _T_129; // @[Breakpoint.scala 79:15:shc.marmotcaravel.MarmotCaravelConfig.fir@219666.4]
  wire  _GEN_2; // @[Breakpoint.scala 79:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219667.4]
  wire  _GEN_3; // @[Breakpoint.scala 79:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219667.4]
  wire  _T_131; // @[Breakpoint.scala 80:15:shc.marmotcaravel.MarmotCaravelConfig.fir@219672.4]
  wire  _GEN_4; // @[Breakpoint.scala 80:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219673.4]
  wire  _GEN_5; // @[Breakpoint.scala 80:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219673.4]
  wire  _T_133; // @[Breakpoint.scala 82:10:shc.marmotcaravel.MarmotCaravelConfig.fir@219678.4]
  wire  _T_134; // @[Breakpoint.scala 82:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219679.4]
  wire  _T_135; // @[Breakpoint.scala 82:30:shc.marmotcaravel.MarmotCaravelConfig.fir@219680.4]
  wire  _T_143; // @[Breakpoint.scala 73:16:shc.marmotcaravel.MarmotCaravelConfig.fir@219688.4]
  wire  _T_144; // @[Breakpoint.scala 73:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219689.4]
  wire  _T_145; // @[Breakpoint.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@219690.4]
  wire  _T_146; // @[Breakpoint.scala 44:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219691.4]
  wire  _T_147; // @[Breakpoint.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@219692.4]
  wire  _T_148; // @[Breakpoint.scala 44:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219693.4]
  wire  _T_151; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@219696.4]
  wire  _T_152; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219697.4]
  wire  _T_153; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@219698.4]
  wire  _T_154; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219699.4]
  wire  _T_155; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@219700.4]
  wire  _T_156; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219701.4]
  wire [1:0] _T_157; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219702.4]
  wire [1:0] _T_158; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219703.4]
  wire [3:0] _T_159; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219704.4]
  wire [31:0] _GEN_18; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@219705.4]
  wire [31:0] _T_160; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@219705.4]
  wire [31:0] _T_161; // @[Breakpoint.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@219706.4]
  wire [31:0] _T_172; // @[Breakpoint.scala 41:33:shc.marmotcaravel.MarmotCaravelConfig.fir@219717.4]
  wire  _T_173; // @[Breakpoint.scala 41:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219718.4]
  wire  _T_174; // @[Breakpoint.scala 47:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219719.4]
  wire  _T_175; // @[Breakpoint.scala 73:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219720.4]
  wire  _T_176; // @[Breakpoint.scala 74:16:shc.marmotcaravel.MarmotCaravelConfig.fir@219721.4]
  wire  _T_177; // @[Breakpoint.scala 74:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219722.4]
  wire  _T_208; // @[Breakpoint.scala 74:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219753.4]
  wire  _T_209; // @[Breakpoint.scala 75:16:shc.marmotcaravel.MarmotCaravelConfig.fir@219754.4]
  wire  _T_210; // @[Breakpoint.scala 75:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219755.4]
  wire  _T_212; // @[Breakpoint.scala 44:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219757.4]
  wire  _T_214; // @[Breakpoint.scala 44:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219759.4]
  wire [31:0] _T_226; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@219771.4]
  wire  _T_239; // @[Breakpoint.scala 41:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219784.4]
  wire  _T_240; // @[Breakpoint.scala 47:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219785.4]
  wire  _T_241; // @[Breakpoint.scala 75:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219786.4]
  wire  _T_244; // @[Breakpoint.scala 78:37:shc.marmotcaravel.MarmotCaravelConfig.fir@219790.6]
  assign _T_20 = io_status_debug == 1'h0; // @[Breakpoint.scala 30:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219553.4]
  assign _T_24 = 4'h8 >> 2'h3; // @[Breakpoint.scala 30:68:shc.marmotcaravel.MarmotCaravelConfig.fir@219557.4]
  assign _T_25 = _T_24[0]; // @[Breakpoint.scala 30:68:shc.marmotcaravel.MarmotCaravelConfig.fir@219558.4]
  assign _T_26 = _T_20 & _T_25; // @[Breakpoint.scala 30:50:shc.marmotcaravel.MarmotCaravelConfig.fir@219559.4]
  assign _T_28 = _T_26 & io_bp_0_control_r; // @[Breakpoint.scala 73:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219561.4]
  assign _T_29 = io_bp_0_control_tmatch[1]; // @[Breakpoint.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@219562.4]
  assign _T_30 = io_ea >= io_bp_0_address; // @[Breakpoint.scala 44:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219563.4]
  assign _T_31 = io_bp_0_control_tmatch[0]; // @[Breakpoint.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@219564.4]
  assign _T_32 = _T_30 ^ _T_31; // @[Breakpoint.scala 44:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219565.4]
  assign _T_33 = ~ io_ea; // @[Breakpoint.scala 41:6:shc.marmotcaravel.MarmotCaravelConfig.fir@219566.4]
  assign _T_35 = io_bp_0_address[0]; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@219568.4]
  assign _T_36 = _T_31 & _T_35; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219569.4]
  assign _T_37 = io_bp_0_address[1]; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@219570.4]
  assign _T_38 = _T_36 & _T_37; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219571.4]
  assign _T_39 = io_bp_0_address[2]; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@219572.4]
  assign _T_40 = _T_38 & _T_39; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219573.4]
  assign _T_41 = {_T_36,_T_31}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219574.4]
  assign _T_42 = {_T_40,_T_38}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219575.4]
  assign _T_43 = {_T_42,_T_41}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219576.4]
  assign _GEN_12 = {{28'd0}, _T_43}; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@219577.4]
  assign _T_44 = _T_33 | _GEN_12; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@219577.4]
  assign _T_45 = ~ io_bp_0_address; // @[Breakpoint.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@219578.4]
  assign _T_56 = _T_45 | _GEN_12; // @[Breakpoint.scala 41:33:shc.marmotcaravel.MarmotCaravelConfig.fir@219589.4]
  assign _T_57 = _T_44 == _T_56; // @[Breakpoint.scala 41:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219590.4]
  assign _T_58 = _T_29 ? _T_32 : _T_57; // @[Breakpoint.scala 47:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219591.4]
  assign _T_59 = _T_28 & _T_58; // @[Breakpoint.scala 73:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219592.4]
  assign _T_61 = _T_26 & io_bp_0_control_w; // @[Breakpoint.scala 74:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219594.4]
  assign _T_92 = _T_61 & _T_58; // @[Breakpoint.scala 74:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219625.4]
  assign _T_94 = _T_26 & io_bp_0_control_x; // @[Breakpoint.scala 75:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219627.4]
  assign _T_96 = io_pc >= io_bp_0_address; // @[Breakpoint.scala 44:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219629.4]
  assign _T_98 = _T_96 ^ _T_31; // @[Breakpoint.scala 44:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219631.4]
  assign _T_99 = ~ io_pc; // @[Breakpoint.scala 41:6:shc.marmotcaravel.MarmotCaravelConfig.fir@219632.4]
  assign _T_110 = _T_99 | _GEN_12; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@219643.4]
  assign _T_123 = _T_110 == _T_56; // @[Breakpoint.scala 41:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219656.4]
  assign _T_124 = _T_29 ? _T_98 : _T_123; // @[Breakpoint.scala 47:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219657.4]
  assign _T_125 = _T_94 & _T_124; // @[Breakpoint.scala 75:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219658.4]
  assign _T_126 = io_bp_0_control_chain == 1'h0; // @[Breakpoint.scala 76:15:shc.marmotcaravel.MarmotCaravelConfig.fir@219659.4]
  assign _T_127 = _T_126 & _T_59; // @[Breakpoint.scala 78:15:shc.marmotcaravel.MarmotCaravelConfig.fir@219660.4]
  assign _T_128 = io_bp_0_control_action == 1'h0; // @[Breakpoint.scala 78:37:shc.marmotcaravel.MarmotCaravelConfig.fir@219662.6]
  assign _GEN_0 = _T_127 ? _T_128 : 1'h0; // @[Breakpoint.scala 78:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219661.4]
  assign _GEN_1 = _T_127 ? io_bp_0_control_action : 1'h0; // @[Breakpoint.scala 78:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219661.4]
  assign _T_129 = _T_126 & _T_92; // @[Breakpoint.scala 79:15:shc.marmotcaravel.MarmotCaravelConfig.fir@219666.4]
  assign _GEN_2 = _T_129 ? _T_128 : 1'h0; // @[Breakpoint.scala 79:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219667.4]
  assign _GEN_3 = _T_129 ? io_bp_0_control_action : 1'h0; // @[Breakpoint.scala 79:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219667.4]
  assign _T_131 = _T_126 & _T_125; // @[Breakpoint.scala 80:15:shc.marmotcaravel.MarmotCaravelConfig.fir@219672.4]
  assign _GEN_4 = _T_131 ? _T_128 : 1'h0; // @[Breakpoint.scala 80:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219673.4]
  assign _GEN_5 = _T_131 ? io_bp_0_control_action : 1'h0; // @[Breakpoint.scala 80:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219673.4]
  assign _T_133 = _T_126 | _T_59; // @[Breakpoint.scala 82:10:shc.marmotcaravel.MarmotCaravelConfig.fir@219678.4]
  assign _T_134 = _T_126 | _T_92; // @[Breakpoint.scala 82:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219679.4]
  assign _T_135 = _T_126 | _T_125; // @[Breakpoint.scala 82:30:shc.marmotcaravel.MarmotCaravelConfig.fir@219680.4]
  assign _T_143 = _T_26 & _T_133; // @[Breakpoint.scala 73:16:shc.marmotcaravel.MarmotCaravelConfig.fir@219688.4]
  assign _T_144 = _T_143 & io_bp_1_control_r; // @[Breakpoint.scala 73:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219689.4]
  assign _T_145 = io_bp_1_control_tmatch[1]; // @[Breakpoint.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@219690.4]
  assign _T_146 = io_ea >= io_bp_1_address; // @[Breakpoint.scala 44:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219691.4]
  assign _T_147 = io_bp_1_control_tmatch[0]; // @[Breakpoint.scala 44:36:shc.marmotcaravel.MarmotCaravelConfig.fir@219692.4]
  assign _T_148 = _T_146 ^ _T_147; // @[Breakpoint.scala 44:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219693.4]
  assign _T_151 = io_bp_1_address[0]; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@219696.4]
  assign _T_152 = _T_147 & _T_151; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219697.4]
  assign _T_153 = io_bp_1_address[1]; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@219698.4]
  assign _T_154 = _T_152 & _T_153; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219699.4]
  assign _T_155 = io_bp_1_address[2]; // @[Breakpoint.scala 38:83:shc.marmotcaravel.MarmotCaravelConfig.fir@219700.4]
  assign _T_156 = _T_154 & _T_155; // @[Breakpoint.scala 38:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219701.4]
  assign _T_157 = {_T_152,_T_147}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219702.4]
  assign _T_158 = {_T_156,_T_154}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219703.4]
  assign _T_159 = {_T_158,_T_157}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219704.4]
  assign _GEN_18 = {{28'd0}, _T_159}; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@219705.4]
  assign _T_160 = _T_33 | _GEN_18; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@219705.4]
  assign _T_161 = ~ io_bp_1_address; // @[Breakpoint.scala 41:24:shc.marmotcaravel.MarmotCaravelConfig.fir@219706.4]
  assign _T_172 = _T_161 | _GEN_18; // @[Breakpoint.scala 41:33:shc.marmotcaravel.MarmotCaravelConfig.fir@219717.4]
  assign _T_173 = _T_160 == _T_172; // @[Breakpoint.scala 41:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219718.4]
  assign _T_174 = _T_145 ? _T_148 : _T_173; // @[Breakpoint.scala 47:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219719.4]
  assign _T_175 = _T_144 & _T_174; // @[Breakpoint.scala 73:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219720.4]
  assign _T_176 = _T_26 & _T_134; // @[Breakpoint.scala 74:16:shc.marmotcaravel.MarmotCaravelConfig.fir@219721.4]
  assign _T_177 = _T_176 & io_bp_1_control_w; // @[Breakpoint.scala 74:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219722.4]
  assign _T_208 = _T_177 & _T_174; // @[Breakpoint.scala 74:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219753.4]
  assign _T_209 = _T_26 & _T_135; // @[Breakpoint.scala 75:16:shc.marmotcaravel.MarmotCaravelConfig.fir@219754.4]
  assign _T_210 = _T_209 & io_bp_1_control_x; // @[Breakpoint.scala 75:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219755.4]
  assign _T_212 = io_pc >= io_bp_1_address; // @[Breakpoint.scala 44:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219757.4]
  assign _T_214 = _T_212 ^ _T_147; // @[Breakpoint.scala 44:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219759.4]
  assign _T_226 = _T_99 | _GEN_18; // @[Breakpoint.scala 41:9:shc.marmotcaravel.MarmotCaravelConfig.fir@219771.4]
  assign _T_239 = _T_226 == _T_172; // @[Breakpoint.scala 41:19:shc.marmotcaravel.MarmotCaravelConfig.fir@219784.4]
  assign _T_240 = _T_145 ? _T_214 : _T_239; // @[Breakpoint.scala 47:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219785.4]
  assign _T_241 = _T_210 & _T_240; // @[Breakpoint.scala 75:38:shc.marmotcaravel.MarmotCaravelConfig.fir@219786.4]
  assign _T_244 = io_bp_1_control_action == 1'h0; // @[Breakpoint.scala 78:37:shc.marmotcaravel.MarmotCaravelConfig.fir@219790.6]
  assign io_xcpt_if = _T_241 ? _T_244 : _GEN_4; // @[Breakpoint.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@219547.4 Breakpoint.scala 80:34:shc.marmotcaravel.MarmotCaravelConfig.fir@219675.6 Breakpoint.scala 80:34:shc.marmotcaravel.MarmotCaravelConfig.fir@219803.6]
  assign io_xcpt_ld = _T_175 ? _T_244 : _GEN_0; // @[Breakpoint.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@219548.4 Breakpoint.scala 78:34:shc.marmotcaravel.MarmotCaravelConfig.fir@219663.6 Breakpoint.scala 78:34:shc.marmotcaravel.MarmotCaravelConfig.fir@219791.6]
  assign io_xcpt_st = _T_208 ? _T_244 : _GEN_2; // @[Breakpoint.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@219549.4 Breakpoint.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@219669.6 Breakpoint.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@219797.6]
  assign io_debug_if = _T_241 ? io_bp_1_control_action : _GEN_5; // @[Breakpoint.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@219550.4 Breakpoint.scala 80:69:shc.marmotcaravel.MarmotCaravelConfig.fir@219676.6 Breakpoint.scala 80:69:shc.marmotcaravel.MarmotCaravelConfig.fir@219804.6]
  assign io_debug_ld = _T_175 ? io_bp_1_control_action : _GEN_1; // @[Breakpoint.scala 68:15:shc.marmotcaravel.MarmotCaravelConfig.fir@219551.4 Breakpoint.scala 78:69:shc.marmotcaravel.MarmotCaravelConfig.fir@219664.6 Breakpoint.scala 78:69:shc.marmotcaravel.MarmotCaravelConfig.fir@219792.6]
  assign io_debug_st = _T_208 ? io_bp_1_control_action : _GEN_3; // @[Breakpoint.scala 69:15:shc.marmotcaravel.MarmotCaravelConfig.fir@219552.4 Breakpoint.scala 79:69:shc.marmotcaravel.MarmotCaravelConfig.fir@219670.6 Breakpoint.scala 79:69:shc.marmotcaravel.MarmotCaravelConfig.fir@219798.6]
endmodule
module ALU( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219810.2]
  input  [3:0]  io_fn, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219813.4]
  input  [31:0] io_in2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219813.4]
  input  [31:0] io_in1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219813.4]
  output [31:0] io_out, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219813.4]
  output [31:0] io_adder_out, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219813.4]
  output        io_cmp_out // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219813.4]
);
  wire  _T_11; // @[ALU.scala 40:29:shc.marmotcaravel.MarmotCaravelConfig.fir@219818.4]
  wire [31:0] _T_12; // @[ALU.scala 62:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219819.4]
  wire [31:0] in2_inv; // @[ALU.scala 62:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219820.4]
  wire [31:0] in1_xor_in2; // @[ALU.scala 63:28:shc.marmotcaravel.MarmotCaravelConfig.fir@219821.4]
  wire [31:0] _T_14; // @[ALU.scala 64:26:shc.marmotcaravel.MarmotCaravelConfig.fir@219823.4]
  wire [31:0] _GEN_0; // @[ALU.scala 64:36:shc.marmotcaravel.MarmotCaravelConfig.fir@219825.4]
  wire  _T_18; // @[ALU.scala 68:15:shc.marmotcaravel.MarmotCaravelConfig.fir@219828.4]
  wire  _T_19; // @[ALU.scala 68:34:shc.marmotcaravel.MarmotCaravelConfig.fir@219829.4]
  wire  _T_20; // @[ALU.scala 68:24:shc.marmotcaravel.MarmotCaravelConfig.fir@219830.4]
  wire  _T_21; // @[ALU.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@219831.4]
  wire  _T_22; // @[ALU.scala 42:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219832.4]
  wire  _T_25; // @[ALU.scala 69:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219835.4]
  wire  slt; // @[ALU.scala 68:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219836.4]
  wire  _T_26; // @[ALU.scala 43:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219837.4]
  wire  _T_28; // @[ALU.scala 44:26:shc.marmotcaravel.MarmotCaravelConfig.fir@219839.4]
  wire  _T_29; // @[ALU.scala 70:68:shc.marmotcaravel.MarmotCaravelConfig.fir@219840.4]
  wire  _T_30; // @[ALU.scala 70:41:shc.marmotcaravel.MarmotCaravelConfig.fir@219841.4]
  wire [4:0] shamt; // @[ALU.scala 74:28:shc.marmotcaravel.MarmotCaravelConfig.fir@219844.4]
  wire  _T_32; // @[ALU.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@219845.4]
  wire  _T_33; // @[ALU.scala 82:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219846.4]
  wire  _T_34; // @[ALU.scala 82:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219847.4]
  wire [15:0] _T_37; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219850.4]
  wire [31:0] _T_38; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219851.4]
  wire [15:0] _T_39; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219852.4]
  wire [31:0] _GEN_1; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219853.4]
  wire [31:0] _T_40; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219853.4]
  wire [31:0] _T_42; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219855.4]
  wire [31:0] _T_43; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219856.4]
  wire [23:0] _T_47; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219860.4]
  wire [31:0] _GEN_2; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219861.4]
  wire [31:0] _T_48; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219861.4]
  wire [23:0] _T_49; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219862.4]
  wire [31:0] _GEN_3; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219863.4]
  wire [31:0] _T_50; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219863.4]
  wire [31:0] _T_52; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219865.4]
  wire [31:0] _T_53; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219866.4]
  wire [27:0] _T_57; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219870.4]
  wire [31:0] _GEN_4; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219871.4]
  wire [31:0] _T_58; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219871.4]
  wire [27:0] _T_59; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219872.4]
  wire [31:0] _GEN_5; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219873.4]
  wire [31:0] _T_60; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219873.4]
  wire [31:0] _T_62; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219875.4]
  wire [31:0] _T_63; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219876.4]
  wire [29:0] _T_67; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219880.4]
  wire [31:0] _GEN_6; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219881.4]
  wire [31:0] _T_68; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219881.4]
  wire [29:0] _T_69; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219882.4]
  wire [31:0] _GEN_7; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219883.4]
  wire [31:0] _T_70; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219883.4]
  wire [31:0] _T_72; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219885.4]
  wire [31:0] _T_73; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219886.4]
  wire [30:0] _T_77; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219890.4]
  wire [31:0] _GEN_8; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219891.4]
  wire [31:0] _T_78; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219891.4]
  wire [30:0] _T_79; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219892.4]
  wire [31:0] _GEN_9; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219893.4]
  wire [31:0] _T_80; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219893.4]
  wire [31:0] _T_82; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219895.4]
  wire [31:0] _T_83; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219896.4]
  wire [31:0] shin; // @[ALU.scala 82:17:shc.marmotcaravel.MarmotCaravelConfig.fir@219897.4]
  wire  _T_85; // @[ALU.scala 83:41:shc.marmotcaravel.MarmotCaravelConfig.fir@219899.4]
  wire  _T_86; // @[ALU.scala 83:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219900.4]
  wire [32:0] _T_87; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219901.4]
  wire [32:0] _T_88; // @[ALU.scala 83:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219902.4]
  wire [32:0] _T_89; // @[ALU.scala 83:64:shc.marmotcaravel.MarmotCaravelConfig.fir@219903.4]
  wire [31:0] shout_r; // @[ALU.scala 83:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219904.4]
  wire [15:0] _T_92; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219907.4]
  wire [31:0] _T_93; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219908.4]
  wire [15:0] _T_94; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219909.4]
  wire [31:0] _GEN_10; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219910.4]
  wire [31:0] _T_95; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219910.4]
  wire [31:0] _T_97; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219912.4]
  wire [31:0] _T_98; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219913.4]
  wire [23:0] _T_102; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219917.4]
  wire [31:0] _GEN_11; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219918.4]
  wire [31:0] _T_103; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219918.4]
  wire [23:0] _T_104; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219919.4]
  wire [31:0] _GEN_12; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219920.4]
  wire [31:0] _T_105; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219920.4]
  wire [31:0] _T_107; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219922.4]
  wire [31:0] _T_108; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219923.4]
  wire [27:0] _T_112; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219927.4]
  wire [31:0] _GEN_13; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219928.4]
  wire [31:0] _T_113; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219928.4]
  wire [27:0] _T_114; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219929.4]
  wire [31:0] _GEN_14; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219930.4]
  wire [31:0] _T_115; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219930.4]
  wire [31:0] _T_117; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219932.4]
  wire [31:0] _T_118; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219933.4]
  wire [29:0] _T_122; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219937.4]
  wire [31:0] _GEN_15; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219938.4]
  wire [31:0] _T_123; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219938.4]
  wire [29:0] _T_124; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219939.4]
  wire [31:0] _GEN_16; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219940.4]
  wire [31:0] _T_125; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219940.4]
  wire [31:0] _T_127; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219942.4]
  wire [31:0] _T_128; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219943.4]
  wire [30:0] _T_132; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219947.4]
  wire [31:0] _GEN_17; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219948.4]
  wire [31:0] _T_133; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219948.4]
  wire [30:0] _T_134; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219949.4]
  wire [31:0] _GEN_18; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219950.4]
  wire [31:0] _T_135; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219950.4]
  wire [31:0] _T_137; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219952.4]
  wire [31:0] shout_l; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219953.4]
  wire [31:0] _T_141; // @[ALU.scala 85:18:shc.marmotcaravel.MarmotCaravelConfig.fir@219957.4]
  wire  _T_142; // @[ALU.scala 86:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219958.4]
  wire [31:0] _T_143; // @[ALU.scala 86:18:shc.marmotcaravel.MarmotCaravelConfig.fir@219959.4]
  wire [31:0] shout; // @[ALU.scala 85:74:shc.marmotcaravel.MarmotCaravelConfig.fir@219960.4]
  wire  _T_144; // @[ALU.scala 89:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219961.4]
  wire  _T_145; // @[ALU.scala 89:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219962.4]
  wire  _T_146; // @[ALU.scala 89:36:shc.marmotcaravel.MarmotCaravelConfig.fir@219963.4]
  wire [31:0] _T_147; // @[ALU.scala 89:18:shc.marmotcaravel.MarmotCaravelConfig.fir@219964.4]
  wire  _T_149; // @[ALU.scala 90:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219966.4]
  wire  _T_150; // @[ALU.scala 90:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219967.4]
  wire [31:0] _T_151; // @[ALU.scala 90:63:shc.marmotcaravel.MarmotCaravelConfig.fir@219968.4]
  wire [31:0] _T_152; // @[ALU.scala 90:18:shc.marmotcaravel.MarmotCaravelConfig.fir@219969.4]
  wire [31:0] logic$; // @[ALU.scala 89:78:shc.marmotcaravel.MarmotCaravelConfig.fir@219970.4]
  wire  _T_153; // @[ALU.scala 41:30:shc.marmotcaravel.MarmotCaravelConfig.fir@219971.4]
  wire  _T_154; // @[ALU.scala 91:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219972.4]
  wire [31:0] _GEN_19; // @[ALU.scala 91:43:shc.marmotcaravel.MarmotCaravelConfig.fir@219973.4]
  wire [31:0] _T_155; // @[ALU.scala 91:43:shc.marmotcaravel.MarmotCaravelConfig.fir@219973.4]
  wire [31:0] shift_logic; // @[ALU.scala 91:51:shc.marmotcaravel.MarmotCaravelConfig.fir@219974.4]
  wire  _T_156; // @[ALU.scala 92:23:shc.marmotcaravel.MarmotCaravelConfig.fir@219975.4]
  wire  _T_157; // @[ALU.scala 92:43:shc.marmotcaravel.MarmotCaravelConfig.fir@219976.4]
  wire  _T_158; // @[ALU.scala 92:34:shc.marmotcaravel.MarmotCaravelConfig.fir@219977.4]
  assign _T_11 = io_fn[3]; // @[ALU.scala 40:29:shc.marmotcaravel.MarmotCaravelConfig.fir@219818.4]
  assign _T_12 = ~ io_in2; // @[ALU.scala 62:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219819.4]
  assign in2_inv = _T_11 ? _T_12 : io_in2; // @[ALU.scala 62:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219820.4]
  assign in1_xor_in2 = io_in1 ^ in2_inv; // @[ALU.scala 63:28:shc.marmotcaravel.MarmotCaravelConfig.fir@219821.4]
  assign _T_14 = io_in1 + in2_inv; // @[ALU.scala 64:26:shc.marmotcaravel.MarmotCaravelConfig.fir@219823.4]
  assign _GEN_0 = {{31'd0}, _T_11}; // @[ALU.scala 64:36:shc.marmotcaravel.MarmotCaravelConfig.fir@219825.4]
  assign _T_18 = io_in1[31]; // @[ALU.scala 68:15:shc.marmotcaravel.MarmotCaravelConfig.fir@219828.4]
  assign _T_19 = io_in2[31]; // @[ALU.scala 68:34:shc.marmotcaravel.MarmotCaravelConfig.fir@219829.4]
  assign _T_20 = _T_18 == _T_19; // @[ALU.scala 68:24:shc.marmotcaravel.MarmotCaravelConfig.fir@219830.4]
  assign _T_21 = io_adder_out[31]; // @[ALU.scala 68:56:shc.marmotcaravel.MarmotCaravelConfig.fir@219831.4]
  assign _T_22 = io_fn[1]; // @[ALU.scala 42:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219832.4]
  assign _T_25 = _T_22 ? _T_19 : _T_18; // @[ALU.scala 69:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219835.4]
  assign slt = _T_20 ? _T_21 : _T_25; // @[ALU.scala 68:8:shc.marmotcaravel.MarmotCaravelConfig.fir@219836.4]
  assign _T_26 = io_fn[0]; // @[ALU.scala 43:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219837.4]
  assign _T_28 = _T_11 == 1'h0; // @[ALU.scala 44:26:shc.marmotcaravel.MarmotCaravelConfig.fir@219839.4]
  assign _T_29 = in1_xor_in2 == 32'h0; // @[ALU.scala 70:68:shc.marmotcaravel.MarmotCaravelConfig.fir@219840.4]
  assign _T_30 = _T_28 ? _T_29 : slt; // @[ALU.scala 70:41:shc.marmotcaravel.MarmotCaravelConfig.fir@219841.4]
  assign shamt = io_in2[4:0]; // @[ALU.scala 74:28:shc.marmotcaravel.MarmotCaravelConfig.fir@219844.4]
  assign _T_32 = io_fn == 4'h5; // @[ALU.scala 82:24:shc.marmotcaravel.MarmotCaravelConfig.fir@219845.4]
  assign _T_33 = io_fn == 4'hb; // @[ALU.scala 82:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219846.4]
  assign _T_34 = _T_32 | _T_33; // @[ALU.scala 82:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219847.4]
  assign _T_37 = io_in1[31:16]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219850.4]
  assign _T_38 = {{16'd0}, _T_37}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219851.4]
  assign _T_39 = io_in1[15:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219852.4]
  assign _GEN_1 = {{16'd0}, _T_39}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219853.4]
  assign _T_40 = _GEN_1 << 16; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219853.4]
  assign _T_42 = _T_40 & 32'hffff0000; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219855.4]
  assign _T_43 = _T_38 | _T_42; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219856.4]
  assign _T_47 = _T_43[31:8]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219860.4]
  assign _GEN_2 = {{8'd0}, _T_47}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219861.4]
  assign _T_48 = _GEN_2 & 32'hff00ff; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219861.4]
  assign _T_49 = _T_43[23:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219862.4]
  assign _GEN_3 = {{8'd0}, _T_49}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219863.4]
  assign _T_50 = _GEN_3 << 8; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219863.4]
  assign _T_52 = _T_50 & 32'hff00ff00; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219865.4]
  assign _T_53 = _T_48 | _T_52; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219866.4]
  assign _T_57 = _T_53[31:4]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219870.4]
  assign _GEN_4 = {{4'd0}, _T_57}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219871.4]
  assign _T_58 = _GEN_4 & 32'hf0f0f0f; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219871.4]
  assign _T_59 = _T_53[27:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219872.4]
  assign _GEN_5 = {{4'd0}, _T_59}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219873.4]
  assign _T_60 = _GEN_5 << 4; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219873.4]
  assign _T_62 = _T_60 & 32'hf0f0f0f0; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219875.4]
  assign _T_63 = _T_58 | _T_62; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219876.4]
  assign _T_67 = _T_63[31:2]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219880.4]
  assign _GEN_6 = {{2'd0}, _T_67}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219881.4]
  assign _T_68 = _GEN_6 & 32'h33333333; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219881.4]
  assign _T_69 = _T_63[29:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219882.4]
  assign _GEN_7 = {{2'd0}, _T_69}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219883.4]
  assign _T_70 = _GEN_7 << 2; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219883.4]
  assign _T_72 = _T_70 & 32'hcccccccc; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219885.4]
  assign _T_73 = _T_68 | _T_72; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219886.4]
  assign _T_77 = _T_73[31:1]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219890.4]
  assign _GEN_8 = {{1'd0}, _T_77}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219891.4]
  assign _T_78 = _GEN_8 & 32'h55555555; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219891.4]
  assign _T_79 = _T_73[30:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219892.4]
  assign _GEN_9 = {{1'd0}, _T_79}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219893.4]
  assign _T_80 = _GEN_9 << 1; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219893.4]
  assign _T_82 = _T_80 & 32'haaaaaaaa; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219895.4]
  assign _T_83 = _T_78 | _T_82; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219896.4]
  assign shin = _T_34 ? io_in1 : _T_83; // @[ALU.scala 82:17:shc.marmotcaravel.MarmotCaravelConfig.fir@219897.4]
  assign _T_85 = shin[31]; // @[ALU.scala 83:41:shc.marmotcaravel.MarmotCaravelConfig.fir@219899.4]
  assign _T_86 = _T_11 & _T_85; // @[ALU.scala 83:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219900.4]
  assign _T_87 = {_T_86,shin}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@219901.4]
  assign _T_88 = $signed(_T_87); // @[ALU.scala 83:57:shc.marmotcaravel.MarmotCaravelConfig.fir@219902.4]
  assign _T_89 = $signed(_T_88) >>> shamt; // @[ALU.scala 83:64:shc.marmotcaravel.MarmotCaravelConfig.fir@219903.4]
  assign shout_r = _T_89[31:0]; // @[ALU.scala 83:73:shc.marmotcaravel.MarmotCaravelConfig.fir@219904.4]
  assign _T_92 = shout_r[31:16]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219907.4]
  assign _T_93 = {{16'd0}, _T_92}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219908.4]
  assign _T_94 = shout_r[15:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219909.4]
  assign _GEN_10 = {{16'd0}, _T_94}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219910.4]
  assign _T_95 = _GEN_10 << 16; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219910.4]
  assign _T_97 = _T_95 & 32'hffff0000; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219912.4]
  assign _T_98 = _T_93 | _T_97; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219913.4]
  assign _T_102 = _T_98[31:8]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219917.4]
  assign _GEN_11 = {{8'd0}, _T_102}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219918.4]
  assign _T_103 = _GEN_11 & 32'hff00ff; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219918.4]
  assign _T_104 = _T_98[23:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219919.4]
  assign _GEN_12 = {{8'd0}, _T_104}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219920.4]
  assign _T_105 = _GEN_12 << 8; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219920.4]
  assign _T_107 = _T_105 & 32'hff00ff00; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219922.4]
  assign _T_108 = _T_103 | _T_107; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219923.4]
  assign _T_112 = _T_108[31:4]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219927.4]
  assign _GEN_13 = {{4'd0}, _T_112}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219928.4]
  assign _T_113 = _GEN_13 & 32'hf0f0f0f; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219928.4]
  assign _T_114 = _T_108[27:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219929.4]
  assign _GEN_14 = {{4'd0}, _T_114}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219930.4]
  assign _T_115 = _GEN_14 << 4; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219930.4]
  assign _T_117 = _T_115 & 32'hf0f0f0f0; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219932.4]
  assign _T_118 = _T_113 | _T_117; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219933.4]
  assign _T_122 = _T_118[31:2]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219937.4]
  assign _GEN_15 = {{2'd0}, _T_122}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219938.4]
  assign _T_123 = _GEN_15 & 32'h33333333; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219938.4]
  assign _T_124 = _T_118[29:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219939.4]
  assign _GEN_16 = {{2'd0}, _T_124}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219940.4]
  assign _T_125 = _GEN_16 << 2; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219940.4]
  assign _T_127 = _T_125 & 32'hcccccccc; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219942.4]
  assign _T_128 = _T_123 | _T_127; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219943.4]
  assign _T_132 = _T_128[31:1]; // @[Bitwise.scala 103:21:shc.marmotcaravel.MarmotCaravelConfig.fir@219947.4]
  assign _GEN_17 = {{1'd0}, _T_132}; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219948.4]
  assign _T_133 = _GEN_17 & 32'h55555555; // @[Bitwise.scala 103:31:shc.marmotcaravel.MarmotCaravelConfig.fir@219948.4]
  assign _T_134 = _T_128[30:0]; // @[Bitwise.scala 103:46:shc.marmotcaravel.MarmotCaravelConfig.fir@219949.4]
  assign _GEN_18 = {{1'd0}, _T_134}; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219950.4]
  assign _T_135 = _GEN_18 << 1; // @[Bitwise.scala 103:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219950.4]
  assign _T_137 = _T_135 & 32'haaaaaaaa; // @[Bitwise.scala 103:75:shc.marmotcaravel.MarmotCaravelConfig.fir@219952.4]
  assign shout_l = _T_133 | _T_137; // @[Bitwise.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@219953.4]
  assign _T_141 = _T_34 ? shout_r : 32'h0; // @[ALU.scala 85:18:shc.marmotcaravel.MarmotCaravelConfig.fir@219957.4]
  assign _T_142 = io_fn == 4'h1; // @[ALU.scala 86:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219958.4]
  assign _T_143 = _T_142 ? shout_l : 32'h0; // @[ALU.scala 86:18:shc.marmotcaravel.MarmotCaravelConfig.fir@219959.4]
  assign shout = _T_141 | _T_143; // @[ALU.scala 85:74:shc.marmotcaravel.MarmotCaravelConfig.fir@219960.4]
  assign _T_144 = io_fn == 4'h4; // @[ALU.scala 89:25:shc.marmotcaravel.MarmotCaravelConfig.fir@219961.4]
  assign _T_145 = io_fn == 4'h6; // @[ALU.scala 89:45:shc.marmotcaravel.MarmotCaravelConfig.fir@219962.4]
  assign _T_146 = _T_144 | _T_145; // @[ALU.scala 89:36:shc.marmotcaravel.MarmotCaravelConfig.fir@219963.4]
  assign _T_147 = _T_146 ? in1_xor_in2 : 32'h0; // @[ALU.scala 89:18:shc.marmotcaravel.MarmotCaravelConfig.fir@219964.4]
  assign _T_149 = io_fn == 4'h7; // @[ALU.scala 90:44:shc.marmotcaravel.MarmotCaravelConfig.fir@219966.4]
  assign _T_150 = _T_145 | _T_149; // @[ALU.scala 90:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219967.4]
  assign _T_151 = io_in1 & io_in2; // @[ALU.scala 90:63:shc.marmotcaravel.MarmotCaravelConfig.fir@219968.4]
  assign _T_152 = _T_150 ? _T_151 : 32'h0; // @[ALU.scala 90:18:shc.marmotcaravel.MarmotCaravelConfig.fir@219969.4]
  assign logic$ = _T_147 | _T_152; // @[ALU.scala 89:78:shc.marmotcaravel.MarmotCaravelConfig.fir@219970.4]
  assign _T_153 = io_fn >= 4'hc; // @[ALU.scala 41:30:shc.marmotcaravel.MarmotCaravelConfig.fir@219971.4]
  assign _T_154 = _T_153 & slt; // @[ALU.scala 91:35:shc.marmotcaravel.MarmotCaravelConfig.fir@219972.4]
  assign _GEN_19 = {{31'd0}, _T_154}; // @[ALU.scala 91:43:shc.marmotcaravel.MarmotCaravelConfig.fir@219973.4]
  assign _T_155 = _GEN_19 | logic$; // @[ALU.scala 91:43:shc.marmotcaravel.MarmotCaravelConfig.fir@219973.4]
  assign shift_logic = _T_155 | shout; // @[ALU.scala 91:51:shc.marmotcaravel.MarmotCaravelConfig.fir@219974.4]
  assign _T_156 = io_fn == 4'h0; // @[ALU.scala 92:23:shc.marmotcaravel.MarmotCaravelConfig.fir@219975.4]
  assign _T_157 = io_fn == 4'ha; // @[ALU.scala 92:43:shc.marmotcaravel.MarmotCaravelConfig.fir@219976.4]
  assign _T_158 = _T_156 | _T_157; // @[ALU.scala 92:34:shc.marmotcaravel.MarmotCaravelConfig.fir@219977.4]
  assign io_out = _T_158 ? io_adder_out : shift_logic; // @[ALU.scala 94:10:shc.marmotcaravel.MarmotCaravelConfig.fir@219979.4]
  assign io_adder_out = _T_14 + _GEN_0; // @[ALU.scala 64:16:shc.marmotcaravel.MarmotCaravelConfig.fir@219827.4]
  assign io_cmp_out = _T_26 ^ _T_30; // @[ALU.scala 70:14:shc.marmotcaravel.MarmotCaravelConfig.fir@219843.4]
endmodule
module MulDiv( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219981.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219982.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219983.4]
  output        io_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219984.4]
  input         io_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219984.4]
  input  [3:0]  io_req_bits_fn, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219984.4]
  input  [31:0] io_req_bits_in1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219984.4]
  input  [31:0] io_req_bits_in2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219984.4]
  input  [4:0]  io_req_bits_tag, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219984.4]
  input         io_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219984.4]
  input         io_resp_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219984.4]
  output        io_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219984.4]
  output [31:0] io_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219984.4]
  output [4:0]  io_resp_bits_tag // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@219984.4]
);
  reg [2:0] state; // @[Multiplier.scala 51:18:shc.marmotcaravel.MarmotCaravelConfig.fir@219989.4]
  reg [31:0] _RAND_0;
  reg [4:0] req_tag; // @[Multiplier.scala 53:16:shc.marmotcaravel.MarmotCaravelConfig.fir@219990.4]
  reg [31:0] _RAND_1;
  reg [5:0] count; // @[Multiplier.scala 54:18:shc.marmotcaravel.MarmotCaravelConfig.fir@219991.4]
  reg [31:0] _RAND_2;
  reg  neg_out; // @[Multiplier.scala 57:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219992.4]
  reg [31:0] _RAND_3;
  reg  isHi; // @[Multiplier.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@219993.4]
  reg [31:0] _RAND_4;
  reg  resHi; // @[Multiplier.scala 59:18:shc.marmotcaravel.MarmotCaravelConfig.fir@219994.4]
  reg [31:0] _RAND_5;
  reg [32:0] divisor; // @[Multiplier.scala 60:20:shc.marmotcaravel.MarmotCaravelConfig.fir@219995.4]
  reg [63:0] _RAND_6;
  reg [65:0] remainder; // @[Multiplier.scala 61:22:shc.marmotcaravel.MarmotCaravelConfig.fir@219996.4]
  reg [95:0] _RAND_7;
  wire [3:0] _T_22; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219997.4]
  wire  cmdMul; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@219998.4]
  wire [3:0] _T_25; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220000.4]
  wire  _T_26; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220001.4]
  wire [3:0] _T_27; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220002.4]
  wire  _T_28; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220003.4]
  wire  cmdHi; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220005.4]
  wire [3:0] _T_31; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220006.4]
  wire  _T_32; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220007.4]
  wire [3:0] _T_33; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220008.4]
  wire  _T_34; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220009.4]
  wire  lhsSigned; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220011.4]
  wire  _T_38; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220013.4]
  wire  rhsSigned; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220015.4]
  wire  _T_44; // @[Multiplier.scala 81:48:shc.marmotcaravel.MarmotCaravelConfig.fir@220023.4]
  wire  lhs_sign; // @[Multiplier.scala 81:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220025.4]
  wire [15:0] _T_48; // @[Multiplier.scala 82:43:shc.marmotcaravel.MarmotCaravelConfig.fir@220028.4]
  wire [15:0] _T_50; // @[Multiplier.scala 83:15:shc.marmotcaravel.MarmotCaravelConfig.fir@220030.4]
  wire [31:0] lhs_in; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220031.4]
  wire  _T_54; // @[Multiplier.scala 81:48:shc.marmotcaravel.MarmotCaravelConfig.fir@220035.4]
  wire  rhs_sign; // @[Multiplier.scala 81:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220037.4]
  wire [15:0] _T_58; // @[Multiplier.scala 82:43:shc.marmotcaravel.MarmotCaravelConfig.fir@220040.4]
  wire [15:0] _T_60; // @[Multiplier.scala 83:15:shc.marmotcaravel.MarmotCaravelConfig.fir@220042.4]
  wire [31:0] rhs_in; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220043.4]
  wire [32:0] _T_61; // @[Multiplier.scala 88:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220044.4]
  wire [33:0] _T_62; // @[Multiplier.scala 88:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220045.4]
  wire [33:0] _T_63; // @[Multiplier.scala 88:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220046.4]
  wire [32:0] subtractor; // @[Multiplier.scala 88:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220047.4]
  wire [31:0] _T_64; // @[Multiplier.scala 89:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220048.4]
  wire [31:0] _T_65; // @[Multiplier.scala 89:57:shc.marmotcaravel.MarmotCaravelConfig.fir@220049.4]
  wire [31:0] result; // @[Multiplier.scala 89:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220050.4]
  wire [32:0] _T_66; // @[Multiplier.scala 90:27:shc.marmotcaravel.MarmotCaravelConfig.fir@220051.4]
  wire [32:0] _T_67; // @[Multiplier.scala 90:27:shc.marmotcaravel.MarmotCaravelConfig.fir@220052.4]
  wire [31:0] negated_remainder; // @[Multiplier.scala 90:27:shc.marmotcaravel.MarmotCaravelConfig.fir@220053.4]
  wire  _T_68; // @[Multiplier.scala 92:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220054.4]
  wire  _T_69; // @[Multiplier.scala 93:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220056.6]
  wire  _T_70; // @[Multiplier.scala 96:18:shc.marmotcaravel.MarmotCaravelConfig.fir@220060.6]
  wire  _T_71; // @[Multiplier.scala 101:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220066.4]
  wire  _T_72; // @[Multiplier.scala 106:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220072.4]
  wire [32:0] _T_73; // @[Multiplier.scala 107:31:shc.marmotcaravel.MarmotCaravelConfig.fir@220074.6]
  wire [64:0] _T_75; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220076.6]
  wire  _T_76; // @[Multiplier.scala 108:31:shc.marmotcaravel.MarmotCaravelConfig.fir@220077.6]
  wire [31:0] _T_77; // @[Multiplier.scala 109:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220078.6]
  wire [32:0] _T_78; // @[Multiplier.scala 110:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220079.6]
  wire [32:0] _T_79; // @[Multiplier.scala 110:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220080.6]
  wire [32:0] _T_80; // @[Multiplier.scala 111:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220081.6]
  wire [7:0] _T_81; // @[Multiplier.scala 112:38:shc.marmotcaravel.MarmotCaravelConfig.fir@220082.6]
  wire [8:0] _T_82; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220083.6]
  wire [8:0] _T_83; // @[Multiplier.scala 112:60:shc.marmotcaravel.MarmotCaravelConfig.fir@220084.6]
  wire [32:0] _GEN_35; // @[Multiplier.scala 112:67:shc.marmotcaravel.MarmotCaravelConfig.fir@220085.6]
  wire [41:0] _T_84; // @[Multiplier.scala 112:67:shc.marmotcaravel.MarmotCaravelConfig.fir@220085.6]
  wire [41:0] _GEN_36; // @[Multiplier.scala 112:76:shc.marmotcaravel.MarmotCaravelConfig.fir@220086.6]
  wire [41:0] _T_86; // @[Multiplier.scala 112:76:shc.marmotcaravel.MarmotCaravelConfig.fir@220087.6]
  wire [41:0] _T_87; // @[Multiplier.scala 112:76:shc.marmotcaravel.MarmotCaravelConfig.fir@220088.6]
  wire [23:0] _T_88; // @[Multiplier.scala 113:38:shc.marmotcaravel.MarmotCaravelConfig.fir@220089.6]
  wire [41:0] _T_89; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220090.6]
  wire [65:0] _T_90; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220091.6]
  wire  _T_91; // @[Multiplier.scala 114:32:shc.marmotcaravel.MarmotCaravelConfig.fir@220092.6]
  wire  _T_92; // @[Multiplier.scala 114:57:shc.marmotcaravel.MarmotCaravelConfig.fir@220093.6]
  wire  _T_101; // @[Multiplier.scala 118:7:shc.marmotcaravel.MarmotCaravelConfig.fir@220102.6]
  wire [32:0] _T_113; // @[Multiplier.scala 120:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220114.6]
  wire [31:0] _T_115; // @[Multiplier.scala 120:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220116.6]
  wire [64:0] _T_116; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220117.6]
  wire [32:0] _T_117; // @[Multiplier.scala 121:34:shc.marmotcaravel.MarmotCaravelConfig.fir@220118.6]
  wire [31:0] _T_118; // @[Multiplier.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@220119.6]
  wire [33:0] _T_119; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220120.6]
  wire [65:0] _T_120; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220121.6]
  wire [5:0] _T_122; // @[Multiplier.scala 123:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220124.6]
  wire  _T_123; // @[Multiplier.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220126.6]
  wire  _T_125; // @[Multiplier.scala 129:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220133.4]
  wire  _T_126; // @[Multiplier.scala 133:28:shc.marmotcaravel.MarmotCaravelConfig.fir@220135.6]
  wire [31:0] _T_127; // @[Multiplier.scala 134:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220136.6]
  wire [31:0] _T_128; // @[Multiplier.scala 134:45:shc.marmotcaravel.MarmotCaravelConfig.fir@220137.6]
  wire [31:0] _T_129; // @[Multiplier.scala 134:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220138.6]
  wire  _T_131; // @[Multiplier.scala 134:67:shc.marmotcaravel.MarmotCaravelConfig.fir@220140.6]
  wire [63:0] _T_132; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220141.6]
  wire [64:0] _T_133; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220142.6]
  wire  _T_134; // @[Multiplier.scala 138:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220144.6]
  wire  _T_138; // @[Multiplier.scala 146:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220153.6]
  wire  _T_141; // @[Multiplier.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220156.6]
  wire  _T_143; // @[Multiplier.scala 159:18:shc.marmotcaravel.MarmotCaravelConfig.fir@220158.6]
  wire  _T_144; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220163.4]
  wire  _T_145; // @[Multiplier.scala 161:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220164.4]
  wire  _T_146; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220168.4]
  wire  _T_147; // @[Multiplier.scala 165:46:shc.marmotcaravel.MarmotCaravelConfig.fir@220170.6]
  wire  _T_154; // @[Multiplier.scala 169:46:shc.marmotcaravel.MarmotCaravelConfig.fir@220181.6]
  wire [32:0] _T_156; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220184.6]
  wire [15:0] _T_165; // @[Multiplier.scala 176:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220198.4]
  wire [15:0] loOut; // @[Multiplier.scala 176:86:shc.marmotcaravel.MarmotCaravelConfig.fir@220199.4]
  wire  _T_174; // @[Multiplier.scala 180:27:shc.marmotcaravel.MarmotCaravelConfig.fir@220211.4]
  wire  _T_175; // @[Multiplier.scala 180:51:shc.marmotcaravel.MarmotCaravelConfig.fir@220212.4]
  assign _T_22 = io_req_bits_fn & 4'h4; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@219997.4]
  assign cmdMul = _T_22 == 4'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@219998.4]
  assign _T_25 = io_req_bits_fn & 4'h5; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220000.4]
  assign _T_26 = _T_25 == 4'h1; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220001.4]
  assign _T_27 = io_req_bits_fn & 4'h2; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220002.4]
  assign _T_28 = _T_27 == 4'h2; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220003.4]
  assign cmdHi = _T_26 | _T_28; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220005.4]
  assign _T_31 = io_req_bits_fn & 4'h6; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220006.4]
  assign _T_32 = _T_31 == 4'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220007.4]
  assign _T_33 = io_req_bits_fn & 4'h1; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220008.4]
  assign _T_34 = _T_33 == 4'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220009.4]
  assign lhsSigned = _T_32 | _T_34; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220011.4]
  assign _T_38 = _T_25 == 4'h4; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220013.4]
  assign rhsSigned = _T_32 | _T_38; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220015.4]
  assign _T_44 = io_req_bits_in1[31]; // @[Multiplier.scala 81:48:shc.marmotcaravel.MarmotCaravelConfig.fir@220023.4]
  assign lhs_sign = lhsSigned & _T_44; // @[Multiplier.scala 81:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220025.4]
  assign _T_48 = io_req_bits_in1[31:16]; // @[Multiplier.scala 82:43:shc.marmotcaravel.MarmotCaravelConfig.fir@220028.4]
  assign _T_50 = io_req_bits_in1[15:0]; // @[Multiplier.scala 83:15:shc.marmotcaravel.MarmotCaravelConfig.fir@220030.4]
  assign lhs_in = {_T_48,_T_50}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220031.4]
  assign _T_54 = io_req_bits_in2[31]; // @[Multiplier.scala 81:48:shc.marmotcaravel.MarmotCaravelConfig.fir@220035.4]
  assign rhs_sign = rhsSigned & _T_54; // @[Multiplier.scala 81:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220037.4]
  assign _T_58 = io_req_bits_in2[31:16]; // @[Multiplier.scala 82:43:shc.marmotcaravel.MarmotCaravelConfig.fir@220040.4]
  assign _T_60 = io_req_bits_in2[15:0]; // @[Multiplier.scala 83:15:shc.marmotcaravel.MarmotCaravelConfig.fir@220042.4]
  assign rhs_in = {_T_58,_T_60}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220043.4]
  assign _T_61 = remainder[64:32]; // @[Multiplier.scala 88:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220044.4]
  assign _T_62 = _T_61 - divisor; // @[Multiplier.scala 88:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220045.4]
  assign _T_63 = $unsigned(_T_62); // @[Multiplier.scala 88:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220046.4]
  assign subtractor = _T_63[32:0]; // @[Multiplier.scala 88:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220047.4]
  assign _T_64 = remainder[64:33]; // @[Multiplier.scala 89:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220048.4]
  assign _T_65 = remainder[31:0]; // @[Multiplier.scala 89:57:shc.marmotcaravel.MarmotCaravelConfig.fir@220049.4]
  assign result = resHi ? _T_64 : _T_65; // @[Multiplier.scala 89:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220050.4]
  assign _T_66 = 32'h0 - result; // @[Multiplier.scala 90:27:shc.marmotcaravel.MarmotCaravelConfig.fir@220051.4]
  assign _T_67 = $unsigned(_T_66); // @[Multiplier.scala 90:27:shc.marmotcaravel.MarmotCaravelConfig.fir@220052.4]
  assign negated_remainder = _T_67[31:0]; // @[Multiplier.scala 90:27:shc.marmotcaravel.MarmotCaravelConfig.fir@220053.4]
  assign _T_68 = state == 3'h1; // @[Multiplier.scala 92:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220054.4]
  assign _T_69 = remainder[31]; // @[Multiplier.scala 93:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220056.6]
  assign _T_70 = divisor[31]; // @[Multiplier.scala 96:18:shc.marmotcaravel.MarmotCaravelConfig.fir@220060.6]
  assign _T_71 = state == 3'h5; // @[Multiplier.scala 101:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220066.4]
  assign _T_72 = state == 3'h2; // @[Multiplier.scala 106:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220072.4]
  assign _T_73 = remainder[65:33]; // @[Multiplier.scala 107:31:shc.marmotcaravel.MarmotCaravelConfig.fir@220074.6]
  assign _T_75 = {_T_73,_T_65}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220076.6]
  assign _T_76 = remainder[32]; // @[Multiplier.scala 108:31:shc.marmotcaravel.MarmotCaravelConfig.fir@220077.6]
  assign _T_77 = _T_75[31:0]; // @[Multiplier.scala 109:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220078.6]
  assign _T_78 = _T_75[64:32]; // @[Multiplier.scala 110:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220079.6]
  assign _T_79 = $signed(_T_78); // @[Multiplier.scala 110:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220080.6]
  assign _T_80 = $signed(divisor); // @[Multiplier.scala 111:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220081.6]
  assign _T_81 = _T_77[7:0]; // @[Multiplier.scala 112:38:shc.marmotcaravel.MarmotCaravelConfig.fir@220082.6]
  assign _T_82 = {_T_76,_T_81}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220083.6]
  assign _T_83 = $signed(_T_82); // @[Multiplier.scala 112:60:shc.marmotcaravel.MarmotCaravelConfig.fir@220084.6]
  assign _GEN_35 = {{24{_T_83[8]}},_T_83}; // @[Multiplier.scala 112:67:shc.marmotcaravel.MarmotCaravelConfig.fir@220085.6]
  assign _T_84 = $signed(_GEN_35) * $signed(_T_80); // @[Multiplier.scala 112:67:shc.marmotcaravel.MarmotCaravelConfig.fir@220085.6]
  assign _GEN_36 = {{9{_T_79[32]}},_T_79}; // @[Multiplier.scala 112:76:shc.marmotcaravel.MarmotCaravelConfig.fir@220086.6]
  assign _T_86 = $signed(_T_84) + $signed(_GEN_36); // @[Multiplier.scala 112:76:shc.marmotcaravel.MarmotCaravelConfig.fir@220087.6]
  assign _T_87 = $signed(_T_86); // @[Multiplier.scala 112:76:shc.marmotcaravel.MarmotCaravelConfig.fir@220088.6]
  assign _T_88 = _T_77[31:8]; // @[Multiplier.scala 113:38:shc.marmotcaravel.MarmotCaravelConfig.fir@220089.6]
  assign _T_89 = $unsigned(_T_87); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220090.6]
  assign _T_90 = {_T_89,_T_88}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220091.6]
  assign _T_91 = count == 6'h2; // @[Multiplier.scala 114:32:shc.marmotcaravel.MarmotCaravelConfig.fir@220092.6]
  assign _T_92 = _T_91 & neg_out; // @[Multiplier.scala 114:57:shc.marmotcaravel.MarmotCaravelConfig.fir@220093.6]
  assign _T_101 = isHi == 1'h0; // @[Multiplier.scala 118:7:shc.marmotcaravel.MarmotCaravelConfig.fir@220102.6]
  assign _T_113 = _T_90[64:32]; // @[Multiplier.scala 120:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220114.6]
  assign _T_115 = _T_90[31:0]; // @[Multiplier.scala 120:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220116.6]
  assign _T_116 = {_T_113,_T_115}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220117.6]
  assign _T_117 = _T_116[64:32]; // @[Multiplier.scala 121:34:shc.marmotcaravel.MarmotCaravelConfig.fir@220118.6]
  assign _T_118 = _T_116[31:0]; // @[Multiplier.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@220119.6]
  assign _T_119 = {_T_117,_T_92}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220120.6]
  assign _T_120 = {_T_119,_T_118}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220121.6]
  assign _T_122 = count + 6'h1; // @[Multiplier.scala 123:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220124.6]
  assign _T_123 = count == 6'h3; // @[Multiplier.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220126.6]
  assign _T_125 = state == 3'h3; // @[Multiplier.scala 129:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220133.4]
  assign _T_126 = subtractor[32]; // @[Multiplier.scala 133:28:shc.marmotcaravel.MarmotCaravelConfig.fir@220135.6]
  assign _T_127 = remainder[63:32]; // @[Multiplier.scala 134:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220136.6]
  assign _T_128 = subtractor[31:0]; // @[Multiplier.scala 134:45:shc.marmotcaravel.MarmotCaravelConfig.fir@220137.6]
  assign _T_129 = _T_126 ? _T_127 : _T_128; // @[Multiplier.scala 134:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220138.6]
  assign _T_131 = _T_126 == 1'h0; // @[Multiplier.scala 134:67:shc.marmotcaravel.MarmotCaravelConfig.fir@220140.6]
  assign _T_132 = {_T_129,_T_65}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220141.6]
  assign _T_133 = {_T_132,_T_131}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220142.6]
  assign _T_134 = count == 6'h20; // @[Multiplier.scala 138:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220144.6]
  assign _T_138 = count == 6'h0; // @[Multiplier.scala 146:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220153.6]
  assign _T_141 = _T_138 & _T_131; // @[Multiplier.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220156.6]
  assign _T_143 = _T_141 & _T_101; // @[Multiplier.scala 159:18:shc.marmotcaravel.MarmotCaravelConfig.fir@220158.6]
  assign _T_144 = io_resp_ready & io_resp_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220163.4]
  assign _T_145 = _T_144 | io_kill; // @[Multiplier.scala 161:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220164.4]
  assign _T_146 = io_req_ready & io_req_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220168.4]
  assign _T_147 = lhs_sign | rhs_sign; // @[Multiplier.scala 165:46:shc.marmotcaravel.MarmotCaravelConfig.fir@220170.6]
  assign _T_154 = lhs_sign != rhs_sign; // @[Multiplier.scala 169:46:shc.marmotcaravel.MarmotCaravelConfig.fir@220181.6]
  assign _T_156 = {rhs_sign,rhs_in}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220184.6]
  assign _T_165 = result[31:16]; // @[Multiplier.scala 176:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220198.4]
  assign loOut = result[15:0]; // @[Multiplier.scala 176:86:shc.marmotcaravel.MarmotCaravelConfig.fir@220199.4]
  assign _T_174 = state == 3'h6; // @[Multiplier.scala 180:27:shc.marmotcaravel.MarmotCaravelConfig.fir@220211.4]
  assign _T_175 = state == 3'h7; // @[Multiplier.scala 180:51:shc.marmotcaravel.MarmotCaravelConfig.fir@220212.4]
  assign io_req_ready = state == 3'h0; // @[Multiplier.scala 181:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220216.4]
  assign io_resp_valid = _T_174 | _T_175; // @[Multiplier.scala 180:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220214.4]
  assign io_resp_bits_data = {_T_165,loOut}; // @[Multiplier.scala 179:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220210.4]
  assign io_resp_bits_tag = req_tag; // @[Multiplier.scala 178:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220208.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  state = _RAND_0[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  req_tag = _RAND_1[4:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  count = _RAND_2[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  neg_out = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  isHi = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  resHi = _RAND_5[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {2{`RANDOM}};
  divisor = _RAND_6[32:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {3{`RANDOM}};
  remainder = _RAND_7[65:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      state <= 3'h0;
    end else begin
      if (_T_146) begin
        if (cmdMul) begin
          state <= 3'h2;
        end else begin
          if (_T_147) begin
            state <= 3'h1;
          end else begin
            state <= 3'h3;
          end
        end
      end else begin
        if (_T_145) begin
          state <= 3'h0;
        end else begin
          if (_T_125) begin
            if (_T_134) begin
              if (neg_out) begin
                state <= 3'h5;
              end else begin
                state <= 3'h7;
              end
            end else begin
              if (_T_72) begin
                if (_T_123) begin
                  state <= 3'h6;
                end else begin
                  if (_T_71) begin
                    state <= 3'h7;
                  end else begin
                    if (_T_68) begin
                      state <= 3'h3;
                    end
                  end
                end
              end else begin
                if (_T_71) begin
                  state <= 3'h7;
                end else begin
                  if (_T_68) begin
                    state <= 3'h3;
                  end
                end
              end
            end
          end else begin
            if (_T_72) begin
              if (_T_123) begin
                state <= 3'h6;
              end else begin
                if (_T_71) begin
                  state <= 3'h7;
                end else begin
                  if (_T_68) begin
                    state <= 3'h3;
                  end
                end
              end
            end else begin
              if (_T_71) begin
                state <= 3'h7;
              end else begin
                if (_T_68) begin
                  state <= 3'h3;
                end
              end
            end
          end
        end
      end
    end
    if (_T_146) begin
      req_tag <= io_req_bits_tag;
    end
    if (_T_146) begin
      count <= 6'h0;
    end else begin
      if (_T_125) begin
        count <= _T_122;
      end else begin
        if (_T_72) begin
          count <= _T_122;
        end
      end
    end
    if (_T_146) begin
      if (cmdHi) begin
        neg_out <= lhs_sign;
      end else begin
        neg_out <= _T_154;
      end
    end else begin
      if (_T_125) begin
        if (_T_143) begin
          neg_out <= 1'h0;
        end
      end
    end
    if (_T_146) begin
      isHi <= cmdHi;
    end
    if (_T_146) begin
      resHi <= 1'h0;
    end else begin
      if (_T_125) begin
        if (_T_134) begin
          resHi <= isHi;
        end else begin
          if (_T_72) begin
            if (_T_123) begin
              resHi <= isHi;
            end else begin
              if (_T_71) begin
                resHi <= 1'h0;
              end
            end
          end else begin
            if (_T_71) begin
              resHi <= 1'h0;
            end
          end
        end
      end else begin
        if (_T_72) begin
          if (_T_123) begin
            resHi <= isHi;
          end else begin
            if (_T_71) begin
              resHi <= 1'h0;
            end
          end
        end else begin
          if (_T_71) begin
            resHi <= 1'h0;
          end
        end
      end
    end
    if (_T_146) begin
      divisor <= _T_156;
    end else begin
      if (_T_68) begin
        if (_T_70) begin
          divisor <= subtractor;
        end
      end
    end
    if (_T_146) begin
      remainder <= {{34'd0}, lhs_in};
    end else begin
      if (_T_125) begin
        remainder <= {{1'd0}, _T_133};
      end else begin
        if (_T_72) begin
          remainder <= _T_120;
        end else begin
          if (_T_71) begin
            remainder <= {{34'd0}, negated_remainder};
          end else begin
            if (_T_68) begin
              if (_T_69) begin
                remainder <= {{34'd0}, negated_remainder};
              end
            end
          end
        end
      end
    end
  end
endmodule
module PlusArgTimeout( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220225.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220226.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220227.4]
  input  [31:0] io_count // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220228.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 25:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220233.4]
  wire  _T_5; // @[PlusArg.scala 27:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220235.4]
  wire  _T_6; // @[PlusArg.scala 28:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220237.6]
  wire  _T_8; // @[PlusArg.scala 28:12:shc.marmotcaravel.MarmotCaravelConfig.fir@220239.6]
  wire  _T_9; // @[PlusArg.scala 28:12:shc.marmotcaravel.MarmotCaravelConfig.fir@220240.6]
  plusarg_reader #(.FORMAT("max_core_cycles=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 25:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220233.4]
    .out(plusarg_reader_out)
  );
  assign _T_5 = plusarg_reader_out > 32'h0; // @[PlusArg.scala 27:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220235.4]
  assign _T_6 = io_count < plusarg_reader_out; // @[PlusArg.scala 28:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220237.6]
  assign _T_8 = _T_6 | reset; // @[PlusArg.scala 28:12:shc.marmotcaravel.MarmotCaravelConfig.fir@220239.6]
  assign _T_9 = _T_8 == 1'h0; // @[PlusArg.scala 28:12:shc.marmotcaravel.MarmotCaravelConfig.fir@220240.6]
  always @(posedge clock) begin
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_5 & _T_9) begin
          $fwrite(32'h80000002,"Assertion failed: Timeout exceeded: Kill the emulation after INT rdtime cycles. Off if 0.\n    at PlusArg.scala:28 assert (io.count < max, s\"Timeout exceeded: $docstring\")\n"); // @[PlusArg.scala 28:12:shc.marmotcaravel.MarmotCaravelConfig.fir@220242.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_5 & _T_9) begin
          $fatal; // @[PlusArg.scala 28:12:shc.marmotcaravel.MarmotCaravelConfig.fir@220243.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Rocket( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220247.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220248.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220249.4]
  input         io_hartid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input         io_interrupts_debug, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input         io_interrupts_mtip, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input         io_interrupts_msip, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input         io_interrupts_meip, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_imem_might_request, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_imem_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [31:0] io_imem_req_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_imem_req_bits_speculative, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_imem_sfence_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_imem_resp_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input         io_imem_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input         io_imem_resp_bits_btb_taken, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input         io_imem_resp_bits_btb_bridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input  [4:0]  io_imem_resp_bits_btb_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input  [7:0]  io_imem_resp_bits_btb_bht_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input  [31:0] io_imem_resp_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input  [31:0] io_imem_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input         io_imem_resp_bits_xcpt_ae_inst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input         io_imem_resp_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_imem_btb_update_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [4:0]  io_imem_btb_update_bits_prediction_entry, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [31:0] io_imem_btb_update_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_imem_btb_update_bits_isValid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [31:0] io_imem_btb_update_bits_br_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [1:0]  io_imem_btb_update_bits_cfiType, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_imem_bht_update_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [7:0]  io_imem_bht_update_bits_prediction_history, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [31:0] io_imem_bht_update_bits_pc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_imem_bht_update_bits_branch, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_imem_bht_update_bits_taken, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_imem_bht_update_bits_mispredict, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_imem_flush_icache, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input         io_dmem_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_dmem_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [31:0] io_dmem_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [6:0]  io_dmem_req_bits_tag, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [4:0]  io_dmem_req_bits_cmd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [2:0]  io_dmem_req_bits_typ, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_dmem_s1_kill, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [31:0] io_dmem_s1_data_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input         io_dmem_s2_nack, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input         io_dmem_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input  [6:0]  io_dmem_resp_bits_tag, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input  [31:0] io_dmem_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input         io_dmem_resp_bits_replay, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input         io_dmem_resp_bits_has_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input  [31:0] io_dmem_resp_bits_data_word_bypass, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input         io_dmem_replay_next, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input         io_dmem_s2_xcpt_ma_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input         io_dmem_s2_xcpt_ma_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input         io_dmem_s2_xcpt_pf_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input         io_dmem_s2_xcpt_pf_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input         io_dmem_s2_xcpt_ae_ld, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input         io_dmem_s2_xcpt_ae_st, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input         io_dmem_ordered, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input         io_dmem_perf_grant, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_dmem_keep_clock_enabled, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  input         io_dmem_clock_enabled, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_0_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [1:0]  io_ptw_pmp_0_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_0_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_0_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_0_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [29:0] io_ptw_pmp_0_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [31:0] io_ptw_pmp_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_1_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [1:0]  io_ptw_pmp_1_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_1_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_1_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_1_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [29:0] io_ptw_pmp_1_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [31:0] io_ptw_pmp_1_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_2_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [1:0]  io_ptw_pmp_2_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_2_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_2_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_2_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [29:0] io_ptw_pmp_2_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [31:0] io_ptw_pmp_2_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_3_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [1:0]  io_ptw_pmp_3_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_3_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_3_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_3_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [29:0] io_ptw_pmp_3_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [31:0] io_ptw_pmp_3_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_4_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [1:0]  io_ptw_pmp_4_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_4_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_4_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_4_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [29:0] io_ptw_pmp_4_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [31:0] io_ptw_pmp_4_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_5_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [1:0]  io_ptw_pmp_5_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_5_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_5_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_5_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [29:0] io_ptw_pmp_5_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [31:0] io_ptw_pmp_5_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_6_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [1:0]  io_ptw_pmp_6_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_6_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_6_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_6_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [29:0] io_ptw_pmp_6_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [31:0] io_ptw_pmp_6_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_7_cfg_l, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [1:0]  io_ptw_pmp_7_cfg_a, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_7_cfg_x, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_7_cfg_w, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output        io_ptw_pmp_7_cfg_r, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [29:0] io_ptw_pmp_7_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [31:0] io_ptw_pmp_7_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
  output [31:0] io_ptw_customCSRs_csrs_0_value // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220250.4]
);
  wire  ibuf_clock; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire  ibuf_reset; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire  ibuf_io_imem_ready; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire  ibuf_io_imem_valid; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire  ibuf_io_imem_bits_btb_taken; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire  ibuf_io_imem_bits_btb_bridx; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire [4:0] ibuf_io_imem_bits_btb_entry; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire [7:0] ibuf_io_imem_bits_btb_bht_history; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire [31:0] ibuf_io_imem_bits_pc; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire [31:0] ibuf_io_imem_bits_data; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire  ibuf_io_imem_bits_xcpt_ae_inst; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire  ibuf_io_imem_bits_replay; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire  ibuf_io_kill; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire [31:0] ibuf_io_pc; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire [4:0] ibuf_io_btb_resp_entry; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire [7:0] ibuf_io_btb_resp_bht_history; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire  ibuf_io_inst_0_ready; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire  ibuf_io_inst_0_valid; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire  ibuf_io_inst_0_bits_xcpt0_pf_inst; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire  ibuf_io_inst_0_bits_xcpt0_ae_inst; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire  ibuf_io_inst_0_bits_xcpt1_pf_inst; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire  ibuf_io_inst_0_bits_xcpt1_ae_inst; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire  ibuf_io_inst_0_bits_replay; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire  ibuf_io_inst_0_bits_rvc; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire [31:0] ibuf_io_inst_0_bits_inst_bits; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire [4:0] ibuf_io_inst_0_bits_inst_rd; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire [4:0] ibuf_io_inst_0_bits_inst_rs1; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire [4:0] ibuf_io_inst_0_bits_inst_rs2; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  wire [31:0] ibuf_io_inst_0_bits_raw; // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
  reg [31:0] _T_574 [0:30]; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
  reg [31:0] _RAND_0;
  wire [31:0] _T_574__T_581_data; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
  wire [4:0] _T_574__T_581_addr; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
  reg [31:0] _RAND_1;
  wire [31:0] _T_574__T_589_data; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
  wire [4:0] _T_574__T_589_addr; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
  reg [31:0] _RAND_2;
  wire [31:0] _T_574__T_1298_data; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
  wire [4:0] _T_574__T_1298_addr; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
  wire  _T_574__T_1298_mask; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
  wire  _T_574__T_1298_en; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
  wire  csr_clock; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_reset; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_ungated_clock; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_interrupts_debug; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_interrupts_mtip; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_interrupts_msip; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_interrupts_meip; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_hartid; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [11:0] csr_io_rw_addr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [2:0] csr_io_rw_cmd; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [31:0] csr_io_rw_rdata; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [31:0] csr_io_rw_wdata; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [11:0] csr_io_decode_0_csr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_decode_0_fp_illegal; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_decode_0_fp_csr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_decode_0_read_illegal; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_decode_0_write_illegal; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_decode_0_write_flush; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_csr_stall; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_eret; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_singleStep; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_status_debug; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [31:0] csr_io_status_isa; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [1:0] csr_io_status_dprv; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [1:0] csr_io_status_prv; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_status_sd; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [26:0] csr_io_status_zero2; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [1:0] csr_io_status_sxl; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [1:0] csr_io_status_uxl; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_status_sd_rv32; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [7:0] csr_io_status_zero1; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_status_tsr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_status_tw; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_status_tvm; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_status_mxr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_status_sum; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_status_mprv; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [1:0] csr_io_status_xs; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [1:0] csr_io_status_fs; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [1:0] csr_io_status_mpp; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [1:0] csr_io_status_hpp; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_status_spp; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_status_mpie; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_status_hpie; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_status_spie; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_status_upie; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_status_mie; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_status_hie; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_status_sie; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_status_uie; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [31:0] csr_io_evec; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_exception; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_retire; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [31:0] csr_io_cause; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [31:0] csr_io_pc; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [31:0] csr_io_tval; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [31:0] csr_io_time; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_interrupt; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [31:0] csr_io_interrupt_cause; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_bp_0_control_action; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_bp_0_control_chain; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [1:0] csr_io_bp_0_control_tmatch; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_bp_0_control_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_bp_0_control_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_bp_0_control_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [31:0] csr_io_bp_0_address; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_bp_1_control_action; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [1:0] csr_io_bp_1_control_tmatch; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_bp_1_control_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_bp_1_control_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_bp_1_control_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [31:0] csr_io_bp_1_address; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_0_cfg_l; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [1:0] csr_io_pmp_0_cfg_a; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_0_cfg_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_0_cfg_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_0_cfg_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [29:0] csr_io_pmp_0_addr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [31:0] csr_io_pmp_0_mask; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_1_cfg_l; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [1:0] csr_io_pmp_1_cfg_a; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_1_cfg_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_1_cfg_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_1_cfg_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [29:0] csr_io_pmp_1_addr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [31:0] csr_io_pmp_1_mask; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_2_cfg_l; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [1:0] csr_io_pmp_2_cfg_a; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_2_cfg_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_2_cfg_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_2_cfg_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [29:0] csr_io_pmp_2_addr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [31:0] csr_io_pmp_2_mask; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_3_cfg_l; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [1:0] csr_io_pmp_3_cfg_a; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_3_cfg_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_3_cfg_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_3_cfg_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [29:0] csr_io_pmp_3_addr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [31:0] csr_io_pmp_3_mask; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_4_cfg_l; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [1:0] csr_io_pmp_4_cfg_a; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_4_cfg_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_4_cfg_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_4_cfg_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [29:0] csr_io_pmp_4_addr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [31:0] csr_io_pmp_4_mask; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_5_cfg_l; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [1:0] csr_io_pmp_5_cfg_a; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_5_cfg_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_5_cfg_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_5_cfg_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [29:0] csr_io_pmp_5_addr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [31:0] csr_io_pmp_5_mask; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_6_cfg_l; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [1:0] csr_io_pmp_6_cfg_a; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_6_cfg_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_6_cfg_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_6_cfg_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [29:0] csr_io_pmp_6_addr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [31:0] csr_io_pmp_6_mask; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_7_cfg_l; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [1:0] csr_io_pmp_7_cfg_a; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_7_cfg_x; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_7_cfg_w; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_pmp_7_cfg_r; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [29:0] csr_io_pmp_7_addr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [31:0] csr_io_pmp_7_mask; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [31:0] csr_io_inst_0; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_trace_0_valid; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [31:0] csr_io_trace_0_iaddr; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire [31:0] csr_io_trace_0_insn; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  csr_io_trace_0_exception; // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
  wire  bpu_io_status_debug; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
  wire  bpu_io_bp_0_control_action; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
  wire  bpu_io_bp_0_control_chain; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
  wire [1:0] bpu_io_bp_0_control_tmatch; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
  wire  bpu_io_bp_0_control_x; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
  wire  bpu_io_bp_0_control_w; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
  wire  bpu_io_bp_0_control_r; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
  wire [31:0] bpu_io_bp_0_address; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
  wire  bpu_io_bp_1_control_action; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
  wire [1:0] bpu_io_bp_1_control_tmatch; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
  wire  bpu_io_bp_1_control_x; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
  wire  bpu_io_bp_1_control_w; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
  wire  bpu_io_bp_1_control_r; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
  wire [31:0] bpu_io_bp_1_address; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
  wire [31:0] bpu_io_pc; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
  wire [31:0] bpu_io_ea; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
  wire  bpu_io_xcpt_if; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
  wire  bpu_io_xcpt_ld; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
  wire  bpu_io_xcpt_st; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
  wire  bpu_io_debug_if; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
  wire  bpu_io_debug_ld; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
  wire  bpu_io_debug_st; // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
  wire [3:0] alu_io_fn; // @[RocketCore.scala 339:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220983.4]
  wire [31:0] alu_io_in2; // @[RocketCore.scala 339:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220983.4]
  wire [31:0] alu_io_in1; // @[RocketCore.scala 339:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220983.4]
  wire [31:0] alu_io_out; // @[RocketCore.scala 339:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220983.4]
  wire [31:0] alu_io_adder_out; // @[RocketCore.scala 339:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220983.4]
  wire  alu_io_cmp_out; // @[RocketCore.scala 339:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220983.4]
  wire  div_clock; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
  wire  div_reset; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
  wire  div_io_req_ready; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
  wire  div_io_req_valid; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
  wire [3:0] div_io_req_bits_fn; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
  wire [31:0] div_io_req_bits_in1; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
  wire [31:0] div_io_req_bits_in2; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
  wire [4:0] div_io_req_bits_tag; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
  wire  div_io_kill; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
  wire  div_io_resp_ready; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
  wire  div_io_resp_valid; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
  wire [31:0] div_io_resp_bits_data; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
  wire [4:0] div_io_resp_bits_tag; // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
  wire  PlusArgTimeout_clock; // @[PlusArg.scala 51:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222015.4]
  wire  PlusArgTimeout_reset; // @[PlusArg.scala 51:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222015.4]
  wire [31:0] PlusArgTimeout_io_count; // @[PlusArg.scala 51:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222015.4]
  reg  imem_might_request_reg; // @[RocketCore.scala 98:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220257.4]
  reg [31:0] _RAND_3;
  reg  ex_ctrl_branch; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
  reg [31:0] _RAND_4;
  reg  ex_ctrl_jal; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
  reg [31:0] _RAND_5;
  reg  ex_ctrl_jalr; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
  reg [31:0] _RAND_6;
  reg  ex_ctrl_rxs2; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
  reg [31:0] _RAND_7;
  reg [1:0] ex_ctrl_sel_alu2; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
  reg [31:0] _RAND_8;
  reg [1:0] ex_ctrl_sel_alu1; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
  reg [31:0] _RAND_9;
  reg [2:0] ex_ctrl_sel_imm; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
  reg [31:0] _RAND_10;
  reg [3:0] ex_ctrl_alu_fn; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
  reg [31:0] _RAND_11;
  reg  ex_ctrl_mem; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
  reg [31:0] _RAND_12;
  reg [4:0] ex_ctrl_mem_cmd; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
  reg [31:0] _RAND_13;
  reg [2:0] ex_ctrl_mem_type; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
  reg [31:0] _RAND_14;
  reg  ex_ctrl_div; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
  reg [31:0] _RAND_15;
  reg  ex_ctrl_wxd; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
  reg [31:0] _RAND_16;
  reg [2:0] ex_ctrl_csr; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
  reg [31:0] _RAND_17;
  reg  ex_ctrl_fence_i; // @[RocketCore.scala 168:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220261.4]
  reg [31:0] _RAND_18;
  reg  mem_ctrl_fp; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220262.4]
  reg [31:0] _RAND_19;
  reg  mem_ctrl_rocc; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220262.4]
  reg [31:0] _RAND_20;
  reg  mem_ctrl_branch; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220262.4]
  reg [31:0] _RAND_21;
  reg  mem_ctrl_jal; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220262.4]
  reg [31:0] _RAND_22;
  reg  mem_ctrl_jalr; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220262.4]
  reg [31:0] _RAND_23;
  reg  mem_ctrl_mem; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220262.4]
  reg [31:0] _RAND_24;
  reg  mem_ctrl_mul; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220262.4]
  reg [31:0] _RAND_25;
  reg  mem_ctrl_div; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220262.4]
  reg [31:0] _RAND_26;
  reg  mem_ctrl_wxd; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220262.4]
  reg [31:0] _RAND_27;
  reg [2:0] mem_ctrl_csr; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220262.4]
  reg [31:0] _RAND_28;
  reg  mem_ctrl_fence_i; // @[RocketCore.scala 169:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220262.4]
  reg [31:0] _RAND_29;
  reg  wb_ctrl_rocc; // @[RocketCore.scala 170:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220263.4]
  reg [31:0] _RAND_30;
  reg  wb_ctrl_mem; // @[RocketCore.scala 170:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220263.4]
  reg [31:0] _RAND_31;
  reg  wb_ctrl_div; // @[RocketCore.scala 170:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220263.4]
  reg [31:0] _RAND_32;
  reg  wb_ctrl_wxd; // @[RocketCore.scala 170:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220263.4]
  reg [31:0] _RAND_33;
  reg [2:0] wb_ctrl_csr; // @[RocketCore.scala 170:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220263.4]
  reg [31:0] _RAND_34;
  reg  wb_ctrl_fence_i; // @[RocketCore.scala 170:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220263.4]
  reg [31:0] _RAND_35;
  reg  ex_reg_xcpt_interrupt; // @[RocketCore.scala 172:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220264.4]
  reg [31:0] _RAND_36;
  reg  ex_reg_valid; // @[RocketCore.scala 173:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220265.4]
  reg [31:0] _RAND_37;
  reg  ex_reg_rvc; // @[RocketCore.scala 174:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220266.4]
  reg [31:0] _RAND_38;
  reg [4:0] ex_reg_btb_resp_entry; // @[RocketCore.scala 175:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220267.4]
  reg [31:0] _RAND_39;
  reg [7:0] ex_reg_btb_resp_bht_history; // @[RocketCore.scala 175:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220267.4]
  reg [31:0] _RAND_40;
  reg  ex_reg_xcpt; // @[RocketCore.scala 176:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220268.4]
  reg [31:0] _RAND_41;
  reg  ex_reg_flush_pipe; // @[RocketCore.scala 177:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220269.4]
  reg [31:0] _RAND_42;
  reg  ex_reg_load_use; // @[RocketCore.scala 178:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220270.4]
  reg [31:0] _RAND_43;
  reg [31:0] ex_reg_cause; // @[RocketCore.scala 179:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220271.4]
  reg [31:0] _RAND_44;
  reg  ex_reg_replay; // @[RocketCore.scala 180:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220272.4]
  reg [31:0] _RAND_45;
  reg [31:0] ex_reg_pc; // @[RocketCore.scala 181:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220273.4]
  reg [31:0] _RAND_46;
  reg [31:0] ex_reg_inst; // @[RocketCore.scala 182:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220274.4]
  reg [31:0] _RAND_47;
  reg [31:0] ex_reg_raw_inst; // @[RocketCore.scala 183:28:shc.marmotcaravel.MarmotCaravelConfig.fir@220275.4]
  reg [31:0] _RAND_48;
  reg  mem_reg_xcpt_interrupt; // @[RocketCore.scala 185:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220276.4]
  reg [31:0] _RAND_49;
  reg  mem_reg_valid; // @[RocketCore.scala 186:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220277.4]
  reg [31:0] _RAND_50;
  reg  mem_reg_rvc; // @[RocketCore.scala 187:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220278.4]
  reg [31:0] _RAND_51;
  reg [4:0] mem_reg_btb_resp_entry; // @[RocketCore.scala 188:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220279.4]
  reg [31:0] _RAND_52;
  reg [7:0] mem_reg_btb_resp_bht_history; // @[RocketCore.scala 188:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220279.4]
  reg [31:0] _RAND_53;
  reg  mem_reg_xcpt; // @[RocketCore.scala 189:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220280.4]
  reg [31:0] _RAND_54;
  reg  mem_reg_replay; // @[RocketCore.scala 190:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220281.4]
  reg [31:0] _RAND_55;
  reg  mem_reg_flush_pipe; // @[RocketCore.scala 191:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220282.4]
  reg [31:0] _RAND_56;
  reg [31:0] mem_reg_cause; // @[RocketCore.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220283.4]
  reg [31:0] _RAND_57;
  reg  mem_reg_slow_bypass; // @[RocketCore.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220284.4]
  reg [31:0] _RAND_58;
  reg  mem_reg_load; // @[RocketCore.scala 194:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220285.4]
  reg [31:0] _RAND_59;
  reg  mem_reg_store; // @[RocketCore.scala 195:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220286.4]
  reg [31:0] _RAND_60;
  reg  mem_reg_sfence; // @[RocketCore.scala 196:27:shc.marmotcaravel.MarmotCaravelConfig.fir@220287.4]
  reg [31:0] _RAND_61;
  reg [31:0] mem_reg_pc; // @[RocketCore.scala 197:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220288.4]
  reg [31:0] _RAND_62;
  reg [31:0] mem_reg_inst; // @[RocketCore.scala 198:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220289.4]
  reg [31:0] _RAND_63;
  reg [31:0] mem_reg_raw_inst; // @[RocketCore.scala 199:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220290.4]
  reg [31:0] _RAND_64;
  reg [31:0] mem_reg_wdata; // @[RocketCore.scala 200:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220291.4]
  reg [31:0] _RAND_65;
  reg [31:0] mem_reg_rs2; // @[RocketCore.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220292.4]
  reg [31:0] _RAND_66;
  reg  mem_br_taken; // @[RocketCore.scala 202:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220293.4]
  reg [31:0] _RAND_67;
  reg  wb_reg_valid; // @[RocketCore.scala 205:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220296.4]
  reg [31:0] _RAND_68;
  reg  wb_reg_xcpt; // @[RocketCore.scala 206:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220297.4]
  reg [31:0] _RAND_69;
  reg  wb_reg_replay; // @[RocketCore.scala 207:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220298.4]
  reg [31:0] _RAND_70;
  reg  wb_reg_flush_pipe; // @[RocketCore.scala 208:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220299.4]
  reg [31:0] _RAND_71;
  reg [31:0] wb_reg_cause; // @[RocketCore.scala 209:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220300.4]
  reg [31:0] _RAND_72;
  reg  wb_reg_sfence; // @[RocketCore.scala 210:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220301.4]
  reg [31:0] _RAND_73;
  reg [31:0] wb_reg_pc; // @[RocketCore.scala 211:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220302.4]
  reg [31:0] _RAND_74;
  reg [31:0] wb_reg_inst; // @[RocketCore.scala 212:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220303.4]
  reg [31:0] _RAND_75;
  reg [31:0] wb_reg_raw_inst; // @[RocketCore.scala 213:28:shc.marmotcaravel.MarmotCaravelConfig.fir@220304.4]
  reg [31:0] _RAND_76;
  reg [31:0] wb_reg_wdata; // @[RocketCore.scala 214:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220305.4]
  reg [31:0] _RAND_77;
  wire  replay_wb_common; // @[RocketCore.scala 563:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221535.4]
  wire  replay_wb_rocc; // @[RocketCore.scala 564:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221536.4]
  wire  replay_wb; // @[RocketCore.scala 565:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221539.4]
  wire  _T_1236; // @[RocketCore.scala 542:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221494.4]
  wire  _T_1237; // @[RocketCore.scala 542:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221495.4]
  wire  _T_1248; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221506.4]
  wire  _T_1239; // @[RocketCore.scala 543:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221497.4]
  wire  _T_1249; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221507.4]
  wire  _T_1241; // @[RocketCore.scala 544:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221499.4]
  wire  _T_1250; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221508.4]
  wire  _T_1243; // @[RocketCore.scala 545:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221501.4]
  wire  _T_1251; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221509.4]
  wire  _T_1245; // @[RocketCore.scala 546:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221503.4]
  wire  _T_1252; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221510.4]
  wire  _T_1247; // @[RocketCore.scala 547:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221505.4]
  wire  wb_xcpt; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221511.4]
  wire  _T_1274; // @[RocketCore.scala 566:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221540.4]
  wire  _T_1275; // @[RocketCore.scala 566:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221541.4]
  wire  take_pc_wb; // @[RocketCore.scala 566:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221542.4]
  wire  _T_923; // @[RocketCore.scala 425:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221106.4]
  wire  ex_pc_valid; // @[RocketCore.scala 425:51:shc.marmotcaravel.MarmotCaravelConfig.fir@221107.4]
  wire  _T_1096; // @[RocketCore.scala 448:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221286.4]
  wire [31:0] _T_1097; // @[RocketCore.scala 448:106:shc.marmotcaravel.MarmotCaravelConfig.fir@221287.4]
  wire [31:0] _T_965; // @[RocketCore.scala 444:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221154.4]
  wire  _T_966; // @[RocketCore.scala 445:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221155.4]
  wire  _T_968; // @[RocketCore.scala 932:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221157.4]
  wire  _T_969; // @[RocketCore.scala 932:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221158.4]
  wire  _T_1024; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221213.4]
  wire [10:0] _T_974; // @[RocketCore.scala 933:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221163.4]
  wire [10:0] _T_1023; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221212.4]
  wire [11:0] _T_1025; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221214.4]
  wire [7:0] _T_978; // @[RocketCore.scala 934:65:shc.marmotcaravel.MarmotCaravelConfig.fir@221167.4]
  wire [7:0] _T_979; // @[RocketCore.scala 934:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221168.4]
  wire [7:0] _T_980; // @[RocketCore.scala 934:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221169.4]
  wire [7:0] _T_1021; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221210.4]
  wire  _T_985; // @[RocketCore.scala 936:39:shc.marmotcaravel.MarmotCaravelConfig.fir@221174.4]
  wire  _T_986; // @[RocketCore.scala 936:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221175.4]
  wire  _T_988; // @[RocketCore.scala 937:39:shc.marmotcaravel.MarmotCaravelConfig.fir@221177.4]
  wire  _T_989; // @[RocketCore.scala 937:43:shc.marmotcaravel.MarmotCaravelConfig.fir@221178.4]
  wire  _T_1020; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221209.4]
  wire [8:0] _T_1022; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221211.4]
  wire [20:0] _T_1026; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221215.4]
  wire [5:0] _T_996; // @[RocketCore.scala 938:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221185.4]
  wire [3:0] _T_1002; // @[RocketCore.scala 940:57:shc.marmotcaravel.MarmotCaravelConfig.fir@221191.4]
  wire [3:0] _T_1005; // @[RocketCore.scala 941:52:shc.marmotcaravel.MarmotCaravelConfig.fir@221194.4]
  wire [9:0] _T_1018; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221207.4]
  wire [10:0] _T_1019; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221208.4]
  wire [31:0] _T_1027; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221216.4]
  wire [31:0] _T_1028; // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221217.4]
  wire [7:0] _T_1083; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221272.4]
  wire  _T_1082; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221271.4]
  wire [8:0] _T_1084; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221273.4]
  wire [20:0] _T_1088; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221277.4]
  wire [9:0] _T_1080; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221269.4]
  wire [10:0] _T_1081; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221270.4]
  wire [31:0] _T_1089; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221278.4]
  wire [31:0] _T_1090; // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221279.4]
  wire [3:0] _T_1091; // @[RocketCore.scala 447:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221280.4]
  wire [31:0] _T_1092; // @[RocketCore.scala 446:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221281.4]
  wire [31:0] _T_1093; // @[RocketCore.scala 445:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221282.4]
  wire [31:0] _T_1095; // @[RocketCore.scala 444:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221284.4]
  wire [31:0] mem_br_target; // @[RocketCore.scala 444:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221285.4]
  wire [31:0] _T_1098; // @[RocketCore.scala 448:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221288.4]
  wire [31:0] _T_1099; // @[RocketCore.scala 448:129:shc.marmotcaravel.MarmotCaravelConfig.fir@221289.4]
  wire [31:0] _T_1100; // @[RocketCore.scala 448:129:shc.marmotcaravel.MarmotCaravelConfig.fir@221290.4]
  wire [31:0] mem_npc; // @[RocketCore.scala 448:141:shc.marmotcaravel.MarmotCaravelConfig.fir@221291.4]
  wire  _T_1101; // @[RocketCore.scala 450:30:shc.marmotcaravel.MarmotCaravelConfig.fir@221292.4]
  wire  _T_1102; // @[RocketCore.scala 451:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221293.4]
  wire  _T_1103; // @[RocketCore.scala 451:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221294.4]
  wire  _T_1104; // @[RocketCore.scala 451:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221295.4]
  wire  mem_wrong_npc; // @[RocketCore.scala 450:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221296.4]
  wire  _T_1120; // @[RocketCore.scala 458:54:shc.marmotcaravel.MarmotCaravelConfig.fir@221317.4]
  wire  take_pc_mem; // @[RocketCore.scala 458:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  wire  take_pc_mem_wb; // @[RocketCore.scala 218:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220309.4]
  wire [31:0] _T_263; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220318.4]
  wire  _T_264; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220319.4]
  wire [31:0] _T_265; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220320.4]
  wire  _T_266; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220321.4]
  wire [31:0] _T_267; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220322.4]
  wire  _T_268; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220323.4]
  wire [31:0] _T_269; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220324.4]
  wire  _T_270; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220325.4]
  wire [31:0] _T_271; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220326.4]
  wire  _T_272; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220327.4]
  wire [31:0] _T_273; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220328.4]
  wire  _T_274; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220329.4]
  wire [31:0] _T_275; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220330.4]
  wire  _T_276; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220331.4]
  wire [31:0] _T_277; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220332.4]
  wire  _T_278; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220333.4]
  wire [31:0] _T_279; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220334.4]
  wire  _T_280; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220335.4]
  wire [31:0] _T_281; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220336.4]
  wire  _T_282; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220337.4]
  wire  _T_284; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220339.4]
  wire [31:0] _T_285; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220340.4]
  wire  _T_286; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220341.4]
  wire  _T_288; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220343.4]
  wire [31:0] _T_289; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220344.4]
  wire  _T_290; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220345.4]
  wire [31:0] _T_291; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220346.4]
  wire  _T_292; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220347.4]
  wire [31:0] _T_293; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220348.4]
  wire  _T_294; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220349.4]
  wire  _T_295; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220350.4]
  wire  _T_296; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220351.4]
  wire  _T_297; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220352.4]
  wire [31:0] _T_298; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220353.4]
  wire  _T_299; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220354.4]
  wire [31:0] _T_300; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220355.4]
  wire  _T_301; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220356.4]
  wire [31:0] _T_302; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220357.4]
  wire  _T_303; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220358.4]
  wire  _T_305; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220360.4]
  wire  _T_307; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220362.4]
  wire  _T_308; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220363.4]
  wire  _T_309; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220364.4]
  wire  _T_310; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220365.4]
  wire  _T_311; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220366.4]
  wire  _T_312; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220367.4]
  wire  _T_313; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220368.4]
  wire  _T_314; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220369.4]
  wire  _T_315; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220370.4]
  wire  _T_316; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220371.4]
  wire  _T_317; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220372.4]
  wire  _T_318; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220373.4]
  wire  _T_319; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220374.4]
  wire  _T_320; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220375.4]
  wire  _T_321; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220376.4]
  wire  _T_322; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220377.4]
  wire  _T_323; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220378.4]
  wire  _T_324; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220379.4]
  wire  _T_325; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220380.4]
  wire  _T_326; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220381.4]
  wire  _T_327; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220382.4]
  wire  id_ctrl_legal; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220383.4]
  wire [31:0] _T_329; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220384.4]
  wire  id_ctrl_branch; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220385.4]
  wire [31:0] _T_332; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220387.4]
  wire  id_ctrl_jal; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220388.4]
  wire [31:0] _T_335; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220390.4]
  wire  id_ctrl_jalr; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220391.4]
  wire [31:0] _T_338; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220393.4]
  wire  _T_339; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220394.4]
  wire [31:0] _T_340; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220395.4]
  wire  _T_341; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220396.4]
  wire [31:0] _T_342; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220397.4]
  wire  _T_343; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220398.4]
  wire  _T_345; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220400.4]
  wire  id_ctrl_rxs2; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220401.4]
  wire [31:0] _T_347; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220402.4]
  wire  _T_348; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220403.4]
  wire [31:0] _T_349; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220404.4]
  wire  _T_350; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220405.4]
  wire [31:0] _T_351; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220406.4]
  wire  _T_352; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220407.4]
  wire [31:0] _T_353; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220408.4]
  wire  _T_354; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220409.4]
  wire  _T_356; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220411.4]
  wire  _T_357; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220412.4]
  wire  id_ctrl_rxs1; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220413.4]
  wire [31:0] _T_359; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220414.4]
  wire  _T_360; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220415.4]
  wire [31:0] _T_361; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220416.4]
  wire  _T_362; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220417.4]
  wire [31:0] _T_363; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220418.4]
  wire  _T_364; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220419.4]
  wire [31:0] _T_365; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220420.4]
  wire  _T_366; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220421.4]
  wire  _T_368; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220423.4]
  wire  _T_369; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220424.4]
  wire  _T_370; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220425.4]
  wire  _T_371; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220426.4]
  wire  _T_373; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220428.4]
  wire [31:0] _T_374; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220429.4]
  wire  _T_375; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220430.4]
  wire  _T_377; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220432.4]
  wire  _T_378; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220433.4]
  wire [1:0] id_ctrl_sel_alu2; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220434.4]
  wire [31:0] _T_380; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220435.4]
  wire  _T_381; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220436.4]
  wire  _T_383; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220438.4]
  wire  _T_384; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220439.4]
  wire  _T_385; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220440.4]
  wire [31:0] _T_386; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220441.4]
  wire  _T_387; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220442.4]
  wire  _T_389; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220444.4]
  wire [1:0] id_ctrl_sel_alu1; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220445.4]
  wire [31:0] _T_391; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220446.4]
  wire  _T_392; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220447.4]
  wire  _T_394; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220449.4]
  wire  _T_396; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220451.4]
  wire  _T_398; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220453.4]
  wire  _T_400; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220455.4]
  wire [31:0] _T_401; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220456.4]
  wire  _T_402; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220457.4]
  wire [31:0] _T_403; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220458.4]
  wire  _T_404; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220459.4]
  wire  _T_406; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220461.4]
  wire  _T_407; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220462.4]
  wire [1:0] _T_408; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220463.4]
  wire [2:0] id_ctrl_sel_imm; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220464.4]
  wire [31:0] _T_413; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220468.4]
  wire  _T_414; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220469.4]
  wire [31:0] _T_415; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220470.4]
  wire  _T_416; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220471.4]
  wire [31:0] _T_417; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220472.4]
  wire  _T_418; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220473.4]
  wire [31:0] _T_419; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220474.4]
  wire  _T_420; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220475.4]
  wire  _T_422; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220477.4]
  wire  _T_423; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220478.4]
  wire  _T_424; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220479.4]
  wire [31:0] _T_425; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220480.4]
  wire  _T_426; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220481.4]
  wire [31:0] _T_427; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220482.4]
  wire  _T_428; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220483.4]
  wire [31:0] _T_429; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220484.4]
  wire  _T_430; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220485.4]
  wire [31:0] _T_431; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220486.4]
  wire  _T_432; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220487.4]
  wire [31:0] _T_433; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220488.4]
  wire  _T_434; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220489.4]
  wire [31:0] _T_435; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220490.4]
  wire  _T_436; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220491.4]
  wire [31:0] _T_437; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220492.4]
  wire  _T_438; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220493.4]
  wire  _T_440; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220495.4]
  wire  _T_441; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220496.4]
  wire  _T_442; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220497.4]
  wire  _T_443; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220498.4]
  wire  _T_444; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220499.4]
  wire  _T_445; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220500.4]
  wire [31:0] _T_446; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220501.4]
  wire  _T_447; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220502.4]
  wire [31:0] _T_448; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220503.4]
  wire  _T_449; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220504.4]
  wire [31:0] _T_450; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220505.4]
  wire  _T_451; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220506.4]
  wire [31:0] _T_452; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220507.4]
  wire  _T_453; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220508.4]
  wire [31:0] _T_454; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220509.4]
  wire  _T_455; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220510.4]
  wire  _T_457; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220512.4]
  wire  _T_458; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220513.4]
  wire  _T_459; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220514.4]
  wire  _T_460; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220515.4]
  wire [31:0] _T_461; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220516.4]
  wire  _T_462; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220517.4]
  wire [31:0] _T_463; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220518.4]
  wire  _T_464; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220519.4]
  wire [31:0] _T_465; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220520.4]
  wire  _T_466; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220521.4]
  wire  _T_468; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220523.4]
  wire  _T_469; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220524.4]
  wire  _T_470; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220525.4]
  wire  _T_471; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220526.4]
  wire [1:0] _T_472; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220527.4]
  wire [1:0] _T_473; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220528.4]
  wire [3:0] id_ctrl_alu_fn; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220529.4]
  wire [31:0] _T_475; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220530.4]
  wire  _T_476; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220531.4]
  wire  _T_478; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220533.4]
  wire  _T_479; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220534.4]
  wire  _T_480; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220535.4]
  wire  _T_481; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220536.4]
  wire  _T_482; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220537.4]
  wire  id_ctrl_mem; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220538.4]
  wire [31:0] _T_484; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220539.4]
  wire  _T_485; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220540.4]
  wire [31:0] _T_486; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220541.4]
  wire  _T_487; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220542.4]
  wire [31:0] _T_488; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220543.4]
  wire  _T_489; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220544.4]
  wire [31:0] _T_490; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220545.4]
  wire  _T_491; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220546.4]
  wire  _T_493; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220548.4]
  wire  _T_494; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220549.4]
  wire  _T_495; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220550.4]
  wire [31:0] _T_496; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220551.4]
  wire  _T_497; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220552.4]
  wire [31:0] _T_498; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220553.4]
  wire  _T_499; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220554.4]
  wire  _T_501; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220556.4]
  wire [31:0] _T_502; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220557.4]
  wire  _T_503; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220558.4]
  wire [31:0] _T_504; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220559.4]
  wire  _T_505; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220560.4]
  wire [31:0] _T_506; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220561.4]
  wire  _T_507; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220562.4]
  wire  _T_509; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220564.4]
  wire  _T_510; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220565.4]
  wire  _T_511; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220566.4]
  wire [31:0] _T_512; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220567.4]
  wire  _T_513; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220568.4]
  wire [1:0] _T_515; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220570.4]
  wire [1:0] _T_516; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220571.4]
  wire [2:0] _T_517; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220572.4]
  wire [4:0] id_ctrl_mem_cmd; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220573.4]
  wire [31:0] _T_519; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220574.4]
  wire  _T_520; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220575.4]
  wire [31:0] _T_522; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220577.4]
  wire  _T_523; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220578.4]
  wire [31:0] _T_525; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220580.4]
  wire  _T_526; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220581.4]
  wire [1:0] _T_528; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220583.4]
  wire [2:0] id_ctrl_mem_type; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220584.4]
  wire [31:0] _T_530; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220585.4]
  wire  id_ctrl_div; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220586.4]
  wire  _T_534; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220589.4]
  wire  _T_536; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220591.4]
  wire [31:0] _T_537; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220592.4]
  wire  _T_538; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220593.4]
  wire  _T_540; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220595.4]
  wire [31:0] _T_541; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220596.4]
  wire  _T_542; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220597.4]
  wire  _T_544; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220599.4]
  wire  _T_545; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220600.4]
  wire  _T_546; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220601.4]
  wire  _T_547; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220602.4]
  wire  _T_548; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220603.4]
  wire  id_ctrl_wxd; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220604.4]
  wire [31:0] _T_550; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220605.4]
  wire  _T_551; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220606.4]
  wire  _T_554; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220609.4]
  wire  _T_557; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220612.4]
  wire [1:0] _T_559; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220614.4]
  wire [2:0] id_ctrl_csr; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220615.4]
  wire [31:0] _T_561; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220616.4]
  wire  id_ctrl_fence_i; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220617.4]
  wire [31:0] _T_564; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220619.4]
  wire  id_ctrl_fence; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220620.4]
  wire [31:0] _T_567; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220622.4]
  wire  id_ctrl_amo; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220623.4]
  reg  id_reg_fence; // @[RocketCore.scala 236:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220656.4]
  reg [31:0] _RAND_78;
  wire  _T_577; // @[RocketCore.scala 917:45:shc.marmotcaravel.MarmotCaravelConfig.fir@220660.4]
  wire [4:0] _T_579; // @[RocketCore.scala 911:44:shc.marmotcaravel.MarmotCaravelConfig.fir@220662.4]
  wire [31:0] _T_582; // @[RocketCore.scala 917:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220665.4]
  wire [4:0] _T_587; // @[RocketCore.scala 911:44:shc.marmotcaravel.MarmotCaravelConfig.fir@220671.4]
  wire [31:0] _T_590; // @[RocketCore.scala 917:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220674.4]
  wire  _T_661; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@220749.4]
  wire  _T_662; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@220750.4]
  wire  _T_663; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@220751.4]
  wire  _T_664; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@220752.4]
  wire  id_csr_en; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@220753.4]
  wire  id_system_insn; // @[RocketCore.scala 246:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220754.4]
  wire  id_csr_ren; // @[RocketCore.scala 247:54:shc.marmotcaravel.MarmotCaravelConfig.fir@220759.4]
  wire  _T_669; // @[RocketCore.scala 249:50:shc.marmotcaravel.MarmotCaravelConfig.fir@220761.4]
  wire  id_sfence; // @[RocketCore.scala 249:31:shc.marmotcaravel.MarmotCaravelConfig.fir@220762.4]
  wire  _T_670; // @[RocketCore.scala 250:32:shc.marmotcaravel.MarmotCaravelConfig.fir@220763.4]
  wire  _T_671; // @[RocketCore.scala 250:67:shc.marmotcaravel.MarmotCaravelConfig.fir@220764.4]
  wire  _T_672; // @[RocketCore.scala 250:64:shc.marmotcaravel.MarmotCaravelConfig.fir@220765.4]
  wire  _T_673; // @[RocketCore.scala 250:79:shc.marmotcaravel.MarmotCaravelConfig.fir@220766.4]
  wire  id_csr_flush; // @[RocketCore.scala 250:50:shc.marmotcaravel.MarmotCaravelConfig.fir@220767.4]
  wire  _T_674; // @[RocketCore.scala 258:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220768.4]
  wire  _T_676; // @[RocketCore.scala 259:55:shc.marmotcaravel.MarmotCaravelConfig.fir@220770.4]
  wire  _T_677; // @[RocketCore.scala 259:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220771.4]
  wire  _T_678; // @[RocketCore.scala 259:34:shc.marmotcaravel.MarmotCaravelConfig.fir@220772.4]
  wire  _T_679; // @[RocketCore.scala 258:40:shc.marmotcaravel.MarmotCaravelConfig.fir@220773.4]
  wire  _T_680; // @[RocketCore.scala 260:38:shc.marmotcaravel.MarmotCaravelConfig.fir@220774.4]
  wire  _T_681; // @[RocketCore.scala 260:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220775.4]
  wire  _T_682; // @[RocketCore.scala 260:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220776.4]
  wire  _T_683; // @[RocketCore.scala 259:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220777.4]
  wire  _T_691; // @[RocketCore.scala 263:51:shc.marmotcaravel.MarmotCaravelConfig.fir@220785.4]
  wire  _T_692; // @[RocketCore.scala 263:33:shc.marmotcaravel.MarmotCaravelConfig.fir@220786.4]
  wire  _T_693; // @[RocketCore.scala 263:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220787.4]
  wire  _T_694; // @[RocketCore.scala 262:47:shc.marmotcaravel.MarmotCaravelConfig.fir@220788.4]
  wire  _T_700; // @[RocketCore.scala 266:64:shc.marmotcaravel.MarmotCaravelConfig.fir@220794.4]
  wire  _T_701; // @[RocketCore.scala 266:49:shc.marmotcaravel.MarmotCaravelConfig.fir@220795.4]
  wire  _T_702; // @[RocketCore.scala 266:15:shc.marmotcaravel.MarmotCaravelConfig.fir@220796.4]
  wire  id_illegal_insn; // @[RocketCore.scala 265:73:shc.marmotcaravel.MarmotCaravelConfig.fir@220797.4]
  wire  id_amo_aq; // @[RocketCore.scala 269:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220803.4]
  wire  id_amo_rl; // @[RocketCore.scala 270:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220804.4]
  wire  _T_708; // @[RocketCore.scala 271:52:shc.marmotcaravel.MarmotCaravelConfig.fir@220805.4]
  wire  id_fence_next; // @[RocketCore.scala 271:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220806.4]
  wire  _T_709; // @[RocketCore.scala 272:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220807.4]
  wire  id_mem_busy; // @[RocketCore.scala 272:38:shc.marmotcaravel.MarmotCaravelConfig.fir@220808.4]
  wire  _T_710; // @[RocketCore.scala 273:9:shc.marmotcaravel.MarmotCaravelConfig.fir@220809.4]
  wire  _T_718; // @[RocketCore.scala 278:33:shc.marmotcaravel.MarmotCaravelConfig.fir@220821.4]
  wire  _T_719; // @[RocketCore.scala 278:46:shc.marmotcaravel.MarmotCaravelConfig.fir@220822.4]
  wire  _T_721; // @[RocketCore.scala 278:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220824.4]
  wire  _T_722; // @[RocketCore.scala 278:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220825.4]
  wire  id_do_fence; // @[RocketCore.scala 278:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220826.4]
  wire  _T_726; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220839.4]
  wire  _T_727; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220840.4]
  wire  _T_728; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220841.4]
  wire  _T_729; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220842.4]
  wire  _T_730; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220843.4]
  wire  _T_731; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220844.4]
  wire  id_xcpt; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220845.4]
  wire [1:0] _T_732; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220846.4]
  wire [3:0] _T_733; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220847.4]
  wire [3:0] _T_734; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220848.4]
  wire [3:0] _T_735; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220849.4]
  wire [3:0] _T_736; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220850.4]
  wire [3:0] _T_737; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220851.4]
  wire [4:0] ex_waddr; // @[RocketCore.scala 313:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220864.4]
  wire [4:0] mem_waddr; // @[RocketCore.scala 314:31:shc.marmotcaravel.MarmotCaravelConfig.fir@220865.4]
  wire [4:0] wb_waddr; // @[RocketCore.scala 315:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220866.4]
  wire  _T_748; // @[RocketCore.scala 318:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220867.4]
  wire  _T_749; // @[RocketCore.scala 319:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220868.4]
  wire  _T_750; // @[RocketCore.scala 319:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220869.4]
  wire  _T_751; // @[RocketCore.scala 319:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220870.4]
  wire  _T_753; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220872.4]
  wire  _T_755; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220874.4]
  wire  _T_756; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@220875.4]
  wire  _T_757; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220876.4]
  wire  _T_758; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@220877.4]
  wire  _T_760; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@220879.4]
  wire  _T_761; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220880.4]
  wire  _T_763; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220882.4]
  wire  _T_764; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@220883.4]
  wire  _T_765; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220884.4]
  wire  _T_766; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@220885.4]
  wire  _T_768; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@220887.4]
  reg  ex_reg_rs_bypass_0; // @[RocketCore.scala 325:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220888.4]
  reg [31:0] _RAND_79;
  reg  ex_reg_rs_bypass_1; // @[RocketCore.scala 325:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220888.4]
  reg [31:0] _RAND_80;
  reg [1:0] ex_reg_rs_lsb_0; // @[RocketCore.scala 326:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220889.4]
  reg [31:0] _RAND_81;
  reg [1:0] ex_reg_rs_lsb_1; // @[RocketCore.scala 326:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220889.4]
  reg [31:0] _RAND_82;
  reg [29:0] ex_reg_rs_msb_0; // @[RocketCore.scala 327:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220890.4]
  reg [31:0] _RAND_83;
  reg [29:0] ex_reg_rs_msb_1; // @[RocketCore.scala 327:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220890.4]
  reg [31:0] _RAND_84;
  wire  _T_790; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220891.4]
  wire [31:0] _T_791; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220892.4]
  wire  _T_792; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220893.4]
  wire [31:0] _T_793; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220894.4]
  wire  _T_794; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220895.4]
  wire [31:0] _T_795; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220896.4]
  wire [31:0] _T_796; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220897.4]
  wire [31:0] _T_797; // @[RocketCore.scala 329:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220898.4]
  wire  _T_798; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220899.4]
  wire [31:0] _T_799; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220900.4]
  wire  _T_800; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220901.4]
  wire [31:0] _T_801; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220902.4]
  wire  _T_802; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220903.4]
  wire [31:0] _T_803; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220904.4]
  wire [31:0] _T_804; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220905.4]
  wire [31:0] _T_805; // @[RocketCore.scala 329:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220906.4]
  wire  _T_806; // @[RocketCore.scala 932:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220907.4]
  wire  _T_807; // @[RocketCore.scala 932:48:shc.marmotcaravel.MarmotCaravelConfig.fir@220908.4]
  wire  _T_808; // @[RocketCore.scala 932:53:shc.marmotcaravel.MarmotCaravelConfig.fir@220909.4]
  wire  _T_809; // @[RocketCore.scala 932:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220910.4]
  wire  _T_810; // @[RocketCore.scala 933:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220911.4]
  wire [10:0] _T_811; // @[RocketCore.scala 933:41:shc.marmotcaravel.MarmotCaravelConfig.fir@220912.4]
  wire [10:0] _T_812; // @[RocketCore.scala 933:49:shc.marmotcaravel.MarmotCaravelConfig.fir@220913.4]
  wire [10:0] _T_813; // @[RocketCore.scala 933:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220914.4]
  wire  _T_814; // @[RocketCore.scala 934:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220915.4]
  wire  _T_815; // @[RocketCore.scala 934:43:shc.marmotcaravel.MarmotCaravelConfig.fir@220916.4]
  wire  _T_816; // @[RocketCore.scala 934:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220917.4]
  wire [7:0] _T_817; // @[RocketCore.scala 934:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220918.4]
  wire [7:0] _T_818; // @[RocketCore.scala 934:73:shc.marmotcaravel.MarmotCaravelConfig.fir@220919.4]
  wire [7:0] _T_819; // @[RocketCore.scala 934:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220920.4]
  wire  _T_822; // @[RocketCore.scala 935:33:shc.marmotcaravel.MarmotCaravelConfig.fir@220923.4]
  wire  _T_823; // @[RocketCore.scala 936:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220924.4]
  wire  _T_824; // @[RocketCore.scala 936:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220925.4]
  wire  _T_825; // @[RocketCore.scala 936:44:shc.marmotcaravel.MarmotCaravelConfig.fir@220926.4]
  wire  _T_826; // @[RocketCore.scala 937:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220927.4]
  wire  _T_827; // @[RocketCore.scala 937:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220928.4]
  wire  _T_828; // @[RocketCore.scala 937:43:shc.marmotcaravel.MarmotCaravelConfig.fir@220929.4]
  wire  _T_829; // @[RocketCore.scala 937:18:shc.marmotcaravel.MarmotCaravelConfig.fir@220930.4]
  wire  _T_830; // @[RocketCore.scala 936:18:shc.marmotcaravel.MarmotCaravelConfig.fir@220931.4]
  wire  _T_831; // @[RocketCore.scala 935:18:shc.marmotcaravel.MarmotCaravelConfig.fir@220932.4]
  wire [5:0] _T_835; // @[RocketCore.scala 938:66:shc.marmotcaravel.MarmotCaravelConfig.fir@220936.4]
  wire [5:0] _T_836; // @[RocketCore.scala 938:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220937.4]
  wire  _T_838; // @[RocketCore.scala 940:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220939.4]
  wire  _T_840; // @[RocketCore.scala 940:34:shc.marmotcaravel.MarmotCaravelConfig.fir@220941.4]
  wire [3:0] _T_841; // @[RocketCore.scala 940:57:shc.marmotcaravel.MarmotCaravelConfig.fir@220942.4]
  wire [3:0] _T_843; // @[RocketCore.scala 941:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220944.4]
  wire [3:0] _T_844; // @[RocketCore.scala 941:52:shc.marmotcaravel.MarmotCaravelConfig.fir@220945.4]
  wire [3:0] _T_845; // @[RocketCore.scala 941:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220946.4]
  wire [3:0] _T_846; // @[RocketCore.scala 940:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220947.4]
  wire [3:0] _T_847; // @[RocketCore.scala 939:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220948.4]
  wire  _T_850; // @[RocketCore.scala 943:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220951.4]
  wire  _T_853; // @[RocketCore.scala 944:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220954.4]
  wire  _T_854; // @[RocketCore.scala 944:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220955.4]
  wire  _T_855; // @[RocketCore.scala 943:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220956.4]
  wire  _T_856; // @[RocketCore.scala 942:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220957.4]
  wire [9:0] _T_857; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220958.4]
  wire [10:0] _T_858; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220959.4]
  wire  _T_859; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220960.4]
  wire [7:0] _T_860; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220961.4]
  wire [8:0] _T_861; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220962.4]
  wire [10:0] _T_862; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220963.4]
  wire  _T_863; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220964.4]
  wire [11:0] _T_864; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220965.4]
  wire [20:0] _T_865; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220966.4]
  wire [31:0] _T_866; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220967.4]
  wire [31:0] ex_imm; // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@220968.4]
  wire [31:0] _T_867; // @[RocketCore.scala 332:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220969.4]
  wire [31:0] _T_868; // @[RocketCore.scala 333:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220970.4]
  wire  _T_869; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220971.4]
  wire [31:0] _T_870; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220972.4]
  wire  _T_871; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220973.4]
  wire [31:0] ex_op1; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220974.4]
  wire [31:0] _T_872; // @[RocketCore.scala 335:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220975.4]
  wire [3:0] _T_873; // @[RocketCore.scala 337:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220976.4]
  wire  _T_874; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220977.4]
  wire [3:0] _T_875; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220978.4]
  wire  _T_876; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220979.4]
  wire [31:0] _T_877; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220980.4]
  wire  _T_878; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220981.4]
  wire [31:0] ex_op2; // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220982.4]
  wire  _T_1494; // @[RocketCore.scala 702:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221842.4]
  wire  _T_1495; // @[RocketCore.scala 702:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221843.4]
  wire  _T_1496; // @[RocketCore.scala 702:71:shc.marmotcaravel.MarmotCaravelConfig.fir@221844.4]
  wire  _T_1333; // @[RocketCore.scala 634:55:shc.marmotcaravel.MarmotCaravelConfig.fir@221658.4]
  wire  _T_1334; // @[RocketCore.scala 634:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221659.4]
  wire  _T_1381; // @[RocketCore.scala 654:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221713.4]
  wire  _T_1382; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221714.4]
  wire  _T_1335; // @[RocketCore.scala 635:55:shc.marmotcaravel.MarmotCaravelConfig.fir@221660.4]
  wire  _T_1336; // @[RocketCore.scala 635:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221661.4]
  wire  _T_1383; // @[RocketCore.scala 654:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221715.4]
  wire  _T_1384; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221716.4]
  wire  _T_1387; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221719.4]
  wire  _T_1337; // @[RocketCore.scala 636:55:shc.marmotcaravel.MarmotCaravelConfig.fir@221662.4]
  wire  _T_1338; // @[RocketCore.scala 636:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221663.4]
  wire  _T_1385; // @[RocketCore.scala 654:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221717.4]
  wire  _T_1386; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221718.4]
  wire  _T_1388; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221720.4]
  wire  data_hazard_ex; // @[RocketCore.scala 654:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221721.4]
  wire  _T_1375; // @[RocketCore.scala 653:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221706.4]
  wire  _T_1376; // @[RocketCore.scala 653:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221707.4]
  wire  _T_1377; // @[RocketCore.scala 653:64:shc.marmotcaravel.MarmotCaravelConfig.fir@221708.4]
  wire  ex_cannot_bypass; // @[RocketCore.scala 653:94:shc.marmotcaravel.MarmotCaravelConfig.fir@221710.4]
  wire  _T_1400; // @[RocketCore.scala 656:54:shc.marmotcaravel.MarmotCaravelConfig.fir@221734.4]
  wire  id_ex_hazard; // @[RocketCore.scala 656:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221736.4]
  wire  _T_1408; // @[RocketCore.scala 663:72:shc.marmotcaravel.MarmotCaravelConfig.fir@221745.4]
  wire  _T_1409; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221746.4]
  wire  _T_1410; // @[RocketCore.scala 663:72:shc.marmotcaravel.MarmotCaravelConfig.fir@221747.4]
  wire  _T_1411; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221748.4]
  wire  _T_1414; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221751.4]
  wire  _T_1412; // @[RocketCore.scala 663:72:shc.marmotcaravel.MarmotCaravelConfig.fir@221749.4]
  wire  _T_1413; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221750.4]
  wire  _T_1415; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221752.4]
  wire  data_hazard_mem; // @[RocketCore.scala 663:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221753.4]
  wire  _T_1402; // @[RocketCore.scala 662:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221738.4]
  wire  _T_1403; // @[RocketCore.scala 662:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221739.4]
  wire  _T_1404; // @[RocketCore.scala 662:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221740.4]
  wire  _T_1405; // @[RocketCore.scala 662:84:shc.marmotcaravel.MarmotCaravelConfig.fir@221741.4]
  wire  _T_1406; // @[RocketCore.scala 662:100:shc.marmotcaravel.MarmotCaravelConfig.fir@221742.4]
  wire  _T_1407; // @[RocketCore.scala 662:116:shc.marmotcaravel.MarmotCaravelConfig.fir@221743.4]
  wire  mem_cannot_bypass; // @[RocketCore.scala 662:131:shc.marmotcaravel.MarmotCaravelConfig.fir@221744.4]
  wire  _T_1427; // @[RocketCore.scala 665:57:shc.marmotcaravel.MarmotCaravelConfig.fir@221766.4]
  wire  id_mem_hazard; // @[RocketCore.scala 665:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221768.4]
  wire  _T_1467; // @[RocketCore.scala 692:18:shc.marmotcaravel.MarmotCaravelConfig.fir@221814.4]
  wire  _T_1431; // @[RocketCore.scala 669:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221772.4]
  wire  _T_1432; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221773.4]
  wire  _T_1433; // @[RocketCore.scala 669:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221774.4]
  wire  _T_1434; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221775.4]
  wire  _T_1437; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221778.4]
  wire  _T_1435; // @[RocketCore.scala 669:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221776.4]
  wire  _T_1436; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221777.4]
  wire  _T_1438; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221779.4]
  wire  data_hazard_wb; // @[RocketCore.scala 669:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221780.4]
  wire  _T_924; // @[RocketCore.scala 426:39:shc.marmotcaravel.MarmotCaravelConfig.fir@221108.4]
  wire  wb_dcache_miss; // @[RocketCore.scala 426:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221109.4]
  wire  _T_1271; // @[RocketCore.scala 562:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221533.4]
  wire  wb_set_sboard; // @[RocketCore.scala 562:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221534.4]
  wire  _T_1450; // @[RocketCore.scala 671:54:shc.marmotcaravel.MarmotCaravelConfig.fir@221793.4]
  wire  id_wb_hazard; // @[RocketCore.scala 671:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221795.4]
  wire  _T_1468; // @[RocketCore.scala 692:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221815.4]
  reg [31:0] _T_1340; // @[RocketCore.scala 896:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221664.4]
  reg [31:0] _RAND_85;
  wire [30:0] _T_1341; // @[RocketCore.scala 897:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221665.4]
  wire [31:0] _GEN_240; // @[RocketCore.scala 897:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221666.4]
  wire [31:0] _T_1342; // @[RocketCore.scala 897:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221666.4]
  wire [31:0] _T_1348; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221675.4]
  wire  _T_1349; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221676.4]
  wire  dmem_resp_valid; // @[RocketCore.scala 572:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221550.4]
  wire  dmem_resp_replay; // @[RocketCore.scala 573:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221551.4]
  wire  _T_1277; // @[RocketCore.scala 569:45:shc.marmotcaravel.MarmotCaravelConfig.fir@221544.4]
  wire  dmem_resp_xpu; // @[RocketCore.scala 569:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221546.4]
  wire  _T_1285; // @[RocketCore.scala 588:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221564.4]
  wire  _T_1283; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221560.4]
  wire  ll_wen; // @[RocketCore.scala 588:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221565.4]
  wire [4:0] dmem_resp_waddr; // @[RocketCore.scala 571:46:shc.marmotcaravel.MarmotCaravelConfig.fir@221549.4]
  wire [4:0] ll_waddr; // @[RocketCore.scala 588:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221565.4]
  wire  _T_1350; // @[RocketCore.scala 646:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221677.4]
  wire  _T_1351; // @[RocketCore.scala 646:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221678.4]
  wire  _T_1352; // @[RocketCore.scala 649:80:shc.marmotcaravel.MarmotCaravelConfig.fir@221679.4]
  wire  _T_1353; // @[RocketCore.scala 649:77:shc.marmotcaravel.MarmotCaravelConfig.fir@221680.4]
  wire  _T_1354; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221681.4]
  wire [31:0] _T_1355; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221682.4]
  wire  _T_1356; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221683.4]
  wire  _T_1357; // @[RocketCore.scala 646:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221684.4]
  wire  _T_1358; // @[RocketCore.scala 646:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221685.4]
  wire  _T_1359; // @[RocketCore.scala 649:80:shc.marmotcaravel.MarmotCaravelConfig.fir@221686.4]
  wire  _T_1360; // @[RocketCore.scala 649:77:shc.marmotcaravel.MarmotCaravelConfig.fir@221687.4]
  wire  _T_1361; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221688.4]
  wire  _T_1369; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221696.4]
  wire [31:0] _T_1362; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221689.4]
  wire  _T_1363; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221690.4]
  wire  _T_1364; // @[RocketCore.scala 646:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221691.4]
  wire  _T_1365; // @[RocketCore.scala 646:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221692.4]
  wire  _T_1366; // @[RocketCore.scala 649:80:shc.marmotcaravel.MarmotCaravelConfig.fir@221693.4]
  wire  _T_1367; // @[RocketCore.scala 649:77:shc.marmotcaravel.MarmotCaravelConfig.fir@221694.4]
  wire  _T_1368; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221695.4]
  wire  id_sboard_hazard; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221697.4]
  wire  _T_1469; // @[RocketCore.scala 692:51:shc.marmotcaravel.MarmotCaravelConfig.fir@221816.4]
  wire  _T_1470; // @[RocketCore.scala 693:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221817.4]
  wire  _T_1471; // @[RocketCore.scala 693:57:shc.marmotcaravel.MarmotCaravelConfig.fir@221818.4]
  wire  _T_1472; // @[RocketCore.scala 693:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221819.4]
  wire  _T_1473; // @[RocketCore.scala 692:71:shc.marmotcaravel.MarmotCaravelConfig.fir@221820.4]
  reg  blocked; // @[RocketCore.scala 684:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221796.4]
  reg [31:0] _RAND_86;
  wire  _T_1460; // @[RocketCore.scala 686:16:shc.marmotcaravel.MarmotCaravelConfig.fir@221805.4]
  wire  dcache_blocked; // @[RocketCore.scala 686:13:shc.marmotcaravel.MarmotCaravelConfig.fir@221806.4]
  wire  _T_1480; // @[RocketCore.scala 696:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221827.4]
  wire  _T_1481; // @[RocketCore.scala 695:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221828.4]
  wire  wb_wxd; // @[RocketCore.scala 561:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221532.4]
  wire  _T_1484; // @[RocketCore.scala 698:65:shc.marmotcaravel.MarmotCaravelConfig.fir@221831.4]
  wire  _T_1485; // @[RocketCore.scala 698:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221832.4]
  wire  _T_1486; // @[RocketCore.scala 698:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221833.4]
  wire  _T_1487; // @[RocketCore.scala 698:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221834.4]
  wire  _T_1488; // @[RocketCore.scala 698:75:shc.marmotcaravel.MarmotCaravelConfig.fir@221835.4]
  wire  _T_1489; // @[RocketCore.scala 698:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221836.4]
  wire  _T_1490; // @[RocketCore.scala 697:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221837.4]
  wire  _T_1493; // @[RocketCore.scala 699:15:shc.marmotcaravel.MarmotCaravelConfig.fir@221840.4]
  wire  ctrl_stalld; // @[RocketCore.scala 700:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221841.4]
  wire  _T_1497; // @[RocketCore.scala 702:89:shc.marmotcaravel.MarmotCaravelConfig.fir@221845.4]
  wire  ctrl_killd; // @[RocketCore.scala 702:104:shc.marmotcaravel.MarmotCaravelConfig.fir@221846.4]
  wire  _T_882; // @[RocketCore.scala 368:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221004.4]
  wire  _T_883; // @[RocketCore.scala 369:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221006.4]
  wire  _T_884; // @[RocketCore.scala 369:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221007.4]
  wire [1:0] _T_892; // @[RocketCore.scala 383:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221030.8]
  wire  _T_893; // @[RocketCore.scala 383:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221031.8]
  wire [1:0] _T_894; // @[RocketCore.scala 388:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221037.8]
  wire  _T_895; // @[RocketCore.scala 388:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221038.8]
  wire  _T_896; // @[RocketCore.scala 388:28:shc.marmotcaravel.MarmotCaravelConfig.fir@221039.8]
  wire  _T_897; // @[RocketCore.scala 393:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221045.6]
  wire [1:0] _T_900; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221051.8]
  wire  _T_901; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221054.6]
  wire  _T_902; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221055.6]
  wire  do_bypass; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221056.6]
  wire  _T_905; // @[RocketCore.scala 404:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221062.6]
  wire  _T_906; // @[RocketCore.scala 404:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221063.6]
  wire  _T_1286; // @[RocketCore.scala 596:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221570.4]
  wire  _T_1287; // @[RocketCore.scala 596:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221571.4]
  wire  _T_1288; // @[RocketCore.scala 596:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221572.4]
  wire  wb_valid; // @[RocketCore.scala 596:45:shc.marmotcaravel.MarmotCaravelConfig.fir@221573.4]
  wire  wb_wen; // @[RocketCore.scala 597:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221574.4]
  wire  rf_wen; // @[RocketCore.scala 598:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221575.4]
  wire [4:0] rf_waddr; // @[RocketCore.scala 599:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221576.4]
  wire  _T_1295; // @[RocketCore.scala 922:16:shc.marmotcaravel.MarmotCaravelConfig.fir@221585.6]
  wire  _T_1299; // @[RocketCore.scala 925:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221591.8]
  wire  _T_1289; // @[RocketCore.scala 600:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221577.4]
  wire [31:0] ll_wdata; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221554.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@221556.4]
  wire  _T_1291; // @[RocketCore.scala 602:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221579.4]
  wire [31:0] _T_1293; // @[RocketCore.scala 602:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221581.4]
  wire [31:0] _T_1294; // @[RocketCore.scala 601:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221582.4]
  wire [31:0] rf_wdata; // @[RocketCore.scala 600:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221583.4]
  wire [31:0] _GEN_214; // @[RocketCore.scala 925:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221592.8]
  wire [31:0] _GEN_221; // @[RocketCore.scala 922:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221586.6]
  wire [31:0] _GEN_228; // @[RocketCore.scala 605:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221584.4]
  wire [1:0] _T_907; // @[RocketCore.scala 405:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221065.8]
  wire [29:0] _T_908; // @[RocketCore.scala 406:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221067.8]
  wire  _T_909; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221070.6]
  wire  _T_910; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221071.6]
  wire  do_bypass_1; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221072.6]
  wire  _T_913; // @[RocketCore.scala 404:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221078.6]
  wire  _T_914; // @[RocketCore.scala 404:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221079.6]
  wire  _T_1300; // @[RocketCore.scala 925:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221595.8]
  wire [31:0] _GEN_215; // @[RocketCore.scala 925:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221596.8]
  wire [31:0] _GEN_222; // @[RocketCore.scala 922:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221586.6]
  wire [31:0] _GEN_229; // @[RocketCore.scala 605:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221584.4]
  wire [1:0] _T_915; // @[RocketCore.scala 405:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221081.8]
  wire [29:0] _T_916; // @[RocketCore.scala 406:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221083.8]
  wire [15:0] _T_917; // @[RocketCore.scala 410:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221087.8]
  wire [31:0] inst; // @[RocketCore.scala 410:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221088.8]
  wire [1:0] _T_918; // @[RocketCore.scala 412:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221090.8]
  wire [29:0] _T_919; // @[RocketCore.scala 413:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221092.8]
  wire  _T_1429; // @[RocketCore.scala 666:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221769.4]
  wire  id_load_use; // @[RocketCore.scala 666:51:shc.marmotcaravel.MarmotCaravelConfig.fir@221770.4]
  wire  _T_921; // @[RocketCore.scala 416:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221097.4]
  wire  _T_922; // @[RocketCore.scala 416:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221098.4]
  wire  _T_925; // @[RocketCore.scala 427:45:shc.marmotcaravel.MarmotCaravelConfig.fir@221110.4]
  wire  _T_926; // @[RocketCore.scala 427:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221111.4]
  wire  _T_927; // @[RocketCore.scala 428:45:shc.marmotcaravel.MarmotCaravelConfig.fir@221112.4]
  wire  _T_928; // @[RocketCore.scala 428:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221113.4]
  wire  replay_ex_structural; // @[RocketCore.scala 427:64:shc.marmotcaravel.MarmotCaravelConfig.fir@221114.4]
  wire  replay_ex_load_use; // @[RocketCore.scala 429:43:shc.marmotcaravel.MarmotCaravelConfig.fir@221115.4]
  wire  _T_929; // @[RocketCore.scala 430:75:shc.marmotcaravel.MarmotCaravelConfig.fir@221116.4]
  wire  _T_930; // @[RocketCore.scala 430:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221117.4]
  wire  replay_ex; // @[RocketCore.scala 430:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221118.4]
  wire  _T_931; // @[RocketCore.scala 431:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221119.4]
  wire  _T_932; // @[RocketCore.scala 431:51:shc.marmotcaravel.MarmotCaravelConfig.fir@221120.4]
  wire  ctrl_killx; // @[RocketCore.scala 431:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221121.4]
  wire  _T_933; // @[RocketCore.scala 433:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221122.4]
  wire  _T_944; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221129.4]
  wire  _T_945; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221130.4]
  wire  _T_946; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221131.4]
  wire  _T_947; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221132.4]
  wire  _T_949; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221134.4]
  wire  _T_950; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221135.4]
  wire  _T_951; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221136.4]
  wire  ex_slow_bypass; // @[RocketCore.scala 433:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221137.4]
  wire  ex_xcpt; // @[RocketCore.scala 437:28:shc.marmotcaravel.MarmotCaravelConfig.fir@221141.4]
  wire  _T_964; // @[RocketCore.scala 443:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221152.4]
  wire  mem_pc_valid; // @[RocketCore.scala 443:54:shc.marmotcaravel.MarmotCaravelConfig.fir@221153.4]
  wire  _T_1107; // @[RocketCore.scala 452:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221299.4]
  wire  _T_1108; // @[RocketCore.scala 452:56:shc.marmotcaravel.MarmotCaravelConfig.fir@221300.4]
  wire  _T_1109; // @[RocketCore.scala 452:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221301.4]
  wire  mem_npc_misaligned; // @[RocketCore.scala 452:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221302.4]
  wire  _T_1110; // @[RocketCore.scala 453:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221303.4]
  wire  _T_1111; // @[RocketCore.scala 453:59:shc.marmotcaravel.MarmotCaravelConfig.fir@221304.4]
  wire  _T_1112; // @[RocketCore.scala 453:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221305.4]
  wire [31:0] _T_1114; // @[RocketCore.scala 453:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221307.4]
  wire [31:0] mem_int_wdata; // @[RocketCore.scala 453:119:shc.marmotcaravel.MarmotCaravelConfig.fir@221308.4]
  wire  _T_1115; // @[RocketCore.scala 454:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221309.4]
  wire  mem_cfi; // @[RocketCore.scala 454:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221310.4]
  wire  _T_1117; // @[RocketCore.scala 455:57:shc.marmotcaravel.MarmotCaravelConfig.fir@221312.4]
  wire  mem_cfi_taken; // @[RocketCore.scala 455:74:shc.marmotcaravel.MarmotCaravelConfig.fir@221313.4]
  wire  _T_1122; // @[RocketCore.scala 460:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221320.4]
  wire  _T_1129; // @[RocketCore.scala 467:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221331.4]
  wire  _T_1130; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221339.8]
  wire  _T_1131; // @[Consts.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221340.8]
  wire  _T_1132; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221341.8]
  wire  _T_1134; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221343.8]
  wire  _T_1135; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221344.8]
  wire  _T_1136; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221345.8]
  wire  _T_1137; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221346.8]
  wire  _T_1138; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221347.8]
  wire  _T_1139; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221348.8]
  wire  _T_1140; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221349.8]
  wire  _T_1141; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221350.8]
  wire  _T_1142; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221351.8]
  wire  _T_1143; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221352.8]
  wire  _T_1144; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221353.8]
  wire  _T_1145; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221354.8]
  wire  _T_1146; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221355.8]
  wire  _T_1147; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221356.8]
  wire  _T_1148; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221357.8]
  wire  _T_1149; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221358.8]
  wire  _T_1150; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221359.8]
  wire  _T_1151; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221360.8]
  wire  _T_1152; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@221361.8]
  wire  _T_1153; // @[RocketCore.scala 472:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221362.8]
  wire  _T_1154; // @[Consts.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221364.8]
  wire  _T_1155; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@221365.8]
  wire  _T_1156; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221366.8]
  wire  _T_1158; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@221368.8]
  wire  _T_1176; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221386.8]
  wire  _T_1177; // @[RocketCore.scala 473:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221387.8]
  wire  _T_1180; // @[RocketCore.scala 486:24:shc.marmotcaravel.MarmotCaravelConfig.fir@221401.8]
  wire [1:0] _T_1181; // @[AMOALU.scala 10:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221404.10]
  wire  _T_1182; // @[AMOALU.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221405.10]
  wire [7:0] _T_1183; // @[AMOALU.scala 26:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221406.10]
  wire [15:0] _T_1184; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221407.10]
  wire [31:0] _T_1185; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221408.10]
  wire  _T_1186; // @[AMOALU.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221409.10]
  wire [15:0] _T_1187; // @[AMOALU.scala 26:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221410.10]
  wire [31:0] _T_1188; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221411.10]
  wire  _T_1191; // @[RocketCore.scala 490:24:shc.marmotcaravel.MarmotCaravelConfig.fir@221416.8]
  wire  _T_1192; // @[RocketCore.scala 497:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221422.4]
  wire  _T_1193; // @[RocketCore.scala 497:75:shc.marmotcaravel.MarmotCaravelConfig.fir@221423.4]
  wire  mem_breakpoint; // @[RocketCore.scala 497:57:shc.marmotcaravel.MarmotCaravelConfig.fir@221424.4]
  wire  _T_1194; // @[RocketCore.scala 498:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221425.4]
  wire  _T_1195; // @[RocketCore.scala 498:82:shc.marmotcaravel.MarmotCaravelConfig.fir@221426.4]
  wire  mem_debug_breakpoint; // @[RocketCore.scala 498:64:shc.marmotcaravel.MarmotCaravelConfig.fir@221427.4]
  wire  mem_ldst_xcpt; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221428.4]
  wire [3:0] mem_ldst_cause; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221429.4]
  wire  _T_1196; // @[RocketCore.scala 504:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221430.4]
  wire  _T_1197; // @[RocketCore.scala 505:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221431.4]
  wire  _T_1198; // @[RocketCore.scala 506:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221432.4]
  wire  _T_1199; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221433.4]
  wire  mem_xcpt; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221434.4]
  wire [3:0] _T_1200; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221435.4]
  wire  dcache_kill_mem; // @[RocketCore.scala 515:55:shc.marmotcaravel.MarmotCaravelConfig.fir@221450.4]
  wire  replay_mem; // @[RocketCore.scala 517:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221453.4]
  wire  _T_1216; // @[RocketCore.scala 518:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221455.4]
  wire  _T_1217; // @[RocketCore.scala 518:52:shc.marmotcaravel.MarmotCaravelConfig.fir@221456.4]
  wire  _T_1218; // @[RocketCore.scala 518:71:shc.marmotcaravel.MarmotCaravelConfig.fir@221457.4]
  wire  killm_common; // @[RocketCore.scala 518:68:shc.marmotcaravel.MarmotCaravelConfig.fir@221458.4]
  reg  _T_1221; // @[RocketCore.scala 519:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221460.4]
  reg [31:0] _RAND_87;
  wire  ctrl_killm; // @[RocketCore.scala 520:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221464.4]
  wire  _T_1224; // @[RocketCore.scala 523:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221466.4]
  wire  _T_1225; // @[RocketCore.scala 524:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221468.4]
  wire  _T_1232; // @[RocketCore.scala 530:39:shc.marmotcaravel.MarmotCaravelConfig.fir@221481.6]
  wire  _T_1233; // @[RocketCore.scala 530:54:shc.marmotcaravel.MarmotCaravelConfig.fir@221482.6]
  wire [2:0] _T_1253; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221512.4]
  wire [3:0] _T_1254; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221513.4]
  wire [3:0] _T_1255; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221514.4]
  wire [3:0] _T_1256; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221515.4]
  wire [3:0] _T_1257; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221516.4]
  wire [31:0] wb_cause; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221517.4]
  wire  _T_1258; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221518.4]
  wire  _T_1260; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221520.4]
  wire  _T_1262; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221522.4]
  wire  _T_1264; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221524.4]
  wire  _T_1266; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221526.4]
  wire  _T_1268; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221528.4]
  wire [1:0] _T_1302; // @[RocketCore.scala 613:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221607.4]
  wire [1:0] _T_1303; // @[RocketCore.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221608.4]
  wire  _T_1304; // @[RocketCore.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221609.4]
  wire [15:0] _T_1305; // @[RocketCore.scala 613:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221610.4]
  wire [15:0] _T_1306; // @[RocketCore.scala 613:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221611.4]
  wire [15:0] _T_1307; // @[RocketCore.scala 613:119:shc.marmotcaravel.MarmotCaravelConfig.fir@221612.4]
  wire  _T_1309; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221621.4]
  wire  _T_1310; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221622.4]
  wire  _T_1315; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221627.4]
  wire  _T_1318; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221630.4]
  wire  _T_1319; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221631.4]
  wire  _T_1320; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221632.4]
  wire  _T_1321; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221633.4]
  wire  _T_1322; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221634.4]
  wire  _T_1323; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221635.4]
  wire  _T_1324; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221636.4]
  wire  _T_1325; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221637.4]
  wire  _T_1326; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221638.4]
  wire  _T_1327; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221639.4]
  wire  tval_valid; // @[RocketCore.scala 620:28:shc.marmotcaravel.MarmotCaravelConfig.fir@221640.4]
  wire [2:0] _T_1330; // @[CSR.scala 128:15:shc.marmotcaravel.MarmotCaravelConfig.fir@221652.4]
  wire [2:0] _T_1331; // @[CSR.scala 128:11:shc.marmotcaravel.MarmotCaravelConfig.fir@221653.4]
  wire [31:0] _T_1343; // @[RocketCore.scala 900:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221667.4]
  wire [31:0] _T_1344; // @[RocketCore.scala 900:49:shc.marmotcaravel.MarmotCaravelConfig.fir@221668.4]
  wire [31:0] _T_1345; // @[RocketCore.scala 892:64:shc.marmotcaravel.MarmotCaravelConfig.fir@221669.4]
  wire [31:0] _T_1346; // @[RocketCore.scala 892:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221670.4]
  wire  _T_1370; // @[RocketCore.scala 650:28:shc.marmotcaravel.MarmotCaravelConfig.fir@221698.4]
  wire [31:0] _T_1371; // @[RocketCore.scala 900:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221699.4]
  wire [31:0] _T_1372; // @[RocketCore.scala 900:49:shc.marmotcaravel.MarmotCaravelConfig.fir@221700.4]
  wire [31:0] _T_1373; // @[RocketCore.scala 891:60:shc.marmotcaravel.MarmotCaravelConfig.fir@221701.4]
  wire  _T_1374; // @[RocketCore.scala 903:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221702.4]
  wire  _T_1454; // @[RocketCore.scala 685:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221798.4]
  wire  _T_1456; // @[RocketCore.scala 685:60:shc.marmotcaravel.MarmotCaravelConfig.fir@221800.4]
  wire  _T_1457; // @[RocketCore.scala 685:95:shc.marmotcaravel.MarmotCaravelConfig.fir@221801.4]
  wire  _T_1458; // @[RocketCore.scala 685:116:shc.marmotcaravel.MarmotCaravelConfig.fir@221802.4]
  wire  _T_1500; // @[RocketCore.scala 707:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221851.4]
  wire [31:0] _T_1501; // @[RocketCore.scala 708:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221852.4]
  wire  _T_1503; // @[RocketCore.scala 710:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221855.4]
  wire  _T_1504; // @[RocketCore.scala 710:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221856.4]
  wire  _T_1506; // @[RocketCore.scala 712:43:shc.marmotcaravel.MarmotCaravelConfig.fir@221859.4]
  wire  _T_1507; // @[CustomCSRs.scala 38:61:shc.marmotcaravel.MarmotCaravelConfig.fir@221860.4]
  wire  _T_1514; // @[RocketCore.scala 724:45:shc.marmotcaravel.MarmotCaravelConfig.fir@221876.4]
  wire  _T_1515; // @[RocketCore.scala 724:60:shc.marmotcaravel.MarmotCaravelConfig.fir@221877.4]
  wire  _T_1516; // @[RocketCore.scala 724:81:shc.marmotcaravel.MarmotCaravelConfig.fir@221878.4]
  wire  _T_1517; // @[RocketCore.scala 724:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221879.4]
  wire  _T_1519; // @[RocketCore.scala 727:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221883.4]
  wire  _T_1520; // @[RocketCore.scala 727:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221884.4]
  wire  _T_1521; // @[RocketCore.scala 727:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221885.4]
  wire [4:0] _T_1522; // @[RocketCore.scala 728:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221886.4]
  wire [4:0] _T_1523; // @[RocketCore.scala 728:46:shc.marmotcaravel.MarmotCaravelConfig.fir@221887.4]
  wire  _T_1524; // @[RocketCore.scala 728:46:shc.marmotcaravel.MarmotCaravelConfig.fir@221888.4]
  wire  _T_1525; // @[RocketCore.scala 728:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221889.4]
  wire [1:0] _T_1528; // @[RocketCore.scala 728:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221892.4]
  wire [1:0] _T_1530; // @[RocketCore.scala 732:74:shc.marmotcaravel.MarmotCaravelConfig.fir@221896.4]
  wire [31:0] _GEN_241; // @[RocketCore.scala 732:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221897.4]
  wire [31:0] _T_1533; // @[RocketCore.scala 733:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221900.4]
  wire [31:0] _T_1534; // @[RocketCore.scala 733:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221901.4]
  wire [5:0] ex_dcache_tag; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221929.4]
  wire [4:0] _T_1561; // @[RocketCore.scala 771:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221965.4]
  wire [4:0] _T_1562; // @[RocketCore.scala 771:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221967.4]
  wire [31:0] coreMonitorBundle_time; // @[RocketCore.scala 811:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221981.4]
  wire  _T_1569; // @[RocketCore.scala 812:55:shc.marmotcaravel.MarmotCaravelConfig.fir@221983.4]
  wire  coreMonitorBundle_valid; // @[RocketCore.scala 812:52:shc.marmotcaravel.MarmotCaravelConfig.fir@221984.4]
  wire [31:0] coreMonitorBundle_pc; // @[RocketCore.scala 813:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221986.4]
  wire  _T_1573; // @[RocketCore.scala 814:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221989.4]
  wire  _T_1574; // @[RocketCore.scala 814:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221990.4]
  wire [4:0] coreMonitorBundle_wrdst; // @[RocketCore.scala 814:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221991.4]
  reg [31:0] _T_1578; // @[RocketCore.scala 818:43:shc.marmotcaravel.MarmotCaravelConfig.fir@221997.4]
  reg [31:0] _RAND_88;
  reg [31:0] coreMonitorBundle_rd0val; // @[RocketCore.scala 818:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221999.4]
  reg [31:0] _RAND_89;
  reg [31:0] _T_1583; // @[RocketCore.scala 820:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222004.4]
  reg [31:0] _RAND_90;
  reg [31:0] coreMonitorBundle_rd1val; // @[RocketCore.scala 820:34:shc.marmotcaravel.MarmotCaravelConfig.fir@222006.4]
  reg [31:0] _RAND_91;
  wire  _T_1587; // @[RocketCore.scala 852:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222011.4]
  wire [31:0] coreMonitorBundle_inst; // @[RocketCore.scala 808:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221978.4 RocketCore.scala 821:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222009.4]
  IBuf ibuf ( // @[RocketCore.scala 222:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220310.4]
    .clock(ibuf_clock),
    .reset(ibuf_reset),
    .io_imem_ready(ibuf_io_imem_ready),
    .io_imem_valid(ibuf_io_imem_valid),
    .io_imem_bits_btb_taken(ibuf_io_imem_bits_btb_taken),
    .io_imem_bits_btb_bridx(ibuf_io_imem_bits_btb_bridx),
    .io_imem_bits_btb_entry(ibuf_io_imem_bits_btb_entry),
    .io_imem_bits_btb_bht_history(ibuf_io_imem_bits_btb_bht_history),
    .io_imem_bits_pc(ibuf_io_imem_bits_pc),
    .io_imem_bits_data(ibuf_io_imem_bits_data),
    .io_imem_bits_xcpt_ae_inst(ibuf_io_imem_bits_xcpt_ae_inst),
    .io_imem_bits_replay(ibuf_io_imem_bits_replay),
    .io_kill(ibuf_io_kill),
    .io_pc(ibuf_io_pc),
    .io_btb_resp_entry(ibuf_io_btb_resp_entry),
    .io_btb_resp_bht_history(ibuf_io_btb_resp_bht_history),
    .io_inst_0_ready(ibuf_io_inst_0_ready),
    .io_inst_0_valid(ibuf_io_inst_0_valid),
    .io_inst_0_bits_xcpt0_pf_inst(ibuf_io_inst_0_bits_xcpt0_pf_inst),
    .io_inst_0_bits_xcpt0_ae_inst(ibuf_io_inst_0_bits_xcpt0_ae_inst),
    .io_inst_0_bits_xcpt1_pf_inst(ibuf_io_inst_0_bits_xcpt1_pf_inst),
    .io_inst_0_bits_xcpt1_ae_inst(ibuf_io_inst_0_bits_xcpt1_ae_inst),
    .io_inst_0_bits_replay(ibuf_io_inst_0_bits_replay),
    .io_inst_0_bits_rvc(ibuf_io_inst_0_bits_rvc),
    .io_inst_0_bits_inst_bits(ibuf_io_inst_0_bits_inst_bits),
    .io_inst_0_bits_inst_rd(ibuf_io_inst_0_bits_inst_rd),
    .io_inst_0_bits_inst_rs1(ibuf_io_inst_0_bits_inst_rs1),
    .io_inst_0_bits_inst_rs2(ibuf_io_inst_0_bits_inst_rs2),
    .io_inst_0_bits_raw(ibuf_io_inst_0_bits_raw)
  );
  CSRFile csr ( // @[RocketCore.scala 244:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220745.4]
    .clock(csr_clock),
    .reset(csr_reset),
    .io_ungated_clock(csr_io_ungated_clock),
    .io_interrupts_debug(csr_io_interrupts_debug),
    .io_interrupts_mtip(csr_io_interrupts_mtip),
    .io_interrupts_msip(csr_io_interrupts_msip),
    .io_interrupts_meip(csr_io_interrupts_meip),
    .io_hartid(csr_io_hartid),
    .io_rw_addr(csr_io_rw_addr),
    .io_rw_cmd(csr_io_rw_cmd),
    .io_rw_rdata(csr_io_rw_rdata),
    .io_rw_wdata(csr_io_rw_wdata),
    .io_decode_0_csr(csr_io_decode_0_csr),
    .io_decode_0_fp_illegal(csr_io_decode_0_fp_illegal),
    .io_decode_0_fp_csr(csr_io_decode_0_fp_csr),
    .io_decode_0_read_illegal(csr_io_decode_0_read_illegal),
    .io_decode_0_write_illegal(csr_io_decode_0_write_illegal),
    .io_decode_0_write_flush(csr_io_decode_0_write_flush),
    .io_csr_stall(csr_io_csr_stall),
    .io_eret(csr_io_eret),
    .io_singleStep(csr_io_singleStep),
    .io_status_debug(csr_io_status_debug),
    .io_status_isa(csr_io_status_isa),
    .io_status_dprv(csr_io_status_dprv),
    .io_status_prv(csr_io_status_prv),
    .io_status_sd(csr_io_status_sd),
    .io_status_zero2(csr_io_status_zero2),
    .io_status_sxl(csr_io_status_sxl),
    .io_status_uxl(csr_io_status_uxl),
    .io_status_sd_rv32(csr_io_status_sd_rv32),
    .io_status_zero1(csr_io_status_zero1),
    .io_status_tsr(csr_io_status_tsr),
    .io_status_tw(csr_io_status_tw),
    .io_status_tvm(csr_io_status_tvm),
    .io_status_mxr(csr_io_status_mxr),
    .io_status_sum(csr_io_status_sum),
    .io_status_mprv(csr_io_status_mprv),
    .io_status_xs(csr_io_status_xs),
    .io_status_fs(csr_io_status_fs),
    .io_status_mpp(csr_io_status_mpp),
    .io_status_hpp(csr_io_status_hpp),
    .io_status_spp(csr_io_status_spp),
    .io_status_mpie(csr_io_status_mpie),
    .io_status_hpie(csr_io_status_hpie),
    .io_status_spie(csr_io_status_spie),
    .io_status_upie(csr_io_status_upie),
    .io_status_mie(csr_io_status_mie),
    .io_status_hie(csr_io_status_hie),
    .io_status_sie(csr_io_status_sie),
    .io_status_uie(csr_io_status_uie),
    .io_evec(csr_io_evec),
    .io_exception(csr_io_exception),
    .io_retire(csr_io_retire),
    .io_cause(csr_io_cause),
    .io_pc(csr_io_pc),
    .io_tval(csr_io_tval),
    .io_time(csr_io_time),
    .io_interrupt(csr_io_interrupt),
    .io_interrupt_cause(csr_io_interrupt_cause),
    .io_bp_0_control_action(csr_io_bp_0_control_action),
    .io_bp_0_control_chain(csr_io_bp_0_control_chain),
    .io_bp_0_control_tmatch(csr_io_bp_0_control_tmatch),
    .io_bp_0_control_x(csr_io_bp_0_control_x),
    .io_bp_0_control_w(csr_io_bp_0_control_w),
    .io_bp_0_control_r(csr_io_bp_0_control_r),
    .io_bp_0_address(csr_io_bp_0_address),
    .io_bp_1_control_action(csr_io_bp_1_control_action),
    .io_bp_1_control_tmatch(csr_io_bp_1_control_tmatch),
    .io_bp_1_control_x(csr_io_bp_1_control_x),
    .io_bp_1_control_w(csr_io_bp_1_control_w),
    .io_bp_1_control_r(csr_io_bp_1_control_r),
    .io_bp_1_address(csr_io_bp_1_address),
    .io_pmp_0_cfg_l(csr_io_pmp_0_cfg_l),
    .io_pmp_0_cfg_a(csr_io_pmp_0_cfg_a),
    .io_pmp_0_cfg_x(csr_io_pmp_0_cfg_x),
    .io_pmp_0_cfg_w(csr_io_pmp_0_cfg_w),
    .io_pmp_0_cfg_r(csr_io_pmp_0_cfg_r),
    .io_pmp_0_addr(csr_io_pmp_0_addr),
    .io_pmp_0_mask(csr_io_pmp_0_mask),
    .io_pmp_1_cfg_l(csr_io_pmp_1_cfg_l),
    .io_pmp_1_cfg_a(csr_io_pmp_1_cfg_a),
    .io_pmp_1_cfg_x(csr_io_pmp_1_cfg_x),
    .io_pmp_1_cfg_w(csr_io_pmp_1_cfg_w),
    .io_pmp_1_cfg_r(csr_io_pmp_1_cfg_r),
    .io_pmp_1_addr(csr_io_pmp_1_addr),
    .io_pmp_1_mask(csr_io_pmp_1_mask),
    .io_pmp_2_cfg_l(csr_io_pmp_2_cfg_l),
    .io_pmp_2_cfg_a(csr_io_pmp_2_cfg_a),
    .io_pmp_2_cfg_x(csr_io_pmp_2_cfg_x),
    .io_pmp_2_cfg_w(csr_io_pmp_2_cfg_w),
    .io_pmp_2_cfg_r(csr_io_pmp_2_cfg_r),
    .io_pmp_2_addr(csr_io_pmp_2_addr),
    .io_pmp_2_mask(csr_io_pmp_2_mask),
    .io_pmp_3_cfg_l(csr_io_pmp_3_cfg_l),
    .io_pmp_3_cfg_a(csr_io_pmp_3_cfg_a),
    .io_pmp_3_cfg_x(csr_io_pmp_3_cfg_x),
    .io_pmp_3_cfg_w(csr_io_pmp_3_cfg_w),
    .io_pmp_3_cfg_r(csr_io_pmp_3_cfg_r),
    .io_pmp_3_addr(csr_io_pmp_3_addr),
    .io_pmp_3_mask(csr_io_pmp_3_mask),
    .io_pmp_4_cfg_l(csr_io_pmp_4_cfg_l),
    .io_pmp_4_cfg_a(csr_io_pmp_4_cfg_a),
    .io_pmp_4_cfg_x(csr_io_pmp_4_cfg_x),
    .io_pmp_4_cfg_w(csr_io_pmp_4_cfg_w),
    .io_pmp_4_cfg_r(csr_io_pmp_4_cfg_r),
    .io_pmp_4_addr(csr_io_pmp_4_addr),
    .io_pmp_4_mask(csr_io_pmp_4_mask),
    .io_pmp_5_cfg_l(csr_io_pmp_5_cfg_l),
    .io_pmp_5_cfg_a(csr_io_pmp_5_cfg_a),
    .io_pmp_5_cfg_x(csr_io_pmp_5_cfg_x),
    .io_pmp_5_cfg_w(csr_io_pmp_5_cfg_w),
    .io_pmp_5_cfg_r(csr_io_pmp_5_cfg_r),
    .io_pmp_5_addr(csr_io_pmp_5_addr),
    .io_pmp_5_mask(csr_io_pmp_5_mask),
    .io_pmp_6_cfg_l(csr_io_pmp_6_cfg_l),
    .io_pmp_6_cfg_a(csr_io_pmp_6_cfg_a),
    .io_pmp_6_cfg_x(csr_io_pmp_6_cfg_x),
    .io_pmp_6_cfg_w(csr_io_pmp_6_cfg_w),
    .io_pmp_6_cfg_r(csr_io_pmp_6_cfg_r),
    .io_pmp_6_addr(csr_io_pmp_6_addr),
    .io_pmp_6_mask(csr_io_pmp_6_mask),
    .io_pmp_7_cfg_l(csr_io_pmp_7_cfg_l),
    .io_pmp_7_cfg_a(csr_io_pmp_7_cfg_a),
    .io_pmp_7_cfg_x(csr_io_pmp_7_cfg_x),
    .io_pmp_7_cfg_w(csr_io_pmp_7_cfg_w),
    .io_pmp_7_cfg_r(csr_io_pmp_7_cfg_r),
    .io_pmp_7_addr(csr_io_pmp_7_addr),
    .io_pmp_7_mask(csr_io_pmp_7_mask),
    .io_inst_0(csr_io_inst_0),
    .io_trace_0_valid(csr_io_trace_0_valid),
    .io_trace_0_iaddr(csr_io_trace_0_iaddr),
    .io_trace_0_insn(csr_io_trace_0_insn),
    .io_trace_0_exception(csr_io_trace_0_exception)
  );
  BreakpointUnit bpu ( // @[RocketCore.scala 280:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220831.4]
    .io_status_debug(bpu_io_status_debug),
    .io_bp_0_control_action(bpu_io_bp_0_control_action),
    .io_bp_0_control_chain(bpu_io_bp_0_control_chain),
    .io_bp_0_control_tmatch(bpu_io_bp_0_control_tmatch),
    .io_bp_0_control_x(bpu_io_bp_0_control_x),
    .io_bp_0_control_w(bpu_io_bp_0_control_w),
    .io_bp_0_control_r(bpu_io_bp_0_control_r),
    .io_bp_0_address(bpu_io_bp_0_address),
    .io_bp_1_control_action(bpu_io_bp_1_control_action),
    .io_bp_1_control_tmatch(bpu_io_bp_1_control_tmatch),
    .io_bp_1_control_x(bpu_io_bp_1_control_x),
    .io_bp_1_control_w(bpu_io_bp_1_control_w),
    .io_bp_1_control_r(bpu_io_bp_1_control_r),
    .io_bp_1_address(bpu_io_bp_1_address),
    .io_pc(bpu_io_pc),
    .io_ea(bpu_io_ea),
    .io_xcpt_if(bpu_io_xcpt_if),
    .io_xcpt_ld(bpu_io_xcpt_ld),
    .io_xcpt_st(bpu_io_xcpt_st),
    .io_debug_if(bpu_io_debug_if),
    .io_debug_ld(bpu_io_debug_ld),
    .io_debug_st(bpu_io_debug_st)
  );
  ALU alu ( // @[RocketCore.scala 339:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220983.4]
    .io_fn(alu_io_fn),
    .io_in2(alu_io_in2),
    .io_in1(alu_io_in1),
    .io_out(alu_io_out),
    .io_adder_out(alu_io_adder_out),
    .io_cmp_out(alu_io_cmp_out)
  );
  MulDiv div ( // @[RocketCore.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220993.4]
    .clock(div_clock),
    .reset(div_reset),
    .io_req_ready(div_io_req_ready),
    .io_req_valid(div_io_req_valid),
    .io_req_bits_fn(div_io_req_bits_fn),
    .io_req_bits_in1(div_io_req_bits_in1),
    .io_req_bits_in2(div_io_req_bits_in2),
    .io_req_bits_tag(div_io_req_bits_tag),
    .io_kill(div_io_kill),
    .io_resp_ready(div_io_resp_ready),
    .io_resp_valid(div_io_resp_valid),
    .io_resp_bits_data(div_io_resp_bits_data),
    .io_resp_bits_tag(div_io_resp_bits_tag)
  );
  PlusArgTimeout PlusArgTimeout ( // @[PlusArg.scala 51:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222015.4]
    .clock(PlusArgTimeout_clock),
    .reset(PlusArgTimeout_reset),
    .io_count(PlusArgTimeout_io_count)
  );
  assign _T_574__T_581_addr = ~ _T_579;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign _T_574__T_581_data = _T_574[_T_574__T_581_addr]; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
  `else
  assign _T_574__T_581_data = _T_574__T_581_addr >= 5'h1f ? _RAND_1[31:0] : _T_574[_T_574__T_581_addr]; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign _T_574__T_589_addr = ~ _T_587;
  `ifndef RANDOMIZE_GARBAGE_ASSIGN
  assign _T_574__T_589_data = _T_574[_T_574__T_589_addr]; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
  `else
  assign _T_574__T_589_data = _T_574__T_589_addr >= 5'h1f ? _RAND_2[31:0] : _T_574[_T_574__T_589_addr]; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
  `endif // RANDOMIZE_GARBAGE_ASSIGN
  assign _T_574__T_1298_data = _T_1289 ? io_dmem_resp_bits_data : _T_1294;
  assign _T_574__T_1298_addr = ~ rf_waddr;
  assign _T_574__T_1298_mask = 1'h1;
  assign _T_574__T_1298_en = rf_wen ? _T_1295 : 1'h0;
  assign replay_wb_common = io_dmem_s2_nack | wb_reg_replay; // @[RocketCore.scala 563:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221535.4]
  assign replay_wb_rocc = wb_reg_valid & wb_ctrl_rocc; // @[RocketCore.scala 564:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221536.4]
  assign replay_wb = replay_wb_common | replay_wb_rocc; // @[RocketCore.scala 565:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221539.4]
  assign _T_1236 = wb_reg_valid & wb_ctrl_mem; // @[RocketCore.scala 542:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221494.4]
  assign _T_1237 = _T_1236 & io_dmem_s2_xcpt_ma_st; // @[RocketCore.scala 542:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221495.4]
  assign _T_1248 = wb_reg_xcpt | _T_1237; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221506.4]
  assign _T_1239 = _T_1236 & io_dmem_s2_xcpt_ma_ld; // @[RocketCore.scala 543:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221497.4]
  assign _T_1249 = _T_1248 | _T_1239; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221507.4]
  assign _T_1241 = _T_1236 & io_dmem_s2_xcpt_pf_st; // @[RocketCore.scala 544:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221499.4]
  assign _T_1250 = _T_1249 | _T_1241; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221508.4]
  assign _T_1243 = _T_1236 & io_dmem_s2_xcpt_pf_ld; // @[RocketCore.scala 545:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221501.4]
  assign _T_1251 = _T_1250 | _T_1243; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221509.4]
  assign _T_1245 = _T_1236 & io_dmem_s2_xcpt_ae_st; // @[RocketCore.scala 546:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221503.4]
  assign _T_1252 = _T_1251 | _T_1245; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221510.4]
  assign _T_1247 = _T_1236 & io_dmem_s2_xcpt_ae_ld; // @[RocketCore.scala 547:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221505.4]
  assign wb_xcpt = _T_1252 | _T_1247; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221511.4]
  assign _T_1274 = replay_wb | wb_xcpt; // @[RocketCore.scala 566:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221540.4]
  assign _T_1275 = _T_1274 | csr_io_eret; // @[RocketCore.scala 566:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221541.4]
  assign take_pc_wb = _T_1275 | wb_reg_flush_pipe; // @[RocketCore.scala 566:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221542.4]
  assign _T_923 = ex_reg_valid | ex_reg_replay; // @[RocketCore.scala 425:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221106.4]
  assign ex_pc_valid = _T_923 | ex_reg_xcpt_interrupt; // @[RocketCore.scala 425:51:shc.marmotcaravel.MarmotCaravelConfig.fir@221107.4]
  assign _T_1096 = mem_ctrl_jalr | mem_reg_sfence; // @[RocketCore.scala 448:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221286.4]
  assign _T_1097 = $signed(mem_reg_wdata); // @[RocketCore.scala 448:106:shc.marmotcaravel.MarmotCaravelConfig.fir@221287.4]
  assign _T_965 = $signed(mem_reg_pc); // @[RocketCore.scala 444:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221154.4]
  assign _T_966 = mem_ctrl_branch & mem_br_taken; // @[RocketCore.scala 445:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221155.4]
  assign _T_968 = mem_reg_inst[31]; // @[RocketCore.scala 932:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221157.4]
  assign _T_969 = $signed(_T_968); // @[RocketCore.scala 932:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221158.4]
  assign _T_1024 = $unsigned(_T_969); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221213.4]
  assign _T_974 = {11{_T_969}}; // @[RocketCore.scala 933:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221163.4]
  assign _T_1023 = $unsigned(_T_974); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221212.4]
  assign _T_1025 = {_T_1024,_T_1023}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221214.4]
  assign _T_978 = mem_reg_inst[19:12]; // @[RocketCore.scala 934:65:shc.marmotcaravel.MarmotCaravelConfig.fir@221167.4]
  assign _T_979 = $signed(_T_978); // @[RocketCore.scala 934:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221168.4]
  assign _T_980 = {8{_T_969}}; // @[RocketCore.scala 934:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221169.4]
  assign _T_1021 = $unsigned(_T_980); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221210.4]
  assign _T_985 = mem_reg_inst[20]; // @[RocketCore.scala 936:39:shc.marmotcaravel.MarmotCaravelConfig.fir@221174.4]
  assign _T_986 = $signed(_T_985); // @[RocketCore.scala 936:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221175.4]
  assign _T_988 = mem_reg_inst[7]; // @[RocketCore.scala 937:39:shc.marmotcaravel.MarmotCaravelConfig.fir@221177.4]
  assign _T_989 = $signed(_T_988); // @[RocketCore.scala 937:43:shc.marmotcaravel.MarmotCaravelConfig.fir@221178.4]
  assign _T_1020 = $unsigned(_T_989); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221209.4]
  assign _T_1022 = {_T_1021,_T_1020}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221211.4]
  assign _T_1026 = {_T_1025,_T_1022}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221215.4]
  assign _T_996 = mem_reg_inst[30:25]; // @[RocketCore.scala 938:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221185.4]
  assign _T_1002 = mem_reg_inst[11:8]; // @[RocketCore.scala 940:57:shc.marmotcaravel.MarmotCaravelConfig.fir@221191.4]
  assign _T_1005 = mem_reg_inst[24:21]; // @[RocketCore.scala 941:52:shc.marmotcaravel.MarmotCaravelConfig.fir@221194.4]
  assign _T_1018 = {_T_996,_T_1002}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221207.4]
  assign _T_1019 = {_T_1018,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221208.4]
  assign _T_1027 = {_T_1026,_T_1019}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221216.4]
  assign _T_1028 = $signed(_T_1027); // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221217.4]
  assign _T_1083 = $unsigned(_T_979); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221272.4]
  assign _T_1082 = $unsigned(_T_986); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221271.4]
  assign _T_1084 = {_T_1083,_T_1082}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221273.4]
  assign _T_1088 = {_T_1025,_T_1084}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221277.4]
  assign _T_1080 = {_T_996,_T_1005}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221269.4]
  assign _T_1081 = {_T_1080,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221270.4]
  assign _T_1089 = {_T_1088,_T_1081}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221278.4]
  assign _T_1090 = $signed(_T_1089); // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221279.4]
  assign _T_1091 = mem_reg_rvc ? $signed(4'sh2) : $signed(4'sh4); // @[RocketCore.scala 447:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221280.4]
  assign _T_1092 = mem_ctrl_jal ? $signed(_T_1090) : $signed({{28{_T_1091[3]}},_T_1091}); // @[RocketCore.scala 446:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221281.4]
  assign _T_1093 = _T_966 ? $signed(_T_1028) : $signed(_T_1092); // @[RocketCore.scala 445:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221282.4]
  assign _T_1095 = $signed(_T_965) + $signed(_T_1093); // @[RocketCore.scala 444:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221284.4]
  assign mem_br_target = $signed(_T_1095); // @[RocketCore.scala 444:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221285.4]
  assign _T_1098 = _T_1096 ? $signed(_T_1097) : $signed(mem_br_target); // @[RocketCore.scala 448:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221288.4]
  assign _T_1099 = $signed(_T_1098) & $signed(-32'sh2); // @[RocketCore.scala 448:129:shc.marmotcaravel.MarmotCaravelConfig.fir@221289.4]
  assign _T_1100 = $signed(_T_1099); // @[RocketCore.scala 448:129:shc.marmotcaravel.MarmotCaravelConfig.fir@221290.4]
  assign mem_npc = $unsigned(_T_1100); // @[RocketCore.scala 448:141:shc.marmotcaravel.MarmotCaravelConfig.fir@221291.4]
  assign _T_1101 = mem_npc != ex_reg_pc; // @[RocketCore.scala 450:30:shc.marmotcaravel.MarmotCaravelConfig.fir@221292.4]
  assign _T_1102 = ibuf_io_inst_0_valid | ibuf_io_imem_valid; // @[RocketCore.scala 451:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221293.4]
  assign _T_1103 = mem_npc != ibuf_io_pc; // @[RocketCore.scala 451:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221294.4]
  assign _T_1104 = _T_1102 ? _T_1103 : 1'h1; // @[RocketCore.scala 451:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221295.4]
  assign mem_wrong_npc = ex_pc_valid ? _T_1101 : _T_1104; // @[RocketCore.scala 450:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221296.4]
  assign _T_1120 = mem_wrong_npc | mem_reg_sfence; // @[RocketCore.scala 458:54:shc.marmotcaravel.MarmotCaravelConfig.fir@221317.4]
  assign take_pc_mem = mem_reg_valid & _T_1120; // @[RocketCore.scala 458:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221318.4]
  assign take_pc_mem_wb = take_pc_wb | take_pc_mem; // @[RocketCore.scala 218:35:shc.marmotcaravel.MarmotCaravelConfig.fir@220309.4]
  assign _T_263 = ibuf_io_inst_0_bits_inst_bits & 32'h505f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220318.4]
  assign _T_264 = _T_263 == 32'h3; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220319.4]
  assign _T_265 = ibuf_io_inst_0_bits_inst_bits & 32'h207f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220320.4]
  assign _T_266 = _T_265 == 32'h3; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220321.4]
  assign _T_267 = ibuf_io_inst_0_bits_inst_bits & 32'h607f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220322.4]
  assign _T_268 = _T_267 == 32'hf; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220323.4]
  assign _T_269 = ibuf_io_inst_0_bits_inst_bits & 32'h5f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220324.4]
  assign _T_270 = _T_269 == 32'h17; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220325.4]
  assign _T_271 = ibuf_io_inst_0_bits_inst_bits & 32'hfc00007f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220326.4]
  assign _T_272 = _T_271 == 32'h33; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220327.4]
  assign _T_273 = ibuf_io_inst_0_bits_inst_bits & 32'hbe00707f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220328.4]
  assign _T_274 = _T_273 == 32'h33; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220329.4]
  assign _T_275 = ibuf_io_inst_0_bits_inst_bits & 32'h707b; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220330.4]
  assign _T_276 = _T_275 == 32'h63; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220331.4]
  assign _T_277 = ibuf_io_inst_0_bits_inst_bits & 32'h7f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220332.4]
  assign _T_278 = _T_277 == 32'h6f; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220333.4]
  assign _T_279 = ibuf_io_inst_0_bits_inst_bits & 32'hffefffff; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220334.4]
  assign _T_280 = _T_279 == 32'h73; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220335.4]
  assign _T_281 = ibuf_io_inst_0_bits_inst_bits & 32'hfe00305f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220336.4]
  assign _T_282 = _T_281 == 32'h1013; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220337.4]
  assign _T_284 = _T_265 == 32'h2013; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220339.4]
  assign _T_285 = ibuf_io_inst_0_bits_inst_bits & 32'h1800707f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220340.4]
  assign _T_286 = _T_285 == 32'h202f; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220341.4]
  assign _T_288 = _T_265 == 32'h2073; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220343.4]
  assign _T_289 = ibuf_io_inst_0_bits_inst_bits & 32'hbe00705f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220344.4]
  assign _T_290 = _T_289 == 32'h5013; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220345.4]
  assign _T_291 = ibuf_io_inst_0_bits_inst_bits & 32'he800707f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220346.4]
  assign _T_292 = _T_291 == 32'h800202f; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220347.4]
  assign _T_293 = ibuf_io_inst_0_bits_inst_bits & 32'hf9f0707f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220348.4]
  assign _T_294 = _T_293 == 32'h1000202f; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220349.4]
  assign _T_295 = ibuf_io_inst_0_bits_inst_bits == 32'h10500073; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220350.4]
  assign _T_296 = ibuf_io_inst_0_bits_inst_bits == 32'h30200073; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220351.4]
  assign _T_297 = ibuf_io_inst_0_bits_inst_bits == 32'h7b200073; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220352.4]
  assign _T_298 = ibuf_io_inst_0_bits_inst_bits & 32'h306f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220353.4]
  assign _T_299 = _T_298 == 32'h1063; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220354.4]
  assign _T_300 = ibuf_io_inst_0_bits_inst_bits & 32'h407f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220355.4]
  assign _T_301 = _T_300 == 32'h4063; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220356.4]
  assign _T_302 = ibuf_io_inst_0_bits_inst_bits & 32'h605f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220357.4]
  assign _T_303 = _T_302 == 32'h3; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220358.4]
  assign _T_305 = _T_298 == 32'h3; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220360.4]
  assign _T_307 = _T_264 | _T_266; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220362.4]
  assign _T_308 = _T_307 | _T_268; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220363.4]
  assign _T_309 = _T_308 | _T_270; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220364.4]
  assign _T_310 = _T_309 | _T_272; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220365.4]
  assign _T_311 = _T_310 | _T_274; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220366.4]
  assign _T_312 = _T_311 | _T_276; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220367.4]
  assign _T_313 = _T_312 | _T_278; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220368.4]
  assign _T_314 = _T_313 | _T_280; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220369.4]
  assign _T_315 = _T_314 | _T_282; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220370.4]
  assign _T_316 = _T_315 | _T_284; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220371.4]
  assign _T_317 = _T_316 | _T_286; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220372.4]
  assign _T_318 = _T_317 | _T_288; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220373.4]
  assign _T_319 = _T_318 | _T_290; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220374.4]
  assign _T_320 = _T_319 | _T_292; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220375.4]
  assign _T_321 = _T_320 | _T_294; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220376.4]
  assign _T_322 = _T_321 | _T_295; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220377.4]
  assign _T_323 = _T_322 | _T_296; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220378.4]
  assign _T_324 = _T_323 | _T_297; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220379.4]
  assign _T_325 = _T_324 | _T_299; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220380.4]
  assign _T_326 = _T_325 | _T_301; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220381.4]
  assign _T_327 = _T_326 | _T_303; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220382.4]
  assign id_ctrl_legal = _T_327 | _T_305; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220383.4]
  assign _T_329 = ibuf_io_inst_0_bits_inst_bits & 32'h54; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220384.4]
  assign id_ctrl_branch = _T_329 == 32'h40; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220385.4]
  assign _T_332 = ibuf_io_inst_0_bits_inst_bits & 32'h48; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220387.4]
  assign id_ctrl_jal = _T_332 == 32'h48; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220388.4]
  assign _T_335 = ibuf_io_inst_0_bits_inst_bits & 32'h1c; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220390.4]
  assign id_ctrl_jalr = _T_335 == 32'h4; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220391.4]
  assign _T_338 = ibuf_io_inst_0_bits_inst_bits & 32'h70; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220393.4]
  assign _T_339 = _T_338 == 32'h20; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220394.4]
  assign _T_340 = ibuf_io_inst_0_bits_inst_bits & 32'h64; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220395.4]
  assign _T_341 = _T_340 == 32'h20; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220396.4]
  assign _T_342 = ibuf_io_inst_0_bits_inst_bits & 32'h34; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220397.4]
  assign _T_343 = _T_342 == 32'h20; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220398.4]
  assign _T_345 = _T_339 | _T_341; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220400.4]
  assign id_ctrl_rxs2 = _T_345 | _T_343; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220401.4]
  assign _T_347 = ibuf_io_inst_0_bits_inst_bits & 32'h4004; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220402.4]
  assign _T_348 = _T_347 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220403.4]
  assign _T_349 = ibuf_io_inst_0_bits_inst_bits & 32'h44; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220404.4]
  assign _T_350 = _T_349 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220405.4]
  assign _T_351 = ibuf_io_inst_0_bits_inst_bits & 32'h18; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220406.4]
  assign _T_352 = _T_351 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220407.4]
  assign _T_353 = ibuf_io_inst_0_bits_inst_bits & 32'h2050; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220408.4]
  assign _T_354 = _T_353 == 32'h2000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220409.4]
  assign _T_356 = _T_348 | _T_350; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220411.4]
  assign _T_357 = _T_356 | _T_352; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220412.4]
  assign id_ctrl_rxs1 = _T_357 | _T_354; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220413.4]
  assign _T_359 = ibuf_io_inst_0_bits_inst_bits & 32'h58; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220414.4]
  assign _T_360 = _T_359 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220415.4]
  assign _T_361 = ibuf_io_inst_0_bits_inst_bits & 32'h20; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220416.4]
  assign _T_362 = _T_361 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220417.4]
  assign _T_363 = ibuf_io_inst_0_bits_inst_bits & 32'hc; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220418.4]
  assign _T_364 = _T_363 == 32'h4; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220419.4]
  assign _T_365 = ibuf_io_inst_0_bits_inst_bits & 32'h4050; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220420.4]
  assign _T_366 = _T_365 == 32'h4050; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220421.4]
  assign _T_368 = _T_360 | _T_362; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220423.4]
  assign _T_369 = _T_368 | _T_364; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220424.4]
  assign _T_370 = _T_369 | id_ctrl_jal; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220425.4]
  assign _T_371 = _T_370 | _T_366; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220426.4]
  assign _T_373 = _T_332 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220428.4]
  assign _T_374 = ibuf_io_inst_0_bits_inst_bits & 32'h4008; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220429.4]
  assign _T_375 = _T_374 == 32'h4000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220430.4]
  assign _T_377 = _T_373 | _T_352; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220432.4]
  assign _T_378 = _T_377 | _T_375; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220433.4]
  assign id_ctrl_sel_alu2 = {_T_378,_T_371}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220434.4]
  assign _T_380 = ibuf_io_inst_0_bits_inst_bits & 32'h50; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220435.4]
  assign _T_381 = _T_380 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220436.4]
  assign _T_383 = _T_348 | _T_381; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220438.4]
  assign _T_384 = _T_383 | _T_350; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220439.4]
  assign _T_385 = _T_384 | _T_352; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220440.4]
  assign _T_386 = ibuf_io_inst_0_bits_inst_bits & 32'h24; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220441.4]
  assign _T_387 = _T_386 == 32'h4; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220442.4]
  assign _T_389 = _T_387 | id_ctrl_jal; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220444.4]
  assign id_ctrl_sel_alu1 = {_T_389,_T_385}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220445.4]
  assign _T_391 = ibuf_io_inst_0_bits_inst_bits & 32'h8; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220446.4]
  assign _T_392 = _T_391 == 32'h8; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220447.4]
  assign _T_394 = _T_349 == 32'h40; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220449.4]
  assign _T_396 = _T_392 | _T_394; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220451.4]
  assign _T_398 = _T_349 == 32'h4; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220453.4]
  assign _T_400 = _T_398 | _T_392; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220455.4]
  assign _T_401 = ibuf_io_inst_0_bits_inst_bits & 32'h14; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220456.4]
  assign _T_402 = _T_401 == 32'h10; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220457.4]
  assign _T_403 = ibuf_io_inst_0_bits_inst_bits & 32'h30; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220458.4]
  assign _T_404 = _T_403 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220459.4]
  assign _T_406 = id_ctrl_jalr | _T_402; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220461.4]
  assign _T_407 = _T_406 | _T_404; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220462.4]
  assign _T_408 = {_T_407,_T_400}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220463.4]
  assign id_ctrl_sel_imm = {_T_408,_T_396}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220464.4]
  assign _T_413 = ibuf_io_inst_0_bits_inst_bits & 32'h3054; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220468.4]
  assign _T_414 = _T_413 == 32'h1010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220469.4]
  assign _T_415 = ibuf_io_inst_0_bits_inst_bits & 32'h1058; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220470.4]
  assign _T_416 = _T_415 == 32'h1040; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220471.4]
  assign _T_417 = ibuf_io_inst_0_bits_inst_bits & 32'h7044; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220472.4]
  assign _T_418 = _T_417 == 32'h7000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220473.4]
  assign _T_419 = ibuf_io_inst_0_bits_inst_bits & 32'h2001074; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220474.4]
  assign _T_420 = _T_419 == 32'h2001030; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220475.4]
  assign _T_422 = _T_414 | _T_416; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220477.4]
  assign _T_423 = _T_422 | _T_418; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220478.4]
  assign _T_424 = _T_423 | _T_420; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220479.4]
  assign _T_425 = ibuf_io_inst_0_bits_inst_bits & 32'h4054; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220480.4]
  assign _T_426 = _T_425 == 32'h40; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220481.4]
  assign _T_427 = ibuf_io_inst_0_bits_inst_bits & 32'h3044; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220482.4]
  assign _T_428 = _T_427 == 32'h3000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220483.4]
  assign _T_429 = ibuf_io_inst_0_bits_inst_bits & 32'h6044; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220484.4]
  assign _T_430 = _T_429 == 32'h6000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220485.4]
  assign _T_431 = ibuf_io_inst_0_bits_inst_bits & 32'h6018; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220486.4]
  assign _T_432 = _T_431 == 32'h6000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220487.4]
  assign _T_433 = ibuf_io_inst_0_bits_inst_bits & 32'h2002074; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220488.4]
  assign _T_434 = _T_433 == 32'h2002030; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220489.4]
  assign _T_435 = ibuf_io_inst_0_bits_inst_bits & 32'h40003034; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220490.4]
  assign _T_436 = _T_435 == 32'h40000030; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220491.4]
  assign _T_437 = ibuf_io_inst_0_bits_inst_bits & 32'h40001054; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220492.4]
  assign _T_438 = _T_437 == 32'h40001010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220493.4]
  assign _T_440 = _T_426 | _T_428; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220495.4]
  assign _T_441 = _T_440 | _T_430; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220496.4]
  assign _T_442 = _T_441 | _T_432; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220497.4]
  assign _T_443 = _T_442 | _T_434; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220498.4]
  assign _T_444 = _T_443 | _T_436; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220499.4]
  assign _T_445 = _T_444 | _T_438; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220500.4]
  assign _T_446 = ibuf_io_inst_0_bits_inst_bits & 32'h2002054; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220501.4]
  assign _T_447 = _T_446 == 32'h2010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220502.4]
  assign _T_448 = ibuf_io_inst_0_bits_inst_bits & 32'h2034; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220503.4]
  assign _T_449 = _T_448 == 32'h2010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220504.4]
  assign _T_450 = ibuf_io_inst_0_bits_inst_bits & 32'h40004054; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220505.4]
  assign _T_451 = _T_450 == 32'h4010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220506.4]
  assign _T_452 = ibuf_io_inst_0_bits_inst_bits & 32'h5054; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220507.4]
  assign _T_453 = _T_452 == 32'h4010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220508.4]
  assign _T_454 = ibuf_io_inst_0_bits_inst_bits & 32'h4058; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220509.4]
  assign _T_455 = _T_454 == 32'h4040; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220510.4]
  assign _T_457 = _T_447 | _T_449; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220512.4]
  assign _T_458 = _T_457 | _T_451; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220513.4]
  assign _T_459 = _T_458 | _T_453; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220514.4]
  assign _T_460 = _T_459 | _T_455; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220515.4]
  assign _T_461 = ibuf_io_inst_0_bits_inst_bits & 32'h2006054; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220516.4]
  assign _T_462 = _T_461 == 32'h2010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220517.4]
  assign _T_463 = ibuf_io_inst_0_bits_inst_bits & 32'h6034; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220518.4]
  assign _T_464 = _T_463 == 32'h2010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220519.4]
  assign _T_465 = ibuf_io_inst_0_bits_inst_bits & 32'h40003054; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220520.4]
  assign _T_466 = _T_465 == 32'h40001010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220521.4]
  assign _T_468 = _T_462 | _T_464; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220523.4]
  assign _T_469 = _T_468 | _T_455; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220524.4]
  assign _T_470 = _T_469 | _T_436; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220525.4]
  assign _T_471 = _T_470 | _T_466; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220526.4]
  assign _T_472 = {_T_445,_T_424}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220527.4]
  assign _T_473 = {_T_471,_T_460}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220528.4]
  assign id_ctrl_alu_fn = {_T_473,_T_472}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220529.4]
  assign _T_475 = ibuf_io_inst_0_bits_inst_bits & 32'h707f; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220530.4]
  assign _T_476 = _T_475 == 32'h100f; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220531.4]
  assign _T_478 = _T_303 | _T_264; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220533.4]
  assign _T_479 = _T_478 | _T_266; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220534.4]
  assign _T_480 = _T_479 | _T_476; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220535.4]
  assign _T_481 = _T_480 | _T_286; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220536.4]
  assign _T_482 = _T_481 | _T_292; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220537.4]
  assign id_ctrl_mem = _T_482 | _T_294; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220538.4]
  assign _T_484 = ibuf_io_inst_0_bits_inst_bits & 32'h2008; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220539.4]
  assign _T_485 = _T_484 == 32'h8; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220540.4]
  assign _T_486 = ibuf_io_inst_0_bits_inst_bits & 32'h28; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220541.4]
  assign _T_487 = _T_486 == 32'h20; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220542.4]
  assign _T_488 = ibuf_io_inst_0_bits_inst_bits & 32'h18000020; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220543.4]
  assign _T_489 = _T_488 == 32'h18000020; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220544.4]
  assign _T_490 = ibuf_io_inst_0_bits_inst_bits & 32'h20000020; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220545.4]
  assign _T_491 = _T_490 == 32'h20000020; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220546.4]
  assign _T_493 = _T_485 | _T_487; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220548.4]
  assign _T_494 = _T_493 | _T_489; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220549.4]
  assign _T_495 = _T_494 | _T_491; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220550.4]
  assign _T_496 = ibuf_io_inst_0_bits_inst_bits & 32'h10001008; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220551.4]
  assign _T_497 = _T_496 == 32'h10000008; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220552.4]
  assign _T_498 = ibuf_io_inst_0_bits_inst_bits & 32'h40001008; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220553.4]
  assign _T_499 = _T_498 == 32'h40000008; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220554.4]
  assign _T_501 = _T_497 | _T_499; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220556.4]
  assign _T_502 = ibuf_io_inst_0_bits_inst_bits & 32'h8000008; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220557.4]
  assign _T_503 = _T_502 == 32'h8000008; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220558.4]
  assign _T_504 = ibuf_io_inst_0_bits_inst_bits & 32'h10000008; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220559.4]
  assign _T_505 = _T_504 == 32'h10000008; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220560.4]
  assign _T_506 = ibuf_io_inst_0_bits_inst_bits & 32'h80000008; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220561.4]
  assign _T_507 = _T_506 == 32'h80000008; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220562.4]
  assign _T_509 = _T_485 | _T_503; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220564.4]
  assign _T_510 = _T_509 | _T_505; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220565.4]
  assign _T_511 = _T_510 | _T_507; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220566.4]
  assign _T_512 = ibuf_io_inst_0_bits_inst_bits & 32'h18001008; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220567.4]
  assign _T_513 = _T_512 == 32'h8; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220568.4]
  assign _T_515 = {_T_501,_T_495}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220570.4]
  assign _T_516 = {1'h0,_T_513}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220571.4]
  assign _T_517 = {_T_516,_T_511}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220572.4]
  assign id_ctrl_mem_cmd = {_T_517,_T_515}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220573.4]
  assign _T_519 = ibuf_io_inst_0_bits_inst_bits & 32'h1000; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220574.4]
  assign _T_520 = _T_519 == 32'h1000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220575.4]
  assign _T_522 = ibuf_io_inst_0_bits_inst_bits & 32'h2000; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220577.4]
  assign _T_523 = _T_522 == 32'h2000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220578.4]
  assign _T_525 = ibuf_io_inst_0_bits_inst_bits & 32'h4000; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220580.4]
  assign _T_526 = _T_525 == 32'h4000; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220581.4]
  assign _T_528 = {_T_526,_T_523}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220583.4]
  assign id_ctrl_mem_type = {_T_528,_T_520}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220584.4]
  assign _T_530 = ibuf_io_inst_0_bits_inst_bits & 32'h2000074; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220585.4]
  assign id_ctrl_div = _T_530 == 32'h2000030; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220586.4]
  assign _T_534 = _T_486 == 32'h0; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220589.4]
  assign _T_536 = _T_380 == 32'h10; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220591.4]
  assign _T_537 = ibuf_io_inst_0_bits_inst_bits & 32'h1010; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220592.4]
  assign _T_538 = _T_537 == 32'h1010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220593.4]
  assign _T_540 = _T_484 == 32'h2008; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220595.4]
  assign _T_541 = ibuf_io_inst_0_bits_inst_bits & 32'h2010; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220596.4]
  assign _T_542 = _T_541 == 32'h2010; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220597.4]
  assign _T_544 = _T_534 | _T_364; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220599.4]
  assign _T_545 = _T_544 | _T_536; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220600.4]
  assign _T_546 = _T_545 | id_ctrl_jal; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220601.4]
  assign _T_547 = _T_546 | _T_538; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220602.4]
  assign _T_548 = _T_547 | _T_540; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220603.4]
  assign id_ctrl_wxd = _T_548 | _T_542; // @[Decode.scala 15:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220604.4]
  assign _T_550 = ibuf_io_inst_0_bits_inst_bits & 32'h1050; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220605.4]
  assign _T_551 = _T_550 == 32'h1050; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220606.4]
  assign _T_554 = _T_353 == 32'h2050; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220609.4]
  assign _T_557 = _T_380 == 32'h50; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220612.4]
  assign _T_559 = {_T_557,_T_554}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220614.4]
  assign id_ctrl_csr = {_T_559,_T_551}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220615.4]
  assign _T_561 = ibuf_io_inst_0_bits_inst_bits & 32'h1048; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220616.4]
  assign id_ctrl_fence_i = _T_561 == 32'h1008; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220617.4]
  assign _T_564 = ibuf_io_inst_0_bits_inst_bits & 32'h3048; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220619.4]
  assign id_ctrl_fence = _T_564 == 32'h8; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220620.4]
  assign _T_567 = ibuf_io_inst_0_bits_inst_bits & 32'h2048; // @[Decode.scala 14:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220622.4]
  assign id_ctrl_amo = _T_567 == 32'h2008; // @[Decode.scala 14:121:shc.marmotcaravel.MarmotCaravelConfig.fir@220623.4]
  assign _T_577 = ibuf_io_inst_0_bits_inst_rs1 == 5'h0; // @[RocketCore.scala 917:45:shc.marmotcaravel.MarmotCaravelConfig.fir@220660.4]
  assign _T_579 = ibuf_io_inst_0_bits_inst_rs1; // @[RocketCore.scala 911:44:shc.marmotcaravel.MarmotCaravelConfig.fir@220662.4]
  assign _T_582 = _T_574__T_581_data; // @[RocketCore.scala 917:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220665.4]
  assign _T_587 = ibuf_io_inst_0_bits_inst_rs2; // @[RocketCore.scala 911:44:shc.marmotcaravel.MarmotCaravelConfig.fir@220671.4]
  assign _T_590 = _T_574__T_589_data; // @[RocketCore.scala 917:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220674.4]
  assign _T_661 = id_ctrl_csr == 3'h6; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@220749.4]
  assign _T_662 = id_ctrl_csr == 3'h7; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@220750.4]
  assign _T_663 = id_ctrl_csr == 3'h5; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@220751.4]
  assign _T_664 = _T_661 | _T_662; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@220752.4]
  assign id_csr_en = _T_664 | _T_663; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@220753.4]
  assign id_system_insn = id_ctrl_csr == 3'h4; // @[RocketCore.scala 246:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220754.4]
  assign id_csr_ren = _T_664 & _T_577; // @[RocketCore.scala 247:54:shc.marmotcaravel.MarmotCaravelConfig.fir@220759.4]
  assign _T_669 = id_ctrl_mem_cmd == 5'h14; // @[RocketCore.scala 249:50:shc.marmotcaravel.MarmotCaravelConfig.fir@220761.4]
  assign id_sfence = id_ctrl_mem & _T_669; // @[RocketCore.scala 249:31:shc.marmotcaravel.MarmotCaravelConfig.fir@220762.4]
  assign _T_670 = id_sfence | id_system_insn; // @[RocketCore.scala 250:32:shc.marmotcaravel.MarmotCaravelConfig.fir@220763.4]
  assign _T_671 = id_csr_ren == 1'h0; // @[RocketCore.scala 250:67:shc.marmotcaravel.MarmotCaravelConfig.fir@220764.4]
  assign _T_672 = id_csr_en & _T_671; // @[RocketCore.scala 250:64:shc.marmotcaravel.MarmotCaravelConfig.fir@220765.4]
  assign _T_673 = _T_672 & csr_io_decode_0_write_flush; // @[RocketCore.scala 250:79:shc.marmotcaravel.MarmotCaravelConfig.fir@220766.4]
  assign id_csr_flush = _T_670 | _T_673; // @[RocketCore.scala 250:50:shc.marmotcaravel.MarmotCaravelConfig.fir@220767.4]
  assign _T_674 = id_ctrl_legal == 1'h0; // @[RocketCore.scala 258:25:shc.marmotcaravel.MarmotCaravelConfig.fir@220768.4]
  assign _T_676 = csr_io_status_isa[12]; // @[RocketCore.scala 259:55:shc.marmotcaravel.MarmotCaravelConfig.fir@220770.4]
  assign _T_677 = _T_676 == 1'h0; // @[RocketCore.scala 259:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220771.4]
  assign _T_678 = id_ctrl_div & _T_677; // @[RocketCore.scala 259:34:shc.marmotcaravel.MarmotCaravelConfig.fir@220772.4]
  assign _T_679 = _T_674 | _T_678; // @[RocketCore.scala 258:40:shc.marmotcaravel.MarmotCaravelConfig.fir@220773.4]
  assign _T_680 = csr_io_status_isa[0]; // @[RocketCore.scala 260:38:shc.marmotcaravel.MarmotCaravelConfig.fir@220774.4]
  assign _T_681 = _T_680 == 1'h0; // @[RocketCore.scala 260:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220775.4]
  assign _T_682 = id_ctrl_amo & _T_681; // @[RocketCore.scala 260:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220776.4]
  assign _T_683 = _T_679 | _T_682; // @[RocketCore.scala 259:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220777.4]
  assign _T_691 = csr_io_status_isa[2]; // @[RocketCore.scala 263:51:shc.marmotcaravel.MarmotCaravelConfig.fir@220785.4]
  assign _T_692 = _T_691 == 1'h0; // @[RocketCore.scala 263:33:shc.marmotcaravel.MarmotCaravelConfig.fir@220786.4]
  assign _T_693 = ibuf_io_inst_0_bits_rvc & _T_692; // @[RocketCore.scala 263:30:shc.marmotcaravel.MarmotCaravelConfig.fir@220787.4]
  assign _T_694 = _T_683 | _T_693; // @[RocketCore.scala 262:47:shc.marmotcaravel.MarmotCaravelConfig.fir@220788.4]
  assign _T_700 = _T_671 & csr_io_decode_0_write_illegal; // @[RocketCore.scala 266:64:shc.marmotcaravel.MarmotCaravelConfig.fir@220794.4]
  assign _T_701 = csr_io_decode_0_read_illegal | _T_700; // @[RocketCore.scala 266:49:shc.marmotcaravel.MarmotCaravelConfig.fir@220795.4]
  assign _T_702 = id_csr_en & _T_701; // @[RocketCore.scala 266:15:shc.marmotcaravel.MarmotCaravelConfig.fir@220796.4]
  assign id_illegal_insn = _T_694 | _T_702; // @[RocketCore.scala 265:73:shc.marmotcaravel.MarmotCaravelConfig.fir@220797.4]
  assign id_amo_aq = ibuf_io_inst_0_bits_inst_bits[26]; // @[RocketCore.scala 269:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220803.4]
  assign id_amo_rl = ibuf_io_inst_0_bits_inst_bits[25]; // @[RocketCore.scala 270:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220804.4]
  assign _T_708 = id_ctrl_amo & id_amo_aq; // @[RocketCore.scala 271:52:shc.marmotcaravel.MarmotCaravelConfig.fir@220805.4]
  assign id_fence_next = id_ctrl_fence | _T_708; // @[RocketCore.scala 271:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220806.4]
  assign _T_709 = io_dmem_ordered == 1'h0; // @[RocketCore.scala 272:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220807.4]
  assign id_mem_busy = _T_709 | io_dmem_req_valid; // @[RocketCore.scala 272:38:shc.marmotcaravel.MarmotCaravelConfig.fir@220808.4]
  assign _T_710 = id_mem_busy == 1'h0; // @[RocketCore.scala 273:9:shc.marmotcaravel.MarmotCaravelConfig.fir@220809.4]
  assign _T_718 = id_ctrl_amo & id_amo_rl; // @[RocketCore.scala 278:33:shc.marmotcaravel.MarmotCaravelConfig.fir@220821.4]
  assign _T_719 = _T_718 | id_ctrl_fence_i; // @[RocketCore.scala 278:46:shc.marmotcaravel.MarmotCaravelConfig.fir@220822.4]
  assign _T_721 = id_reg_fence & id_ctrl_mem; // @[RocketCore.scala 278:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220824.4]
  assign _T_722 = _T_719 | _T_721; // @[RocketCore.scala 278:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220825.4]
  assign id_do_fence = id_mem_busy & _T_722; // @[RocketCore.scala 278:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220826.4]
  assign _T_726 = csr_io_interrupt | bpu_io_debug_if; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220839.4]
  assign _T_727 = _T_726 | bpu_io_xcpt_if; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220840.4]
  assign _T_728 = _T_727 | ibuf_io_inst_0_bits_xcpt0_pf_inst; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220841.4]
  assign _T_729 = _T_728 | ibuf_io_inst_0_bits_xcpt0_ae_inst; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220842.4]
  assign _T_730 = _T_729 | ibuf_io_inst_0_bits_xcpt1_pf_inst; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220843.4]
  assign _T_731 = _T_730 | ibuf_io_inst_0_bits_xcpt1_ae_inst; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220844.4]
  assign id_xcpt = _T_731 | id_illegal_insn; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220845.4]
  assign _T_732 = ibuf_io_inst_0_bits_xcpt1_ae_inst ? 2'h1 : 2'h2; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220846.4]
  assign _T_733 = ibuf_io_inst_0_bits_xcpt1_pf_inst ? 4'hc : {{2'd0}, _T_732}; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220847.4]
  assign _T_734 = ibuf_io_inst_0_bits_xcpt0_ae_inst ? 4'h1 : _T_733; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220848.4]
  assign _T_735 = ibuf_io_inst_0_bits_xcpt0_pf_inst ? 4'hc : _T_734; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220849.4]
  assign _T_736 = bpu_io_xcpt_if ? 4'h3 : _T_735; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220850.4]
  assign _T_737 = bpu_io_debug_if ? 4'he : _T_736; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@220851.4]
  assign ex_waddr = ex_reg_inst[11:7]; // @[RocketCore.scala 313:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220864.4]
  assign mem_waddr = mem_reg_inst[11:7]; // @[RocketCore.scala 314:31:shc.marmotcaravel.MarmotCaravelConfig.fir@220865.4]
  assign wb_waddr = wb_reg_inst[11:7]; // @[RocketCore.scala 315:29:shc.marmotcaravel.MarmotCaravelConfig.fir@220866.4]
  assign _T_748 = ex_reg_valid & ex_ctrl_wxd; // @[RocketCore.scala 318:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220867.4]
  assign _T_749 = mem_reg_valid & mem_ctrl_wxd; // @[RocketCore.scala 319:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220868.4]
  assign _T_750 = mem_ctrl_mem == 1'h0; // @[RocketCore.scala 319:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220869.4]
  assign _T_751 = _T_749 & _T_750; // @[RocketCore.scala 319:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220870.4]
  assign _T_753 = 5'h0 == ibuf_io_inst_0_bits_inst_rs1; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220872.4]
  assign _T_755 = ex_waddr == ibuf_io_inst_0_bits_inst_rs1; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220874.4]
  assign _T_756 = _T_748 & _T_755; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@220875.4]
  assign _T_757 = mem_waddr == ibuf_io_inst_0_bits_inst_rs1; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220876.4]
  assign _T_758 = _T_751 & _T_757; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@220877.4]
  assign _T_760 = _T_749 & _T_757; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@220879.4]
  assign _T_761 = 5'h0 == ibuf_io_inst_0_bits_inst_rs2; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220880.4]
  assign _T_763 = ex_waddr == ibuf_io_inst_0_bits_inst_rs2; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220882.4]
  assign _T_764 = _T_748 & _T_763; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@220883.4]
  assign _T_765 = mem_waddr == ibuf_io_inst_0_bits_inst_rs2; // @[RocketCore.scala 321:82:shc.marmotcaravel.MarmotCaravelConfig.fir@220884.4]
  assign _T_766 = _T_751 & _T_765; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@220885.4]
  assign _T_768 = _T_749 & _T_765; // @[RocketCore.scala 321:74:shc.marmotcaravel.MarmotCaravelConfig.fir@220887.4]
  assign _T_790 = ex_reg_rs_lsb_0 == 2'h1; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220891.4]
  assign _T_791 = _T_790 ? mem_reg_wdata : 32'h0; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220892.4]
  assign _T_792 = ex_reg_rs_lsb_0 == 2'h2; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220893.4]
  assign _T_793 = _T_792 ? wb_reg_wdata : _T_791; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220894.4]
  assign _T_794 = ex_reg_rs_lsb_0 == 2'h3; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220895.4]
  assign _T_795 = _T_794 ? io_dmem_resp_bits_data_word_bypass : _T_793; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220896.4]
  assign _T_796 = {ex_reg_rs_msb_0,ex_reg_rs_lsb_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220897.4]
  assign _T_797 = ex_reg_rs_bypass_0 ? _T_795 : _T_796; // @[RocketCore.scala 329:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220898.4]
  assign _T_798 = ex_reg_rs_lsb_1 == 2'h1; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220899.4]
  assign _T_799 = _T_798 ? mem_reg_wdata : 32'h0; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220900.4]
  assign _T_800 = ex_reg_rs_lsb_1 == 2'h2; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220901.4]
  assign _T_801 = _T_800 ? wb_reg_wdata : _T_799; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220902.4]
  assign _T_802 = ex_reg_rs_lsb_1 == 2'h3; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@220903.4]
  assign _T_803 = _T_802 ? io_dmem_resp_bits_data_word_bypass : _T_801; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@220904.4]
  assign _T_804 = {ex_reg_rs_msb_1,ex_reg_rs_lsb_1}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220905.4]
  assign _T_805 = ex_reg_rs_bypass_1 ? _T_803 : _T_804; // @[RocketCore.scala 329:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220906.4]
  assign _T_806 = ex_ctrl_sel_imm == 3'h5; // @[RocketCore.scala 932:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220907.4]
  assign _T_807 = ex_reg_inst[31]; // @[RocketCore.scala 932:48:shc.marmotcaravel.MarmotCaravelConfig.fir@220908.4]
  assign _T_808 = $signed(_T_807); // @[RocketCore.scala 932:53:shc.marmotcaravel.MarmotCaravelConfig.fir@220909.4]
  assign _T_809 = _T_806 ? $signed(1'sh0) : $signed(_T_808); // @[RocketCore.scala 932:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220910.4]
  assign _T_810 = ex_ctrl_sel_imm == 3'h2; // @[RocketCore.scala 933:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220911.4]
  assign _T_811 = ex_reg_inst[30:20]; // @[RocketCore.scala 933:41:shc.marmotcaravel.MarmotCaravelConfig.fir@220912.4]
  assign _T_812 = $signed(_T_811); // @[RocketCore.scala 933:49:shc.marmotcaravel.MarmotCaravelConfig.fir@220913.4]
  assign _T_813 = _T_810 ? $signed(_T_812) : $signed({11{_T_809}}); // @[RocketCore.scala 933:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220914.4]
  assign _T_814 = ex_ctrl_sel_imm != 3'h2; // @[RocketCore.scala 934:26:shc.marmotcaravel.MarmotCaravelConfig.fir@220915.4]
  assign _T_815 = ex_ctrl_sel_imm != 3'h3; // @[RocketCore.scala 934:43:shc.marmotcaravel.MarmotCaravelConfig.fir@220916.4]
  assign _T_816 = _T_814 & _T_815; // @[RocketCore.scala 934:36:shc.marmotcaravel.MarmotCaravelConfig.fir@220917.4]
  assign _T_817 = ex_reg_inst[19:12]; // @[RocketCore.scala 934:65:shc.marmotcaravel.MarmotCaravelConfig.fir@220918.4]
  assign _T_818 = $signed(_T_817); // @[RocketCore.scala 934:73:shc.marmotcaravel.MarmotCaravelConfig.fir@220919.4]
  assign _T_819 = _T_816 ? $signed({8{_T_809}}) : $signed(_T_818); // @[RocketCore.scala 934:21:shc.marmotcaravel.MarmotCaravelConfig.fir@220920.4]
  assign _T_822 = _T_810 | _T_806; // @[RocketCore.scala 935:33:shc.marmotcaravel.MarmotCaravelConfig.fir@220923.4]
  assign _T_823 = ex_ctrl_sel_imm == 3'h3; // @[RocketCore.scala 936:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220924.4]
  assign _T_824 = ex_reg_inst[20]; // @[RocketCore.scala 936:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220925.4]
  assign _T_825 = $signed(_T_824); // @[RocketCore.scala 936:44:shc.marmotcaravel.MarmotCaravelConfig.fir@220926.4]
  assign _T_826 = ex_ctrl_sel_imm == 3'h1; // @[RocketCore.scala 937:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220927.4]
  assign _T_827 = ex_reg_inst[7]; // @[RocketCore.scala 937:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220928.4]
  assign _T_828 = $signed(_T_827); // @[RocketCore.scala 937:43:shc.marmotcaravel.MarmotCaravelConfig.fir@220929.4]
  assign _T_829 = _T_826 ? $signed(_T_828) : $signed(_T_809); // @[RocketCore.scala 937:18:shc.marmotcaravel.MarmotCaravelConfig.fir@220930.4]
  assign _T_830 = _T_823 ? $signed(_T_825) : $signed(_T_829); // @[RocketCore.scala 936:18:shc.marmotcaravel.MarmotCaravelConfig.fir@220931.4]
  assign _T_831 = _T_822 ? $signed(1'sh0) : $signed(_T_830); // @[RocketCore.scala 935:18:shc.marmotcaravel.MarmotCaravelConfig.fir@220932.4]
  assign _T_835 = ex_reg_inst[30:25]; // @[RocketCore.scala 938:66:shc.marmotcaravel.MarmotCaravelConfig.fir@220936.4]
  assign _T_836 = _T_822 ? 6'h0 : _T_835; // @[RocketCore.scala 938:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220937.4]
  assign _T_838 = ex_ctrl_sel_imm == 3'h0; // @[RocketCore.scala 940:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220939.4]
  assign _T_840 = _T_838 | _T_826; // @[RocketCore.scala 940:34:shc.marmotcaravel.MarmotCaravelConfig.fir@220941.4]
  assign _T_841 = ex_reg_inst[11:8]; // @[RocketCore.scala 940:57:shc.marmotcaravel.MarmotCaravelConfig.fir@220942.4]
  assign _T_843 = ex_reg_inst[19:16]; // @[RocketCore.scala 941:39:shc.marmotcaravel.MarmotCaravelConfig.fir@220944.4]
  assign _T_844 = ex_reg_inst[24:21]; // @[RocketCore.scala 941:52:shc.marmotcaravel.MarmotCaravelConfig.fir@220945.4]
  assign _T_845 = _T_806 ? _T_843 : _T_844; // @[RocketCore.scala 941:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220946.4]
  assign _T_846 = _T_840 ? _T_841 : _T_845; // @[RocketCore.scala 940:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220947.4]
  assign _T_847 = _T_810 ? 4'h0 : _T_846; // @[RocketCore.scala 939:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220948.4]
  assign _T_850 = ex_ctrl_sel_imm == 3'h4; // @[RocketCore.scala 943:22:shc.marmotcaravel.MarmotCaravelConfig.fir@220951.4]
  assign _T_853 = ex_reg_inst[15]; // @[RocketCore.scala 944:37:shc.marmotcaravel.MarmotCaravelConfig.fir@220954.4]
  assign _T_854 = _T_806 ? _T_853 : 1'h0; // @[RocketCore.scala 944:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220955.4]
  assign _T_855 = _T_850 ? _T_824 : _T_854; // @[RocketCore.scala 943:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220956.4]
  assign _T_856 = _T_838 ? _T_827 : _T_855; // @[RocketCore.scala 942:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220957.4]
  assign _T_857 = {_T_836,_T_847}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220958.4]
  assign _T_858 = {_T_857,_T_856}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220959.4]
  assign _T_859 = $unsigned(_T_831); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220960.4]
  assign _T_860 = $unsigned(_T_819); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220961.4]
  assign _T_861 = {_T_860,_T_859}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220962.4]
  assign _T_862 = $unsigned(_T_813); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220963.4]
  assign _T_863 = $unsigned(_T_809); // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220964.4]
  assign _T_864 = {_T_863,_T_862}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220965.4]
  assign _T_865 = {_T_864,_T_861}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220966.4]
  assign _T_866 = {_T_865,_T_858}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@220967.4]
  assign ex_imm = $signed(_T_866); // @[RocketCore.scala 946:53:shc.marmotcaravel.MarmotCaravelConfig.fir@220968.4]
  assign _T_867 = $signed(_T_797); // @[RocketCore.scala 332:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220969.4]
  assign _T_868 = $signed(ex_reg_pc); // @[RocketCore.scala 333:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220970.4]
  assign _T_869 = 2'h2 == ex_ctrl_sel_alu1; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220971.4]
  assign _T_870 = _T_869 ? $signed(_T_868) : $signed(32'sh0); // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220972.4]
  assign _T_871 = 2'h1 == ex_ctrl_sel_alu1; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220973.4]
  assign ex_op1 = _T_871 ? $signed(_T_867) : $signed(_T_870); // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220974.4]
  assign _T_872 = $signed(_T_805); // @[RocketCore.scala 335:24:shc.marmotcaravel.MarmotCaravelConfig.fir@220975.4]
  assign _T_873 = ex_reg_rvc ? $signed(4'sh2) : $signed(4'sh4); // @[RocketCore.scala 337:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220976.4]
  assign _T_874 = 2'h1 == ex_ctrl_sel_alu2; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220977.4]
  assign _T_875 = _T_874 ? $signed(_T_873) : $signed(4'sh0); // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220978.4]
  assign _T_876 = 2'h3 == ex_ctrl_sel_alu2; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220979.4]
  assign _T_877 = _T_876 ? $signed(ex_imm) : $signed({{28{_T_875[3]}},_T_875}); // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220980.4]
  assign _T_878 = 2'h2 == ex_ctrl_sel_alu2; // @[Mux.scala 46:19:shc.marmotcaravel.MarmotCaravelConfig.fir@220981.4]
  assign ex_op2 = _T_878 ? $signed(_T_872) : $signed(_T_877); // @[Mux.scala 46:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220982.4]
  assign _T_1494 = ibuf_io_inst_0_valid == 1'h0; // @[RocketCore.scala 702:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221842.4]
  assign _T_1495 = _T_1494 | ibuf_io_inst_0_bits_replay; // @[RocketCore.scala 702:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221843.4]
  assign _T_1496 = _T_1495 | take_pc_mem_wb; // @[RocketCore.scala 702:71:shc.marmotcaravel.MarmotCaravelConfig.fir@221844.4]
  assign _T_1333 = ibuf_io_inst_0_bits_inst_rs1 != 5'h0; // @[RocketCore.scala 634:55:shc.marmotcaravel.MarmotCaravelConfig.fir@221658.4]
  assign _T_1334 = id_ctrl_rxs1 & _T_1333; // @[RocketCore.scala 634:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221659.4]
  assign _T_1381 = ibuf_io_inst_0_bits_inst_rs1 == ex_waddr; // @[RocketCore.scala 654:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221713.4]
  assign _T_1382 = _T_1334 & _T_1381; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221714.4]
  assign _T_1335 = ibuf_io_inst_0_bits_inst_rs2 != 5'h0; // @[RocketCore.scala 635:55:shc.marmotcaravel.MarmotCaravelConfig.fir@221660.4]
  assign _T_1336 = id_ctrl_rxs2 & _T_1335; // @[RocketCore.scala 635:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221661.4]
  assign _T_1383 = ibuf_io_inst_0_bits_inst_rs2 == ex_waddr; // @[RocketCore.scala 654:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221715.4]
  assign _T_1384 = _T_1336 & _T_1383; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221716.4]
  assign _T_1387 = _T_1382 | _T_1384; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221719.4]
  assign _T_1337 = ibuf_io_inst_0_bits_inst_rd != 5'h0; // @[RocketCore.scala 636:55:shc.marmotcaravel.MarmotCaravelConfig.fir@221662.4]
  assign _T_1338 = id_ctrl_wxd & _T_1337; // @[RocketCore.scala 636:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221663.4]
  assign _T_1385 = ibuf_io_inst_0_bits_inst_rd == ex_waddr; // @[RocketCore.scala 654:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221717.4]
  assign _T_1386 = _T_1338 & _T_1385; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221718.4]
  assign _T_1388 = _T_1387 | _T_1386; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221720.4]
  assign data_hazard_ex = ex_ctrl_wxd & _T_1388; // @[RocketCore.scala 654:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221721.4]
  assign _T_1375 = ex_ctrl_csr != 3'h0; // @[RocketCore.scala 653:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221706.4]
  assign _T_1376 = _T_1375 | ex_ctrl_jalr; // @[RocketCore.scala 653:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221707.4]
  assign _T_1377 = _T_1376 | ex_ctrl_mem; // @[RocketCore.scala 653:64:shc.marmotcaravel.MarmotCaravelConfig.fir@221708.4]
  assign ex_cannot_bypass = _T_1377 | ex_ctrl_div; // @[RocketCore.scala 653:94:shc.marmotcaravel.MarmotCaravelConfig.fir@221710.4]
  assign _T_1400 = data_hazard_ex & ex_cannot_bypass; // @[RocketCore.scala 656:54:shc.marmotcaravel.MarmotCaravelConfig.fir@221734.4]
  assign id_ex_hazard = ex_reg_valid & _T_1400; // @[RocketCore.scala 656:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221736.4]
  assign _T_1408 = ibuf_io_inst_0_bits_inst_rs1 == mem_waddr; // @[RocketCore.scala 663:72:shc.marmotcaravel.MarmotCaravelConfig.fir@221745.4]
  assign _T_1409 = _T_1334 & _T_1408; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221746.4]
  assign _T_1410 = ibuf_io_inst_0_bits_inst_rs2 == mem_waddr; // @[RocketCore.scala 663:72:shc.marmotcaravel.MarmotCaravelConfig.fir@221747.4]
  assign _T_1411 = _T_1336 & _T_1410; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221748.4]
  assign _T_1414 = _T_1409 | _T_1411; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221751.4]
  assign _T_1412 = ibuf_io_inst_0_bits_inst_rd == mem_waddr; // @[RocketCore.scala 663:72:shc.marmotcaravel.MarmotCaravelConfig.fir@221749.4]
  assign _T_1413 = _T_1338 & _T_1412; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221750.4]
  assign _T_1415 = _T_1414 | _T_1413; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221752.4]
  assign data_hazard_mem = mem_ctrl_wxd & _T_1415; // @[RocketCore.scala 663:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221753.4]
  assign _T_1402 = mem_ctrl_csr != 3'h0; // @[RocketCore.scala 662:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221738.4]
  assign _T_1403 = mem_ctrl_mem & mem_reg_slow_bypass; // @[RocketCore.scala 662:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221739.4]
  assign _T_1404 = _T_1402 | _T_1403; // @[RocketCore.scala 662:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221740.4]
  assign _T_1405 = _T_1404 | mem_ctrl_mul; // @[RocketCore.scala 662:84:shc.marmotcaravel.MarmotCaravelConfig.fir@221741.4]
  assign _T_1406 = _T_1405 | mem_ctrl_div; // @[RocketCore.scala 662:100:shc.marmotcaravel.MarmotCaravelConfig.fir@221742.4]
  assign _T_1407 = _T_1406 | mem_ctrl_fp; // @[RocketCore.scala 662:116:shc.marmotcaravel.MarmotCaravelConfig.fir@221743.4]
  assign mem_cannot_bypass = _T_1407 | mem_ctrl_rocc; // @[RocketCore.scala 662:131:shc.marmotcaravel.MarmotCaravelConfig.fir@221744.4]
  assign _T_1427 = data_hazard_mem & mem_cannot_bypass; // @[RocketCore.scala 665:57:shc.marmotcaravel.MarmotCaravelConfig.fir@221766.4]
  assign id_mem_hazard = mem_reg_valid & _T_1427; // @[RocketCore.scala 665:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221768.4]
  assign _T_1467 = id_ex_hazard | id_mem_hazard; // @[RocketCore.scala 692:18:shc.marmotcaravel.MarmotCaravelConfig.fir@221814.4]
  assign _T_1431 = ibuf_io_inst_0_bits_inst_rs1 == wb_waddr; // @[RocketCore.scala 669:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221772.4]
  assign _T_1432 = _T_1334 & _T_1431; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221773.4]
  assign _T_1433 = ibuf_io_inst_0_bits_inst_rs2 == wb_waddr; // @[RocketCore.scala 669:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221774.4]
  assign _T_1434 = _T_1336 & _T_1433; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221775.4]
  assign _T_1437 = _T_1432 | _T_1434; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221778.4]
  assign _T_1435 = ibuf_io_inst_0_bits_inst_rd == wb_waddr; // @[RocketCore.scala 669:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221776.4]
  assign _T_1436 = _T_1338 & _T_1435; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221777.4]
  assign _T_1438 = _T_1437 | _T_1436; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221779.4]
  assign data_hazard_wb = wb_ctrl_wxd & _T_1438; // @[RocketCore.scala 669:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221780.4]
  assign _T_924 = io_dmem_resp_valid == 1'h0; // @[RocketCore.scala 426:39:shc.marmotcaravel.MarmotCaravelConfig.fir@221108.4]
  assign wb_dcache_miss = wb_ctrl_mem & _T_924; // @[RocketCore.scala 426:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221109.4]
  assign _T_1271 = wb_ctrl_div | wb_dcache_miss; // @[RocketCore.scala 562:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221533.4]
  assign wb_set_sboard = _T_1271 | wb_ctrl_rocc; // @[RocketCore.scala 562:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221534.4]
  assign _T_1450 = data_hazard_wb & wb_set_sboard; // @[RocketCore.scala 671:54:shc.marmotcaravel.MarmotCaravelConfig.fir@221793.4]
  assign id_wb_hazard = wb_reg_valid & _T_1450; // @[RocketCore.scala 671:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221795.4]
  assign _T_1468 = _T_1467 | id_wb_hazard; // @[RocketCore.scala 692:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221815.4]
  assign _T_1341 = _T_1340[31:1]; // @[RocketCore.scala 897:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221665.4]
  assign _GEN_240 = {{1'd0}, _T_1341}; // @[RocketCore.scala 897:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221666.4]
  assign _T_1342 = _GEN_240 << 1; // @[RocketCore.scala 897:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221666.4]
  assign _T_1348 = _T_1342 >> ibuf_io_inst_0_bits_inst_rs1; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221675.4]
  assign _T_1349 = _T_1348[0]; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221676.4]
  assign dmem_resp_valid = io_dmem_resp_valid & io_dmem_resp_bits_has_data; // @[RocketCore.scala 572:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221550.4]
  assign dmem_resp_replay = dmem_resp_valid & io_dmem_resp_bits_replay; // @[RocketCore.scala 573:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221551.4]
  assign _T_1277 = io_dmem_resp_bits_tag[0]; // @[RocketCore.scala 569:45:shc.marmotcaravel.MarmotCaravelConfig.fir@221544.4]
  assign dmem_resp_xpu = _T_1277 == 1'h0; // @[RocketCore.scala 569:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221546.4]
  assign _T_1285 = dmem_resp_replay & dmem_resp_xpu; // @[RocketCore.scala 588:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221564.4]
  assign _T_1283 = div_io_resp_ready & div_io_resp_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221560.4]
  assign ll_wen = _T_1285 ? 1'h1 : _T_1283; // @[RocketCore.scala 588:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221565.4]
  assign dmem_resp_waddr = io_dmem_resp_bits_tag[5:1]; // @[RocketCore.scala 571:46:shc.marmotcaravel.MarmotCaravelConfig.fir@221549.4]
  assign ll_waddr = _T_1285 ? dmem_resp_waddr : div_io_resp_bits_tag; // @[RocketCore.scala 588:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221565.4]
  assign _T_1350 = ll_waddr == ibuf_io_inst_0_bits_inst_rs1; // @[RocketCore.scala 646:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221677.4]
  assign _T_1351 = ll_wen & _T_1350; // @[RocketCore.scala 646:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221678.4]
  assign _T_1352 = _T_1351 == 1'h0; // @[RocketCore.scala 649:80:shc.marmotcaravel.MarmotCaravelConfig.fir@221679.4]
  assign _T_1353 = _T_1349 & _T_1352; // @[RocketCore.scala 649:77:shc.marmotcaravel.MarmotCaravelConfig.fir@221680.4]
  assign _T_1354 = _T_1334 & _T_1353; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221681.4]
  assign _T_1355 = _T_1342 >> ibuf_io_inst_0_bits_inst_rs2; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221682.4]
  assign _T_1356 = _T_1355[0]; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221683.4]
  assign _T_1357 = ll_waddr == ibuf_io_inst_0_bits_inst_rs2; // @[RocketCore.scala 646:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221684.4]
  assign _T_1358 = ll_wen & _T_1357; // @[RocketCore.scala 646:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221685.4]
  assign _T_1359 = _T_1358 == 1'h0; // @[RocketCore.scala 649:80:shc.marmotcaravel.MarmotCaravelConfig.fir@221686.4]
  assign _T_1360 = _T_1356 & _T_1359; // @[RocketCore.scala 649:77:shc.marmotcaravel.MarmotCaravelConfig.fir@221687.4]
  assign _T_1361 = _T_1336 & _T_1360; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221688.4]
  assign _T_1369 = _T_1354 | _T_1361; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221696.4]
  assign _T_1362 = _T_1342 >> ibuf_io_inst_0_bits_inst_rd; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221689.4]
  assign _T_1363 = _T_1362[0]; // @[RocketCore.scala 893:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221690.4]
  assign _T_1364 = ll_waddr == ibuf_io_inst_0_bits_inst_rd; // @[RocketCore.scala 646:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221691.4]
  assign _T_1365 = ll_wen & _T_1364; // @[RocketCore.scala 646:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221692.4]
  assign _T_1366 = _T_1365 == 1'h0; // @[RocketCore.scala 649:80:shc.marmotcaravel.MarmotCaravelConfig.fir@221693.4]
  assign _T_1367 = _T_1363 & _T_1366; // @[RocketCore.scala 649:77:shc.marmotcaravel.MarmotCaravelConfig.fir@221694.4]
  assign _T_1368 = _T_1338 & _T_1367; // @[RocketCore.scala 879:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221695.4]
  assign id_sboard_hazard = _T_1369 | _T_1368; // @[RocketCore.scala 879:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221697.4]
  assign _T_1469 = _T_1468 | id_sboard_hazard; // @[RocketCore.scala 692:51:shc.marmotcaravel.MarmotCaravelConfig.fir@221816.4]
  assign _T_1470 = ex_reg_valid | mem_reg_valid; // @[RocketCore.scala 693:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221817.4]
  assign _T_1471 = _T_1470 | wb_reg_valid; // @[RocketCore.scala 693:57:shc.marmotcaravel.MarmotCaravelConfig.fir@221818.4]
  assign _T_1472 = csr_io_singleStep & _T_1471; // @[RocketCore.scala 693:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221819.4]
  assign _T_1473 = _T_1469 | _T_1472; // @[RocketCore.scala 692:71:shc.marmotcaravel.MarmotCaravelConfig.fir@221820.4]
  assign _T_1460 = io_dmem_perf_grant == 1'h0; // @[RocketCore.scala 686:16:shc.marmotcaravel.MarmotCaravelConfig.fir@221805.4]
  assign dcache_blocked = blocked & _T_1460; // @[RocketCore.scala 686:13:shc.marmotcaravel.MarmotCaravelConfig.fir@221806.4]
  assign _T_1480 = id_ctrl_mem & dcache_blocked; // @[RocketCore.scala 696:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221827.4]
  assign _T_1481 = _T_1473 | _T_1480; // @[RocketCore.scala 695:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221828.4]
  assign wb_wxd = wb_reg_valid & wb_ctrl_wxd; // @[RocketCore.scala 561:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221532.4]
  assign _T_1484 = wb_wxd == 1'h0; // @[RocketCore.scala 698:65:shc.marmotcaravel.MarmotCaravelConfig.fir@221831.4]
  assign _T_1485 = div_io_resp_valid & _T_1484; // @[RocketCore.scala 698:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221832.4]
  assign _T_1486 = div_io_req_ready | _T_1485; // @[RocketCore.scala 698:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221833.4]
  assign _T_1487 = _T_1486 == 1'h0; // @[RocketCore.scala 698:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221834.4]
  assign _T_1488 = _T_1487 | div_io_req_valid; // @[RocketCore.scala 698:75:shc.marmotcaravel.MarmotCaravelConfig.fir@221835.4]
  assign _T_1489 = id_ctrl_div & _T_1488; // @[RocketCore.scala 698:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221836.4]
  assign _T_1490 = _T_1481 | _T_1489; // @[RocketCore.scala 697:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221837.4]
  assign _T_1493 = _T_1490 | id_do_fence; // @[RocketCore.scala 699:15:shc.marmotcaravel.MarmotCaravelConfig.fir@221840.4]
  assign ctrl_stalld = _T_1493 | csr_io_csr_stall; // @[RocketCore.scala 700:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221841.4]
  assign _T_1497 = _T_1496 | ctrl_stalld; // @[RocketCore.scala 702:89:shc.marmotcaravel.MarmotCaravelConfig.fir@221845.4]
  assign ctrl_killd = _T_1497 | csr_io_interrupt; // @[RocketCore.scala 702:104:shc.marmotcaravel.MarmotCaravelConfig.fir@221846.4]
  assign _T_882 = ctrl_killd == 1'h0; // @[RocketCore.scala 368:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221004.4]
  assign _T_883 = take_pc_mem_wb == 1'h0; // @[RocketCore.scala 369:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221006.4]
  assign _T_884 = _T_883 & ibuf_io_inst_0_valid; // @[RocketCore.scala 369:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221007.4]
  assign _T_892 = {ibuf_io_inst_0_bits_xcpt1_pf_inst,ibuf_io_inst_0_bits_xcpt1_ae_inst}; // @[RocketCore.scala 383:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221030.8]
  assign _T_893 = _T_892 != 2'h0; // @[RocketCore.scala 383:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221031.8]
  assign _T_894 = {ibuf_io_inst_0_bits_xcpt0_pf_inst,ibuf_io_inst_0_bits_xcpt0_ae_inst}; // @[RocketCore.scala 388:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221037.8]
  assign _T_895 = _T_894 != 2'h0; // @[RocketCore.scala 388:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221038.8]
  assign _T_896 = bpu_io_xcpt_if | _T_895; // @[RocketCore.scala 388:28:shc.marmotcaravel.MarmotCaravelConfig.fir@221039.8]
  assign _T_897 = id_ctrl_fence_i | id_csr_flush; // @[RocketCore.scala 393:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221045.6]
  assign _T_900 = {_T_1335,_T_1333}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221051.8]
  assign _T_901 = _T_753 | _T_756; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221054.6]
  assign _T_902 = _T_901 | _T_758; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221055.6]
  assign do_bypass = _T_902 | _T_760; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221056.6]
  assign _T_905 = do_bypass == 1'h0; // @[RocketCore.scala 404:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221062.6]
  assign _T_906 = id_ctrl_rxs1 & _T_905; // @[RocketCore.scala 404:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221063.6]
  assign _T_1286 = replay_wb == 1'h0; // @[RocketCore.scala 596:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221570.4]
  assign _T_1287 = wb_reg_valid & _T_1286; // @[RocketCore.scala 596:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221571.4]
  assign _T_1288 = wb_xcpt == 1'h0; // @[RocketCore.scala 596:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221572.4]
  assign wb_valid = _T_1287 & _T_1288; // @[RocketCore.scala 596:45:shc.marmotcaravel.MarmotCaravelConfig.fir@221573.4]
  assign wb_wen = wb_valid & wb_ctrl_wxd; // @[RocketCore.scala 597:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221574.4]
  assign rf_wen = wb_wen | ll_wen; // @[RocketCore.scala 598:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221575.4]
  assign rf_waddr = ll_wen ? ll_waddr : wb_waddr; // @[RocketCore.scala 599:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221576.4]
  assign _T_1295 = rf_waddr != 5'h0; // @[RocketCore.scala 922:16:shc.marmotcaravel.MarmotCaravelConfig.fir@221585.6]
  assign _T_1299 = rf_waddr == ibuf_io_inst_0_bits_inst_rs1; // @[RocketCore.scala 925:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221591.8]
  assign _T_1289 = dmem_resp_valid & dmem_resp_xpu; // @[RocketCore.scala 600:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221577.4]
  assign ll_wdata = div_io_resp_bits_data; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@221554.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@221556.4]
  assign _T_1291 = wb_ctrl_csr != 3'h0; // @[RocketCore.scala 602:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221579.4]
  assign _T_1293 = _T_1291 ? csr_io_rw_rdata : wb_reg_wdata; // @[RocketCore.scala 602:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221581.4]
  assign _T_1294 = ll_wen ? ll_wdata : _T_1293; // @[RocketCore.scala 601:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221582.4]
  assign rf_wdata = _T_1289 ? io_dmem_resp_bits_data : _T_1294; // @[RocketCore.scala 600:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221583.4]
  assign _GEN_214 = _T_1299 ? rf_wdata : _T_582; // @[RocketCore.scala 925:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221592.8]
  assign _GEN_221 = _T_1295 ? _GEN_214 : _T_582; // @[RocketCore.scala 922:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221586.6]
  assign _GEN_228 = rf_wen ? _GEN_221 : _T_582; // @[RocketCore.scala 605:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221584.4]
  assign _T_907 = _GEN_228[1:0]; // @[RocketCore.scala 405:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221065.8]
  assign _T_908 = _GEN_228[31:2]; // @[RocketCore.scala 406:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221067.8]
  assign _T_909 = _T_761 | _T_764; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221070.6]
  assign _T_910 = _T_909 | _T_766; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221071.6]
  assign do_bypass_1 = _T_910 | _T_768; // @[RocketCore.scala 400:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221072.6]
  assign _T_913 = do_bypass_1 == 1'h0; // @[RocketCore.scala 404:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221078.6]
  assign _T_914 = id_ctrl_rxs2 & _T_913; // @[RocketCore.scala 404:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221079.6]
  assign _T_1300 = rf_waddr == ibuf_io_inst_0_bits_inst_rs2; // @[RocketCore.scala 925:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221595.8]
  assign _GEN_215 = _T_1300 ? rf_wdata : _T_590; // @[RocketCore.scala 925:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221596.8]
  assign _GEN_222 = _T_1295 ? _GEN_215 : _T_590; // @[RocketCore.scala 922:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221586.6]
  assign _GEN_229 = rf_wen ? _GEN_222 : _T_590; // @[RocketCore.scala 605:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221584.4]
  assign _T_915 = _GEN_229[1:0]; // @[RocketCore.scala 405:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221081.8]
  assign _T_916 = _GEN_229[31:2]; // @[RocketCore.scala 406:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221083.8]
  assign _T_917 = ibuf_io_inst_0_bits_raw[15:0]; // @[RocketCore.scala 410:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221087.8]
  assign inst = ibuf_io_inst_0_bits_rvc ? {{16'd0}, _T_917} : ibuf_io_inst_0_bits_raw; // @[RocketCore.scala 410:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221088.8]
  assign _T_918 = inst[1:0]; // @[RocketCore.scala 412:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221090.8]
  assign _T_919 = inst[31:2]; // @[RocketCore.scala 413:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221092.8]
  assign _T_1429 = mem_reg_valid & data_hazard_mem; // @[RocketCore.scala 666:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221769.4]
  assign id_load_use = _T_1429 & mem_ctrl_mem; // @[RocketCore.scala 666:51:shc.marmotcaravel.MarmotCaravelConfig.fir@221770.4]
  assign _T_921 = _T_882 | csr_io_interrupt; // @[RocketCore.scala 416:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221097.4]
  assign _T_922 = _T_921 | ibuf_io_inst_0_bits_replay; // @[RocketCore.scala 416:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221098.4]
  assign _T_925 = io_dmem_req_ready == 1'h0; // @[RocketCore.scala 427:45:shc.marmotcaravel.MarmotCaravelConfig.fir@221110.4]
  assign _T_926 = ex_ctrl_mem & _T_925; // @[RocketCore.scala 427:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221111.4]
  assign _T_927 = div_io_req_ready == 1'h0; // @[RocketCore.scala 428:45:shc.marmotcaravel.MarmotCaravelConfig.fir@221112.4]
  assign _T_928 = ex_ctrl_div & _T_927; // @[RocketCore.scala 428:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221113.4]
  assign replay_ex_structural = _T_926 | _T_928; // @[RocketCore.scala 427:64:shc.marmotcaravel.MarmotCaravelConfig.fir@221114.4]
  assign replay_ex_load_use = wb_dcache_miss & ex_reg_load_use; // @[RocketCore.scala 429:43:shc.marmotcaravel.MarmotCaravelConfig.fir@221115.4]
  assign _T_929 = replay_ex_structural | replay_ex_load_use; // @[RocketCore.scala 430:75:shc.marmotcaravel.MarmotCaravelConfig.fir@221116.4]
  assign _T_930 = ex_reg_valid & _T_929; // @[RocketCore.scala 430:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221117.4]
  assign replay_ex = ex_reg_replay | _T_930; // @[RocketCore.scala 430:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221118.4]
  assign _T_931 = take_pc_mem_wb | replay_ex; // @[RocketCore.scala 431:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221119.4]
  assign _T_932 = ex_reg_valid == 1'h0; // @[RocketCore.scala 431:51:shc.marmotcaravel.MarmotCaravelConfig.fir@221120.4]
  assign ctrl_killx = _T_931 | _T_932; // @[RocketCore.scala 431:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221121.4]
  assign _T_933 = ex_ctrl_mem_cmd == 5'h7; // @[RocketCore.scala 433:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221122.4]
  assign _T_944 = 3'h0 == ex_ctrl_mem_type; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221129.4]
  assign _T_945 = 3'h4 == ex_ctrl_mem_type; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221130.4]
  assign _T_946 = 3'h1 == ex_ctrl_mem_type; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221131.4]
  assign _T_947 = 3'h5 == ex_ctrl_mem_type; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221132.4]
  assign _T_949 = _T_944 | _T_945; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221134.4]
  assign _T_950 = _T_949 | _T_946; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221135.4]
  assign _T_951 = _T_950 | _T_947; // @[RocketCore.scala 433:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221136.4]
  assign ex_slow_bypass = _T_933 | _T_951; // @[RocketCore.scala 433:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221137.4]
  assign ex_xcpt = ex_reg_xcpt_interrupt | ex_reg_xcpt; // @[RocketCore.scala 437:28:shc.marmotcaravel.MarmotCaravelConfig.fir@221141.4]
  assign _T_964 = mem_reg_valid | mem_reg_replay; // @[RocketCore.scala 443:36:shc.marmotcaravel.MarmotCaravelConfig.fir@221152.4]
  assign mem_pc_valid = _T_964 | mem_reg_xcpt_interrupt; // @[RocketCore.scala 443:54:shc.marmotcaravel.MarmotCaravelConfig.fir@221153.4]
  assign _T_1107 = mem_npc[1]; // @[RocketCore.scala 452:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221299.4]
  assign _T_1108 = _T_692 & _T_1107; // @[RocketCore.scala 452:56:shc.marmotcaravel.MarmotCaravelConfig.fir@221300.4]
  assign _T_1109 = mem_reg_sfence == 1'h0; // @[RocketCore.scala 452:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221301.4]
  assign mem_npc_misaligned = _T_1108 & _T_1109; // @[RocketCore.scala 452:70:shc.marmotcaravel.MarmotCaravelConfig.fir@221302.4]
  assign _T_1110 = mem_reg_xcpt == 1'h0; // @[RocketCore.scala 453:27:shc.marmotcaravel.MarmotCaravelConfig.fir@221303.4]
  assign _T_1111 = mem_ctrl_jalr ^ mem_npc_misaligned; // @[RocketCore.scala 453:59:shc.marmotcaravel.MarmotCaravelConfig.fir@221304.4]
  assign _T_1112 = _T_1110 & _T_1111; // @[RocketCore.scala 453:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221305.4]
  assign _T_1114 = _T_1112 ? $signed(mem_br_target) : $signed(_T_1097); // @[RocketCore.scala 453:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221307.4]
  assign mem_int_wdata = $unsigned(_T_1114); // @[RocketCore.scala 453:119:shc.marmotcaravel.MarmotCaravelConfig.fir@221308.4]
  assign _T_1115 = mem_ctrl_branch | mem_ctrl_jalr; // @[RocketCore.scala 454:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221309.4]
  assign mem_cfi = _T_1115 | mem_ctrl_jal; // @[RocketCore.scala 454:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221310.4]
  assign _T_1117 = _T_966 | mem_ctrl_jalr; // @[RocketCore.scala 455:57:shc.marmotcaravel.MarmotCaravelConfig.fir@221312.4]
  assign mem_cfi_taken = _T_1117 | mem_ctrl_jal; // @[RocketCore.scala 455:74:shc.marmotcaravel.MarmotCaravelConfig.fir@221313.4]
  assign _T_1122 = ctrl_killx == 1'h0; // @[RocketCore.scala 460:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221320.4]
  assign _T_1129 = mem_reg_valid & mem_reg_flush_pipe; // @[RocketCore.scala 467:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221331.4]
  assign _T_1130 = ex_ctrl_mem_cmd == 5'h0; // @[Consts.scala 93:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221339.8]
  assign _T_1131 = ex_ctrl_mem_cmd == 5'h6; // @[Consts.scala 93:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221340.8]
  assign _T_1132 = _T_1130 | _T_1131; // @[Consts.scala 93:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221341.8]
  assign _T_1134 = _T_1132 | _T_933; // @[Consts.scala 93:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221343.8]
  assign _T_1135 = ex_ctrl_mem_cmd == 5'h4; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221344.8]
  assign _T_1136 = ex_ctrl_mem_cmd == 5'h9; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221345.8]
  assign _T_1137 = ex_ctrl_mem_cmd == 5'ha; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221346.8]
  assign _T_1138 = ex_ctrl_mem_cmd == 5'hb; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221347.8]
  assign _T_1139 = _T_1135 | _T_1136; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221348.8]
  assign _T_1140 = _T_1139 | _T_1137; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221349.8]
  assign _T_1141 = _T_1140 | _T_1138; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221350.8]
  assign _T_1142 = ex_ctrl_mem_cmd == 5'h8; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221351.8]
  assign _T_1143 = ex_ctrl_mem_cmd == 5'hc; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221352.8]
  assign _T_1144 = ex_ctrl_mem_cmd == 5'hd; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221353.8]
  assign _T_1145 = ex_ctrl_mem_cmd == 5'he; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221354.8]
  assign _T_1146 = ex_ctrl_mem_cmd == 5'hf; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221355.8]
  assign _T_1147 = _T_1142 | _T_1143; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221356.8]
  assign _T_1148 = _T_1147 | _T_1144; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221357.8]
  assign _T_1149 = _T_1148 | _T_1145; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221358.8]
  assign _T_1150 = _T_1149 | _T_1146; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221359.8]
  assign _T_1151 = _T_1141 | _T_1150; // @[Consts.scala 91:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221360.8]
  assign _T_1152 = _T_1134 | _T_1151; // @[Consts.scala 93:75:shc.marmotcaravel.MarmotCaravelConfig.fir@221361.8]
  assign _T_1153 = ex_ctrl_mem & _T_1152; // @[RocketCore.scala 472:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221362.8]
  assign _T_1154 = ex_ctrl_mem_cmd == 5'h1; // @[Consts.scala 94:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221364.8]
  assign _T_1155 = ex_ctrl_mem_cmd == 5'h11; // @[Consts.scala 94:49:shc.marmotcaravel.MarmotCaravelConfig.fir@221365.8]
  assign _T_1156 = _T_1154 | _T_1155; // @[Consts.scala 94:42:shc.marmotcaravel.MarmotCaravelConfig.fir@221366.8]
  assign _T_1158 = _T_1156 | _T_933; // @[Consts.scala 94:59:shc.marmotcaravel.MarmotCaravelConfig.fir@221368.8]
  assign _T_1176 = _T_1158 | _T_1151; // @[Consts.scala 94:76:shc.marmotcaravel.MarmotCaravelConfig.fir@221386.8]
  assign _T_1177 = ex_ctrl_mem & _T_1176; // @[RocketCore.scala 473:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221387.8]
  assign _T_1180 = ex_ctrl_rxs2 & ex_ctrl_mem; // @[RocketCore.scala 486:24:shc.marmotcaravel.MarmotCaravelConfig.fir@221401.8]
  assign _T_1181 = ex_ctrl_mem_type[1:0]; // @[AMOALU.scala 10:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221404.10]
  assign _T_1182 = _T_1181 == 2'h0; // @[AMOALU.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221405.10]
  assign _T_1183 = _T_805[7:0]; // @[AMOALU.scala 26:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221406.10]
  assign _T_1184 = {_T_1183,_T_1183}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221407.10]
  assign _T_1185 = {_T_1184,_T_1184}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221408.10]
  assign _T_1186 = _T_1181 == 2'h1; // @[AMOALU.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221409.10]
  assign _T_1187 = _T_805[15:0]; // @[AMOALU.scala 26:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221410.10]
  assign _T_1188 = {_T_1187,_T_1187}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221411.10]
  assign _T_1191 = ex_ctrl_jalr & csr_io_status_debug; // @[RocketCore.scala 490:24:shc.marmotcaravel.MarmotCaravelConfig.fir@221416.8]
  assign _T_1192 = mem_reg_load & bpu_io_xcpt_ld; // @[RocketCore.scala 497:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221422.4]
  assign _T_1193 = mem_reg_store & bpu_io_xcpt_st; // @[RocketCore.scala 497:75:shc.marmotcaravel.MarmotCaravelConfig.fir@221423.4]
  assign mem_breakpoint = _T_1192 | _T_1193; // @[RocketCore.scala 497:57:shc.marmotcaravel.MarmotCaravelConfig.fir@221424.4]
  assign _T_1194 = mem_reg_load & bpu_io_debug_ld; // @[RocketCore.scala 498:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221425.4]
  assign _T_1195 = mem_reg_store & bpu_io_debug_st; // @[RocketCore.scala 498:82:shc.marmotcaravel.MarmotCaravelConfig.fir@221426.4]
  assign mem_debug_breakpoint = _T_1194 | _T_1195; // @[RocketCore.scala 498:64:shc.marmotcaravel.MarmotCaravelConfig.fir@221427.4]
  assign mem_ldst_xcpt = mem_debug_breakpoint | mem_breakpoint; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221428.4]
  assign mem_ldst_cause = mem_debug_breakpoint ? 4'he : 4'h3; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221429.4]
  assign _T_1196 = mem_reg_xcpt_interrupt | mem_reg_xcpt; // @[RocketCore.scala 504:29:shc.marmotcaravel.MarmotCaravelConfig.fir@221430.4]
  assign _T_1197 = mem_reg_valid & mem_npc_misaligned; // @[RocketCore.scala 505:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221431.4]
  assign _T_1198 = mem_reg_valid & mem_ldst_xcpt; // @[RocketCore.scala 506:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221432.4]
  assign _T_1199 = _T_1196 | _T_1197; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221433.4]
  assign mem_xcpt = _T_1199 | _T_1198; // @[RocketCore.scala 870:26:shc.marmotcaravel.MarmotCaravelConfig.fir@221434.4]
  assign _T_1200 = _T_1197 ? 4'h0 : mem_ldst_cause; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221435.4]
  assign dcache_kill_mem = _T_749 & io_dmem_replay_next; // @[RocketCore.scala 515:55:shc.marmotcaravel.MarmotCaravelConfig.fir@221450.4]
  assign replay_mem = dcache_kill_mem | mem_reg_replay; // @[RocketCore.scala 517:37:shc.marmotcaravel.MarmotCaravelConfig.fir@221453.4]
  assign _T_1216 = dcache_kill_mem | take_pc_wb; // @[RocketCore.scala 518:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221455.4]
  assign _T_1217 = _T_1216 | mem_reg_xcpt; // @[RocketCore.scala 518:52:shc.marmotcaravel.MarmotCaravelConfig.fir@221456.4]
  assign _T_1218 = mem_reg_valid == 1'h0; // @[RocketCore.scala 518:71:shc.marmotcaravel.MarmotCaravelConfig.fir@221457.4]
  assign killm_common = _T_1217 | _T_1218; // @[RocketCore.scala 518:68:shc.marmotcaravel.MarmotCaravelConfig.fir@221458.4]
  assign ctrl_killm = killm_common | mem_xcpt; // @[RocketCore.scala 520:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221464.4]
  assign _T_1224 = ctrl_killm == 1'h0; // @[RocketCore.scala 523:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221466.4]
  assign _T_1225 = take_pc_wb == 1'h0; // @[RocketCore.scala 524:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221468.4]
  assign _T_1232 = _T_1110 & mem_ctrl_fp; // @[RocketCore.scala 530:39:shc.marmotcaravel.MarmotCaravelConfig.fir@221481.6]
  assign _T_1233 = _T_1232 & mem_ctrl_wxd; // @[RocketCore.scala 530:54:shc.marmotcaravel.MarmotCaravelConfig.fir@221482.6]
  assign _T_1253 = _T_1245 ? 3'h7 : 3'h5; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221512.4]
  assign _T_1254 = _T_1243 ? 4'hd : {{1'd0}, _T_1253}; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221513.4]
  assign _T_1255 = _T_1241 ? 4'hf : _T_1254; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221514.4]
  assign _T_1256 = _T_1239 ? 4'h4 : _T_1255; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221515.4]
  assign _T_1257 = _T_1237 ? 4'h6 : _T_1256; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221516.4]
  assign wb_cause = wb_reg_xcpt ? wb_reg_cause : {{28'd0}, _T_1257}; // @[Mux.scala 31:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221517.4]
  assign _T_1258 = wb_cause == 32'h6; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221518.4]
  assign _T_1260 = wb_cause == 32'h4; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221520.4]
  assign _T_1262 = wb_cause == 32'hf; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221522.4]
  assign _T_1264 = wb_cause == 32'hd; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221524.4]
  assign _T_1266 = wb_cause == 32'h7; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221526.4]
  assign _T_1268 = wb_cause == 32'h5; // @[RocketCore.scala 874:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221528.4]
  assign _T_1302 = wb_reg_raw_inst[1:0]; // @[RocketCore.scala 613:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221607.4]
  assign _T_1303 = ~ _T_1302; // @[RocketCore.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221608.4]
  assign _T_1304 = _T_1303 == 2'h0; // @[RocketCore.scala 613:73:shc.marmotcaravel.MarmotCaravelConfig.fir@221609.4]
  assign _T_1305 = wb_reg_inst[31:16]; // @[RocketCore.scala 613:91:shc.marmotcaravel.MarmotCaravelConfig.fir@221610.4]
  assign _T_1306 = _T_1304 ? _T_1305 : 16'h0; // @[RocketCore.scala 613:50:shc.marmotcaravel.MarmotCaravelConfig.fir@221611.4]
  assign _T_1307 = wb_reg_raw_inst[15:0]; // @[RocketCore.scala 613:119:shc.marmotcaravel.MarmotCaravelConfig.fir@221612.4]
  assign _T_1309 = wb_cause == 32'h2; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221621.4]
  assign _T_1310 = wb_cause == 32'h3; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221622.4]
  assign _T_1315 = wb_cause == 32'h1; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221627.4]
  assign _T_1318 = wb_cause == 32'hc; // @[package.scala 14:47:shc.marmotcaravel.MarmotCaravelConfig.fir@221630.4]
  assign _T_1319 = _T_1309 | _T_1310; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221631.4]
  assign _T_1320 = _T_1319 | _T_1260; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221632.4]
  assign _T_1321 = _T_1320 | _T_1258; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221633.4]
  assign _T_1322 = _T_1321 | _T_1268; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221634.4]
  assign _T_1323 = _T_1322 | _T_1266; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221635.4]
  assign _T_1324 = _T_1323 | _T_1315; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221636.4]
  assign _T_1325 = _T_1324 | _T_1264; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221637.4]
  assign _T_1326 = _T_1325 | _T_1262; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221638.4]
  assign _T_1327 = _T_1326 | _T_1318; // @[package.scala 14:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221639.4]
  assign tval_valid = wb_xcpt & _T_1327; // @[RocketCore.scala 620:28:shc.marmotcaravel.MarmotCaravelConfig.fir@221640.4]
  assign _T_1330 = wb_reg_valid ? 3'h0 : 3'h4; // @[CSR.scala 128:15:shc.marmotcaravel.MarmotCaravelConfig.fir@221652.4]
  assign _T_1331 = ~ _T_1330; // @[CSR.scala 128:11:shc.marmotcaravel.MarmotCaravelConfig.fir@221653.4]
  assign _T_1343 = 32'h1 << ll_waddr; // @[RocketCore.scala 900:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221667.4]
  assign _T_1344 = ll_wen ? _T_1343 : 32'h0; // @[RocketCore.scala 900:49:shc.marmotcaravel.MarmotCaravelConfig.fir@221668.4]
  assign _T_1345 = ~ _T_1344; // @[RocketCore.scala 892:64:shc.marmotcaravel.MarmotCaravelConfig.fir@221669.4]
  assign _T_1346 = _T_1342 & _T_1345; // @[RocketCore.scala 892:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221670.4]
  assign _T_1370 = wb_set_sboard & wb_wen; // @[RocketCore.scala 650:28:shc.marmotcaravel.MarmotCaravelConfig.fir@221698.4]
  assign _T_1371 = 32'h1 << wb_waddr; // @[RocketCore.scala 900:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221699.4]
  assign _T_1372 = _T_1370 ? _T_1371 : 32'h0; // @[RocketCore.scala 900:49:shc.marmotcaravel.MarmotCaravelConfig.fir@221700.4]
  assign _T_1373 = _T_1346 | _T_1372; // @[RocketCore.scala 891:60:shc.marmotcaravel.MarmotCaravelConfig.fir@221701.4]
  assign _T_1374 = ll_wen | _T_1370; // @[RocketCore.scala 903:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221702.4]
  assign _T_1454 = _T_925 & io_dmem_clock_enabled; // @[RocketCore.scala 685:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221798.4]
  assign _T_1456 = _T_1454 & _T_1460; // @[RocketCore.scala 685:60:shc.marmotcaravel.MarmotCaravelConfig.fir@221800.4]
  assign _T_1457 = blocked | io_dmem_req_valid; // @[RocketCore.scala 685:95:shc.marmotcaravel.MarmotCaravelConfig.fir@221801.4]
  assign _T_1458 = _T_1457 | io_dmem_s2_nack; // @[RocketCore.scala 685:116:shc.marmotcaravel.MarmotCaravelConfig.fir@221802.4]
  assign _T_1500 = wb_xcpt | csr_io_eret; // @[RocketCore.scala 707:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221851.4]
  assign _T_1501 = replay_wb ? wb_reg_pc : mem_npc; // @[RocketCore.scala 708:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221852.4]
  assign _T_1503 = wb_reg_valid & wb_ctrl_fence_i; // @[RocketCore.scala 710:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221855.4]
  assign _T_1504 = io_dmem_s2_nack == 1'h0; // @[RocketCore.scala 710:62:shc.marmotcaravel.MarmotCaravelConfig.fir@221856.4]
  assign _T_1506 = ex_pc_valid | mem_pc_valid; // @[RocketCore.scala 712:43:shc.marmotcaravel.MarmotCaravelConfig.fir@221859.4]
  assign _T_1507 = io_ptw_customCSRs_csrs_0_value[1]; // @[CustomCSRs.scala 38:61:shc.marmotcaravel.MarmotCaravelConfig.fir@221860.4]
  assign _T_1514 = mem_reg_valid & _T_1225; // @[RocketCore.scala 724:45:shc.marmotcaravel.MarmotCaravelConfig.fir@221876.4]
  assign _T_1515 = _T_1514 & mem_wrong_npc; // @[RocketCore.scala 724:60:shc.marmotcaravel.MarmotCaravelConfig.fir@221877.4]
  assign _T_1516 = mem_cfi == 1'h0; // @[RocketCore.scala 724:81:shc.marmotcaravel.MarmotCaravelConfig.fir@221878.4]
  assign _T_1517 = _T_1516 | mem_cfi_taken; // @[RocketCore.scala 724:90:shc.marmotcaravel.MarmotCaravelConfig.fir@221879.4]
  assign _T_1519 = mem_ctrl_jal | mem_ctrl_jalr; // @[RocketCore.scala 727:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221883.4]
  assign _T_1520 = mem_waddr[0]; // @[RocketCore.scala 727:53:shc.marmotcaravel.MarmotCaravelConfig.fir@221884.4]
  assign _T_1521 = _T_1519 & _T_1520; // @[RocketCore.scala 727:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221885.4]
  assign _T_1522 = mem_reg_inst[19:15]; // @[RocketCore.scala 728:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221886.4]
  assign _T_1523 = _T_1522 & 5'h1b; // @[RocketCore.scala 728:46:shc.marmotcaravel.MarmotCaravelConfig.fir@221887.4]
  assign _T_1524 = 5'h1 == _T_1523; // @[RocketCore.scala 728:46:shc.marmotcaravel.MarmotCaravelConfig.fir@221888.4]
  assign _T_1525 = mem_ctrl_jalr & _T_1524; // @[RocketCore.scala 728:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221889.4]
  assign _T_1528 = _T_1525 ? 2'h3 : {{1'd0}, _T_1519}; // @[RocketCore.scala 728:8:shc.marmotcaravel.MarmotCaravelConfig.fir@221892.4]
  assign _T_1530 = mem_reg_rvc ? 2'h0 : 2'h2; // @[RocketCore.scala 732:74:shc.marmotcaravel.MarmotCaravelConfig.fir@221896.4]
  assign _GEN_241 = {{30'd0}, _T_1530}; // @[RocketCore.scala 732:69:shc.marmotcaravel.MarmotCaravelConfig.fir@221897.4]
  assign _T_1533 = ~ io_imem_btb_update_bits_br_pc; // @[RocketCore.scala 733:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221900.4]
  assign _T_1534 = _T_1533 | 32'h3; // @[RocketCore.scala 733:66:shc.marmotcaravel.MarmotCaravelConfig.fir@221901.4]
  assign ex_dcache_tag = {ex_waddr,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221929.4]
  assign _T_1561 = wb_reg_inst[19:15]; // @[RocketCore.scala 771:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221965.4]
  assign _T_1562 = wb_reg_inst[24:20]; // @[RocketCore.scala 771:58:shc.marmotcaravel.MarmotCaravelConfig.fir@221967.4]
  assign coreMonitorBundle_time = csr_io_time; // @[RocketCore.scala 811:40:shc.marmotcaravel.MarmotCaravelConfig.fir@221981.4]
  assign _T_1569 = csr_io_trace_0_exception == 1'h0; // @[RocketCore.scala 812:55:shc.marmotcaravel.MarmotCaravelConfig.fir@221983.4]
  assign coreMonitorBundle_valid = csr_io_trace_0_valid & _T_1569; // @[RocketCore.scala 812:52:shc.marmotcaravel.MarmotCaravelConfig.fir@221984.4]
  assign coreMonitorBundle_pc = csr_io_trace_0_iaddr; // @[RocketCore.scala 813:48:shc.marmotcaravel.MarmotCaravelConfig.fir@221986.4]
  assign _T_1573 = _T_1370 == 1'h0; // @[RocketCore.scala 814:44:shc.marmotcaravel.MarmotCaravelConfig.fir@221989.4]
  assign _T_1574 = rf_wen & _T_1573; // @[RocketCore.scala 814:41:shc.marmotcaravel.MarmotCaravelConfig.fir@221990.4]
  assign coreMonitorBundle_wrdst = _T_1574 ? rf_waddr : 5'h0; // @[RocketCore.scala 814:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221991.4]
  assign _T_1587 = reset == 1'h0; // @[RocketCore.scala 852:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222011.4]
  assign coreMonitorBundle_inst = csr_io_trace_0_insn; // @[RocketCore.scala 808:31:shc.marmotcaravel.MarmotCaravelConfig.fir@221978.4 RocketCore.scala 821:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222009.4]
  assign io_imem_might_request = imem_might_request_reg; // @[RocketCore.scala 711:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221863.4]
  assign io_imem_req_valid = take_pc_wb | take_pc_mem; // @[RocketCore.scala 704:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221848.4]
  assign io_imem_req_bits_pc = _T_1500 ? csr_io_evec : _T_1501; // @[RocketCore.scala 706:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221854.4]
  assign io_imem_req_bits_speculative = take_pc_wb == 1'h0; // @[RocketCore.scala 705:32:shc.marmotcaravel.MarmotCaravelConfig.fir@221850.4]
  assign io_imem_sfence_valid = wb_reg_valid & wb_reg_sfence; // @[RocketCore.scala 715:24:shc.marmotcaravel.MarmotCaravelConfig.fir@221865.4]
  assign io_imem_resp_ready = ibuf_io_imem_ready; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220314.4]
  assign io_imem_btb_update_valid = _T_1515 & _T_1517; // @[RocketCore.scala 724:28:shc.marmotcaravel.MarmotCaravelConfig.fir@221881.4]
  assign io_imem_btb_update_bits_prediction_entry = mem_reg_btb_resp_entry; // @[RocketCore.scala 734:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221904.4]
  assign io_imem_btb_update_bits_pc = ~ _T_1534; // @[RocketCore.scala 733:30:shc.marmotcaravel.MarmotCaravelConfig.fir@221903.4]
  assign io_imem_btb_update_bits_isValid = _T_1115 | mem_ctrl_jal; // @[RocketCore.scala 725:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221882.4]
  assign io_imem_btb_update_bits_br_pc = mem_reg_pc + _GEN_241; // @[RocketCore.scala 732:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221899.4]
  assign io_imem_btb_update_bits_cfiType = _T_1521 ? 2'h2 : _T_1528; // @[RocketCore.scala 726:35:shc.marmotcaravel.MarmotCaravelConfig.fir@221894.4]
  assign io_imem_bht_update_valid = mem_reg_valid & _T_1225; // @[RocketCore.scala 736:28:shc.marmotcaravel.MarmotCaravelConfig.fir@221907.4]
  assign io_imem_bht_update_bits_prediction_history = mem_reg_btb_resp_bht_history; // @[RocketCore.scala 741:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221912.4]
  assign io_imem_bht_update_bits_pc = io_imem_btb_update_bits_pc; // @[RocketCore.scala 737:30:shc.marmotcaravel.MarmotCaravelConfig.fir@221908.4]
  assign io_imem_bht_update_bits_branch = mem_ctrl_branch; // @[RocketCore.scala 740:34:shc.marmotcaravel.MarmotCaravelConfig.fir@221911.4]
  assign io_imem_bht_update_bits_taken = mem_br_taken; // @[RocketCore.scala 738:33:shc.marmotcaravel.MarmotCaravelConfig.fir@221909.4]
  assign io_imem_bht_update_bits_mispredict = ex_pc_valid ? _T_1101 : _T_1104; // @[RocketCore.scala 739:38:shc.marmotcaravel.MarmotCaravelConfig.fir@221910.4]
  assign io_imem_flush_icache = _T_1503 & _T_1504; // @[RocketCore.scala 710:24:shc.marmotcaravel.MarmotCaravelConfig.fir@221858.4]
  assign io_dmem_req_valid = ex_reg_valid & ex_ctrl_mem; // @[RocketCore.scala 754:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221928.4]
  assign io_dmem_req_bits_addr = alu_io_adder_out; // @[RocketCore.scala 761:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221934.4]
  assign io_dmem_req_bits_tag = {{1'd0}, ex_dcache_tag}; // @[RocketCore.scala 757:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221930.4]
  assign io_dmem_req_bits_cmd = ex_ctrl_mem_cmd; // @[RocketCore.scala 758:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221931.4]
  assign io_dmem_req_bits_typ = ex_ctrl_mem_type; // @[RocketCore.scala 759:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221932.4]
  assign io_dmem_s1_kill = killm_common | mem_ldst_xcpt; // @[RocketCore.scala 763:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221938.4]
  assign io_dmem_s1_data_data = mem_reg_rs2; // @[RocketCore.scala 762:24:shc.marmotcaravel.MarmotCaravelConfig.fir@221935.4]
  assign io_dmem_keep_clock_enabled = ibuf_io_inst_0_valid & id_ctrl_mem; // @[RocketCore.scala 766:30:shc.marmotcaravel.MarmotCaravelConfig.fir@221941.4]
  assign io_ptw_pmp_0_cfg_l = csr_io_pmp_0_cfg_l; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_0_cfg_a = csr_io_pmp_0_cfg_a; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_0_cfg_x = csr_io_pmp_0_cfg_x; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_0_cfg_w = csr_io_pmp_0_cfg_w; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_0_cfg_r = csr_io_pmp_0_cfg_r; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_0_addr = csr_io_pmp_0_addr; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_0_mask = csr_io_pmp_0_mask; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_1_cfg_l = csr_io_pmp_1_cfg_l; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_1_cfg_a = csr_io_pmp_1_cfg_a; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_1_cfg_x = csr_io_pmp_1_cfg_x; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_1_cfg_w = csr_io_pmp_1_cfg_w; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_1_cfg_r = csr_io_pmp_1_cfg_r; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_1_addr = csr_io_pmp_1_addr; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_1_mask = csr_io_pmp_1_mask; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_2_cfg_l = csr_io_pmp_2_cfg_l; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_2_cfg_a = csr_io_pmp_2_cfg_a; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_2_cfg_x = csr_io_pmp_2_cfg_x; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_2_cfg_w = csr_io_pmp_2_cfg_w; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_2_cfg_r = csr_io_pmp_2_cfg_r; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_2_addr = csr_io_pmp_2_addr; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_2_mask = csr_io_pmp_2_mask; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_3_cfg_l = csr_io_pmp_3_cfg_l; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_3_cfg_a = csr_io_pmp_3_cfg_a; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_3_cfg_x = csr_io_pmp_3_cfg_x; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_3_cfg_w = csr_io_pmp_3_cfg_w; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_3_cfg_r = csr_io_pmp_3_cfg_r; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_3_addr = csr_io_pmp_3_addr; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_3_mask = csr_io_pmp_3_mask; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_4_cfg_l = csr_io_pmp_4_cfg_l; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_4_cfg_a = csr_io_pmp_4_cfg_a; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_4_cfg_x = csr_io_pmp_4_cfg_x; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_4_cfg_w = csr_io_pmp_4_cfg_w; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_4_cfg_r = csr_io_pmp_4_cfg_r; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_4_addr = csr_io_pmp_4_addr; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_4_mask = csr_io_pmp_4_mask; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_5_cfg_l = csr_io_pmp_5_cfg_l; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_5_cfg_a = csr_io_pmp_5_cfg_a; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_5_cfg_x = csr_io_pmp_5_cfg_x; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_5_cfg_w = csr_io_pmp_5_cfg_w; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_5_cfg_r = csr_io_pmp_5_cfg_r; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_5_addr = csr_io_pmp_5_addr; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_5_mask = csr_io_pmp_5_mask; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_6_cfg_l = csr_io_pmp_6_cfg_l; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_6_cfg_a = csr_io_pmp_6_cfg_a; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_6_cfg_x = csr_io_pmp_6_cfg_x; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_6_cfg_w = csr_io_pmp_6_cfg_w; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_6_cfg_r = csr_io_pmp_6_cfg_r; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_6_addr = csr_io_pmp_6_addr; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_6_mask = csr_io_pmp_6_mask; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_7_cfg_l = csr_io_pmp_7_cfg_l; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_7_cfg_a = csr_io_pmp_7_cfg_a; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_7_cfg_x = csr_io_pmp_7_cfg_x; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_7_cfg_w = csr_io_pmp_7_cfg_w; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_7_cfg_r = csr_io_pmp_7_cfg_r; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_7_addr = csr_io_pmp_7_addr; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_pmp_7_mask = csr_io_pmp_7_mask; // @[RocketCore.scala 628:14:shc.marmotcaravel.MarmotCaravelConfig.fir@221649.4]
  assign io_ptw_customCSRs_csrs_0_value = 32'h0; // @[RocketCore.scala 626:79:shc.marmotcaravel.MarmotCaravelConfig.fir@221644.4]
  assign ibuf_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220312.4]
  assign ibuf_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220313.4]
  assign ibuf_io_imem_valid = io_imem_resp_valid; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220314.4]
  assign ibuf_io_imem_bits_btb_taken = io_imem_resp_bits_btb_taken; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220314.4]
  assign ibuf_io_imem_bits_btb_bridx = io_imem_resp_bits_btb_bridx; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220314.4]
  assign ibuf_io_imem_bits_btb_entry = io_imem_resp_bits_btb_entry; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220314.4]
  assign ibuf_io_imem_bits_btb_bht_history = io_imem_resp_bits_btb_bht_history; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220314.4]
  assign ibuf_io_imem_bits_pc = io_imem_resp_bits_pc; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220314.4]
  assign ibuf_io_imem_bits_data = io_imem_resp_bits_data; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220314.4]
  assign ibuf_io_imem_bits_xcpt_ae_inst = io_imem_resp_bits_xcpt_ae_inst; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220314.4]
  assign ibuf_io_imem_bits_replay = io_imem_resp_bits_replay; // @[RocketCore.scala 226:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220314.4]
  assign ibuf_io_kill = take_pc_wb | take_pc_mem; // @[RocketCore.scala 227:16:shc.marmotcaravel.MarmotCaravelConfig.fir@220315.4]
  assign ibuf_io_inst_0_ready = ctrl_stalld == 1'h0; // @[RocketCore.scala 722:25:shc.marmotcaravel.MarmotCaravelConfig.fir@221874.4]
  assign csr_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220747.4]
  assign csr_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220748.4]
  assign csr_io_ungated_clock = clock; // @[RocketCore.scala 608:24:shc.marmotcaravel.MarmotCaravelConfig.fir@221601.4]
  assign csr_io_interrupts_debug = io_interrupts_debug; // @[RocketCore.scala 614:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221615.4]
  assign csr_io_interrupts_mtip = io_interrupts_mtip; // @[RocketCore.scala 614:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221615.4]
  assign csr_io_interrupts_msip = io_interrupts_msip; // @[RocketCore.scala 614:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221615.4]
  assign csr_io_interrupts_meip = io_interrupts_meip; // @[RocketCore.scala 614:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221615.4]
  assign csr_io_hartid = io_hartid; // @[RocketCore.scala 615:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221616.4]
  assign csr_io_rw_addr = wb_reg_inst[31:20]; // @[RocketCore.scala 629:18:shc.marmotcaravel.MarmotCaravelConfig.fir@221651.4]
  assign csr_io_rw_cmd = wb_ctrl_csr & _T_1331; // @[RocketCore.scala 630:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221655.4]
  assign csr_io_rw_wdata = wb_reg_wdata; // @[RocketCore.scala 631:19:shc.marmotcaravel.MarmotCaravelConfig.fir@221656.4]
  assign csr_io_decode_0_csr = ibuf_io_inst_0_bits_raw[31:20]; // @[RocketCore.scala 609:24:shc.marmotcaravel.MarmotCaravelConfig.fir@221603.4]
  assign csr_io_exception = _T_1252 | _T_1247; // @[RocketCore.scala 610:20:shc.marmotcaravel.MarmotCaravelConfig.fir@221604.4]
  assign csr_io_retire = _T_1287 & _T_1288; // @[RocketCore.scala 612:17:shc.marmotcaravel.MarmotCaravelConfig.fir@221606.4]
  assign csr_io_cause = wb_reg_xcpt ? wb_reg_cause : {{28'd0}, _T_1257}; // @[RocketCore.scala 611:16:shc.marmotcaravel.MarmotCaravelConfig.fir@221605.4]
  assign csr_io_pc = wb_reg_pc; // @[RocketCore.scala 619:13:shc.marmotcaravel.MarmotCaravelConfig.fir@221620.4]
  assign csr_io_tval = tval_valid ? wb_reg_wdata : 32'h0; // @[RocketCore.scala 624:15:shc.marmotcaravel.MarmotCaravelConfig.fir@221642.4]
  assign csr_io_inst_0 = {_T_1306,_T_1307}; // @[RocketCore.scala 613:18:shc.marmotcaravel.MarmotCaravelConfig.fir@221614.4]
  assign bpu_io_status_debug = csr_io_status_debug; // @[RocketCore.scala 281:17:shc.marmotcaravel.MarmotCaravelConfig.fir@220835.4]
  assign bpu_io_bp_0_control_action = csr_io_bp_0_control_action; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220836.4]
  assign bpu_io_bp_0_control_chain = csr_io_bp_0_control_chain; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220836.4]
  assign bpu_io_bp_0_control_tmatch = csr_io_bp_0_control_tmatch; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220836.4]
  assign bpu_io_bp_0_control_x = csr_io_bp_0_control_x; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220836.4]
  assign bpu_io_bp_0_control_w = csr_io_bp_0_control_w; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220836.4]
  assign bpu_io_bp_0_control_r = csr_io_bp_0_control_r; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220836.4]
  assign bpu_io_bp_0_address = csr_io_bp_0_address; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220836.4]
  assign bpu_io_bp_1_control_action = csr_io_bp_1_control_action; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220836.4]
  assign bpu_io_bp_1_control_tmatch = csr_io_bp_1_control_tmatch; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220836.4]
  assign bpu_io_bp_1_control_x = csr_io_bp_1_control_x; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220836.4]
  assign bpu_io_bp_1_control_w = csr_io_bp_1_control_w; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220836.4]
  assign bpu_io_bp_1_control_r = csr_io_bp_1_control_r; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220836.4]
  assign bpu_io_bp_1_address = csr_io_bp_1_address; // @[RocketCore.scala 282:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220836.4]
  assign bpu_io_pc = ibuf_io_pc; // @[RocketCore.scala 283:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220837.4]
  assign bpu_io_ea = mem_reg_wdata; // @[RocketCore.scala 284:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220838.4]
  assign alu_io_fn = ex_ctrl_alu_fn; // @[RocketCore.scala 341:13:shc.marmotcaravel.MarmotCaravelConfig.fir@220988.4]
  assign alu_io_in2 = $unsigned(ex_op2); // @[RocketCore.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220990.4]
  assign alu_io_in1 = $unsigned(ex_op1); // @[RocketCore.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@220992.4]
  assign div_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220995.4]
  assign div_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@220996.4]
  assign div_io_req_valid = ex_reg_valid & ex_ctrl_div; // @[RocketCore.scala 355:20:shc.marmotcaravel.MarmotCaravelConfig.fir@220998.4]
  assign div_io_req_bits_fn = ex_ctrl_alu_fn; // @[RocketCore.scala 357:22:shc.marmotcaravel.MarmotCaravelConfig.fir@221000.4]
  assign div_io_req_bits_in1 = ex_reg_rs_bypass_0 ? _T_795 : _T_796; // @[RocketCore.scala 358:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221001.4]
  assign div_io_req_bits_in2 = ex_reg_rs_bypass_1 ? _T_803 : _T_804; // @[RocketCore.scala 359:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221002.4]
  assign div_io_req_bits_tag = ex_reg_inst[11:7]; // @[RocketCore.scala 360:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221003.4]
  assign div_io_kill = killm_common & _T_1221; // @[RocketCore.scala 519:15:shc.marmotcaravel.MarmotCaravelConfig.fir@221463.4]
  assign div_io_resp_ready = _T_1285 ? 1'h0 : _T_1484; // @[RocketCore.scala 575:21:shc.marmotcaravel.MarmotCaravelConfig.fir@221553.4 RocketCore.scala 589:23:shc.marmotcaravel.MarmotCaravelConfig.fir@221566.6]
  assign PlusArgTimeout_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222017.4]
  assign PlusArgTimeout_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222018.4]
  assign PlusArgTimeout_io_count = csr_io_time; // @[PlusArg.scala 51:75:shc.marmotcaravel.MarmotCaravelConfig.fir@222019.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  _RAND_0 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 31; initvar = initvar+1)
    _T_574[initvar] = _RAND_0[31:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_1 = {1{`RANDOM}};
  _RAND_2 = {1{`RANDOM}};
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  imem_might_request_reg = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  ex_ctrl_branch = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  ex_ctrl_jal = _RAND_5[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  ex_ctrl_jalr = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  ex_ctrl_rxs2 = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  ex_ctrl_sel_alu2 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  ex_ctrl_sel_alu1 = _RAND_9[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  ex_ctrl_sel_imm = _RAND_10[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  ex_ctrl_alu_fn = _RAND_11[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  ex_ctrl_mem = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  ex_ctrl_mem_cmd = _RAND_13[4:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  ex_ctrl_mem_type = _RAND_14[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  ex_ctrl_div = _RAND_15[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  ex_ctrl_wxd = _RAND_16[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_17 = {1{`RANDOM}};
  ex_ctrl_csr = _RAND_17[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_18 = {1{`RANDOM}};
  ex_ctrl_fence_i = _RAND_18[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_19 = {1{`RANDOM}};
  mem_ctrl_fp = _RAND_19[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_20 = {1{`RANDOM}};
  mem_ctrl_rocc = _RAND_20[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_21 = {1{`RANDOM}};
  mem_ctrl_branch = _RAND_21[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_22 = {1{`RANDOM}};
  mem_ctrl_jal = _RAND_22[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_23 = {1{`RANDOM}};
  mem_ctrl_jalr = _RAND_23[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_24 = {1{`RANDOM}};
  mem_ctrl_mem = _RAND_24[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_25 = {1{`RANDOM}};
  mem_ctrl_mul = _RAND_25[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_26 = {1{`RANDOM}};
  mem_ctrl_div = _RAND_26[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_27 = {1{`RANDOM}};
  mem_ctrl_wxd = _RAND_27[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_28 = {1{`RANDOM}};
  mem_ctrl_csr = _RAND_28[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_29 = {1{`RANDOM}};
  mem_ctrl_fence_i = _RAND_29[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_30 = {1{`RANDOM}};
  wb_ctrl_rocc = _RAND_30[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_31 = {1{`RANDOM}};
  wb_ctrl_mem = _RAND_31[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_32 = {1{`RANDOM}};
  wb_ctrl_div = _RAND_32[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_33 = {1{`RANDOM}};
  wb_ctrl_wxd = _RAND_33[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_34 = {1{`RANDOM}};
  wb_ctrl_csr = _RAND_34[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_35 = {1{`RANDOM}};
  wb_ctrl_fence_i = _RAND_35[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_36 = {1{`RANDOM}};
  ex_reg_xcpt_interrupt = _RAND_36[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_37 = {1{`RANDOM}};
  ex_reg_valid = _RAND_37[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_38 = {1{`RANDOM}};
  ex_reg_rvc = _RAND_38[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_39 = {1{`RANDOM}};
  ex_reg_btb_resp_entry = _RAND_39[4:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_40 = {1{`RANDOM}};
  ex_reg_btb_resp_bht_history = _RAND_40[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_41 = {1{`RANDOM}};
  ex_reg_xcpt = _RAND_41[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_42 = {1{`RANDOM}};
  ex_reg_flush_pipe = _RAND_42[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_43 = {1{`RANDOM}};
  ex_reg_load_use = _RAND_43[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_44 = {1{`RANDOM}};
  ex_reg_cause = _RAND_44[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_45 = {1{`RANDOM}};
  ex_reg_replay = _RAND_45[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_46 = {1{`RANDOM}};
  ex_reg_pc = _RAND_46[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_47 = {1{`RANDOM}};
  ex_reg_inst = _RAND_47[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_48 = {1{`RANDOM}};
  ex_reg_raw_inst = _RAND_48[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_49 = {1{`RANDOM}};
  mem_reg_xcpt_interrupt = _RAND_49[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_50 = {1{`RANDOM}};
  mem_reg_valid = _RAND_50[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_51 = {1{`RANDOM}};
  mem_reg_rvc = _RAND_51[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_52 = {1{`RANDOM}};
  mem_reg_btb_resp_entry = _RAND_52[4:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_53 = {1{`RANDOM}};
  mem_reg_btb_resp_bht_history = _RAND_53[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_54 = {1{`RANDOM}};
  mem_reg_xcpt = _RAND_54[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_55 = {1{`RANDOM}};
  mem_reg_replay = _RAND_55[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_56 = {1{`RANDOM}};
  mem_reg_flush_pipe = _RAND_56[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_57 = {1{`RANDOM}};
  mem_reg_cause = _RAND_57[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_58 = {1{`RANDOM}};
  mem_reg_slow_bypass = _RAND_58[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_59 = {1{`RANDOM}};
  mem_reg_load = _RAND_59[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_60 = {1{`RANDOM}};
  mem_reg_store = _RAND_60[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_61 = {1{`RANDOM}};
  mem_reg_sfence = _RAND_61[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_62 = {1{`RANDOM}};
  mem_reg_pc = _RAND_62[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_63 = {1{`RANDOM}};
  mem_reg_inst = _RAND_63[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_64 = {1{`RANDOM}};
  mem_reg_raw_inst = _RAND_64[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_65 = {1{`RANDOM}};
  mem_reg_wdata = _RAND_65[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_66 = {1{`RANDOM}};
  mem_reg_rs2 = _RAND_66[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_67 = {1{`RANDOM}};
  mem_br_taken = _RAND_67[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_68 = {1{`RANDOM}};
  wb_reg_valid = _RAND_68[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_69 = {1{`RANDOM}};
  wb_reg_xcpt = _RAND_69[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_70 = {1{`RANDOM}};
  wb_reg_replay = _RAND_70[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_71 = {1{`RANDOM}};
  wb_reg_flush_pipe = _RAND_71[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_72 = {1{`RANDOM}};
  wb_reg_cause = _RAND_72[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_73 = {1{`RANDOM}};
  wb_reg_sfence = _RAND_73[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_74 = {1{`RANDOM}};
  wb_reg_pc = _RAND_74[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_75 = {1{`RANDOM}};
  wb_reg_inst = _RAND_75[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_76 = {1{`RANDOM}};
  wb_reg_raw_inst = _RAND_76[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_77 = {1{`RANDOM}};
  wb_reg_wdata = _RAND_77[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_78 = {1{`RANDOM}};
  id_reg_fence = _RAND_78[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_79 = {1{`RANDOM}};
  ex_reg_rs_bypass_0 = _RAND_79[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_80 = {1{`RANDOM}};
  ex_reg_rs_bypass_1 = _RAND_80[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_81 = {1{`RANDOM}};
  ex_reg_rs_lsb_0 = _RAND_81[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_82 = {1{`RANDOM}};
  ex_reg_rs_lsb_1 = _RAND_82[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_83 = {1{`RANDOM}};
  ex_reg_rs_msb_0 = _RAND_83[29:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_84 = {1{`RANDOM}};
  ex_reg_rs_msb_1 = _RAND_84[29:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_85 = {1{`RANDOM}};
  _T_1340 = _RAND_85[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_86 = {1{`RANDOM}};
  blocked = _RAND_86[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_87 = {1{`RANDOM}};
  _T_1221 = _RAND_87[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_88 = {1{`RANDOM}};
  _T_1578 = _RAND_88[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_89 = {1{`RANDOM}};
  coreMonitorBundle_rd0val = _RAND_89[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_90 = {1{`RANDOM}};
  _T_1583 = _RAND_90[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_91 = {1{`RANDOM}};
  coreMonitorBundle_rd1val = _RAND_91[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if(_T_574__T_1298_en & _T_574__T_1298_mask) begin
      _T_574[_T_574__T_1298_addr] <= _T_574__T_1298_data; // @[RocketCore.scala 910:23:shc.marmotcaravel.MarmotCaravelConfig.fir@220657.4]
    end
    imem_might_request_reg <= _T_1506 | _T_1507;
    if (_T_882) begin
      ex_ctrl_branch <= id_ctrl_branch;
    end
    if (_T_882) begin
      ex_ctrl_jal <= id_ctrl_jal;
    end
    if (_T_882) begin
      ex_ctrl_jalr <= id_ctrl_jalr;
    end
    if (_T_882) begin
      ex_ctrl_rxs2 <= id_ctrl_rxs2;
    end
    if (_T_882) begin
      if (id_xcpt) begin
        if (_T_896) begin
          ex_ctrl_sel_alu2 <= 2'h0;
        end else begin
          if (_T_893) begin
            ex_ctrl_sel_alu2 <= 2'h1;
          end else begin
            ex_ctrl_sel_alu2 <= 2'h0;
          end
        end
      end else begin
        ex_ctrl_sel_alu2 <= id_ctrl_sel_alu2;
      end
    end
    if (_T_882) begin
      if (id_xcpt) begin
        if (_T_896) begin
          ex_ctrl_sel_alu1 <= 2'h2;
        end else begin
          if (_T_893) begin
            ex_ctrl_sel_alu1 <= 2'h2;
          end else begin
            ex_ctrl_sel_alu1 <= 2'h1;
          end
        end
      end else begin
        ex_ctrl_sel_alu1 <= id_ctrl_sel_alu1;
      end
    end
    if (_T_882) begin
      ex_ctrl_sel_imm <= id_ctrl_sel_imm;
    end
    if (_T_882) begin
      if (id_xcpt) begin
        ex_ctrl_alu_fn <= 4'h0;
      end else begin
        ex_ctrl_alu_fn <= id_ctrl_alu_fn;
      end
    end
    if (_T_882) begin
      ex_ctrl_mem <= id_ctrl_mem;
    end
    if (_T_882) begin
      ex_ctrl_mem_cmd <= id_ctrl_mem_cmd;
    end
    if (_T_882) begin
      if (id_sfence) begin
        ex_ctrl_mem_type <= {{1'd0}, _T_900};
      end else begin
        ex_ctrl_mem_type <= id_ctrl_mem_type;
      end
    end
    if (_T_882) begin
      ex_ctrl_div <= id_ctrl_div;
    end
    if (_T_882) begin
      ex_ctrl_wxd <= id_ctrl_wxd;
    end
    if (_T_882) begin
      if (id_csr_ren) begin
        ex_ctrl_csr <= 3'h2;
      end else begin
        ex_ctrl_csr <= id_ctrl_csr;
      end
    end
    if (_T_882) begin
      ex_ctrl_fence_i <= id_ctrl_fence_i;
    end
    if (!(_T_1129)) begin
      if (ex_pc_valid) begin
        mem_ctrl_fp <= 1'h0;
      end
    end
    if (!(_T_1129)) begin
      if (ex_pc_valid) begin
        mem_ctrl_rocc <= 1'h0;
      end
    end
    if (!(_T_1129)) begin
      if (ex_pc_valid) begin
        mem_ctrl_branch <= ex_ctrl_branch;
      end
    end
    if (!(_T_1129)) begin
      if (ex_pc_valid) begin
        mem_ctrl_jal <= ex_ctrl_jal;
      end
    end
    if (!(_T_1129)) begin
      if (ex_pc_valid) begin
        mem_ctrl_jalr <= ex_ctrl_jalr;
      end
    end
    if (!(_T_1129)) begin
      if (ex_pc_valid) begin
        mem_ctrl_mem <= ex_ctrl_mem;
      end
    end
    if (!(_T_1129)) begin
      if (ex_pc_valid) begin
        mem_ctrl_mul <= 1'h0;
      end
    end
    if (!(_T_1129)) begin
      if (ex_pc_valid) begin
        mem_ctrl_div <= ex_ctrl_div;
      end
    end
    if (!(_T_1129)) begin
      if (ex_pc_valid) begin
        mem_ctrl_wxd <= ex_ctrl_wxd;
      end
    end
    if (!(_T_1129)) begin
      if (ex_pc_valid) begin
        mem_ctrl_csr <= ex_ctrl_csr;
      end
    end
    if (!(_T_1129)) begin
      if (ex_pc_valid) begin
        if (_T_1191) begin
          mem_ctrl_fence_i <= 1'h1;
        end else begin
          mem_ctrl_fence_i <= ex_ctrl_fence_i;
        end
      end
    end
    if (mem_pc_valid) begin
      wb_ctrl_rocc <= mem_ctrl_rocc;
    end
    if (mem_pc_valid) begin
      wb_ctrl_mem <= mem_ctrl_mem;
    end
    if (mem_pc_valid) begin
      wb_ctrl_div <= mem_ctrl_div;
    end
    if (mem_pc_valid) begin
      wb_ctrl_wxd <= mem_ctrl_wxd;
    end
    if (mem_pc_valid) begin
      wb_ctrl_csr <= mem_ctrl_csr;
    end
    if (mem_pc_valid) begin
      wb_ctrl_fence_i <= mem_ctrl_fence_i;
    end
    ex_reg_xcpt_interrupt <= _T_884 & csr_io_interrupt;
    ex_reg_valid <= ctrl_killd == 1'h0;
    if (_T_882) begin
      if (id_xcpt) begin
        if (_T_893) begin
          ex_reg_rvc <= 1'h1;
        end else begin
          ex_reg_rvc <= ibuf_io_inst_0_bits_rvc;
        end
      end else begin
        ex_reg_rvc <= ibuf_io_inst_0_bits_rvc;
      end
    end
    if (_T_922) begin
      ex_reg_btb_resp_entry <= ibuf_io_btb_resp_entry;
    end
    if (_T_922) begin
      ex_reg_btb_resp_bht_history <= ibuf_io_btb_resp_bht_history;
    end
    ex_reg_xcpt <= _T_882 & id_xcpt;
    if (_T_882) begin
      ex_reg_flush_pipe <= _T_897;
    end
    if (_T_882) begin
      ex_reg_load_use <= id_load_use;
    end
    if (_T_922) begin
      if (csr_io_interrupt) begin
        ex_reg_cause <= csr_io_interrupt_cause;
      end else begin
        ex_reg_cause <= {{28'd0}, _T_737};
      end
    end
    ex_reg_replay <= _T_884 & ibuf_io_inst_0_bits_replay;
    if (_T_922) begin
      ex_reg_pc <= ibuf_io_pc;
    end
    if (_T_922) begin
      ex_reg_inst <= ibuf_io_inst_0_bits_inst_bits;
    end
    if (_T_922) begin
      ex_reg_raw_inst <= ibuf_io_inst_0_bits_raw;
    end
    mem_reg_xcpt_interrupt <= _T_883 & ex_reg_xcpt_interrupt;
    mem_reg_valid <= ctrl_killx == 1'h0;
    if (!(_T_1129)) begin
      if (ex_pc_valid) begin
        mem_reg_rvc <= ex_reg_rvc;
      end
    end
    if (!(_T_1129)) begin
      if (ex_pc_valid) begin
        mem_reg_btb_resp_entry <= ex_reg_btb_resp_entry;
      end
    end
    if (!(_T_1129)) begin
      if (ex_pc_valid) begin
        mem_reg_btb_resp_bht_history <= ex_reg_btb_resp_bht_history;
      end
    end
    mem_reg_xcpt <= _T_1122 & ex_xcpt;
    mem_reg_replay <= _T_883 & replay_ex;
    if (!(_T_1129)) begin
      if (ex_pc_valid) begin
        if (_T_1191) begin
          mem_reg_flush_pipe <= 1'h1;
        end else begin
          mem_reg_flush_pipe <= ex_reg_flush_pipe;
        end
      end
    end
    if (!(_T_1129)) begin
      if (ex_pc_valid) begin
        mem_reg_cause <= ex_reg_cause;
      end
    end
    if (!(_T_1129)) begin
      if (ex_pc_valid) begin
        mem_reg_slow_bypass <= ex_slow_bypass;
      end
    end
    if (!(_T_1129)) begin
      if (ex_pc_valid) begin
        mem_reg_load <= _T_1153;
      end
    end
    if (!(_T_1129)) begin
      if (ex_pc_valid) begin
        mem_reg_store <= _T_1177;
      end
    end
    if (_T_1129) begin
      mem_reg_sfence <= 1'h0;
    end else begin
      if (ex_pc_valid) begin
        mem_reg_sfence <= 1'h0;
      end
    end
    if (!(_T_1129)) begin
      if (ex_pc_valid) begin
        mem_reg_pc <= ex_reg_pc;
      end
    end
    if (!(_T_1129)) begin
      if (ex_pc_valid) begin
        mem_reg_inst <= ex_reg_inst;
      end
    end
    if (!(_T_1129)) begin
      if (ex_pc_valid) begin
        mem_reg_raw_inst <= ex_reg_raw_inst;
      end
    end
    if (!(_T_1129)) begin
      if (ex_pc_valid) begin
        mem_reg_wdata <= alu_io_out;
      end
    end
    if (!(_T_1129)) begin
      if (ex_pc_valid) begin
        if (_T_1180) begin
          if (_T_1182) begin
            mem_reg_rs2 <= _T_1185;
          end else begin
            if (_T_1186) begin
              mem_reg_rs2 <= _T_1188;
            end else begin
              if (ex_reg_rs_bypass_1) begin
                if (_T_802) begin
                  mem_reg_rs2 <= io_dmem_resp_bits_data_word_bypass;
                end else begin
                  if (_T_800) begin
                    mem_reg_rs2 <= wb_reg_wdata;
                  end else begin
                    if (_T_798) begin
                      mem_reg_rs2 <= mem_reg_wdata;
                    end else begin
                      mem_reg_rs2 <= 32'h0;
                    end
                  end
                end
              end else begin
                mem_reg_rs2 <= _T_804;
              end
            end
          end
        end
      end
    end
    if (!(_T_1129)) begin
      if (ex_pc_valid) begin
        mem_br_taken <= alu_io_cmp_out;
      end
    end
    wb_reg_valid <= ctrl_killm == 1'h0;
    wb_reg_xcpt <= mem_xcpt & _T_1225;
    wb_reg_replay <= replay_mem & _T_1225;
    wb_reg_flush_pipe <= _T_1224 & mem_reg_flush_pipe;
    if (mem_pc_valid) begin
      if (_T_1196) begin
        wb_reg_cause <= mem_reg_cause;
      end else begin
        wb_reg_cause <= {{28'd0}, _T_1200};
      end
    end
    if (mem_pc_valid) begin
      wb_reg_sfence <= mem_reg_sfence;
    end
    if (mem_pc_valid) begin
      wb_reg_pc <= mem_reg_pc;
    end
    if (mem_pc_valid) begin
      wb_reg_inst <= mem_reg_inst;
    end
    if (mem_pc_valid) begin
      wb_reg_raw_inst <= mem_reg_raw_inst;
    end
    if (mem_pc_valid) begin
      if (_T_1233) begin
        wb_reg_wdata <= 32'h0;
      end else begin
        wb_reg_wdata <= mem_int_wdata;
      end
    end
    if (reset) begin
      id_reg_fence <= 1'h0;
    end else begin
      if (_T_882) begin
        if (id_fence_next) begin
          id_reg_fence <= 1'h1;
        end else begin
          if (_T_710) begin
            id_reg_fence <= 1'h0;
          end
        end
      end else begin
        if (_T_710) begin
          id_reg_fence <= 1'h0;
        end
      end
    end
    if (_T_882) begin
      if (id_illegal_insn) begin
        ex_reg_rs_bypass_0 <= 1'h0;
      end else begin
        ex_reg_rs_bypass_0 <= do_bypass;
      end
    end
    if (_T_882) begin
      ex_reg_rs_bypass_1 <= do_bypass_1;
    end
    if (_T_882) begin
      if (id_illegal_insn) begin
        ex_reg_rs_lsb_0 <= _T_918;
      end else begin
        if (_T_906) begin
          ex_reg_rs_lsb_0 <= _T_907;
        end else begin
          if (_T_753) begin
            ex_reg_rs_lsb_0 <= 2'h0;
          end else begin
            if (_T_756) begin
              ex_reg_rs_lsb_0 <= 2'h1;
            end else begin
              if (_T_758) begin
                ex_reg_rs_lsb_0 <= 2'h2;
              end else begin
                ex_reg_rs_lsb_0 <= 2'h3;
              end
            end
          end
        end
      end
    end
    if (_T_882) begin
      if (_T_914) begin
        ex_reg_rs_lsb_1 <= _T_915;
      end else begin
        if (_T_761) begin
          ex_reg_rs_lsb_1 <= 2'h0;
        end else begin
          if (_T_764) begin
            ex_reg_rs_lsb_1 <= 2'h1;
          end else begin
            if (_T_766) begin
              ex_reg_rs_lsb_1 <= 2'h2;
            end else begin
              ex_reg_rs_lsb_1 <= 2'h3;
            end
          end
        end
      end
    end
    if (_T_882) begin
      if (id_illegal_insn) begin
        ex_reg_rs_msb_0 <= _T_919;
      end else begin
        if (_T_906) begin
          ex_reg_rs_msb_0 <= _T_908;
        end
      end
    end
    if (_T_882) begin
      if (_T_914) begin
        ex_reg_rs_msb_1 <= _T_916;
      end
    end
    if (reset) begin
      _T_1340 <= 32'h0;
    end else begin
      if (_T_1374) begin
        _T_1340 <= _T_1373;
      end else begin
        if (ll_wen) begin
          _T_1340 <= _T_1346;
        end
      end
    end
    blocked <= _T_1456 & _T_1458;
    _T_1221 <= div_io_req_ready & div_io_req_valid;
    if (ex_reg_rs_bypass_0) begin
      if (_T_794) begin
        _T_1578 <= io_dmem_resp_bits_data_word_bypass;
      end else begin
        if (_T_792) begin
          _T_1578 <= wb_reg_wdata;
        end else begin
          if (_T_790) begin
            _T_1578 <= mem_reg_wdata;
          end else begin
            _T_1578 <= 32'h0;
          end
        end
      end
    end else begin
      _T_1578 <= _T_796;
    end
    coreMonitorBundle_rd0val <= _T_1578;
    if (ex_reg_rs_bypass_1) begin
      if (_T_802) begin
        _T_1583 <= io_dmem_resp_bits_data_word_bypass;
      end else begin
        if (_T_800) begin
          _T_1583 <= wb_reg_wdata;
        end else begin
          if (_T_798) begin
            _T_1583 <= mem_reg_wdata;
          end else begin
            _T_1583 <= 32'h0;
          end
        end
      end
    end else begin
      _T_1583 <= _T_804;
    end
    coreMonitorBundle_rd1val <= _T_1583;
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_1587) begin
          $fwrite(32'h80000002,"C%d: %d [%d] pc=[%x] W[r%d=%x][%d] R[r%d=%x] R[r%d=%x] inst=[%x] DASM(%x)\n",io_hartid,coreMonitorBundle_time,coreMonitorBundle_valid,coreMonitorBundle_pc,coreMonitorBundle_wrdst,rf_wdata,rf_wen,_T_1561,coreMonitorBundle_rd0val,_T_1562,coreMonitorBundle_rd1val,coreMonitorBundle_inst,coreMonitorBundle_inst); // @[RocketCore.scala 852:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222013.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module RocketTile( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222021.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222022.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222023.4]
  input         auto_intsink_in_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  input         auto_int_in_xing_in_1_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  input         auto_int_in_xing_in_0_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  input         auto_int_in_xing_in_0_sync_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  output        auto_tl_slave_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  input         auto_tl_slave_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  input  [2:0]  auto_tl_slave_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  input  [2:0]  auto_tl_slave_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  input  [2:0]  auto_tl_slave_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  input         auto_tl_slave_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  input  [31:0] auto_tl_slave_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  input  [3:0]  auto_tl_slave_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  input  [31:0] auto_tl_slave_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  input         auto_tl_slave_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  input         auto_tl_slave_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  output        auto_tl_slave_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  output [2:0]  auto_tl_slave_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  output [1:0]  auto_tl_slave_xing_in_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  output [2:0]  auto_tl_slave_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  output        auto_tl_slave_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  output        auto_tl_slave_xing_in_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  output        auto_tl_slave_xing_in_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  output [31:0] auto_tl_slave_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  output        auto_tl_slave_xing_in_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  input         auto_tl_master_xing_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  output        auto_tl_master_xing_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  output [2:0]  auto_tl_master_xing_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  output [2:0]  auto_tl_master_xing_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  output [3:0]  auto_tl_master_xing_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  output        auto_tl_master_xing_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  output [31:0] auto_tl_master_xing_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  output [3:0]  auto_tl_master_xing_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  output [31:0] auto_tl_master_xing_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  output        auto_tl_master_xing_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  output        auto_tl_master_xing_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  input         auto_tl_master_xing_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  input  [2:0]  auto_tl_master_xing_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  input  [1:0]  auto_tl_master_xing_out_d_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  input  [3:0]  auto_tl_master_xing_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  input         auto_tl_master_xing_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  input         auto_tl_master_xing_out_d_bits_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  input         auto_tl_master_xing_out_d_bits_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  input  [31:0] auto_tl_master_xing_out_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  input         auto_tl_master_xing_out_d_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222024.4]
  input         constants_hartid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222025.4]
  input  [31:0] constants_reset_vector, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222025.4]
  output [11:0] data_arrays_0_ext_RW0_addr,
  output  data_arrays_0_ext_RW0_en,
  output  data_arrays_0_ext_RW0_clk,
  output  data_arrays_0_ext_RW0_wmode,
  output [31:0] data_arrays_0_ext_RW0_wdata,
  input  [31:0] data_arrays_0_ext_RW0_rdata,
  output [3:0] data_arrays_0_ext_RW0_wmask,
  output [6:0] tag_array_ext_RW0_addr,
  output  tag_array_ext_RW0_en,
  output  tag_array_ext_RW0_clk,
  output  tag_array_ext_RW0_wmode,
  output [39:0] tag_array_ext_RW0_wdata,
  input  [39:0] tag_array_ext_RW0_rdata,
  output [1:0] tag_array_ext_RW0_wmask,
  output [10:0] data_arrays_0_0_ext_RW0_addr,
  output  data_arrays_0_0_ext_RW0_en,
  output  data_arrays_0_0_ext_RW0_clk,
  output  data_arrays_0_0_ext_RW0_wmode,
  output [63:0] data_arrays_0_0_ext_RW0_wdata,
  input  [63:0] data_arrays_0_0_ext_RW0_rdata,
  output [1:0] data_arrays_0_0_ext_RW0_wmask
);
  wire  tlMasterXbar_clock; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire  tlMasterXbar_reset; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire  tlMasterXbar_auto_in_1_a_ready; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire  tlMasterXbar_auto_in_1_a_valid; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire [31:0] tlMasterXbar_auto_in_1_a_bits_address; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire  tlMasterXbar_auto_in_1_d_ready; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire  tlMasterXbar_auto_in_1_d_valid; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire [2:0] tlMasterXbar_auto_in_1_d_bits_opcode; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire [3:0] tlMasterXbar_auto_in_1_d_bits_size; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire [31:0] tlMasterXbar_auto_in_1_d_bits_data; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire  tlMasterXbar_auto_in_1_d_bits_corrupt; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire  tlMasterXbar_auto_in_0_a_ready; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire  tlMasterXbar_auto_in_0_a_valid; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire [2:0] tlMasterXbar_auto_in_0_a_bits_opcode; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire [2:0] tlMasterXbar_auto_in_0_a_bits_param; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire [3:0] tlMasterXbar_auto_in_0_a_bits_size; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire [31:0] tlMasterXbar_auto_in_0_a_bits_address; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire [3:0] tlMasterXbar_auto_in_0_a_bits_mask; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire [31:0] tlMasterXbar_auto_in_0_a_bits_data; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire  tlMasterXbar_auto_in_0_c_valid; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire  tlMasterXbar_auto_in_0_d_ready; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire  tlMasterXbar_auto_in_0_d_valid; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire [2:0] tlMasterXbar_auto_in_0_d_bits_opcode; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire [3:0] tlMasterXbar_auto_in_0_d_bits_size; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire  tlMasterXbar_auto_in_0_d_bits_denied; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire [31:0] tlMasterXbar_auto_in_0_d_bits_data; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire  tlMasterXbar_auto_in_0_e_valid; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire  tlMasterXbar_auto_out_a_ready; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire  tlMasterXbar_auto_out_a_valid; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire [2:0] tlMasterXbar_auto_out_a_bits_opcode; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire [2:0] tlMasterXbar_auto_out_a_bits_param; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire [3:0] tlMasterXbar_auto_out_a_bits_size; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire  tlMasterXbar_auto_out_a_bits_source; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire [31:0] tlMasterXbar_auto_out_a_bits_address; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire [3:0] tlMasterXbar_auto_out_a_bits_mask; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire [31:0] tlMasterXbar_auto_out_a_bits_data; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire  tlMasterXbar_auto_out_a_bits_corrupt; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire  tlMasterXbar_auto_out_d_ready; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire  tlMasterXbar_auto_out_d_valid; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire [2:0] tlMasterXbar_auto_out_d_bits_opcode; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire [1:0] tlMasterXbar_auto_out_d_bits_param; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire [3:0] tlMasterXbar_auto_out_d_bits_size; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire  tlMasterXbar_auto_out_d_bits_source; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire  tlMasterXbar_auto_out_d_bits_sink; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire  tlMasterXbar_auto_out_d_bits_denied; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire [31:0] tlMasterXbar_auto_out_d_bits_data; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire  tlMasterXbar_auto_out_d_bits_corrupt; // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
  wire  tlSlaveXbar_clock; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire  tlSlaveXbar_reset; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire  tlSlaveXbar_auto_in_a_ready; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire  tlSlaveXbar_auto_in_a_valid; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [2:0] tlSlaveXbar_auto_in_a_bits_opcode; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [2:0] tlSlaveXbar_auto_in_a_bits_param; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [2:0] tlSlaveXbar_auto_in_a_bits_size; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire  tlSlaveXbar_auto_in_a_bits_source; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [31:0] tlSlaveXbar_auto_in_a_bits_address; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [3:0] tlSlaveXbar_auto_in_a_bits_mask; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [31:0] tlSlaveXbar_auto_in_a_bits_data; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire  tlSlaveXbar_auto_in_a_bits_corrupt; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire  tlSlaveXbar_auto_in_d_ready; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire  tlSlaveXbar_auto_in_d_valid; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [2:0] tlSlaveXbar_auto_in_d_bits_opcode; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [1:0] tlSlaveXbar_auto_in_d_bits_param; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [2:0] tlSlaveXbar_auto_in_d_bits_size; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire  tlSlaveXbar_auto_in_d_bits_source; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire  tlSlaveXbar_auto_in_d_bits_sink; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire  tlSlaveXbar_auto_in_d_bits_denied; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [31:0] tlSlaveXbar_auto_in_d_bits_data; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire  tlSlaveXbar_auto_in_d_bits_corrupt; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire  tlSlaveXbar_auto_out_1_a_ready; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire  tlSlaveXbar_auto_out_1_a_valid; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [2:0] tlSlaveXbar_auto_out_1_a_bits_opcode; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [2:0] tlSlaveXbar_auto_out_1_a_bits_param; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [2:0] tlSlaveXbar_auto_out_1_a_bits_size; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire  tlSlaveXbar_auto_out_1_a_bits_source; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [31:0] tlSlaveXbar_auto_out_1_a_bits_address; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [3:0] tlSlaveXbar_auto_out_1_a_bits_mask; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [31:0] tlSlaveXbar_auto_out_1_a_bits_data; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire  tlSlaveXbar_auto_out_1_d_ready; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire  tlSlaveXbar_auto_out_1_d_valid; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [2:0] tlSlaveXbar_auto_out_1_d_bits_opcode; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [2:0] tlSlaveXbar_auto_out_1_d_bits_size; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire  tlSlaveXbar_auto_out_1_d_bits_source; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [31:0] tlSlaveXbar_auto_out_1_d_bits_data; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire  tlSlaveXbar_auto_out_0_a_ready; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire  tlSlaveXbar_auto_out_0_a_valid; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [2:0] tlSlaveXbar_auto_out_0_a_bits_opcode; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [2:0] tlSlaveXbar_auto_out_0_a_bits_param; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [2:0] tlSlaveXbar_auto_out_0_a_bits_size; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire  tlSlaveXbar_auto_out_0_a_bits_source; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [27:0] tlSlaveXbar_auto_out_0_a_bits_address; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [3:0] tlSlaveXbar_auto_out_0_a_bits_mask; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [31:0] tlSlaveXbar_auto_out_0_a_bits_data; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire  tlSlaveXbar_auto_out_0_a_bits_corrupt; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire  tlSlaveXbar_auto_out_0_d_ready; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire  tlSlaveXbar_auto_out_0_d_valid; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [2:0] tlSlaveXbar_auto_out_0_d_bits_opcode; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [2:0] tlSlaveXbar_auto_out_0_d_bits_size; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire  tlSlaveXbar_auto_out_0_d_bits_source; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire [31:0] tlSlaveXbar_auto_out_0_d_bits_data; // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
  wire  intXbar_auto_int_in_2_0; // @[BaseTile.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@222043.4]
  wire  intXbar_auto_int_in_1_0; // @[BaseTile.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@222043.4]
  wire  intXbar_auto_int_in_1_1; // @[BaseTile.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@222043.4]
  wire  intXbar_auto_int_in_0_0; // @[BaseTile.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@222043.4]
  wire  intXbar_auto_int_out_0; // @[BaseTile.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@222043.4]
  wire  intXbar_auto_int_out_1; // @[BaseTile.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@222043.4]
  wire  intXbar_auto_int_out_2; // @[BaseTile.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@222043.4]
  wire  intXbar_auto_int_out_3; // @[BaseTile.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@222043.4]
  wire  dcache_gated_clock; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_reset; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_auto_out_a_ready; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_auto_out_a_valid; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [2:0] dcache_auto_out_a_bits_opcode; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [2:0] dcache_auto_out_a_bits_param; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [3:0] dcache_auto_out_a_bits_size; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [31:0] dcache_auto_out_a_bits_address; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [3:0] dcache_auto_out_a_bits_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [31:0] dcache_auto_out_a_bits_data; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_auto_out_c_valid; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_auto_out_d_ready; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_auto_out_d_valid; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [2:0] dcache_auto_out_d_bits_opcode; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [3:0] dcache_auto_out_d_bits_size; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_auto_out_d_bits_denied; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [31:0] dcache_auto_out_d_bits_data; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_auto_out_e_valid; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_cpu_req_ready; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_cpu_req_valid; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [31:0] dcache_io_cpu_req_bits_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [6:0] dcache_io_cpu_req_bits_tag; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [4:0] dcache_io_cpu_req_bits_cmd; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [2:0] dcache_io_cpu_req_bits_typ; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_cpu_req_bits_phys; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_cpu_s1_kill; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [31:0] dcache_io_cpu_s1_data_data; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [3:0] dcache_io_cpu_s1_data_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_cpu_s2_nack; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_cpu_resp_valid; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [31:0] dcache_io_cpu_resp_bits_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [6:0] dcache_io_cpu_resp_bits_tag; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [4:0] dcache_io_cpu_resp_bits_cmd; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [2:0] dcache_io_cpu_resp_bits_typ; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [31:0] dcache_io_cpu_resp_bits_data; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_cpu_resp_bits_replay; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_cpu_resp_bits_has_data; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [31:0] dcache_io_cpu_resp_bits_data_word_bypass; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [31:0] dcache_io_cpu_resp_bits_data_raw; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [31:0] dcache_io_cpu_resp_bits_store_data; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_cpu_replay_next; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_cpu_s2_xcpt_ma_ld; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_cpu_s2_xcpt_ma_st; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_cpu_s2_xcpt_pf_ld; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_cpu_s2_xcpt_pf_st; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_cpu_s2_xcpt_ae_ld; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_cpu_s2_xcpt_ae_st; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_cpu_ordered; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_cpu_perf_grant; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_cpu_keep_clock_enabled; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_cpu_clock_enabled; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_0_cfg_l; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [1:0] dcache_io_ptw_pmp_0_cfg_a; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_0_cfg_x; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_0_cfg_w; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_0_cfg_r; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [29:0] dcache_io_ptw_pmp_0_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [31:0] dcache_io_ptw_pmp_0_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_1_cfg_l; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [1:0] dcache_io_ptw_pmp_1_cfg_a; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_1_cfg_x; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_1_cfg_w; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_1_cfg_r; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [29:0] dcache_io_ptw_pmp_1_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [31:0] dcache_io_ptw_pmp_1_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_2_cfg_l; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [1:0] dcache_io_ptw_pmp_2_cfg_a; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_2_cfg_x; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_2_cfg_w; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_2_cfg_r; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [29:0] dcache_io_ptw_pmp_2_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [31:0] dcache_io_ptw_pmp_2_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_3_cfg_l; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [1:0] dcache_io_ptw_pmp_3_cfg_a; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_3_cfg_x; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_3_cfg_w; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_3_cfg_r; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [29:0] dcache_io_ptw_pmp_3_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [31:0] dcache_io_ptw_pmp_3_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_4_cfg_l; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [1:0] dcache_io_ptw_pmp_4_cfg_a; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_4_cfg_x; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_4_cfg_w; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_4_cfg_r; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [29:0] dcache_io_ptw_pmp_4_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [31:0] dcache_io_ptw_pmp_4_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_5_cfg_l; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [1:0] dcache_io_ptw_pmp_5_cfg_a; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_5_cfg_x; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_5_cfg_w; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_5_cfg_r; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [29:0] dcache_io_ptw_pmp_5_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [31:0] dcache_io_ptw_pmp_5_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_6_cfg_l; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [1:0] dcache_io_ptw_pmp_6_cfg_a; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_6_cfg_x; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_6_cfg_w; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_6_cfg_r; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [29:0] dcache_io_ptw_pmp_6_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [31:0] dcache_io_ptw_pmp_6_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_7_cfg_l; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [1:0] dcache_io_ptw_pmp_7_cfg_a; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_7_cfg_x; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_7_cfg_w; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  dcache_io_ptw_pmp_7_cfg_r; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [29:0] dcache_io_ptw_pmp_7_addr; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire [31:0] dcache_io_ptw_pmp_7_mask; // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
  wire  frontend_gated_clock; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_reset; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_auto_icache_slave_in_a_ready; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_auto_icache_slave_in_a_valid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [2:0] frontend_auto_icache_slave_in_a_bits_opcode; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [1:0] frontend_auto_icache_slave_in_a_bits_size; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [6:0] frontend_auto_icache_slave_in_a_bits_source; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [27:0] frontend_auto_icache_slave_in_a_bits_address; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [3:0] frontend_auto_icache_slave_in_a_bits_mask; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [31:0] frontend_auto_icache_slave_in_a_bits_data; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_auto_icache_slave_in_d_ready; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_auto_icache_slave_in_d_valid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [2:0] frontend_auto_icache_slave_in_d_bits_opcode; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [1:0] frontend_auto_icache_slave_in_d_bits_size; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [6:0] frontend_auto_icache_slave_in_d_bits_source; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [31:0] frontend_auto_icache_slave_in_d_bits_data; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_auto_icache_master_out_a_ready; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_auto_icache_master_out_a_valid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [31:0] frontend_auto_icache_master_out_a_bits_address; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_auto_icache_master_out_d_ready; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_auto_icache_master_out_d_valid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [2:0] frontend_auto_icache_master_out_d_bits_opcode; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [3:0] frontend_auto_icache_master_out_d_bits_size; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [31:0] frontend_auto_icache_master_out_d_bits_data; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_auto_icache_master_out_d_bits_corrupt; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [31:0] frontend_io_reset_vector; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_cpu_might_request; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_cpu_req_valid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [31:0] frontend_io_cpu_req_bits_pc; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_cpu_req_bits_speculative; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_cpu_sfence_valid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_cpu_resp_ready; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_cpu_resp_valid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_cpu_resp_bits_btb_taken; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_cpu_resp_bits_btb_bridx; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [4:0] frontend_io_cpu_resp_bits_btb_entry; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [7:0] frontend_io_cpu_resp_bits_btb_bht_history; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [31:0] frontend_io_cpu_resp_bits_pc; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [31:0] frontend_io_cpu_resp_bits_data; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_cpu_resp_bits_xcpt_ae_inst; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_cpu_resp_bits_replay; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_cpu_btb_update_valid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [4:0] frontend_io_cpu_btb_update_bits_prediction_entry; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [31:0] frontend_io_cpu_btb_update_bits_pc; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_cpu_btb_update_bits_isValid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [31:0] frontend_io_cpu_btb_update_bits_br_pc; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [1:0] frontend_io_cpu_btb_update_bits_cfiType; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_cpu_bht_update_valid; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [7:0] frontend_io_cpu_bht_update_bits_prediction_history; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [31:0] frontend_io_cpu_bht_update_bits_pc; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_cpu_bht_update_bits_branch; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_cpu_bht_update_bits_taken; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_cpu_bht_update_bits_mispredict; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_cpu_flush_icache; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [31:0] frontend_io_cpu_npc; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_0_cfg_l; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [1:0] frontend_io_ptw_pmp_0_cfg_a; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_0_cfg_x; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_0_cfg_w; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_0_cfg_r; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [29:0] frontend_io_ptw_pmp_0_addr; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [31:0] frontend_io_ptw_pmp_0_mask; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_1_cfg_l; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [1:0] frontend_io_ptw_pmp_1_cfg_a; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_1_cfg_x; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_1_cfg_w; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_1_cfg_r; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [29:0] frontend_io_ptw_pmp_1_addr; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [31:0] frontend_io_ptw_pmp_1_mask; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_2_cfg_l; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [1:0] frontend_io_ptw_pmp_2_cfg_a; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_2_cfg_x; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_2_cfg_w; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_2_cfg_r; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [29:0] frontend_io_ptw_pmp_2_addr; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [31:0] frontend_io_ptw_pmp_2_mask; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_3_cfg_l; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [1:0] frontend_io_ptw_pmp_3_cfg_a; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_3_cfg_x; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_3_cfg_w; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_3_cfg_r; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [29:0] frontend_io_ptw_pmp_3_addr; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [31:0] frontend_io_ptw_pmp_3_mask; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_4_cfg_l; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [1:0] frontend_io_ptw_pmp_4_cfg_a; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_4_cfg_x; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_4_cfg_w; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_4_cfg_r; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [29:0] frontend_io_ptw_pmp_4_addr; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [31:0] frontend_io_ptw_pmp_4_mask; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_5_cfg_l; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [1:0] frontend_io_ptw_pmp_5_cfg_a; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_5_cfg_x; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_5_cfg_w; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_5_cfg_r; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [29:0] frontend_io_ptw_pmp_5_addr; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [31:0] frontend_io_ptw_pmp_5_mask; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_6_cfg_l; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [1:0] frontend_io_ptw_pmp_6_cfg_a; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_6_cfg_x; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_6_cfg_w; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_6_cfg_r; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [29:0] frontend_io_ptw_pmp_6_addr; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [31:0] frontend_io_ptw_pmp_6_mask; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_7_cfg_l; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [1:0] frontend_io_ptw_pmp_7_cfg_a; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_7_cfg_x; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_7_cfg_w; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  frontend_io_ptw_pmp_7_cfg_r; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [29:0] frontend_io_ptw_pmp_7_addr; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire [31:0] frontend_io_ptw_pmp_7_mask; // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
  wire  fragmenter_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire  fragmenter_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire  fragmenter_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire  fragmenter_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire [2:0] fragmenter_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire [2:0] fragmenter_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire [2:0] fragmenter_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire  fragmenter_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire [27:0] fragmenter_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire [3:0] fragmenter_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire [31:0] fragmenter_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire  fragmenter_auto_in_a_bits_corrupt; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire  fragmenter_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire  fragmenter_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire [2:0] fragmenter_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire [2:0] fragmenter_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire  fragmenter_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire [31:0] fragmenter_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire  fragmenter_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire  fragmenter_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire [2:0] fragmenter_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire [1:0] fragmenter_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire [6:0] fragmenter_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire [27:0] fragmenter_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire [3:0] fragmenter_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire [31:0] fragmenter_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire  fragmenter_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire  fragmenter_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire [2:0] fragmenter_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire [1:0] fragmenter_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire [6:0] fragmenter_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire [31:0] fragmenter_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
  wire  dtim_adapter_clock; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire  dtim_adapter_reset; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire  dtim_adapter_auto_in_a_ready; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire  dtim_adapter_auto_in_a_valid; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire [2:0] dtim_adapter_auto_in_a_bits_opcode; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire [2:0] dtim_adapter_auto_in_a_bits_param; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire [1:0] dtim_adapter_auto_in_a_bits_size; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire [6:0] dtim_adapter_auto_in_a_bits_source; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire [31:0] dtim_adapter_auto_in_a_bits_address; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire [3:0] dtim_adapter_auto_in_a_bits_mask; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire [31:0] dtim_adapter_auto_in_a_bits_data; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire  dtim_adapter_auto_in_d_ready; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire  dtim_adapter_auto_in_d_valid; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire [2:0] dtim_adapter_auto_in_d_bits_opcode; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire [1:0] dtim_adapter_auto_in_d_bits_size; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire [6:0] dtim_adapter_auto_in_d_bits_source; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire [31:0] dtim_adapter_auto_in_d_bits_data; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire  dtim_adapter_io_dmem_req_ready; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire  dtim_adapter_io_dmem_req_valid; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire [31:0] dtim_adapter_io_dmem_req_bits_addr; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire [4:0] dtim_adapter_io_dmem_req_bits_cmd; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire [2:0] dtim_adapter_io_dmem_req_bits_typ; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire  dtim_adapter_io_dmem_s1_kill; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire [31:0] dtim_adapter_io_dmem_s1_data_data; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire [3:0] dtim_adapter_io_dmem_s1_data_mask; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire  dtim_adapter_io_dmem_s2_nack; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire  dtim_adapter_io_dmem_resp_valid; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire [31:0] dtim_adapter_io_dmem_resp_bits_data_raw; // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
  wire  fragmenter_1_clock; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire  fragmenter_1_reset; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire  fragmenter_1_auto_in_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire  fragmenter_1_auto_in_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire [2:0] fragmenter_1_auto_in_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire [2:0] fragmenter_1_auto_in_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire [2:0] fragmenter_1_auto_in_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire  fragmenter_1_auto_in_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire [31:0] fragmenter_1_auto_in_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire [3:0] fragmenter_1_auto_in_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire [31:0] fragmenter_1_auto_in_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire  fragmenter_1_auto_in_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire  fragmenter_1_auto_in_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire [2:0] fragmenter_1_auto_in_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire [2:0] fragmenter_1_auto_in_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire  fragmenter_1_auto_in_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire [31:0] fragmenter_1_auto_in_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire  fragmenter_1_auto_out_a_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire  fragmenter_1_auto_out_a_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire [2:0] fragmenter_1_auto_out_a_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire [2:0] fragmenter_1_auto_out_a_bits_param; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire [1:0] fragmenter_1_auto_out_a_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire [6:0] fragmenter_1_auto_out_a_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire [31:0] fragmenter_1_auto_out_a_bits_address; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire [3:0] fragmenter_1_auto_out_a_bits_mask; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire [31:0] fragmenter_1_auto_out_a_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire  fragmenter_1_auto_out_d_ready; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire  fragmenter_1_auto_out_d_valid; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire [2:0] fragmenter_1_auto_out_d_bits_opcode; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire [1:0] fragmenter_1_auto_out_d_bits_size; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire [6:0] fragmenter_1_auto_out_d_bits_source; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire [31:0] fragmenter_1_auto_out_d_bits_data; // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire [3:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire  buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire [31:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire [1:0] buffer_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire [3:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire  buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire  buffer_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire  buffer_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire  buffer_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire [3:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire  buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire [31:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire [1:0] buffer_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire [3:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire  buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire  buffer_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire  buffer_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire  buffer_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
  wire  buffer_1_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire  buffer_1_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire  buffer_1_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire  buffer_1_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire [2:0] buffer_1_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire [2:0] buffer_1_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire [2:0] buffer_1_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire  buffer_1_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire [31:0] buffer_1_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire [3:0] buffer_1_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire [31:0] buffer_1_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire  buffer_1_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire  buffer_1_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire  buffer_1_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire [2:0] buffer_1_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire [1:0] buffer_1_auto_in_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire [2:0] buffer_1_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire  buffer_1_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire  buffer_1_auto_in_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire  buffer_1_auto_in_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire [31:0] buffer_1_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire  buffer_1_auto_in_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire  buffer_1_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire  buffer_1_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire [2:0] buffer_1_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire [2:0] buffer_1_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire [2:0] buffer_1_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire  buffer_1_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire [31:0] buffer_1_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire [3:0] buffer_1_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire [31:0] buffer_1_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire  buffer_1_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire  buffer_1_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire  buffer_1_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire [2:0] buffer_1_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire [1:0] buffer_1_auto_out_d_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire [2:0] buffer_1_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire  buffer_1_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire  buffer_1_auto_out_d_bits_sink; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire  buffer_1_auto_out_d_bits_denied; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire [31:0] buffer_1_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire  buffer_1_auto_out_d_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
  wire  intsink_clock; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222094.4]
  wire  intsink_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222094.4]
  wire  intsink_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222094.4]
  wire  intsink_1_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222100.4]
  wire  intsink_1_auto_in_sync_1; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222100.4]
  wire  intsink_1_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222100.4]
  wire  intsink_1_auto_out_1; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222100.4]
  wire  intsink_2_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222106.4]
  wire  intsink_2_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222106.4]
  wire  dcacheArb_clock; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_requestor_0_req_ready; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_requestor_0_req_valid; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire [31:0] dcacheArb_io_requestor_0_req_bits_addr; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire [6:0] dcacheArb_io_requestor_0_req_bits_tag; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire [4:0] dcacheArb_io_requestor_0_req_bits_cmd; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire [2:0] dcacheArb_io_requestor_0_req_bits_typ; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_requestor_0_s1_kill; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire [31:0] dcacheArb_io_requestor_0_s1_data_data; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_requestor_0_s2_nack; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_requestor_0_resp_valid; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire [6:0] dcacheArb_io_requestor_0_resp_bits_tag; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire [31:0] dcacheArb_io_requestor_0_resp_bits_data; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_requestor_0_resp_bits_replay; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_requestor_0_resp_bits_has_data; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire [31:0] dcacheArb_io_requestor_0_resp_bits_data_word_bypass; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_requestor_0_replay_next; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_requestor_0_s2_xcpt_ma_ld; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_requestor_0_s2_xcpt_ma_st; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_requestor_0_s2_xcpt_pf_ld; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_requestor_0_s2_xcpt_pf_st; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_requestor_0_s2_xcpt_ae_ld; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_requestor_0_s2_xcpt_ae_st; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_requestor_0_ordered; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_requestor_0_perf_grant; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_requestor_0_keep_clock_enabled; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_requestor_0_clock_enabled; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_requestor_1_req_ready; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_requestor_1_req_valid; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire [31:0] dcacheArb_io_requestor_1_req_bits_addr; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire [4:0] dcacheArb_io_requestor_1_req_bits_cmd; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire [2:0] dcacheArb_io_requestor_1_req_bits_typ; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_requestor_1_s1_kill; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire [31:0] dcacheArb_io_requestor_1_s1_data_data; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire [3:0] dcacheArb_io_requestor_1_s1_data_mask; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_requestor_1_s2_nack; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_requestor_1_resp_valid; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire [31:0] dcacheArb_io_requestor_1_resp_bits_data_raw; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_mem_req_ready; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_mem_req_valid; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire [31:0] dcacheArb_io_mem_req_bits_addr; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire [6:0] dcacheArb_io_mem_req_bits_tag; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire [4:0] dcacheArb_io_mem_req_bits_cmd; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire [2:0] dcacheArb_io_mem_req_bits_typ; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_mem_req_bits_phys; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_mem_s1_kill; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire [31:0] dcacheArb_io_mem_s1_data_data; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire [3:0] dcacheArb_io_mem_s1_data_mask; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_mem_s2_nack; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_mem_resp_valid; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire [6:0] dcacheArb_io_mem_resp_bits_tag; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire [31:0] dcacheArb_io_mem_resp_bits_data; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_mem_resp_bits_replay; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_mem_resp_bits_has_data; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire [31:0] dcacheArb_io_mem_resp_bits_data_word_bypass; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire [31:0] dcacheArb_io_mem_resp_bits_data_raw; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_mem_replay_next; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_mem_s2_xcpt_ma_ld; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_mem_s2_xcpt_ma_st; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_mem_s2_xcpt_pf_ld; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_mem_s2_xcpt_pf_st; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_mem_s2_xcpt_ae_ld; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_mem_s2_xcpt_ae_st; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_mem_ordered; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_mem_perf_grant; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_mem_keep_clock_enabled; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  dcacheArb_io_mem_clock_enabled; // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
  wire  ptw_clock; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_0_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [1:0] ptw_io_requestor_0_pmp_0_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_0_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_0_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_0_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [29:0] ptw_io_requestor_0_pmp_0_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [31:0] ptw_io_requestor_0_pmp_0_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_1_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [1:0] ptw_io_requestor_0_pmp_1_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_1_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_1_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_1_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [29:0] ptw_io_requestor_0_pmp_1_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [31:0] ptw_io_requestor_0_pmp_1_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_2_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [1:0] ptw_io_requestor_0_pmp_2_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_2_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_2_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_2_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [29:0] ptw_io_requestor_0_pmp_2_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [31:0] ptw_io_requestor_0_pmp_2_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_3_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [1:0] ptw_io_requestor_0_pmp_3_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_3_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_3_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_3_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [29:0] ptw_io_requestor_0_pmp_3_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [31:0] ptw_io_requestor_0_pmp_3_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_4_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [1:0] ptw_io_requestor_0_pmp_4_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_4_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_4_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_4_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [29:0] ptw_io_requestor_0_pmp_4_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [31:0] ptw_io_requestor_0_pmp_4_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_5_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [1:0] ptw_io_requestor_0_pmp_5_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_5_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_5_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_5_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [29:0] ptw_io_requestor_0_pmp_5_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [31:0] ptw_io_requestor_0_pmp_5_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_6_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [1:0] ptw_io_requestor_0_pmp_6_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_6_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_6_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_6_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [29:0] ptw_io_requestor_0_pmp_6_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [31:0] ptw_io_requestor_0_pmp_6_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_7_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [1:0] ptw_io_requestor_0_pmp_7_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_7_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_7_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_0_pmp_7_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [29:0] ptw_io_requestor_0_pmp_7_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [31:0] ptw_io_requestor_0_pmp_7_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_0_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [1:0] ptw_io_requestor_1_pmp_0_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_0_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_0_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_0_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [29:0] ptw_io_requestor_1_pmp_0_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [31:0] ptw_io_requestor_1_pmp_0_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_1_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [1:0] ptw_io_requestor_1_pmp_1_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_1_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_1_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_1_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [29:0] ptw_io_requestor_1_pmp_1_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [31:0] ptw_io_requestor_1_pmp_1_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_2_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [1:0] ptw_io_requestor_1_pmp_2_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_2_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_2_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_2_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [29:0] ptw_io_requestor_1_pmp_2_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [31:0] ptw_io_requestor_1_pmp_2_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_3_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [1:0] ptw_io_requestor_1_pmp_3_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_3_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_3_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_3_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [29:0] ptw_io_requestor_1_pmp_3_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [31:0] ptw_io_requestor_1_pmp_3_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_4_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [1:0] ptw_io_requestor_1_pmp_4_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_4_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_4_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_4_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [29:0] ptw_io_requestor_1_pmp_4_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [31:0] ptw_io_requestor_1_pmp_4_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_5_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [1:0] ptw_io_requestor_1_pmp_5_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_5_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_5_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_5_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [29:0] ptw_io_requestor_1_pmp_5_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [31:0] ptw_io_requestor_1_pmp_5_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_6_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [1:0] ptw_io_requestor_1_pmp_6_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_6_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_6_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_6_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [29:0] ptw_io_requestor_1_pmp_6_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [31:0] ptw_io_requestor_1_pmp_6_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_7_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [1:0] ptw_io_requestor_1_pmp_7_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_7_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_7_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_requestor_1_pmp_7_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [29:0] ptw_io_requestor_1_pmp_7_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [31:0] ptw_io_requestor_1_pmp_7_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_0_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [1:0] ptw_io_dpath_pmp_0_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_0_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_0_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_0_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [29:0] ptw_io_dpath_pmp_0_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [31:0] ptw_io_dpath_pmp_0_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_1_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [1:0] ptw_io_dpath_pmp_1_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_1_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_1_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_1_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [29:0] ptw_io_dpath_pmp_1_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [31:0] ptw_io_dpath_pmp_1_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_2_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [1:0] ptw_io_dpath_pmp_2_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_2_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_2_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_2_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [29:0] ptw_io_dpath_pmp_2_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [31:0] ptw_io_dpath_pmp_2_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_3_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [1:0] ptw_io_dpath_pmp_3_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_3_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_3_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_3_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [29:0] ptw_io_dpath_pmp_3_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [31:0] ptw_io_dpath_pmp_3_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_4_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [1:0] ptw_io_dpath_pmp_4_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_4_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_4_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_4_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [29:0] ptw_io_dpath_pmp_4_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [31:0] ptw_io_dpath_pmp_4_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_5_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [1:0] ptw_io_dpath_pmp_5_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_5_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_5_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_5_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [29:0] ptw_io_dpath_pmp_5_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [31:0] ptw_io_dpath_pmp_5_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_6_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [1:0] ptw_io_dpath_pmp_6_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_6_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_6_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_6_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [29:0] ptw_io_dpath_pmp_6_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [31:0] ptw_io_dpath_pmp_6_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_7_cfg_l; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [1:0] ptw_io_dpath_pmp_7_cfg_a; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_7_cfg_x; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_7_cfg_w; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  ptw_io_dpath_pmp_7_cfg_r; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [29:0] ptw_io_dpath_pmp_7_addr; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire [31:0] ptw_io_dpath_pmp_7_mask; // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
  wire  core_clock; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_reset; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_hartid; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_interrupts_debug; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_interrupts_mtip; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_interrupts_msip; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_interrupts_meip; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_imem_might_request; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_imem_req_valid; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [31:0] core_io_imem_req_bits_pc; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_imem_req_bits_speculative; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_imem_sfence_valid; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_imem_resp_ready; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_imem_resp_valid; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_imem_resp_bits_btb_taken; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_imem_resp_bits_btb_bridx; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [4:0] core_io_imem_resp_bits_btb_entry; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [7:0] core_io_imem_resp_bits_btb_bht_history; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [31:0] core_io_imem_resp_bits_pc; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [31:0] core_io_imem_resp_bits_data; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_imem_resp_bits_xcpt_ae_inst; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_imem_resp_bits_replay; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_imem_btb_update_valid; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [4:0] core_io_imem_btb_update_bits_prediction_entry; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [31:0] core_io_imem_btb_update_bits_pc; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_imem_btb_update_bits_isValid; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [31:0] core_io_imem_btb_update_bits_br_pc; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [1:0] core_io_imem_btb_update_bits_cfiType; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_imem_bht_update_valid; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [7:0] core_io_imem_bht_update_bits_prediction_history; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [31:0] core_io_imem_bht_update_bits_pc; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_imem_bht_update_bits_branch; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_imem_bht_update_bits_taken; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_imem_bht_update_bits_mispredict; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_imem_flush_icache; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_dmem_req_ready; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_dmem_req_valid; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [31:0] core_io_dmem_req_bits_addr; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [6:0] core_io_dmem_req_bits_tag; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [4:0] core_io_dmem_req_bits_cmd; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [2:0] core_io_dmem_req_bits_typ; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_dmem_s1_kill; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [31:0] core_io_dmem_s1_data_data; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_dmem_s2_nack; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_dmem_resp_valid; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [6:0] core_io_dmem_resp_bits_tag; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [31:0] core_io_dmem_resp_bits_data; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_dmem_resp_bits_replay; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_dmem_resp_bits_has_data; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [31:0] core_io_dmem_resp_bits_data_word_bypass; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_dmem_replay_next; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_dmem_s2_xcpt_ma_ld; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_dmem_s2_xcpt_ma_st; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_dmem_s2_xcpt_pf_ld; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_dmem_s2_xcpt_pf_st; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_dmem_s2_xcpt_ae_ld; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_dmem_s2_xcpt_ae_st; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_dmem_ordered; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_dmem_perf_grant; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_dmem_keep_clock_enabled; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_dmem_clock_enabled; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_0_cfg_l; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [1:0] core_io_ptw_pmp_0_cfg_a; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_0_cfg_x; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_0_cfg_w; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_0_cfg_r; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [29:0] core_io_ptw_pmp_0_addr; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [31:0] core_io_ptw_pmp_0_mask; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_1_cfg_l; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [1:0] core_io_ptw_pmp_1_cfg_a; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_1_cfg_x; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_1_cfg_w; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_1_cfg_r; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [29:0] core_io_ptw_pmp_1_addr; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [31:0] core_io_ptw_pmp_1_mask; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_2_cfg_l; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [1:0] core_io_ptw_pmp_2_cfg_a; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_2_cfg_x; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_2_cfg_w; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_2_cfg_r; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [29:0] core_io_ptw_pmp_2_addr; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [31:0] core_io_ptw_pmp_2_mask; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_3_cfg_l; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [1:0] core_io_ptw_pmp_3_cfg_a; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_3_cfg_x; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_3_cfg_w; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_3_cfg_r; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [29:0] core_io_ptw_pmp_3_addr; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [31:0] core_io_ptw_pmp_3_mask; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_4_cfg_l; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [1:0] core_io_ptw_pmp_4_cfg_a; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_4_cfg_x; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_4_cfg_w; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_4_cfg_r; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [29:0] core_io_ptw_pmp_4_addr; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [31:0] core_io_ptw_pmp_4_mask; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_5_cfg_l; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [1:0] core_io_ptw_pmp_5_cfg_a; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_5_cfg_x; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_5_cfg_w; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_5_cfg_r; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [29:0] core_io_ptw_pmp_5_addr; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [31:0] core_io_ptw_pmp_5_mask; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_6_cfg_l; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [1:0] core_io_ptw_pmp_6_cfg_a; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_6_cfg_x; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_6_cfg_w; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_6_cfg_r; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [29:0] core_io_ptw_pmp_6_addr; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [31:0] core_io_ptw_pmp_6_mask; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_7_cfg_l; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [1:0] core_io_ptw_pmp_7_cfg_a; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_7_cfg_x; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_7_cfg_w; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire  core_io_ptw_pmp_7_cfg_r; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [29:0] core_io_ptw_pmp_7_addr; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [31:0] core_io_ptw_pmp_7_mask; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  wire [31:0] core_io_ptw_customCSRs_csrs_0_value; // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
  TLXbar_8 tlMasterXbar ( // @[BaseTile.scala 142:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222031.4]
    .clock(tlMasterXbar_clock),
    .reset(tlMasterXbar_reset),
    .auto_in_1_a_ready(tlMasterXbar_auto_in_1_a_ready),
    .auto_in_1_a_valid(tlMasterXbar_auto_in_1_a_valid),
    .auto_in_1_a_bits_address(tlMasterXbar_auto_in_1_a_bits_address),
    .auto_in_1_d_ready(tlMasterXbar_auto_in_1_d_ready),
    .auto_in_1_d_valid(tlMasterXbar_auto_in_1_d_valid),
    .auto_in_1_d_bits_opcode(tlMasterXbar_auto_in_1_d_bits_opcode),
    .auto_in_1_d_bits_size(tlMasterXbar_auto_in_1_d_bits_size),
    .auto_in_1_d_bits_data(tlMasterXbar_auto_in_1_d_bits_data),
    .auto_in_1_d_bits_corrupt(tlMasterXbar_auto_in_1_d_bits_corrupt),
    .auto_in_0_a_ready(tlMasterXbar_auto_in_0_a_ready),
    .auto_in_0_a_valid(tlMasterXbar_auto_in_0_a_valid),
    .auto_in_0_a_bits_opcode(tlMasterXbar_auto_in_0_a_bits_opcode),
    .auto_in_0_a_bits_param(tlMasterXbar_auto_in_0_a_bits_param),
    .auto_in_0_a_bits_size(tlMasterXbar_auto_in_0_a_bits_size),
    .auto_in_0_a_bits_address(tlMasterXbar_auto_in_0_a_bits_address),
    .auto_in_0_a_bits_mask(tlMasterXbar_auto_in_0_a_bits_mask),
    .auto_in_0_a_bits_data(tlMasterXbar_auto_in_0_a_bits_data),
    .auto_in_0_c_valid(tlMasterXbar_auto_in_0_c_valid),
    .auto_in_0_d_ready(tlMasterXbar_auto_in_0_d_ready),
    .auto_in_0_d_valid(tlMasterXbar_auto_in_0_d_valid),
    .auto_in_0_d_bits_opcode(tlMasterXbar_auto_in_0_d_bits_opcode),
    .auto_in_0_d_bits_size(tlMasterXbar_auto_in_0_d_bits_size),
    .auto_in_0_d_bits_denied(tlMasterXbar_auto_in_0_d_bits_denied),
    .auto_in_0_d_bits_data(tlMasterXbar_auto_in_0_d_bits_data),
    .auto_in_0_e_valid(tlMasterXbar_auto_in_0_e_valid),
    .auto_out_a_ready(tlMasterXbar_auto_out_a_ready),
    .auto_out_a_valid(tlMasterXbar_auto_out_a_valid),
    .auto_out_a_bits_opcode(tlMasterXbar_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(tlMasterXbar_auto_out_a_bits_param),
    .auto_out_a_bits_size(tlMasterXbar_auto_out_a_bits_size),
    .auto_out_a_bits_source(tlMasterXbar_auto_out_a_bits_source),
    .auto_out_a_bits_address(tlMasterXbar_auto_out_a_bits_address),
    .auto_out_a_bits_mask(tlMasterXbar_auto_out_a_bits_mask),
    .auto_out_a_bits_data(tlMasterXbar_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(tlMasterXbar_auto_out_a_bits_corrupt),
    .auto_out_d_ready(tlMasterXbar_auto_out_d_ready),
    .auto_out_d_valid(tlMasterXbar_auto_out_d_valid),
    .auto_out_d_bits_opcode(tlMasterXbar_auto_out_d_bits_opcode),
    .auto_out_d_bits_param(tlMasterXbar_auto_out_d_bits_param),
    .auto_out_d_bits_size(tlMasterXbar_auto_out_d_bits_size),
    .auto_out_d_bits_source(tlMasterXbar_auto_out_d_bits_source),
    .auto_out_d_bits_sink(tlMasterXbar_auto_out_d_bits_sink),
    .auto_out_d_bits_denied(tlMasterXbar_auto_out_d_bits_denied),
    .auto_out_d_bits_data(tlMasterXbar_auto_out_d_bits_data),
    .auto_out_d_bits_corrupt(tlMasterXbar_auto_out_d_bits_corrupt)
  );
  TLXbar_9 tlSlaveXbar ( // @[BaseTile.scala 143:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222037.4]
    .clock(tlSlaveXbar_clock),
    .reset(tlSlaveXbar_reset),
    .auto_in_a_ready(tlSlaveXbar_auto_in_a_ready),
    .auto_in_a_valid(tlSlaveXbar_auto_in_a_valid),
    .auto_in_a_bits_opcode(tlSlaveXbar_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(tlSlaveXbar_auto_in_a_bits_param),
    .auto_in_a_bits_size(tlSlaveXbar_auto_in_a_bits_size),
    .auto_in_a_bits_source(tlSlaveXbar_auto_in_a_bits_source),
    .auto_in_a_bits_address(tlSlaveXbar_auto_in_a_bits_address),
    .auto_in_a_bits_mask(tlSlaveXbar_auto_in_a_bits_mask),
    .auto_in_a_bits_data(tlSlaveXbar_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(tlSlaveXbar_auto_in_a_bits_corrupt),
    .auto_in_d_ready(tlSlaveXbar_auto_in_d_ready),
    .auto_in_d_valid(tlSlaveXbar_auto_in_d_valid),
    .auto_in_d_bits_opcode(tlSlaveXbar_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(tlSlaveXbar_auto_in_d_bits_param),
    .auto_in_d_bits_size(tlSlaveXbar_auto_in_d_bits_size),
    .auto_in_d_bits_source(tlSlaveXbar_auto_in_d_bits_source),
    .auto_in_d_bits_sink(tlSlaveXbar_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(tlSlaveXbar_auto_in_d_bits_denied),
    .auto_in_d_bits_data(tlSlaveXbar_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(tlSlaveXbar_auto_in_d_bits_corrupt),
    .auto_out_1_a_ready(tlSlaveXbar_auto_out_1_a_ready),
    .auto_out_1_a_valid(tlSlaveXbar_auto_out_1_a_valid),
    .auto_out_1_a_bits_opcode(tlSlaveXbar_auto_out_1_a_bits_opcode),
    .auto_out_1_a_bits_param(tlSlaveXbar_auto_out_1_a_bits_param),
    .auto_out_1_a_bits_size(tlSlaveXbar_auto_out_1_a_bits_size),
    .auto_out_1_a_bits_source(tlSlaveXbar_auto_out_1_a_bits_source),
    .auto_out_1_a_bits_address(tlSlaveXbar_auto_out_1_a_bits_address),
    .auto_out_1_a_bits_mask(tlSlaveXbar_auto_out_1_a_bits_mask),
    .auto_out_1_a_bits_data(tlSlaveXbar_auto_out_1_a_bits_data),
    .auto_out_1_d_ready(tlSlaveXbar_auto_out_1_d_ready),
    .auto_out_1_d_valid(tlSlaveXbar_auto_out_1_d_valid),
    .auto_out_1_d_bits_opcode(tlSlaveXbar_auto_out_1_d_bits_opcode),
    .auto_out_1_d_bits_size(tlSlaveXbar_auto_out_1_d_bits_size),
    .auto_out_1_d_bits_source(tlSlaveXbar_auto_out_1_d_bits_source),
    .auto_out_1_d_bits_data(tlSlaveXbar_auto_out_1_d_bits_data),
    .auto_out_0_a_ready(tlSlaveXbar_auto_out_0_a_ready),
    .auto_out_0_a_valid(tlSlaveXbar_auto_out_0_a_valid),
    .auto_out_0_a_bits_opcode(tlSlaveXbar_auto_out_0_a_bits_opcode),
    .auto_out_0_a_bits_param(tlSlaveXbar_auto_out_0_a_bits_param),
    .auto_out_0_a_bits_size(tlSlaveXbar_auto_out_0_a_bits_size),
    .auto_out_0_a_bits_source(tlSlaveXbar_auto_out_0_a_bits_source),
    .auto_out_0_a_bits_address(tlSlaveXbar_auto_out_0_a_bits_address),
    .auto_out_0_a_bits_mask(tlSlaveXbar_auto_out_0_a_bits_mask),
    .auto_out_0_a_bits_data(tlSlaveXbar_auto_out_0_a_bits_data),
    .auto_out_0_a_bits_corrupt(tlSlaveXbar_auto_out_0_a_bits_corrupt),
    .auto_out_0_d_ready(tlSlaveXbar_auto_out_0_d_ready),
    .auto_out_0_d_valid(tlSlaveXbar_auto_out_0_d_valid),
    .auto_out_0_d_bits_opcode(tlSlaveXbar_auto_out_0_d_bits_opcode),
    .auto_out_0_d_bits_size(tlSlaveXbar_auto_out_0_d_bits_size),
    .auto_out_0_d_bits_source(tlSlaveXbar_auto_out_0_d_bits_source),
    .auto_out_0_d_bits_data(tlSlaveXbar_auto_out_0_d_bits_data)
  );
  IntXbar_1 intXbar ( // @[BaseTile.scala 144:37:shc.marmotcaravel.MarmotCaravelConfig.fir@222043.4]
    .auto_int_in_2_0(intXbar_auto_int_in_2_0),
    .auto_int_in_1_0(intXbar_auto_int_in_1_0),
    .auto_int_in_1_1(intXbar_auto_int_in_1_1),
    .auto_int_in_0_0(intXbar_auto_int_in_0_0),
    .auto_int_out_0(intXbar_auto_int_out_0),
    .auto_int_out_1(intXbar_auto_int_out_1),
    .auto_int_out_2(intXbar_auto_int_out_2),
    .auto_int_out_3(intXbar_auto_int_out_3)
  );
  DCache dcache ( // @[HellaCache.scala 215:43:shc.marmotcaravel.MarmotCaravelConfig.fir@222049.4]
    .gated_clock(dcache_gated_clock),
    .reset(dcache_reset),
    .auto_out_a_ready(dcache_auto_out_a_ready),
    .auto_out_a_valid(dcache_auto_out_a_valid),
    .auto_out_a_bits_opcode(dcache_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(dcache_auto_out_a_bits_param),
    .auto_out_a_bits_size(dcache_auto_out_a_bits_size),
    .auto_out_a_bits_address(dcache_auto_out_a_bits_address),
    .auto_out_a_bits_mask(dcache_auto_out_a_bits_mask),
    .auto_out_a_bits_data(dcache_auto_out_a_bits_data),
    .auto_out_c_valid(dcache_auto_out_c_valid),
    .auto_out_d_ready(dcache_auto_out_d_ready),
    .auto_out_d_valid(dcache_auto_out_d_valid),
    .auto_out_d_bits_opcode(dcache_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(dcache_auto_out_d_bits_size),
    .auto_out_d_bits_denied(dcache_auto_out_d_bits_denied),
    .auto_out_d_bits_data(dcache_auto_out_d_bits_data),
    .auto_out_e_valid(dcache_auto_out_e_valid),
    .io_cpu_req_ready(dcache_io_cpu_req_ready),
    .io_cpu_req_valid(dcache_io_cpu_req_valid),
    .io_cpu_req_bits_addr(dcache_io_cpu_req_bits_addr),
    .io_cpu_req_bits_tag(dcache_io_cpu_req_bits_tag),
    .io_cpu_req_bits_cmd(dcache_io_cpu_req_bits_cmd),
    .io_cpu_req_bits_typ(dcache_io_cpu_req_bits_typ),
    .io_cpu_req_bits_phys(dcache_io_cpu_req_bits_phys),
    .io_cpu_s1_kill(dcache_io_cpu_s1_kill),
    .io_cpu_s1_data_data(dcache_io_cpu_s1_data_data),
    .io_cpu_s1_data_mask(dcache_io_cpu_s1_data_mask),
    .io_cpu_s2_nack(dcache_io_cpu_s2_nack),
    .io_cpu_resp_valid(dcache_io_cpu_resp_valid),
    .io_cpu_resp_bits_addr(dcache_io_cpu_resp_bits_addr),
    .io_cpu_resp_bits_tag(dcache_io_cpu_resp_bits_tag),
    .io_cpu_resp_bits_cmd(dcache_io_cpu_resp_bits_cmd),
    .io_cpu_resp_bits_typ(dcache_io_cpu_resp_bits_typ),
    .io_cpu_resp_bits_data(dcache_io_cpu_resp_bits_data),
    .io_cpu_resp_bits_replay(dcache_io_cpu_resp_bits_replay),
    .io_cpu_resp_bits_has_data(dcache_io_cpu_resp_bits_has_data),
    .io_cpu_resp_bits_data_word_bypass(dcache_io_cpu_resp_bits_data_word_bypass),
    .io_cpu_resp_bits_data_raw(dcache_io_cpu_resp_bits_data_raw),
    .io_cpu_resp_bits_store_data(dcache_io_cpu_resp_bits_store_data),
    .io_cpu_replay_next(dcache_io_cpu_replay_next),
    .io_cpu_s2_xcpt_ma_ld(dcache_io_cpu_s2_xcpt_ma_ld),
    .io_cpu_s2_xcpt_ma_st(dcache_io_cpu_s2_xcpt_ma_st),
    .io_cpu_s2_xcpt_pf_ld(dcache_io_cpu_s2_xcpt_pf_ld),
    .io_cpu_s2_xcpt_pf_st(dcache_io_cpu_s2_xcpt_pf_st),
    .io_cpu_s2_xcpt_ae_ld(dcache_io_cpu_s2_xcpt_ae_ld),
    .io_cpu_s2_xcpt_ae_st(dcache_io_cpu_s2_xcpt_ae_st),
    .io_cpu_ordered(dcache_io_cpu_ordered),
    .io_cpu_perf_grant(dcache_io_cpu_perf_grant),
    .io_cpu_keep_clock_enabled(dcache_io_cpu_keep_clock_enabled),
    .io_cpu_clock_enabled(dcache_io_cpu_clock_enabled),
    .io_ptw_pmp_0_cfg_l(dcache_io_ptw_pmp_0_cfg_l),
    .io_ptw_pmp_0_cfg_a(dcache_io_ptw_pmp_0_cfg_a),
    .io_ptw_pmp_0_cfg_x(dcache_io_ptw_pmp_0_cfg_x),
    .io_ptw_pmp_0_cfg_w(dcache_io_ptw_pmp_0_cfg_w),
    .io_ptw_pmp_0_cfg_r(dcache_io_ptw_pmp_0_cfg_r),
    .io_ptw_pmp_0_addr(dcache_io_ptw_pmp_0_addr),
    .io_ptw_pmp_0_mask(dcache_io_ptw_pmp_0_mask),
    .io_ptw_pmp_1_cfg_l(dcache_io_ptw_pmp_1_cfg_l),
    .io_ptw_pmp_1_cfg_a(dcache_io_ptw_pmp_1_cfg_a),
    .io_ptw_pmp_1_cfg_x(dcache_io_ptw_pmp_1_cfg_x),
    .io_ptw_pmp_1_cfg_w(dcache_io_ptw_pmp_1_cfg_w),
    .io_ptw_pmp_1_cfg_r(dcache_io_ptw_pmp_1_cfg_r),
    .io_ptw_pmp_1_addr(dcache_io_ptw_pmp_1_addr),
    .io_ptw_pmp_1_mask(dcache_io_ptw_pmp_1_mask),
    .io_ptw_pmp_2_cfg_l(dcache_io_ptw_pmp_2_cfg_l),
    .io_ptw_pmp_2_cfg_a(dcache_io_ptw_pmp_2_cfg_a),
    .io_ptw_pmp_2_cfg_x(dcache_io_ptw_pmp_2_cfg_x),
    .io_ptw_pmp_2_cfg_w(dcache_io_ptw_pmp_2_cfg_w),
    .io_ptw_pmp_2_cfg_r(dcache_io_ptw_pmp_2_cfg_r),
    .io_ptw_pmp_2_addr(dcache_io_ptw_pmp_2_addr),
    .io_ptw_pmp_2_mask(dcache_io_ptw_pmp_2_mask),
    .io_ptw_pmp_3_cfg_l(dcache_io_ptw_pmp_3_cfg_l),
    .io_ptw_pmp_3_cfg_a(dcache_io_ptw_pmp_3_cfg_a),
    .io_ptw_pmp_3_cfg_x(dcache_io_ptw_pmp_3_cfg_x),
    .io_ptw_pmp_3_cfg_w(dcache_io_ptw_pmp_3_cfg_w),
    .io_ptw_pmp_3_cfg_r(dcache_io_ptw_pmp_3_cfg_r),
    .io_ptw_pmp_3_addr(dcache_io_ptw_pmp_3_addr),
    .io_ptw_pmp_3_mask(dcache_io_ptw_pmp_3_mask),
    .io_ptw_pmp_4_cfg_l(dcache_io_ptw_pmp_4_cfg_l),
    .io_ptw_pmp_4_cfg_a(dcache_io_ptw_pmp_4_cfg_a),
    .io_ptw_pmp_4_cfg_x(dcache_io_ptw_pmp_4_cfg_x),
    .io_ptw_pmp_4_cfg_w(dcache_io_ptw_pmp_4_cfg_w),
    .io_ptw_pmp_4_cfg_r(dcache_io_ptw_pmp_4_cfg_r),
    .io_ptw_pmp_4_addr(dcache_io_ptw_pmp_4_addr),
    .io_ptw_pmp_4_mask(dcache_io_ptw_pmp_4_mask),
    .io_ptw_pmp_5_cfg_l(dcache_io_ptw_pmp_5_cfg_l),
    .io_ptw_pmp_5_cfg_a(dcache_io_ptw_pmp_5_cfg_a),
    .io_ptw_pmp_5_cfg_x(dcache_io_ptw_pmp_5_cfg_x),
    .io_ptw_pmp_5_cfg_w(dcache_io_ptw_pmp_5_cfg_w),
    .io_ptw_pmp_5_cfg_r(dcache_io_ptw_pmp_5_cfg_r),
    .io_ptw_pmp_5_addr(dcache_io_ptw_pmp_5_addr),
    .io_ptw_pmp_5_mask(dcache_io_ptw_pmp_5_mask),
    .io_ptw_pmp_6_cfg_l(dcache_io_ptw_pmp_6_cfg_l),
    .io_ptw_pmp_6_cfg_a(dcache_io_ptw_pmp_6_cfg_a),
    .io_ptw_pmp_6_cfg_x(dcache_io_ptw_pmp_6_cfg_x),
    .io_ptw_pmp_6_cfg_w(dcache_io_ptw_pmp_6_cfg_w),
    .io_ptw_pmp_6_cfg_r(dcache_io_ptw_pmp_6_cfg_r),
    .io_ptw_pmp_6_addr(dcache_io_ptw_pmp_6_addr),
    .io_ptw_pmp_6_mask(dcache_io_ptw_pmp_6_mask),
    .io_ptw_pmp_7_cfg_l(dcache_io_ptw_pmp_7_cfg_l),
    .io_ptw_pmp_7_cfg_a(dcache_io_ptw_pmp_7_cfg_a),
    .io_ptw_pmp_7_cfg_x(dcache_io_ptw_pmp_7_cfg_x),
    .io_ptw_pmp_7_cfg_w(dcache_io_ptw_pmp_7_cfg_w),
    .io_ptw_pmp_7_cfg_r(dcache_io_ptw_pmp_7_cfg_r),
    .io_ptw_pmp_7_addr(dcache_io_ptw_pmp_7_addr),
    .io_ptw_pmp_7_mask(dcache_io_ptw_pmp_7_mask),
    .data_arrays_0_ext_RW0_addr(data_arrays_0_ext_RW0_addr),
    .data_arrays_0_ext_RW0_en(data_arrays_0_ext_RW0_en),
    .data_arrays_0_ext_RW0_clk(data_arrays_0_ext_RW0_clk),
    .data_arrays_0_ext_RW0_wmode(data_arrays_0_ext_RW0_wmode),
    .data_arrays_0_ext_RW0_wdata(data_arrays_0_ext_RW0_wdata),
    .data_arrays_0_ext_RW0_rdata(data_arrays_0_ext_RW0_rdata),
    .data_arrays_0_ext_RW0_wmask(data_arrays_0_ext_RW0_wmask)
  );
  Frontend frontend ( // @[Frontend.scala 340:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222056.4]
    .gated_clock(frontend_gated_clock),
    .reset(frontend_reset),
    .auto_icache_slave_in_a_ready(frontend_auto_icache_slave_in_a_ready),
    .auto_icache_slave_in_a_valid(frontend_auto_icache_slave_in_a_valid),
    .auto_icache_slave_in_a_bits_opcode(frontend_auto_icache_slave_in_a_bits_opcode),
    .auto_icache_slave_in_a_bits_size(frontend_auto_icache_slave_in_a_bits_size),
    .auto_icache_slave_in_a_bits_source(frontend_auto_icache_slave_in_a_bits_source),
    .auto_icache_slave_in_a_bits_address(frontend_auto_icache_slave_in_a_bits_address),
    .auto_icache_slave_in_a_bits_mask(frontend_auto_icache_slave_in_a_bits_mask),
    .auto_icache_slave_in_a_bits_data(frontend_auto_icache_slave_in_a_bits_data),
    .auto_icache_slave_in_d_ready(frontend_auto_icache_slave_in_d_ready),
    .auto_icache_slave_in_d_valid(frontend_auto_icache_slave_in_d_valid),
    .auto_icache_slave_in_d_bits_opcode(frontend_auto_icache_slave_in_d_bits_opcode),
    .auto_icache_slave_in_d_bits_size(frontend_auto_icache_slave_in_d_bits_size),
    .auto_icache_slave_in_d_bits_source(frontend_auto_icache_slave_in_d_bits_source),
    .auto_icache_slave_in_d_bits_data(frontend_auto_icache_slave_in_d_bits_data),
    .auto_icache_master_out_a_ready(frontend_auto_icache_master_out_a_ready),
    .auto_icache_master_out_a_valid(frontend_auto_icache_master_out_a_valid),
    .auto_icache_master_out_a_bits_address(frontend_auto_icache_master_out_a_bits_address),
    .auto_icache_master_out_d_ready(frontend_auto_icache_master_out_d_ready),
    .auto_icache_master_out_d_valid(frontend_auto_icache_master_out_d_valid),
    .auto_icache_master_out_d_bits_opcode(frontend_auto_icache_master_out_d_bits_opcode),
    .auto_icache_master_out_d_bits_size(frontend_auto_icache_master_out_d_bits_size),
    .auto_icache_master_out_d_bits_data(frontend_auto_icache_master_out_d_bits_data),
    .auto_icache_master_out_d_bits_corrupt(frontend_auto_icache_master_out_d_bits_corrupt),
    .io_reset_vector(frontend_io_reset_vector),
    .io_cpu_might_request(frontend_io_cpu_might_request),
    .io_cpu_req_valid(frontend_io_cpu_req_valid),
    .io_cpu_req_bits_pc(frontend_io_cpu_req_bits_pc),
    .io_cpu_req_bits_speculative(frontend_io_cpu_req_bits_speculative),
    .io_cpu_sfence_valid(frontend_io_cpu_sfence_valid),
    .io_cpu_resp_ready(frontend_io_cpu_resp_ready),
    .io_cpu_resp_valid(frontend_io_cpu_resp_valid),
    .io_cpu_resp_bits_btb_taken(frontend_io_cpu_resp_bits_btb_taken),
    .io_cpu_resp_bits_btb_bridx(frontend_io_cpu_resp_bits_btb_bridx),
    .io_cpu_resp_bits_btb_entry(frontend_io_cpu_resp_bits_btb_entry),
    .io_cpu_resp_bits_btb_bht_history(frontend_io_cpu_resp_bits_btb_bht_history),
    .io_cpu_resp_bits_pc(frontend_io_cpu_resp_bits_pc),
    .io_cpu_resp_bits_data(frontend_io_cpu_resp_bits_data),
    .io_cpu_resp_bits_xcpt_ae_inst(frontend_io_cpu_resp_bits_xcpt_ae_inst),
    .io_cpu_resp_bits_replay(frontend_io_cpu_resp_bits_replay),
    .io_cpu_btb_update_valid(frontend_io_cpu_btb_update_valid),
    .io_cpu_btb_update_bits_prediction_entry(frontend_io_cpu_btb_update_bits_prediction_entry),
    .io_cpu_btb_update_bits_pc(frontend_io_cpu_btb_update_bits_pc),
    .io_cpu_btb_update_bits_isValid(frontend_io_cpu_btb_update_bits_isValid),
    .io_cpu_btb_update_bits_br_pc(frontend_io_cpu_btb_update_bits_br_pc),
    .io_cpu_btb_update_bits_cfiType(frontend_io_cpu_btb_update_bits_cfiType),
    .io_cpu_bht_update_valid(frontend_io_cpu_bht_update_valid),
    .io_cpu_bht_update_bits_prediction_history(frontend_io_cpu_bht_update_bits_prediction_history),
    .io_cpu_bht_update_bits_pc(frontend_io_cpu_bht_update_bits_pc),
    .io_cpu_bht_update_bits_branch(frontend_io_cpu_bht_update_bits_branch),
    .io_cpu_bht_update_bits_taken(frontend_io_cpu_bht_update_bits_taken),
    .io_cpu_bht_update_bits_mispredict(frontend_io_cpu_bht_update_bits_mispredict),
    .io_cpu_flush_icache(frontend_io_cpu_flush_icache),
    .io_cpu_npc(frontend_io_cpu_npc),
    .io_ptw_pmp_0_cfg_l(frontend_io_ptw_pmp_0_cfg_l),
    .io_ptw_pmp_0_cfg_a(frontend_io_ptw_pmp_0_cfg_a),
    .io_ptw_pmp_0_cfg_x(frontend_io_ptw_pmp_0_cfg_x),
    .io_ptw_pmp_0_cfg_w(frontend_io_ptw_pmp_0_cfg_w),
    .io_ptw_pmp_0_cfg_r(frontend_io_ptw_pmp_0_cfg_r),
    .io_ptw_pmp_0_addr(frontend_io_ptw_pmp_0_addr),
    .io_ptw_pmp_0_mask(frontend_io_ptw_pmp_0_mask),
    .io_ptw_pmp_1_cfg_l(frontend_io_ptw_pmp_1_cfg_l),
    .io_ptw_pmp_1_cfg_a(frontend_io_ptw_pmp_1_cfg_a),
    .io_ptw_pmp_1_cfg_x(frontend_io_ptw_pmp_1_cfg_x),
    .io_ptw_pmp_1_cfg_w(frontend_io_ptw_pmp_1_cfg_w),
    .io_ptw_pmp_1_cfg_r(frontend_io_ptw_pmp_1_cfg_r),
    .io_ptw_pmp_1_addr(frontend_io_ptw_pmp_1_addr),
    .io_ptw_pmp_1_mask(frontend_io_ptw_pmp_1_mask),
    .io_ptw_pmp_2_cfg_l(frontend_io_ptw_pmp_2_cfg_l),
    .io_ptw_pmp_2_cfg_a(frontend_io_ptw_pmp_2_cfg_a),
    .io_ptw_pmp_2_cfg_x(frontend_io_ptw_pmp_2_cfg_x),
    .io_ptw_pmp_2_cfg_w(frontend_io_ptw_pmp_2_cfg_w),
    .io_ptw_pmp_2_cfg_r(frontend_io_ptw_pmp_2_cfg_r),
    .io_ptw_pmp_2_addr(frontend_io_ptw_pmp_2_addr),
    .io_ptw_pmp_2_mask(frontend_io_ptw_pmp_2_mask),
    .io_ptw_pmp_3_cfg_l(frontend_io_ptw_pmp_3_cfg_l),
    .io_ptw_pmp_3_cfg_a(frontend_io_ptw_pmp_3_cfg_a),
    .io_ptw_pmp_3_cfg_x(frontend_io_ptw_pmp_3_cfg_x),
    .io_ptw_pmp_3_cfg_w(frontend_io_ptw_pmp_3_cfg_w),
    .io_ptw_pmp_3_cfg_r(frontend_io_ptw_pmp_3_cfg_r),
    .io_ptw_pmp_3_addr(frontend_io_ptw_pmp_3_addr),
    .io_ptw_pmp_3_mask(frontend_io_ptw_pmp_3_mask),
    .io_ptw_pmp_4_cfg_l(frontend_io_ptw_pmp_4_cfg_l),
    .io_ptw_pmp_4_cfg_a(frontend_io_ptw_pmp_4_cfg_a),
    .io_ptw_pmp_4_cfg_x(frontend_io_ptw_pmp_4_cfg_x),
    .io_ptw_pmp_4_cfg_w(frontend_io_ptw_pmp_4_cfg_w),
    .io_ptw_pmp_4_cfg_r(frontend_io_ptw_pmp_4_cfg_r),
    .io_ptw_pmp_4_addr(frontend_io_ptw_pmp_4_addr),
    .io_ptw_pmp_4_mask(frontend_io_ptw_pmp_4_mask),
    .io_ptw_pmp_5_cfg_l(frontend_io_ptw_pmp_5_cfg_l),
    .io_ptw_pmp_5_cfg_a(frontend_io_ptw_pmp_5_cfg_a),
    .io_ptw_pmp_5_cfg_x(frontend_io_ptw_pmp_5_cfg_x),
    .io_ptw_pmp_5_cfg_w(frontend_io_ptw_pmp_5_cfg_w),
    .io_ptw_pmp_5_cfg_r(frontend_io_ptw_pmp_5_cfg_r),
    .io_ptw_pmp_5_addr(frontend_io_ptw_pmp_5_addr),
    .io_ptw_pmp_5_mask(frontend_io_ptw_pmp_5_mask),
    .io_ptw_pmp_6_cfg_l(frontend_io_ptw_pmp_6_cfg_l),
    .io_ptw_pmp_6_cfg_a(frontend_io_ptw_pmp_6_cfg_a),
    .io_ptw_pmp_6_cfg_x(frontend_io_ptw_pmp_6_cfg_x),
    .io_ptw_pmp_6_cfg_w(frontend_io_ptw_pmp_6_cfg_w),
    .io_ptw_pmp_6_cfg_r(frontend_io_ptw_pmp_6_cfg_r),
    .io_ptw_pmp_6_addr(frontend_io_ptw_pmp_6_addr),
    .io_ptw_pmp_6_mask(frontend_io_ptw_pmp_6_mask),
    .io_ptw_pmp_7_cfg_l(frontend_io_ptw_pmp_7_cfg_l),
    .io_ptw_pmp_7_cfg_a(frontend_io_ptw_pmp_7_cfg_a),
    .io_ptw_pmp_7_cfg_x(frontend_io_ptw_pmp_7_cfg_x),
    .io_ptw_pmp_7_cfg_w(frontend_io_ptw_pmp_7_cfg_w),
    .io_ptw_pmp_7_cfg_r(frontend_io_ptw_pmp_7_cfg_r),
    .io_ptw_pmp_7_addr(frontend_io_ptw_pmp_7_addr),
    .io_ptw_pmp_7_mask(frontend_io_ptw_pmp_7_mask),
    .tag_array_ext_RW0_addr(tag_array_ext_RW0_addr),
    .tag_array_ext_RW0_en(tag_array_ext_RW0_en),
    .tag_array_ext_RW0_clk(tag_array_ext_RW0_clk),
    .tag_array_ext_RW0_wmode(tag_array_ext_RW0_wmode),
    .tag_array_ext_RW0_wdata(tag_array_ext_RW0_wdata),
    .tag_array_ext_RW0_rdata(tag_array_ext_RW0_rdata),
    .tag_array_ext_RW0_wmask(tag_array_ext_RW0_wmask),
    .data_arrays_0_0_ext_RW0_addr(data_arrays_0_0_ext_RW0_addr),
    .data_arrays_0_0_ext_RW0_en(data_arrays_0_0_ext_RW0_en),
    .data_arrays_0_0_ext_RW0_clk(data_arrays_0_0_ext_RW0_clk),
    .data_arrays_0_0_ext_RW0_wmode(data_arrays_0_0_ext_RW0_wmode),
    .data_arrays_0_0_ext_RW0_wdata(data_arrays_0_0_ext_RW0_wdata),
    .data_arrays_0_0_ext_RW0_rdata(data_arrays_0_0_ext_RW0_rdata),
    .data_arrays_0_0_ext_RW0_wmask(data_arrays_0_0_ext_RW0_wmask)
  );
  TLFragmenter_17 fragmenter ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222063.4]
    .clock(fragmenter_clock),
    .reset(fragmenter_reset),
    .auto_in_a_ready(fragmenter_auto_in_a_ready),
    .auto_in_a_valid(fragmenter_auto_in_a_valid),
    .auto_in_a_bits_opcode(fragmenter_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(fragmenter_auto_in_a_bits_param),
    .auto_in_a_bits_size(fragmenter_auto_in_a_bits_size),
    .auto_in_a_bits_source(fragmenter_auto_in_a_bits_source),
    .auto_in_a_bits_address(fragmenter_auto_in_a_bits_address),
    .auto_in_a_bits_mask(fragmenter_auto_in_a_bits_mask),
    .auto_in_a_bits_data(fragmenter_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(fragmenter_auto_in_a_bits_corrupt),
    .auto_in_d_ready(fragmenter_auto_in_d_ready),
    .auto_in_d_valid(fragmenter_auto_in_d_valid),
    .auto_in_d_bits_opcode(fragmenter_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(fragmenter_auto_in_d_bits_size),
    .auto_in_d_bits_source(fragmenter_auto_in_d_bits_source),
    .auto_in_d_bits_data(fragmenter_auto_in_d_bits_data),
    .auto_out_a_ready(fragmenter_auto_out_a_ready),
    .auto_out_a_valid(fragmenter_auto_out_a_valid),
    .auto_out_a_bits_opcode(fragmenter_auto_out_a_bits_opcode),
    .auto_out_a_bits_size(fragmenter_auto_out_a_bits_size),
    .auto_out_a_bits_source(fragmenter_auto_out_a_bits_source),
    .auto_out_a_bits_address(fragmenter_auto_out_a_bits_address),
    .auto_out_a_bits_mask(fragmenter_auto_out_a_bits_mask),
    .auto_out_a_bits_data(fragmenter_auto_out_a_bits_data),
    .auto_out_d_ready(fragmenter_auto_out_d_ready),
    .auto_out_d_valid(fragmenter_auto_out_d_valid),
    .auto_out_d_bits_opcode(fragmenter_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(fragmenter_auto_out_d_bits_size),
    .auto_out_d_bits_source(fragmenter_auto_out_d_bits_source),
    .auto_out_d_bits_data(fragmenter_auto_out_d_bits_data)
  );
  ScratchpadSlavePort dtim_adapter ( // @[RocketTile.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222069.4]
    .clock(dtim_adapter_clock),
    .reset(dtim_adapter_reset),
    .auto_in_a_ready(dtim_adapter_auto_in_a_ready),
    .auto_in_a_valid(dtim_adapter_auto_in_a_valid),
    .auto_in_a_bits_opcode(dtim_adapter_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(dtim_adapter_auto_in_a_bits_param),
    .auto_in_a_bits_size(dtim_adapter_auto_in_a_bits_size),
    .auto_in_a_bits_source(dtim_adapter_auto_in_a_bits_source),
    .auto_in_a_bits_address(dtim_adapter_auto_in_a_bits_address),
    .auto_in_a_bits_mask(dtim_adapter_auto_in_a_bits_mask),
    .auto_in_a_bits_data(dtim_adapter_auto_in_a_bits_data),
    .auto_in_d_ready(dtim_adapter_auto_in_d_ready),
    .auto_in_d_valid(dtim_adapter_auto_in_d_valid),
    .auto_in_d_bits_opcode(dtim_adapter_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(dtim_adapter_auto_in_d_bits_size),
    .auto_in_d_bits_source(dtim_adapter_auto_in_d_bits_source),
    .auto_in_d_bits_data(dtim_adapter_auto_in_d_bits_data),
    .io_dmem_req_ready(dtim_adapter_io_dmem_req_ready),
    .io_dmem_req_valid(dtim_adapter_io_dmem_req_valid),
    .io_dmem_req_bits_addr(dtim_adapter_io_dmem_req_bits_addr),
    .io_dmem_req_bits_cmd(dtim_adapter_io_dmem_req_bits_cmd),
    .io_dmem_req_bits_typ(dtim_adapter_io_dmem_req_bits_typ),
    .io_dmem_s1_kill(dtim_adapter_io_dmem_s1_kill),
    .io_dmem_s1_data_data(dtim_adapter_io_dmem_s1_data_data),
    .io_dmem_s1_data_mask(dtim_adapter_io_dmem_s1_data_mask),
    .io_dmem_s2_nack(dtim_adapter_io_dmem_s2_nack),
    .io_dmem_resp_valid(dtim_adapter_io_dmem_resp_valid),
    .io_dmem_resp_bits_data_raw(dtim_adapter_io_dmem_resp_bits_data_raw)
  );
  TLFragmenter_18 fragmenter_1 ( // @[Fragmenter.scala 307:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222076.4]
    .clock(fragmenter_1_clock),
    .reset(fragmenter_1_reset),
    .auto_in_a_ready(fragmenter_1_auto_in_a_ready),
    .auto_in_a_valid(fragmenter_1_auto_in_a_valid),
    .auto_in_a_bits_opcode(fragmenter_1_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(fragmenter_1_auto_in_a_bits_param),
    .auto_in_a_bits_size(fragmenter_1_auto_in_a_bits_size),
    .auto_in_a_bits_source(fragmenter_1_auto_in_a_bits_source),
    .auto_in_a_bits_address(fragmenter_1_auto_in_a_bits_address),
    .auto_in_a_bits_mask(fragmenter_1_auto_in_a_bits_mask),
    .auto_in_a_bits_data(fragmenter_1_auto_in_a_bits_data),
    .auto_in_d_ready(fragmenter_1_auto_in_d_ready),
    .auto_in_d_valid(fragmenter_1_auto_in_d_valid),
    .auto_in_d_bits_opcode(fragmenter_1_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(fragmenter_1_auto_in_d_bits_size),
    .auto_in_d_bits_source(fragmenter_1_auto_in_d_bits_source),
    .auto_in_d_bits_data(fragmenter_1_auto_in_d_bits_data),
    .auto_out_a_ready(fragmenter_1_auto_out_a_ready),
    .auto_out_a_valid(fragmenter_1_auto_out_a_valid),
    .auto_out_a_bits_opcode(fragmenter_1_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(fragmenter_1_auto_out_a_bits_param),
    .auto_out_a_bits_size(fragmenter_1_auto_out_a_bits_size),
    .auto_out_a_bits_source(fragmenter_1_auto_out_a_bits_source),
    .auto_out_a_bits_address(fragmenter_1_auto_out_a_bits_address),
    .auto_out_a_bits_mask(fragmenter_1_auto_out_a_bits_mask),
    .auto_out_a_bits_data(fragmenter_1_auto_out_a_bits_data),
    .auto_out_d_ready(fragmenter_1_auto_out_d_ready),
    .auto_out_d_valid(fragmenter_1_auto_out_d_valid),
    .auto_out_d_bits_opcode(fragmenter_1_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(fragmenter_1_auto_out_d_bits_size),
    .auto_out_d_bits_source(fragmenter_1_auto_out_d_bits_source),
    .auto_out_d_bits_data(fragmenter_1_auto_out_d_bits_data)
  );
  TLBuffer_15 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222082.4]
    .clock(buffer_clock),
    .reset(buffer_reset),
    .auto_in_a_ready(buffer_auto_in_a_ready),
    .auto_in_a_valid(buffer_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_auto_in_d_ready),
    .auto_in_d_valid(buffer_auto_in_d_valid),
    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(buffer_auto_in_d_bits_param),
    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
    .auto_in_d_bits_sink(buffer_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(buffer_auto_in_d_bits_denied),
    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(buffer_auto_in_d_bits_corrupt),
    .auto_out_a_ready(buffer_auto_out_a_ready),
    .auto_out_a_valid(buffer_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_auto_out_d_ready),
    .auto_out_d_valid(buffer_auto_out_d_valid),
    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
    .auto_out_d_bits_param(buffer_auto_out_d_bits_param),
    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
    .auto_out_d_bits_sink(buffer_auto_out_d_bits_sink),
    .auto_out_d_bits_denied(buffer_auto_out_d_bits_denied),
    .auto_out_d_bits_data(buffer_auto_out_d_bits_data),
    .auto_out_d_bits_corrupt(buffer_auto_out_d_bits_corrupt)
  );
  TLBuffer_16 buffer_1 ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222088.4]
    .clock(buffer_1_clock),
    .reset(buffer_1_reset),
    .auto_in_a_ready(buffer_1_auto_in_a_ready),
    .auto_in_a_valid(buffer_1_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_1_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_1_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_1_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_1_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_1_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_1_auto_in_a_bits_mask),
    .auto_in_a_bits_data(buffer_1_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(buffer_1_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_1_auto_in_d_ready),
    .auto_in_d_valid(buffer_1_auto_in_d_valid),
    .auto_in_d_bits_opcode(buffer_1_auto_in_d_bits_opcode),
    .auto_in_d_bits_param(buffer_1_auto_in_d_bits_param),
    .auto_in_d_bits_size(buffer_1_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_1_auto_in_d_bits_source),
    .auto_in_d_bits_sink(buffer_1_auto_in_d_bits_sink),
    .auto_in_d_bits_denied(buffer_1_auto_in_d_bits_denied),
    .auto_in_d_bits_data(buffer_1_auto_in_d_bits_data),
    .auto_in_d_bits_corrupt(buffer_1_auto_in_d_bits_corrupt),
    .auto_out_a_ready(buffer_1_auto_out_a_ready),
    .auto_out_a_valid(buffer_1_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_1_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_1_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_1_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_1_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_1_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_1_auto_out_a_bits_mask),
    .auto_out_a_bits_data(buffer_1_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(buffer_1_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_1_auto_out_d_ready),
    .auto_out_d_valid(buffer_1_auto_out_d_valid),
    .auto_out_d_bits_opcode(buffer_1_auto_out_d_bits_opcode),
    .auto_out_d_bits_param(buffer_1_auto_out_d_bits_param),
    .auto_out_d_bits_size(buffer_1_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_1_auto_out_d_bits_source),
    .auto_out_d_bits_sink(buffer_1_auto_out_d_bits_sink),
    .auto_out_d_bits_denied(buffer_1_auto_out_d_bits_denied),
    .auto_out_d_bits_data(buffer_1_auto_out_d_bits_data),
    .auto_out_d_bits_corrupt(buffer_1_auto_out_d_bits_corrupt)
  );
  IntSyncCrossingSink intsink ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222094.4]
    .clock(intsink_clock),
    .auto_in_sync_0(intsink_auto_in_sync_0),
    .auto_out_0(intsink_auto_out_0)
  );
  IntSyncCrossingSink_1 intsink_1 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222100.4]
    .auto_in_sync_0(intsink_1_auto_in_sync_0),
    .auto_in_sync_1(intsink_1_auto_in_sync_1),
    .auto_out_0(intsink_1_auto_out_0),
    .auto_out_1(intsink_1_auto_out_1)
  );
  IntSyncCrossingSink_2 intsink_2 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222106.4]
    .auto_in_sync_0(intsink_2_auto_in_sync_0),
    .auto_out_0(intsink_2_auto_out_0)
  );
  HellaCacheArbiter dcacheArb ( // @[HellaCache.scala 227:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222197.4]
    .clock(dcacheArb_clock),
    .io_requestor_0_req_ready(dcacheArb_io_requestor_0_req_ready),
    .io_requestor_0_req_valid(dcacheArb_io_requestor_0_req_valid),
    .io_requestor_0_req_bits_addr(dcacheArb_io_requestor_0_req_bits_addr),
    .io_requestor_0_req_bits_tag(dcacheArb_io_requestor_0_req_bits_tag),
    .io_requestor_0_req_bits_cmd(dcacheArb_io_requestor_0_req_bits_cmd),
    .io_requestor_0_req_bits_typ(dcacheArb_io_requestor_0_req_bits_typ),
    .io_requestor_0_s1_kill(dcacheArb_io_requestor_0_s1_kill),
    .io_requestor_0_s1_data_data(dcacheArb_io_requestor_0_s1_data_data),
    .io_requestor_0_s2_nack(dcacheArb_io_requestor_0_s2_nack),
    .io_requestor_0_resp_valid(dcacheArb_io_requestor_0_resp_valid),
    .io_requestor_0_resp_bits_tag(dcacheArb_io_requestor_0_resp_bits_tag),
    .io_requestor_0_resp_bits_data(dcacheArb_io_requestor_0_resp_bits_data),
    .io_requestor_0_resp_bits_replay(dcacheArb_io_requestor_0_resp_bits_replay),
    .io_requestor_0_resp_bits_has_data(dcacheArb_io_requestor_0_resp_bits_has_data),
    .io_requestor_0_resp_bits_data_word_bypass(dcacheArb_io_requestor_0_resp_bits_data_word_bypass),
    .io_requestor_0_replay_next(dcacheArb_io_requestor_0_replay_next),
    .io_requestor_0_s2_xcpt_ma_ld(dcacheArb_io_requestor_0_s2_xcpt_ma_ld),
    .io_requestor_0_s2_xcpt_ma_st(dcacheArb_io_requestor_0_s2_xcpt_ma_st),
    .io_requestor_0_s2_xcpt_pf_ld(dcacheArb_io_requestor_0_s2_xcpt_pf_ld),
    .io_requestor_0_s2_xcpt_pf_st(dcacheArb_io_requestor_0_s2_xcpt_pf_st),
    .io_requestor_0_s2_xcpt_ae_ld(dcacheArb_io_requestor_0_s2_xcpt_ae_ld),
    .io_requestor_0_s2_xcpt_ae_st(dcacheArb_io_requestor_0_s2_xcpt_ae_st),
    .io_requestor_0_ordered(dcacheArb_io_requestor_0_ordered),
    .io_requestor_0_perf_grant(dcacheArb_io_requestor_0_perf_grant),
    .io_requestor_0_keep_clock_enabled(dcacheArb_io_requestor_0_keep_clock_enabled),
    .io_requestor_0_clock_enabled(dcacheArb_io_requestor_0_clock_enabled),
    .io_requestor_1_req_ready(dcacheArb_io_requestor_1_req_ready),
    .io_requestor_1_req_valid(dcacheArb_io_requestor_1_req_valid),
    .io_requestor_1_req_bits_addr(dcacheArb_io_requestor_1_req_bits_addr),
    .io_requestor_1_req_bits_cmd(dcacheArb_io_requestor_1_req_bits_cmd),
    .io_requestor_1_req_bits_typ(dcacheArb_io_requestor_1_req_bits_typ),
    .io_requestor_1_s1_kill(dcacheArb_io_requestor_1_s1_kill),
    .io_requestor_1_s1_data_data(dcacheArb_io_requestor_1_s1_data_data),
    .io_requestor_1_s1_data_mask(dcacheArb_io_requestor_1_s1_data_mask),
    .io_requestor_1_s2_nack(dcacheArb_io_requestor_1_s2_nack),
    .io_requestor_1_resp_valid(dcacheArb_io_requestor_1_resp_valid),
    .io_requestor_1_resp_bits_data_raw(dcacheArb_io_requestor_1_resp_bits_data_raw),
    .io_mem_req_ready(dcacheArb_io_mem_req_ready),
    .io_mem_req_valid(dcacheArb_io_mem_req_valid),
    .io_mem_req_bits_addr(dcacheArb_io_mem_req_bits_addr),
    .io_mem_req_bits_tag(dcacheArb_io_mem_req_bits_tag),
    .io_mem_req_bits_cmd(dcacheArb_io_mem_req_bits_cmd),
    .io_mem_req_bits_typ(dcacheArb_io_mem_req_bits_typ),
    .io_mem_req_bits_phys(dcacheArb_io_mem_req_bits_phys),
    .io_mem_s1_kill(dcacheArb_io_mem_s1_kill),
    .io_mem_s1_data_data(dcacheArb_io_mem_s1_data_data),
    .io_mem_s1_data_mask(dcacheArb_io_mem_s1_data_mask),
    .io_mem_s2_nack(dcacheArb_io_mem_s2_nack),
    .io_mem_resp_valid(dcacheArb_io_mem_resp_valid),
    .io_mem_resp_bits_tag(dcacheArb_io_mem_resp_bits_tag),
    .io_mem_resp_bits_data(dcacheArb_io_mem_resp_bits_data),
    .io_mem_resp_bits_replay(dcacheArb_io_mem_resp_bits_replay),
    .io_mem_resp_bits_has_data(dcacheArb_io_mem_resp_bits_has_data),
    .io_mem_resp_bits_data_word_bypass(dcacheArb_io_mem_resp_bits_data_word_bypass),
    .io_mem_resp_bits_data_raw(dcacheArb_io_mem_resp_bits_data_raw),
    .io_mem_replay_next(dcacheArb_io_mem_replay_next),
    .io_mem_s2_xcpt_ma_ld(dcacheArb_io_mem_s2_xcpt_ma_ld),
    .io_mem_s2_xcpt_ma_st(dcacheArb_io_mem_s2_xcpt_ma_st),
    .io_mem_s2_xcpt_pf_ld(dcacheArb_io_mem_s2_xcpt_pf_ld),
    .io_mem_s2_xcpt_pf_st(dcacheArb_io_mem_s2_xcpt_pf_st),
    .io_mem_s2_xcpt_ae_ld(dcacheArb_io_mem_s2_xcpt_ae_ld),
    .io_mem_s2_xcpt_ae_st(dcacheArb_io_mem_s2_xcpt_ae_st),
    .io_mem_ordered(dcacheArb_io_mem_ordered),
    .io_mem_perf_grant(dcacheArb_io_mem_perf_grant),
    .io_mem_keep_clock_enabled(dcacheArb_io_mem_keep_clock_enabled),
    .io_mem_clock_enabled(dcacheArb_io_mem_clock_enabled)
  );
  PTW ptw ( // @[PTW.scala 379:19:shc.marmotcaravel.MarmotCaravelConfig.fir@222202.4]
    .clock(ptw_clock),
    .io_requestor_0_pmp_0_cfg_l(ptw_io_requestor_0_pmp_0_cfg_l),
    .io_requestor_0_pmp_0_cfg_a(ptw_io_requestor_0_pmp_0_cfg_a),
    .io_requestor_0_pmp_0_cfg_x(ptw_io_requestor_0_pmp_0_cfg_x),
    .io_requestor_0_pmp_0_cfg_w(ptw_io_requestor_0_pmp_0_cfg_w),
    .io_requestor_0_pmp_0_cfg_r(ptw_io_requestor_0_pmp_0_cfg_r),
    .io_requestor_0_pmp_0_addr(ptw_io_requestor_0_pmp_0_addr),
    .io_requestor_0_pmp_0_mask(ptw_io_requestor_0_pmp_0_mask),
    .io_requestor_0_pmp_1_cfg_l(ptw_io_requestor_0_pmp_1_cfg_l),
    .io_requestor_0_pmp_1_cfg_a(ptw_io_requestor_0_pmp_1_cfg_a),
    .io_requestor_0_pmp_1_cfg_x(ptw_io_requestor_0_pmp_1_cfg_x),
    .io_requestor_0_pmp_1_cfg_w(ptw_io_requestor_0_pmp_1_cfg_w),
    .io_requestor_0_pmp_1_cfg_r(ptw_io_requestor_0_pmp_1_cfg_r),
    .io_requestor_0_pmp_1_addr(ptw_io_requestor_0_pmp_1_addr),
    .io_requestor_0_pmp_1_mask(ptw_io_requestor_0_pmp_1_mask),
    .io_requestor_0_pmp_2_cfg_l(ptw_io_requestor_0_pmp_2_cfg_l),
    .io_requestor_0_pmp_2_cfg_a(ptw_io_requestor_0_pmp_2_cfg_a),
    .io_requestor_0_pmp_2_cfg_x(ptw_io_requestor_0_pmp_2_cfg_x),
    .io_requestor_0_pmp_2_cfg_w(ptw_io_requestor_0_pmp_2_cfg_w),
    .io_requestor_0_pmp_2_cfg_r(ptw_io_requestor_0_pmp_2_cfg_r),
    .io_requestor_0_pmp_2_addr(ptw_io_requestor_0_pmp_2_addr),
    .io_requestor_0_pmp_2_mask(ptw_io_requestor_0_pmp_2_mask),
    .io_requestor_0_pmp_3_cfg_l(ptw_io_requestor_0_pmp_3_cfg_l),
    .io_requestor_0_pmp_3_cfg_a(ptw_io_requestor_0_pmp_3_cfg_a),
    .io_requestor_0_pmp_3_cfg_x(ptw_io_requestor_0_pmp_3_cfg_x),
    .io_requestor_0_pmp_3_cfg_w(ptw_io_requestor_0_pmp_3_cfg_w),
    .io_requestor_0_pmp_3_cfg_r(ptw_io_requestor_0_pmp_3_cfg_r),
    .io_requestor_0_pmp_3_addr(ptw_io_requestor_0_pmp_3_addr),
    .io_requestor_0_pmp_3_mask(ptw_io_requestor_0_pmp_3_mask),
    .io_requestor_0_pmp_4_cfg_l(ptw_io_requestor_0_pmp_4_cfg_l),
    .io_requestor_0_pmp_4_cfg_a(ptw_io_requestor_0_pmp_4_cfg_a),
    .io_requestor_0_pmp_4_cfg_x(ptw_io_requestor_0_pmp_4_cfg_x),
    .io_requestor_0_pmp_4_cfg_w(ptw_io_requestor_0_pmp_4_cfg_w),
    .io_requestor_0_pmp_4_cfg_r(ptw_io_requestor_0_pmp_4_cfg_r),
    .io_requestor_0_pmp_4_addr(ptw_io_requestor_0_pmp_4_addr),
    .io_requestor_0_pmp_4_mask(ptw_io_requestor_0_pmp_4_mask),
    .io_requestor_0_pmp_5_cfg_l(ptw_io_requestor_0_pmp_5_cfg_l),
    .io_requestor_0_pmp_5_cfg_a(ptw_io_requestor_0_pmp_5_cfg_a),
    .io_requestor_0_pmp_5_cfg_x(ptw_io_requestor_0_pmp_5_cfg_x),
    .io_requestor_0_pmp_5_cfg_w(ptw_io_requestor_0_pmp_5_cfg_w),
    .io_requestor_0_pmp_5_cfg_r(ptw_io_requestor_0_pmp_5_cfg_r),
    .io_requestor_0_pmp_5_addr(ptw_io_requestor_0_pmp_5_addr),
    .io_requestor_0_pmp_5_mask(ptw_io_requestor_0_pmp_5_mask),
    .io_requestor_0_pmp_6_cfg_l(ptw_io_requestor_0_pmp_6_cfg_l),
    .io_requestor_0_pmp_6_cfg_a(ptw_io_requestor_0_pmp_6_cfg_a),
    .io_requestor_0_pmp_6_cfg_x(ptw_io_requestor_0_pmp_6_cfg_x),
    .io_requestor_0_pmp_6_cfg_w(ptw_io_requestor_0_pmp_6_cfg_w),
    .io_requestor_0_pmp_6_cfg_r(ptw_io_requestor_0_pmp_6_cfg_r),
    .io_requestor_0_pmp_6_addr(ptw_io_requestor_0_pmp_6_addr),
    .io_requestor_0_pmp_6_mask(ptw_io_requestor_0_pmp_6_mask),
    .io_requestor_0_pmp_7_cfg_l(ptw_io_requestor_0_pmp_7_cfg_l),
    .io_requestor_0_pmp_7_cfg_a(ptw_io_requestor_0_pmp_7_cfg_a),
    .io_requestor_0_pmp_7_cfg_x(ptw_io_requestor_0_pmp_7_cfg_x),
    .io_requestor_0_pmp_7_cfg_w(ptw_io_requestor_0_pmp_7_cfg_w),
    .io_requestor_0_pmp_7_cfg_r(ptw_io_requestor_0_pmp_7_cfg_r),
    .io_requestor_0_pmp_7_addr(ptw_io_requestor_0_pmp_7_addr),
    .io_requestor_0_pmp_7_mask(ptw_io_requestor_0_pmp_7_mask),
    .io_requestor_1_pmp_0_cfg_l(ptw_io_requestor_1_pmp_0_cfg_l),
    .io_requestor_1_pmp_0_cfg_a(ptw_io_requestor_1_pmp_0_cfg_a),
    .io_requestor_1_pmp_0_cfg_x(ptw_io_requestor_1_pmp_0_cfg_x),
    .io_requestor_1_pmp_0_cfg_w(ptw_io_requestor_1_pmp_0_cfg_w),
    .io_requestor_1_pmp_0_cfg_r(ptw_io_requestor_1_pmp_0_cfg_r),
    .io_requestor_1_pmp_0_addr(ptw_io_requestor_1_pmp_0_addr),
    .io_requestor_1_pmp_0_mask(ptw_io_requestor_1_pmp_0_mask),
    .io_requestor_1_pmp_1_cfg_l(ptw_io_requestor_1_pmp_1_cfg_l),
    .io_requestor_1_pmp_1_cfg_a(ptw_io_requestor_1_pmp_1_cfg_a),
    .io_requestor_1_pmp_1_cfg_x(ptw_io_requestor_1_pmp_1_cfg_x),
    .io_requestor_1_pmp_1_cfg_w(ptw_io_requestor_1_pmp_1_cfg_w),
    .io_requestor_1_pmp_1_cfg_r(ptw_io_requestor_1_pmp_1_cfg_r),
    .io_requestor_1_pmp_1_addr(ptw_io_requestor_1_pmp_1_addr),
    .io_requestor_1_pmp_1_mask(ptw_io_requestor_1_pmp_1_mask),
    .io_requestor_1_pmp_2_cfg_l(ptw_io_requestor_1_pmp_2_cfg_l),
    .io_requestor_1_pmp_2_cfg_a(ptw_io_requestor_1_pmp_2_cfg_a),
    .io_requestor_1_pmp_2_cfg_x(ptw_io_requestor_1_pmp_2_cfg_x),
    .io_requestor_1_pmp_2_cfg_w(ptw_io_requestor_1_pmp_2_cfg_w),
    .io_requestor_1_pmp_2_cfg_r(ptw_io_requestor_1_pmp_2_cfg_r),
    .io_requestor_1_pmp_2_addr(ptw_io_requestor_1_pmp_2_addr),
    .io_requestor_1_pmp_2_mask(ptw_io_requestor_1_pmp_2_mask),
    .io_requestor_1_pmp_3_cfg_l(ptw_io_requestor_1_pmp_3_cfg_l),
    .io_requestor_1_pmp_3_cfg_a(ptw_io_requestor_1_pmp_3_cfg_a),
    .io_requestor_1_pmp_3_cfg_x(ptw_io_requestor_1_pmp_3_cfg_x),
    .io_requestor_1_pmp_3_cfg_w(ptw_io_requestor_1_pmp_3_cfg_w),
    .io_requestor_1_pmp_3_cfg_r(ptw_io_requestor_1_pmp_3_cfg_r),
    .io_requestor_1_pmp_3_addr(ptw_io_requestor_1_pmp_3_addr),
    .io_requestor_1_pmp_3_mask(ptw_io_requestor_1_pmp_3_mask),
    .io_requestor_1_pmp_4_cfg_l(ptw_io_requestor_1_pmp_4_cfg_l),
    .io_requestor_1_pmp_4_cfg_a(ptw_io_requestor_1_pmp_4_cfg_a),
    .io_requestor_1_pmp_4_cfg_x(ptw_io_requestor_1_pmp_4_cfg_x),
    .io_requestor_1_pmp_4_cfg_w(ptw_io_requestor_1_pmp_4_cfg_w),
    .io_requestor_1_pmp_4_cfg_r(ptw_io_requestor_1_pmp_4_cfg_r),
    .io_requestor_1_pmp_4_addr(ptw_io_requestor_1_pmp_4_addr),
    .io_requestor_1_pmp_4_mask(ptw_io_requestor_1_pmp_4_mask),
    .io_requestor_1_pmp_5_cfg_l(ptw_io_requestor_1_pmp_5_cfg_l),
    .io_requestor_1_pmp_5_cfg_a(ptw_io_requestor_1_pmp_5_cfg_a),
    .io_requestor_1_pmp_5_cfg_x(ptw_io_requestor_1_pmp_5_cfg_x),
    .io_requestor_1_pmp_5_cfg_w(ptw_io_requestor_1_pmp_5_cfg_w),
    .io_requestor_1_pmp_5_cfg_r(ptw_io_requestor_1_pmp_5_cfg_r),
    .io_requestor_1_pmp_5_addr(ptw_io_requestor_1_pmp_5_addr),
    .io_requestor_1_pmp_5_mask(ptw_io_requestor_1_pmp_5_mask),
    .io_requestor_1_pmp_6_cfg_l(ptw_io_requestor_1_pmp_6_cfg_l),
    .io_requestor_1_pmp_6_cfg_a(ptw_io_requestor_1_pmp_6_cfg_a),
    .io_requestor_1_pmp_6_cfg_x(ptw_io_requestor_1_pmp_6_cfg_x),
    .io_requestor_1_pmp_6_cfg_w(ptw_io_requestor_1_pmp_6_cfg_w),
    .io_requestor_1_pmp_6_cfg_r(ptw_io_requestor_1_pmp_6_cfg_r),
    .io_requestor_1_pmp_6_addr(ptw_io_requestor_1_pmp_6_addr),
    .io_requestor_1_pmp_6_mask(ptw_io_requestor_1_pmp_6_mask),
    .io_requestor_1_pmp_7_cfg_l(ptw_io_requestor_1_pmp_7_cfg_l),
    .io_requestor_1_pmp_7_cfg_a(ptw_io_requestor_1_pmp_7_cfg_a),
    .io_requestor_1_pmp_7_cfg_x(ptw_io_requestor_1_pmp_7_cfg_x),
    .io_requestor_1_pmp_7_cfg_w(ptw_io_requestor_1_pmp_7_cfg_w),
    .io_requestor_1_pmp_7_cfg_r(ptw_io_requestor_1_pmp_7_cfg_r),
    .io_requestor_1_pmp_7_addr(ptw_io_requestor_1_pmp_7_addr),
    .io_requestor_1_pmp_7_mask(ptw_io_requestor_1_pmp_7_mask),
    .io_dpath_pmp_0_cfg_l(ptw_io_dpath_pmp_0_cfg_l),
    .io_dpath_pmp_0_cfg_a(ptw_io_dpath_pmp_0_cfg_a),
    .io_dpath_pmp_0_cfg_x(ptw_io_dpath_pmp_0_cfg_x),
    .io_dpath_pmp_0_cfg_w(ptw_io_dpath_pmp_0_cfg_w),
    .io_dpath_pmp_0_cfg_r(ptw_io_dpath_pmp_0_cfg_r),
    .io_dpath_pmp_0_addr(ptw_io_dpath_pmp_0_addr),
    .io_dpath_pmp_0_mask(ptw_io_dpath_pmp_0_mask),
    .io_dpath_pmp_1_cfg_l(ptw_io_dpath_pmp_1_cfg_l),
    .io_dpath_pmp_1_cfg_a(ptw_io_dpath_pmp_1_cfg_a),
    .io_dpath_pmp_1_cfg_x(ptw_io_dpath_pmp_1_cfg_x),
    .io_dpath_pmp_1_cfg_w(ptw_io_dpath_pmp_1_cfg_w),
    .io_dpath_pmp_1_cfg_r(ptw_io_dpath_pmp_1_cfg_r),
    .io_dpath_pmp_1_addr(ptw_io_dpath_pmp_1_addr),
    .io_dpath_pmp_1_mask(ptw_io_dpath_pmp_1_mask),
    .io_dpath_pmp_2_cfg_l(ptw_io_dpath_pmp_2_cfg_l),
    .io_dpath_pmp_2_cfg_a(ptw_io_dpath_pmp_2_cfg_a),
    .io_dpath_pmp_2_cfg_x(ptw_io_dpath_pmp_2_cfg_x),
    .io_dpath_pmp_2_cfg_w(ptw_io_dpath_pmp_2_cfg_w),
    .io_dpath_pmp_2_cfg_r(ptw_io_dpath_pmp_2_cfg_r),
    .io_dpath_pmp_2_addr(ptw_io_dpath_pmp_2_addr),
    .io_dpath_pmp_2_mask(ptw_io_dpath_pmp_2_mask),
    .io_dpath_pmp_3_cfg_l(ptw_io_dpath_pmp_3_cfg_l),
    .io_dpath_pmp_3_cfg_a(ptw_io_dpath_pmp_3_cfg_a),
    .io_dpath_pmp_3_cfg_x(ptw_io_dpath_pmp_3_cfg_x),
    .io_dpath_pmp_3_cfg_w(ptw_io_dpath_pmp_3_cfg_w),
    .io_dpath_pmp_3_cfg_r(ptw_io_dpath_pmp_3_cfg_r),
    .io_dpath_pmp_3_addr(ptw_io_dpath_pmp_3_addr),
    .io_dpath_pmp_3_mask(ptw_io_dpath_pmp_3_mask),
    .io_dpath_pmp_4_cfg_l(ptw_io_dpath_pmp_4_cfg_l),
    .io_dpath_pmp_4_cfg_a(ptw_io_dpath_pmp_4_cfg_a),
    .io_dpath_pmp_4_cfg_x(ptw_io_dpath_pmp_4_cfg_x),
    .io_dpath_pmp_4_cfg_w(ptw_io_dpath_pmp_4_cfg_w),
    .io_dpath_pmp_4_cfg_r(ptw_io_dpath_pmp_4_cfg_r),
    .io_dpath_pmp_4_addr(ptw_io_dpath_pmp_4_addr),
    .io_dpath_pmp_4_mask(ptw_io_dpath_pmp_4_mask),
    .io_dpath_pmp_5_cfg_l(ptw_io_dpath_pmp_5_cfg_l),
    .io_dpath_pmp_5_cfg_a(ptw_io_dpath_pmp_5_cfg_a),
    .io_dpath_pmp_5_cfg_x(ptw_io_dpath_pmp_5_cfg_x),
    .io_dpath_pmp_5_cfg_w(ptw_io_dpath_pmp_5_cfg_w),
    .io_dpath_pmp_5_cfg_r(ptw_io_dpath_pmp_5_cfg_r),
    .io_dpath_pmp_5_addr(ptw_io_dpath_pmp_5_addr),
    .io_dpath_pmp_5_mask(ptw_io_dpath_pmp_5_mask),
    .io_dpath_pmp_6_cfg_l(ptw_io_dpath_pmp_6_cfg_l),
    .io_dpath_pmp_6_cfg_a(ptw_io_dpath_pmp_6_cfg_a),
    .io_dpath_pmp_6_cfg_x(ptw_io_dpath_pmp_6_cfg_x),
    .io_dpath_pmp_6_cfg_w(ptw_io_dpath_pmp_6_cfg_w),
    .io_dpath_pmp_6_cfg_r(ptw_io_dpath_pmp_6_cfg_r),
    .io_dpath_pmp_6_addr(ptw_io_dpath_pmp_6_addr),
    .io_dpath_pmp_6_mask(ptw_io_dpath_pmp_6_mask),
    .io_dpath_pmp_7_cfg_l(ptw_io_dpath_pmp_7_cfg_l),
    .io_dpath_pmp_7_cfg_a(ptw_io_dpath_pmp_7_cfg_a),
    .io_dpath_pmp_7_cfg_x(ptw_io_dpath_pmp_7_cfg_x),
    .io_dpath_pmp_7_cfg_w(ptw_io_dpath_pmp_7_cfg_w),
    .io_dpath_pmp_7_cfg_r(ptw_io_dpath_pmp_7_cfg_r),
    .io_dpath_pmp_7_addr(ptw_io_dpath_pmp_7_addr),
    .io_dpath_pmp_7_mask(ptw_io_dpath_pmp_7_mask)
  );
  Rocket core ( // @[RocketTile.scala 115:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222206.4]
    .clock(core_clock),
    .reset(core_reset),
    .io_hartid(core_io_hartid),
    .io_interrupts_debug(core_io_interrupts_debug),
    .io_interrupts_mtip(core_io_interrupts_mtip),
    .io_interrupts_msip(core_io_interrupts_msip),
    .io_interrupts_meip(core_io_interrupts_meip),
    .io_imem_might_request(core_io_imem_might_request),
    .io_imem_req_valid(core_io_imem_req_valid),
    .io_imem_req_bits_pc(core_io_imem_req_bits_pc),
    .io_imem_req_bits_speculative(core_io_imem_req_bits_speculative),
    .io_imem_sfence_valid(core_io_imem_sfence_valid),
    .io_imem_resp_ready(core_io_imem_resp_ready),
    .io_imem_resp_valid(core_io_imem_resp_valid),
    .io_imem_resp_bits_btb_taken(core_io_imem_resp_bits_btb_taken),
    .io_imem_resp_bits_btb_bridx(core_io_imem_resp_bits_btb_bridx),
    .io_imem_resp_bits_btb_entry(core_io_imem_resp_bits_btb_entry),
    .io_imem_resp_bits_btb_bht_history(core_io_imem_resp_bits_btb_bht_history),
    .io_imem_resp_bits_pc(core_io_imem_resp_bits_pc),
    .io_imem_resp_bits_data(core_io_imem_resp_bits_data),
    .io_imem_resp_bits_xcpt_ae_inst(core_io_imem_resp_bits_xcpt_ae_inst),
    .io_imem_resp_bits_replay(core_io_imem_resp_bits_replay),
    .io_imem_btb_update_valid(core_io_imem_btb_update_valid),
    .io_imem_btb_update_bits_prediction_entry(core_io_imem_btb_update_bits_prediction_entry),
    .io_imem_btb_update_bits_pc(core_io_imem_btb_update_bits_pc),
    .io_imem_btb_update_bits_isValid(core_io_imem_btb_update_bits_isValid),
    .io_imem_btb_update_bits_br_pc(core_io_imem_btb_update_bits_br_pc),
    .io_imem_btb_update_bits_cfiType(core_io_imem_btb_update_bits_cfiType),
    .io_imem_bht_update_valid(core_io_imem_bht_update_valid),
    .io_imem_bht_update_bits_prediction_history(core_io_imem_bht_update_bits_prediction_history),
    .io_imem_bht_update_bits_pc(core_io_imem_bht_update_bits_pc),
    .io_imem_bht_update_bits_branch(core_io_imem_bht_update_bits_branch),
    .io_imem_bht_update_bits_taken(core_io_imem_bht_update_bits_taken),
    .io_imem_bht_update_bits_mispredict(core_io_imem_bht_update_bits_mispredict),
    .io_imem_flush_icache(core_io_imem_flush_icache),
    .io_dmem_req_ready(core_io_dmem_req_ready),
    .io_dmem_req_valid(core_io_dmem_req_valid),
    .io_dmem_req_bits_addr(core_io_dmem_req_bits_addr),
    .io_dmem_req_bits_tag(core_io_dmem_req_bits_tag),
    .io_dmem_req_bits_cmd(core_io_dmem_req_bits_cmd),
    .io_dmem_req_bits_typ(core_io_dmem_req_bits_typ),
    .io_dmem_s1_kill(core_io_dmem_s1_kill),
    .io_dmem_s1_data_data(core_io_dmem_s1_data_data),
    .io_dmem_s2_nack(core_io_dmem_s2_nack),
    .io_dmem_resp_valid(core_io_dmem_resp_valid),
    .io_dmem_resp_bits_tag(core_io_dmem_resp_bits_tag),
    .io_dmem_resp_bits_data(core_io_dmem_resp_bits_data),
    .io_dmem_resp_bits_replay(core_io_dmem_resp_bits_replay),
    .io_dmem_resp_bits_has_data(core_io_dmem_resp_bits_has_data),
    .io_dmem_resp_bits_data_word_bypass(core_io_dmem_resp_bits_data_word_bypass),
    .io_dmem_replay_next(core_io_dmem_replay_next),
    .io_dmem_s2_xcpt_ma_ld(core_io_dmem_s2_xcpt_ma_ld),
    .io_dmem_s2_xcpt_ma_st(core_io_dmem_s2_xcpt_ma_st),
    .io_dmem_s2_xcpt_pf_ld(core_io_dmem_s2_xcpt_pf_ld),
    .io_dmem_s2_xcpt_pf_st(core_io_dmem_s2_xcpt_pf_st),
    .io_dmem_s2_xcpt_ae_ld(core_io_dmem_s2_xcpt_ae_ld),
    .io_dmem_s2_xcpt_ae_st(core_io_dmem_s2_xcpt_ae_st),
    .io_dmem_ordered(core_io_dmem_ordered),
    .io_dmem_perf_grant(core_io_dmem_perf_grant),
    .io_dmem_keep_clock_enabled(core_io_dmem_keep_clock_enabled),
    .io_dmem_clock_enabled(core_io_dmem_clock_enabled),
    .io_ptw_pmp_0_cfg_l(core_io_ptw_pmp_0_cfg_l),
    .io_ptw_pmp_0_cfg_a(core_io_ptw_pmp_0_cfg_a),
    .io_ptw_pmp_0_cfg_x(core_io_ptw_pmp_0_cfg_x),
    .io_ptw_pmp_0_cfg_w(core_io_ptw_pmp_0_cfg_w),
    .io_ptw_pmp_0_cfg_r(core_io_ptw_pmp_0_cfg_r),
    .io_ptw_pmp_0_addr(core_io_ptw_pmp_0_addr),
    .io_ptw_pmp_0_mask(core_io_ptw_pmp_0_mask),
    .io_ptw_pmp_1_cfg_l(core_io_ptw_pmp_1_cfg_l),
    .io_ptw_pmp_1_cfg_a(core_io_ptw_pmp_1_cfg_a),
    .io_ptw_pmp_1_cfg_x(core_io_ptw_pmp_1_cfg_x),
    .io_ptw_pmp_1_cfg_w(core_io_ptw_pmp_1_cfg_w),
    .io_ptw_pmp_1_cfg_r(core_io_ptw_pmp_1_cfg_r),
    .io_ptw_pmp_1_addr(core_io_ptw_pmp_1_addr),
    .io_ptw_pmp_1_mask(core_io_ptw_pmp_1_mask),
    .io_ptw_pmp_2_cfg_l(core_io_ptw_pmp_2_cfg_l),
    .io_ptw_pmp_2_cfg_a(core_io_ptw_pmp_2_cfg_a),
    .io_ptw_pmp_2_cfg_x(core_io_ptw_pmp_2_cfg_x),
    .io_ptw_pmp_2_cfg_w(core_io_ptw_pmp_2_cfg_w),
    .io_ptw_pmp_2_cfg_r(core_io_ptw_pmp_2_cfg_r),
    .io_ptw_pmp_2_addr(core_io_ptw_pmp_2_addr),
    .io_ptw_pmp_2_mask(core_io_ptw_pmp_2_mask),
    .io_ptw_pmp_3_cfg_l(core_io_ptw_pmp_3_cfg_l),
    .io_ptw_pmp_3_cfg_a(core_io_ptw_pmp_3_cfg_a),
    .io_ptw_pmp_3_cfg_x(core_io_ptw_pmp_3_cfg_x),
    .io_ptw_pmp_3_cfg_w(core_io_ptw_pmp_3_cfg_w),
    .io_ptw_pmp_3_cfg_r(core_io_ptw_pmp_3_cfg_r),
    .io_ptw_pmp_3_addr(core_io_ptw_pmp_3_addr),
    .io_ptw_pmp_3_mask(core_io_ptw_pmp_3_mask),
    .io_ptw_pmp_4_cfg_l(core_io_ptw_pmp_4_cfg_l),
    .io_ptw_pmp_4_cfg_a(core_io_ptw_pmp_4_cfg_a),
    .io_ptw_pmp_4_cfg_x(core_io_ptw_pmp_4_cfg_x),
    .io_ptw_pmp_4_cfg_w(core_io_ptw_pmp_4_cfg_w),
    .io_ptw_pmp_4_cfg_r(core_io_ptw_pmp_4_cfg_r),
    .io_ptw_pmp_4_addr(core_io_ptw_pmp_4_addr),
    .io_ptw_pmp_4_mask(core_io_ptw_pmp_4_mask),
    .io_ptw_pmp_5_cfg_l(core_io_ptw_pmp_5_cfg_l),
    .io_ptw_pmp_5_cfg_a(core_io_ptw_pmp_5_cfg_a),
    .io_ptw_pmp_5_cfg_x(core_io_ptw_pmp_5_cfg_x),
    .io_ptw_pmp_5_cfg_w(core_io_ptw_pmp_5_cfg_w),
    .io_ptw_pmp_5_cfg_r(core_io_ptw_pmp_5_cfg_r),
    .io_ptw_pmp_5_addr(core_io_ptw_pmp_5_addr),
    .io_ptw_pmp_5_mask(core_io_ptw_pmp_5_mask),
    .io_ptw_pmp_6_cfg_l(core_io_ptw_pmp_6_cfg_l),
    .io_ptw_pmp_6_cfg_a(core_io_ptw_pmp_6_cfg_a),
    .io_ptw_pmp_6_cfg_x(core_io_ptw_pmp_6_cfg_x),
    .io_ptw_pmp_6_cfg_w(core_io_ptw_pmp_6_cfg_w),
    .io_ptw_pmp_6_cfg_r(core_io_ptw_pmp_6_cfg_r),
    .io_ptw_pmp_6_addr(core_io_ptw_pmp_6_addr),
    .io_ptw_pmp_6_mask(core_io_ptw_pmp_6_mask),
    .io_ptw_pmp_7_cfg_l(core_io_ptw_pmp_7_cfg_l),
    .io_ptw_pmp_7_cfg_a(core_io_ptw_pmp_7_cfg_a),
    .io_ptw_pmp_7_cfg_x(core_io_ptw_pmp_7_cfg_x),
    .io_ptw_pmp_7_cfg_w(core_io_ptw_pmp_7_cfg_w),
    .io_ptw_pmp_7_cfg_r(core_io_ptw_pmp_7_cfg_r),
    .io_ptw_pmp_7_addr(core_io_ptw_pmp_7_addr),
    .io_ptw_pmp_7_mask(core_io_ptw_pmp_7_mask),
    .io_ptw_customCSRs_csrs_0_value(core_io_ptw_customCSRs_csrs_0_value)
  );
  assign auto_tl_slave_xing_in_a_ready = buffer_1_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222193.4]
  assign auto_tl_slave_xing_in_d_valid = buffer_1_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222193.4]
  assign auto_tl_slave_xing_in_d_bits_opcode = buffer_1_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222193.4]
  assign auto_tl_slave_xing_in_d_bits_param = buffer_1_auto_in_d_bits_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222193.4]
  assign auto_tl_slave_xing_in_d_bits_size = buffer_1_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222193.4]
  assign auto_tl_slave_xing_in_d_bits_source = buffer_1_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222193.4]
  assign auto_tl_slave_xing_in_d_bits_sink = buffer_1_auto_in_d_bits_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222193.4]
  assign auto_tl_slave_xing_in_d_bits_denied = buffer_1_auto_in_d_bits_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222193.4]
  assign auto_tl_slave_xing_in_d_bits_data = buffer_1_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222193.4]
  assign auto_tl_slave_xing_in_d_bits_corrupt = buffer_1_auto_in_d_bits_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222193.4]
  assign auto_tl_master_xing_out_a_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222192.4]
  assign auto_tl_master_xing_out_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222192.4]
  assign auto_tl_master_xing_out_a_bits_param = buffer_auto_out_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222192.4]
  assign auto_tl_master_xing_out_a_bits_size = buffer_auto_out_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222192.4]
  assign auto_tl_master_xing_out_a_bits_source = buffer_auto_out_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222192.4]
  assign auto_tl_master_xing_out_a_bits_address = buffer_auto_out_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222192.4]
  assign auto_tl_master_xing_out_a_bits_mask = buffer_auto_out_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222192.4]
  assign auto_tl_master_xing_out_a_bits_data = buffer_auto_out_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222192.4]
  assign auto_tl_master_xing_out_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222192.4]
  assign auto_tl_master_xing_out_d_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222192.4]
  assign tlMasterXbar_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222035.4]
  assign tlMasterXbar_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222036.4]
  assign tlMasterXbar_auto_in_1_a_valid = frontend_auto_icache_master_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222179.4]
  assign tlMasterXbar_auto_in_1_a_bits_address = frontend_auto_icache_master_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222179.4]
  assign tlMasterXbar_auto_in_1_d_ready = frontend_auto_icache_master_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222179.4]
  assign tlMasterXbar_auto_in_0_a_valid = dcache_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
  assign tlMasterXbar_auto_in_0_a_bits_opcode = dcache_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
  assign tlMasterXbar_auto_in_0_a_bits_param = dcache_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
  assign tlMasterXbar_auto_in_0_a_bits_size = dcache_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
  assign tlMasterXbar_auto_in_0_a_bits_address = dcache_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
  assign tlMasterXbar_auto_in_0_a_bits_mask = dcache_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
  assign tlMasterXbar_auto_in_0_a_bits_data = dcache_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
  assign tlMasterXbar_auto_in_0_c_valid = dcache_auto_out_c_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
  assign tlMasterXbar_auto_in_0_d_ready = dcache_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
  assign tlMasterXbar_auto_in_0_e_valid = dcache_auto_out_e_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
  assign tlMasterXbar_auto_out_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222171.4]
  assign tlMasterXbar_auto_out_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222171.4]
  assign tlMasterXbar_auto_out_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222171.4]
  assign tlMasterXbar_auto_out_d_bits_param = buffer_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222171.4]
  assign tlMasterXbar_auto_out_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222171.4]
  assign tlMasterXbar_auto_out_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222171.4]
  assign tlMasterXbar_auto_out_d_bits_sink = buffer_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222171.4]
  assign tlMasterXbar_auto_out_d_bits_denied = buffer_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222171.4]
  assign tlMasterXbar_auto_out_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222171.4]
  assign tlMasterXbar_auto_out_d_bits_corrupt = buffer_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222171.4]
  assign tlSlaveXbar_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222041.4]
  assign tlSlaveXbar_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222042.4]
  assign tlSlaveXbar_auto_in_a_valid = buffer_1_auto_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222181.4]
  assign tlSlaveXbar_auto_in_a_bits_opcode = buffer_1_auto_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222181.4]
  assign tlSlaveXbar_auto_in_a_bits_param = buffer_1_auto_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222181.4]
  assign tlSlaveXbar_auto_in_a_bits_size = buffer_1_auto_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222181.4]
  assign tlSlaveXbar_auto_in_a_bits_source = buffer_1_auto_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222181.4]
  assign tlSlaveXbar_auto_in_a_bits_address = buffer_1_auto_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222181.4]
  assign tlSlaveXbar_auto_in_a_bits_mask = buffer_1_auto_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222181.4]
  assign tlSlaveXbar_auto_in_a_bits_data = buffer_1_auto_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222181.4]
  assign tlSlaveXbar_auto_in_a_bits_corrupt = buffer_1_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222181.4]
  assign tlSlaveXbar_auto_in_d_ready = buffer_1_auto_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222181.4]
  assign tlSlaveXbar_auto_out_1_a_ready = fragmenter_1_auto_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
  assign tlSlaveXbar_auto_out_1_d_valid = fragmenter_1_auto_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
  assign tlSlaveXbar_auto_out_1_d_bits_opcode = fragmenter_1_auto_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
  assign tlSlaveXbar_auto_out_1_d_bits_size = fragmenter_1_auto_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
  assign tlSlaveXbar_auto_out_1_d_bits_source = fragmenter_1_auto_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
  assign tlSlaveXbar_auto_out_1_d_bits_data = fragmenter_1_auto_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
  assign tlSlaveXbar_auto_out_0_a_ready = fragmenter_auto_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
  assign tlSlaveXbar_auto_out_0_d_valid = fragmenter_auto_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
  assign tlSlaveXbar_auto_out_0_d_bits_opcode = fragmenter_auto_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
  assign tlSlaveXbar_auto_out_0_d_bits_size = fragmenter_auto_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
  assign tlSlaveXbar_auto_out_0_d_bits_source = fragmenter_auto_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
  assign tlSlaveXbar_auto_out_0_d_bits_data = fragmenter_auto_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
  assign intXbar_auto_int_in_2_0 = intsink_2_auto_out_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222177.4]
  assign intXbar_auto_int_in_1_0 = intsink_1_auto_out_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222176.4]
  assign intXbar_auto_int_in_1_1 = intsink_1_auto_out_1; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222176.4]
  assign intXbar_auto_int_in_0_0 = intsink_auto_out_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222175.4]
  assign dcache_gated_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222054.4]
  assign dcache_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222055.4]
  assign dcache_auto_out_a_ready = tlMasterXbar_auto_in_0_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
  assign dcache_auto_out_d_valid = tlMasterXbar_auto_in_0_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
  assign dcache_auto_out_d_bits_opcode = tlMasterXbar_auto_in_0_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
  assign dcache_auto_out_d_bits_size = tlMasterXbar_auto_in_0_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
  assign dcache_auto_out_d_bits_denied = tlMasterXbar_auto_in_0_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
  assign dcache_auto_out_d_bits_data = tlMasterXbar_auto_in_0_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222178.4]
  assign dcache_io_cpu_req_valid = dcacheArb_io_mem_req_valid; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcache_io_cpu_req_bits_addr = dcacheArb_io_mem_req_bits_addr; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcache_io_cpu_req_bits_tag = dcacheArb_io_mem_req_bits_tag; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcache_io_cpu_req_bits_cmd = dcacheArb_io_mem_req_bits_cmd; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcache_io_cpu_req_bits_typ = dcacheArb_io_mem_req_bits_typ; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcache_io_cpu_req_bits_phys = dcacheArb_io_mem_req_bits_phys; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcache_io_cpu_s1_kill = dcacheArb_io_mem_s1_kill; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcache_io_cpu_s1_data_data = dcacheArb_io_mem_s1_data_data; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcache_io_cpu_s1_data_mask = dcacheArb_io_mem_s1_data_mask; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcache_io_cpu_keep_clock_enabled = dcacheArb_io_mem_keep_clock_enabled; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcache_io_ptw_pmp_0_cfg_l = ptw_io_requestor_0_pmp_0_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_0_cfg_a = ptw_io_requestor_0_pmp_0_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_0_cfg_x = ptw_io_requestor_0_pmp_0_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_0_cfg_w = ptw_io_requestor_0_pmp_0_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_0_cfg_r = ptw_io_requestor_0_pmp_0_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_0_addr = ptw_io_requestor_0_pmp_0_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_0_mask = ptw_io_requestor_0_pmp_0_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_1_cfg_l = ptw_io_requestor_0_pmp_1_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_1_cfg_a = ptw_io_requestor_0_pmp_1_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_1_cfg_x = ptw_io_requestor_0_pmp_1_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_1_cfg_w = ptw_io_requestor_0_pmp_1_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_1_cfg_r = ptw_io_requestor_0_pmp_1_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_1_addr = ptw_io_requestor_0_pmp_1_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_1_mask = ptw_io_requestor_0_pmp_1_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_2_cfg_l = ptw_io_requestor_0_pmp_2_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_2_cfg_a = ptw_io_requestor_0_pmp_2_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_2_cfg_x = ptw_io_requestor_0_pmp_2_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_2_cfg_w = ptw_io_requestor_0_pmp_2_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_2_cfg_r = ptw_io_requestor_0_pmp_2_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_2_addr = ptw_io_requestor_0_pmp_2_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_2_mask = ptw_io_requestor_0_pmp_2_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_3_cfg_l = ptw_io_requestor_0_pmp_3_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_3_cfg_a = ptw_io_requestor_0_pmp_3_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_3_cfg_x = ptw_io_requestor_0_pmp_3_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_3_cfg_w = ptw_io_requestor_0_pmp_3_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_3_cfg_r = ptw_io_requestor_0_pmp_3_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_3_addr = ptw_io_requestor_0_pmp_3_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_3_mask = ptw_io_requestor_0_pmp_3_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_4_cfg_l = ptw_io_requestor_0_pmp_4_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_4_cfg_a = ptw_io_requestor_0_pmp_4_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_4_cfg_x = ptw_io_requestor_0_pmp_4_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_4_cfg_w = ptw_io_requestor_0_pmp_4_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_4_cfg_r = ptw_io_requestor_0_pmp_4_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_4_addr = ptw_io_requestor_0_pmp_4_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_4_mask = ptw_io_requestor_0_pmp_4_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_5_cfg_l = ptw_io_requestor_0_pmp_5_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_5_cfg_a = ptw_io_requestor_0_pmp_5_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_5_cfg_x = ptw_io_requestor_0_pmp_5_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_5_cfg_w = ptw_io_requestor_0_pmp_5_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_5_cfg_r = ptw_io_requestor_0_pmp_5_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_5_addr = ptw_io_requestor_0_pmp_5_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_5_mask = ptw_io_requestor_0_pmp_5_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_6_cfg_l = ptw_io_requestor_0_pmp_6_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_6_cfg_a = ptw_io_requestor_0_pmp_6_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_6_cfg_x = ptw_io_requestor_0_pmp_6_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_6_cfg_w = ptw_io_requestor_0_pmp_6_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_6_cfg_r = ptw_io_requestor_0_pmp_6_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_6_addr = ptw_io_requestor_0_pmp_6_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_6_mask = ptw_io_requestor_0_pmp_6_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_7_cfg_l = ptw_io_requestor_0_pmp_7_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_7_cfg_a = ptw_io_requestor_0_pmp_7_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_7_cfg_x = ptw_io_requestor_0_pmp_7_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_7_cfg_w = ptw_io_requestor_0_pmp_7_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_7_cfg_r = ptw_io_requestor_0_pmp_7_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_7_addr = ptw_io_requestor_0_pmp_7_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign dcache_io_ptw_pmp_7_mask = ptw_io_requestor_0_pmp_7_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222227.4]
  assign frontend_gated_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222061.4]
  assign frontend_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222062.4]
  assign frontend_auto_icache_slave_in_a_valid = fragmenter_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
  assign frontend_auto_icache_slave_in_a_bits_opcode = fragmenter_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
  assign frontend_auto_icache_slave_in_a_bits_size = fragmenter_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
  assign frontend_auto_icache_slave_in_a_bits_source = fragmenter_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
  assign frontend_auto_icache_slave_in_a_bits_address = fragmenter_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
  assign frontend_auto_icache_slave_in_a_bits_mask = fragmenter_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
  assign frontend_auto_icache_slave_in_a_bits_data = fragmenter_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
  assign frontend_auto_icache_slave_in_d_ready = fragmenter_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
  assign frontend_auto_icache_master_out_a_ready = tlMasterXbar_auto_in_1_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222179.4]
  assign frontend_auto_icache_master_out_d_valid = tlMasterXbar_auto_in_1_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222179.4]
  assign frontend_auto_icache_master_out_d_bits_opcode = tlMasterXbar_auto_in_1_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222179.4]
  assign frontend_auto_icache_master_out_d_bits_size = tlMasterXbar_auto_in_1_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222179.4]
  assign frontend_auto_icache_master_out_d_bits_data = tlMasterXbar_auto_in_1_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222179.4]
  assign frontend_auto_icache_master_out_d_bits_corrupt = tlMasterXbar_auto_in_1_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222179.4]
  assign frontend_io_reset_vector = constants_reset_vector; // @[RocketTile.scala 131:41:shc.marmotcaravel.MarmotCaravelConfig.fir@222217.4]
  assign frontend_io_cpu_might_request = core_io_imem_might_request; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign frontend_io_cpu_req_valid = core_io_imem_req_valid; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign frontend_io_cpu_req_bits_pc = core_io_imem_req_bits_pc; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign frontend_io_cpu_req_bits_speculative = core_io_imem_req_bits_speculative; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign frontend_io_cpu_sfence_valid = core_io_imem_sfence_valid; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign frontend_io_cpu_resp_ready = core_io_imem_resp_ready; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign frontend_io_cpu_btb_update_valid = core_io_imem_btb_update_valid; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign frontend_io_cpu_btb_update_bits_prediction_entry = core_io_imem_btb_update_bits_prediction_entry; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign frontend_io_cpu_btb_update_bits_pc = core_io_imem_btb_update_bits_pc; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign frontend_io_cpu_btb_update_bits_isValid = core_io_imem_btb_update_bits_isValid; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign frontend_io_cpu_btb_update_bits_br_pc = core_io_imem_btb_update_bits_br_pc; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign frontend_io_cpu_btb_update_bits_cfiType = core_io_imem_btb_update_bits_cfiType; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign frontend_io_cpu_bht_update_valid = core_io_imem_bht_update_valid; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign frontend_io_cpu_bht_update_bits_prediction_history = core_io_imem_bht_update_bits_prediction_history; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign frontend_io_cpu_bht_update_bits_pc = core_io_imem_bht_update_bits_pc; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign frontend_io_cpu_bht_update_bits_branch = core_io_imem_bht_update_bits_branch; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign frontend_io_cpu_bht_update_bits_taken = core_io_imem_bht_update_bits_taken; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign frontend_io_cpu_bht_update_bits_mispredict = core_io_imem_bht_update_bits_mispredict; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign frontend_io_cpu_flush_icache = core_io_imem_flush_icache; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign frontend_io_ptw_pmp_0_cfg_l = ptw_io_requestor_1_pmp_0_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_0_cfg_a = ptw_io_requestor_1_pmp_0_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_0_cfg_x = ptw_io_requestor_1_pmp_0_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_0_cfg_w = ptw_io_requestor_1_pmp_0_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_0_cfg_r = ptw_io_requestor_1_pmp_0_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_0_addr = ptw_io_requestor_1_pmp_0_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_0_mask = ptw_io_requestor_1_pmp_0_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_1_cfg_l = ptw_io_requestor_1_pmp_1_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_1_cfg_a = ptw_io_requestor_1_pmp_1_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_1_cfg_x = ptw_io_requestor_1_pmp_1_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_1_cfg_w = ptw_io_requestor_1_pmp_1_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_1_cfg_r = ptw_io_requestor_1_pmp_1_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_1_addr = ptw_io_requestor_1_pmp_1_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_1_mask = ptw_io_requestor_1_pmp_1_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_2_cfg_l = ptw_io_requestor_1_pmp_2_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_2_cfg_a = ptw_io_requestor_1_pmp_2_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_2_cfg_x = ptw_io_requestor_1_pmp_2_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_2_cfg_w = ptw_io_requestor_1_pmp_2_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_2_cfg_r = ptw_io_requestor_1_pmp_2_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_2_addr = ptw_io_requestor_1_pmp_2_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_2_mask = ptw_io_requestor_1_pmp_2_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_3_cfg_l = ptw_io_requestor_1_pmp_3_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_3_cfg_a = ptw_io_requestor_1_pmp_3_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_3_cfg_x = ptw_io_requestor_1_pmp_3_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_3_cfg_w = ptw_io_requestor_1_pmp_3_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_3_cfg_r = ptw_io_requestor_1_pmp_3_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_3_addr = ptw_io_requestor_1_pmp_3_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_3_mask = ptw_io_requestor_1_pmp_3_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_4_cfg_l = ptw_io_requestor_1_pmp_4_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_4_cfg_a = ptw_io_requestor_1_pmp_4_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_4_cfg_x = ptw_io_requestor_1_pmp_4_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_4_cfg_w = ptw_io_requestor_1_pmp_4_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_4_cfg_r = ptw_io_requestor_1_pmp_4_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_4_addr = ptw_io_requestor_1_pmp_4_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_4_mask = ptw_io_requestor_1_pmp_4_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_5_cfg_l = ptw_io_requestor_1_pmp_5_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_5_cfg_a = ptw_io_requestor_1_pmp_5_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_5_cfg_x = ptw_io_requestor_1_pmp_5_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_5_cfg_w = ptw_io_requestor_1_pmp_5_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_5_cfg_r = ptw_io_requestor_1_pmp_5_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_5_addr = ptw_io_requestor_1_pmp_5_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_5_mask = ptw_io_requestor_1_pmp_5_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_6_cfg_l = ptw_io_requestor_1_pmp_6_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_6_cfg_a = ptw_io_requestor_1_pmp_6_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_6_cfg_x = ptw_io_requestor_1_pmp_6_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_6_cfg_w = ptw_io_requestor_1_pmp_6_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_6_cfg_r = ptw_io_requestor_1_pmp_6_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_6_addr = ptw_io_requestor_1_pmp_6_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_6_mask = ptw_io_requestor_1_pmp_6_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_7_cfg_l = ptw_io_requestor_1_pmp_7_cfg_l; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_7_cfg_a = ptw_io_requestor_1_pmp_7_cfg_a; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_7_cfg_x = ptw_io_requestor_1_pmp_7_cfg_x; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_7_cfg_w = ptw_io_requestor_1_pmp_7_cfg_w; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_7_cfg_r = ptw_io_requestor_1_pmp_7_cfg_r; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_7_addr = ptw_io_requestor_1_pmp_7_addr; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign frontend_io_ptw_pmp_7_mask = ptw_io_requestor_1_pmp_7_mask; // @[RocketTile.scala 164:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222228.4]
  assign fragmenter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222067.4]
  assign fragmenter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222068.4]
  assign fragmenter_auto_in_a_valid = tlSlaveXbar_auto_out_0_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
  assign fragmenter_auto_in_a_bits_opcode = tlSlaveXbar_auto_out_0_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
  assign fragmenter_auto_in_a_bits_param = tlSlaveXbar_auto_out_0_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
  assign fragmenter_auto_in_a_bits_size = tlSlaveXbar_auto_out_0_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
  assign fragmenter_auto_in_a_bits_source = tlSlaveXbar_auto_out_0_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
  assign fragmenter_auto_in_a_bits_address = tlSlaveXbar_auto_out_0_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
  assign fragmenter_auto_in_a_bits_mask = tlSlaveXbar_auto_out_0_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
  assign fragmenter_auto_in_a_bits_data = tlSlaveXbar_auto_out_0_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
  assign fragmenter_auto_in_a_bits_corrupt = tlSlaveXbar_auto_out_0_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
  assign fragmenter_auto_in_d_ready = tlSlaveXbar_auto_out_0_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222172.4]
  assign fragmenter_auto_out_a_ready = frontend_auto_icache_slave_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
  assign fragmenter_auto_out_d_valid = frontend_auto_icache_slave_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
  assign fragmenter_auto_out_d_bits_opcode = frontend_auto_icache_slave_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
  assign fragmenter_auto_out_d_bits_size = frontend_auto_icache_slave_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
  assign fragmenter_auto_out_d_bits_source = frontend_auto_icache_slave_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
  assign fragmenter_auto_out_d_bits_data = frontend_auto_icache_slave_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222180.4]
  assign dtim_adapter_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222074.4]
  assign dtim_adapter_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222075.4]
  assign dtim_adapter_auto_in_a_valid = fragmenter_1_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
  assign dtim_adapter_auto_in_a_bits_opcode = fragmenter_1_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
  assign dtim_adapter_auto_in_a_bits_param = fragmenter_1_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
  assign dtim_adapter_auto_in_a_bits_size = fragmenter_1_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
  assign dtim_adapter_auto_in_a_bits_source = fragmenter_1_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
  assign dtim_adapter_auto_in_a_bits_address = fragmenter_1_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
  assign dtim_adapter_auto_in_a_bits_mask = fragmenter_1_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
  assign dtim_adapter_auto_in_a_bits_data = fragmenter_1_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
  assign dtim_adapter_auto_in_d_ready = fragmenter_1_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
  assign dtim_adapter_io_dmem_req_ready = dcacheArb_io_requestor_1_req_ready; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222226.4]
  assign dtim_adapter_io_dmem_s2_nack = dcacheArb_io_requestor_1_s2_nack; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222226.4]
  assign dtim_adapter_io_dmem_resp_valid = dcacheArb_io_requestor_1_resp_valid; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222226.4]
  assign dtim_adapter_io_dmem_resp_bits_data_raw = dcacheArb_io_requestor_1_resp_bits_data_raw; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222226.4]
  assign fragmenter_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222080.4]
  assign fragmenter_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222081.4]
  assign fragmenter_1_auto_in_a_valid = tlSlaveXbar_auto_out_1_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
  assign fragmenter_1_auto_in_a_bits_opcode = tlSlaveXbar_auto_out_1_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
  assign fragmenter_1_auto_in_a_bits_param = tlSlaveXbar_auto_out_1_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
  assign fragmenter_1_auto_in_a_bits_size = tlSlaveXbar_auto_out_1_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
  assign fragmenter_1_auto_in_a_bits_source = tlSlaveXbar_auto_out_1_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
  assign fragmenter_1_auto_in_a_bits_address = tlSlaveXbar_auto_out_1_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
  assign fragmenter_1_auto_in_a_bits_mask = tlSlaveXbar_auto_out_1_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
  assign fragmenter_1_auto_in_a_bits_data = tlSlaveXbar_auto_out_1_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
  assign fragmenter_1_auto_in_d_ready = tlSlaveXbar_auto_out_1_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222173.4]
  assign fragmenter_1_auto_out_a_ready = dtim_adapter_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
  assign fragmenter_1_auto_out_d_valid = dtim_adapter_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
  assign fragmenter_1_auto_out_d_bits_opcode = dtim_adapter_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
  assign fragmenter_1_auto_out_d_bits_size = dtim_adapter_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
  assign fragmenter_1_auto_out_d_bits_source = dtim_adapter_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
  assign fragmenter_1_auto_out_d_bits_data = dtim_adapter_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222183.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222086.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222087.4]
  assign buffer_auto_in_a_valid = tlMasterXbar_auto_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222182.4]
  assign buffer_auto_in_a_bits_opcode = tlMasterXbar_auto_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222182.4]
  assign buffer_auto_in_a_bits_param = tlMasterXbar_auto_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222182.4]
  assign buffer_auto_in_a_bits_size = tlMasterXbar_auto_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222182.4]
  assign buffer_auto_in_a_bits_source = tlMasterXbar_auto_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222182.4]
  assign buffer_auto_in_a_bits_address = tlMasterXbar_auto_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222182.4]
  assign buffer_auto_in_a_bits_mask = tlMasterXbar_auto_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222182.4]
  assign buffer_auto_in_a_bits_data = tlMasterXbar_auto_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222182.4]
  assign buffer_auto_in_a_bits_corrupt = tlMasterXbar_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222182.4]
  assign buffer_auto_in_d_ready = tlMasterXbar_auto_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222182.4]
  assign buffer_auto_out_a_ready = auto_tl_master_xing_out_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222184.4]
  assign buffer_auto_out_d_valid = auto_tl_master_xing_out_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222184.4]
  assign buffer_auto_out_d_bits_opcode = auto_tl_master_xing_out_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222184.4]
  assign buffer_auto_out_d_bits_param = auto_tl_master_xing_out_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222184.4]
  assign buffer_auto_out_d_bits_size = auto_tl_master_xing_out_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222184.4]
  assign buffer_auto_out_d_bits_source = auto_tl_master_xing_out_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222184.4]
  assign buffer_auto_out_d_bits_sink = auto_tl_master_xing_out_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222184.4]
  assign buffer_auto_out_d_bits_denied = auto_tl_master_xing_out_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222184.4]
  assign buffer_auto_out_d_bits_data = auto_tl_master_xing_out_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222184.4]
  assign buffer_auto_out_d_bits_corrupt = auto_tl_master_xing_out_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222184.4]
  assign buffer_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222092.4]
  assign buffer_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222093.4]
  assign buffer_1_auto_in_a_valid = auto_tl_slave_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222186.4]
  assign buffer_1_auto_in_a_bits_opcode = auto_tl_slave_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222186.4]
  assign buffer_1_auto_in_a_bits_param = auto_tl_slave_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222186.4]
  assign buffer_1_auto_in_a_bits_size = auto_tl_slave_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222186.4]
  assign buffer_1_auto_in_a_bits_source = auto_tl_slave_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222186.4]
  assign buffer_1_auto_in_a_bits_address = auto_tl_slave_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222186.4]
  assign buffer_1_auto_in_a_bits_mask = auto_tl_slave_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222186.4]
  assign buffer_1_auto_in_a_bits_data = auto_tl_slave_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222186.4]
  assign buffer_1_auto_in_a_bits_corrupt = auto_tl_slave_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222186.4]
  assign buffer_1_auto_in_d_ready = auto_tl_slave_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222186.4]
  assign buffer_1_auto_out_a_ready = tlSlaveXbar_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222185.4]
  assign buffer_1_auto_out_d_valid = tlSlaveXbar_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222185.4]
  assign buffer_1_auto_out_d_bits_opcode = tlSlaveXbar_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222185.4]
  assign buffer_1_auto_out_d_bits_param = tlSlaveXbar_auto_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222185.4]
  assign buffer_1_auto_out_d_bits_size = tlSlaveXbar_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222185.4]
  assign buffer_1_auto_out_d_bits_source = tlSlaveXbar_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222185.4]
  assign buffer_1_auto_out_d_bits_sink = tlSlaveXbar_auto_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222185.4]
  assign buffer_1_auto_out_d_bits_denied = tlSlaveXbar_auto_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222185.4]
  assign buffer_1_auto_out_d_bits_data = tlSlaveXbar_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222185.4]
  assign buffer_1_auto_out_d_bits_corrupt = tlSlaveXbar_auto_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222185.4]
  assign intsink_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222098.4]
  assign intsink_auto_in_sync_0 = auto_intsink_in_sync_0; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222196.4]
  assign intsink_1_auto_in_sync_0 = auto_int_in_xing_in_0_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222189.4]
  assign intsink_1_auto_in_sync_1 = auto_int_in_xing_in_0_sync_1; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222189.4]
  assign intsink_2_auto_in_sync_0 = auto_int_in_xing_in_1_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@222191.4]
  assign dcacheArb_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222199.4]
  assign dcacheArb_io_requestor_0_req_valid = core_io_dmem_req_valid; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
  assign dcacheArb_io_requestor_0_req_bits_addr = core_io_dmem_req_bits_addr; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
  assign dcacheArb_io_requestor_0_req_bits_tag = core_io_dmem_req_bits_tag; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
  assign dcacheArb_io_requestor_0_req_bits_cmd = core_io_dmem_req_bits_cmd; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
  assign dcacheArb_io_requestor_0_req_bits_typ = core_io_dmem_req_bits_typ; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
  assign dcacheArb_io_requestor_0_s1_kill = core_io_dmem_s1_kill; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
  assign dcacheArb_io_requestor_0_s1_data_data = core_io_dmem_s1_data_data; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
  assign dcacheArb_io_requestor_0_keep_clock_enabled = core_io_dmem_keep_clock_enabled; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
  assign dcacheArb_io_requestor_1_req_valid = dtim_adapter_io_dmem_req_valid; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222226.4]
  assign dcacheArb_io_requestor_1_req_bits_addr = dtim_adapter_io_dmem_req_bits_addr; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222226.4]
  assign dcacheArb_io_requestor_1_req_bits_cmd = dtim_adapter_io_dmem_req_bits_cmd; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222226.4]
  assign dcacheArb_io_requestor_1_req_bits_typ = dtim_adapter_io_dmem_req_bits_typ; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222226.4]
  assign dcacheArb_io_requestor_1_s1_kill = dtim_adapter_io_dmem_s1_kill; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222226.4]
  assign dcacheArb_io_requestor_1_s1_data_data = dtim_adapter_io_dmem_s1_data_data; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222226.4]
  assign dcacheArb_io_requestor_1_s1_data_mask = dtim_adapter_io_dmem_s1_data_mask; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222226.4]
  assign dcacheArb_io_mem_req_ready = dcache_io_cpu_req_ready; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcacheArb_io_mem_s2_nack = dcache_io_cpu_s2_nack; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcacheArb_io_mem_resp_valid = dcache_io_cpu_resp_valid; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcacheArb_io_mem_resp_bits_tag = dcache_io_cpu_resp_bits_tag; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcacheArb_io_mem_resp_bits_data = dcache_io_cpu_resp_bits_data; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcacheArb_io_mem_resp_bits_replay = dcache_io_cpu_resp_bits_replay; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcacheArb_io_mem_resp_bits_has_data = dcache_io_cpu_resp_bits_has_data; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcacheArb_io_mem_resp_bits_data_word_bypass = dcache_io_cpu_resp_bits_data_word_bypass; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcacheArb_io_mem_resp_bits_data_raw = dcache_io_cpu_resp_bits_data_raw; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcacheArb_io_mem_replay_next = dcache_io_cpu_replay_next; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcacheArb_io_mem_s2_xcpt_ma_ld = dcache_io_cpu_s2_xcpt_ma_ld; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcacheArb_io_mem_s2_xcpt_ma_st = dcache_io_cpu_s2_xcpt_ma_st; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcacheArb_io_mem_s2_xcpt_pf_ld = dcache_io_cpu_s2_xcpt_pf_ld; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcacheArb_io_mem_s2_xcpt_pf_st = dcache_io_cpu_s2_xcpt_pf_st; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcacheArb_io_mem_s2_xcpt_ae_ld = dcache_io_cpu_s2_xcpt_ae_ld; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcacheArb_io_mem_s2_xcpt_ae_st = dcache_io_cpu_s2_xcpt_ae_st; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcacheArb_io_mem_ordered = dcache_io_cpu_ordered; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcacheArb_io_mem_perf_grant = dcache_io_cpu_perf_grant; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign dcacheArb_io_mem_clock_enabled = dcache_io_cpu_clock_enabled; // @[HellaCache.scala 228:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222201.4]
  assign ptw_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222204.4]
  assign ptw_io_dpath_pmp_0_cfg_l = core_io_ptw_pmp_0_cfg_l; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_0_cfg_a = core_io_ptw_pmp_0_cfg_a; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_0_cfg_x = core_io_ptw_pmp_0_cfg_x; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_0_cfg_w = core_io_ptw_pmp_0_cfg_w; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_0_cfg_r = core_io_ptw_pmp_0_cfg_r; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_0_addr = core_io_ptw_pmp_0_addr; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_0_mask = core_io_ptw_pmp_0_mask; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_1_cfg_l = core_io_ptw_pmp_1_cfg_l; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_1_cfg_a = core_io_ptw_pmp_1_cfg_a; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_1_cfg_x = core_io_ptw_pmp_1_cfg_x; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_1_cfg_w = core_io_ptw_pmp_1_cfg_w; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_1_cfg_r = core_io_ptw_pmp_1_cfg_r; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_1_addr = core_io_ptw_pmp_1_addr; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_1_mask = core_io_ptw_pmp_1_mask; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_2_cfg_l = core_io_ptw_pmp_2_cfg_l; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_2_cfg_a = core_io_ptw_pmp_2_cfg_a; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_2_cfg_x = core_io_ptw_pmp_2_cfg_x; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_2_cfg_w = core_io_ptw_pmp_2_cfg_w; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_2_cfg_r = core_io_ptw_pmp_2_cfg_r; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_2_addr = core_io_ptw_pmp_2_addr; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_2_mask = core_io_ptw_pmp_2_mask; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_3_cfg_l = core_io_ptw_pmp_3_cfg_l; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_3_cfg_a = core_io_ptw_pmp_3_cfg_a; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_3_cfg_x = core_io_ptw_pmp_3_cfg_x; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_3_cfg_w = core_io_ptw_pmp_3_cfg_w; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_3_cfg_r = core_io_ptw_pmp_3_cfg_r; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_3_addr = core_io_ptw_pmp_3_addr; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_3_mask = core_io_ptw_pmp_3_mask; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_4_cfg_l = core_io_ptw_pmp_4_cfg_l; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_4_cfg_a = core_io_ptw_pmp_4_cfg_a; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_4_cfg_x = core_io_ptw_pmp_4_cfg_x; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_4_cfg_w = core_io_ptw_pmp_4_cfg_w; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_4_cfg_r = core_io_ptw_pmp_4_cfg_r; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_4_addr = core_io_ptw_pmp_4_addr; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_4_mask = core_io_ptw_pmp_4_mask; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_5_cfg_l = core_io_ptw_pmp_5_cfg_l; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_5_cfg_a = core_io_ptw_pmp_5_cfg_a; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_5_cfg_x = core_io_ptw_pmp_5_cfg_x; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_5_cfg_w = core_io_ptw_pmp_5_cfg_w; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_5_cfg_r = core_io_ptw_pmp_5_cfg_r; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_5_addr = core_io_ptw_pmp_5_addr; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_5_mask = core_io_ptw_pmp_5_mask; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_6_cfg_l = core_io_ptw_pmp_6_cfg_l; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_6_cfg_a = core_io_ptw_pmp_6_cfg_a; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_6_cfg_x = core_io_ptw_pmp_6_cfg_x; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_6_cfg_w = core_io_ptw_pmp_6_cfg_w; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_6_cfg_r = core_io_ptw_pmp_6_cfg_r; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_6_addr = core_io_ptw_pmp_6_addr; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_6_mask = core_io_ptw_pmp_6_mask; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_7_cfg_l = core_io_ptw_pmp_7_cfg_l; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_7_cfg_a = core_io_ptw_pmp_7_cfg_a; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_7_cfg_x = core_io_ptw_pmp_7_cfg_x; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_7_cfg_w = core_io_ptw_pmp_7_cfg_w; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_7_cfg_r = core_io_ptw_pmp_7_cfg_r; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_7_addr = core_io_ptw_pmp_7_addr; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign ptw_io_dpath_pmp_7_mask = core_io_ptw_pmp_7_mask; // @[RocketTile.scala 136:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222220.4]
  assign core_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222208.4]
  assign core_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222209.4]
  assign core_io_hartid = constants_hartid; // @[RocketTile.scala 127:18:shc.marmotcaravel.MarmotCaravelConfig.fir@222215.4]
  assign core_io_interrupts_debug = intXbar_auto_int_out_0; // @[Interrupts.scala 75:93:shc.marmotcaravel.MarmotCaravelConfig.fir@222211.4]
  assign core_io_interrupts_mtip = intXbar_auto_int_out_2; // @[Interrupts.scala 75:93:shc.marmotcaravel.MarmotCaravelConfig.fir@222213.4]
  assign core_io_interrupts_msip = intXbar_auto_int_out_1; // @[Interrupts.scala 75:93:shc.marmotcaravel.MarmotCaravelConfig.fir@222212.4]
  assign core_io_interrupts_meip = intXbar_auto_int_out_3; // @[Interrupts.scala 75:93:shc.marmotcaravel.MarmotCaravelConfig.fir@222214.4]
  assign core_io_imem_resp_valid = frontend_io_cpu_resp_valid; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign core_io_imem_resp_bits_btb_taken = frontend_io_cpu_resp_bits_btb_taken; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign core_io_imem_resp_bits_btb_bridx = frontend_io_cpu_resp_bits_btb_bridx; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign core_io_imem_resp_bits_btb_entry = frontend_io_cpu_resp_bits_btb_entry; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign core_io_imem_resp_bits_btb_bht_history = frontend_io_cpu_resp_bits_btb_bht_history; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign core_io_imem_resp_bits_pc = frontend_io_cpu_resp_bits_pc; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign core_io_imem_resp_bits_data = frontend_io_cpu_resp_bits_data; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign core_io_imem_resp_bits_xcpt_ae_inst = frontend_io_cpu_resp_bits_xcpt_ae_inst; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign core_io_imem_resp_bits_replay = frontend_io_cpu_resp_bits_replay; // @[RocketTile.scala 130:32:shc.marmotcaravel.MarmotCaravelConfig.fir@222216.4]
  assign core_io_dmem_req_ready = dcacheArb_io_requestor_0_req_ready; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
  assign core_io_dmem_s2_nack = dcacheArb_io_requestor_0_s2_nack; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
  assign core_io_dmem_resp_valid = dcacheArb_io_requestor_0_resp_valid; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
  assign core_io_dmem_resp_bits_tag = dcacheArb_io_requestor_0_resp_bits_tag; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
  assign core_io_dmem_resp_bits_data = dcacheArb_io_requestor_0_resp_bits_data; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
  assign core_io_dmem_resp_bits_replay = dcacheArb_io_requestor_0_resp_bits_replay; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
  assign core_io_dmem_resp_bits_has_data = dcacheArb_io_requestor_0_resp_bits_has_data; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
  assign core_io_dmem_resp_bits_data_word_bypass = dcacheArb_io_requestor_0_resp_bits_data_word_bypass; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
  assign core_io_dmem_replay_next = dcacheArb_io_requestor_0_replay_next; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
  assign core_io_dmem_s2_xcpt_ma_ld = dcacheArb_io_requestor_0_s2_xcpt_ma_ld; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
  assign core_io_dmem_s2_xcpt_ma_st = dcacheArb_io_requestor_0_s2_xcpt_ma_st; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
  assign core_io_dmem_s2_xcpt_pf_ld = dcacheArb_io_requestor_0_s2_xcpt_pf_ld; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
  assign core_io_dmem_s2_xcpt_pf_st = dcacheArb_io_requestor_0_s2_xcpt_pf_st; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
  assign core_io_dmem_s2_xcpt_ae_ld = dcacheArb_io_requestor_0_s2_xcpt_ae_ld; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
  assign core_io_dmem_s2_xcpt_ae_st = dcacheArb_io_requestor_0_s2_xcpt_ae_st; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
  assign core_io_dmem_ordered = dcacheArb_io_requestor_0_ordered; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
  assign core_io_dmem_perf_grant = dcacheArb_io_requestor_0_perf_grant; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
  assign core_io_dmem_clock_enabled = dcacheArb_io_requestor_0_clock_enabled; // @[RocketTile.scala 163:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222225.4]
endmodule
module AsyncResetRegVec_w2_i0( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222250.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222251.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222252.4]
  input  [1:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222253.4]
  output [1:0] io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222253.4]
);
  wire  reg_0_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222258.4]
  wire  reg_0_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222258.4]
  wire  reg_0_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222258.4]
  wire  reg_0_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222258.4]
  wire  reg_0_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222258.4]
  wire  reg_1_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222264.4]
  wire  reg_1_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222264.4]
  wire  reg_1_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222264.4]
  wire  reg_1_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222264.4]
  wire  reg_1_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222264.4]
  AsyncResetReg #(.RESET_VALUE(0)) reg_0 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222258.4]
    .rst(reg_0_rst),
    .clk(reg_0_clk),
    .en(reg_0_en),
    .q(reg_0_q),
    .d(reg_0_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_1 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@222264.4]
    .rst(reg_1_rst),
    .clk(reg_1_clk),
    .en(reg_1_en),
    .q(reg_1_q),
    .d(reg_1_d)
  );
  assign io_q = {reg_1_q,reg_0_q}; // @[AsyncResetReg.scala 73:8:shc.marmotcaravel.MarmotCaravelConfig.fir@222281.4]
  assign reg_0_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@222271.4]
  assign reg_0_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@222270.4]
  assign reg_0_en = 1'h1; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@222274.4]
  assign reg_0_d = io_d[0]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@222273.4]
  assign reg_1_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@222276.4]
  assign reg_1_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@222275.4]
  assign reg_1_en = 1'h1; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@222279.4]
  assign reg_1_d = io_d[1]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@222278.4]
endmodule
module IntSyncCrossingSource_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222283.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222284.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222285.4]
  input   auto_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222286.4]
  input   auto_in_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222286.4]
  output  auto_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222286.4]
  output  auto_out_sync_1 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222286.4]
);
  wire  AsyncResetRegVec_w2_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222298.4]
  wire  AsyncResetRegVec_w2_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222298.4]
  wire [1:0] AsyncResetRegVec_w2_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222298.4]
  wire [1:0] AsyncResetRegVec_w2_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222298.4]
  AsyncResetRegVec_w2_i0 AsyncResetRegVec_w2_i0 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222298.4]
    .clock(AsyncResetRegVec_w2_i0_clock),
    .reset(AsyncResetRegVec_w2_i0_reset),
    .io_d(AsyncResetRegVec_w2_i0_io_d),
    .io_q(AsyncResetRegVec_w2_i0_io_q)
  );
  assign auto_out_sync_0 = AsyncResetRegVec_w2_i0_io_q[0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222295.4]
  assign auto_out_sync_1 = AsyncResetRegVec_w2_i0_io_q[1]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222295.4]
  assign AsyncResetRegVec_w2_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222300.4]
  assign AsyncResetRegVec_w2_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222301.4]
  assign AsyncResetRegVec_w2_i0_io_d = {auto_in_1,auto_in_0}; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222302.4]
endmodule
module IntSyncCrossingSource_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222340.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222341.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222342.4]
  input   auto_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222343.4]
  output  auto_out_sync_0 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222343.4]
);
  wire  AsyncResetRegVec_w1_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222354.4]
  wire  AsyncResetRegVec_w1_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222354.4]
  wire  AsyncResetRegVec_w1_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222354.4]
  wire  AsyncResetRegVec_w1_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222354.4]
  wire  AsyncResetRegVec_w1_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222354.4]
  AsyncResetRegVec_w1_i0 AsyncResetRegVec_w1_i0 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222354.4]
    .clock(AsyncResetRegVec_w1_i0_clock),
    .reset(AsyncResetRegVec_w1_i0_reset),
    .io_d(AsyncResetRegVec_w1_i0_io_d),
    .io_q(AsyncResetRegVec_w1_i0_io_q),
    .io_en(AsyncResetRegVec_w1_i0_io_en)
  );
  assign auto_out_sync_0 = AsyncResetRegVec_w1_i0_io_q; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222352.4]
  assign AsyncResetRegVec_w1_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222356.4]
  assign AsyncResetRegVec_w1_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222357.4]
  assign AsyncResetRegVec_w1_i0_io_d = auto_in_0; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222358.4]
  assign AsyncResetRegVec_w1_i0_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222359.4]
endmodule
module TLMonitor_56( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222379.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222380.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222381.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222382.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222382.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222382.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222382.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222382.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222382.4]
  input  [16:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222382.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222382.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222382.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222382.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222382.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222382.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@222382.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@223503.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@222409.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@222410.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@222411.6]
  wire [16:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@222412.6]
  wire [16:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@222412.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@222413.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222415.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@222416.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@222418.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222419.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222420.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222421.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222422.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@222424.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222425.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@222427.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222428.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222429.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222430.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222431.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@222432.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@222433.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222434.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@222435.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@222436.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222437.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@222438.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@222439.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222440.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@222441.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@222442.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222443.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@222444.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@222446.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222469.6]
  wire [16:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222472.8]
  wire [17:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222473.8]
  wire [17:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@222474.8]
  wire [17:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@222475.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@222476.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222481.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222502.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222503.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222509.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222510.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@222515.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222517.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222518.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222523.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222524.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222526.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222527.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222532.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222534.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222535.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222541.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222595.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222597.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222598.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222621.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222624.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@222632.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222635.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222636.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222655.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222657.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222658.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@222663.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222665.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222666.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222680.6]
  wire  _T_231; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222728.6]
  wire [3:0] _T_253; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222767.8]
  wire [3:0] _T_254; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222768.8]
  wire  _T_255; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@222769.8]
  wire  _T_257; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222771.8]
  wire  _T_258; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222772.8]
  wire  _T_259; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222778.6]
  wire  _T_277; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@222809.8]
  wire  _T_279; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222811.8]
  wire  _T_280; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222812.8]
  wire  _T_285; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222826.6]
  wire  _T_303; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222857.8]
  wire  _T_305; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222859.8]
  wire  _T_306; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222860.8]
  wire  _T_311; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222874.6]
  wire  _T_498; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223234.4]
  reg  _T_508; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223243.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_509; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223244.4]
  wire [1:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223245.4]
  wire  _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223246.4]
  wire  _T_512; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223247.4]
  reg [2:0] _T_521; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223258.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_523; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223259.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_525; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223260.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_527; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223261.4]
  reg [31:0] _RAND_4;
  reg [16:0] _T_529; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223262.4]
  reg [31:0] _RAND_5;
  wire  _T_530; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223263.4]
  wire  _T_531; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223264.4]
  wire  _T_532; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223266.6]
  wire  _T_534; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223268.6]
  wire  _T_535; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223269.6]
  wire  _T_536; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223274.6]
  wire  _T_538; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223276.6]
  wire  _T_539; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223277.6]
  wire  _T_540; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223282.6]
  wire  _T_542; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223284.6]
  wire  _T_543; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223285.6]
  wire  _T_544; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223290.6]
  wire  _T_546; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223292.6]
  wire  _T_547; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223293.6]
  wire  _T_548; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223298.6]
  wire  _T_550; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223300.6]
  wire  _T_551; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223301.6]
  wire  _T_553; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@223308.4]
  wire  _T_554; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223316.4]
  reg  _T_563; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223324.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_564; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223325.4]
  wire [1:0] _T_565; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223326.4]
  wire  _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223327.4]
  wire  _T_567; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223328.4]
  reg [1:0] _T_580; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223341.4]
  reg [31:0] _RAND_7;
  reg [5:0] _T_582; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223342.4]
  reg [31:0] _RAND_8;
  wire  _T_587; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223345.4]
  wire  _T_588; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223346.4]
  wire  _T_597; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223364.6]
  wire  _T_599; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223366.6]
  wire  _T_600; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223367.6]
  wire  _T_601; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223372.6]
  wire  _T_603; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223374.6]
  wire  _T_604; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223375.6]
  wire  _T_614; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@223398.4]
  reg [63:0] _T_616; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223407.4]
  reg [63:0] _RAND_9;
  reg  _T_627; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223417.4]
  reg [31:0] _RAND_10;
  wire [1:0] _T_628; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223418.4]
  wire [1:0] _T_629; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223419.4]
  wire  _T_630; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223420.4]
  wire  _T_631; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223421.4]
  reg  _T_648; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223440.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_649; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223441.4]
  wire [1:0] _T_650; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223442.4]
  wire  _T_651; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223443.4]
  wire  _T_652; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223444.4]
  wire  _T_663; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223459.4]
  wire [63:0] _T_665; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@223462.6]
  wire [63:0] _T_666; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@223464.6]
  wire  _T_667; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@223465.6]
  wire  _T_668; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223466.6]
  wire  _T_670; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223468.6]
  wire  _T_671; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223469.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223461.4]
  wire  _T_676; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223480.4]
  wire [63:0] _T_680; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@223485.6]
  wire [63:0] _T_681; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@223487.6]
  wire [63:0] _T_682; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@223488.6]
  wire  _T_683; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@223489.6]
  wire  _T_685; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223491.6]
  wire  _T_686; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223492.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@223484.4]
  wire [63:0] _T_687; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223498.4]
  wire [63:0] _T_688; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223499.4]
  wire [63:0] _T_689; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@223500.4]
  reg [31:0] _T_691; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223502.4]
  reg [31:0] _RAND_12;
  wire  _T_692; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@223505.4]
  wire  _T_693; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223506.4]
  wire  _T_694; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@223507.4]
  wire  _T_695; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223508.4]
  wire  _T_696; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@223509.4]
  wire  _T_697; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@223510.4]
  wire  _T_699; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@223512.4]
  wire  _T_700; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@223513.4]
  wire [31:0] _T_702; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@223519.4]
  wire  _T_705; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223523.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222483.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222555.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222638.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222694.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222742.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222792.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222840.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222888.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@223503.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@222409.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@222410.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@222411.6]
  assign _GEN_18 = {{15'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@222412.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@222412.6]
  assign _T_40 = _T_39 == 17'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@222413.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222415.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@222416.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@222418.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@222419.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222420.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222421.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222422.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@222424.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222425.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@222427.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222428.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222429.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@222430.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@222431.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@222432.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@222433.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222434.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@222435.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@222436.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222437.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@222438.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@222439.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222440.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@222441.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@222442.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@222443.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@222444.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@222445.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@222446.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222469.6]
  assign _T_94 = io_in_a_bits_address ^ 17'h10000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@222472.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@222473.8]
  assign _T_96 = $signed(_T_95) & $signed(-18'sh2000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@222474.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@222475.8]
  assign _T_98 = $signed(_T_97) == $signed(18'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@222476.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222481.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222502.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222503.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222509.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222510.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@222515.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222517.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222518.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222523.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222524.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222526.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222527.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@222532.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222534.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222535.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222541.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222595.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222597.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222598.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222621.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@222624.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@222632.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222635.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222636.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222655.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222657.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222658.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@222663.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222665.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222666.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222680.6]
  assign _T_231 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222728.6]
  assign _T_253 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222767.8]
  assign _T_254 = io_in_a_bits_mask & _T_253; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@222768.8]
  assign _T_255 = _T_254 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@222769.8]
  assign _T_257 = _T_255 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222771.8]
  assign _T_258 = _T_257 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222772.8]
  assign _T_259 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222778.6]
  assign _T_277 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@222809.8]
  assign _T_279 = _T_277 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222811.8]
  assign _T_280 = _T_279 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222812.8]
  assign _T_285 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222826.6]
  assign _T_303 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@222857.8]
  assign _T_305 = _T_303 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222859.8]
  assign _T_306 = _T_305 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222860.8]
  assign _T_311 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@222874.6]
  assign _T_498 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223234.4]
  assign _T_509 = _T_508 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223244.4]
  assign _T_510 = $unsigned(_T_509); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223245.4]
  assign _T_511 = _T_510[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223246.4]
  assign _T_512 = _T_508 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223247.4]
  assign _T_530 = _T_512 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223263.4]
  assign _T_531 = io_in_a_valid & _T_530; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223264.4]
  assign _T_532 = io_in_a_bits_opcode == _T_521; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223266.6]
  assign _T_534 = _T_532 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223268.6]
  assign _T_535 = _T_534 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223269.6]
  assign _T_536 = io_in_a_bits_param == _T_523; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223274.6]
  assign _T_538 = _T_536 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223276.6]
  assign _T_539 = _T_538 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223277.6]
  assign _T_540 = io_in_a_bits_size == _T_525; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223282.6]
  assign _T_542 = _T_540 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223284.6]
  assign _T_543 = _T_542 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223285.6]
  assign _T_544 = io_in_a_bits_source == _T_527; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223290.6]
  assign _T_546 = _T_544 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223292.6]
  assign _T_547 = _T_546 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223293.6]
  assign _T_548 = io_in_a_bits_address == _T_529; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223298.6]
  assign _T_550 = _T_548 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223300.6]
  assign _T_551 = _T_550 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223301.6]
  assign _T_553 = _T_498 & _T_512; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@223308.4]
  assign _T_554 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223316.4]
  assign _T_564 = _T_563 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223325.4]
  assign _T_565 = $unsigned(_T_564); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223326.4]
  assign _T_566 = _T_565[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223327.4]
  assign _T_567 = _T_563 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223328.4]
  assign _T_587 = _T_567 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@223345.4]
  assign _T_588 = io_in_d_valid & _T_587; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223346.4]
  assign _T_597 = io_in_d_bits_size == _T_580; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223364.6]
  assign _T_599 = _T_597 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223366.6]
  assign _T_600 = _T_599 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223367.6]
  assign _T_601 = io_in_d_bits_source == _T_582; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223372.6]
  assign _T_603 = _T_601 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223374.6]
  assign _T_604 = _T_603 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223375.6]
  assign _T_614 = _T_554 & _T_567; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@223398.4]
  assign _T_628 = _T_627 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223418.4]
  assign _T_629 = $unsigned(_T_628); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223419.4]
  assign _T_630 = _T_629[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223420.4]
  assign _T_631 = _T_627 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223421.4]
  assign _T_649 = _T_648 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223441.4]
  assign _T_650 = $unsigned(_T_649); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223442.4]
  assign _T_651 = _T_650[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223443.4]
  assign _T_652 = _T_648 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223444.4]
  assign _T_663 = _T_498 & _T_631; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223459.4]
  assign _T_665 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@223462.6]
  assign _T_666 = _T_616 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@223464.6]
  assign _T_667 = _T_666[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@223465.6]
  assign _T_668 = _T_667 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223466.6]
  assign _T_670 = _T_668 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223468.6]
  assign _T_671 = _T_670 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223469.6]
  assign _GEN_15 = _T_663 ? _T_665 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@223461.4]
  assign _T_676 = _T_554 & _T_652; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223480.4]
  assign _T_680 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@223485.6]
  assign _T_681 = _GEN_15 | _T_616; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@223487.6]
  assign _T_682 = _T_681 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@223488.6]
  assign _T_683 = _T_682[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@223489.6]
  assign _T_685 = _T_683 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223491.6]
  assign _T_686 = _T_685 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223492.6]
  assign _GEN_16 = _T_676 ? _T_680 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@223484.4]
  assign _T_687 = _T_616 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223498.4]
  assign _T_688 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223499.4]
  assign _T_689 = _T_687 & _T_688; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@223500.4]
  assign _T_692 = _T_616 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@223505.4]
  assign _T_693 = _T_692 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223506.4]
  assign _T_694 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@223507.4]
  assign _T_695 = _T_693 | _T_694; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223508.4]
  assign _T_696 = _T_691 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@223509.4]
  assign _T_697 = _T_695 | _T_696; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@223510.4]
  assign _T_699 = _T_697 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@223512.4]
  assign _T_700 = _T_699 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@223513.4]
  assign _T_702 = _T_691 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@223519.4]
  assign _T_705 = _T_498 | _T_554; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223523.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222483.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222555.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222638.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222694.10]
  assign _GEN_67 = io_in_a_valid & _T_231; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222742.10]
  assign _GEN_75 = io_in_a_valid & _T_259; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222792.10]
  assign _GEN_83 = io_in_a_valid & _T_285; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222840.10]
  assign _GEN_91 = io_in_a_valid & _T_311; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222888.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_508 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_521 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_523 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_525 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_527 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_529 = _RAND_5[16:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_563 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_580 = _RAND_7[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_582 = _RAND_8[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {2{`RANDOM}};
  _T_616 = _RAND_9[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_627 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_648 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_691 = _RAND_12[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_508 <= 1'h0;
    end else begin
      if (_T_498) begin
        if (_T_512) begin
          _T_508 <= 1'h0;
        end else begin
          _T_508 <= _T_511;
        end
      end
    end
    if (_T_553) begin
      _T_521 <= io_in_a_bits_opcode;
    end
    if (_T_553) begin
      _T_523 <= io_in_a_bits_param;
    end
    if (_T_553) begin
      _T_525 <= io_in_a_bits_size;
    end
    if (_T_553) begin
      _T_527 <= io_in_a_bits_source;
    end
    if (_T_553) begin
      _T_529 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_563 <= 1'h0;
    end else begin
      if (_T_554) begin
        if (_T_567) begin
          _T_563 <= 1'h0;
        end else begin
          _T_563 <= _T_566;
        end
      end
    end
    if (_T_614) begin
      _T_580 <= io_in_d_bits_size;
    end
    if (_T_614) begin
      _T_582 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_616 <= 64'h0;
    end else begin
      _T_616 <= _T_689;
    end
    if (reset) begin
      _T_627 <= 1'h0;
    end else begin
      if (_T_498) begin
        if (_T_631) begin
          _T_627 <= 1'h0;
        end else begin
          _T_627 <= _T_630;
        end
      end
    end
    if (reset) begin
      _T_648 <= 1'h0;
    end else begin
      if (_T_554) begin
        if (_T_652) begin
          _T_648 <= 1'h0;
        end else begin
          _T_648 <= _T_651;
        end
      end
    end
    if (reset) begin
      _T_691 <= 32'h0;
    end else begin
      if (_T_705) begin
        _T_691 <= 32'h0;
      end else begin
        _T_691 <= _T_702;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@222394.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@222395.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@222466.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@222467.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222483.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222484.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222490.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222491.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222497.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222498.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222505.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222506.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222512.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222513.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222520.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222521.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222529.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222530.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222537.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222538.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222555.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222556.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222562.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222563.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222569.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222570.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222577.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222578.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222584.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222585.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222592.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222593.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222600.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222601.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222609.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222610.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222617.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222618.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222638.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222639.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222645.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222646.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222652.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222653.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222660.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222661.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222668.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222669.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222676.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222677.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222694.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_103) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222695.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222701.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222702.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222708.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222709.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222716.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222717.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222724.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222725.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222742.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_103) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222743.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222749.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222750.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222756.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222757.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222764.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222765.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_258) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222774.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_258) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222775.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222792.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222793.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222799.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222800.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222806.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222807.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_280) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222814.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_280) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222815.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222822.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222823.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222840.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222841.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222847.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222848.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222854.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222855.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_306) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222862.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_306) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222863.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222870.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222871.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222888.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222889.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222895.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222896.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222902.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222903.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222910.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222911.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222918.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222919.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@222929.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@222930.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222950.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222951.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222958.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222959.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222966.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222967.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222974.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222975.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222982.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222983.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222992.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222993.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@222999.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223000.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223007.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223008.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223015.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223016.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223023.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223024.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223031.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223032.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223040.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223041.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223050.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223051.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223057.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223058.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223065.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223066.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223073.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223074.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223081.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223082.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223090.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223091.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223099.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223100.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223109.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223110.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223117.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223118.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223125.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223126.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223134.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223135.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223144.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223145.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223152.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223153.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223161.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223162.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223170.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223171.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223180.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223181.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223188.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223189.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223196.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223197.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223205.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223206.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223215.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223216.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223223.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223224.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223231.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223232.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223271.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_535) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223272.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223279.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_539) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223280.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223287.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_543) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223288.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223295.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_547) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223296.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223303.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_531 & _T_551) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223304.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223353.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223354.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223361.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223362.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223369.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_600) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223370.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223377.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_588 & _T_604) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223378.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223385.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223386.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223393.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223394.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223471.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_663 & _T_671) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223472.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_676 & _T_686) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223494.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_676 & _T_686) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@223495.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_700) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at BusWrapper.scala:99:11)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@223515.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_700) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@223516.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMaskROM( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223538.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223539.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223540.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
  input  [16:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
  output [31:0] auto_in_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223541.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
  wire [16:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
  wire [31:0] rom_q; // @[ROMGenerator.scala 27:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223586.4]
  wire  rom_me; // @[ROMGenerator.scala 27:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223586.4]
  wire  rom_oe; // @[ROMGenerator.scala 27:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223586.4]
  wire [10:0] rom_address; // @[ROMGenerator.scala 27:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223586.4]
  wire  rom_clock; // @[ROMGenerator.scala 27:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223586.4]
  wire [17:0] _T_156; // @[MaskROM.scala 42:54:shc.marmotcaravel.MarmotCaravelConfig.fir@223593.4]
  wire [17:0] _T_157; // @[MaskROM.scala 42:54:shc.marmotcaravel.MarmotCaravelConfig.fir@223594.4]
  wire [16:0] _T_158; // @[MaskROM.scala 42:54:shc.marmotcaravel.MarmotCaravelConfig.fir@223595.4]
  wire [14:0] _T_159; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@223596.4]
  reg  d_full; // @[MaskROM.scala 46:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223602.4]
  reg [31:0] _RAND_0;
  wire  _T_172; // @[MaskROM.scala 55:33:shc.marmotcaravel.MarmotCaravelConfig.fir@223622.4]
  wire  in_a_ready; // @[MaskROM.scala 55:30:shc.marmotcaravel.MarmotCaravelConfig.fir@223623.4]
  wire  _T_161; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@223600.4]
  reg [1:0] d_size; // @[MaskROM.scala 47:21:shc.marmotcaravel.MarmotCaravelConfig.fir@223603.4]
  reg [31:0] _RAND_1;
  reg [5:0] d_source; // @[MaskROM.scala 48:23:shc.marmotcaravel.MarmotCaravelConfig.fir@223604.4]
  reg [31:0] _RAND_2;
  reg  _T_167; // @[MaskROM.scala 49:45:shc.marmotcaravel.MarmotCaravelConfig.fir@223606.4]
  reg [31:0] _RAND_3;
  reg [31:0] _T_169; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@223608.4]
  reg [31:0] _RAND_4;
  wire  _T_170; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@223613.4]
  TLMonitor_56 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223548.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  BootROM rom ( // @[ROMGenerator.scala 27:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223586.4]
    .q(rom_q),
    .me(rom_me),
    .oe(rom_oe),
    .address(rom_address),
    .clock(rom_clock)
  );
  assign _T_156 = auto_in_a_bits_address - 17'h10000; // @[MaskROM.scala 42:54:shc.marmotcaravel.MarmotCaravelConfig.fir@223593.4]
  assign _T_157 = $unsigned(_T_156); // @[MaskROM.scala 42:54:shc.marmotcaravel.MarmotCaravelConfig.fir@223594.4]
  assign _T_158 = _T_157[16:0]; // @[MaskROM.scala 42:54:shc.marmotcaravel.MarmotCaravelConfig.fir@223595.4]
  assign _T_159 = _T_158[16:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@223596.4]
  assign _T_172 = d_full == 1'h0; // @[MaskROM.scala 55:33:shc.marmotcaravel.MarmotCaravelConfig.fir@223622.4]
  assign in_a_ready = auto_in_d_ready | _T_172; // @[MaskROM.scala 55:30:shc.marmotcaravel.MarmotCaravelConfig.fir@223623.4]
  assign _T_161 = in_a_ready & auto_in_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@223600.4]
  assign _T_170 = auto_in_d_ready & d_full; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@223613.4]
  assign auto_in_a_ready = auto_in_d_ready | _T_172; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@223585.4]
  assign auto_in_d_valid = d_full; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@223585.4]
  assign auto_in_d_bits_size = d_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@223585.4]
  assign auto_in_d_bits_source = d_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@223585.4]
  assign auto_in_d_bits_data = _T_167 ? rom_q : _T_169; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@223585.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223550.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223551.4]
  assign TLMonitor_io_in_a_ready = auto_in_d_ready | _T_172; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223584.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223584.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223584.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223584.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223584.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223584.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223584.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223584.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223584.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223584.4]
  assign TLMonitor_io_in_d_valid = d_full; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223584.4]
  assign TLMonitor_io_in_d_bits_size = d_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223584.4]
  assign TLMonitor_io_in_d_bits_source = d_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@223584.4]
  assign rom_me = in_a_ready & auto_in_a_valid; // @[MaskROM.scala 44:15:shc.marmotcaravel.MarmotCaravelConfig.fir@223601.4]
  assign rom_oe = 1'h1; // @[MaskROM.scala 43:15:shc.marmotcaravel.MarmotCaravelConfig.fir@223599.4]
  assign rom_address = _T_159[10:0]; // @[MaskROM.scala 42:20:shc.marmotcaravel.MarmotCaravelConfig.fir@223598.4]
  assign rom_clock = clock; // @[MaskROM.scala 41:18:shc.marmotcaravel.MarmotCaravelConfig.fir@223592.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  d_full = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  d_size = _RAND_1[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  d_source = _RAND_2[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_167 = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_169 = _RAND_4[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      d_full <= 1'h0;
    end else begin
      if (_T_161) begin
        d_full <= 1'h1;
      end else begin
        if (_T_170) begin
          d_full <= 1'h0;
        end
      end
    end
    if (_T_161) begin
      d_size <= auto_in_a_bits_size;
    end
    if (_T_161) begin
      d_source <= auto_in_a_bits_source;
    end
    _T_167 <= in_a_ready & auto_in_a_valid;
    if (_T_167) begin
      _T_169 <= rom_q;
    end
  end
endmodule
module TLMonitor_57( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223652.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223653.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223654.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@223655.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@224793.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@223682.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@223683.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@223684.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@223685.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@223685.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@223686.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@223688.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@223689.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@223691.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@223692.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@223693.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@223694.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@223695.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223697.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223698.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223700.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223701.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@223702.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@223703.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@223704.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223705.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223706.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223707.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223708.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223709.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223710.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223711.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223712.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223713.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223714.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223715.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223716.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@223717.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@223718.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@223719.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223742.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@223745.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@223746.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@223747.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@223748.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@223749.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223754.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223775.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223776.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223782.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223783.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223788.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223790.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223791.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@223796.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223797.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223799.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223800.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@223805.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223807.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223808.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223814.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223868.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223870.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223871.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223894.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@223897.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@223905.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223908.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223909.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223928.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223930.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223931.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223936.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223938.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223939.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223953.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224004.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@224046.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224047.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@224048.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224050.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224051.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224057.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@224088.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224090.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224091.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224105.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@224136.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224138.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224139.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224153.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@224203.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@224205.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@224206.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224223.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224232.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224234.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224235.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224265.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224323.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224513.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224522.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224523.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224524.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224525.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224526.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224537.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224538.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224539.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224540.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224541.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224542.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@224543.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224545.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224547.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224548.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224553.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224555.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224556.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224561.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224563.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224564.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224569.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224571.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224572.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224577.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224579.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224580.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224587.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224595.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224603.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224604.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224605.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224606.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224607.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224618.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224620.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224621.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224624.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@224625.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224627.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224629.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224630.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224643.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224645.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224646.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224651.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224653.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224654.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224677.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224686.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224696.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224697.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224698.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224699.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224700.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224719.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224720.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224721.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224722.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224723.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224738.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@224741.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@224743.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@224744.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224745.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224747.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224748.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@224740.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224759.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@224761.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@224762.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@224764.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@224766.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@224767.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@224768.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224770.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224771.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@224763.4]
  wire  _T_693; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224777.4]
  wire  _T_694; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@224778.4]
  wire  _T_695; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@224779.4]
  wire  _T_696; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@224780.4]
  wire  _T_698; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224782.4]
  wire  _T_699; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224783.4]
  wire [63:0] _T_700; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224788.4]
  wire [63:0] _T_701; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@224789.4]
  wire [63:0] _T_702; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@224790.4]
  reg [31:0] _T_704; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224792.4]
  reg [31:0] _RAND_13;
  wire  _T_705; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@224795.4]
  wire  _T_706; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224796.4]
  wire  _T_707; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@224797.4]
  wire  _T_708; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224798.4]
  wire  _T_709; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@224799.4]
  wire  _T_710; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@224800.4]
  wire  _T_712; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@224802.4]
  wire  _T_713; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@224803.4]
  wire [31:0] _T_715; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@224809.4]
  wire  _T_718; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224813.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223756.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223828.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223911.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223970.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224021.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224071.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224119.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224167.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224237.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224278.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224336.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@224793.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@223682.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@223683.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@223684.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@223685.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@223685.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@223686.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@223688.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@223689.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@223691.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@223692.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@223693.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@223694.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@223695.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223697.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223698.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223700.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223701.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@223702.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@223703.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@223704.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223705.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223706.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223707.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223708.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223709.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223710.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223711.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223712.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223713.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223714.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@223715.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@223716.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@223717.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@223718.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@223719.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223742.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@223745.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@223746.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@223747.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@223748.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@223749.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223754.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223775.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223776.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223782.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223783.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223788.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223790.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223791.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@223796.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223797.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223799.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223800.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@223805.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223807.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223808.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223814.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223868.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223870.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223871.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223894.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@223897.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@223905.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223908.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223909.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@223928.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223930.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223931.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@223936.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223938.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223939.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@223953.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224004.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@224046.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224047.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@224048.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224050.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224051.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224057.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@224088.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224090.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224091.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224105.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@224136.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224138.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224139.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224153.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@224203.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@224205.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@224206.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224223.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224232.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224234.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224235.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224265.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224323.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224513.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224523.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224524.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224525.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224526.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224542.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@224543.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224545.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224547.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224548.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224553.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224555.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224556.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224561.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224563.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224564.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224569.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224571.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224572.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224577.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224579.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224580.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224587.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224595.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224604.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224605.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224606.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224607.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@224624.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@224625.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224627.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224629.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224630.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224643.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224645.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224646.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@224651.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224653.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224654.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224677.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224697.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224698.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224699.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224700.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224720.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224721.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224722.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@224723.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224738.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@224741.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@224743.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@224744.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224745.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224747.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224748.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@224740.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224759.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@224761.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@224762.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@224764.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@224766.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@224767.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@224768.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224770.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224771.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@224763.4]
  assign _T_693 = _GEN_15 != _GEN_16; // @[Monitor.scala 471:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224777.4]
  assign _T_694 = _GEN_15 != 64'h0; // @[Monitor.scala 471:40:shc.marmotcaravel.MarmotCaravelConfig.fir@224778.4]
  assign _T_695 = _T_694 == 1'h0; // @[Monitor.scala 471:33:shc.marmotcaravel.MarmotCaravelConfig.fir@224779.4]
  assign _T_696 = _T_693 | _T_695; // @[Monitor.scala 471:30:shc.marmotcaravel.MarmotCaravelConfig.fir@224780.4]
  assign _T_698 = _T_696 | reset; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224782.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224783.4]
  assign _T_700 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224788.4]
  assign _T_701 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@224789.4]
  assign _T_702 = _T_700 & _T_701; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@224790.4]
  assign _T_705 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@224795.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224796.4]
  assign _T_707 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@224797.4]
  assign _T_708 = _T_706 | _T_707; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224798.4]
  assign _T_709 = _T_704 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@224799.4]
  assign _T_710 = _T_708 | _T_709; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@224800.4]
  assign _T_712 = _T_710 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@224802.4]
  assign _T_713 = _T_712 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@224803.4]
  assign _T_715 = _T_704 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@224809.4]
  assign _T_718 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@224813.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223756.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223828.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223911.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223970.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224021.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224071.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224119.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224167.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224237.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224278.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224336.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_514 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_527 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_529 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_531 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_533 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_535 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_569 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_582 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_586 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_588 = _RAND_9[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {2{`RANDOM}};
  _T_622 = _RAND_10[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_633 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_654 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_704 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_514 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_518) begin
          _T_514 <= 1'h0;
        end else begin
          _T_514 <= _T_517;
        end
      end
    end
    if (_T_559) begin
      _T_527 <= io_in_a_bits_opcode;
    end
    if (_T_559) begin
      _T_529 <= io_in_a_bits_param;
    end
    if (_T_559) begin
      _T_531 <= io_in_a_bits_size;
    end
    if (_T_559) begin
      _T_533 <= io_in_a_bits_source;
    end
    if (_T_559) begin
      _T_535 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_569 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_573) begin
          _T_569 <= 1'h0;
        end else begin
          _T_569 <= _T_572;
        end
      end
    end
    if (_T_620) begin
      _T_582 <= io_in_d_bits_opcode;
    end
    if (_T_620) begin
      _T_586 <= io_in_d_bits_size;
    end
    if (_T_620) begin
      _T_588 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_622 <= 64'h0;
    end else begin
      _T_622 <= _T_702;
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_654 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_658) begin
          _T_654 <= 1'h0;
        end else begin
          _T_654 <= _T_657;
        end
      end
    end
    if (reset) begin
      _T_704 <= 32'h0;
    end else begin
      if (_T_718) begin
        _T_704 <= 32'h0;
      end else begin
        _T_704 <= _T_715;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@223667.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@223668.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@223739.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@223740.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223756.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223757.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223763.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223764.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223770.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223771.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223778.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223779.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223785.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223786.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223793.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223794.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223802.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223803.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223810.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223811.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223828.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223829.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223835.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223836.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223842.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223843.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223850.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223851.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223857.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223858.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223865.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223866.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223873.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223874.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223882.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223883.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223890.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223891.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223911.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223912.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223918.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223919.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223925.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223926.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223933.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223934.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223941.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223942.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223949.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223950.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223970.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223971.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223977.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223978.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223984.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223985.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223992.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@223993.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224000.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224001.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224021.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224022.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224028.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224029.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224035.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224036.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224043.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224044.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224053.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224054.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224071.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224072.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224078.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224079.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224085.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224086.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224093.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224094.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224101.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224102.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224119.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224120.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224126.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224127.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224133.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224134.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224141.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224142.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224149.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224150.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224167.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224168.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224174.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224175.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224181.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224182.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224189.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224190.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224197.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224198.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@224208.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@224209.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224229.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224230.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224237.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224238.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224245.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224246.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224253.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224254.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224261.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224262.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224271.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224272.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224278.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224279.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224286.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224287.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224294.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224295.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224302.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224303.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224310.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224311.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224319.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224320.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224329.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224330.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224336.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224337.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224344.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224345.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224352.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224353.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224360.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224361.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224369.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224370.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224378.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224379.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224388.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224389.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224396.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224397.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224404.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224405.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224413.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224414.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224423.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224424.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224431.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224432.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224440.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224441.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224449.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224450.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224459.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224460.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224467.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224468.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224475.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224476.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224484.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224485.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224494.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224495.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224502.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224503.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224510.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224511.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224550.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224551.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224558.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224559.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224566.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224567.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224574.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224575.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224582.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224583.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224632.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224633.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224640.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224641.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224648.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224649.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224656.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224657.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224664.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224665.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224672.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224673.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224750.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224751.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224773.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224774.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_699) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' and 'D' concurrent, despite minlatency 1 (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:471 assert(a_set =/= d_clr || !a_set.orR, s\"'A' and 'D' concurrent, despite minlatency ${edge.manager.minLatency}\" + extra)\n"); // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224785.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_699) begin
          $fatal; // @[Monitor.scala 471:13:shc.marmotcaravel.MarmotCaravelConfig.fir@224786.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_713) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at MockAONWrapper.scala:47:23)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@224805.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_713) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@224806.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module RTC( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224849.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224850.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224851.4]
  input         io_regs_cfg_write__countAlways, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
  input  [3:0]  io_regs_cfg_write__scale, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
  output        io_regs_cfg_read_ip_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
  output        io_regs_cfg_read_countAlways, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
  output [3:0]  io_regs_cfg_read_scale, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
  input         io_regs_cfg_write_countAlways, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
  input         io_regs_cfg_write_scale, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
  input         io_regs_countLo_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
  input  [31:0] io_regs_countLo_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
  output [31:0] io_regs_countLo_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
  input         io_regs_countHi_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
  input  [31:0] io_regs_countHi_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
  output [31:0] io_regs_countHi_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
  output [31:0] io_regs_s_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
  input         io_regs_cmp_0_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
  input  [31:0] io_regs_cmp_0_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
  output [31:0] io_regs_cmp_0_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
  output        io_ip_0 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224852.4]
);
  wire  AsyncResetRegVec_w1_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@224868.4]
  wire  AsyncResetRegVec_w1_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@224868.4]
  wire  AsyncResetRegVec_w1_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@224868.4]
  wire  AsyncResetRegVec_w1_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@224868.4]
  wire  AsyncResetRegVec_w1_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@224868.4]
  reg [3:0] scale; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@224858.4]
  reg [31:0] _RAND_0;
  reg [31:0] cmp_0; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@224863.4]
  reg [31:0] _RAND_1;
  wire  countAlways; // @[RTC.scala 21:123:shc.marmotcaravel.MarmotCaravelConfig.fir@224874.4]
  reg [5:0] _T_211; // @[Counters.scala 46:72:shc.marmotcaravel.MarmotCaravelConfig.fir@224875.4]
  reg [31:0] _RAND_2;
  wire [5:0] _GEN_9; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@224876.4]
  wire [6:0] _T_212; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@224876.4]
  reg [41:0] _T_214; // @[Counters.scala 51:70:shc.marmotcaravel.MarmotCaravelConfig.fir@224878.4]
  reg [63:0] _RAND_3;
  wire  _T_215; // @[Counters.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224879.4]
  wire [41:0] _T_217; // @[Counters.scala 52:43:shc.marmotcaravel.MarmotCaravelConfig.fir@224882.6]
  wire [41:0] _GEN_2; // @[Counters.scala 52:34:shc.marmotcaravel.MarmotCaravelConfig.fir@224880.4]
  wire [47:0] _T_218; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@224885.4]
  wire [15:0] _T_220; // @[Timer.scala 206:71:shc.marmotcaravel.MarmotCaravelConfig.fir@224888.6]
  wire [47:0] _T_221; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@224889.6]
  wire [41:0] _T_222; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224891.6]
  wire [47:0] _GEN_3; // @[Timer.scala 206:50:shc.marmotcaravel.MarmotCaravelConfig.fir@224887.4]
  wire [41:0] _GEN_4; // @[Timer.scala 206:50:shc.marmotcaravel.MarmotCaravelConfig.fir@224887.4]
  wire [31:0] _T_224; // @[Timer.scala 207:125:shc.marmotcaravel.MarmotCaravelConfig.fir@224896.6]
  wire [63:0] _T_225; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@224897.6]
  wire [57:0] _T_226; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224899.6]
  wire [63:0] _GEN_5; // @[Timer.scala 207:77:shc.marmotcaravel.MarmotCaravelConfig.fir@224895.4]
  wire [57:0] _GEN_6; // @[Timer.scala 207:77:shc.marmotcaravel.MarmotCaravelConfig.fir@224895.4]
  wire [47:0] _T_227; // @[Timer.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224902.4]
  wire [31:0] s; // @[Timer.scala 210:37:shc.marmotcaravel.MarmotCaravelConfig.fir@224903.4]
  reg  ip_0; // @[RTC.scala 19:43:shc.marmotcaravel.MarmotCaravelConfig.fir@224978.4]
  reg [31:0] _RAND_4;
  AsyncResetRegVec_w1_i0 AsyncResetRegVec_w1_i0 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@224868.4]
    .clock(AsyncResetRegVec_w1_i0_clock),
    .reset(AsyncResetRegVec_w1_i0_reset),
    .io_d(AsyncResetRegVec_w1_i0_io_d),
    .io_q(AsyncResetRegVec_w1_i0_io_q),
    .io_en(AsyncResetRegVec_w1_i0_io_en)
  );
  assign countAlways = AsyncResetRegVec_w1_i0_io_q; // @[RTC.scala 21:123:shc.marmotcaravel.MarmotCaravelConfig.fir@224874.4]
  assign _GEN_9 = {{5'd0}, countAlways}; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@224876.4]
  assign _T_212 = _T_211 + _GEN_9; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@224876.4]
  assign _T_215 = _T_212[6]; // @[Counters.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224879.4]
  assign _T_217 = _T_214 + 42'h1; // @[Counters.scala 52:43:shc.marmotcaravel.MarmotCaravelConfig.fir@224882.6]
  assign _GEN_2 = _T_215 ? _T_217 : _T_214; // @[Counters.scala 52:34:shc.marmotcaravel.MarmotCaravelConfig.fir@224880.4]
  assign _T_218 = {_T_214,_T_211}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@224885.4]
  assign _T_220 = _T_218[47:32]; // @[Timer.scala 206:71:shc.marmotcaravel.MarmotCaravelConfig.fir@224888.6]
  assign _T_221 = {_T_220,io_regs_countLo_write_bits}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@224889.6]
  assign _T_222 = _T_221[47:6]; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224891.6]
  assign _GEN_3 = io_regs_countLo_write_valid ? _T_221 : {{41'd0}, _T_212}; // @[Timer.scala 206:50:shc.marmotcaravel.MarmotCaravelConfig.fir@224887.4]
  assign _GEN_4 = io_regs_countLo_write_valid ? _T_222 : _GEN_2; // @[Timer.scala 206:50:shc.marmotcaravel.MarmotCaravelConfig.fir@224887.4]
  assign _T_224 = _T_218[31:0]; // @[Timer.scala 207:125:shc.marmotcaravel.MarmotCaravelConfig.fir@224896.6]
  assign _T_225 = {io_regs_countHi_write_bits,_T_224}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@224897.6]
  assign _T_226 = _T_225[63:6]; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224899.6]
  assign _GEN_5 = io_regs_countHi_write_valid ? _T_225 : {{16'd0}, _GEN_3}; // @[Timer.scala 207:77:shc.marmotcaravel.MarmotCaravelConfig.fir@224895.4]
  assign _GEN_6 = io_regs_countHi_write_valid ? _T_226 : {{16'd0}, _GEN_4}; // @[Timer.scala 207:77:shc.marmotcaravel.MarmotCaravelConfig.fir@224895.4]
  assign _T_227 = _T_218 >> scale; // @[Timer.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@224902.4]
  assign s = _T_227[31:0]; // @[Timer.scala 210:37:shc.marmotcaravel.MarmotCaravelConfig.fir@224903.4]
  assign io_regs_cfg_read_ip_0 = ip_0; // @[Timer.scala 216:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224977.4 Timer.scala 217:23:shc.marmotcaravel.MarmotCaravelConfig.fir@224980.4]
  assign io_regs_cfg_read_countAlways = AsyncResetRegVec_w1_i0_io_q; // @[Timer.scala 216:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224977.4 Timer.scala 222:32:shc.marmotcaravel.MarmotCaravelConfig.fir@224995.4]
  assign io_regs_cfg_read_scale = scale; // @[Timer.scala 216:20:shc.marmotcaravel.MarmotCaravelConfig.fir@224977.4 Timer.scala 226:26:shc.marmotcaravel.MarmotCaravelConfig.fir@225000.4]
  assign io_regs_countLo_read = _T_218[31:0]; // @[Timer.scala 228:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225001.4]
  assign io_regs_countHi_read = {{16'd0}, _T_220}; // @[Timer.scala 229:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225003.4]
  assign io_regs_s_read = _T_227[31:0]; // @[Timer.scala 230:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225004.4]
  assign io_regs_cmp_0_read = cmp_0; // @[Timer.scala 231:53:shc.marmotcaravel.MarmotCaravelConfig.fir@225005.4]
  assign io_ip_0 = ip_0; // @[Timer.scala 234:9:shc.marmotcaravel.MarmotCaravelConfig.fir@225008.4]
  assign AsyncResetRegVec_w1_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224870.4]
  assign AsyncResetRegVec_w1_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@224871.4]
  assign AsyncResetRegVec_w1_i0_io_d = io_regs_cfg_write__countAlways; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@224872.4]
  assign AsyncResetRegVec_w1_i0_io_en = io_regs_cfg_write_countAlways; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@224873.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  scale = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  cmp_0 = _RAND_1[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_211 = _RAND_2[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {2{`RANDOM}};
  _T_214 = _RAND_3[41:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  ip_0 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (io_regs_cfg_write_scale) begin
      scale <= io_regs_cfg_write__scale;
    end
    if (io_regs_cmp_0_write_valid) begin
      cmp_0 <= io_regs_cmp_0_write_bits;
    end
    _T_211 <= _GEN_5[5:0];
    _T_214 <= _GEN_6[41:0];
    ip_0 <= s >= cmp_0;
  end
endmodule
module PMUCore( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225010.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225011.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225012.4]
  input         io_wakeup_rtc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  output        io_control_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  output        io_control_bits_hfclkrst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  output        io_control_bits_corerst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  output        io_control_bits_reserved1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  output        io_control_bits_vddpaden, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  output        io_control_bits_reserved0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input  [1:0]  io_resetCause, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input         io_regs_ie_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input  [3:0]  io_regs_ie_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  output [3:0]  io_regs_ie_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input         io_regs_cause_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  output [31:0] io_regs_cause_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input         io_regs_sleep_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input         io_regs_key_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input  [31:0] io_regs_key_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  output [31:0] io_regs_key_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input         io_regs_wakeupProgram_0_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input  [31:0] io_regs_wakeupProgram_0_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  output [31:0] io_regs_wakeupProgram_0_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input         io_regs_wakeupProgram_1_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input  [31:0] io_regs_wakeupProgram_1_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  output [31:0] io_regs_wakeupProgram_1_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input         io_regs_wakeupProgram_2_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input  [31:0] io_regs_wakeupProgram_2_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  output [31:0] io_regs_wakeupProgram_2_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input         io_regs_wakeupProgram_3_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input  [31:0] io_regs_wakeupProgram_3_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  output [31:0] io_regs_wakeupProgram_3_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input         io_regs_wakeupProgram_4_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input  [31:0] io_regs_wakeupProgram_4_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  output [31:0] io_regs_wakeupProgram_4_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input         io_regs_wakeupProgram_5_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input  [31:0] io_regs_wakeupProgram_5_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  output [31:0] io_regs_wakeupProgram_5_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input         io_regs_wakeupProgram_6_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input  [31:0] io_regs_wakeupProgram_6_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  output [31:0] io_regs_wakeupProgram_6_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input         io_regs_wakeupProgram_7_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input  [31:0] io_regs_wakeupProgram_7_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  output [31:0] io_regs_wakeupProgram_7_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input         io_regs_sleepProgram_0_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input  [31:0] io_regs_sleepProgram_0_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  output [31:0] io_regs_sleepProgram_0_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input         io_regs_sleepProgram_1_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input  [31:0] io_regs_sleepProgram_1_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  output [31:0] io_regs_sleepProgram_1_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input         io_regs_sleepProgram_2_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input  [31:0] io_regs_sleepProgram_2_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  output [31:0] io_regs_sleepProgram_2_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input         io_regs_sleepProgram_3_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input  [31:0] io_regs_sleepProgram_3_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  output [31:0] io_regs_sleepProgram_3_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input         io_regs_sleepProgram_4_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input  [31:0] io_regs_sleepProgram_4_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  output [31:0] io_regs_sleepProgram_4_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input         io_regs_sleepProgram_5_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input  [31:0] io_regs_sleepProgram_5_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  output [31:0] io_regs_sleepProgram_5_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input         io_regs_sleepProgram_6_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input  [31:0] io_regs_sleepProgram_6_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  output [31:0] io_regs_sleepProgram_6_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input         io_regs_sleepProgram_7_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  input  [31:0] io_regs_sleepProgram_7_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
  output [31:0] io_regs_sleepProgram_7_read // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225013.4]
);
  reg  run; // @[PMU.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225018.4]
  reg [31:0] _RAND_0;
  reg  awake; // @[PMU.scala 69:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225019.4]
  reg [31:0] _RAND_1;
  wire  _T_135; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225020.4]
  wire  _T_136; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225021.4]
  wire  _T_137; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225022.4]
  wire  _T_138; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225023.4]
  wire  _T_139; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225024.4]
  wire  _T_140; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225025.4]
  wire  _T_141; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225026.4]
  wire  _T_142; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225027.4]
  wire  _T_143; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225028.4]
  wire  _T_144; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225029.4]
  wire  _T_145; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225030.4]
  wire  _T_146; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225031.4]
  wire  _T_147; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225032.4]
  wire  _T_148; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225033.4]
  wire  _T_149; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225034.4]
  wire  _T_150; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225035.4]
  wire  _T_151; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225036.4]
  wire  _T_152; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225037.4]
  wire  _T_153; // @[PMU.scala 72:38:shc.marmotcaravel.MarmotCaravelConfig.fir@225038.4]
  wire  _T_154; // @[PMU.scala 72:63:shc.marmotcaravel.MarmotCaravelConfig.fir@225039.4]
  wire  _T_155; // @[PMU.scala 72:60:shc.marmotcaravel.MarmotCaravelConfig.fir@225040.4]
  wire  _T_156; // @[PMU.scala 72:111:shc.marmotcaravel.MarmotCaravelConfig.fir@225041.4]
  reg  unlocked; // @[Reg.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225042.4]
  reg [31:0] _RAND_2;
  wire  _T_158; // @[PMU.scala 74:80:shc.marmotcaravel.MarmotCaravelConfig.fir@225046.4]
  reg  wantSleep; // @[Reg.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225047.4]
  reg [31:0] _RAND_3;
  reg [2:0] pc; // @[PMU.scala 75:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225051.4]
  reg [31:0] _RAND_4;
  reg [1:0] wakeupCause; // @[PMU.scala 76:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225052.4]
  reg [31:0] _RAND_5;
  wire  _T_162; // @[PMU.scala 77:68:shc.marmotcaravel.MarmotCaravelConfig.fir@225053.4]
  reg [3:0] _T_164; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225054.4]
  reg [31:0] _RAND_6;
  wire [3:0] ie; // @[PMU.scala 77:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225058.4]
  reg [8:0] wakeupProgram_0; // @[PMU.scala 80:51:shc.marmotcaravel.MarmotCaravelConfig.fir@225059.4]
  reg [31:0] _RAND_7;
  reg [8:0] wakeupProgram_1; // @[PMU.scala 80:51:shc.marmotcaravel.MarmotCaravelConfig.fir@225060.4]
  reg [31:0] _RAND_8;
  reg [8:0] wakeupProgram_2; // @[PMU.scala 80:51:shc.marmotcaravel.MarmotCaravelConfig.fir@225061.4]
  reg [31:0] _RAND_9;
  reg [8:0] wakeupProgram_3; // @[PMU.scala 80:51:shc.marmotcaravel.MarmotCaravelConfig.fir@225062.4]
  reg [31:0] _RAND_10;
  reg [8:0] wakeupProgram_4; // @[PMU.scala 80:51:shc.marmotcaravel.MarmotCaravelConfig.fir@225063.4]
  reg [31:0] _RAND_11;
  reg [8:0] wakeupProgram_5; // @[PMU.scala 80:51:shc.marmotcaravel.MarmotCaravelConfig.fir@225064.4]
  reg [31:0] _RAND_12;
  reg [8:0] wakeupProgram_6; // @[PMU.scala 80:51:shc.marmotcaravel.MarmotCaravelConfig.fir@225065.4]
  reg [31:0] _RAND_13;
  reg [8:0] wakeupProgram_7; // @[PMU.scala 80:51:shc.marmotcaravel.MarmotCaravelConfig.fir@225066.4]
  reg [31:0] _RAND_14;
  reg [8:0] sleepProgram_0; // @[PMU.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@225067.4]
  reg [31:0] _RAND_15;
  reg [8:0] sleepProgram_1; // @[PMU.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@225068.4]
  reg [31:0] _RAND_16;
  reg [8:0] sleepProgram_2; // @[PMU.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@225069.4]
  reg [31:0] _RAND_17;
  reg [8:0] sleepProgram_3; // @[PMU.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@225070.4]
  reg [31:0] _RAND_18;
  reg [8:0] sleepProgram_4; // @[PMU.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@225071.4]
  reg [31:0] _RAND_19;
  reg [8:0] sleepProgram_5; // @[PMU.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@225072.4]
  reg [31:0] _RAND_20;
  reg [8:0] sleepProgram_6; // @[PMU.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@225073.4]
  reg [31:0] _RAND_21;
  reg [8:0] sleepProgram_7; // @[PMU.scala 81:49:shc.marmotcaravel.MarmotCaravelConfig.fir@225074.4]
  reg [31:0] _RAND_22;
  wire  _T_182; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225075.4]
  wire [8:0] _T_183; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225076.4]
  wire  _T_184; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225077.4]
  wire [8:0] _T_185; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225078.4]
  wire  _T_186; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225079.4]
  wire [8:0] _T_187; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225080.4]
  wire  _T_188; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225081.4]
  wire [8:0] _T_189; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225082.4]
  wire  _T_190; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225083.4]
  wire [8:0] _T_191; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225084.4]
  wire  _T_192; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225085.4]
  wire [8:0] _T_193; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225086.4]
  wire  _T_194; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225087.4]
  wire [8:0] _T_195; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225088.4]
  wire [8:0] _T_197; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225090.4]
  wire [8:0] _T_199; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225092.4]
  wire [8:0] _T_201; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225094.4]
  wire [8:0] _T_203; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225096.4]
  wire [8:0] _T_205; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225098.4]
  wire [8:0] _T_207; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225100.4]
  wire [8:0] _T_209; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225102.4]
  wire [8:0] insnBits; // @[PMU.scala 82:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225103.4]
  wire [3:0] insn_dt; // @[PMU.scala 83:43:shc.marmotcaravel.MarmotCaravelConfig.fir@225109.4]
  reg [15:0] count; // @[PMU.scala 85:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225121.4]
  reg [31:0] _RAND_23;
  wire [15:0] _T_222; // @[PMU.scala 86:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225123.4]
  wire [15:0] _T_223; // @[PMU.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225124.4]
  wire [15:0] _T_224; // @[PMU.scala 86:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225125.4]
  wire  tick; // @[PMU.scala 86:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225126.4]
  wire [3:0] npc; // @[PMU.scala 87:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225127.4]
  wire  last; // @[PMU.scala 88:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225128.4]
  wire  _T_225; // @[PMU.scala 89:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225129.4]
  wire  _T_226; // @[PMU.scala 89:27:shc.marmotcaravel.MarmotCaravelConfig.fir@225130.4]
  wire [3:0] _GEN_5; // @[PMU.scala 94:17:shc.marmotcaravel.MarmotCaravelConfig.fir@225138.6]
  wire [1:0] _T_231; // @[PMU.scala 102:45:shc.marmotcaravel.MarmotCaravelConfig.fir@225146.6]
  wire [3:0] _T_233; // @[PMU.scala 102:45:shc.marmotcaravel.MarmotCaravelConfig.fir@225148.6]
  wire [3:0] _T_234; // @[PMU.scala 102:33:shc.marmotcaravel.MarmotCaravelConfig.fir@225149.6]
  wire  _T_235; // @[PMU.scala 103:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225150.6]
  wire  _T_236; // @[PMU.scala 103:40:shc.marmotcaravel.MarmotCaravelConfig.fir@225151.6]
  wire  _T_237; // @[PMU.scala 103:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225152.6]
  wire  _T_238; // @[OneHot.scala 39:40:shc.marmotcaravel.MarmotCaravelConfig.fir@225156.8]
  wire  _T_239; // @[OneHot.scala 39:40:shc.marmotcaravel.MarmotCaravelConfig.fir@225157.8]
  wire  _T_240; // @[OneHot.scala 39:40:shc.marmotcaravel.MarmotCaravelConfig.fir@225158.8]
  wire  _T_245; // @[PMU.scala 108:17:shc.marmotcaravel.MarmotCaravelConfig.fir@225165.6]
  wire [3:0] _GEN_14; // @[PMU.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225134.4]
  wire [9:0] _GEN_34; // @[PMU.scala 115:54:shc.marmotcaravel.MarmotCaravelConfig.fir@225172.4]
  wire [9:0] _T_246; // @[PMU.scala 115:54:shc.marmotcaravel.MarmotCaravelConfig.fir@225172.4]
  wire [9:0] _GEN_35; // @[PMU.scala 115:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225173.4]
  wire [9:0] _T_247; // @[PMU.scala 115:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225173.4]
  wire  _T_248; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225179.4]
  wire [31:0] _GEN_18; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225180.4]
  wire  _T_249; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225184.4]
  wire [31:0] _GEN_19; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225185.4]
  wire  _T_250; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225189.4]
  wire [31:0] _GEN_20; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225190.4]
  wire  _T_251; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225194.4]
  wire [31:0] _GEN_21; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225195.4]
  wire  _T_252; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225199.4]
  wire [31:0] _GEN_22; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225200.4]
  wire  _T_253; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225204.4]
  wire [31:0] _GEN_23; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225205.4]
  wire  _T_254; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225209.4]
  wire [31:0] _GEN_24; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225210.4]
  wire  _T_255; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225214.4]
  wire [31:0] _GEN_25; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225215.4]
  wire  _T_256; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225219.4]
  wire [31:0] _GEN_26; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225220.4]
  wire  _T_257; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225224.4]
  wire [31:0] _GEN_27; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225225.4]
  wire  _T_258; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225229.4]
  wire [31:0] _GEN_28; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225230.4]
  wire  _T_259; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225234.4]
  wire [31:0] _GEN_29; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225235.4]
  wire  _T_260; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225239.4]
  wire [31:0] _GEN_30; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225240.4]
  wire  _T_261; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225244.4]
  wire [31:0] _GEN_31; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225245.4]
  wire  _T_262; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225249.4]
  wire [31:0] _GEN_32; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225250.4]
  wire  _T_263; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225254.4]
  wire [31:0] _GEN_33; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225255.4]
  assign _T_135 = io_regs_sleepProgram_0_write_valid | io_regs_sleepProgram_1_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225020.4]
  assign _T_136 = _T_135 | io_regs_sleepProgram_2_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225021.4]
  assign _T_137 = _T_136 | io_regs_sleepProgram_3_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225022.4]
  assign _T_138 = _T_137 | io_regs_sleepProgram_4_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225023.4]
  assign _T_139 = _T_138 | io_regs_sleepProgram_5_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225024.4]
  assign _T_140 = _T_139 | io_regs_sleepProgram_6_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225025.4]
  assign _T_141 = _T_140 | io_regs_sleepProgram_7_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225026.4]
  assign _T_142 = io_regs_wakeupProgram_0_write_valid | io_regs_wakeupProgram_1_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225027.4]
  assign _T_143 = _T_142 | io_regs_wakeupProgram_2_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225028.4]
  assign _T_144 = _T_143 | io_regs_wakeupProgram_3_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225029.4]
  assign _T_145 = _T_144 | io_regs_wakeupProgram_4_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225030.4]
  assign _T_146 = _T_145 | io_regs_wakeupProgram_5_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225031.4]
  assign _T_147 = _T_146 | io_regs_wakeupProgram_6_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225032.4]
  assign _T_148 = _T_147 | io_regs_wakeupProgram_7_write_valid; // @[WatchdogTimer.scala 16:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225033.4]
  assign _T_149 = _T_141 | _T_148; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225034.4]
  assign _T_150 = _T_149 | io_regs_sleep_write_valid; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225035.4]
  assign _T_151 = _T_150 | io_regs_cause_write_valid; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225036.4]
  assign _T_152 = _T_151 | io_regs_ie_write_valid; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225037.4]
  assign _T_153 = io_regs_key_write_bits == 32'h51f15e; // @[PMU.scala 72:38:shc.marmotcaravel.MarmotCaravelConfig.fir@225038.4]
  assign _T_154 = _T_152 == 1'h0; // @[PMU.scala 72:63:shc.marmotcaravel.MarmotCaravelConfig.fir@225039.4]
  assign _T_155 = _T_153 & _T_154; // @[PMU.scala 72:60:shc.marmotcaravel.MarmotCaravelConfig.fir@225040.4]
  assign _T_156 = io_regs_key_write_valid | _T_152; // @[PMU.scala 72:111:shc.marmotcaravel.MarmotCaravelConfig.fir@225041.4]
  assign _T_158 = io_regs_sleep_write_valid & unlocked; // @[PMU.scala 74:80:shc.marmotcaravel.MarmotCaravelConfig.fir@225046.4]
  assign _T_162 = io_regs_ie_write_valid & unlocked; // @[PMU.scala 77:68:shc.marmotcaravel.MarmotCaravelConfig.fir@225053.4]
  assign ie = _T_164 | 4'h1; // @[PMU.scala 77:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225058.4]
  assign _T_182 = pc == 3'h1; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225075.4]
  assign _T_183 = _T_182 ? wakeupProgram_1 : wakeupProgram_0; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225076.4]
  assign _T_184 = pc == 3'h2; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225077.4]
  assign _T_185 = _T_184 ? wakeupProgram_2 : _T_183; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225078.4]
  assign _T_186 = pc == 3'h3; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225079.4]
  assign _T_187 = _T_186 ? wakeupProgram_3 : _T_185; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225080.4]
  assign _T_188 = pc == 3'h4; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225081.4]
  assign _T_189 = _T_188 ? wakeupProgram_4 : _T_187; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225082.4]
  assign _T_190 = pc == 3'h5; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225083.4]
  assign _T_191 = _T_190 ? wakeupProgram_5 : _T_189; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225084.4]
  assign _T_192 = pc == 3'h6; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225085.4]
  assign _T_193 = _T_192 ? wakeupProgram_6 : _T_191; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225086.4]
  assign _T_194 = pc == 3'h7; // @[package.scala 31:81:shc.marmotcaravel.MarmotCaravelConfig.fir@225087.4]
  assign _T_195 = _T_194 ? wakeupProgram_7 : _T_193; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225088.4]
  assign _T_197 = _T_182 ? sleepProgram_1 : sleepProgram_0; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225090.4]
  assign _T_199 = _T_184 ? sleepProgram_2 : _T_197; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225092.4]
  assign _T_201 = _T_186 ? sleepProgram_3 : _T_199; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225094.4]
  assign _T_203 = _T_188 ? sleepProgram_4 : _T_201; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225096.4]
  assign _T_205 = _T_190 ? sleepProgram_5 : _T_203; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225098.4]
  assign _T_207 = _T_192 ? sleepProgram_6 : _T_205; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225100.4]
  assign _T_209 = _T_194 ? sleepProgram_7 : _T_207; // @[package.scala 31:71:shc.marmotcaravel.MarmotCaravelConfig.fir@225102.4]
  assign insnBits = awake ? _T_195 : _T_209; // @[PMU.scala 82:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225103.4]
  assign insn_dt = insnBits[3:0]; // @[PMU.scala 83:43:shc.marmotcaravel.MarmotCaravelConfig.fir@225109.4]
  assign _T_222 = count + 16'h1; // @[PMU.scala 86:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225123.4]
  assign _T_223 = count ^ _T_222; // @[PMU.scala 86:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225124.4]
  assign _T_224 = _T_223 >> insn_dt; // @[PMU.scala 86:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225125.4]
  assign tick = _T_224[0]; // @[PMU.scala 86:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225126.4]
  assign npc = pc + 3'h1; // @[PMU.scala 87:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225127.4]
  assign last = npc >= 4'h8; // @[PMU.scala 88:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225128.4]
  assign _T_225 = last == 1'h0; // @[PMU.scala 89:30:shc.marmotcaravel.MarmotCaravelConfig.fir@225129.4]
  assign _T_226 = run & _T_225; // @[PMU.scala 89:27:shc.marmotcaravel.MarmotCaravelConfig.fir@225130.4]
  assign _GEN_5 = tick ? npc : {{1'd0}, pc}; // @[PMU.scala 94:17:shc.marmotcaravel.MarmotCaravelConfig.fir@225138.6]
  assign _T_231 = {io_wakeup_rtc,1'h0}; // @[PMU.scala 102:45:shc.marmotcaravel.MarmotCaravelConfig.fir@225146.6]
  assign _T_233 = {2'h1,_T_231}; // @[PMU.scala 102:45:shc.marmotcaravel.MarmotCaravelConfig.fir@225148.6]
  assign _T_234 = ie & _T_233; // @[PMU.scala 102:33:shc.marmotcaravel.MarmotCaravelConfig.fir@225149.6]
  assign _T_235 = awake == 1'h0; // @[PMU.scala 103:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225150.6]
  assign _T_236 = _T_234 != 4'h0; // @[PMU.scala 103:40:shc.marmotcaravel.MarmotCaravelConfig.fir@225151.6]
  assign _T_237 = _T_235 & _T_236; // @[PMU.scala 103:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225152.6]
  assign _T_238 = _T_234[0]; // @[OneHot.scala 39:40:shc.marmotcaravel.MarmotCaravelConfig.fir@225156.8]
  assign _T_239 = _T_234[1]; // @[OneHot.scala 39:40:shc.marmotcaravel.MarmotCaravelConfig.fir@225157.8]
  assign _T_240 = _T_234[2]; // @[OneHot.scala 39:40:shc.marmotcaravel.MarmotCaravelConfig.fir@225158.8]
  assign _T_245 = awake & wantSleep; // @[PMU.scala 108:17:shc.marmotcaravel.MarmotCaravelConfig.fir@225165.6]
  assign _GEN_14 = run ? _GEN_5 : {{1'd0}, pc}; // @[PMU.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225134.4]
  assign _GEN_34 = {{8'd0}, io_resetCause}; // @[PMU.scala 115:54:shc.marmotcaravel.MarmotCaravelConfig.fir@225172.4]
  assign _T_246 = _GEN_34 << 8; // @[PMU.scala 115:54:shc.marmotcaravel.MarmotCaravelConfig.fir@225172.4]
  assign _GEN_35 = {{8'd0}, wakeupCause}; // @[PMU.scala 115:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225173.4]
  assign _T_247 = _GEN_35 | _T_246; // @[PMU.scala 115:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225173.4]
  assign _T_248 = io_regs_wakeupProgram_0_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225179.4]
  assign _GEN_18 = _T_248 ? io_regs_wakeupProgram_0_write_bits : {{23'd0}, wakeupProgram_0}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225180.4]
  assign _T_249 = io_regs_wakeupProgram_1_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225184.4]
  assign _GEN_19 = _T_249 ? io_regs_wakeupProgram_1_write_bits : {{23'd0}, wakeupProgram_1}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225185.4]
  assign _T_250 = io_regs_wakeupProgram_2_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225189.4]
  assign _GEN_20 = _T_250 ? io_regs_wakeupProgram_2_write_bits : {{23'd0}, wakeupProgram_2}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225190.4]
  assign _T_251 = io_regs_wakeupProgram_3_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225194.4]
  assign _GEN_21 = _T_251 ? io_regs_wakeupProgram_3_write_bits : {{23'd0}, wakeupProgram_3}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225195.4]
  assign _T_252 = io_regs_wakeupProgram_4_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225199.4]
  assign _GEN_22 = _T_252 ? io_regs_wakeupProgram_4_write_bits : {{23'd0}, wakeupProgram_4}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225200.4]
  assign _T_253 = io_regs_wakeupProgram_5_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225204.4]
  assign _GEN_23 = _T_253 ? io_regs_wakeupProgram_5_write_bits : {{23'd0}, wakeupProgram_5}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225205.4]
  assign _T_254 = io_regs_wakeupProgram_6_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225209.4]
  assign _GEN_24 = _T_254 ? io_regs_wakeupProgram_6_write_bits : {{23'd0}, wakeupProgram_6}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225210.4]
  assign _T_255 = io_regs_wakeupProgram_7_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225214.4]
  assign _GEN_25 = _T_255 ? io_regs_wakeupProgram_7_write_bits : {{23'd0}, wakeupProgram_7}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225215.4]
  assign _T_256 = io_regs_sleepProgram_0_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225219.4]
  assign _GEN_26 = _T_256 ? io_regs_sleepProgram_0_write_bits : {{23'd0}, sleepProgram_0}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225220.4]
  assign _T_257 = io_regs_sleepProgram_1_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225224.4]
  assign _GEN_27 = _T_257 ? io_regs_sleepProgram_1_write_bits : {{23'd0}, sleepProgram_1}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225225.4]
  assign _T_258 = io_regs_sleepProgram_2_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225229.4]
  assign _GEN_28 = _T_258 ? io_regs_sleepProgram_2_write_bits : {{23'd0}, sleepProgram_2}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225230.4]
  assign _T_259 = io_regs_sleepProgram_3_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225234.4]
  assign _GEN_29 = _T_259 ? io_regs_sleepProgram_3_write_bits : {{23'd0}, sleepProgram_3}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225235.4]
  assign _T_260 = io_regs_sleepProgram_4_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225239.4]
  assign _GEN_30 = _T_260 ? io_regs_sleepProgram_4_write_bits : {{23'd0}, sleepProgram_4}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225240.4]
  assign _T_261 = io_regs_sleepProgram_5_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225244.4]
  assign _GEN_31 = _T_261 ? io_regs_sleepProgram_5_write_bits : {{23'd0}, sleepProgram_5}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225245.4]
  assign _T_262 = io_regs_sleepProgram_6_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225249.4]
  assign _GEN_32 = _T_262 ? io_regs_sleepProgram_6_write_bits : {{23'd0}, sleepProgram_6}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225250.4]
  assign _T_263 = io_regs_sleepProgram_7_write_valid & unlocked; // @[PMU.scala 122:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225254.4]
  assign _GEN_33 = _T_263 ? io_regs_sleepProgram_7_write_bits : {{23'd0}, sleepProgram_7}; // @[PMU.scala 122:41:shc.marmotcaravel.MarmotCaravelConfig.fir@225255.4]
  assign io_control_valid = _T_226 & tick; // @[PMU.scala 89:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225132.4]
  assign io_control_bits_hfclkrst = insnBits[8]; // @[PMU.scala 90:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225133.4]
  assign io_control_bits_corerst = insnBits[7]; // @[PMU.scala 90:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225133.4]
  assign io_control_bits_reserved1 = insnBits[6]; // @[PMU.scala 90:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225133.4]
  assign io_control_bits_vddpaden = insnBits[5]; // @[PMU.scala 90:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225133.4]
  assign io_control_bits_reserved0 = insnBits[4]; // @[PMU.scala 90:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225133.4]
  assign io_regs_ie_read = _T_164 | 4'h1; // @[PMU.scala 116:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225175.4]
  assign io_regs_cause_read = {{22'd0}, _T_247}; // @[PMU.scala 115:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225174.4]
  assign io_regs_key_read = {{31'd0}, unlocked}; // @[PMU.scala 117:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225176.4]
  assign io_regs_wakeupProgram_0_read = {{23'd0}, wakeupProgram_0}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225178.4]
  assign io_regs_wakeupProgram_1_read = {{23'd0}, wakeupProgram_1}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225183.4]
  assign io_regs_wakeupProgram_2_read = {{23'd0}, wakeupProgram_2}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225188.4]
  assign io_regs_wakeupProgram_3_read = {{23'd0}, wakeupProgram_3}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225193.4]
  assign io_regs_wakeupProgram_4_read = {{23'd0}, wakeupProgram_4}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225198.4]
  assign io_regs_wakeupProgram_5_read = {{23'd0}, wakeupProgram_5}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225203.4]
  assign io_regs_wakeupProgram_6_read = {{23'd0}, wakeupProgram_6}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225208.4]
  assign io_regs_wakeupProgram_7_read = {{23'd0}, wakeupProgram_7}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225213.4]
  assign io_regs_sleepProgram_0_read = {{23'd0}, sleepProgram_0}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225218.4]
  assign io_regs_sleepProgram_1_read = {{23'd0}, sleepProgram_1}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225223.4]
  assign io_regs_sleepProgram_2_read = {{23'd0}, sleepProgram_2}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225228.4]
  assign io_regs_sleepProgram_3_read = {{23'd0}, sleepProgram_3}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225233.4]
  assign io_regs_sleepProgram_4_read = {{23'd0}, sleepProgram_4}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225238.4]
  assign io_regs_sleepProgram_5_read = {{23'd0}, sleepProgram_5}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225243.4]
  assign io_regs_sleepProgram_6_read = {{23'd0}, sleepProgram_6}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225248.4]
  assign io_regs_sleepProgram_7_read = {{23'd0}, sleepProgram_7}; // @[PMU.scala 121:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225253.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  run = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  awake = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  unlocked = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  wantSleep = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  pc = _RAND_4[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  wakeupCause = _RAND_5[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_164 = _RAND_6[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  wakeupProgram_0 = _RAND_7[8:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  wakeupProgram_1 = _RAND_8[8:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  wakeupProgram_2 = _RAND_9[8:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  wakeupProgram_3 = _RAND_10[8:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  wakeupProgram_4 = _RAND_11[8:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  wakeupProgram_5 = _RAND_12[8:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  wakeupProgram_6 = _RAND_13[8:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  wakeupProgram_7 = _RAND_14[8:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  sleepProgram_0 = _RAND_15[8:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  sleepProgram_1 = _RAND_16[8:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_17 = {1{`RANDOM}};
  sleepProgram_2 = _RAND_17[8:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_18 = {1{`RANDOM}};
  sleepProgram_3 = _RAND_18[8:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_19 = {1{`RANDOM}};
  sleepProgram_4 = _RAND_19[8:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_20 = {1{`RANDOM}};
  sleepProgram_5 = _RAND_20[8:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_21 = {1{`RANDOM}};
  sleepProgram_6 = _RAND_21[8:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_22 = {1{`RANDOM}};
  sleepProgram_7 = _RAND_22[8:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_23 = {1{`RANDOM}};
  count = _RAND_23[15:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      run <= 1'h1;
    end else begin
      if (run) begin
        if (tick) begin
          run <= _T_225;
        end
      end else begin
        if (_T_245) begin
          run <= 1'h1;
        end else begin
          if (_T_237) begin
            run <= 1'h1;
          end
        end
      end
    end
    if (reset) begin
      awake <= 1'h1;
    end else begin
      if (!(run)) begin
        if (_T_245) begin
          awake <= 1'h0;
        end else begin
          if (_T_237) begin
            awake <= 1'h1;
          end
        end
      end
    end
    if (reset) begin
      unlocked <= 1'h0;
    end else begin
      if (_T_156) begin
        unlocked <= _T_155;
      end
    end
    if (reset) begin
      wantSleep <= 1'h0;
    end else begin
      if (run) begin
        if (_T_158) begin
          wantSleep <= 1'h1;
        end
      end else begin
        if (_T_245) begin
          wantSleep <= 1'h0;
        end else begin
          if (_T_158) begin
            wantSleep <= 1'h1;
          end
        end
      end
    end
    if (reset) begin
      pc <= 3'h0;
    end else begin
      pc <= _GEN_14[2:0];
    end
    if (reset) begin
      wakeupCause <= 2'h0;
    end else begin
      if (!(run)) begin
        if (_T_237) begin
          if (_T_238) begin
            wakeupCause <= 2'h0;
          end else begin
            if (_T_239) begin
              wakeupCause <= 2'h1;
            end else begin
              if (_T_240) begin
                wakeupCause <= 2'h2;
              end else begin
                wakeupCause <= 2'h3;
              end
            end
          end
        end
      end
    end
    if (_T_162) begin
      _T_164 <= io_regs_ie_write_bits;
    end
    if (reset) begin
      wakeupProgram_0 <= 9'h1f0;
    end else begin
      wakeupProgram_0 <= _GEN_18[8:0];
    end
    if (reset) begin
      wakeupProgram_1 <= 9'hf8;
    end else begin
      wakeupProgram_1 <= _GEN_19[8:0];
    end
    if (reset) begin
      wakeupProgram_2 <= 9'h30;
    end else begin
      wakeupProgram_2 <= _GEN_20[8:0];
    end
    if (reset) begin
      wakeupProgram_3 <= 9'h30;
    end else begin
      wakeupProgram_3 <= _GEN_21[8:0];
    end
    if (reset) begin
      wakeupProgram_4 <= 9'h30;
    end else begin
      wakeupProgram_4 <= _GEN_22[8:0];
    end
    if (reset) begin
      wakeupProgram_5 <= 9'h30;
    end else begin
      wakeupProgram_5 <= _GEN_23[8:0];
    end
    if (reset) begin
      wakeupProgram_6 <= 9'h30;
    end else begin
      wakeupProgram_6 <= _GEN_24[8:0];
    end
    if (reset) begin
      wakeupProgram_7 <= 9'h30;
    end else begin
      wakeupProgram_7 <= _GEN_25[8:0];
    end
    if (reset) begin
      sleepProgram_0 <= 9'hf0;
    end else begin
      sleepProgram_0 <= _GEN_26[8:0];
    end
    if (reset) begin
      sleepProgram_1 <= 9'h1f0;
    end else begin
      sleepProgram_1 <= _GEN_27[8:0];
    end
    if (reset) begin
      sleepProgram_2 <= 9'h1d0;
    end else begin
      sleepProgram_2 <= _GEN_28[8:0];
    end
    if (reset) begin
      sleepProgram_3 <= 9'h1c0;
    end else begin
      sleepProgram_3 <= _GEN_29[8:0];
    end
    if (reset) begin
      sleepProgram_4 <= 9'h1c0;
    end else begin
      sleepProgram_4 <= _GEN_30[8:0];
    end
    if (reset) begin
      sleepProgram_5 <= 9'h1c0;
    end else begin
      sleepProgram_5 <= _GEN_31[8:0];
    end
    if (reset) begin
      sleepProgram_6 <= 9'h1c0;
    end else begin
      sleepProgram_6 <= _GEN_32[8:0];
    end
    if (reset) begin
      sleepProgram_7 <= 9'h1c0;
    end else begin
      sleepProgram_7 <= _GEN_33[8:0];
    end
    if (reset) begin
      count <= 16'h0;
    end else begin
      if (run) begin
        if (tick) begin
          count <= 16'h0;
        end else begin
          count <= _T_222;
        end
      end
    end
  end
endmodule
module AsyncResetRegVec_w5_i0( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225309.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225310.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225311.4]
  input  [4:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225312.4]
  output [4:0] io_q, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225312.4]
  input        io_en // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225312.4]
);
  wire  reg_0_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225317.4]
  wire  reg_0_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225317.4]
  wire  reg_0_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225317.4]
  wire  reg_0_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225317.4]
  wire  reg_0_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225317.4]
  wire  reg_1_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225323.4]
  wire  reg_1_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225323.4]
  wire  reg_1_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225323.4]
  wire  reg_1_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225323.4]
  wire  reg_1_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225323.4]
  wire  reg_2_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225329.4]
  wire  reg_2_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225329.4]
  wire  reg_2_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225329.4]
  wire  reg_2_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225329.4]
  wire  reg_2_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225329.4]
  wire  reg_3_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225335.4]
  wire  reg_3_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225335.4]
  wire  reg_3_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225335.4]
  wire  reg_3_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225335.4]
  wire  reg_3_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225335.4]
  wire  reg_4_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225341.4]
  wire  reg_4_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225341.4]
  wire  reg_4_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225341.4]
  wire  reg_4_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225341.4]
  wire  reg_4_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225341.4]
  wire [1:0] _T_12; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225372.4]
  wire [1:0] _T_13; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225373.4]
  wire [2:0] _T_14; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225374.4]
  AsyncResetReg #(.RESET_VALUE(0)) reg_0 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225317.4]
    .rst(reg_0_rst),
    .clk(reg_0_clk),
    .en(reg_0_en),
    .q(reg_0_q),
    .d(reg_0_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_1 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225323.4]
    .rst(reg_1_rst),
    .clk(reg_1_clk),
    .en(reg_1_en),
    .q(reg_1_q),
    .d(reg_1_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_2 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225329.4]
    .rst(reg_2_rst),
    .clk(reg_2_clk),
    .en(reg_2_en),
    .q(reg_2_q),
    .d(reg_2_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_3 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225335.4]
    .rst(reg_3_rst),
    .clk(reg_3_clk),
    .en(reg_3_en),
    .q(reg_3_q),
    .d(reg_3_d)
  );
  AsyncResetReg #(.RESET_VALUE(0)) reg_4 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225341.4]
    .rst(reg_4_rst),
    .clk(reg_4_clk),
    .en(reg_4_en),
    .q(reg_4_q),
    .d(reg_4_d)
  );
  assign _T_12 = {reg_1_q,reg_0_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225372.4]
  assign _T_13 = {reg_4_q,reg_3_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225373.4]
  assign _T_14 = {_T_13,reg_2_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225374.4]
  assign io_q = {_T_14,_T_12}; // @[AsyncResetReg.scala 73:8:shc.marmotcaravel.MarmotCaravelConfig.fir@225376.4]
  assign reg_0_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225348.4]
  assign reg_0_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225347.4]
  assign reg_0_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225351.4]
  assign reg_0_d = io_d[0]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225350.4]
  assign reg_1_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225353.4]
  assign reg_1_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225352.4]
  assign reg_1_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225356.4]
  assign reg_1_d = io_d[1]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225355.4]
  assign reg_2_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225358.4]
  assign reg_2_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225357.4]
  assign reg_2_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225361.4]
  assign reg_2_d = io_d[2]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225360.4]
  assign reg_3_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225363.4]
  assign reg_3_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225362.4]
  assign reg_3_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225366.4]
  assign reg_3_d = io_d[3]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225365.4]
  assign reg_4_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225368.4]
  assign reg_4_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225367.4]
  assign reg_4_en = io_en; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225371.4]
  assign reg_4_d = io_d[4]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225370.4]
endmodule
module PMU( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225402.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225403.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225404.4]
  input         io_wakeup_rtc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  output        io_control_corerst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input         io_regs_ie_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input  [3:0]  io_regs_ie_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  output [3:0]  io_regs_ie_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input         io_regs_cause_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  output [31:0] io_regs_cause_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input         io_regs_sleep_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input         io_regs_key_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input  [31:0] io_regs_key_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  output [31:0] io_regs_key_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input         io_regs_wakeupProgram_0_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input  [31:0] io_regs_wakeupProgram_0_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  output [31:0] io_regs_wakeupProgram_0_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input         io_regs_wakeupProgram_1_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input  [31:0] io_regs_wakeupProgram_1_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  output [31:0] io_regs_wakeupProgram_1_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input         io_regs_wakeupProgram_2_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input  [31:0] io_regs_wakeupProgram_2_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  output [31:0] io_regs_wakeupProgram_2_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input         io_regs_wakeupProgram_3_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input  [31:0] io_regs_wakeupProgram_3_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  output [31:0] io_regs_wakeupProgram_3_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input         io_regs_wakeupProgram_4_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input  [31:0] io_regs_wakeupProgram_4_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  output [31:0] io_regs_wakeupProgram_4_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input         io_regs_wakeupProgram_5_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input  [31:0] io_regs_wakeupProgram_5_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  output [31:0] io_regs_wakeupProgram_5_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input         io_regs_wakeupProgram_6_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input  [31:0] io_regs_wakeupProgram_6_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  output [31:0] io_regs_wakeupProgram_6_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input         io_regs_wakeupProgram_7_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input  [31:0] io_regs_wakeupProgram_7_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  output [31:0] io_regs_wakeupProgram_7_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input         io_regs_sleepProgram_0_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input  [31:0] io_regs_sleepProgram_0_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  output [31:0] io_regs_sleepProgram_0_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input         io_regs_sleepProgram_1_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input  [31:0] io_regs_sleepProgram_1_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  output [31:0] io_regs_sleepProgram_1_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input         io_regs_sleepProgram_2_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input  [31:0] io_regs_sleepProgram_2_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  output [31:0] io_regs_sleepProgram_2_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input         io_regs_sleepProgram_3_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input  [31:0] io_regs_sleepProgram_3_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  output [31:0] io_regs_sleepProgram_3_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input         io_regs_sleepProgram_4_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input  [31:0] io_regs_sleepProgram_4_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  output [31:0] io_regs_sleepProgram_4_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input         io_regs_sleepProgram_5_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input  [31:0] io_regs_sleepProgram_5_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  output [31:0] io_regs_sleepProgram_5_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input         io_regs_sleepProgram_6_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input  [31:0] io_regs_sleepProgram_6_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  output [31:0] io_regs_sleepProgram_6_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input         io_regs_sleepProgram_7_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input  [31:0] io_regs_sleepProgram_7_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  output [31:0] io_regs_sleepProgram_7_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input         io_resetCauses_wdogrst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
  input         io_resetCauses_erst // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225405.4]
);
  wire  core_clock; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_reset; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_io_wakeup_rtc; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_io_control_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_io_control_bits_hfclkrst; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_io_control_bits_corerst; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_io_control_bits_reserved1; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_io_control_bits_vddpaden; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_io_control_bits_reserved0; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [1:0] core_io_resetCause; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_io_regs_ie_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [3:0] core_io_regs_ie_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [3:0] core_io_regs_ie_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_io_regs_cause_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_cause_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_io_regs_sleep_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_io_regs_key_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_key_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_key_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_io_regs_wakeupProgram_0_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_wakeupProgram_0_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_wakeupProgram_0_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_io_regs_wakeupProgram_1_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_wakeupProgram_1_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_wakeupProgram_1_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_io_regs_wakeupProgram_2_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_wakeupProgram_2_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_wakeupProgram_2_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_io_regs_wakeupProgram_3_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_wakeupProgram_3_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_wakeupProgram_3_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_io_regs_wakeupProgram_4_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_wakeupProgram_4_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_wakeupProgram_4_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_io_regs_wakeupProgram_5_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_wakeupProgram_5_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_wakeupProgram_5_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_io_regs_wakeupProgram_6_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_wakeupProgram_6_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_wakeupProgram_6_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_io_regs_wakeupProgram_7_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_wakeupProgram_7_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_wakeupProgram_7_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_io_regs_sleepProgram_0_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_sleepProgram_0_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_sleepProgram_0_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_io_regs_sleepProgram_1_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_sleepProgram_1_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_sleepProgram_1_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_io_regs_sleepProgram_2_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_sleepProgram_2_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_sleepProgram_2_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_io_regs_sleepProgram_3_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_sleepProgram_3_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_sleepProgram_3_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_io_regs_sleepProgram_4_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_sleepProgram_4_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_sleepProgram_4_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_io_regs_sleepProgram_5_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_sleepProgram_5_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_sleepProgram_5_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_io_regs_sleepProgram_6_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_sleepProgram_6_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_sleepProgram_6_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  core_io_regs_sleepProgram_7_write_valid; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_sleepProgram_7_write_bits; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire [31:0] core_io_regs_sleepProgram_7_read; // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
  wire  AsyncResetRegVec_w5_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225426.4]
  wire  AsyncResetRegVec_w5_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225426.4]
  wire [4:0] AsyncResetRegVec_w5_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225426.4]
  wire [4:0] AsyncResetRegVec_w5_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225426.4]
  wire  AsyncResetRegVec_w5_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225426.4]
  wire  SRLatch_q; // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225451.4]
  wire  SRLatch_reset; // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225451.4]
  wire  SRLatch_set; // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225451.4]
  wire  SRLatch_1_q; // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225461.4]
  wire  SRLatch_1_reset; // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225461.4]
  wire  SRLatch_1_set; // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225461.4]
  wire  SRLatch_2_q; // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225471.4]
  wire  SRLatch_2_reset; // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225471.4]
  wire  SRLatch_2_set; // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225471.4]
  reg  _T_132; // @[PMU.scala 134:33:shc.marmotcaravel.MarmotCaravelConfig.fir@225410.4]
  reg [31:0] _RAND_0;
  reg  coreReset; // @[PMU.scala 134:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225412.4]
  reg [31:0] _RAND_1;
  wire [1:0] _T_134; // @[PMU.scala 141:52:shc.marmotcaravel.MarmotCaravelConfig.fir@225421.4]
  wire [1:0] _T_135; // @[PMU.scala 141:52:shc.marmotcaravel.MarmotCaravelConfig.fir@225422.4]
  wire [2:0] _T_136; // @[PMU.scala 141:52:shc.marmotcaravel.MarmotCaravelConfig.fir@225423.4]
  wire [4:0] _T_137; // @[PMU.scala 141:52:shc.marmotcaravel.MarmotCaravelConfig.fir@225424.4]
  wire [4:0] latch; // @[PMU.scala 141:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225432.4]
  wire [1:0] _T_148; // @[PMU.scala 145:32:shc.marmotcaravel.MarmotCaravelConfig.fir@225449.4]
  wire [2:0] _T_149; // @[PMU.scala 145:32:shc.marmotcaravel.MarmotCaravelConfig.fir@225450.4]
  wire  _T_150; // @[PMU.scala 148:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225455.4]
  wire  _T_151; // @[PMU.scala 149:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225457.4]
  wire  _T_152; // @[PMU.scala 149:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225458.4]
  wire [1:0] _T_162; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225481.4]
  wire [2:0] _T_163; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225482.4]
  wire  _T_164; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225483.4]
  wire [1:0] _T_165; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225484.4]
  wire [1:0] _GEN_0; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225486.4]
  wire [1:0] _T_167; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225486.4]
  wire  _T_168; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@225487.4]
  PMUCore core ( // @[PMU.scala 135:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225415.4]
    .clock(core_clock),
    .reset(core_reset),
    .io_wakeup_rtc(core_io_wakeup_rtc),
    .io_control_valid(core_io_control_valid),
    .io_control_bits_hfclkrst(core_io_control_bits_hfclkrst),
    .io_control_bits_corerst(core_io_control_bits_corerst),
    .io_control_bits_reserved1(core_io_control_bits_reserved1),
    .io_control_bits_vddpaden(core_io_control_bits_vddpaden),
    .io_control_bits_reserved0(core_io_control_bits_reserved0),
    .io_resetCause(core_io_resetCause),
    .io_regs_ie_write_valid(core_io_regs_ie_write_valid),
    .io_regs_ie_write_bits(core_io_regs_ie_write_bits),
    .io_regs_ie_read(core_io_regs_ie_read),
    .io_regs_cause_write_valid(core_io_regs_cause_write_valid),
    .io_regs_cause_read(core_io_regs_cause_read),
    .io_regs_sleep_write_valid(core_io_regs_sleep_write_valid),
    .io_regs_key_write_valid(core_io_regs_key_write_valid),
    .io_regs_key_write_bits(core_io_regs_key_write_bits),
    .io_regs_key_read(core_io_regs_key_read),
    .io_regs_wakeupProgram_0_write_valid(core_io_regs_wakeupProgram_0_write_valid),
    .io_regs_wakeupProgram_0_write_bits(core_io_regs_wakeupProgram_0_write_bits),
    .io_regs_wakeupProgram_0_read(core_io_regs_wakeupProgram_0_read),
    .io_regs_wakeupProgram_1_write_valid(core_io_regs_wakeupProgram_1_write_valid),
    .io_regs_wakeupProgram_1_write_bits(core_io_regs_wakeupProgram_1_write_bits),
    .io_regs_wakeupProgram_1_read(core_io_regs_wakeupProgram_1_read),
    .io_regs_wakeupProgram_2_write_valid(core_io_regs_wakeupProgram_2_write_valid),
    .io_regs_wakeupProgram_2_write_bits(core_io_regs_wakeupProgram_2_write_bits),
    .io_regs_wakeupProgram_2_read(core_io_regs_wakeupProgram_2_read),
    .io_regs_wakeupProgram_3_write_valid(core_io_regs_wakeupProgram_3_write_valid),
    .io_regs_wakeupProgram_3_write_bits(core_io_regs_wakeupProgram_3_write_bits),
    .io_regs_wakeupProgram_3_read(core_io_regs_wakeupProgram_3_read),
    .io_regs_wakeupProgram_4_write_valid(core_io_regs_wakeupProgram_4_write_valid),
    .io_regs_wakeupProgram_4_write_bits(core_io_regs_wakeupProgram_4_write_bits),
    .io_regs_wakeupProgram_4_read(core_io_regs_wakeupProgram_4_read),
    .io_regs_wakeupProgram_5_write_valid(core_io_regs_wakeupProgram_5_write_valid),
    .io_regs_wakeupProgram_5_write_bits(core_io_regs_wakeupProgram_5_write_bits),
    .io_regs_wakeupProgram_5_read(core_io_regs_wakeupProgram_5_read),
    .io_regs_wakeupProgram_6_write_valid(core_io_regs_wakeupProgram_6_write_valid),
    .io_regs_wakeupProgram_6_write_bits(core_io_regs_wakeupProgram_6_write_bits),
    .io_regs_wakeupProgram_6_read(core_io_regs_wakeupProgram_6_read),
    .io_regs_wakeupProgram_7_write_valid(core_io_regs_wakeupProgram_7_write_valid),
    .io_regs_wakeupProgram_7_write_bits(core_io_regs_wakeupProgram_7_write_bits),
    .io_regs_wakeupProgram_7_read(core_io_regs_wakeupProgram_7_read),
    .io_regs_sleepProgram_0_write_valid(core_io_regs_sleepProgram_0_write_valid),
    .io_regs_sleepProgram_0_write_bits(core_io_regs_sleepProgram_0_write_bits),
    .io_regs_sleepProgram_0_read(core_io_regs_sleepProgram_0_read),
    .io_regs_sleepProgram_1_write_valid(core_io_regs_sleepProgram_1_write_valid),
    .io_regs_sleepProgram_1_write_bits(core_io_regs_sleepProgram_1_write_bits),
    .io_regs_sleepProgram_1_read(core_io_regs_sleepProgram_1_read),
    .io_regs_sleepProgram_2_write_valid(core_io_regs_sleepProgram_2_write_valid),
    .io_regs_sleepProgram_2_write_bits(core_io_regs_sleepProgram_2_write_bits),
    .io_regs_sleepProgram_2_read(core_io_regs_sleepProgram_2_read),
    .io_regs_sleepProgram_3_write_valid(core_io_regs_sleepProgram_3_write_valid),
    .io_regs_sleepProgram_3_write_bits(core_io_regs_sleepProgram_3_write_bits),
    .io_regs_sleepProgram_3_read(core_io_regs_sleepProgram_3_read),
    .io_regs_sleepProgram_4_write_valid(core_io_regs_sleepProgram_4_write_valid),
    .io_regs_sleepProgram_4_write_bits(core_io_regs_sleepProgram_4_write_bits),
    .io_regs_sleepProgram_4_read(core_io_regs_sleepProgram_4_read),
    .io_regs_sleepProgram_5_write_valid(core_io_regs_sleepProgram_5_write_valid),
    .io_regs_sleepProgram_5_write_bits(core_io_regs_sleepProgram_5_write_bits),
    .io_regs_sleepProgram_5_read(core_io_regs_sleepProgram_5_read),
    .io_regs_sleepProgram_6_write_valid(core_io_regs_sleepProgram_6_write_valid),
    .io_regs_sleepProgram_6_write_bits(core_io_regs_sleepProgram_6_write_bits),
    .io_regs_sleepProgram_6_read(core_io_regs_sleepProgram_6_read),
    .io_regs_sleepProgram_7_write_valid(core_io_regs_sleepProgram_7_write_valid),
    .io_regs_sleepProgram_7_write_bits(core_io_regs_sleepProgram_7_write_bits),
    .io_regs_sleepProgram_7_read(core_io_regs_sleepProgram_7_read)
  );
  AsyncResetRegVec_w5_i0 AsyncResetRegVec_w5_i0 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225426.4]
    .clock(AsyncResetRegVec_w5_i0_clock),
    .reset(AsyncResetRegVec_w5_i0_reset),
    .io_d(AsyncResetRegVec_w5_i0_io_d),
    .io_q(AsyncResetRegVec_w5_i0_io_q),
    .io_en(AsyncResetRegVec_w5_i0_io_en)
  );
  SRLatch SRLatch ( // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225451.4]
    .q(SRLatch_q),
    .reset(SRLatch_reset),
    .set(SRLatch_set)
  );
  SRLatch SRLatch_1 ( // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225461.4]
    .q(SRLatch_1_q),
    .reset(SRLatch_1_reset),
    .set(SRLatch_1_set)
  );
  SRLatch SRLatch_2 ( // @[PMU.scala 147:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225471.4]
    .q(SRLatch_2_q),
    .reset(SRLatch_2_reset),
    .set(SRLatch_2_set)
  );
  assign _T_134 = {core_io_control_bits_vddpaden,core_io_control_bits_reserved0}; // @[PMU.scala 141:52:shc.marmotcaravel.MarmotCaravelConfig.fir@225421.4]
  assign _T_135 = {core_io_control_bits_hfclkrst,core_io_control_bits_corerst}; // @[PMU.scala 141:52:shc.marmotcaravel.MarmotCaravelConfig.fir@225422.4]
  assign _T_136 = {_T_135,core_io_control_bits_reserved1}; // @[PMU.scala 141:52:shc.marmotcaravel.MarmotCaravelConfig.fir@225423.4]
  assign _T_137 = {_T_136,_T_134}; // @[PMU.scala 141:52:shc.marmotcaravel.MarmotCaravelConfig.fir@225424.4]
  assign latch = ~ AsyncResetRegVec_w5_i0_io_q; // @[PMU.scala 141:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225432.4]
  assign _T_148 = {io_resetCauses_wdogrst,io_resetCauses_erst}; // @[PMU.scala 145:32:shc.marmotcaravel.MarmotCaravelConfig.fir@225449.4]
  assign _T_149 = {_T_148,1'h0}; // @[PMU.scala 145:32:shc.marmotcaravel.MarmotCaravelConfig.fir@225450.4]
  assign _T_150 = _T_149[0]; // @[PMU.scala 148:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225455.4]
  assign _T_151 = _T_149[1]; // @[PMU.scala 149:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225457.4]
  assign _T_152 = _T_149[2]; // @[PMU.scala 149:74:shc.marmotcaravel.MarmotCaravelConfig.fir@225458.4]
  assign _T_162 = {SRLatch_2_q,SRLatch_1_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225481.4]
  assign _T_163 = {_T_162,SRLatch_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225482.4]
  assign _T_164 = _T_163[2]; // @[OneHot.scala 26:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225483.4]
  assign _T_165 = _T_163[1:0]; // @[OneHot.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225484.4]
  assign _GEN_0 = {{1'd0}, _T_164}; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225486.4]
  assign _T_167 = _GEN_0 | _T_165; // @[OneHot.scala 28:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225486.4]
  assign _T_168 = _T_167[1]; // @[CircuitMath.scala 30:8:shc.marmotcaravel.MarmotCaravelConfig.fir@225487.4]
  assign io_control_corerst = latch[3]; // @[PMU.scala 142:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225448.4]
  assign io_regs_ie_read = core_io_regs_ie_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign io_regs_cause_read = core_io_regs_cause_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign io_regs_key_read = core_io_regs_key_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign io_regs_wakeupProgram_0_read = core_io_regs_wakeupProgram_0_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign io_regs_wakeupProgram_1_read = core_io_regs_wakeupProgram_1_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign io_regs_wakeupProgram_2_read = core_io_regs_wakeupProgram_2_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign io_regs_wakeupProgram_3_read = core_io_regs_wakeupProgram_3_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign io_regs_wakeupProgram_4_read = core_io_regs_wakeupProgram_4_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign io_regs_wakeupProgram_5_read = core_io_regs_wakeupProgram_5_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign io_regs_wakeupProgram_6_read = core_io_regs_wakeupProgram_6_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign io_regs_wakeupProgram_7_read = core_io_regs_wakeupProgram_7_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign io_regs_sleepProgram_0_read = core_io_regs_sleepProgram_0_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign io_regs_sleepProgram_1_read = core_io_regs_sleepProgram_1_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign io_regs_sleepProgram_2_read = core_io_regs_sleepProgram_2_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign io_regs_sleepProgram_3_read = core_io_regs_sleepProgram_3_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign io_regs_sleepProgram_4_read = core_io_regs_sleepProgram_4_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign io_regs_sleepProgram_5_read = core_io_regs_sleepProgram_5_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign io_regs_sleepProgram_6_read = core_io_regs_sleepProgram_6_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign io_regs_sleepProgram_7_read = core_io_regs_sleepProgram_7_read; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225417.4]
  assign core_reset = coreReset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225418.4]
  assign core_io_wakeup_rtc = io_wakeup_rtc; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_resetCause = {_T_164,_T_168}; // @[PMU.scala 144:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225489.4]
  assign core_io_regs_ie_write_valid = io_regs_ie_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_ie_write_bits = io_regs_ie_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_cause_write_valid = io_regs_cause_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_sleep_write_valid = io_regs_sleep_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_key_write_valid = io_regs_key_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_key_write_bits = io_regs_key_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_wakeupProgram_0_write_valid = io_regs_wakeupProgram_0_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_wakeupProgram_0_write_bits = io_regs_wakeupProgram_0_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_wakeupProgram_1_write_valid = io_regs_wakeupProgram_1_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_wakeupProgram_1_write_bits = io_regs_wakeupProgram_1_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_wakeupProgram_2_write_valid = io_regs_wakeupProgram_2_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_wakeupProgram_2_write_bits = io_regs_wakeupProgram_2_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_wakeupProgram_3_write_valid = io_regs_wakeupProgram_3_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_wakeupProgram_3_write_bits = io_regs_wakeupProgram_3_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_wakeupProgram_4_write_valid = io_regs_wakeupProgram_4_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_wakeupProgram_4_write_bits = io_regs_wakeupProgram_4_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_wakeupProgram_5_write_valid = io_regs_wakeupProgram_5_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_wakeupProgram_5_write_bits = io_regs_wakeupProgram_5_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_wakeupProgram_6_write_valid = io_regs_wakeupProgram_6_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_wakeupProgram_6_write_bits = io_regs_wakeupProgram_6_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_wakeupProgram_7_write_valid = io_regs_wakeupProgram_7_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_wakeupProgram_7_write_bits = io_regs_wakeupProgram_7_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_sleepProgram_0_write_valid = io_regs_sleepProgram_0_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_sleepProgram_0_write_bits = io_regs_sleepProgram_0_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_sleepProgram_1_write_valid = io_regs_sleepProgram_1_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_sleepProgram_1_write_bits = io_regs_sleepProgram_1_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_sleepProgram_2_write_valid = io_regs_sleepProgram_2_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_sleepProgram_2_write_bits = io_regs_sleepProgram_2_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_sleepProgram_3_write_valid = io_regs_sleepProgram_3_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_sleepProgram_3_write_bits = io_regs_sleepProgram_3_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_sleepProgram_4_write_valid = io_regs_sleepProgram_4_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_sleepProgram_4_write_bits = io_regs_sleepProgram_4_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_sleepProgram_5_write_valid = io_regs_sleepProgram_5_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_sleepProgram_5_write_bits = io_regs_sleepProgram_5_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_sleepProgram_6_write_valid = io_regs_sleepProgram_6_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_sleepProgram_6_write_bits = io_regs_sleepProgram_6_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_sleepProgram_7_write_valid = io_regs_sleepProgram_7_write_valid; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign core_io_regs_sleepProgram_7_write_bits = io_regs_sleepProgram_7_write_bits; // @[PMU.scala 137:6:shc.marmotcaravel.MarmotCaravelConfig.fir@225419.4]
  assign AsyncResetRegVec_w5_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225428.4]
  assign AsyncResetRegVec_w5_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225429.4]
  assign AsyncResetRegVec_w5_i0_io_d = ~ _T_137; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225430.4]
  assign AsyncResetRegVec_w5_i0_io_en = core_io_control_valid; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225431.4]
  assign SRLatch_reset = _T_151 | _T_152; // @[PMU.scala 149:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225460.4]
  assign SRLatch_set = _T_149[0]; // @[PMU.scala 148:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225456.4]
  assign SRLatch_1_reset = _T_150 | _T_152; // @[PMU.scala 149:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225470.4]
  assign SRLatch_1_set = _T_149[1]; // @[PMU.scala 148:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225466.4]
  assign SRLatch_2_reset = _T_150 | _T_151; // @[PMU.scala 149:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225480.4]
  assign SRLatch_2_set = _T_149[2]; // @[PMU.scala 148:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225476.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_132 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  coreReset = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    _T_132 <= reset;
    coreReset <= _T_132;
  end
endmodule
module WatchdogTimer( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225646.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225647.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225648.4]
  input         io_regs_cfg_write__ip_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  input         io_regs_cfg_write__running, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  input         io_regs_cfg_write__countAlways, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  input         io_regs_cfg_write__zerocmp, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  input         io_regs_cfg_write__sticky, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  input  [3:0]  io_regs_cfg_write__scale, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  output        io_regs_cfg_read_ip_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  output        io_regs_cfg_read_running, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  output        io_regs_cfg_read_countAlways, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  output        io_regs_cfg_read_deglitch, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  output        io_regs_cfg_read_sticky, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  output [3:0]  io_regs_cfg_read_scale, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  input         io_regs_cfg_write_ip_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  input         io_regs_cfg_write_gang_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  input         io_regs_cfg_write_extra_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  input         io_regs_cfg_write_center_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  input         io_regs_cfg_write_running, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  input         io_regs_cfg_write_countAlways, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  input         io_regs_cfg_write_deglitch, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  input         io_regs_cfg_write_zerocmp, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  input         io_regs_cfg_write_sticky, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  input         io_regs_cfg_write_scale, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  input         io_regs_countLo_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  input  [30:0] io_regs_countLo_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  output [30:0] io_regs_countLo_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  input         io_regs_countHi_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  input         io_regs_s_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  output [15:0] io_regs_s_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  input         io_regs_cmp_0_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  input  [15:0] io_regs_cmp_0_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  output [15:0] io_regs_cmp_0_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  input         io_regs_feed_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  input  [31:0] io_regs_feed_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  input         io_regs_key_write_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  input  [31:0] io_regs_key_write_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  output [31:0] io_regs_key_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  output        io_ip_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  input         io_corerst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
  output        io_rst // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225649.4]
);
  wire  AsyncResetRegVec_w1_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225684.4]
  wire  AsyncResetRegVec_w1_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225684.4]
  wire  AsyncResetRegVec_w1_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225684.4]
  wire  AsyncResetRegVec_w1_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225684.4]
  wire  AsyncResetRegVec_w1_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225684.4]
  wire  AsyncResetRegVec_w1_i0_1_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225706.4]
  wire  AsyncResetRegVec_w1_i0_1_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225706.4]
  wire  AsyncResetRegVec_w1_i0_1_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225706.4]
  wire  AsyncResetRegVec_w1_i0_1_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225706.4]
  wire  AsyncResetRegVec_w1_i0_1_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225706.4]
  wire  AsyncResetRegVec_w1_i0_2_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225714.4]
  wire  AsyncResetRegVec_w1_i0_2_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225714.4]
  wire  AsyncResetRegVec_w1_i0_2_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225714.4]
  wire  AsyncResetRegVec_w1_i0_2_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225714.4]
  wire  AsyncResetRegVec_w1_i0_2_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225714.4]
  wire  AsyncResetRegVec_w1_i0_3_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225856.4]
  wire  AsyncResetRegVec_w1_i0_3_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225856.4]
  wire  AsyncResetRegVec_w1_i0_3_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225856.4]
  wire  AsyncResetRegVec_w1_i0_3_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225856.4]
  wire  AsyncResetRegVec_w1_i0_3_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225856.4]
  wire  AsyncResetRegVec_w1_i0_4_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225875.4]
  wire  AsyncResetRegVec_w1_i0_4_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225875.4]
  wire  AsyncResetRegVec_w1_i0_4_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225875.4]
  wire  AsyncResetRegVec_w1_i0_4_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225875.4]
  wire  AsyncResetRegVec_w1_i0_4_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225875.4]
  wire  _T_212; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225657.4]
  wire  _T_216; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225661.4]
  wire  _T_220; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225665.4]
  wire  _T_224; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225669.4]
  wire  _T_225; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225670.4]
  wire  _T_226; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225671.4]
  wire  _T_227; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225672.4]
  wire  _T_228; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225673.4]
  wire  _T_229; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225674.4]
  wire  _T_230; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225675.4]
  wire  _T_231; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225676.4]
  wire  _T_232; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225677.4]
  wire  _T_233; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225678.4]
  wire  _T_234; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225679.4]
  wire  _T_235; // @[WatchdogTimer.scala 39:42:shc.marmotcaravel.MarmotCaravelConfig.fir@225680.4]
  wire  _T_236; // @[WatchdogTimer.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@225681.4]
  wire  unlocked; // @[WatchdogTimer.scala 39:114:shc.marmotcaravel.MarmotCaravelConfig.fir@225690.4]
  wire  _T_239; // @[Timer.scala 201:84:shc.marmotcaravel.MarmotCaravelConfig.fir@225691.4]
  reg [3:0] scale; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225692.4]
  reg [31:0] _RAND_0;
  wire  _T_241; // @[Timer.scala 203:82:shc.marmotcaravel.MarmotCaravelConfig.fir@225696.4]
  reg [15:0] cmp_0; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225697.4]
  reg [31:0] _RAND_1;
  reg  _T_244; // @[WatchdogTimer.scala 32:45:shc.marmotcaravel.MarmotCaravelConfig.fir@225701.4]
  reg [31:0] _RAND_2;
  reg  _T_246; // @[WatchdogTimer.scala 32:34:shc.marmotcaravel.MarmotCaravelConfig.fir@225703.4]
  reg [31:0] _RAND_3;
  wire  countAlways; // @[WatchdogTimer.scala 29:123:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  wire  countAwake; // @[WatchdogTimer.scala 30:123:shc.marmotcaravel.MarmotCaravelConfig.fir@225720.4]
  wire  _T_249; // @[WatchdogTimer.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225721.4]
  wire  _T_250; // @[WatchdogTimer.scala 33:32:shc.marmotcaravel.MarmotCaravelConfig.fir@225722.4]
  wire  countEn; // @[WatchdogTimer.scala 33:17:shc.marmotcaravel.MarmotCaravelConfig.fir@225723.4]
  reg [4:0] _T_252; // @[Counters.scala 46:72:shc.marmotcaravel.MarmotCaravelConfig.fir@225724.4]
  reg [31:0] _RAND_4;
  wire [4:0] _GEN_9; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@225725.4]
  wire [5:0] _T_253; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@225725.4]
  reg [25:0] _T_255; // @[Counters.scala 51:70:shc.marmotcaravel.MarmotCaravelConfig.fir@225727.4]
  reg [31:0] _RAND_5;
  wire  _T_256; // @[Counters.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225728.4]
  wire [25:0] _T_258; // @[Counters.scala 52:43:shc.marmotcaravel.MarmotCaravelConfig.fir@225731.6]
  wire [25:0] _GEN_2; // @[Counters.scala 52:34:shc.marmotcaravel.MarmotCaravelConfig.fir@225729.4]
  wire [30:0] _T_259; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225734.4]
  wire  _T_260; // @[Timer.scala 206:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225735.4]
  wire [31:0] _T_262; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225738.6]
  wire [26:0] _T_263; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225740.6]
  wire [31:0] _GEN_3; // @[Timer.scala 206:50:shc.marmotcaravel.MarmotCaravelConfig.fir@225736.4]
  wire [26:0] _GEN_4; // @[Timer.scala 206:50:shc.marmotcaravel.MarmotCaravelConfig.fir@225736.4]
  wire [30:0] _T_264; // @[Timer.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225743.4]
  wire [15:0] s; // @[Timer.scala 210:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225744.4]
  wire  elapsed_0; // @[Timer.scala 212:90:shc.marmotcaravel.MarmotCaravelConfig.fir@225752.4]
  wire  _T_283; // @[WatchdogTimer.scala 43:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225756.4]
  wire  _T_284; // @[WatchdogTimer.scala 43:69:shc.marmotcaravel.MarmotCaravelConfig.fir@225757.4]
  wire  feed; // @[WatchdogTimer.scala 43:42:shc.marmotcaravel.MarmotCaravelConfig.fir@225758.4]
  wire  _T_285; // @[Timer.scala 202:95:shc.marmotcaravel.MarmotCaravelConfig.fir@225759.4]
  reg  zerocmp; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225760.4]
  reg [31:0] _RAND_6;
  wire  _T_287; // @[Timer.scala 213:47:shc.marmotcaravel.MarmotCaravelConfig.fir@225764.4]
  wire  countReset; // @[Timer.scala 213:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225765.4]
  wire [31:0] _GEN_6; // @[Timer.scala 214:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225766.4]
  wire [26:0] _GEN_7; // @[Timer.scala 214:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225766.4]
  wire  _T_343; // @[WatchdogTimer.scala 36:69:shc.marmotcaravel.MarmotCaravelConfig.fir@225827.4]
  wire  _T_351; // @[WatchdogTimer.scala 36:111:shc.marmotcaravel.MarmotCaravelConfig.fir@225831.4]
  wire  _T_352; // @[WatchdogTimer.scala 36:124:shc.marmotcaravel.MarmotCaravelConfig.fir@225832.4]
  reg  ip_0; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225833.4]
  reg [31:0] _RAND_7;
  wire  rsten; // @[WatchdogTimer.scala 35:116:shc.marmotcaravel.MarmotCaravelConfig.fir@225862.4]
  AsyncResetRegVec_w1_i0 AsyncResetRegVec_w1_i0 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225684.4]
    .clock(AsyncResetRegVec_w1_i0_clock),
    .reset(AsyncResetRegVec_w1_i0_reset),
    .io_d(AsyncResetRegVec_w1_i0_io_d),
    .io_q(AsyncResetRegVec_w1_i0_io_q),
    .io_en(AsyncResetRegVec_w1_i0_io_en)
  );
  AsyncResetRegVec_w1_i0 AsyncResetRegVec_w1_i0_1 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225706.4]
    .clock(AsyncResetRegVec_w1_i0_1_clock),
    .reset(AsyncResetRegVec_w1_i0_1_reset),
    .io_d(AsyncResetRegVec_w1_i0_1_io_d),
    .io_q(AsyncResetRegVec_w1_i0_1_io_q),
    .io_en(AsyncResetRegVec_w1_i0_1_io_en)
  );
  AsyncResetRegVec_w1_i0 AsyncResetRegVec_w1_i0_2 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225714.4]
    .clock(AsyncResetRegVec_w1_i0_2_clock),
    .reset(AsyncResetRegVec_w1_i0_2_reset),
    .io_d(AsyncResetRegVec_w1_i0_2_io_d),
    .io_q(AsyncResetRegVec_w1_i0_2_io_q),
    .io_en(AsyncResetRegVec_w1_i0_2_io_en)
  );
  AsyncResetRegVec_w1_i0 AsyncResetRegVec_w1_i0_3 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225856.4]
    .clock(AsyncResetRegVec_w1_i0_3_clock),
    .reset(AsyncResetRegVec_w1_i0_3_reset),
    .io_d(AsyncResetRegVec_w1_i0_3_io_d),
    .io_q(AsyncResetRegVec_w1_i0_3_io_q),
    .io_en(AsyncResetRegVec_w1_i0_3_io_en)
  );
  AsyncResetRegVec_w1_i0 AsyncResetRegVec_w1_i0_4 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225875.4]
    .clock(AsyncResetRegVec_w1_i0_4_clock),
    .reset(AsyncResetRegVec_w1_i0_4_reset),
    .io_d(AsyncResetRegVec_w1_i0_4_io_d),
    .io_q(AsyncResetRegVec_w1_i0_4_io_q),
    .io_en(AsyncResetRegVec_w1_i0_4_io_en)
  );
  assign _T_212 = io_regs_cfg_write_ip_0 | io_regs_cfg_write_gang_0; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225657.4]
  assign _T_216 = _T_212 | io_regs_cfg_write_extra_0; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225661.4]
  assign _T_220 = _T_216 | io_regs_cfg_write_center_0; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225665.4]
  assign _T_224 = _T_220 | io_regs_cfg_write_running; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225669.4]
  assign _T_225 = _T_224 | io_regs_cfg_write_countAlways; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225670.4]
  assign _T_226 = _T_225 | io_regs_cfg_write_deglitch; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225671.4]
  assign _T_227 = _T_226 | io_regs_cfg_write_zerocmp; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225672.4]
  assign _T_228 = _T_227 | io_regs_cfg_write_sticky; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225673.4]
  assign _T_229 = _T_228 | io_regs_cfg_write_scale; // @[Timer.scala 138:13:shc.marmotcaravel.MarmotCaravelConfig.fir@225674.4]
  assign _T_230 = io_regs_feed_write_valid | io_regs_cmp_0_write_valid; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225675.4]
  assign _T_231 = _T_230 | io_regs_s_write_valid; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225676.4]
  assign _T_232 = _T_231 | io_regs_countHi_write_valid; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225677.4]
  assign _T_233 = _T_232 | io_regs_countLo_write_valid; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225678.4]
  assign _T_234 = _T_233 | _T_229; // @[WatchdogTimer.scala 18:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225679.4]
  assign _T_235 = io_regs_key_write_bits == 32'h51f15e; // @[WatchdogTimer.scala 39:42:shc.marmotcaravel.MarmotCaravelConfig.fir@225680.4]
  assign _T_236 = _T_234 == 1'h0; // @[WatchdogTimer.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@225681.4]
  assign unlocked = AsyncResetRegVec_w1_i0_io_q; // @[WatchdogTimer.scala 39:114:shc.marmotcaravel.MarmotCaravelConfig.fir@225690.4]
  assign _T_239 = io_regs_cfg_write_scale & unlocked; // @[Timer.scala 201:84:shc.marmotcaravel.MarmotCaravelConfig.fir@225691.4]
  assign _T_241 = io_regs_cmp_0_write_valid & unlocked; // @[Timer.scala 203:82:shc.marmotcaravel.MarmotCaravelConfig.fir@225696.4]
  assign countAlways = AsyncResetRegVec_w1_i0_1_io_q; // @[WatchdogTimer.scala 29:123:shc.marmotcaravel.MarmotCaravelConfig.fir@225712.4]
  assign countAwake = AsyncResetRegVec_w1_i0_2_io_q; // @[WatchdogTimer.scala 30:123:shc.marmotcaravel.MarmotCaravelConfig.fir@225720.4]
  assign _T_249 = _T_246 == 1'h0; // @[WatchdogTimer.scala 33:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225721.4]
  assign _T_250 = countAwake & _T_249; // @[WatchdogTimer.scala 33:32:shc.marmotcaravel.MarmotCaravelConfig.fir@225722.4]
  assign countEn = countAlways | _T_250; // @[WatchdogTimer.scala 33:17:shc.marmotcaravel.MarmotCaravelConfig.fir@225723.4]
  assign _GEN_9 = {{4'd0}, countEn}; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@225725.4]
  assign _T_253 = _T_252 + _GEN_9; // @[Counters.scala 47:33:shc.marmotcaravel.MarmotCaravelConfig.fir@225725.4]
  assign _T_256 = _T_253[5]; // @[Counters.scala 52:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225728.4]
  assign _T_258 = _T_255 + 26'h1; // @[Counters.scala 52:43:shc.marmotcaravel.MarmotCaravelConfig.fir@225731.6]
  assign _GEN_2 = _T_256 ? _T_258 : _T_255; // @[Counters.scala 52:34:shc.marmotcaravel.MarmotCaravelConfig.fir@225729.4]
  assign _T_259 = {_T_255,_T_252}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225734.4]
  assign _T_260 = io_regs_countLo_write_valid & unlocked; // @[Timer.scala 206:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225735.4]
  assign _T_262 = {1'h0,io_regs_countLo_write_bits}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@225738.6]
  assign _T_263 = _T_262[31:5]; // @[Counters.scala 67:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225740.6]
  assign _GEN_3 = _T_260 ? _T_262 : {{26'd0}, _T_253}; // @[Timer.scala 206:50:shc.marmotcaravel.MarmotCaravelConfig.fir@225736.4]
  assign _GEN_4 = _T_260 ? _T_263 : {{1'd0}, _GEN_2}; // @[Timer.scala 206:50:shc.marmotcaravel.MarmotCaravelConfig.fir@225736.4]
  assign _T_264 = _T_259 >> scale; // @[Timer.scala 210:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225743.4]
  assign s = _T_264[15:0]; // @[Timer.scala 210:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225744.4]
  assign elapsed_0 = s >= cmp_0; // @[Timer.scala 212:90:shc.marmotcaravel.MarmotCaravelConfig.fir@225752.4]
  assign _T_283 = unlocked & io_regs_feed_write_valid; // @[WatchdogTimer.scala 43:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225756.4]
  assign _T_284 = io_regs_feed_write_bits == 32'hd09f00d; // @[WatchdogTimer.scala 43:69:shc.marmotcaravel.MarmotCaravelConfig.fir@225757.4]
  assign feed = _T_283 & _T_284; // @[WatchdogTimer.scala 43:42:shc.marmotcaravel.MarmotCaravelConfig.fir@225758.4]
  assign _T_285 = io_regs_cfg_write_zerocmp & unlocked; // @[Timer.scala 202:95:shc.marmotcaravel.MarmotCaravelConfig.fir@225759.4]
  assign _T_287 = zerocmp & elapsed_0; // @[Timer.scala 213:47:shc.marmotcaravel.MarmotCaravelConfig.fir@225764.4]
  assign countReset = feed | _T_287; // @[Timer.scala 213:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225765.4]
  assign _GEN_6 = countReset ? 32'h0 : _GEN_3; // @[Timer.scala 214:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225766.4]
  assign _GEN_7 = countReset ? 27'h0 : _GEN_4; // @[Timer.scala 214:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225766.4]
  assign _T_343 = io_regs_cfg_write__ip_0 | elapsed_0; // @[WatchdogTimer.scala 36:69:shc.marmotcaravel.MarmotCaravelConfig.fir@225827.4]
  assign _T_351 = io_regs_cfg_write_ip_0 & unlocked; // @[WatchdogTimer.scala 36:111:shc.marmotcaravel.MarmotCaravelConfig.fir@225831.4]
  assign _T_352 = _T_351 | elapsed_0; // @[WatchdogTimer.scala 36:124:shc.marmotcaravel.MarmotCaravelConfig.fir@225832.4]
  assign rsten = AsyncResetRegVec_w1_i0_3_io_q; // @[WatchdogTimer.scala 35:116:shc.marmotcaravel.MarmotCaravelConfig.fir@225862.4]
  assign io_regs_cfg_read_ip_0 = ip_0; // @[Timer.scala 216:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225826.4 Timer.scala 217:23:shc.marmotcaravel.MarmotCaravelConfig.fir@225837.4]
  assign io_regs_cfg_read_running = AsyncResetRegVec_w1_i0_2_io_q; // @[Timer.scala 216:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225826.4 Timer.scala 221:28:shc.marmotcaravel.MarmotCaravelConfig.fir@225851.4]
  assign io_regs_cfg_read_countAlways = AsyncResetRegVec_w1_i0_1_io_q; // @[Timer.scala 216:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225826.4 Timer.scala 222:32:shc.marmotcaravel.MarmotCaravelConfig.fir@225852.4]
  assign io_regs_cfg_read_deglitch = zerocmp; // @[Timer.scala 216:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225826.4 Timer.scala 223:29:shc.marmotcaravel.MarmotCaravelConfig.fir@225853.4 Timer.scala 224:29:shc.marmotcaravel.MarmotCaravelConfig.fir@225854.4]
  assign io_regs_cfg_read_sticky = AsyncResetRegVec_w1_i0_3_io_q; // @[Timer.scala 216:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225826.4 Timer.scala 225:27:shc.marmotcaravel.MarmotCaravelConfig.fir@225864.4]
  assign io_regs_cfg_read_scale = scale; // @[Timer.scala 216:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225826.4 Timer.scala 226:26:shc.marmotcaravel.MarmotCaravelConfig.fir@225865.4]
  assign io_regs_countLo_read = {_T_255,_T_252}; // @[Timer.scala 228:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225866.4]
  assign io_regs_s_read = _T_264[15:0]; // @[Timer.scala 230:18:shc.marmotcaravel.MarmotCaravelConfig.fir@225869.4]
  assign io_regs_cmp_0_read = cmp_0; // @[Timer.scala 231:53:shc.marmotcaravel.MarmotCaravelConfig.fir@225870.4]
  assign io_regs_key_read = {{31'd0}, AsyncResetRegVec_w1_i0_io_q}; // @[Timer.scala 233:20:shc.marmotcaravel.MarmotCaravelConfig.fir@225872.4]
  assign io_ip_0 = ip_0; // @[Timer.scala 234:9:shc.marmotcaravel.MarmotCaravelConfig.fir@225873.4]
  assign io_rst = AsyncResetRegVec_w1_i0_4_io_q; // @[WatchdogTimer.scala 65:10:shc.marmotcaravel.MarmotCaravelConfig.fir@225881.4]
  assign AsyncResetRegVec_w1_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225686.4]
  assign AsyncResetRegVec_w1_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225687.4]
  assign AsyncResetRegVec_w1_i0_io_d = _T_235 & _T_236; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225688.4]
  assign AsyncResetRegVec_w1_i0_io_en = io_regs_key_write_valid | _T_234; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225689.4]
  assign AsyncResetRegVec_w1_i0_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225708.4]
  assign AsyncResetRegVec_w1_i0_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225709.4]
  assign AsyncResetRegVec_w1_i0_1_io_d = io_regs_cfg_write__countAlways; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225710.4]
  assign AsyncResetRegVec_w1_i0_1_io_en = io_regs_cfg_write_countAlways & unlocked; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225711.4]
  assign AsyncResetRegVec_w1_i0_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225716.4]
  assign AsyncResetRegVec_w1_i0_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225717.4]
  assign AsyncResetRegVec_w1_i0_2_io_d = io_regs_cfg_write__running; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225718.4]
  assign AsyncResetRegVec_w1_i0_2_io_en = io_regs_cfg_write_running & unlocked; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225719.4]
  assign AsyncResetRegVec_w1_i0_3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225858.4]
  assign AsyncResetRegVec_w1_i0_3_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225859.4]
  assign AsyncResetRegVec_w1_i0_3_io_d = io_regs_cfg_write__sticky; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225860.4]
  assign AsyncResetRegVec_w1_i0_3_io_en = io_regs_cfg_write_sticky & unlocked; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225861.4]
  assign AsyncResetRegVec_w1_i0_4_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225877.4]
  assign AsyncResetRegVec_w1_i0_4_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225878.4]
  assign AsyncResetRegVec_w1_i0_4_io_d = 1'h1; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@225879.4]
  assign AsyncResetRegVec_w1_i0_4_io_en = rsten & elapsed_0; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225880.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  scale = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  cmp_0 = _RAND_1[15:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_244 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_246 = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_252 = _RAND_4[4:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_255 = _RAND_5[25:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  zerocmp = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  ip_0 = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (_T_239) begin
      scale <= io_regs_cfg_write__scale;
    end
    if (_T_241) begin
      cmp_0 <= io_regs_cmp_0_write_bits;
    end
    _T_244 <= io_corerst;
    _T_246 <= _T_244;
    _T_252 <= _GEN_6[4:0];
    _T_255 <= _GEN_7[25:0];
    if (_T_285) begin
      zerocmp <= io_regs_cfg_write__zerocmp;
    end
    if (_T_352) begin
      ip_0 <= _T_343;
    end
  end
endmodule
module Queue_13( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225883.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225884.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225885.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
  input         io_enq_bits_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
  input  [9:0]  io_enq_bits_index, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
  input  [3:0]  io_enq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
  input  [7:0]  io_enq_bits_extra, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
  output        io_deq_bits_read, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
  output [9:0]  io_deq_bits_index, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
  output [7:0]  io_deq_bits_extra // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225886.4]
);
  reg  _T_35_read [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  reg [31:0] _RAND_0;
  wire  _T_35_read__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  wire  _T_35_read__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  wire  _T_35_read__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  wire  _T_35_read__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  wire  _T_35_read__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  wire  _T_35_read__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  reg [9:0] _T_35_index [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  reg [31:0] _RAND_1;
  wire [9:0] _T_35_index__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  wire  _T_35_index__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  wire [9:0] _T_35_index__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  wire  _T_35_index__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  wire  _T_35_index__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  wire  _T_35_index__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  reg [31:0] _T_35_data [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  reg [31:0] _RAND_2;
  wire [31:0] _T_35_data__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  wire  _T_35_data__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  wire [31:0] _T_35_data__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  wire  _T_35_data__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  wire  _T_35_data__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  wire  _T_35_data__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  reg [3:0] _T_35_mask [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  reg [31:0] _RAND_3;
  wire [3:0] _T_35_mask__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  wire  _T_35_mask__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  wire [3:0] _T_35_mask__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  wire  _T_35_mask__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  wire  _T_35_mask__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  wire  _T_35_mask__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  reg [7:0] _T_35_extra [0:0]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  reg [31:0] _RAND_4;
  wire [7:0] _T_35_extra__T_52_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  wire  _T_35_extra__T_52_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  wire [7:0] _T_35_extra__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  wire  _T_35_extra__T_48_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  wire  _T_35_extra__T_48_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  wire  _T_35_extra__T_48_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  reg  _T_37; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@225889.4]
  reg [31:0] _RAND_5;
  wire  _T_39; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@225891.4]
  wire  _T_42; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225894.4]
  wire  _T_45; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225897.4]
  wire  _T_49; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225910.4]
  assign _T_35_read__T_52_addr = 1'h0;
  assign _T_35_read__T_52_data = _T_35_read[_T_35_read__T_52_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  assign _T_35_read__T_48_data = io_enq_bits_read;
  assign _T_35_read__T_48_addr = 1'h0;
  assign _T_35_read__T_48_mask = 1'h1;
  assign _T_35_read__T_48_en = io_enq_ready & io_enq_valid;
  assign _T_35_index__T_52_addr = 1'h0;
  assign _T_35_index__T_52_data = _T_35_index[_T_35_index__T_52_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  assign _T_35_index__T_48_data = io_enq_bits_index;
  assign _T_35_index__T_48_addr = 1'h0;
  assign _T_35_index__T_48_mask = 1'h1;
  assign _T_35_index__T_48_en = io_enq_ready & io_enq_valid;
  assign _T_35_data__T_52_addr = 1'h0;
  assign _T_35_data__T_52_data = _T_35_data[_T_35_data__T_52_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  assign _T_35_data__T_48_data = io_enq_bits_data;
  assign _T_35_data__T_48_addr = 1'h0;
  assign _T_35_data__T_48_mask = 1'h1;
  assign _T_35_data__T_48_en = io_enq_ready & io_enq_valid;
  assign _T_35_mask__T_52_addr = 1'h0;
  assign _T_35_mask__T_52_data = _T_35_mask[_T_35_mask__T_52_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  assign _T_35_mask__T_48_data = io_enq_bits_mask;
  assign _T_35_mask__T_48_addr = 1'h0;
  assign _T_35_mask__T_48_mask = 1'h1;
  assign _T_35_mask__T_48_en = io_enq_ready & io_enq_valid;
  assign _T_35_extra__T_52_addr = 1'h0;
  assign _T_35_extra__T_52_data = _T_35_extra[_T_35_extra__T_52_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
  assign _T_35_extra__T_48_data = io_enq_bits_extra;
  assign _T_35_extra__T_48_addr = 1'h0;
  assign _T_35_extra__T_48_mask = 1'h1;
  assign _T_35_extra__T_48_en = io_enq_ready & io_enq_valid;
  assign _T_39 = _T_37 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@225891.4]
  assign _T_42 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225894.4]
  assign _T_45 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@225897.4]
  assign _T_49 = _T_42 != _T_45; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225910.4]
  assign io_enq_ready = _T_37 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225917.4]
  assign io_deq_valid = _T_39 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@225915.4]
  assign io_deq_bits_read = _T_35_read__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225923.4]
  assign io_deq_bits_index = _T_35_index__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225922.4]
  assign io_deq_bits_data = _T_35_data__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225921.4]
  assign io_deq_bits_mask = _T_35_mask__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225920.4]
  assign io_deq_bits_extra = _T_35_extra__T_52_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@225919.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  _RAND_0 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    _T_35_read[initvar] = _RAND_0[0:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_1 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    _T_35_index[initvar] = _RAND_1[9:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_2 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    _T_35_data[initvar] = _RAND_2[31:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_3 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    _T_35_mask[initvar] = _RAND_3[3:0];
  `endif // RANDOMIZE_MEM_INIT
  _RAND_4 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 1; initvar = initvar+1)
    _T_35_extra[initvar] = _RAND_4[7:0];
  `endif // RANDOMIZE_MEM_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_37 = _RAND_5[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if(_T_35_read__T_48_en & _T_35_read__T_48_mask) begin
      _T_35_read[_T_35_read__T_48_addr] <= _T_35_read__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
    end
    if(_T_35_index__T_48_en & _T_35_index__T_48_mask) begin
      _T_35_index[_T_35_index__T_48_addr] <= _T_35_index__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
    end
    if(_T_35_data__T_48_en & _T_35_data__T_48_mask) begin
      _T_35_data[_T_35_data__T_48_addr] <= _T_35_data__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
    end
    if(_T_35_mask__T_48_en & _T_35_mask__T_48_mask) begin
      _T_35_mask[_T_35_mask__T_48_addr] <= _T_35_mask__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
    end
    if(_T_35_extra__T_48_en & _T_35_extra__T_48_mask) begin
      _T_35_extra[_T_35_extra__T_48_addr] <= _T_35_extra__T_48_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@225888.4]
    end
    if (reset) begin
      _T_37 <= 1'h0;
    end else begin
      if (_T_49) begin
        _T_37 <= _T_42;
      end
    end
  end
endmodule
module TLMockAON( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225931.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225932.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225933.4]
  output        auto_int_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
  output        auto_int_out_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225934.4]
  output        io_moff_corerst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225935.4]
  output        io_wdog_rst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225935.4]
  output        io_lfclk, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225935.4]
  input         io_lfextclk, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225935.4]
  input         io_resetCauses_wdogrst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225935.4]
  input         io_resetCauses_erst // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225935.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
  wire  rtc_clock; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
  wire  rtc_reset; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
  wire  rtc_io_regs_cfg_write__countAlways; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
  wire [3:0] rtc_io_regs_cfg_write__scale; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
  wire  rtc_io_regs_cfg_read_ip_0; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
  wire  rtc_io_regs_cfg_read_countAlways; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
  wire [3:0] rtc_io_regs_cfg_read_scale; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
  wire  rtc_io_regs_cfg_write_countAlways; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
  wire  rtc_io_regs_cfg_write_scale; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
  wire  rtc_io_regs_countLo_write_valid; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
  wire [31:0] rtc_io_regs_countLo_write_bits; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
  wire [31:0] rtc_io_regs_countLo_read; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
  wire  rtc_io_regs_countHi_write_valid; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
  wire [31:0] rtc_io_regs_countHi_write_bits; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
  wire [31:0] rtc_io_regs_countHi_read; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
  wire [31:0] rtc_io_regs_s_read; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
  wire  rtc_io_regs_cmp_0_write_valid; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
  wire [31:0] rtc_io_regs_cmp_0_write_bits; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
  wire [31:0] rtc_io_regs_cmp_0_read; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
  wire  rtc_io_ip_0; // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
  wire  pmu_clock; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire  pmu_reset; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire  pmu_io_wakeup_rtc; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire  pmu_io_control_corerst; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire  pmu_io_regs_ie_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [3:0] pmu_io_regs_ie_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [3:0] pmu_io_regs_ie_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire  pmu_io_regs_cause_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_cause_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire  pmu_io_regs_sleep_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire  pmu_io_regs_key_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_key_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_key_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire  pmu_io_regs_wakeupProgram_0_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_wakeupProgram_0_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_wakeupProgram_0_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire  pmu_io_regs_wakeupProgram_1_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_wakeupProgram_1_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_wakeupProgram_1_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire  pmu_io_regs_wakeupProgram_2_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_wakeupProgram_2_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_wakeupProgram_2_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire  pmu_io_regs_wakeupProgram_3_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_wakeupProgram_3_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_wakeupProgram_3_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire  pmu_io_regs_wakeupProgram_4_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_wakeupProgram_4_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_wakeupProgram_4_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire  pmu_io_regs_wakeupProgram_5_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_wakeupProgram_5_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_wakeupProgram_5_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire  pmu_io_regs_wakeupProgram_6_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_wakeupProgram_6_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_wakeupProgram_6_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire  pmu_io_regs_wakeupProgram_7_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_wakeupProgram_7_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_wakeupProgram_7_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire  pmu_io_regs_sleepProgram_0_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_sleepProgram_0_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_sleepProgram_0_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire  pmu_io_regs_sleepProgram_1_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_sleepProgram_1_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_sleepProgram_1_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire  pmu_io_regs_sleepProgram_2_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_sleepProgram_2_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_sleepProgram_2_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire  pmu_io_regs_sleepProgram_3_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_sleepProgram_3_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_sleepProgram_3_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire  pmu_io_regs_sleepProgram_4_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_sleepProgram_4_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_sleepProgram_4_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire  pmu_io_regs_sleepProgram_5_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_sleepProgram_5_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_sleepProgram_5_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire  pmu_io_regs_sleepProgram_6_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_sleepProgram_6_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_sleepProgram_6_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire  pmu_io_regs_sleepProgram_7_write_valid; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_sleepProgram_7_write_bits; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire [31:0] pmu_io_regs_sleepProgram_7_read; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire  pmu_io_resetCauses_wdogrst; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire  pmu_io_resetCauses_erst; // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
  wire  wdog_clock; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_reset; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_regs_cfg_write__ip_0; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_regs_cfg_write__running; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_regs_cfg_write__countAlways; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_regs_cfg_write__zerocmp; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_regs_cfg_write__sticky; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire [3:0] wdog_io_regs_cfg_write__scale; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_regs_cfg_read_ip_0; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_regs_cfg_read_running; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_regs_cfg_read_countAlways; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_regs_cfg_read_deglitch; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_regs_cfg_read_sticky; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire [3:0] wdog_io_regs_cfg_read_scale; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_regs_cfg_write_ip_0; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_regs_cfg_write_gang_0; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_regs_cfg_write_extra_0; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_regs_cfg_write_center_0; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_regs_cfg_write_running; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_regs_cfg_write_countAlways; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_regs_cfg_write_deglitch; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_regs_cfg_write_zerocmp; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_regs_cfg_write_sticky; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_regs_cfg_write_scale; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_regs_countLo_write_valid; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire [30:0] wdog_io_regs_countLo_write_bits; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire [30:0] wdog_io_regs_countLo_read; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_regs_countHi_write_valid; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_regs_s_write_valid; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire [15:0] wdog_io_regs_s_read; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_regs_cmp_0_write_valid; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire [15:0] wdog_io_regs_cmp_0_write_bits; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire [15:0] wdog_io_regs_cmp_0_read; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_regs_feed_write_valid; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire [31:0] wdog_io_regs_feed_write_bits; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_regs_key_write_valid; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire [31:0] wdog_io_regs_key_write_bits; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire [31:0] wdog_io_regs_key_read; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_ip_0; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_corerst; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  wdog_io_rst; // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
  wire  Queue_clock; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
  wire  Queue_reset; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
  wire  Queue_io_enq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
  wire  Queue_io_enq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
  wire  Queue_io_enq_bits_read; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
  wire [9:0] Queue_io_enq_bits_index; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
  wire [31:0] Queue_io_enq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
  wire [3:0] Queue_io_enq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
  wire [7:0] Queue_io_enq_bits_extra; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
  wire  Queue_io_deq_ready; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
  wire  Queue_io_deq_valid; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
  wire  Queue_io_deq_bits_read; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
  wire [9:0] Queue_io_deq_bits_index; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
  wire [31:0] Queue_io_deq_bits_data; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
  wire [3:0] Queue_io_deq_bits_mask; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
  wire [7:0] Queue_io_deq_bits_extra; // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
  reg [31:0] backupRegs_0; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226011.4]
  reg [31:0] _RAND_0;
  reg [31:0] backupRegs_1; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226012.4]
  reg [31:0] _RAND_1;
  reg [31:0] backupRegs_2; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226013.4]
  reg [31:0] _RAND_2;
  reg [31:0] backupRegs_3; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226014.4]
  reg [31:0] _RAND_3;
  reg [31:0] backupRegs_4; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226015.4]
  reg [31:0] _RAND_4;
  reg [31:0] backupRegs_5; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226016.4]
  reg [31:0] _RAND_5;
  reg [31:0] backupRegs_6; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226017.4]
  reg [31:0] _RAND_6;
  reg [31:0] backupRegs_7; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226018.4]
  reg [31:0] _RAND_7;
  reg [31:0] backupRegs_8; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226019.4]
  reg [31:0] _RAND_8;
  reg [31:0] backupRegs_9; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226020.4]
  reg [31:0] _RAND_9;
  reg [31:0] backupRegs_10; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226021.4]
  reg [31:0] _RAND_10;
  reg [31:0] backupRegs_11; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226022.4]
  reg [31:0] _RAND_11;
  reg [31:0] backupRegs_12; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226023.4]
  reg [31:0] _RAND_12;
  reg [31:0] backupRegs_13; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226024.4]
  reg [31:0] _RAND_13;
  reg [31:0] backupRegs_14; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226025.4]
  reg [31:0] _RAND_14;
  reg [31:0] backupRegs_15; // @[MockAON.scala 86:47:shc.marmotcaravel.MarmotCaravelConfig.fir@226026.4]
  reg [31:0] _RAND_15;
  wire [26:0] _T_291; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226087.4]
  wire [9:0] _T_309; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226110.4]
  wire  _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226112.4]
  wire  _T_777; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@226234.4]
  wire  _T_778; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@226235.4]
  wire  _T_779; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@226236.4]
  wire  _T_780; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@226237.4]
  wire [7:0] _T_782; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@226239.4]
  wire [7:0] _T_784; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@226241.4]
  wire [7:0] _T_786; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@226243.4]
  wire [7:0] _T_788; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@226245.4]
  wire [15:0] _T_789; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226246.4]
  wire [15:0] _T_790; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226247.4]
  wire [31:0] _T_791; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226248.4]
  wire [31:0] _T_800; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226257.4]
  wire  _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226258.4]
  wire  _T_5011; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231030.4]
  wire  _T_2928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228537.4]
  wire  _T_2927; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228536.4]
  wire [1:0] _T_2935; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228544.4]
  wire  _T_2926; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228535.4]
  wire  _T_2925; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228534.4]
  wire [1:0] _T_2934; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228543.4]
  wire [3:0] _T_2936; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228545.4]
  wire  _T_2924; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228533.4]
  wire  _T_2923; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228532.4]
  wire [1:0] _T_2932; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228541.4]
  wire  _T_2922; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228531.4]
  wire [2:0] _T_2933; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228542.4]
  wire [6:0] _T_2937; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228546.4]
  wire [127:0] _T_3067; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@228676.4]
  wire  _T_3137; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228746.4]
  wire  _T_5919; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232143.4]
  wire  _T_5920; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232144.4]
  wire  _T_6337; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232697.4]
  wire  _T_6338; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232698.4]
  wire [31:0] _T_806; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226263.4]
  wire [31:0] _T_815; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226274.4]
  wire [3:0] _T_822; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226281.4]
  wire [3:0] _T_825; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226284.4]
  wire  _T_826; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226285.4]
  wire  _T_3068; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228677.4]
  wire  _T_5923; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232147.4]
  wire  _T_5924; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232148.4]
  wire [3:0] _T_840; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226301.4]
  wire [4:0] _T_866; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226327.4]
  wire [7:0] _T_867; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226328.4]
  wire  _T_874; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226335.4]
  wire  _T_877; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226338.4]
  wire  _T_878; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226339.4]
  wire [8:0] _T_893; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226356.4]
  wire  _T_901; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226364.4]
  wire  _T_904; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226367.4]
  wire  _T_905; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226368.4]
  wire [9:0] _T_920; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226385.4]
  wire  _T_928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226393.4]
  wire  _T_931; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226396.4]
  wire  _T_932; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226397.4]
  wire [10:0] _T_947; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226414.4]
  wire [11:0] _T_974; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226441.4]
  wire  _T_982; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226449.4]
  wire  _T_985; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226452.4]
  wire  _T_986; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226453.4]
  wire [12:0] _T_1001; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226470.4]
  wire  _T_1009; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226478.4]
  wire  _T_1012; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226481.4]
  wire  _T_1013; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226482.4]
  wire [13:0] _T_1028; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226499.4]
  wire [14:0] _T_1055; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226526.4]
  wire [15:0] _T_1056; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226527.4]
  wire  _T_1063; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226534.4]
  wire  _T_1066; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226537.4]
  wire  _T_1067; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226538.4]
  wire [16:0] _T_1082; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226555.4]
  wire [17:0] _T_1109; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226582.4]
  wire [19:0] _T_1110; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226583.4]
  wire  _T_1117; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226590.4]
  wire  _T_1120; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226593.4]
  wire  _T_1121; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226594.4]
  wire [20:0] _T_1136; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226611.4]
  wire [21:0] _T_1163; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226638.4]
  wire [23:0] _T_1164; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226639.4]
  wire  _T_1171; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226646.4]
  wire  _T_1174; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226649.4]
  wire  _T_1175; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226650.4]
  wire [24:0] _T_1190; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226667.4]
  wire [25:0] _T_1217; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226694.4]
  wire [27:0] _T_1218; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226695.4]
  wire  _T_1225; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226702.4]
  wire  _T_1228; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226705.4]
  wire  _T_1229; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226706.4]
  wire [28:0] _T_1244; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226723.4]
  wire [29:0] _T_1271; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226750.4]
  wire [31:0] _T_1272; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226751.4]
  wire  _T_3110; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228719.4]
  wire  _T_6175; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232497.4]
  wire  _T_6176; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232498.4]
  wire  _T_1287; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226766.4]
  wire  _T_3092; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228701.4]
  wire  _T_6067; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232360.4]
  wire  _T_6068; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232361.4]
  wire [31:0] _T_1322; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226806.4]
  wire  _T_3105; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228714.4]
  wire  _T_6145; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232457.4]
  wire  _T_6146; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232458.4]
  wire  _T_1337; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226821.4]
  wire [31:0] _T_1372; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226861.4]
  wire  _T_3114; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228723.4]
  wire  _T_6199; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232529.4]
  wire  _T_6200; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232530.4]
  wire  _T_1387; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226876.4]
  wire  _T_3146; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228755.4]
  wire  _T_6391; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232769.4]
  wire  _T_6392; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232770.4]
  wire [31:0] _T_1422; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226916.4]
  wire  _T_3142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228751.4]
  wire  _T_6367; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232737.4]
  wire  _T_6368; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232738.4]
  wire [31:0] _T_1447; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226943.4]
  wire  _T_3074; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228683.4]
  wire  _T_5959; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232209.4]
  wire  _T_5960; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232210.4]
  wire  _T_3106; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228715.4]
  wire  _T_6151; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232465.4]
  wire  _T_6152; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232466.4]
  wire  _T_1487; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226985.4]
  wire  _T_3138; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228747.4]
  wire  _T_6343; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232705.4]
  wire  _T_6344; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232706.4]
  wire [31:0] _T_1522; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227025.4]
  wire  _T_3101; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228710.4]
  wire  _T_6121; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232425.4]
  wire  _T_6122; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232426.4]
  wire  _T_1537; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227040.4]
  wire  _T_3133; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228742.4]
  wire  _T_6313; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232665.4]
  wire  _T_6314; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232666.4]
  wire [31:0] _T_1572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227080.4]
  wire  _T_3145; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228754.4]
  wire  _T_6385; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232761.4]
  wire  _T_6386; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232762.4]
  wire [31:0] _T_1597; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227107.4]
  wire  _T_3109; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228718.4]
  wire  _T_6169; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232489.4]
  wire  _T_6170; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232490.4]
  wire  _T_1612; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227122.4]
  wire  _T_3141; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228750.4]
  wire  _T_6361; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232729.4]
  wire  _T_6362; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232730.4]
  wire [31:0] _T_1647; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227162.4]
  wire [30:0] _T_1654; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227169.4]
  wire [30:0] _T_1657; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227172.4]
  wire  _T_1658; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227173.4]
  wire  _T_3070; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228679.4]
  wire  _T_5935; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232178.4]
  wire  _T_5936; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232179.4]
  wire [30:0] _T_1672; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227189.4]
  wire  _T_3100; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228709.4]
  wire  _T_6115; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232417.4]
  wire  _T_6116; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232418.4]
  wire  _T_1687; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227204.4]
  wire  _T_3102; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228711.4]
  wire  _T_6127; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232433.4]
  wire  _T_6128; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232434.4]
  wire  _T_1712; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227232.4]
  wire  _T_3113; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228722.4]
  wire  _T_6193; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232521.4]
  wire  _T_6194; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232522.4]
  wire  _T_1737; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227260.4]
  wire  _T_3132; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228741.4]
  wire  _T_6307; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232657.4]
  wire  _T_6308; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232658.4]
  wire [31:0] _T_1772; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227300.4]
  wire  _T_3112; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228721.4]
  wire  _T_6187; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232513.4]
  wire  _T_6188; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232514.4]
  wire  _T_1812; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227342.4]
  wire  _T_3139; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228748.4]
  wire  _T_6349; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232713.4]
  wire  _T_6350; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232714.4]
  wire [31:0] _T_1847; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227382.4]
  wire  _T_3149; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228758.4]
  wire  _T_6409; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232793.4]
  wire  _T_6410; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232794.4]
  wire [31:0] _T_1872; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227409.4]
  wire  _T_3144; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228753.4]
  wire  _T_6379; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232753.4]
  wire  _T_6380; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232754.4]
  wire [31:0] _T_1897; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227436.4]
  wire  _T_3075; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228684.4]
  wire  _T_5965; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232217.4]
  wire  _T_5966; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232218.4]
  wire [31:0] _T_1922; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227463.4]
  wire  _T_3107; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228716.4]
  wire  _T_6157; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232473.4]
  wire  _T_6158; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232474.4]
  wire  _T_1937; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227478.4]
  wire  _T_3134; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228743.4]
  wire  _T_6319; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232673.4]
  wire  _T_6320; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232674.4]
  wire [31:0] _T_1972; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  wire  _T_3071; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228680.4]
  wire  _T_5941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232186.4]
  wire  _T_5942; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232187.4]
  wire  _T_3148; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228757.4]
  wire  _T_6403; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232785.4]
  wire  _T_6404; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232786.4]
  wire [3:0] _T_2022; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227572.4]
  wire  _T_3103; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228712.4]
  wire  _T_6133; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232441.4]
  wire  _T_6134; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232442.4]
  wire  _T_2037; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227587.4]
  wire  _T_3086; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228695.4]
  wire  _T_6031; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232313.4]
  wire  _T_6032; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232314.4]
  wire [31:0] _T_2072; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227627.4]
  wire  _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228744.4]
  wire  _T_6325; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232681.4]
  wire  _T_6326; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232682.4]
  wire [31:0] _T_2097; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227654.4]
  wire  _T_3084; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228693.4]
  wire  _T_6019; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232282.4]
  wire  _T_6020; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232283.4]
  wire [3:0] _T_2122; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227681.4]
  wire [4:0] _T_2148; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227707.4]
  wire [7:0] _T_2149; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227708.4]
  wire [8:0] _T_2175; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227736.4]
  wire [9:0] _T_2202; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227765.4]
  wire [10:0] _T_2229; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227794.4]
  wire [11:0] _T_2256; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227821.4]
  wire [12:0] _T_2283; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227850.4]
  wire [13:0] _T_2310; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227879.4]
  wire [14:0] _T_2337; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227906.4]
  wire [15:0] _T_2338; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227907.4]
  wire [16:0] _T_2364; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227935.4]
  wire [17:0] _T_2391; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227962.4]
  wire [19:0] _T_2392; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227963.4]
  wire [20:0] _T_2418; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227991.4]
  wire [21:0] _T_2445; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228018.4]
  wire [23:0] _T_2446; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228019.4]
  wire [24:0] _T_2472; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228047.4]
  wire [25:0] _T_2499; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228074.4]
  wire [27:0] _T_2500; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228075.4]
  wire [28:0] _T_2526; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228103.4]
  wire [29:0] _T_2553; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228130.4]
  wire [31:0] _T_2554; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228131.4]
  wire  _T_3140; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228749.4]
  wire  _T_6355; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232721.4]
  wire  _T_6356; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232722.4]
  wire [31:0] _T_2579; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228158.4]
  wire  _T_3111; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228720.4]
  wire  _T_6181; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232505.4]
  wire  _T_6182; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232506.4]
  wire  _T_2594; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228173.4]
  wire  _T_3108; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228717.4]
  wire  _T_6163; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232481.4]
  wire  _T_6164; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232482.4]
  wire  _T_2619; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228201.4]
  wire [15:0] _T_2661; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228248.4]
  wire [15:0] _T_2664; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228251.4]
  wire  _T_2665; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228252.4]
  wire  _T_3076; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228685.4]
  wire  _T_5971; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232225.4]
  wire  _T_5972; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232226.4]
  wire [15:0] _T_2679; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228268.4]
  wire  _T_3143; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228752.4]
  wire  _T_6373; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232745.4]
  wire  _T_6374; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232746.4]
  wire [31:0] _T_2704; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228295.4]
  wire  _T_3150; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228759.4]
  wire  _T_6415; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232801.4]
  wire  _T_6416; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232802.4]
  wire  _T_3104; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228713.4]
  wire  _T_6139; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232449.4]
  wire  _T_6140; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232450.4]
  wire  _T_2744; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228337.4]
  wire  _T_3087; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228696.4]
  wire  _T_6037; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232321.4]
  wire  _T_6038; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232322.4]
  wire [31:0] _T_2779; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228377.4]
  wire  _T_3072; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228681.4]
  wire  _T_5947; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232194.4]
  wire  _T_5948; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232195.4]
  wire [15:0] _T_2804; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228404.4]
  wire  _T_3147; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228756.4]
  wire  _T_6397; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232777.4]
  wire  _T_6398; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232778.4]
  wire [31:0] _T_2829; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228431.4]
  wire  _T_3115; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228724.4]
  wire  _T_6205; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232537.4]
  wire  _T_6206; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232538.4]
  wire  _T_2844; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228446.4]
  wire  _T_3136; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228745.4]
  wire  _T_6331; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232689.4]
  wire  _T_6332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232690.4]
  wire [31:0] _T_2879; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228486.4]
  wire  _T_3151; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228760.4]
  wire  _T_6421; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232809.4]
  wire  _T_6422; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232810.4]
  wire [31:0] _T_2904; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228513.4]
  wire  _T_6834; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233269.4]
  wire  _T_6835; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233274.6]
  wire  _T_6836; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233279.8]
  wire  _T_6837; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233284.10]
  wire  _T_6838; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233289.12]
  wire  _T_6839; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233294.14]
  wire  _T_6840; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233299.16]
  wire  _T_6841; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233304.18]
  wire  _T_6842; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233309.20]
  wire  _T_6843; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233314.22]
  wire  _T_6844; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233319.24]
  wire  _T_6845; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233324.26]
  wire  _T_6846; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233329.28]
  wire  _T_6847; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233334.30]
  wire  _T_6848; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233339.32]
  wire  _T_6849; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233344.34]
  wire  _T_6850; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233349.36]
  wire  _T_6851; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233354.38]
  wire  _T_6852; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233359.40]
  wire  _T_6853; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233364.42]
  wire  _T_6854; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233369.44]
  wire  _T_6855; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233374.46]
  wire  _T_6856; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233379.48]
  wire  _T_6857; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233384.50]
  wire  _T_6858; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233389.52]
  wire  _T_6859; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233394.54]
  wire  _T_6860; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233399.56]
  wire  _T_6861; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233404.58]
  wire  _T_6862; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233409.60]
  wire  _T_6863; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233414.62]
  wire  _T_6864; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233419.64]
  wire  _T_6865; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233424.66]
  wire  _T_6866; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233429.68]
  wire  _T_6867; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233434.70]
  wire  _T_6868; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233439.72]
  wire  _T_6869; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233444.74]
  wire  _T_6870; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233449.76]
  wire  _T_6871; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233454.78]
  wire  _T_6872; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233459.80]
  wire  _T_6873; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233464.82]
  wire  _T_6874; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233469.84]
  wire  _T_6875; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233474.86]
  wire  _T_6876; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233479.88]
  wire  _T_6877; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233484.90]
  wire  _T_6878; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233489.92]
  wire  _T_6879; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233494.94]
  wire  _T_6880; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233499.96]
  wire  _T_6881; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233504.98]
  wire  _T_6882; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233509.100]
  wire  _T_6883; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233514.102]
  wire  _GEN_528; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233515.102]
  wire  _GEN_529; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233510.100]
  wire  _GEN_530; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233505.98]
  wire  _GEN_531; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233500.96]
  wire  _GEN_532; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233495.94]
  wire  _GEN_533; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233490.92]
  wire  _GEN_534; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233485.90]
  wire  _GEN_535; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233480.88]
  wire  _GEN_536; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233475.86]
  wire  _GEN_537; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233470.84]
  wire  _GEN_538; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233465.82]
  wire  _GEN_539; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233460.80]
  wire  _GEN_540; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233455.78]
  wire  _GEN_541; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233450.76]
  wire  _GEN_542; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233445.74]
  wire  _GEN_543; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233440.72]
  wire  _GEN_544; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233435.70]
  wire  _GEN_545; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233430.68]
  wire  _GEN_546; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233425.66]
  wire  _GEN_547; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233420.64]
  wire  _GEN_548; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233415.62]
  wire  _GEN_549; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233410.60]
  wire  _GEN_550; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233405.58]
  wire  _GEN_551; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233400.56]
  wire  _GEN_552; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233395.54]
  wire  _GEN_553; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233390.52]
  wire  _GEN_554; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233385.50]
  wire  _GEN_555; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233380.48]
  wire  _GEN_556; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233375.46]
  wire  _GEN_557; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233370.44]
  wire  _GEN_558; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233365.42]
  wire  _GEN_559; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233360.40]
  wire  _GEN_560; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233355.38]
  wire  _GEN_561; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233350.36]
  wire  _GEN_562; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233345.34]
  wire  _GEN_563; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233340.32]
  wire  _GEN_564; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233335.30]
  wire  _GEN_565; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233330.28]
  wire  _GEN_566; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233325.26]
  wire  _GEN_567; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233320.24]
  wire  _GEN_568; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233315.22]
  wire  _GEN_569; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233310.20]
  wire  _GEN_570; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233305.18]
  wire  _GEN_571; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233300.16]
  wire  _GEN_572; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233295.14]
  wire  _GEN_573; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233290.12]
  wire  _GEN_574; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233285.10]
  wire  _GEN_575; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233280.8]
  wire  _GEN_576; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233275.6]
  wire  _GEN_577; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233270.4]
  wire [31:0] _GEN_578; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233767.102]
  wire [31:0] _GEN_579; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233762.100]
  wire [31:0] _GEN_580; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233757.98]
  wire [31:0] _GEN_581; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233752.96]
  wire [31:0] _GEN_582; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233747.94]
  wire [31:0] _GEN_583; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233742.92]
  wire [31:0] _GEN_584; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233737.90]
  wire [31:0] _GEN_585; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233732.88]
  wire [31:0] _GEN_586; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233727.86]
  wire [31:0] _GEN_587; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233722.84]
  wire [31:0] _GEN_588; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233717.82]
  wire [31:0] _GEN_589; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233712.80]
  wire [31:0] _GEN_590; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233707.78]
  wire [31:0] _GEN_591; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233702.76]
  wire [31:0] _GEN_592; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233697.74]
  wire [31:0] _GEN_593; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233692.72]
  wire [31:0] _GEN_594; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233687.70]
  wire [31:0] _GEN_595; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233682.68]
  wire [31:0] _GEN_596; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233677.66]
  wire [31:0] _GEN_597; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233672.64]
  wire [31:0] _GEN_598; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233667.62]
  wire [31:0] _GEN_599; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233662.60]
  wire [31:0] _GEN_600; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233657.58]
  wire [31:0] _GEN_601; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233652.56]
  wire [31:0] _GEN_602; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233647.54]
  wire [31:0] _GEN_603; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233642.52]
  wire [31:0] _GEN_604; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233637.50]
  wire [31:0] _GEN_605; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233632.48]
  wire [31:0] _GEN_606; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233627.46]
  wire [31:0] _GEN_607; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233622.44]
  wire [31:0] _GEN_608; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233617.42]
  wire [31:0] _GEN_609; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233612.40]
  wire [31:0] _GEN_610; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233607.38]
  wire [31:0] _GEN_611; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233602.36]
  wire [31:0] _GEN_612; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233597.34]
  wire [31:0] _GEN_613; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233592.32]
  wire [31:0] _GEN_614; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233587.30]
  wire [31:0] _GEN_615; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233582.28]
  wire [31:0] _GEN_616; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233577.26]
  wire [31:0] _GEN_617; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233572.24]
  wire [31:0] _GEN_618; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233567.22]
  wire [31:0] _GEN_619; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233562.20]
  wire [31:0] _GEN_620; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233557.18]
  wire [31:0] _GEN_621; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233552.16]
  wire [31:0] _GEN_622; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233547.14]
  wire [31:0] _GEN_623; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233542.12]
  wire [31:0] _GEN_624; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233537.10]
  wire [31:0] _GEN_625; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233532.8]
  wire [31:0] _GEN_626; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233527.6]
  wire [31:0] _GEN_627; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233522.4]
  wire [7:0] _T_297_bits_extra; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226093.4 RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233772.4]
  wire  _T_297_bits_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226093.4 RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233265.4]
  TLMonitor_57 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@225943.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  RTC rtc ( // @[MockAON.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225984.4]
    .clock(rtc_clock),
    .reset(rtc_reset),
    .io_regs_cfg_write__countAlways(rtc_io_regs_cfg_write__countAlways),
    .io_regs_cfg_write__scale(rtc_io_regs_cfg_write__scale),
    .io_regs_cfg_read_ip_0(rtc_io_regs_cfg_read_ip_0),
    .io_regs_cfg_read_countAlways(rtc_io_regs_cfg_read_countAlways),
    .io_regs_cfg_read_scale(rtc_io_regs_cfg_read_scale),
    .io_regs_cfg_write_countAlways(rtc_io_regs_cfg_write_countAlways),
    .io_regs_cfg_write_scale(rtc_io_regs_cfg_write_scale),
    .io_regs_countLo_write_valid(rtc_io_regs_countLo_write_valid),
    .io_regs_countLo_write_bits(rtc_io_regs_countLo_write_bits),
    .io_regs_countLo_read(rtc_io_regs_countLo_read),
    .io_regs_countHi_write_valid(rtc_io_regs_countHi_write_valid),
    .io_regs_countHi_write_bits(rtc_io_regs_countHi_write_bits),
    .io_regs_countHi_read(rtc_io_regs_countHi_read),
    .io_regs_s_read(rtc_io_regs_s_read),
    .io_regs_cmp_0_write_valid(rtc_io_regs_cmp_0_write_valid),
    .io_regs_cmp_0_write_bits(rtc_io_regs_cmp_0_write_bits),
    .io_regs_cmp_0_read(rtc_io_regs_cmp_0_read),
    .io_ip_0(rtc_io_ip_0)
  );
  PMU pmu ( // @[MockAON.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225990.4]
    .clock(pmu_clock),
    .reset(pmu_reset),
    .io_wakeup_rtc(pmu_io_wakeup_rtc),
    .io_control_corerst(pmu_io_control_corerst),
    .io_regs_ie_write_valid(pmu_io_regs_ie_write_valid),
    .io_regs_ie_write_bits(pmu_io_regs_ie_write_bits),
    .io_regs_ie_read(pmu_io_regs_ie_read),
    .io_regs_cause_write_valid(pmu_io_regs_cause_write_valid),
    .io_regs_cause_read(pmu_io_regs_cause_read),
    .io_regs_sleep_write_valid(pmu_io_regs_sleep_write_valid),
    .io_regs_key_write_valid(pmu_io_regs_key_write_valid),
    .io_regs_key_write_bits(pmu_io_regs_key_write_bits),
    .io_regs_key_read(pmu_io_regs_key_read),
    .io_regs_wakeupProgram_0_write_valid(pmu_io_regs_wakeupProgram_0_write_valid),
    .io_regs_wakeupProgram_0_write_bits(pmu_io_regs_wakeupProgram_0_write_bits),
    .io_regs_wakeupProgram_0_read(pmu_io_regs_wakeupProgram_0_read),
    .io_regs_wakeupProgram_1_write_valid(pmu_io_regs_wakeupProgram_1_write_valid),
    .io_regs_wakeupProgram_1_write_bits(pmu_io_regs_wakeupProgram_1_write_bits),
    .io_regs_wakeupProgram_1_read(pmu_io_regs_wakeupProgram_1_read),
    .io_regs_wakeupProgram_2_write_valid(pmu_io_regs_wakeupProgram_2_write_valid),
    .io_regs_wakeupProgram_2_write_bits(pmu_io_regs_wakeupProgram_2_write_bits),
    .io_regs_wakeupProgram_2_read(pmu_io_regs_wakeupProgram_2_read),
    .io_regs_wakeupProgram_3_write_valid(pmu_io_regs_wakeupProgram_3_write_valid),
    .io_regs_wakeupProgram_3_write_bits(pmu_io_regs_wakeupProgram_3_write_bits),
    .io_regs_wakeupProgram_3_read(pmu_io_regs_wakeupProgram_3_read),
    .io_regs_wakeupProgram_4_write_valid(pmu_io_regs_wakeupProgram_4_write_valid),
    .io_regs_wakeupProgram_4_write_bits(pmu_io_regs_wakeupProgram_4_write_bits),
    .io_regs_wakeupProgram_4_read(pmu_io_regs_wakeupProgram_4_read),
    .io_regs_wakeupProgram_5_write_valid(pmu_io_regs_wakeupProgram_5_write_valid),
    .io_regs_wakeupProgram_5_write_bits(pmu_io_regs_wakeupProgram_5_write_bits),
    .io_regs_wakeupProgram_5_read(pmu_io_regs_wakeupProgram_5_read),
    .io_regs_wakeupProgram_6_write_valid(pmu_io_regs_wakeupProgram_6_write_valid),
    .io_regs_wakeupProgram_6_write_bits(pmu_io_regs_wakeupProgram_6_write_bits),
    .io_regs_wakeupProgram_6_read(pmu_io_regs_wakeupProgram_6_read),
    .io_regs_wakeupProgram_7_write_valid(pmu_io_regs_wakeupProgram_7_write_valid),
    .io_regs_wakeupProgram_7_write_bits(pmu_io_regs_wakeupProgram_7_write_bits),
    .io_regs_wakeupProgram_7_read(pmu_io_regs_wakeupProgram_7_read),
    .io_regs_sleepProgram_0_write_valid(pmu_io_regs_sleepProgram_0_write_valid),
    .io_regs_sleepProgram_0_write_bits(pmu_io_regs_sleepProgram_0_write_bits),
    .io_regs_sleepProgram_0_read(pmu_io_regs_sleepProgram_0_read),
    .io_regs_sleepProgram_1_write_valid(pmu_io_regs_sleepProgram_1_write_valid),
    .io_regs_sleepProgram_1_write_bits(pmu_io_regs_sleepProgram_1_write_bits),
    .io_regs_sleepProgram_1_read(pmu_io_regs_sleepProgram_1_read),
    .io_regs_sleepProgram_2_write_valid(pmu_io_regs_sleepProgram_2_write_valid),
    .io_regs_sleepProgram_2_write_bits(pmu_io_regs_sleepProgram_2_write_bits),
    .io_regs_sleepProgram_2_read(pmu_io_regs_sleepProgram_2_read),
    .io_regs_sleepProgram_3_write_valid(pmu_io_regs_sleepProgram_3_write_valid),
    .io_regs_sleepProgram_3_write_bits(pmu_io_regs_sleepProgram_3_write_bits),
    .io_regs_sleepProgram_3_read(pmu_io_regs_sleepProgram_3_read),
    .io_regs_sleepProgram_4_write_valid(pmu_io_regs_sleepProgram_4_write_valid),
    .io_regs_sleepProgram_4_write_bits(pmu_io_regs_sleepProgram_4_write_bits),
    .io_regs_sleepProgram_4_read(pmu_io_regs_sleepProgram_4_read),
    .io_regs_sleepProgram_5_write_valid(pmu_io_regs_sleepProgram_5_write_valid),
    .io_regs_sleepProgram_5_write_bits(pmu_io_regs_sleepProgram_5_write_bits),
    .io_regs_sleepProgram_5_read(pmu_io_regs_sleepProgram_5_read),
    .io_regs_sleepProgram_6_write_valid(pmu_io_regs_sleepProgram_6_write_valid),
    .io_regs_sleepProgram_6_write_bits(pmu_io_regs_sleepProgram_6_write_bits),
    .io_regs_sleepProgram_6_read(pmu_io_regs_sleepProgram_6_read),
    .io_regs_sleepProgram_7_write_valid(pmu_io_regs_sleepProgram_7_write_valid),
    .io_regs_sleepProgram_7_write_bits(pmu_io_regs_sleepProgram_7_write_bits),
    .io_regs_sleepProgram_7_read(pmu_io_regs_sleepProgram_7_read),
    .io_resetCauses_wdogrst(pmu_io_resetCauses_wdogrst),
    .io_resetCauses_erst(pmu_io_resetCauses_erst)
  );
  WatchdogTimer wdog ( // @[MockAON.scala 78:20:shc.marmotcaravel.MarmotCaravelConfig.fir@226001.4]
    .clock(wdog_clock),
    .reset(wdog_reset),
    .io_regs_cfg_write__ip_0(wdog_io_regs_cfg_write__ip_0),
    .io_regs_cfg_write__running(wdog_io_regs_cfg_write__running),
    .io_regs_cfg_write__countAlways(wdog_io_regs_cfg_write__countAlways),
    .io_regs_cfg_write__zerocmp(wdog_io_regs_cfg_write__zerocmp),
    .io_regs_cfg_write__sticky(wdog_io_regs_cfg_write__sticky),
    .io_regs_cfg_write__scale(wdog_io_regs_cfg_write__scale),
    .io_regs_cfg_read_ip_0(wdog_io_regs_cfg_read_ip_0),
    .io_regs_cfg_read_running(wdog_io_regs_cfg_read_running),
    .io_regs_cfg_read_countAlways(wdog_io_regs_cfg_read_countAlways),
    .io_regs_cfg_read_deglitch(wdog_io_regs_cfg_read_deglitch),
    .io_regs_cfg_read_sticky(wdog_io_regs_cfg_read_sticky),
    .io_regs_cfg_read_scale(wdog_io_regs_cfg_read_scale),
    .io_regs_cfg_write_ip_0(wdog_io_regs_cfg_write_ip_0),
    .io_regs_cfg_write_gang_0(wdog_io_regs_cfg_write_gang_0),
    .io_regs_cfg_write_extra_0(wdog_io_regs_cfg_write_extra_0),
    .io_regs_cfg_write_center_0(wdog_io_regs_cfg_write_center_0),
    .io_regs_cfg_write_running(wdog_io_regs_cfg_write_running),
    .io_regs_cfg_write_countAlways(wdog_io_regs_cfg_write_countAlways),
    .io_regs_cfg_write_deglitch(wdog_io_regs_cfg_write_deglitch),
    .io_regs_cfg_write_zerocmp(wdog_io_regs_cfg_write_zerocmp),
    .io_regs_cfg_write_sticky(wdog_io_regs_cfg_write_sticky),
    .io_regs_cfg_write_scale(wdog_io_regs_cfg_write_scale),
    .io_regs_countLo_write_valid(wdog_io_regs_countLo_write_valid),
    .io_regs_countLo_write_bits(wdog_io_regs_countLo_write_bits),
    .io_regs_countLo_read(wdog_io_regs_countLo_read),
    .io_regs_countHi_write_valid(wdog_io_regs_countHi_write_valid),
    .io_regs_s_write_valid(wdog_io_regs_s_write_valid),
    .io_regs_s_read(wdog_io_regs_s_read),
    .io_regs_cmp_0_write_valid(wdog_io_regs_cmp_0_write_valid),
    .io_regs_cmp_0_write_bits(wdog_io_regs_cmp_0_write_bits),
    .io_regs_cmp_0_read(wdog_io_regs_cmp_0_read),
    .io_regs_feed_write_valid(wdog_io_regs_feed_write_valid),
    .io_regs_feed_write_bits(wdog_io_regs_feed_write_bits),
    .io_regs_key_write_valid(wdog_io_regs_key_write_valid),
    .io_regs_key_write_bits(wdog_io_regs_key_write_bits),
    .io_regs_key_read(wdog_io_regs_key_read),
    .io_ip_0(wdog_io_ip_0),
    .io_corerst(wdog_io_corerst),
    .io_rst(wdog_io_rst)
  );
  Queue_13 Queue ( // @[Decoupled.scala 293:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226098.4]
    .clock(Queue_clock),
    .reset(Queue_reset),
    .io_enq_ready(Queue_io_enq_ready),
    .io_enq_valid(Queue_io_enq_valid),
    .io_enq_bits_read(Queue_io_enq_bits_read),
    .io_enq_bits_index(Queue_io_enq_bits_index),
    .io_enq_bits_data(Queue_io_enq_bits_data),
    .io_enq_bits_mask(Queue_io_enq_bits_mask),
    .io_enq_bits_extra(Queue_io_enq_bits_extra),
    .io_deq_ready(Queue_io_deq_ready),
    .io_deq_valid(Queue_io_deq_valid),
    .io_deq_bits_read(Queue_io_deq_bits_read),
    .io_deq_bits_index(Queue_io_deq_bits_index),
    .io_deq_bits_data(Queue_io_deq_bits_data),
    .io_deq_bits_mask(Queue_io_deq_bits_mask),
    .io_deq_bits_extra(Queue_io_deq_bits_extra)
  );
  assign _T_291 = auto_in_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@226087.4]
  assign _T_309 = Queue_io_deq_bits_index & 10'h380; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226110.4]
  assign _T_311 = _T_309 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226112.4]
  assign _T_777 = Queue_io_deq_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@226234.4]
  assign _T_778 = Queue_io_deq_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@226235.4]
  assign _T_779 = Queue_io_deq_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@226236.4]
  assign _T_780 = Queue_io_deq_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@226237.4]
  assign _T_782 = _T_777 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@226239.4]
  assign _T_784 = _T_778 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@226241.4]
  assign _T_786 = _T_779 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@226243.4]
  assign _T_788 = _T_780 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@226245.4]
  assign _T_789 = {_T_784,_T_782}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226246.4]
  assign _T_790 = {_T_788,_T_786}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226247.4]
  assign _T_791 = {_T_790,_T_789}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226248.4]
  assign _T_800 = ~ _T_791; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226257.4]
  assign _T_801 = _T_800 == 32'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226258.4]
  assign _T_5011 = Queue_io_deq_valid & auto_in_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@231030.4]
  assign _T_2928 = Queue_io_deq_bits_index[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228537.4]
  assign _T_2927 = Queue_io_deq_bits_index[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228536.4]
  assign _T_2935 = {_T_2928,_T_2927}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228544.4]
  assign _T_2926 = Queue_io_deq_bits_index[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228535.4]
  assign _T_2925 = Queue_io_deq_bits_index[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228534.4]
  assign _T_2934 = {_T_2926,_T_2925}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228543.4]
  assign _T_2936 = {_T_2935,_T_2934}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228545.4]
  assign _T_2924 = Queue_io_deq_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228533.4]
  assign _T_2923 = Queue_io_deq_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228532.4]
  assign _T_2932 = {_T_2924,_T_2923}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228541.4]
  assign _T_2922 = Queue_io_deq_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228531.4]
  assign _T_2933 = {_T_2932,_T_2922}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228542.4]
  assign _T_2937 = {_T_2936,_T_2933}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228546.4]
  assign _T_3067 = 128'h1 << _T_2937; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@228676.4]
  assign _T_3137 = _T_3067[69]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228746.4]
  assign _T_5919 = Queue_io_deq_bits_read == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232143.4]
  assign _T_5920 = _T_5011 & _T_5919; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232144.4]
  assign _T_6337 = _T_5920 & _T_3137; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232697.4]
  assign _T_6338 = _T_6337 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232698.4]
  assign _T_806 = Queue_io_deq_bits_data; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226263.4]
  assign _T_815 = pmu_io_regs_wakeupProgram_5_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226274.4]
  assign _T_822 = _T_791[3:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226281.4]
  assign _T_825 = ~ _T_822; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226284.4]
  assign _T_826 = _T_825 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226285.4]
  assign _T_3068 = _T_3067[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228677.4]
  assign _T_5923 = _T_5920 & _T_3068; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232147.4]
  assign _T_5924 = _T_5923 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232148.4]
  assign _T_840 = wdog_io_regs_cfg_read_scale; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226301.4]
  assign _T_866 = {1'h0,_T_840}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226327.4]
  assign _T_867 = {{3'd0}, _T_866}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226328.4]
  assign _T_874 = _T_791[8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226335.4]
  assign _T_877 = ~ _T_874; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226338.4]
  assign _T_878 = _T_877 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226339.4]
  assign _T_893 = {wdog_io_regs_cfg_read_sticky,_T_867}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226356.4]
  assign _T_901 = _T_791[9]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226364.4]
  assign _T_904 = ~ _T_901; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226367.4]
  assign _T_905 = _T_904 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226368.4]
  assign _T_920 = {1'h0,_T_893}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226385.4]
  assign _T_928 = _T_791[10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226393.4]
  assign _T_931 = ~ _T_928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226396.4]
  assign _T_932 = _T_931 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226397.4]
  assign _T_947 = {wdog_io_regs_cfg_read_deglitch,_T_920}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226414.4]
  assign _T_974 = {1'h0,_T_947}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226441.4]
  assign _T_982 = _T_791[12]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226449.4]
  assign _T_985 = ~ _T_982; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226452.4]
  assign _T_986 = _T_985 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226453.4]
  assign _T_1001 = {wdog_io_regs_cfg_read_countAlways,_T_974}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226470.4]
  assign _T_1009 = _T_791[13]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226478.4]
  assign _T_1012 = ~ _T_1009; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226481.4]
  assign _T_1013 = _T_1012 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226482.4]
  assign _T_1028 = {wdog_io_regs_cfg_read_running,_T_1001}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226499.4]
  assign _T_1055 = {1'h0,_T_1028}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226526.4]
  assign _T_1056 = {{1'd0}, _T_1055}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226527.4]
  assign _T_1063 = _T_791[16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226534.4]
  assign _T_1066 = ~ _T_1063; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226537.4]
  assign _T_1067 = _T_1066 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226538.4]
  assign _T_1082 = {1'h0,_T_1056}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226555.4]
  assign _T_1109 = {1'h0,_T_1082}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226582.4]
  assign _T_1110 = {{2'd0}, _T_1109}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226583.4]
  assign _T_1117 = _T_791[20]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226590.4]
  assign _T_1120 = ~ _T_1117; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226593.4]
  assign _T_1121 = _T_1120 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226594.4]
  assign _T_1136 = {1'h0,_T_1110}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226611.4]
  assign _T_1163 = {1'h0,_T_1136}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226638.4]
  assign _T_1164 = {{2'd0}, _T_1163}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226639.4]
  assign _T_1171 = _T_791[24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226646.4]
  assign _T_1174 = ~ _T_1171; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226649.4]
  assign _T_1175 = _T_1174 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226650.4]
  assign _T_1190 = {1'h0,_T_1164}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226667.4]
  assign _T_1217 = {1'h0,_T_1190}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226694.4]
  assign _T_1218 = {{2'd0}, _T_1217}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226695.4]
  assign _T_1225 = _T_791[28]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226702.4]
  assign _T_1228 = ~ _T_1225; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226705.4]
  assign _T_1229 = _T_1228 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226706.4]
  assign _T_1244 = {wdog_io_regs_cfg_read_ip_0,_T_1218}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226723.4]
  assign _T_1271 = {1'h0,_T_1244}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@226750.4]
  assign _T_1272 = {{2'd0}, _T_1271}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226751.4]
  assign _T_3110 = _T_3067[42]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228719.4]
  assign _T_6175 = _T_5920 & _T_3110; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232497.4]
  assign _T_6176 = _T_6175 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232498.4]
  assign _T_1287 = _T_6176 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226766.4]
  assign _T_3092 = _T_3067[24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228701.4]
  assign _T_6067 = _T_5920 & _T_3092; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232360.4]
  assign _T_6068 = _T_6067 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232361.4]
  assign _T_1322 = rtc_io_regs_cmp_0_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226806.4]
  assign _T_3105 = _T_3067[37]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228714.4]
  assign _T_6145 = _T_5920 & _T_3105; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232457.4]
  assign _T_6146 = _T_6145 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232458.4]
  assign _T_1337 = _T_6146 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226821.4]
  assign _T_1372 = rtc_io_regs_s_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226861.4]
  assign _T_3114 = _T_3067[46]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228723.4]
  assign _T_6199 = _T_5920 & _T_3114; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232529.4]
  assign _T_6200 = _T_6199 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232530.4]
  assign _T_1387 = _T_6200 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226876.4]
  assign _T_3146 = _T_3067[78]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228755.4]
  assign _T_6391 = _T_5920 & _T_3146; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232769.4]
  assign _T_6392 = _T_6391 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232770.4]
  assign _T_1422 = pmu_io_regs_sleepProgram_6_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226916.4]
  assign _T_3142 = _T_3067[74]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228751.4]
  assign _T_6367 = _T_5920 & _T_3142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232737.4]
  assign _T_6368 = _T_6367 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232738.4]
  assign _T_1447 = pmu_io_regs_sleepProgram_2_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226943.4]
  assign _T_3074 = _T_3067[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228683.4]
  assign _T_5959 = _T_5920 & _T_3074; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232209.4]
  assign _T_5960 = _T_5959 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232210.4]
  assign _T_3106 = _T_3067[38]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228715.4]
  assign _T_6151 = _T_5920 & _T_3106; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232465.4]
  assign _T_6152 = _T_6151 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232466.4]
  assign _T_1487 = _T_6152 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226985.4]
  assign _T_3138 = _T_3067[70]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228747.4]
  assign _T_6343 = _T_5920 & _T_3138; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232705.4]
  assign _T_6344 = _T_6343 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232706.4]
  assign _T_1522 = pmu_io_regs_wakeupProgram_6_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227025.4]
  assign _T_3101 = _T_3067[33]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228710.4]
  assign _T_6121 = _T_5920 & _T_3101; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232425.4]
  assign _T_6122 = _T_6121 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232426.4]
  assign _T_1537 = _T_6122 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227040.4]
  assign _T_3133 = _T_3067[65]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228742.4]
  assign _T_6313 = _T_5920 & _T_3133; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232665.4]
  assign _T_6314 = _T_6313 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232666.4]
  assign _T_1572 = pmu_io_regs_wakeupProgram_1_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227080.4]
  assign _T_3145 = _T_3067[77]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228754.4]
  assign _T_6385 = _T_5920 & _T_3145; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232761.4]
  assign _T_6386 = _T_6385 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232762.4]
  assign _T_1597 = pmu_io_regs_sleepProgram_5_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227107.4]
  assign _T_3109 = _T_3067[41]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228718.4]
  assign _T_6169 = _T_5920 & _T_3109; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232489.4]
  assign _T_6170 = _T_6169 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232490.4]
  assign _T_1612 = _T_6170 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227122.4]
  assign _T_3141 = _T_3067[73]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228750.4]
  assign _T_6361 = _T_5920 & _T_3141; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232729.4]
  assign _T_6362 = _T_6361 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232730.4]
  assign _T_1647 = pmu_io_regs_sleepProgram_1_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227162.4]
  assign _T_1654 = _T_791[30:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227169.4]
  assign _T_1657 = ~ _T_1654; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227172.4]
  assign _T_1658 = _T_1657 == 31'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227173.4]
  assign _T_3070 = _T_3067[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228679.4]
  assign _T_5935 = _T_5920 & _T_3070; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232178.4]
  assign _T_5936 = _T_5935 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232179.4]
  assign _T_1672 = wdog_io_regs_countLo_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227189.4]
  assign _T_3100 = _T_3067[32]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228709.4]
  assign _T_6115 = _T_5920 & _T_3100; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232417.4]
  assign _T_6116 = _T_6115 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232418.4]
  assign _T_1687 = _T_6116 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227204.4]
  assign _T_3102 = _T_3067[34]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228711.4]
  assign _T_6127 = _T_5920 & _T_3102; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232433.4]
  assign _T_6128 = _T_6127 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232434.4]
  assign _T_1712 = _T_6128 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227232.4]
  assign _T_3113 = _T_3067[45]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228722.4]
  assign _T_6193 = _T_5920 & _T_3113; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232521.4]
  assign _T_6194 = _T_6193 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232522.4]
  assign _T_1737 = _T_6194 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227260.4]
  assign _T_3132 = _T_3067[64]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228741.4]
  assign _T_6307 = _T_5920 & _T_3132; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232657.4]
  assign _T_6308 = _T_6307 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232658.4]
  assign _T_1772 = pmu_io_regs_wakeupProgram_0_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227300.4]
  assign _T_3112 = _T_3067[44]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228721.4]
  assign _T_6187 = _T_5920 & _T_3112; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232513.4]
  assign _T_6188 = _T_6187 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232514.4]
  assign _T_1812 = _T_6188 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227342.4]
  assign _T_3139 = _T_3067[71]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228748.4]
  assign _T_6349 = _T_5920 & _T_3139; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232713.4]
  assign _T_6350 = _T_6349 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232714.4]
  assign _T_1847 = pmu_io_regs_wakeupProgram_7_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227382.4]
  assign _T_3149 = _T_3067[81]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228758.4]
  assign _T_6409 = _T_5920 & _T_3149; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232793.4]
  assign _T_6410 = _T_6409 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232794.4]
  assign _T_1872 = pmu_io_regs_cause_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227409.4]
  assign _T_3144 = _T_3067[76]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228753.4]
  assign _T_6379 = _T_5920 & _T_3144; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232753.4]
  assign _T_6380 = _T_6379 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232754.4]
  assign _T_1897 = pmu_io_regs_sleepProgram_4_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227436.4]
  assign _T_3075 = _T_3067[7]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228684.4]
  assign _T_5965 = _T_5920 & _T_3075; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232217.4]
  assign _T_5966 = _T_5965 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232218.4]
  assign _T_1922 = wdog_io_regs_key_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227463.4]
  assign _T_3107 = _T_3067[39]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228716.4]
  assign _T_6157 = _T_5920 & _T_3107; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232473.4]
  assign _T_6158 = _T_6157 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232474.4]
  assign _T_1937 = _T_6158 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227478.4]
  assign _T_3134 = _T_3067[66]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228743.4]
  assign _T_6319 = _T_5920 & _T_3134; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232673.4]
  assign _T_6320 = _T_6319 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232674.4]
  assign _T_1972 = pmu_io_regs_wakeupProgram_2_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227518.4]
  assign _T_3071 = _T_3067[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228680.4]
  assign _T_5941 = _T_5920 & _T_3071; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232186.4]
  assign _T_5942 = _T_5941 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232187.4]
  assign _T_3148 = _T_3067[80]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228757.4]
  assign _T_6403 = _T_5920 & _T_3148; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232785.4]
  assign _T_6404 = _T_6403 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232786.4]
  assign _T_2022 = pmu_io_regs_ie_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227572.4]
  assign _T_3103 = _T_3067[35]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228712.4]
  assign _T_6133 = _T_5920 & _T_3103; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232441.4]
  assign _T_6134 = _T_6133 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232442.4]
  assign _T_2037 = _T_6134 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227587.4]
  assign _T_3086 = _T_3067[18]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228695.4]
  assign _T_6031 = _T_5920 & _T_3086; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232313.4]
  assign _T_6032 = _T_6031 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232314.4]
  assign _T_2072 = rtc_io_regs_countLo_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227627.4]
  assign _T_3135 = _T_3067[67]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228744.4]
  assign _T_6325 = _T_5920 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232681.4]
  assign _T_6326 = _T_6325 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232682.4]
  assign _T_2097 = pmu_io_regs_wakeupProgram_3_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227654.4]
  assign _T_3084 = _T_3067[16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228693.4]
  assign _T_6019 = _T_5920 & _T_3084; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232282.4]
  assign _T_6020 = _T_6019 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232283.4]
  assign _T_2122 = rtc_io_regs_cfg_read_scale; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227681.4]
  assign _T_2148 = {1'h0,_T_2122}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227707.4]
  assign _T_2149 = {{3'd0}, _T_2148}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227708.4]
  assign _T_2175 = {1'h0,_T_2149}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227736.4]
  assign _T_2202 = {1'h0,_T_2175}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227765.4]
  assign _T_2229 = {1'h0,_T_2202}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227794.4]
  assign _T_2256 = {1'h0,_T_2229}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227821.4]
  assign _T_2283 = {rtc_io_regs_cfg_read_countAlways,_T_2256}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227850.4]
  assign _T_2310 = {1'h0,_T_2283}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227879.4]
  assign _T_2337 = {1'h0,_T_2310}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227906.4]
  assign _T_2338 = {{1'd0}, _T_2337}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227907.4]
  assign _T_2364 = {1'h0,_T_2338}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227935.4]
  assign _T_2391 = {1'h0,_T_2364}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227962.4]
  assign _T_2392 = {{2'd0}, _T_2391}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@227963.4]
  assign _T_2418 = {1'h0,_T_2392}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@227991.4]
  assign _T_2445 = {1'h0,_T_2418}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228018.4]
  assign _T_2446 = {{2'd0}, _T_2445}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228019.4]
  assign _T_2472 = {1'h0,_T_2446}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228047.4]
  assign _T_2499 = {1'h0,_T_2472}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228074.4]
  assign _T_2500 = {{2'd0}, _T_2499}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228075.4]
  assign _T_2526 = {rtc_io_regs_cfg_read_ip_0,_T_2500}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228103.4]
  assign _T_2553 = {1'h0,_T_2526}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@228130.4]
  assign _T_2554 = {{2'd0}, _T_2553}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228131.4]
  assign _T_3140 = _T_3067[72]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228749.4]
  assign _T_6355 = _T_5920 & _T_3140; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232721.4]
  assign _T_6356 = _T_6355 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232722.4]
  assign _T_2579 = pmu_io_regs_sleepProgram_0_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228158.4]
  assign _T_3111 = _T_3067[43]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228720.4]
  assign _T_6181 = _T_5920 & _T_3111; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232505.4]
  assign _T_6182 = _T_6181 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232506.4]
  assign _T_2594 = _T_6182 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228173.4]
  assign _T_3108 = _T_3067[40]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228717.4]
  assign _T_6163 = _T_5920 & _T_3108; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232481.4]
  assign _T_6164 = _T_6163 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232482.4]
  assign _T_2619 = _T_6164 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228201.4]
  assign _T_2661 = _T_791[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228248.4]
  assign _T_2664 = ~ _T_2661; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228251.4]
  assign _T_2665 = _T_2664 == 16'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228252.4]
  assign _T_3076 = _T_3067[8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228685.4]
  assign _T_5971 = _T_5920 & _T_3076; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232225.4]
  assign _T_5972 = _T_5971 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232226.4]
  assign _T_2679 = wdog_io_regs_cmp_0_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228268.4]
  assign _T_3143 = _T_3067[75]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228752.4]
  assign _T_6373 = _T_5920 & _T_3143; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232745.4]
  assign _T_6374 = _T_6373 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232746.4]
  assign _T_2704 = pmu_io_regs_sleepProgram_3_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228295.4]
  assign _T_3150 = _T_3067[82]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228759.4]
  assign _T_6415 = _T_5920 & _T_3150; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232801.4]
  assign _T_6416 = _T_6415 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232802.4]
  assign _T_3104 = _T_3067[36]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228713.4]
  assign _T_6139 = _T_5920 & _T_3104; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232449.4]
  assign _T_6140 = _T_6139 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232450.4]
  assign _T_2744 = _T_6140 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228337.4]
  assign _T_3087 = _T_3067[19]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228696.4]
  assign _T_6037 = _T_5920 & _T_3087; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232321.4]
  assign _T_6038 = _T_6037 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232322.4]
  assign _T_2779 = rtc_io_regs_countHi_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228377.4]
  assign _T_3072 = _T_3067[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228681.4]
  assign _T_5947 = _T_5920 & _T_3072; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232194.4]
  assign _T_5948 = _T_5947 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232195.4]
  assign _T_2804 = wdog_io_regs_s_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228404.4]
  assign _T_3147 = _T_3067[79]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228756.4]
  assign _T_6397 = _T_5920 & _T_3147; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232777.4]
  assign _T_6398 = _T_6397 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232778.4]
  assign _T_2829 = pmu_io_regs_sleepProgram_7_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228431.4]
  assign _T_3115 = _T_3067[47]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228724.4]
  assign _T_6205 = _T_5920 & _T_3115; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232537.4]
  assign _T_6206 = _T_6205 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232538.4]
  assign _T_2844 = _T_6206 & _T_801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228446.4]
  assign _T_3136 = _T_3067[68]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228745.4]
  assign _T_6331 = _T_5920 & _T_3136; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232689.4]
  assign _T_6332 = _T_6331 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232690.4]
  assign _T_2879 = pmu_io_regs_wakeupProgram_4_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228486.4]
  assign _T_3151 = _T_3067[83]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228760.4]
  assign _T_6421 = _T_5920 & _T_3151; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232809.4]
  assign _T_6422 = _T_6421 & _T_311; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@232810.4]
  assign _T_2904 = pmu_io_regs_key_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@228513.4]
  assign _T_6834 = 7'h0 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233269.4]
  assign _T_6835 = 7'h2 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233274.6]
  assign _T_6836 = 7'h3 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233279.8]
  assign _T_6837 = 7'h4 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233284.10]
  assign _T_6838 = 7'h6 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233289.12]
  assign _T_6839 = 7'h7 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233294.14]
  assign _T_6840 = 7'h8 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233299.16]
  assign _T_6841 = 7'h10 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233304.18]
  assign _T_6842 = 7'h12 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233309.20]
  assign _T_6843 = 7'h13 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233314.22]
  assign _T_6844 = 7'h14 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233319.24]
  assign _T_6845 = 7'h16 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233324.26]
  assign _T_6846 = 7'h17 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233329.28]
  assign _T_6847 = 7'h18 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233334.30]
  assign _T_6848 = 7'h20 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233339.32]
  assign _T_6849 = 7'h21 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233344.34]
  assign _T_6850 = 7'h22 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233349.36]
  assign _T_6851 = 7'h23 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233354.38]
  assign _T_6852 = 7'h24 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233359.40]
  assign _T_6853 = 7'h25 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233364.42]
  assign _T_6854 = 7'h26 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233369.44]
  assign _T_6855 = 7'h27 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233374.46]
  assign _T_6856 = 7'h28 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233379.48]
  assign _T_6857 = 7'h29 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233384.50]
  assign _T_6858 = 7'h2a == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233389.52]
  assign _T_6859 = 7'h2b == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233394.54]
  assign _T_6860 = 7'h2c == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233399.56]
  assign _T_6861 = 7'h2d == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233404.58]
  assign _T_6862 = 7'h2e == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233409.60]
  assign _T_6863 = 7'h2f == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233414.62]
  assign _T_6864 = 7'h40 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233419.64]
  assign _T_6865 = 7'h41 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233424.66]
  assign _T_6866 = 7'h42 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233429.68]
  assign _T_6867 = 7'h43 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233434.70]
  assign _T_6868 = 7'h44 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233439.72]
  assign _T_6869 = 7'h45 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233444.74]
  assign _T_6870 = 7'h46 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233449.76]
  assign _T_6871 = 7'h47 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233454.78]
  assign _T_6872 = 7'h48 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233459.80]
  assign _T_6873 = 7'h49 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233464.82]
  assign _T_6874 = 7'h4a == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233469.84]
  assign _T_6875 = 7'h4b == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233474.86]
  assign _T_6876 = 7'h4c == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233479.88]
  assign _T_6877 = 7'h4d == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233484.90]
  assign _T_6878 = 7'h4e == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233489.92]
  assign _T_6879 = 7'h4f == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233494.94]
  assign _T_6880 = 7'h50 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233499.96]
  assign _T_6881 = 7'h51 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233504.98]
  assign _T_6882 = 7'h52 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233509.100]
  assign _T_6883 = 7'h53 == _T_2937; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@233514.102]
  assign _GEN_528 = _T_6883 ? _T_311 : 1'h1; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233515.102]
  assign _GEN_529 = _T_6882 ? _T_311 : _GEN_528; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233510.100]
  assign _GEN_530 = _T_6881 ? _T_311 : _GEN_529; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233505.98]
  assign _GEN_531 = _T_6880 ? _T_311 : _GEN_530; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233500.96]
  assign _GEN_532 = _T_6879 ? _T_311 : _GEN_531; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233495.94]
  assign _GEN_533 = _T_6878 ? _T_311 : _GEN_532; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233490.92]
  assign _GEN_534 = _T_6877 ? _T_311 : _GEN_533; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233485.90]
  assign _GEN_535 = _T_6876 ? _T_311 : _GEN_534; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233480.88]
  assign _GEN_536 = _T_6875 ? _T_311 : _GEN_535; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233475.86]
  assign _GEN_537 = _T_6874 ? _T_311 : _GEN_536; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233470.84]
  assign _GEN_538 = _T_6873 ? _T_311 : _GEN_537; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233465.82]
  assign _GEN_539 = _T_6872 ? _T_311 : _GEN_538; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233460.80]
  assign _GEN_540 = _T_6871 ? _T_311 : _GEN_539; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233455.78]
  assign _GEN_541 = _T_6870 ? _T_311 : _GEN_540; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233450.76]
  assign _GEN_542 = _T_6869 ? _T_311 : _GEN_541; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233445.74]
  assign _GEN_543 = _T_6868 ? _T_311 : _GEN_542; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233440.72]
  assign _GEN_544 = _T_6867 ? _T_311 : _GEN_543; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233435.70]
  assign _GEN_545 = _T_6866 ? _T_311 : _GEN_544; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233430.68]
  assign _GEN_546 = _T_6865 ? _T_311 : _GEN_545; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233425.66]
  assign _GEN_547 = _T_6864 ? _T_311 : _GEN_546; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233420.64]
  assign _GEN_548 = _T_6863 ? _T_311 : _GEN_547; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233415.62]
  assign _GEN_549 = _T_6862 ? _T_311 : _GEN_548; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233410.60]
  assign _GEN_550 = _T_6861 ? _T_311 : _GEN_549; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233405.58]
  assign _GEN_551 = _T_6860 ? _T_311 : _GEN_550; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233400.56]
  assign _GEN_552 = _T_6859 ? _T_311 : _GEN_551; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233395.54]
  assign _GEN_553 = _T_6858 ? _T_311 : _GEN_552; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233390.52]
  assign _GEN_554 = _T_6857 ? _T_311 : _GEN_553; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233385.50]
  assign _GEN_555 = _T_6856 ? _T_311 : _GEN_554; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233380.48]
  assign _GEN_556 = _T_6855 ? _T_311 : _GEN_555; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233375.46]
  assign _GEN_557 = _T_6854 ? _T_311 : _GEN_556; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233370.44]
  assign _GEN_558 = _T_6853 ? _T_311 : _GEN_557; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233365.42]
  assign _GEN_559 = _T_6852 ? _T_311 : _GEN_558; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233360.40]
  assign _GEN_560 = _T_6851 ? _T_311 : _GEN_559; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233355.38]
  assign _GEN_561 = _T_6850 ? _T_311 : _GEN_560; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233350.36]
  assign _GEN_562 = _T_6849 ? _T_311 : _GEN_561; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233345.34]
  assign _GEN_563 = _T_6848 ? _T_311 : _GEN_562; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233340.32]
  assign _GEN_564 = _T_6847 ? _T_311 : _GEN_563; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233335.30]
  assign _GEN_565 = _T_6846 ? _T_311 : _GEN_564; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233330.28]
  assign _GEN_566 = _T_6845 ? _T_311 : _GEN_565; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233325.26]
  assign _GEN_567 = _T_6844 ? _T_311 : _GEN_566; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233320.24]
  assign _GEN_568 = _T_6843 ? _T_311 : _GEN_567; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233315.22]
  assign _GEN_569 = _T_6842 ? _T_311 : _GEN_568; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233310.20]
  assign _GEN_570 = _T_6841 ? _T_311 : _GEN_569; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233305.18]
  assign _GEN_571 = _T_6840 ? _T_311 : _GEN_570; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233300.16]
  assign _GEN_572 = _T_6839 ? _T_311 : _GEN_571; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233295.14]
  assign _GEN_573 = _T_6838 ? _T_311 : _GEN_572; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233290.12]
  assign _GEN_574 = _T_6837 ? _T_311 : _GEN_573; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233285.10]
  assign _GEN_575 = _T_6836 ? _T_311 : _GEN_574; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233280.8]
  assign _GEN_576 = _T_6835 ? _T_311 : _GEN_575; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233275.6]
  assign _GEN_577 = _T_6834 ? _T_311 : _GEN_576; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233270.4]
  assign _GEN_578 = _T_6883 ? _T_2904 : 32'h0; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233767.102]
  assign _GEN_579 = _T_6882 ? 32'h0 : _GEN_578; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233762.100]
  assign _GEN_580 = _T_6881 ? _T_1872 : _GEN_579; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233757.98]
  assign _GEN_581 = _T_6880 ? {{28'd0}, _T_2022} : _GEN_580; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233752.96]
  assign _GEN_582 = _T_6879 ? _T_2829 : _GEN_581; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233747.94]
  assign _GEN_583 = _T_6878 ? _T_1422 : _GEN_582; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233742.92]
  assign _GEN_584 = _T_6877 ? _T_1597 : _GEN_583; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233737.90]
  assign _GEN_585 = _T_6876 ? _T_1897 : _GEN_584; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233732.88]
  assign _GEN_586 = _T_6875 ? _T_2704 : _GEN_585; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233727.86]
  assign _GEN_587 = _T_6874 ? _T_1447 : _GEN_586; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233722.84]
  assign _GEN_588 = _T_6873 ? _T_1647 : _GEN_587; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233717.82]
  assign _GEN_589 = _T_6872 ? _T_2579 : _GEN_588; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233712.80]
  assign _GEN_590 = _T_6871 ? _T_1847 : _GEN_589; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233707.78]
  assign _GEN_591 = _T_6870 ? _T_1522 : _GEN_590; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233702.76]
  assign _GEN_592 = _T_6869 ? _T_815 : _GEN_591; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233697.74]
  assign _GEN_593 = _T_6868 ? _T_2879 : _GEN_592; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233692.72]
  assign _GEN_594 = _T_6867 ? _T_2097 : _GEN_593; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233687.70]
  assign _GEN_595 = _T_6866 ? _T_1972 : _GEN_594; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233682.68]
  assign _GEN_596 = _T_6865 ? _T_1572 : _GEN_595; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233677.66]
  assign _GEN_597 = _T_6864 ? _T_1772 : _GEN_596; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233672.64]
  assign _GEN_598 = _T_6863 ? backupRegs_15 : _GEN_597; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233667.62]
  assign _GEN_599 = _T_6862 ? backupRegs_14 : _GEN_598; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233662.60]
  assign _GEN_600 = _T_6861 ? backupRegs_13 : _GEN_599; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233657.58]
  assign _GEN_601 = _T_6860 ? backupRegs_12 : _GEN_600; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233652.56]
  assign _GEN_602 = _T_6859 ? backupRegs_11 : _GEN_601; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233647.54]
  assign _GEN_603 = _T_6858 ? backupRegs_10 : _GEN_602; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233642.52]
  assign _GEN_604 = _T_6857 ? backupRegs_9 : _GEN_603; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233637.50]
  assign _GEN_605 = _T_6856 ? backupRegs_8 : _GEN_604; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233632.48]
  assign _GEN_606 = _T_6855 ? backupRegs_7 : _GEN_605; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233627.46]
  assign _GEN_607 = _T_6854 ? backupRegs_6 : _GEN_606; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233622.44]
  assign _GEN_608 = _T_6853 ? backupRegs_5 : _GEN_607; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233617.42]
  assign _GEN_609 = _T_6852 ? backupRegs_4 : _GEN_608; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233612.40]
  assign _GEN_610 = _T_6851 ? backupRegs_3 : _GEN_609; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233607.38]
  assign _GEN_611 = _T_6850 ? backupRegs_2 : _GEN_610; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233602.36]
  assign _GEN_612 = _T_6849 ? backupRegs_1 : _GEN_611; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233597.34]
  assign _GEN_613 = _T_6848 ? backupRegs_0 : _GEN_612; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233592.32]
  assign _GEN_614 = _T_6847 ? _T_1322 : _GEN_613; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233587.30]
  assign _GEN_615 = _T_6846 ? 32'h1 : _GEN_614; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233582.28]
  assign _GEN_616 = _T_6845 ? 32'h0 : _GEN_615; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233577.26]
  assign _GEN_617 = _T_6844 ? _T_1372 : _GEN_616; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233572.24]
  assign _GEN_618 = _T_6843 ? _T_2779 : _GEN_617; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233567.22]
  assign _GEN_619 = _T_6842 ? _T_2072 : _GEN_618; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233562.20]
  assign _GEN_620 = _T_6841 ? _T_2554 : _GEN_619; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233557.18]
  assign _GEN_621 = _T_6840 ? {{16'd0}, _T_2679} : _GEN_620; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233552.16]
  assign _GEN_622 = _T_6839 ? _T_1922 : _GEN_621; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233547.14]
  assign _GEN_623 = _T_6838 ? 32'h0 : _GEN_622; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233542.12]
  assign _GEN_624 = _T_6837 ? {{16'd0}, _T_2804} : _GEN_623; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233537.10]
  assign _GEN_625 = _T_6836 ? 32'h0 : _GEN_624; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233532.8]
  assign _GEN_626 = _T_6835 ? {{1'd0}, _T_1672} : _GEN_625; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@233527.6]
  assign _GEN_627 = _T_6834 ? _T_1272 : _GEN_626; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@233522.4]
  assign _T_297_bits_extra = Queue_io_deq_bits_extra; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226093.4 RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233772.4]
  assign _T_297_bits_read = Queue_io_deq_bits_read; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@226093.4 RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233265.4]
  assign auto_int_out_0 = wdog_io_ip_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@225983.4]
  assign auto_int_out_1 = rtc_io_ip_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@225983.4]
  assign auto_in_a_ready = Queue_io_enq_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225982.4]
  assign auto_in_d_valid = Queue_io_deq_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225982.4]
  assign auto_in_d_bits_opcode = {{2'd0}, _T_297_bits_read}; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225982.4]
  assign auto_in_d_bits_size = _T_297_bits_extra[1:0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225982.4]
  assign auto_in_d_bits_source = _T_297_bits_extra[7:2]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225982.4]
  assign auto_in_d_bits_data = _GEN_577 ? _GEN_627 : 32'h0; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@225982.4]
  assign io_moff_corerst = pmu_io_control_corerst; // @[MockAON.scala 64:11:shc.marmotcaravel.MarmotCaravelConfig.fir@225994.4]
  assign io_wdog_rst = wdog_io_rst; // @[MockAON.scala 79:15:shc.marmotcaravel.MarmotCaravelConfig.fir@226007.4]
  assign io_lfclk = io_lfextclk; // @[MockAON.scala 84:12:shc.marmotcaravel.MarmotCaravelConfig.fir@226010.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225945.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225946.4]
  assign TLMonitor_io_in_a_ready = Queue_io_enq_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
  assign TLMonitor_io_in_d_valid = Queue_io_deq_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_297_bits_read}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
  assign TLMonitor_io_in_d_bits_size = _T_297_bits_extra[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
  assign TLMonitor_io_in_d_bits_source = _T_297_bits_extra[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@225979.4]
  assign rtc_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225988.4]
  assign rtc_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225989.4]
  assign rtc_io_regs_cfg_write__countAlways = Queue_io_deq_bits_data[12]; // @[Timer.scala 84:17:shc.marmotcaravel.MarmotCaravelConfig.fir@227840.4]
  assign rtc_io_regs_cfg_write__scale = Queue_io_deq_bits_data[3:0]; // @[Timer.scala 84:17:shc.marmotcaravel.MarmotCaravelConfig.fir@227672.4]
  assign rtc_io_regs_cfg_write_countAlways = _T_6020 & _T_986; // @[Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@227839.4]
  assign rtc_io_regs_cfg_write_scale = _T_6020 & _T_826; // @[Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@227671.4]
  assign rtc_io_regs_countLo_write_valid = _T_6032 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227617.4]
  assign rtc_io_regs_countLo_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227618.4]
  assign rtc_io_regs_countHi_write_valid = _T_6038 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@228367.4]
  assign rtc_io_regs_countHi_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@228368.4]
  assign rtc_io_regs_cmp_0_write_valid = _T_6068 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226796.4]
  assign rtc_io_regs_cmp_0_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@226797.4]
  assign pmu_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225992.4]
  assign pmu_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@225993.4]
  assign pmu_io_wakeup_rtc = rtc_io_ip_0; // @[MockAON.scala 68:21:shc.marmotcaravel.MarmotCaravelConfig.fir@225998.4]
  assign pmu_io_regs_ie_write_valid = _T_6404 & _T_826; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227562.4]
  assign pmu_io_regs_ie_write_bits = Queue_io_deq_bits_data[3:0]; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227563.4]
  assign pmu_io_regs_cause_write_valid = _T_6410 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227399.4]
  assign pmu_io_regs_sleep_write_valid = _T_6416 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@228312.4]
  assign pmu_io_regs_key_write_valid = _T_6422 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@228503.4]
  assign pmu_io_regs_key_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@228504.4]
  assign pmu_io_regs_wakeupProgram_0_write_valid = _T_6308 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227290.4]
  assign pmu_io_regs_wakeupProgram_0_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227291.4]
  assign pmu_io_regs_wakeupProgram_1_write_valid = _T_6314 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227070.4]
  assign pmu_io_regs_wakeupProgram_1_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227071.4]
  assign pmu_io_regs_wakeupProgram_2_write_valid = _T_6320 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227508.4]
  assign pmu_io_regs_wakeupProgram_2_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227509.4]
  assign pmu_io_regs_wakeupProgram_3_write_valid = _T_6326 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227644.4]
  assign pmu_io_regs_wakeupProgram_3_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227645.4]
  assign pmu_io_regs_wakeupProgram_4_write_valid = _T_6332 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@228476.4]
  assign pmu_io_regs_wakeupProgram_4_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@228477.4]
  assign pmu_io_regs_wakeupProgram_5_write_valid = _T_6338 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226264.4]
  assign pmu_io_regs_wakeupProgram_5_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@226265.4]
  assign pmu_io_regs_wakeupProgram_6_write_valid = _T_6344 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227015.4]
  assign pmu_io_regs_wakeupProgram_6_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227016.4]
  assign pmu_io_regs_wakeupProgram_7_write_valid = _T_6350 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227372.4]
  assign pmu_io_regs_wakeupProgram_7_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227373.4]
  assign pmu_io_regs_sleepProgram_0_write_valid = _T_6356 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@228148.4]
  assign pmu_io_regs_sleepProgram_0_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@228149.4]
  assign pmu_io_regs_sleepProgram_1_write_valid = _T_6362 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227152.4]
  assign pmu_io_regs_sleepProgram_1_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227153.4]
  assign pmu_io_regs_sleepProgram_2_write_valid = _T_6368 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226933.4]
  assign pmu_io_regs_sleepProgram_2_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@226934.4]
  assign pmu_io_regs_sleepProgram_3_write_valid = _T_6374 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@228285.4]
  assign pmu_io_regs_sleepProgram_3_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@228286.4]
  assign pmu_io_regs_sleepProgram_4_write_valid = _T_6380 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227426.4]
  assign pmu_io_regs_sleepProgram_4_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227427.4]
  assign pmu_io_regs_sleepProgram_5_write_valid = _T_6386 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227097.4]
  assign pmu_io_regs_sleepProgram_5_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227098.4]
  assign pmu_io_regs_sleepProgram_6_write_valid = _T_6392 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226906.4]
  assign pmu_io_regs_sleepProgram_6_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@226907.4]
  assign pmu_io_regs_sleepProgram_7_write_valid = _T_6398 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@228421.4]
  assign pmu_io_regs_sleepProgram_7_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@228422.4]
  assign pmu_io_resetCauses_wdogrst = io_resetCauses_wdogrst; // @[MockAON.scala 69:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225999.4]
  assign pmu_io_resetCauses_erst = io_resetCauses_erst; // @[MockAON.scala 69:22:shc.marmotcaravel.MarmotCaravelConfig.fir@225999.4]
  assign wdog_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@226005.4]
  assign wdog_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@226006.4]
  assign wdog_io_regs_cfg_write__ip_0 = Queue_io_deq_bits_data[28]; // @[Timer.scala 84:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226713.4]
  assign wdog_io_regs_cfg_write__running = Queue_io_deq_bits_data[13]; // @[Timer.scala 84:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226489.4]
  assign wdog_io_regs_cfg_write__countAlways = Queue_io_deq_bits_data[12]; // @[Timer.scala 84:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226460.4]
  assign wdog_io_regs_cfg_write__zerocmp = Queue_io_deq_bits_data[9]; // @[Timer.scala 84:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226375.4]
  assign wdog_io_regs_cfg_write__sticky = Queue_io_deq_bits_data[8]; // @[Timer.scala 84:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226346.4]
  assign wdog_io_regs_cfg_write__scale = Queue_io_deq_bits_data[3:0]; // @[Timer.scala 84:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226292.4]
  assign wdog_io_regs_cfg_write_ip_0 = _T_5924 & _T_1229; // @[Timer.scala 89:18:shc.marmotcaravel.MarmotCaravelConfig.fir@226033.4 Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226712.4]
  assign wdog_io_regs_cfg_write_gang_0 = _T_5924 & _T_1175; // @[Timer.scala 90:18:shc.marmotcaravel.MarmotCaravelConfig.fir@226040.4 Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226656.4]
  assign wdog_io_regs_cfg_write_extra_0 = _T_5924 & _T_1121; // @[Timer.scala 91:18:shc.marmotcaravel.MarmotCaravelConfig.fir@226047.4 Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226600.4]
  assign wdog_io_regs_cfg_write_center_0 = _T_5924 & _T_1067; // @[Timer.scala 92:18:shc.marmotcaravel.MarmotCaravelConfig.fir@226054.4 Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226544.4]
  assign wdog_io_regs_cfg_write_running = _T_5924 & _T_1013; // @[Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226488.4]
  assign wdog_io_regs_cfg_write_countAlways = _T_5924 & _T_986; // @[Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226459.4]
  assign wdog_io_regs_cfg_write_deglitch = _T_5924 & _T_932; // @[Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226403.4]
  assign wdog_io_regs_cfg_write_zerocmp = _T_5924 & _T_905; // @[Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226374.4]
  assign wdog_io_regs_cfg_write_sticky = _T_5924 & _T_878; // @[Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226345.4]
  assign wdog_io_regs_cfg_write_scale = _T_5924 & _T_826; // @[Timer.scala 83:17:shc.marmotcaravel.MarmotCaravelConfig.fir@226291.4]
  assign wdog_io_regs_countLo_write_valid = _T_5936 & _T_1658; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227179.4]
  assign wdog_io_regs_countLo_write_bits = Queue_io_deq_bits_data[30:0]; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227180.4]
  assign wdog_io_regs_countHi_write_valid = _T_5942 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227535.4]
  assign wdog_io_regs_s_write_valid = _T_5948 & _T_2665; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@228394.4]
  assign wdog_io_regs_cmp_0_write_valid = _T_5972 & _T_2665; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@228258.4]
  assign wdog_io_regs_cmp_0_write_bits = Queue_io_deq_bits_data[15:0]; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@228259.4]
  assign wdog_io_regs_feed_write_valid = _T_5960 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226960.4]
  assign wdog_io_regs_feed_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@226961.4]
  assign wdog_io_regs_key_write_valid = _T_5966 & _T_801; // @[SlaveRegIF.scala 13:19:shc.marmotcaravel.MarmotCaravelConfig.fir@227453.4]
  assign wdog_io_regs_key_write_bits = Queue_io_deq_bits_data; // @[SlaveRegIF.scala 14:18:shc.marmotcaravel.MarmotCaravelConfig.fir@227454.4]
  assign wdog_io_corerst = pmu_io_control_corerst; // @[MockAON.scala 80:19:shc.marmotcaravel.MarmotCaravelConfig.fir@226008.4]
  assign Queue_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@226099.4]
  assign Queue_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@226100.4]
  assign Queue_io_enq_valid = auto_in_a_valid; // @[Decoupled.scala 294:22:shc.marmotcaravel.MarmotCaravelConfig.fir@226101.4]
  assign Queue_io_enq_bits_read = auto_in_a_bits_opcode == 3'h4; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226106.4]
  assign Queue_io_enq_bits_index = _T_291[9:0]; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226105.4]
  assign Queue_io_enq_bits_data = auto_in_a_bits_data; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226104.4]
  assign Queue_io_enq_bits_mask = auto_in_a_bits_mask; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226103.4]
  assign Queue_io_enq_bits_extra = {auto_in_a_bits_source,auto_in_a_bits_size}; // @[Decoupled.scala 295:21:shc.marmotcaravel.MarmotCaravelConfig.fir@226102.4]
  assign Queue_io_deq_ready = auto_in_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@233262.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  backupRegs_0 = _RAND_0[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  backupRegs_1 = _RAND_1[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  backupRegs_2 = _RAND_2[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  backupRegs_3 = _RAND_3[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  backupRegs_4 = _RAND_4[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  backupRegs_5 = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  backupRegs_6 = _RAND_6[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  backupRegs_7 = _RAND_7[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  backupRegs_8 = _RAND_8[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  backupRegs_9 = _RAND_9[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  backupRegs_10 = _RAND_10[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  backupRegs_11 = _RAND_11[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  backupRegs_12 = _RAND_12[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  backupRegs_13 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  backupRegs_14 = _RAND_14[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  backupRegs_15 = _RAND_15[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (_T_1687) begin
      backupRegs_0 <= _T_806;
    end
    if (_T_1537) begin
      backupRegs_1 <= _T_806;
    end
    if (_T_1712) begin
      backupRegs_2 <= _T_806;
    end
    if (_T_2037) begin
      backupRegs_3 <= _T_806;
    end
    if (_T_2744) begin
      backupRegs_4 <= _T_806;
    end
    if (_T_1337) begin
      backupRegs_5 <= _T_806;
    end
    if (_T_1487) begin
      backupRegs_6 <= _T_806;
    end
    if (_T_1937) begin
      backupRegs_7 <= _T_806;
    end
    if (_T_2619) begin
      backupRegs_8 <= _T_806;
    end
    if (_T_1612) begin
      backupRegs_9 <= _T_806;
    end
    if (_T_1287) begin
      backupRegs_10 <= _T_806;
    end
    if (_T_2594) begin
      backupRegs_11 <= _T_806;
    end
    if (_T_1812) begin
      backupRegs_12 <= _T_806;
    end
    if (_T_1737) begin
      backupRegs_13 <= _T_806;
    end
    if (_T_1387) begin
      backupRegs_14 <= _T_806;
    end
    if (_T_2844) begin
      backupRegs_15 <= _T_806;
    end
  end
endmodule
module IsoZero( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@233797.2]
  input   io_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@233800.4]
  input   io_iso, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@233800.4]
  output  io_out // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@233800.4]
);
  wire  _T_7; // @[MockAONWrapper.scala 157:21:shc.marmotcaravel.MarmotCaravelConfig.fir@233805.4]
  assign _T_7 = ~ io_iso; // @[MockAONWrapper.scala 157:21:shc.marmotcaravel.MarmotCaravelConfig.fir@233805.4]
  assign io_out = io_in & _T_7; // @[MockAONWrapper.scala 157:10:shc.marmotcaravel.MarmotCaravelConfig.fir@233807.4]
endmodule
module TLIsolation( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234829.2]
  input  [2:0]  auto_in_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  input  [2:0]  auto_in_a_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  input  [1:0]  auto_in_a_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  input  [5:0]  auto_in_a_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  input  [28:0] auto_in_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  input  [3:0]  auto_in_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  input  [31:0] auto_in_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  input         auto_in_a_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output        auto_in_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  input         auto_in_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output        auto_in_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  input         auto_in_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  input         auto_in_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output        auto_in_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output [2:0]  auto_in_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output [1:0]  auto_in_d_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output [1:0]  auto_in_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output [5:0]  auto_in_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output        auto_in_d_mem_0_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output        auto_in_d_mem_0_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output [31:0] auto_in_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output        auto_in_d_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  input         auto_in_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output        auto_in_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  input         auto_in_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output        auto_in_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output        auto_in_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  input         auto_in_d_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output [2:0]  auto_out_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output [2:0]  auto_out_a_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output [1:0]  auto_out_a_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output [5:0]  auto_out_a_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output [28:0] auto_out_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output [3:0]  auto_out_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output [31:0] auto_out_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output        auto_out_a_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  input         auto_out_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output        auto_out_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  input         auto_out_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output        auto_out_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output        auto_out_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  input         auto_out_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  input  [2:0]  auto_out_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  input  [1:0]  auto_out_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  input  [5:0]  auto_out_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  input  [31:0] auto_out_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output        auto_out_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  input         auto_out_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output        auto_out_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  input         auto_out_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  input         auto_out_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  output        auto_out_d_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234832.4]
  input         io_iso_out // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@234833.4]
);
  wire  iso_0_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234852.4]
  wire  iso_0_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234852.4]
  wire  iso_0_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234852.4]
  wire  iso_1_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234856.4]
  wire  iso_1_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234856.4]
  wire  iso_1_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234856.4]
  wire  iso_2_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234860.4]
  wire  iso_2_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234860.4]
  wire  iso_2_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234860.4]
  wire  iso_3_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234864.4]
  wire  iso_3_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234864.4]
  wire  iso_3_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234864.4]
  wire  iso_4_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234868.4]
  wire  iso_4_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234868.4]
  wire  iso_4_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234868.4]
  wire  iso_5_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234872.4]
  wire  iso_5_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234872.4]
  wire  iso_5_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234872.4]
  wire  iso_6_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234876.4]
  wire  iso_6_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234876.4]
  wire  iso_6_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234876.4]
  wire  iso_7_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234880.4]
  wire  iso_7_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234880.4]
  wire  iso_7_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234880.4]
  wire  iso_8_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234884.4]
  wire  iso_8_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234884.4]
  wire  iso_8_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234884.4]
  wire  iso_9_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234888.4]
  wire  iso_9_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234888.4]
  wire  iso_9_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234888.4]
  wire  iso_10_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234892.4]
  wire  iso_10_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234892.4]
  wire  iso_10_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234892.4]
  wire  iso_11_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234896.4]
  wire  iso_11_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234896.4]
  wire  iso_11_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234896.4]
  wire  iso_12_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234900.4]
  wire  iso_12_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234900.4]
  wire  iso_12_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234900.4]
  wire  iso_13_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234904.4]
  wire  iso_13_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234904.4]
  wire  iso_13_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234904.4]
  wire  iso_14_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234908.4]
  wire  iso_14_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234908.4]
  wire  iso_14_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234908.4]
  wire  iso_15_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234912.4]
  wire  iso_15_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234912.4]
  wire  iso_15_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234912.4]
  wire  iso_16_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234916.4]
  wire  iso_16_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234916.4]
  wire  iso_16_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234916.4]
  wire  iso_17_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234920.4]
  wire  iso_17_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234920.4]
  wire  iso_17_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234920.4]
  wire  iso_18_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234924.4]
  wire  iso_18_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234924.4]
  wire  iso_18_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234924.4]
  wire  iso_19_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234928.4]
  wire  iso_19_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234928.4]
  wire  iso_19_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234928.4]
  wire  iso_20_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234932.4]
  wire  iso_20_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234932.4]
  wire  iso_20_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234932.4]
  wire  iso_21_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234936.4]
  wire  iso_21_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234936.4]
  wire  iso_21_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234936.4]
  wire  iso_22_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234940.4]
  wire  iso_22_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234940.4]
  wire  iso_22_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234940.4]
  wire  iso_23_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234944.4]
  wire  iso_23_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234944.4]
  wire  iso_23_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234944.4]
  wire  iso_24_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234948.4]
  wire  iso_24_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234948.4]
  wire  iso_24_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234948.4]
  wire  iso_25_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234952.4]
  wire  iso_25_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234952.4]
  wire  iso_25_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234952.4]
  wire  iso_26_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234956.4]
  wire  iso_26_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234956.4]
  wire  iso_26_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234956.4]
  wire  iso_27_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234960.4]
  wire  iso_27_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234960.4]
  wire  iso_27_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234960.4]
  wire  iso_28_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234964.4]
  wire  iso_28_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234964.4]
  wire  iso_28_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234964.4]
  wire  iso_29_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234968.4]
  wire  iso_29_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234968.4]
  wire  iso_29_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234968.4]
  wire  iso_30_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234972.4]
  wire  iso_30_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234972.4]
  wire  iso_30_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234972.4]
  wire  iso_31_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234976.4]
  wire  iso_31_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234976.4]
  wire  iso_31_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234976.4]
  wire  iso_32_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234980.4]
  wire  iso_32_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234980.4]
  wire  iso_32_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234980.4]
  wire  iso_33_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234984.4]
  wire  iso_33_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234984.4]
  wire  iso_33_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234984.4]
  wire  iso_34_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234988.4]
  wire  iso_34_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234988.4]
  wire  iso_34_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234988.4]
  wire  iso_35_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234992.4]
  wire  iso_35_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234992.4]
  wire  iso_35_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234992.4]
  wire  iso_36_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234996.4]
  wire  iso_36_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234996.4]
  wire  iso_36_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234996.4]
  wire  iso_37_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235000.4]
  wire  iso_37_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235000.4]
  wire  iso_37_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235000.4]
  wire  iso_38_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235004.4]
  wire  iso_38_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235004.4]
  wire  iso_38_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235004.4]
  wire  iso_39_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235008.4]
  wire  iso_39_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235008.4]
  wire  iso_39_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235008.4]
  wire  iso_40_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235012.4]
  wire  iso_40_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235012.4]
  wire  iso_40_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235012.4]
  wire  iso_41_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235016.4]
  wire  iso_41_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235016.4]
  wire  iso_41_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235016.4]
  wire  iso_42_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235020.4]
  wire  iso_42_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235020.4]
  wire  iso_42_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235020.4]
  wire  iso_43_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235024.4]
  wire  iso_43_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235024.4]
  wire  iso_43_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235024.4]
  wire  iso_44_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235028.4]
  wire  iso_44_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235028.4]
  wire  iso_44_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235028.4]
  wire  iso_45_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235032.4]
  wire  iso_45_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235032.4]
  wire  iso_45_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235032.4]
  wire  iso_46_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235036.4]
  wire  iso_46_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235036.4]
  wire  iso_46_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235036.4]
  wire  iso_47_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235040.4]
  wire  iso_47_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235040.4]
  wire  iso_47_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235040.4]
  wire  iso_48_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235044.4]
  wire  iso_48_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235044.4]
  wire  iso_48_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235044.4]
  wire  iso_49_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235048.4]
  wire  iso_49_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235048.4]
  wire  iso_49_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235048.4]
  wire  iso_50_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235052.4]
  wire  iso_50_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235052.4]
  wire  iso_50_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235052.4]
  wire  iso_51_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235056.4]
  wire  iso_51_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235056.4]
  wire  iso_51_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235056.4]
  wire  iso_52_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235060.4]
  wire  iso_52_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235060.4]
  wire  iso_52_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235060.4]
  wire  iso_53_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235064.4]
  wire  iso_53_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235064.4]
  wire  iso_53_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235064.4]
  wire  iso_54_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235068.4]
  wire  iso_54_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235068.4]
  wire  iso_54_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235068.4]
  wire  iso_55_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235072.4]
  wire  iso_55_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235072.4]
  wire  iso_55_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235072.4]
  wire  iso_56_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235076.4]
  wire  iso_56_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235076.4]
  wire  iso_56_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235076.4]
  wire  iso_57_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235080.4]
  wire  iso_57_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235080.4]
  wire  iso_57_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235080.4]
  wire  iso_58_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235084.4]
  wire  iso_58_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235084.4]
  wire  iso_58_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235084.4]
  wire  iso_59_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235088.4]
  wire  iso_59_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235088.4]
  wire  iso_59_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235088.4]
  wire  iso_60_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235092.4]
  wire  iso_60_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235092.4]
  wire  iso_60_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235092.4]
  wire  iso_61_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235096.4]
  wire  iso_61_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235096.4]
  wire  iso_61_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235096.4]
  wire  iso_62_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235100.4]
  wire  iso_62_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235100.4]
  wire  iso_62_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235100.4]
  wire  iso_63_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235104.4]
  wire  iso_63_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235104.4]
  wire  iso_63_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235104.4]
  wire  iso_64_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235108.4]
  wire  iso_64_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235108.4]
  wire  iso_64_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235108.4]
  wire  iso_65_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235112.4]
  wire  iso_65_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235112.4]
  wire  iso_65_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235112.4]
  wire  iso_66_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235116.4]
  wire  iso_66_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235116.4]
  wire  iso_66_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235116.4]
  wire  iso_67_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235120.4]
  wire  iso_67_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235120.4]
  wire  iso_67_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235120.4]
  wire  iso_68_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235124.4]
  wire  iso_68_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235124.4]
  wire  iso_68_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235124.4]
  wire  iso_69_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235128.4]
  wire  iso_69_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235128.4]
  wire  iso_69_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235128.4]
  wire  iso_70_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235132.4]
  wire  iso_70_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235132.4]
  wire  iso_70_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235132.4]
  wire  iso_71_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235136.4]
  wire  iso_71_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235136.4]
  wire  iso_71_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235136.4]
  wire  iso_72_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235140.4]
  wire  iso_72_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235140.4]
  wire  iso_72_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235140.4]
  wire  iso_73_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235144.4]
  wire  iso_73_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235144.4]
  wire  iso_73_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235144.4]
  wire  iso_74_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235148.4]
  wire  iso_74_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235148.4]
  wire  iso_74_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235148.4]
  wire  iso_75_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235152.4]
  wire  iso_75_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235152.4]
  wire  iso_75_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235152.4]
  wire  iso_76_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235156.4]
  wire  iso_76_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235156.4]
  wire  iso_76_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235156.4]
  wire  iso_77_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235160.4]
  wire  iso_77_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235160.4]
  wire  iso_77_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235160.4]
  wire  iso_78_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235164.4]
  wire  iso_78_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235164.4]
  wire  iso_78_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235164.4]
  wire  iso_79_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235168.4]
  wire  iso_79_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235168.4]
  wire  iso_79_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235168.4]
  wire  iso_0_1_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235513.4]
  wire  iso_0_1_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235513.4]
  wire  iso_0_1_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235513.4]
  wire  iso_0_2_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235528.4]
  wire  iso_0_2_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235528.4]
  wire  iso_0_2_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235528.4]
  wire  iso_0_3_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235539.4]
  wire  iso_0_3_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235539.4]
  wire  iso_0_3_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235539.4]
  wire  iso_0_4_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235591.4]
  wire  iso_0_4_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235591.4]
  wire  iso_0_4_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235591.4]
  wire  iso_0_5_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235610.4]
  wire  iso_0_5_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235610.4]
  wire  iso_0_5_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235610.4]
  wire  iso_0_6_io_in; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235621.4]
  wire  iso_0_6_io_iso; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235621.4]
  wire  iso_0_6_io_out; // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235621.4]
  wire [32:0] _T_876; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234845.4]
  wire [32:0] _T_877; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234846.4]
  wire [65:0] _T_878; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234847.4]
  wire [7:0] _T_879; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234848.4]
  wire [5:0] _T_880; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234849.4]
  wire [13:0] _T_881; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234850.4]
  wire [79:0] _T_882; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234851.4]
  wire [1:0] _T_963; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235412.4]
  wire [1:0] _T_964; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235413.4]
  wire [2:0] _T_965; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235414.4]
  wire [4:0] _T_966; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235415.4]
  wire [1:0] _T_967; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235416.4]
  wire [1:0] _T_968; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235417.4]
  wire [2:0] _T_969; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235418.4]
  wire [4:0] _T_970; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235419.4]
  wire [9:0] _T_971; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235420.4]
  wire [1:0] _T_972; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235421.4]
  wire [1:0] _T_973; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235422.4]
  wire [2:0] _T_974; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235423.4]
  wire [4:0] _T_975; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235424.4]
  wire [1:0] _T_976; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235425.4]
  wire [1:0] _T_977; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235426.4]
  wire [2:0] _T_978; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235427.4]
  wire [4:0] _T_979; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235428.4]
  wire [9:0] _T_980; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235429.4]
  wire [19:0] _T_981; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235430.4]
  wire [1:0] _T_982; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235431.4]
  wire [1:0] _T_983; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235432.4]
  wire [2:0] _T_984; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235433.4]
  wire [4:0] _T_985; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235434.4]
  wire [1:0] _T_986; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235435.4]
  wire [1:0] _T_987; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235436.4]
  wire [2:0] _T_988; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235437.4]
  wire [4:0] _T_989; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235438.4]
  wire [9:0] _T_990; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235439.4]
  wire [1:0] _T_991; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235440.4]
  wire [1:0] _T_992; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235441.4]
  wire [2:0] _T_993; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235442.4]
  wire [4:0] _T_994; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235443.4]
  wire [1:0] _T_995; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235444.4]
  wire [1:0] _T_996; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235445.4]
  wire [2:0] _T_997; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235446.4]
  wire [4:0] _T_998; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235447.4]
  wire [9:0] _T_999; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235448.4]
  wire [19:0] _T_1000; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235449.4]
  wire [39:0] _T_1001; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235450.4]
  wire [1:0] _T_1002; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235451.4]
  wire [1:0] _T_1003; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235452.4]
  wire [2:0] _T_1004; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235453.4]
  wire [4:0] _T_1005; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235454.4]
  wire [1:0] _T_1006; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235455.4]
  wire [1:0] _T_1007; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235456.4]
  wire [2:0] _T_1008; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235457.4]
  wire [4:0] _T_1009; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235458.4]
  wire [9:0] _T_1010; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235459.4]
  wire [1:0] _T_1011; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235460.4]
  wire [1:0] _T_1012; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235461.4]
  wire [2:0] _T_1013; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235462.4]
  wire [4:0] _T_1014; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235463.4]
  wire [1:0] _T_1015; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235464.4]
  wire [1:0] _T_1016; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235465.4]
  wire [2:0] _T_1017; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235466.4]
  wire [4:0] _T_1018; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235467.4]
  wire [9:0] _T_1019; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235468.4]
  wire [19:0] _T_1020; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235469.4]
  wire [1:0] _T_1021; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235470.4]
  wire [1:0] _T_1022; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235471.4]
  wire [2:0] _T_1023; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235472.4]
  wire [4:0] _T_1024; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235473.4]
  wire [1:0] _T_1025; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235474.4]
  wire [1:0] _T_1026; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235475.4]
  wire [2:0] _T_1027; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235476.4]
  wire [4:0] _T_1028; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235477.4]
  wire [9:0] _T_1029; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235478.4]
  wire [1:0] _T_1030; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235479.4]
  wire [1:0] _T_1031; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235480.4]
  wire [2:0] _T_1032; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235481.4]
  wire [4:0] _T_1033; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235482.4]
  wire [1:0] _T_1034; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235483.4]
  wire [1:0] _T_1035; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235484.4]
  wire [2:0] _T_1036; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235485.4]
  wire [4:0] _T_1037; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235486.4]
  wire [9:0] _T_1038; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235487.4]
  wire [19:0] _T_1039; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235488.4]
  wire [39:0] _T_1040; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235489.4]
  wire [79:0] _T_1041; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235490.4]
  wire [32:0] _T_1081; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@235558.4]
  wire [34:0] _T_1083; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@235560.4]
  wire [7:0] _T_1084; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@235561.4]
  wire [4:0] _T_1085; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@235562.4]
  wire [12:0] _T_1086; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@235563.4]
  wire [47:0] _T_1087; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@235564.4]
  IsoZero iso_0 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234852.4]
    .io_in(iso_0_io_in),
    .io_iso(iso_0_io_iso),
    .io_out(iso_0_io_out)
  );
  IsoZero iso_1 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234856.4]
    .io_in(iso_1_io_in),
    .io_iso(iso_1_io_iso),
    .io_out(iso_1_io_out)
  );
  IsoZero iso_2 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234860.4]
    .io_in(iso_2_io_in),
    .io_iso(iso_2_io_iso),
    .io_out(iso_2_io_out)
  );
  IsoZero iso_3 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234864.4]
    .io_in(iso_3_io_in),
    .io_iso(iso_3_io_iso),
    .io_out(iso_3_io_out)
  );
  IsoZero iso_4 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234868.4]
    .io_in(iso_4_io_in),
    .io_iso(iso_4_io_iso),
    .io_out(iso_4_io_out)
  );
  IsoZero iso_5 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234872.4]
    .io_in(iso_5_io_in),
    .io_iso(iso_5_io_iso),
    .io_out(iso_5_io_out)
  );
  IsoZero iso_6 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234876.4]
    .io_in(iso_6_io_in),
    .io_iso(iso_6_io_iso),
    .io_out(iso_6_io_out)
  );
  IsoZero iso_7 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234880.4]
    .io_in(iso_7_io_in),
    .io_iso(iso_7_io_iso),
    .io_out(iso_7_io_out)
  );
  IsoZero iso_8 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234884.4]
    .io_in(iso_8_io_in),
    .io_iso(iso_8_io_iso),
    .io_out(iso_8_io_out)
  );
  IsoZero iso_9 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234888.4]
    .io_in(iso_9_io_in),
    .io_iso(iso_9_io_iso),
    .io_out(iso_9_io_out)
  );
  IsoZero iso_10 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234892.4]
    .io_in(iso_10_io_in),
    .io_iso(iso_10_io_iso),
    .io_out(iso_10_io_out)
  );
  IsoZero iso_11 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234896.4]
    .io_in(iso_11_io_in),
    .io_iso(iso_11_io_iso),
    .io_out(iso_11_io_out)
  );
  IsoZero iso_12 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234900.4]
    .io_in(iso_12_io_in),
    .io_iso(iso_12_io_iso),
    .io_out(iso_12_io_out)
  );
  IsoZero iso_13 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234904.4]
    .io_in(iso_13_io_in),
    .io_iso(iso_13_io_iso),
    .io_out(iso_13_io_out)
  );
  IsoZero iso_14 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234908.4]
    .io_in(iso_14_io_in),
    .io_iso(iso_14_io_iso),
    .io_out(iso_14_io_out)
  );
  IsoZero iso_15 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234912.4]
    .io_in(iso_15_io_in),
    .io_iso(iso_15_io_iso),
    .io_out(iso_15_io_out)
  );
  IsoZero iso_16 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234916.4]
    .io_in(iso_16_io_in),
    .io_iso(iso_16_io_iso),
    .io_out(iso_16_io_out)
  );
  IsoZero iso_17 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234920.4]
    .io_in(iso_17_io_in),
    .io_iso(iso_17_io_iso),
    .io_out(iso_17_io_out)
  );
  IsoZero iso_18 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234924.4]
    .io_in(iso_18_io_in),
    .io_iso(iso_18_io_iso),
    .io_out(iso_18_io_out)
  );
  IsoZero iso_19 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234928.4]
    .io_in(iso_19_io_in),
    .io_iso(iso_19_io_iso),
    .io_out(iso_19_io_out)
  );
  IsoZero iso_20 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234932.4]
    .io_in(iso_20_io_in),
    .io_iso(iso_20_io_iso),
    .io_out(iso_20_io_out)
  );
  IsoZero iso_21 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234936.4]
    .io_in(iso_21_io_in),
    .io_iso(iso_21_io_iso),
    .io_out(iso_21_io_out)
  );
  IsoZero iso_22 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234940.4]
    .io_in(iso_22_io_in),
    .io_iso(iso_22_io_iso),
    .io_out(iso_22_io_out)
  );
  IsoZero iso_23 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234944.4]
    .io_in(iso_23_io_in),
    .io_iso(iso_23_io_iso),
    .io_out(iso_23_io_out)
  );
  IsoZero iso_24 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234948.4]
    .io_in(iso_24_io_in),
    .io_iso(iso_24_io_iso),
    .io_out(iso_24_io_out)
  );
  IsoZero iso_25 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234952.4]
    .io_in(iso_25_io_in),
    .io_iso(iso_25_io_iso),
    .io_out(iso_25_io_out)
  );
  IsoZero iso_26 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234956.4]
    .io_in(iso_26_io_in),
    .io_iso(iso_26_io_iso),
    .io_out(iso_26_io_out)
  );
  IsoZero iso_27 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234960.4]
    .io_in(iso_27_io_in),
    .io_iso(iso_27_io_iso),
    .io_out(iso_27_io_out)
  );
  IsoZero iso_28 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234964.4]
    .io_in(iso_28_io_in),
    .io_iso(iso_28_io_iso),
    .io_out(iso_28_io_out)
  );
  IsoZero iso_29 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234968.4]
    .io_in(iso_29_io_in),
    .io_iso(iso_29_io_iso),
    .io_out(iso_29_io_out)
  );
  IsoZero iso_30 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234972.4]
    .io_in(iso_30_io_in),
    .io_iso(iso_30_io_iso),
    .io_out(iso_30_io_out)
  );
  IsoZero iso_31 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234976.4]
    .io_in(iso_31_io_in),
    .io_iso(iso_31_io_iso),
    .io_out(iso_31_io_out)
  );
  IsoZero iso_32 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234980.4]
    .io_in(iso_32_io_in),
    .io_iso(iso_32_io_iso),
    .io_out(iso_32_io_out)
  );
  IsoZero iso_33 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234984.4]
    .io_in(iso_33_io_in),
    .io_iso(iso_33_io_iso),
    .io_out(iso_33_io_out)
  );
  IsoZero iso_34 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234988.4]
    .io_in(iso_34_io_in),
    .io_iso(iso_34_io_iso),
    .io_out(iso_34_io_out)
  );
  IsoZero iso_35 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234992.4]
    .io_in(iso_35_io_in),
    .io_iso(iso_35_io_iso),
    .io_out(iso_35_io_out)
  );
  IsoZero iso_36 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@234996.4]
    .io_in(iso_36_io_in),
    .io_iso(iso_36_io_iso),
    .io_out(iso_36_io_out)
  );
  IsoZero iso_37 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235000.4]
    .io_in(iso_37_io_in),
    .io_iso(iso_37_io_iso),
    .io_out(iso_37_io_out)
  );
  IsoZero iso_38 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235004.4]
    .io_in(iso_38_io_in),
    .io_iso(iso_38_io_iso),
    .io_out(iso_38_io_out)
  );
  IsoZero iso_39 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235008.4]
    .io_in(iso_39_io_in),
    .io_iso(iso_39_io_iso),
    .io_out(iso_39_io_out)
  );
  IsoZero iso_40 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235012.4]
    .io_in(iso_40_io_in),
    .io_iso(iso_40_io_iso),
    .io_out(iso_40_io_out)
  );
  IsoZero iso_41 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235016.4]
    .io_in(iso_41_io_in),
    .io_iso(iso_41_io_iso),
    .io_out(iso_41_io_out)
  );
  IsoZero iso_42 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235020.4]
    .io_in(iso_42_io_in),
    .io_iso(iso_42_io_iso),
    .io_out(iso_42_io_out)
  );
  IsoZero iso_43 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235024.4]
    .io_in(iso_43_io_in),
    .io_iso(iso_43_io_iso),
    .io_out(iso_43_io_out)
  );
  IsoZero iso_44 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235028.4]
    .io_in(iso_44_io_in),
    .io_iso(iso_44_io_iso),
    .io_out(iso_44_io_out)
  );
  IsoZero iso_45 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235032.4]
    .io_in(iso_45_io_in),
    .io_iso(iso_45_io_iso),
    .io_out(iso_45_io_out)
  );
  IsoZero iso_46 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235036.4]
    .io_in(iso_46_io_in),
    .io_iso(iso_46_io_iso),
    .io_out(iso_46_io_out)
  );
  IsoZero iso_47 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235040.4]
    .io_in(iso_47_io_in),
    .io_iso(iso_47_io_iso),
    .io_out(iso_47_io_out)
  );
  IsoZero iso_48 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235044.4]
    .io_in(iso_48_io_in),
    .io_iso(iso_48_io_iso),
    .io_out(iso_48_io_out)
  );
  IsoZero iso_49 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235048.4]
    .io_in(iso_49_io_in),
    .io_iso(iso_49_io_iso),
    .io_out(iso_49_io_out)
  );
  IsoZero iso_50 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235052.4]
    .io_in(iso_50_io_in),
    .io_iso(iso_50_io_iso),
    .io_out(iso_50_io_out)
  );
  IsoZero iso_51 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235056.4]
    .io_in(iso_51_io_in),
    .io_iso(iso_51_io_iso),
    .io_out(iso_51_io_out)
  );
  IsoZero iso_52 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235060.4]
    .io_in(iso_52_io_in),
    .io_iso(iso_52_io_iso),
    .io_out(iso_52_io_out)
  );
  IsoZero iso_53 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235064.4]
    .io_in(iso_53_io_in),
    .io_iso(iso_53_io_iso),
    .io_out(iso_53_io_out)
  );
  IsoZero iso_54 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235068.4]
    .io_in(iso_54_io_in),
    .io_iso(iso_54_io_iso),
    .io_out(iso_54_io_out)
  );
  IsoZero iso_55 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235072.4]
    .io_in(iso_55_io_in),
    .io_iso(iso_55_io_iso),
    .io_out(iso_55_io_out)
  );
  IsoZero iso_56 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235076.4]
    .io_in(iso_56_io_in),
    .io_iso(iso_56_io_iso),
    .io_out(iso_56_io_out)
  );
  IsoZero iso_57 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235080.4]
    .io_in(iso_57_io_in),
    .io_iso(iso_57_io_iso),
    .io_out(iso_57_io_out)
  );
  IsoZero iso_58 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235084.4]
    .io_in(iso_58_io_in),
    .io_iso(iso_58_io_iso),
    .io_out(iso_58_io_out)
  );
  IsoZero iso_59 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235088.4]
    .io_in(iso_59_io_in),
    .io_iso(iso_59_io_iso),
    .io_out(iso_59_io_out)
  );
  IsoZero iso_60 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235092.4]
    .io_in(iso_60_io_in),
    .io_iso(iso_60_io_iso),
    .io_out(iso_60_io_out)
  );
  IsoZero iso_61 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235096.4]
    .io_in(iso_61_io_in),
    .io_iso(iso_61_io_iso),
    .io_out(iso_61_io_out)
  );
  IsoZero iso_62 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235100.4]
    .io_in(iso_62_io_in),
    .io_iso(iso_62_io_iso),
    .io_out(iso_62_io_out)
  );
  IsoZero iso_63 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235104.4]
    .io_in(iso_63_io_in),
    .io_iso(iso_63_io_iso),
    .io_out(iso_63_io_out)
  );
  IsoZero iso_64 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235108.4]
    .io_in(iso_64_io_in),
    .io_iso(iso_64_io_iso),
    .io_out(iso_64_io_out)
  );
  IsoZero iso_65 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235112.4]
    .io_in(iso_65_io_in),
    .io_iso(iso_65_io_iso),
    .io_out(iso_65_io_out)
  );
  IsoZero iso_66 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235116.4]
    .io_in(iso_66_io_in),
    .io_iso(iso_66_io_iso),
    .io_out(iso_66_io_out)
  );
  IsoZero iso_67 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235120.4]
    .io_in(iso_67_io_in),
    .io_iso(iso_67_io_iso),
    .io_out(iso_67_io_out)
  );
  IsoZero iso_68 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235124.4]
    .io_in(iso_68_io_in),
    .io_iso(iso_68_io_iso),
    .io_out(iso_68_io_out)
  );
  IsoZero iso_69 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235128.4]
    .io_in(iso_69_io_in),
    .io_iso(iso_69_io_iso),
    .io_out(iso_69_io_out)
  );
  IsoZero iso_70 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235132.4]
    .io_in(iso_70_io_in),
    .io_iso(iso_70_io_iso),
    .io_out(iso_70_io_out)
  );
  IsoZero iso_71 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235136.4]
    .io_in(iso_71_io_in),
    .io_iso(iso_71_io_iso),
    .io_out(iso_71_io_out)
  );
  IsoZero iso_72 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235140.4]
    .io_in(iso_72_io_in),
    .io_iso(iso_72_io_iso),
    .io_out(iso_72_io_out)
  );
  IsoZero iso_73 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235144.4]
    .io_in(iso_73_io_in),
    .io_iso(iso_73_io_iso),
    .io_out(iso_73_io_out)
  );
  IsoZero iso_74 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235148.4]
    .io_in(iso_74_io_in),
    .io_iso(iso_74_io_iso),
    .io_out(iso_74_io_out)
  );
  IsoZero iso_75 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235152.4]
    .io_in(iso_75_io_in),
    .io_iso(iso_75_io_iso),
    .io_out(iso_75_io_out)
  );
  IsoZero iso_76 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235156.4]
    .io_in(iso_76_io_in),
    .io_iso(iso_76_io_iso),
    .io_out(iso_76_io_out)
  );
  IsoZero iso_77 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235160.4]
    .io_in(iso_77_io_in),
    .io_iso(iso_77_io_iso),
    .io_out(iso_77_io_out)
  );
  IsoZero iso_78 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235164.4]
    .io_in(iso_78_io_in),
    .io_iso(iso_78_io_iso),
    .io_out(iso_78_io_out)
  );
  IsoZero iso_79 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235168.4]
    .io_in(iso_79_io_in),
    .io_iso(iso_79_io_iso),
    .io_out(iso_79_io_out)
  );
  IsoZero iso_0_1 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235513.4]
    .io_in(iso_0_1_io_in),
    .io_iso(iso_0_1_io_iso),
    .io_out(iso_0_1_io_out)
  );
  IsoZero iso_0_2 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235528.4]
    .io_in(iso_0_2_io_in),
    .io_iso(iso_0_2_io_iso),
    .io_out(iso_0_2_io_out)
  );
  IsoZero iso_0_3 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235539.4]
    .io_in(iso_0_3_io_in),
    .io_iso(iso_0_3_io_iso),
    .io_out(iso_0_3_io_out)
  );
  IsoZero iso_0_4 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235591.4]
    .io_in(iso_0_4_io_in),
    .io_iso(iso_0_4_io_iso),
    .io_out(iso_0_4_io_out)
  );
  IsoZero iso_0_5 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235610.4]
    .io_in(iso_0_5_io_in),
    .io_iso(iso_0_5_io_iso),
    .io_out(iso_0_5_io_out)
  );
  IsoZero iso_0_6 ( // @[MockAONWrapper.scala 165:18:shc.marmotcaravel.MarmotCaravelConfig.fir@235621.4]
    .io_in(iso_0_6_io_in),
    .io_iso(iso_0_6_io_iso),
    .io_out(iso_0_6_io_out)
  );
  assign _T_876 = {auto_in_a_mem_0_data,auto_in_a_mem_0_corrupt}; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234845.4]
  assign _T_877 = {auto_in_a_mem_0_address,auto_in_a_mem_0_mask}; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234846.4]
  assign _T_878 = {_T_877,_T_876}; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234847.4]
  assign _T_879 = {auto_in_a_mem_0_size,auto_in_a_mem_0_source}; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234848.4]
  assign _T_880 = {auto_in_a_mem_0_opcode,auto_in_a_mem_0_param}; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234849.4]
  assign _T_881 = {_T_880,_T_879}; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234850.4]
  assign _T_882 = {_T_881,_T_878}; // @[Isolation.scala 21:66:shc.marmotcaravel.MarmotCaravelConfig.fir@234851.4]
  assign _T_963 = {iso_1_io_out,iso_0_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235412.4]
  assign _T_964 = {iso_4_io_out,iso_3_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235413.4]
  assign _T_965 = {_T_964,iso_2_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235414.4]
  assign _T_966 = {_T_965,_T_963}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235415.4]
  assign _T_967 = {iso_6_io_out,iso_5_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235416.4]
  assign _T_968 = {iso_9_io_out,iso_8_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235417.4]
  assign _T_969 = {_T_968,iso_7_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235418.4]
  assign _T_970 = {_T_969,_T_967}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235419.4]
  assign _T_971 = {_T_970,_T_966}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235420.4]
  assign _T_972 = {iso_11_io_out,iso_10_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235421.4]
  assign _T_973 = {iso_14_io_out,iso_13_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235422.4]
  assign _T_974 = {_T_973,iso_12_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235423.4]
  assign _T_975 = {_T_974,_T_972}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235424.4]
  assign _T_976 = {iso_16_io_out,iso_15_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235425.4]
  assign _T_977 = {iso_19_io_out,iso_18_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235426.4]
  assign _T_978 = {_T_977,iso_17_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235427.4]
  assign _T_979 = {_T_978,_T_976}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235428.4]
  assign _T_980 = {_T_979,_T_975}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235429.4]
  assign _T_981 = {_T_980,_T_971}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235430.4]
  assign _T_982 = {iso_21_io_out,iso_20_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235431.4]
  assign _T_983 = {iso_24_io_out,iso_23_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235432.4]
  assign _T_984 = {_T_983,iso_22_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235433.4]
  assign _T_985 = {_T_984,_T_982}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235434.4]
  assign _T_986 = {iso_26_io_out,iso_25_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235435.4]
  assign _T_987 = {iso_29_io_out,iso_28_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235436.4]
  assign _T_988 = {_T_987,iso_27_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235437.4]
  assign _T_989 = {_T_988,_T_986}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235438.4]
  assign _T_990 = {_T_989,_T_985}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235439.4]
  assign _T_991 = {iso_31_io_out,iso_30_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235440.4]
  assign _T_992 = {iso_34_io_out,iso_33_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235441.4]
  assign _T_993 = {_T_992,iso_32_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235442.4]
  assign _T_994 = {_T_993,_T_991}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235443.4]
  assign _T_995 = {iso_36_io_out,iso_35_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235444.4]
  assign _T_996 = {iso_39_io_out,iso_38_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235445.4]
  assign _T_997 = {_T_996,iso_37_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235446.4]
  assign _T_998 = {_T_997,_T_995}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235447.4]
  assign _T_999 = {_T_998,_T_994}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235448.4]
  assign _T_1000 = {_T_999,_T_990}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235449.4]
  assign _T_1001 = {_T_1000,_T_981}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235450.4]
  assign _T_1002 = {iso_41_io_out,iso_40_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235451.4]
  assign _T_1003 = {iso_44_io_out,iso_43_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235452.4]
  assign _T_1004 = {_T_1003,iso_42_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235453.4]
  assign _T_1005 = {_T_1004,_T_1002}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235454.4]
  assign _T_1006 = {iso_46_io_out,iso_45_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235455.4]
  assign _T_1007 = {iso_49_io_out,iso_48_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235456.4]
  assign _T_1008 = {_T_1007,iso_47_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235457.4]
  assign _T_1009 = {_T_1008,_T_1006}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235458.4]
  assign _T_1010 = {_T_1009,_T_1005}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235459.4]
  assign _T_1011 = {iso_51_io_out,iso_50_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235460.4]
  assign _T_1012 = {iso_54_io_out,iso_53_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235461.4]
  assign _T_1013 = {_T_1012,iso_52_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235462.4]
  assign _T_1014 = {_T_1013,_T_1011}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235463.4]
  assign _T_1015 = {iso_56_io_out,iso_55_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235464.4]
  assign _T_1016 = {iso_59_io_out,iso_58_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235465.4]
  assign _T_1017 = {_T_1016,iso_57_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235466.4]
  assign _T_1018 = {_T_1017,_T_1015}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235467.4]
  assign _T_1019 = {_T_1018,_T_1014}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235468.4]
  assign _T_1020 = {_T_1019,_T_1010}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235469.4]
  assign _T_1021 = {iso_61_io_out,iso_60_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235470.4]
  assign _T_1022 = {iso_64_io_out,iso_63_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235471.4]
  assign _T_1023 = {_T_1022,iso_62_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235472.4]
  assign _T_1024 = {_T_1023,_T_1021}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235473.4]
  assign _T_1025 = {iso_66_io_out,iso_65_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235474.4]
  assign _T_1026 = {iso_69_io_out,iso_68_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235475.4]
  assign _T_1027 = {_T_1026,iso_67_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235476.4]
  assign _T_1028 = {_T_1027,_T_1025}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235477.4]
  assign _T_1029 = {_T_1028,_T_1024}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235478.4]
  assign _T_1030 = {iso_71_io_out,iso_70_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235479.4]
  assign _T_1031 = {iso_74_io_out,iso_73_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235480.4]
  assign _T_1032 = {_T_1031,iso_72_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235481.4]
  assign _T_1033 = {_T_1032,_T_1030}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235482.4]
  assign _T_1034 = {iso_76_io_out,iso_75_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235483.4]
  assign _T_1035 = {iso_79_io_out,iso_78_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235484.4]
  assign _T_1036 = {_T_1035,iso_77_io_out}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235485.4]
  assign _T_1037 = {_T_1036,_T_1034}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235486.4]
  assign _T_1038 = {_T_1037,_T_1033}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235487.4]
  assign _T_1039 = {_T_1038,_T_1029}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235488.4]
  assign _T_1040 = {_T_1039,_T_1020}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235489.4]
  assign _T_1041 = {_T_1040,_T_1001}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@235490.4]
  assign _T_1081 = {auto_out_d_mem_0_data,1'h0}; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@235558.4]
  assign _T_1083 = {2'h0,_T_1081}; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@235560.4]
  assign _T_1084 = {auto_out_d_mem_0_size,auto_out_d_mem_0_source}; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@235561.4]
  assign _T_1085 = {auto_out_d_mem_0_opcode,2'h0}; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@235562.4]
  assign _T_1086 = {_T_1085,_T_1084}; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@235563.4]
  assign _T_1087 = {_T_1086,_T_1083}; // @[Isolation.scala 22:66:shc.marmotcaravel.MarmotCaravelConfig.fir@235564.4]
  assign auto_in_a_ridx = auto_out_a_ridx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
  assign auto_in_a_safe_ridx_valid = auto_out_a_safe_ridx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
  assign auto_in_a_safe_sink_reset_n = auto_out_a_safe_sink_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
  assign auto_in_d_mem_0_opcode = _T_1087[47:45]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
  assign auto_in_d_mem_0_param = _T_1087[44:43]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
  assign auto_in_d_mem_0_size = _T_1087[42:41]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
  assign auto_in_d_mem_0_source = _T_1087[40:35]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
  assign auto_in_d_mem_0_sink = _T_1087[34]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
  assign auto_in_d_mem_0_denied = _T_1087[33]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
  assign auto_in_d_mem_0_data = _T_1087[32:1]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
  assign auto_in_d_mem_0_corrupt = _T_1087[0]; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
  assign auto_in_d_widx = auto_out_d_widx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
  assign auto_in_d_safe_widx_valid = auto_out_d_safe_widx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
  assign auto_in_d_safe_source_reset_n = auto_out_d_safe_source_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@234844.4]
  assign auto_out_a_mem_0_opcode = _T_1041[79:77]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
  assign auto_out_a_mem_0_param = _T_1041[76:74]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
  assign auto_out_a_mem_0_size = _T_1041[73:72]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
  assign auto_out_a_mem_0_source = _T_1041[71:66]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
  assign auto_out_a_mem_0_address = _T_1041[65:37]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
  assign auto_out_a_mem_0_mask = _T_1041[36:33]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
  assign auto_out_a_mem_0_data = _T_1041[32:1]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
  assign auto_out_a_mem_0_corrupt = _T_1041[0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
  assign auto_out_a_widx = iso_0_1_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
  assign auto_out_a_safe_widx_valid = iso_0_2_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
  assign auto_out_a_safe_source_reset_n = iso_0_3_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
  assign auto_out_d_ridx = iso_0_4_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
  assign auto_out_d_safe_ridx_valid = iso_0_5_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
  assign auto_out_d_safe_sink_reset_n = iso_0_6_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@234843.4]
  assign iso_0_io_in = _T_882[0]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235173.4]
  assign iso_0_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235174.4]
  assign iso_1_io_in = _T_882[1]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235176.4]
  assign iso_1_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235177.4]
  assign iso_2_io_in = _T_882[2]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235179.4]
  assign iso_2_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235180.4]
  assign iso_3_io_in = _T_882[3]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235182.4]
  assign iso_3_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235183.4]
  assign iso_4_io_in = _T_882[4]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235185.4]
  assign iso_4_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235186.4]
  assign iso_5_io_in = _T_882[5]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235188.4]
  assign iso_5_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235189.4]
  assign iso_6_io_in = _T_882[6]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235191.4]
  assign iso_6_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235192.4]
  assign iso_7_io_in = _T_882[7]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235194.4]
  assign iso_7_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235195.4]
  assign iso_8_io_in = _T_882[8]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235197.4]
  assign iso_8_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235198.4]
  assign iso_9_io_in = _T_882[9]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235200.4]
  assign iso_9_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235201.4]
  assign iso_10_io_in = _T_882[10]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235203.4]
  assign iso_10_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235204.4]
  assign iso_11_io_in = _T_882[11]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235206.4]
  assign iso_11_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235207.4]
  assign iso_12_io_in = _T_882[12]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235209.4]
  assign iso_12_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235210.4]
  assign iso_13_io_in = _T_882[13]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235212.4]
  assign iso_13_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235213.4]
  assign iso_14_io_in = _T_882[14]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235215.4]
  assign iso_14_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235216.4]
  assign iso_15_io_in = _T_882[15]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235218.4]
  assign iso_15_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235219.4]
  assign iso_16_io_in = _T_882[16]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235221.4]
  assign iso_16_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235222.4]
  assign iso_17_io_in = _T_882[17]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235224.4]
  assign iso_17_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235225.4]
  assign iso_18_io_in = _T_882[18]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235227.4]
  assign iso_18_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235228.4]
  assign iso_19_io_in = _T_882[19]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235230.4]
  assign iso_19_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235231.4]
  assign iso_20_io_in = _T_882[20]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235233.4]
  assign iso_20_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235234.4]
  assign iso_21_io_in = _T_882[21]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235236.4]
  assign iso_21_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235237.4]
  assign iso_22_io_in = _T_882[22]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235239.4]
  assign iso_22_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235240.4]
  assign iso_23_io_in = _T_882[23]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235242.4]
  assign iso_23_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235243.4]
  assign iso_24_io_in = _T_882[24]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235245.4]
  assign iso_24_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235246.4]
  assign iso_25_io_in = _T_882[25]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235248.4]
  assign iso_25_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235249.4]
  assign iso_26_io_in = _T_882[26]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235251.4]
  assign iso_26_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235252.4]
  assign iso_27_io_in = _T_882[27]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235254.4]
  assign iso_27_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235255.4]
  assign iso_28_io_in = _T_882[28]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235257.4]
  assign iso_28_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235258.4]
  assign iso_29_io_in = _T_882[29]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235260.4]
  assign iso_29_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235261.4]
  assign iso_30_io_in = _T_882[30]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235263.4]
  assign iso_30_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235264.4]
  assign iso_31_io_in = _T_882[31]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235266.4]
  assign iso_31_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235267.4]
  assign iso_32_io_in = _T_882[32]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235269.4]
  assign iso_32_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235270.4]
  assign iso_33_io_in = _T_882[33]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235272.4]
  assign iso_33_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235273.4]
  assign iso_34_io_in = _T_882[34]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235275.4]
  assign iso_34_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235276.4]
  assign iso_35_io_in = _T_882[35]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235278.4]
  assign iso_35_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235279.4]
  assign iso_36_io_in = _T_882[36]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235281.4]
  assign iso_36_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235282.4]
  assign iso_37_io_in = _T_882[37]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235284.4]
  assign iso_37_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235285.4]
  assign iso_38_io_in = _T_882[38]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235287.4]
  assign iso_38_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235288.4]
  assign iso_39_io_in = _T_882[39]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235290.4]
  assign iso_39_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235291.4]
  assign iso_40_io_in = _T_882[40]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235293.4]
  assign iso_40_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235294.4]
  assign iso_41_io_in = _T_882[41]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235296.4]
  assign iso_41_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235297.4]
  assign iso_42_io_in = _T_882[42]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235299.4]
  assign iso_42_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235300.4]
  assign iso_43_io_in = _T_882[43]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235302.4]
  assign iso_43_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235303.4]
  assign iso_44_io_in = _T_882[44]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235305.4]
  assign iso_44_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235306.4]
  assign iso_45_io_in = _T_882[45]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235308.4]
  assign iso_45_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235309.4]
  assign iso_46_io_in = _T_882[46]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235311.4]
  assign iso_46_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235312.4]
  assign iso_47_io_in = _T_882[47]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235314.4]
  assign iso_47_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235315.4]
  assign iso_48_io_in = _T_882[48]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235317.4]
  assign iso_48_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235318.4]
  assign iso_49_io_in = _T_882[49]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235320.4]
  assign iso_49_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235321.4]
  assign iso_50_io_in = _T_882[50]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235323.4]
  assign iso_50_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235324.4]
  assign iso_51_io_in = _T_882[51]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235326.4]
  assign iso_51_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235327.4]
  assign iso_52_io_in = _T_882[52]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235329.4]
  assign iso_52_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235330.4]
  assign iso_53_io_in = _T_882[53]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235332.4]
  assign iso_53_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235333.4]
  assign iso_54_io_in = _T_882[54]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235335.4]
  assign iso_54_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235336.4]
  assign iso_55_io_in = _T_882[55]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235338.4]
  assign iso_55_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235339.4]
  assign iso_56_io_in = _T_882[56]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235341.4]
  assign iso_56_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235342.4]
  assign iso_57_io_in = _T_882[57]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235344.4]
  assign iso_57_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235345.4]
  assign iso_58_io_in = _T_882[58]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235347.4]
  assign iso_58_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235348.4]
  assign iso_59_io_in = _T_882[59]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235350.4]
  assign iso_59_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235351.4]
  assign iso_60_io_in = _T_882[60]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235353.4]
  assign iso_60_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235354.4]
  assign iso_61_io_in = _T_882[61]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235356.4]
  assign iso_61_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235357.4]
  assign iso_62_io_in = _T_882[62]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235359.4]
  assign iso_62_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235360.4]
  assign iso_63_io_in = _T_882[63]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235362.4]
  assign iso_63_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235363.4]
  assign iso_64_io_in = _T_882[64]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235365.4]
  assign iso_64_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235366.4]
  assign iso_65_io_in = _T_882[65]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235368.4]
  assign iso_65_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235369.4]
  assign iso_66_io_in = _T_882[66]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235371.4]
  assign iso_66_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235372.4]
  assign iso_67_io_in = _T_882[67]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235374.4]
  assign iso_67_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235375.4]
  assign iso_68_io_in = _T_882[68]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235377.4]
  assign iso_68_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235378.4]
  assign iso_69_io_in = _T_882[69]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235380.4]
  assign iso_69_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235381.4]
  assign iso_70_io_in = _T_882[70]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235383.4]
  assign iso_70_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235384.4]
  assign iso_71_io_in = _T_882[71]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235386.4]
  assign iso_71_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235387.4]
  assign iso_72_io_in = _T_882[72]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235389.4]
  assign iso_72_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235390.4]
  assign iso_73_io_in = _T_882[73]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235392.4]
  assign iso_73_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235393.4]
  assign iso_74_io_in = _T_882[74]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235395.4]
  assign iso_74_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235396.4]
  assign iso_75_io_in = _T_882[75]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235398.4]
  assign iso_75_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235399.4]
  assign iso_76_io_in = _T_882[76]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235401.4]
  assign iso_76_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235402.4]
  assign iso_77_io_in = _T_882[77]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235404.4]
  assign iso_77_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235405.4]
  assign iso_78_io_in = _T_882[78]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235407.4]
  assign iso_78_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235408.4]
  assign iso_79_io_in = _T_882[79]; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235410.4]
  assign iso_79_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235411.4]
  assign iso_0_1_io_in = auto_in_a_widx; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235518.4]
  assign iso_0_1_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235519.4]
  assign iso_0_2_io_in = auto_in_a_safe_widx_valid; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235533.4]
  assign iso_0_2_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235534.4]
  assign iso_0_3_io_in = auto_in_a_safe_source_reset_n; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235544.4]
  assign iso_0_3_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235545.4]
  assign iso_0_4_io_in = auto_in_d_ridx; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235596.4]
  assign iso_0_4_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235597.4]
  assign iso_0_5_io_in = auto_in_d_safe_ridx_valid; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235615.4]
  assign iso_0_5_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235616.4]
  assign iso_0_6_io_in = auto_in_d_safe_sink_reset_n; // @[MockAONWrapper.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@235626.4]
  assign iso_0_6_io_iso = io_iso_out; // @[MockAONWrapper.scala 169:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235627.4]
endmodule
module SynchronizerShiftReg_w80_d1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@235803.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@235804.4]
  input  [79:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@235806.4]
  output [79:0] io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@235806.4]
);
  reg [79:0] sync_0; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@235811.4]
  reg [95:0] _RAND_0;
  assign io_q = sync_0; // @[ShiftReg.scala 123:8:shc.marmotcaravel.MarmotCaravelConfig.fir@235813.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {3{`RANDOM}};
  sync_0 = _RAND_0[79:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    sync_0 <= io_d;
  end
endmodule
module AsyncQueueSink_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236279.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236280.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236281.4]
  input         io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
  output        io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
  output [2:0]  io_deq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
  output [2:0]  io_deq_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
  output [1:0]  io_deq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
  output [5:0]  io_deq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
  output [28:0] io_deq_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
  output [3:0]  io_deq_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
  output [31:0] io_deq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
  output        io_deq_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
  input  [2:0]  io_async_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
  input  [2:0]  io_async_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
  input  [1:0]  io_async_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
  input  [5:0]  io_async_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
  input  [28:0] io_async_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
  input  [3:0]  io_async_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
  input  [31:0] io_async_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
  input         io_async_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
  output        io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
  input         io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
  output        io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
  input         io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
  input         io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
  output        io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236282.4]
);
  wire  ridx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236289.4]
  wire  ridx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236289.4]
  wire  ridx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236289.4]
  wire  ridx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236289.4]
  wire  ridx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236289.4]
  wire  widx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@236301.4]
  wire  widx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@236301.4]
  wire  widx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@236301.4]
  wire  widx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@236301.4]
  wire  deq_bits_reg_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@236312.4]
  wire [79:0] deq_bits_reg_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@236312.4]
  wire [79:0] deq_bits_reg_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@236312.4]
  wire  valid_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236353.4]
  wire  valid_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236353.4]
  wire  valid_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236353.4]
  wire  valid_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236353.4]
  wire  valid_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236353.4]
  wire  ridx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236362.4]
  wire  ridx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236362.4]
  wire  ridx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236362.4]
  wire  ridx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236362.4]
  wire  ridx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236362.4]
  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236369.4]
  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236369.4]
  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236369.4]
  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236372.4]
  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236372.4]
  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236372.4]
  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236372.4]
  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236375.4]
  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236375.4]
  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236375.4]
  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236375.4]
  wire  AsyncResetRegVec_w1_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236404.4]
  wire  AsyncResetRegVec_w1_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236404.4]
  wire  AsyncResetRegVec_w1_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236404.4]
  wire  AsyncResetRegVec_w1_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236404.4]
  wire  AsyncResetRegVec_w1_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236404.4]
  wire  _T_58; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@236286.4]
  wire  source_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236284.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@236285.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@236390.4]
  wire  _T_59; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@236287.4]
  wire  _T_63; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@236296.4]
  wire  ridx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@236297.4]
  wire  widx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@236306.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@236308.4]
  wire  _T_67; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@236309.4]
  wire  valid; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@236310.4]
  wire [2:0] deq_bits_nxt_opcode; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
  wire [2:0] deq_bits_nxt_param; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
  wire [1:0] deq_bits_nxt_size; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
  wire [5:0] deq_bits_nxt_source; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
  wire [28:0] deq_bits_nxt_address; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
  wire [3:0] deq_bits_nxt_mask; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
  wire [31:0] deq_bits_nxt_data; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
  wire  deq_bits_nxt_corrupt; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
  wire [32:0] _T_69; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@236316.4]
  wire [32:0] _T_70; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@236317.4]
  wire [65:0] _T_71; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@236318.4]
  wire [7:0] _T_72; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@236319.4]
  wire [5:0] _T_73; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@236320.4]
  wire [13:0] _T_74; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@236321.4]
  wire [79:0] _T_79; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236326.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@236328.4]
  wire  valid_reg_1; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@236359.4]
  wire  _T_90; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@236379.4]
  AsyncResetRegVec_w1_i0 ridx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236289.4]
    .clock(ridx_bin_clock),
    .reset(ridx_bin_reset),
    .io_d(ridx_bin_io_d),
    .io_q(ridx_bin_io_q),
    .io_en(ridx_bin_io_en)
  );
  AsyncResetSynchronizerShiftReg_w1_d3_i0 widx_gray ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@236301.4]
    .clock(widx_gray_clock),
    .reset(widx_gray_reset),
    .io_d(widx_gray_io_d),
    .io_q(widx_gray_io_q)
  );
  SynchronizerShiftReg_w80_d1 deq_bits_reg ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@236312.4]
    .clock(deq_bits_reg_clock),
    .io_d(deq_bits_reg_io_d),
    .io_q(deq_bits_reg_io_q)
  );
  AsyncResetRegVec_w1_i0 valid_reg ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236353.4]
    .clock(valid_reg_clock),
    .reset(valid_reg_reset),
    .io_d(valid_reg_io_d),
    .io_q(valid_reg_io_q),
    .io_en(valid_reg_io_en)
  );
  AsyncResetRegVec_w1_i0 ridx_gray ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236362.4]
    .clock(ridx_gray_clock),
    .reset(ridx_gray_reset),
    .io_d(ridx_gray_io_d),
    .io_q(ridx_gray_io_q),
    .io_en(ridx_gray_io_en)
  );
  AsyncValidSync AsyncValidSync ( // @[AsyncQueue.scala 154:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236369.4]
    .clock(AsyncValidSync_clock),
    .reset(AsyncValidSync_reset),
    .io_out(AsyncValidSync_io_out)
  );
  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 155:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236372.4]
    .clock(AsyncValidSync_1_clock),
    .reset(AsyncValidSync_1_reset),
    .io_in(AsyncValidSync_1_io_in),
    .io_out(AsyncValidSync_1_io_out)
  );
  AsyncValidSync_2 AsyncValidSync_2 ( // @[AsyncQueue.scala 156:31:shc.marmotcaravel.MarmotCaravelConfig.fir@236375.4]
    .clock(AsyncValidSync_2_clock),
    .reset(AsyncValidSync_2_reset),
    .io_in(AsyncValidSync_2_io_in),
    .io_out(AsyncValidSync_2_io_out)
  );
  AsyncResetRegVec_w1_i0 AsyncResetRegVec_w1_i0 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@236404.4]
    .clock(AsyncResetRegVec_w1_i0_clock),
    .reset(AsyncResetRegVec_w1_i0_reset),
    .io_d(AsyncResetRegVec_w1_i0_io_d),
    .io_q(AsyncResetRegVec_w1_i0_io_q),
    .io_en(AsyncResetRegVec_w1_i0_io_en)
  );
  assign _T_58 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@236286.4]
  assign source_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236284.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@236285.4 AsyncQueue.scala 164:18:shc.marmotcaravel.MarmotCaravelConfig.fir@236390.4]
  assign _T_59 = source_ready == 1'h0; // @[AsyncQueue.scala 130:49:shc.marmotcaravel.MarmotCaravelConfig.fir@236287.4]
  assign _T_63 = ridx_bin_io_q + _T_58; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@236296.4]
  assign ridx = _T_59 ? 1'h0 : _T_63; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@236297.4]
  assign widx = widx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@236306.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@236308.4]
  assign _T_67 = ridx != widx; // @[AsyncQueue.scala 132:36:shc.marmotcaravel.MarmotCaravelConfig.fir@236309.4]
  assign valid = source_ready & _T_67; // @[AsyncQueue.scala 132:28:shc.marmotcaravel.MarmotCaravelConfig.fir@236310.4]
  assign deq_bits_nxt_opcode = valid ? io_async_mem_0_opcode : io_deq_bits_opcode; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
  assign deq_bits_nxt_param = valid ? io_async_mem_0_param : io_deq_bits_param; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
  assign deq_bits_nxt_size = valid ? io_async_mem_0_size : io_deq_bits_size; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
  assign deq_bits_nxt_source = valid ? io_async_mem_0_source : io_deq_bits_source; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
  assign deq_bits_nxt_address = valid ? io_async_mem_0_address : io_deq_bits_address; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
  assign deq_bits_nxt_mask = valid ? io_async_mem_0_mask : io_deq_bits_mask; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
  assign deq_bits_nxt_data = valid ? io_async_mem_0_data : io_deq_bits_data; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
  assign deq_bits_nxt_corrupt = valid ? io_async_mem_0_corrupt : io_deq_bits_corrupt; // @[AsyncQueue.scala 144:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236311.4]
  assign _T_69 = {deq_bits_nxt_data,deq_bits_nxt_corrupt}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@236316.4]
  assign _T_70 = {deq_bits_nxt_address,deq_bits_nxt_mask}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@236317.4]
  assign _T_71 = {_T_70,_T_69}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@236318.4]
  assign _T_72 = {deq_bits_nxt_size,deq_bits_nxt_source}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@236319.4]
  assign _T_73 = {deq_bits_nxt_opcode,deq_bits_nxt_param}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@236320.4]
  assign _T_74 = {_T_73,_T_72}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@236321.4]
  assign _T_79 = deq_bits_reg_io_q; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236326.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@236328.4]
  assign valid_reg_1 = valid_reg_io_q; // @[AsyncQueue.scala 147:59:shc.marmotcaravel.MarmotCaravelConfig.fir@236359.4]
  assign _T_90 = io_async_safe_source_reset_n == 1'h0; // @[AsyncQueue.scala 157:44:shc.marmotcaravel.MarmotCaravelConfig.fir@236379.4]
  assign io_deq_valid = valid_reg_1 & source_ready; // @[AsyncQueue.scala 148:16:shc.marmotcaravel.MarmotCaravelConfig.fir@236361.4]
  assign io_deq_bits_opcode = _T_79[79:77]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@236352.4]
  assign io_deq_bits_param = _T_79[76:74]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@236351.4]
  assign io_deq_bits_size = _T_79[73:72]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@236350.4]
  assign io_deq_bits_source = _T_79[71:66]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@236349.4]
  assign io_deq_bits_address = _T_79[65:37]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@236348.4]
  assign io_deq_bits_mask = _T_79[36:33]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@236347.4]
  assign io_deq_bits_data = _T_79[32:1]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@236346.4]
  assign io_deq_bits_corrupt = _T_79[0]; // @[AsyncQueue.scala 145:15:shc.marmotcaravel.MarmotCaravelConfig.fir@236345.4]
  assign io_async_ridx = ridx_gray_io_q; // @[AsyncQueue.scala 151:17:shc.marmotcaravel.MarmotCaravelConfig.fir@236368.4]
  assign io_async_safe_ridx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 161:20:shc.marmotcaravel.MarmotCaravelConfig.fir@236387.4]
  assign io_async_safe_sink_reset_n = reset == 1'h0; // @[AsyncQueue.scala 165:22:shc.marmotcaravel.MarmotCaravelConfig.fir@236393.4]
  assign ridx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236291.4]
  assign ridx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236292.4]
  assign ridx_bin_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@236293.4]
  assign ridx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@236294.4]
  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236303.4]
  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236304.4]
  assign widx_gray_io_d = io_async_widx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@236305.4]
  assign deq_bits_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236314.4]
  assign deq_bits_reg_io_d = {_T_74,_T_71}; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@236323.4]
  assign valid_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236355.4]
  assign valid_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236356.4]
  assign valid_reg_io_d = source_ready & _T_67; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@236357.4]
  assign valid_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@236358.4]
  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236364.4]
  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236365.4]
  assign ridx_gray_io_d = _T_59 ? 1'h0 : _T_63; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@236366.4]
  assign ridx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@236367.4]
  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236370.4]
  assign AsyncValidSync_reset = reset | _T_90; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236371.4 AsyncQueue.scala 157:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236381.4]
  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236373.4]
  assign AsyncValidSync_1_reset = reset | _T_90; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236374.4 AsyncQueue.scala 158:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236385.4]
  assign AsyncValidSync_1_io_in = io_async_safe_widx_valid; // @[AsyncQueue.scala 162:25:shc.marmotcaravel.MarmotCaravelConfig.fir@236388.4]
  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236376.4]
  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236377.4]
  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 163:24:shc.marmotcaravel.MarmotCaravelConfig.fir@236389.4]
  assign AsyncResetRegVec_w1_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236406.4]
  assign AsyncResetRegVec_w1_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236407.4]
  assign AsyncResetRegVec_w1_i0_io_d = io_async_widx == io_async_ridx; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@236408.4]
  assign AsyncResetRegVec_w1_i0_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@236409.4]
endmodule
module AsyncQueueSource_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236996.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236997.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236998.4]
  output        io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
  input         io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
  input  [2:0]  io_enq_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
  input  [1:0]  io_enq_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
  input  [5:0]  io_enq_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
  input  [31:0] io_enq_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
  output [2:0]  io_async_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
  output [1:0]  io_async_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
  output [5:0]  io_async_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
  output [31:0] io_async_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
  input         io_async_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
  output        io_async_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
  input         io_async_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
  output        io_async_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
  output        io_async_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
  input         io_async_safe_sink_reset_n // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@236999.4]
);
  wire  widx_bin_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237007.4]
  wire  widx_bin_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237007.4]
  wire  widx_bin_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237007.4]
  wire  widx_bin_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237007.4]
  wire  widx_bin_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237007.4]
  wire  ridx_gray_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237019.4]
  wire  ridx_gray_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237019.4]
  wire  ridx_gray_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237019.4]
  wire  ridx_gray_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237019.4]
  wire  ready_reg_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237041.4]
  wire  ready_reg_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237041.4]
  wire  ready_reg_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237041.4]
  wire  ready_reg_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237041.4]
  wire  ready_reg_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237041.4]
  wire  widx_gray_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237050.4]
  wire  widx_gray_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237050.4]
  wire  widx_gray_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237050.4]
  wire  widx_gray_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237050.4]
  wire  widx_gray_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237050.4]
  wire  AsyncValidSync_clock; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237065.4]
  wire  AsyncValidSync_reset; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237065.4]
  wire  AsyncValidSync_io_out; // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237065.4]
  wire  AsyncValidSync_1_clock; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237068.4]
  wire  AsyncValidSync_1_reset; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237068.4]
  wire  AsyncValidSync_1_io_in; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237068.4]
  wire  AsyncValidSync_1_io_out; // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237068.4]
  wire  AsyncValidSync_2_clock; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237071.4]
  wire  AsyncValidSync_2_reset; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237071.4]
  wire  AsyncValidSync_2_io_in; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237071.4]
  wire  AsyncValidSync_2_io_out; // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237071.4]
  reg [2:0] mem_0_opcode; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237003.4]
  reg [31:0] _RAND_0;
  reg [1:0] mem_0_size; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237003.4]
  reg [31:0] _RAND_1;
  reg [5:0] mem_0_source; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237003.4]
  reg [31:0] _RAND_2;
  reg [31:0] mem_0_data; // @[AsyncQueue.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237003.4]
  reg [31:0] _RAND_3;
  wire  _T_43; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@237004.4]
  wire  sink_ready; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237001.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@237002.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237086.4]
  wire  _T_44; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237005.4]
  wire  _T_48; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@237014.4]
  wire  widx; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237015.4]
  wire  ridx; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237024.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237026.4]
  wire  _T_52; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@237027.4]
  wire  _T_53; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@237028.4]
  wire  ready_reg_1; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@237047.4]
  wire  _T_58; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@237075.4]
  AsyncResetRegVec_w1_i0 widx_bin ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237007.4]
    .clock(widx_bin_clock),
    .reset(widx_bin_reset),
    .io_d(widx_bin_io_d),
    .io_q(widx_bin_io_q),
    .io_en(widx_bin_io_en)
  );
  AsyncResetSynchronizerShiftReg_w1_d3_i0 ridx_gray ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237019.4]
    .clock(ridx_gray_clock),
    .reset(ridx_gray_reset),
    .io_d(ridx_gray_io_d),
    .io_q(ridx_gray_io_q)
  );
  AsyncResetRegVec_w1_i0 ready_reg ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237041.4]
    .clock(ready_reg_clock),
    .reset(ready_reg_reset),
    .io_d(ready_reg_io_d),
    .io_q(ready_reg_io_q),
    .io_en(ready_reg_io_en)
  );
  AsyncResetRegVec_w1_i0 widx_gray ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237050.4]
    .clock(widx_gray_clock),
    .reset(widx_gray_reset),
    .io_d(widx_gray_io_d),
    .io_q(widx_gray_io_q),
    .io_en(widx_gray_io_en)
  );
  AsyncValidSync AsyncValidSync ( // @[AsyncQueue.scala 96:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237065.4]
    .clock(AsyncValidSync_clock),
    .reset(AsyncValidSync_reset),
    .io_out(AsyncValidSync_io_out)
  );
  AsyncValidSync_1 AsyncValidSync_1 ( // @[AsyncQueue.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237068.4]
    .clock(AsyncValidSync_1_clock),
    .reset(AsyncValidSync_1_reset),
    .io_in(AsyncValidSync_1_io_in),
    .io_out(AsyncValidSync_1_io_out)
  );
  AsyncValidSync_2 AsyncValidSync_2 ( // @[AsyncQueue.scala 98:30:shc.marmotcaravel.MarmotCaravelConfig.fir@237071.4]
    .clock(AsyncValidSync_2_clock),
    .reset(AsyncValidSync_2_reset),
    .io_in(AsyncValidSync_2_io_in),
    .io_out(AsyncValidSync_2_io_out)
  );
  assign _T_43 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@237004.4]
  assign sink_ready = AsyncValidSync_2_io_out; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237001.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@237002.4 AsyncQueue.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237086.4]
  assign _T_44 = sink_ready == 1'h0; // @[AsyncQueue.scala 77:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237005.4]
  assign _T_48 = widx_bin_io_q + _T_43; // @[AsyncQueue.scala 53:43:shc.marmotcaravel.MarmotCaravelConfig.fir@237014.4]
  assign widx = _T_44 ? 1'h0 : _T_48; // @[AsyncQueue.scala 53:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237015.4]
  assign ridx = ridx_gray_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237024.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237026.4]
  assign _T_52 = ridx ^ 1'h1; // @[AsyncQueue.scala 79:44:shc.marmotcaravel.MarmotCaravelConfig.fir@237027.4]
  assign _T_53 = widx != _T_52; // @[AsyncQueue.scala 79:34:shc.marmotcaravel.MarmotCaravelConfig.fir@237028.4]
  assign ready_reg_1 = ready_reg_io_q; // @[AsyncQueue.scala 84:59:shc.marmotcaravel.MarmotCaravelConfig.fir@237047.4]
  assign _T_58 = io_async_safe_sink_reset_n == 1'h0; // @[AsyncQueue.scala 99:43:shc.marmotcaravel.MarmotCaravelConfig.fir@237075.4]
  assign io_enq_ready = ready_reg_1 & sink_ready; // @[AsyncQueue.scala 85:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237049.4]
  assign io_async_mem_0_opcode = mem_0_opcode; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237064.4]
  assign io_async_mem_0_size = mem_0_size; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237062.4]
  assign io_async_mem_0_source = mem_0_source; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237061.4]
  assign io_async_mem_0_data = mem_0_data; // @[AsyncQueue.scala 92:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237058.4]
  assign io_async_widx = widx_gray_io_q; // @[AsyncQueue.scala 88:17:shc.marmotcaravel.MarmotCaravelConfig.fir@237056.4]
  assign io_async_safe_widx_valid = AsyncValidSync_io_out; // @[AsyncQueue.scala 103:20:shc.marmotcaravel.MarmotCaravelConfig.fir@237083.4]
  assign io_async_safe_source_reset_n = reset == 1'h0; // @[AsyncQueue.scala 107:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237089.4]
  assign widx_bin_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237009.4]
  assign widx_bin_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237010.4]
  assign widx_bin_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237011.4]
  assign widx_bin_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@237012.4]
  assign ridx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237021.4]
  assign ridx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237022.4]
  assign ridx_gray_io_d = io_async_ridx; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237023.4]
  assign ready_reg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237043.4]
  assign ready_reg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237044.4]
  assign ready_reg_io_d = sink_ready & _T_53; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237045.4]
  assign ready_reg_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@237046.4]
  assign widx_gray_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237052.4]
  assign widx_gray_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237053.4]
  assign widx_gray_io_d = _T_44 ? 1'h0 : _T_48; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237054.4]
  assign widx_gray_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@237055.4]
  assign AsyncValidSync_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237066.4]
  assign AsyncValidSync_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237067.4 AsyncQueue.scala 99:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237077.4]
  assign AsyncValidSync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237069.4]
  assign AsyncValidSync_1_reset = reset | _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237070.4 AsyncQueue.scala 100:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237081.4]
  assign AsyncValidSync_1_io_in = io_async_safe_ridx_valid; // @[AsyncQueue.scala 104:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237084.4]
  assign AsyncValidSync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237072.4]
  assign AsyncValidSync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237073.4]
  assign AsyncValidSync_2_io_in = AsyncValidSync_1_io_out; // @[AsyncQueue.scala 105:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237085.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  mem_0_opcode = _RAND_0[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  mem_0_size = _RAND_1[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  mem_0_source = _RAND_2[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  mem_0_data = _RAND_3[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (_T_43) begin
      mem_0_opcode <= io_enq_bits_opcode;
    end
    if (_T_43) begin
      mem_0_size <= io_enq_bits_size;
    end
    if (_T_43) begin
      mem_0_source <= io_enq_bits_source;
    end
    if (_T_43) begin
      mem_0_data <= io_enq_bits_data;
    end
  end
endmodule
module TLAsyncCrossingSink_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237091.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237092.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237093.4]
  input  [2:0]  auto_in_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  input  [2:0]  auto_in_a_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  input  [1:0]  auto_in_a_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  input  [5:0]  auto_in_a_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  input  [28:0] auto_in_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  input  [3:0]  auto_in_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  input  [31:0] auto_in_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  input         auto_in_a_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  output        auto_in_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  input         auto_in_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  output        auto_in_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  input         auto_in_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  input         auto_in_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  output        auto_in_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  output [2:0]  auto_in_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  output [1:0]  auto_in_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  output [5:0]  auto_in_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  output [31:0] auto_in_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  input         auto_in_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  output        auto_in_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  input         auto_in_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  output        auto_in_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  output        auto_in_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  input         auto_in_d_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237094.4]
);
  wire  AsyncQueueSink_clock; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
  wire  AsyncQueueSink_reset; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
  wire  AsyncQueueSink_io_deq_ready; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
  wire  AsyncQueueSink_io_deq_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
  wire [2:0] AsyncQueueSink_io_deq_bits_opcode; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
  wire [2:0] AsyncQueueSink_io_deq_bits_param; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
  wire [1:0] AsyncQueueSink_io_deq_bits_size; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
  wire [5:0] AsyncQueueSink_io_deq_bits_source; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
  wire [28:0] AsyncQueueSink_io_deq_bits_address; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
  wire [3:0] AsyncQueueSink_io_deq_bits_mask; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
  wire [31:0] AsyncQueueSink_io_deq_bits_data; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
  wire  AsyncQueueSink_io_deq_bits_corrupt; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
  wire [2:0] AsyncQueueSink_io_async_mem_0_opcode; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
  wire [2:0] AsyncQueueSink_io_async_mem_0_param; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
  wire [1:0] AsyncQueueSink_io_async_mem_0_size; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
  wire [5:0] AsyncQueueSink_io_async_mem_0_source; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
  wire [28:0] AsyncQueueSink_io_async_mem_0_address; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
  wire [3:0] AsyncQueueSink_io_async_mem_0_mask; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
  wire [31:0] AsyncQueueSink_io_async_mem_0_data; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
  wire  AsyncQueueSink_io_async_mem_0_corrupt; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
  wire  AsyncQueueSink_io_async_ridx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
  wire  AsyncQueueSink_io_async_widx; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
  wire  AsyncQueueSink_io_async_safe_ridx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
  wire  AsyncQueueSink_io_async_safe_widx_valid; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
  wire  AsyncQueueSink_io_async_safe_source_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
  wire  AsyncQueueSink_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
  wire  AsyncQueueSource_clock; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
  wire  AsyncQueueSource_reset; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
  wire  AsyncQueueSource_io_enq_ready; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
  wire  AsyncQueueSource_io_enq_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
  wire [2:0] AsyncQueueSource_io_enq_bits_opcode; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
  wire [1:0] AsyncQueueSource_io_enq_bits_size; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
  wire [5:0] AsyncQueueSource_io_enq_bits_source; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
  wire [31:0] AsyncQueueSource_io_enq_bits_data; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
  wire [2:0] AsyncQueueSource_io_async_mem_0_opcode; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
  wire [1:0] AsyncQueueSource_io_async_mem_0_size; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
  wire [5:0] AsyncQueueSource_io_async_mem_0_source; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
  wire [31:0] AsyncQueueSource_io_async_mem_0_data; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
  wire  AsyncQueueSource_io_async_ridx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
  wire  AsyncQueueSource_io_async_widx; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
  wire  AsyncQueueSource_io_async_safe_ridx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
  wire  AsyncQueueSource_io_async_safe_widx_valid; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
  wire  AsyncQueueSource_io_async_safe_source_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
  wire  AsyncQueueSource_io_async_safe_sink_reset_n; // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
  AsyncQueueSink_4 AsyncQueueSink ( // @[AsyncQueue.scala 183:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237105.4]
    .clock(AsyncQueueSink_clock),
    .reset(AsyncQueueSink_reset),
    .io_deq_ready(AsyncQueueSink_io_deq_ready),
    .io_deq_valid(AsyncQueueSink_io_deq_valid),
    .io_deq_bits_opcode(AsyncQueueSink_io_deq_bits_opcode),
    .io_deq_bits_param(AsyncQueueSink_io_deq_bits_param),
    .io_deq_bits_size(AsyncQueueSink_io_deq_bits_size),
    .io_deq_bits_source(AsyncQueueSink_io_deq_bits_source),
    .io_deq_bits_address(AsyncQueueSink_io_deq_bits_address),
    .io_deq_bits_mask(AsyncQueueSink_io_deq_bits_mask),
    .io_deq_bits_data(AsyncQueueSink_io_deq_bits_data),
    .io_deq_bits_corrupt(AsyncQueueSink_io_deq_bits_corrupt),
    .io_async_mem_0_opcode(AsyncQueueSink_io_async_mem_0_opcode),
    .io_async_mem_0_param(AsyncQueueSink_io_async_mem_0_param),
    .io_async_mem_0_size(AsyncQueueSink_io_async_mem_0_size),
    .io_async_mem_0_source(AsyncQueueSink_io_async_mem_0_source),
    .io_async_mem_0_address(AsyncQueueSink_io_async_mem_0_address),
    .io_async_mem_0_mask(AsyncQueueSink_io_async_mem_0_mask),
    .io_async_mem_0_data(AsyncQueueSink_io_async_mem_0_data),
    .io_async_mem_0_corrupt(AsyncQueueSink_io_async_mem_0_corrupt),
    .io_async_ridx(AsyncQueueSink_io_async_ridx),
    .io_async_widx(AsyncQueueSink_io_async_widx),
    .io_async_safe_ridx_valid(AsyncQueueSink_io_async_safe_ridx_valid),
    .io_async_safe_widx_valid(AsyncQueueSink_io_async_safe_widx_valid),
    .io_async_safe_source_reset_n(AsyncQueueSink_io_async_safe_source_reset_n),
    .io_async_safe_sink_reset_n(AsyncQueueSink_io_async_safe_sink_reset_n)
  );
  AsyncQueueSource_4 AsyncQueueSource ( // @[AsyncQueue.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237116.4]
    .clock(AsyncQueueSource_clock),
    .reset(AsyncQueueSource_reset),
    .io_enq_ready(AsyncQueueSource_io_enq_ready),
    .io_enq_valid(AsyncQueueSource_io_enq_valid),
    .io_enq_bits_opcode(AsyncQueueSource_io_enq_bits_opcode),
    .io_enq_bits_size(AsyncQueueSource_io_enq_bits_size),
    .io_enq_bits_source(AsyncQueueSource_io_enq_bits_source),
    .io_enq_bits_data(AsyncQueueSource_io_enq_bits_data),
    .io_async_mem_0_opcode(AsyncQueueSource_io_async_mem_0_opcode),
    .io_async_mem_0_size(AsyncQueueSource_io_async_mem_0_size),
    .io_async_mem_0_source(AsyncQueueSource_io_async_mem_0_source),
    .io_async_mem_0_data(AsyncQueueSource_io_async_mem_0_data),
    .io_async_ridx(AsyncQueueSource_io_async_ridx),
    .io_async_widx(AsyncQueueSource_io_async_widx),
    .io_async_safe_ridx_valid(AsyncQueueSource_io_async_safe_ridx_valid),
    .io_async_safe_widx_valid(AsyncQueueSource_io_async_safe_widx_valid),
    .io_async_safe_source_reset_n(AsyncQueueSource_io_async_safe_source_reset_n),
    .io_async_safe_sink_reset_n(AsyncQueueSource_io_async_safe_sink_reset_n)
  );
  assign auto_in_a_ridx = AsyncQueueSink_io_async_ridx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237104.4]
  assign auto_in_a_safe_ridx_valid = AsyncQueueSink_io_async_safe_ridx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237104.4]
  assign auto_in_a_safe_sink_reset_n = AsyncQueueSink_io_async_safe_sink_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237104.4]
  assign auto_in_d_mem_0_opcode = AsyncQueueSource_io_async_mem_0_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237104.4]
  assign auto_in_d_mem_0_size = AsyncQueueSource_io_async_mem_0_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237104.4]
  assign auto_in_d_mem_0_source = AsyncQueueSource_io_async_mem_0_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237104.4]
  assign auto_in_d_mem_0_data = AsyncQueueSource_io_async_mem_0_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237104.4]
  assign auto_in_d_widx = AsyncQueueSource_io_async_widx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237104.4]
  assign auto_in_d_safe_widx_valid = AsyncQueueSource_io_async_safe_widx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237104.4]
  assign auto_in_d_safe_source_reset_n = AsyncQueueSource_io_async_safe_source_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237104.4]
  assign auto_out_a_valid = AsyncQueueSink_io_deq_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237103.4]
  assign auto_out_a_bits_opcode = AsyncQueueSink_io_deq_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237103.4]
  assign auto_out_a_bits_param = AsyncQueueSink_io_deq_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237103.4]
  assign auto_out_a_bits_size = AsyncQueueSink_io_deq_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237103.4]
  assign auto_out_a_bits_source = AsyncQueueSink_io_deq_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237103.4]
  assign auto_out_a_bits_address = AsyncQueueSink_io_deq_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237103.4]
  assign auto_out_a_bits_mask = AsyncQueueSink_io_deq_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237103.4]
  assign auto_out_a_bits_data = AsyncQueueSink_io_deq_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237103.4]
  assign auto_out_a_bits_corrupt = AsyncQueueSink_io_deq_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237103.4]
  assign auto_out_d_ready = AsyncQueueSource_io_enq_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237103.4]
  assign AsyncQueueSink_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237106.4]
  assign AsyncQueueSink_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237107.4]
  assign AsyncQueueSink_io_deq_ready = auto_out_a_ready; // @[AsyncCrossing.scala 57:13:shc.marmotcaravel.MarmotCaravelConfig.fir@237115.4]
  assign AsyncQueueSink_io_async_mem_0_opcode = auto_in_a_mem_0_opcode; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237114.4]
  assign AsyncQueueSink_io_async_mem_0_param = auto_in_a_mem_0_param; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237114.4]
  assign AsyncQueueSink_io_async_mem_0_size = auto_in_a_mem_0_size; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237114.4]
  assign AsyncQueueSink_io_async_mem_0_source = auto_in_a_mem_0_source; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237114.4]
  assign AsyncQueueSink_io_async_mem_0_address = auto_in_a_mem_0_address; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237114.4]
  assign AsyncQueueSink_io_async_mem_0_mask = auto_in_a_mem_0_mask; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237114.4]
  assign AsyncQueueSink_io_async_mem_0_data = auto_in_a_mem_0_data; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237114.4]
  assign AsyncQueueSink_io_async_mem_0_corrupt = auto_in_a_mem_0_corrupt; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237114.4]
  assign AsyncQueueSink_io_async_widx = auto_in_a_widx; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237112.4]
  assign AsyncQueueSink_io_async_safe_widx_valid = auto_in_a_safe_widx_valid; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237110.4]
  assign AsyncQueueSink_io_async_safe_source_reset_n = auto_in_a_safe_source_reset_n; // @[AsyncQueue.scala 184:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237109.4]
  assign AsyncQueueSource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237117.4]
  assign AsyncQueueSource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237118.4]
  assign AsyncQueueSource_io_enq_valid = auto_out_d_valid; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237120.4]
  assign AsyncQueueSource_io_enq_bits_opcode = auto_out_d_bits_opcode; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237119.4]
  assign AsyncQueueSource_io_enq_bits_size = auto_out_d_bits_size; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237119.4]
  assign AsyncQueueSource_io_enq_bits_source = auto_out_d_bits_source; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237119.4]
  assign AsyncQueueSource_io_enq_bits_data = auto_out_d_bits_data; // @[AsyncQueue.scala 193:19:shc.marmotcaravel.MarmotCaravelConfig.fir@237119.4]
  assign AsyncQueueSource_io_async_ridx = auto_in_d_ridx; // @[AsyncCrossing.scala 58:12:shc.marmotcaravel.MarmotCaravelConfig.fir@237122.4]
  assign AsyncQueueSource_io_async_safe_ridx_valid = auto_in_d_safe_ridx_valid; // @[AsyncCrossing.scala 58:12:shc.marmotcaravel.MarmotCaravelConfig.fir@237122.4]
  assign AsyncQueueSource_io_async_safe_sink_reset_n = auto_in_d_safe_sink_reset_n; // @[AsyncCrossing.scala 58:12:shc.marmotcaravel.MarmotCaravelConfig.fir@237122.4]
endmodule
module IntSyncCrossingSource_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237146.2]
  input   auto_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237149.4]
  input   auto_in_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237149.4]
  output  auto_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237149.4]
  output  auto_out_sync_1 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237149.4]
);
  assign auto_out_sync_0 = auto_in_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237158.4]
  assign auto_out_sync_1 = auto_in_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237158.4]
endmodule
module MockAONWrapper( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237473.2]
  output        auto_intsource_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  output        auto_intsource_out_sync_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  input  [2:0]  auto_isolation_in_a_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  input  [2:0]  auto_isolation_in_a_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  input  [1:0]  auto_isolation_in_a_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  input  [5:0]  auto_isolation_in_a_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  input  [28:0] auto_isolation_in_a_mem_0_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  input  [3:0]  auto_isolation_in_a_mem_0_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  input  [31:0] auto_isolation_in_a_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  input         auto_isolation_in_a_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  output        auto_isolation_in_a_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  input         auto_isolation_in_a_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  output        auto_isolation_in_a_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  input         auto_isolation_in_a_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  input         auto_isolation_in_a_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  output        auto_isolation_in_a_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  output [2:0]  auto_isolation_in_d_mem_0_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  output [1:0]  auto_isolation_in_d_mem_0_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  output [1:0]  auto_isolation_in_d_mem_0_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  output [5:0]  auto_isolation_in_d_mem_0_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  output        auto_isolation_in_d_mem_0_sink, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  output        auto_isolation_in_d_mem_0_denied, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  output [31:0] auto_isolation_in_d_mem_0_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  output        auto_isolation_in_d_mem_0_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  input         auto_isolation_in_d_ridx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  output        auto_isolation_in_d_widx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  input         auto_isolation_in_d_safe_ridx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  output        auto_isolation_in_d_safe_widx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  output        auto_isolation_in_d_safe_source_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  input         auto_isolation_in_d_safe_sink_reset_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237476.4]
  input         io_pins_erst_n_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237477.4]
  input         io_pins_lfextclk_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237477.4]
  output        io_rsts_corerst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237477.4]
  output        io_rtc, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237477.4]
  input         io_ndreset // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237477.4]
);
  wire  aon_clock; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
  wire  aon_reset; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
  wire  aon_auto_int_out_0; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
  wire  aon_auto_int_out_1; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
  wire  aon_auto_in_a_ready; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
  wire  aon_auto_in_a_valid; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
  wire [2:0] aon_auto_in_a_bits_opcode; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
  wire [2:0] aon_auto_in_a_bits_param; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
  wire [1:0] aon_auto_in_a_bits_size; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
  wire [5:0] aon_auto_in_a_bits_source; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
  wire [28:0] aon_auto_in_a_bits_address; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
  wire [3:0] aon_auto_in_a_bits_mask; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
  wire [31:0] aon_auto_in_a_bits_data; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
  wire  aon_auto_in_a_bits_corrupt; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
  wire  aon_auto_in_d_ready; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
  wire  aon_auto_in_d_valid; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
  wire [2:0] aon_auto_in_d_bits_opcode; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
  wire [1:0] aon_auto_in_d_bits_size; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
  wire [5:0] aon_auto_in_d_bits_source; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
  wire [31:0] aon_auto_in_d_bits_data; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
  wire  aon_io_moff_corerst; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
  wire  aon_io_wdog_rst; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
  wire  aon_io_lfclk; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
  wire  aon_io_lfextclk; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
  wire  aon_io_resetCauses_wdogrst; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
  wire  aon_io_resetCauses_erst; // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
  wire [2:0] isolation_auto_in_a_mem_0_opcode; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire [2:0] isolation_auto_in_a_mem_0_param; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire [1:0] isolation_auto_in_a_mem_0_size; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire [5:0] isolation_auto_in_a_mem_0_source; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire [28:0] isolation_auto_in_a_mem_0_address; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire [3:0] isolation_auto_in_a_mem_0_mask; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire [31:0] isolation_auto_in_a_mem_0_data; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_in_a_mem_0_corrupt; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_in_a_ridx; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_in_a_widx; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_in_a_safe_ridx_valid; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_in_a_safe_widx_valid; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_in_a_safe_source_reset_n; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_in_a_safe_sink_reset_n; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire [2:0] isolation_auto_in_d_mem_0_opcode; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire [1:0] isolation_auto_in_d_mem_0_param; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire [1:0] isolation_auto_in_d_mem_0_size; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire [5:0] isolation_auto_in_d_mem_0_source; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_in_d_mem_0_sink; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_in_d_mem_0_denied; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire [31:0] isolation_auto_in_d_mem_0_data; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_in_d_mem_0_corrupt; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_in_d_ridx; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_in_d_widx; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_in_d_safe_ridx_valid; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_in_d_safe_widx_valid; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_in_d_safe_source_reset_n; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_in_d_safe_sink_reset_n; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire [2:0] isolation_auto_out_a_mem_0_opcode; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire [2:0] isolation_auto_out_a_mem_0_param; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire [1:0] isolation_auto_out_a_mem_0_size; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire [5:0] isolation_auto_out_a_mem_0_source; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire [28:0] isolation_auto_out_a_mem_0_address; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire [3:0] isolation_auto_out_a_mem_0_mask; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire [31:0] isolation_auto_out_a_mem_0_data; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_out_a_mem_0_corrupt; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_out_a_ridx; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_out_a_widx; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_out_a_safe_ridx_valid; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_out_a_safe_widx_valid; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_out_a_safe_source_reset_n; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_out_a_safe_sink_reset_n; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire [2:0] isolation_auto_out_d_mem_0_opcode; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire [1:0] isolation_auto_out_d_mem_0_size; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire [5:0] isolation_auto_out_d_mem_0_source; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire [31:0] isolation_auto_out_d_mem_0_data; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_out_d_ridx; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_out_d_widx; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_out_d_safe_ridx_valid; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_out_d_safe_widx_valid; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_out_d_safe_source_reset_n; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_auto_out_d_safe_sink_reset_n; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  isolation_io_iso_out; // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
  wire  crossing_clock; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire  crossing_reset; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire [2:0] crossing_auto_in_a_mem_0_opcode; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire [2:0] crossing_auto_in_a_mem_0_param; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire [1:0] crossing_auto_in_a_mem_0_size; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire [5:0] crossing_auto_in_a_mem_0_source; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire [28:0] crossing_auto_in_a_mem_0_address; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire [3:0] crossing_auto_in_a_mem_0_mask; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire [31:0] crossing_auto_in_a_mem_0_data; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire  crossing_auto_in_a_mem_0_corrupt; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire  crossing_auto_in_a_ridx; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire  crossing_auto_in_a_widx; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire  crossing_auto_in_a_safe_ridx_valid; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire  crossing_auto_in_a_safe_widx_valid; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire  crossing_auto_in_a_safe_source_reset_n; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire  crossing_auto_in_a_safe_sink_reset_n; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire [2:0] crossing_auto_in_d_mem_0_opcode; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire [1:0] crossing_auto_in_d_mem_0_size; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire [5:0] crossing_auto_in_d_mem_0_source; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire [31:0] crossing_auto_in_d_mem_0_data; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire  crossing_auto_in_d_ridx; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire  crossing_auto_in_d_widx; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire  crossing_auto_in_d_safe_ridx_valid; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire  crossing_auto_in_d_safe_widx_valid; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire  crossing_auto_in_d_safe_source_reset_n; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire  crossing_auto_in_d_safe_sink_reset_n; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire  crossing_auto_out_a_ready; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire  crossing_auto_out_a_valid; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire [2:0] crossing_auto_out_a_bits_opcode; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire [2:0] crossing_auto_out_a_bits_param; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire [1:0] crossing_auto_out_a_bits_size; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire [5:0] crossing_auto_out_a_bits_source; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire [28:0] crossing_auto_out_a_bits_address; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire [3:0] crossing_auto_out_a_bits_mask; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire [31:0] crossing_auto_out_a_bits_data; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire  crossing_auto_out_a_bits_corrupt; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire  crossing_auto_out_d_ready; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire  crossing_auto_out_d_valid; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire [2:0] crossing_auto_out_d_bits_opcode; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire [1:0] crossing_auto_out_d_bits_size; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire [5:0] crossing_auto_out_d_bits_source; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire [31:0] crossing_auto_out_d_bits_data; // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237503.4]
  wire  intsource_auto_in_1; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237503.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237503.4]
  wire  intsource_auto_out_sync_1; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237503.4]
  wire  aonrst_catch_clock; // @[MockAONWrapper.scala 98:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237532.4]
  wire  aonrst_catch_reset; // @[MockAONWrapper.scala 98:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237532.4]
  wire  aonrst_catch_io_sync_reset; // @[MockAONWrapper.scala 98:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237532.4]
  wire  ResetCatchAndSync_d3_clock; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237544.4]
  wire  ResetCatchAndSync_d3_reset; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237544.4]
  wire  ResetCatchAndSync_d3_io_sync_reset; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237544.4]
  wire  erst; // @[MockAONWrapper.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237519.4]
  wire  _T_381; // @[MockAONWrapper.scala 99:32:shc.marmotcaravel.MarmotCaravelConfig.fir@237536.4]
  wire  _T_383; // @[compatibility.scala 247:56:shc.marmotcaravel.MarmotCaravelConfig.fir@237542.4]
  TLMockAON aon ( // @[MockAONWrapper.scala 34:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237483.4]
    .clock(aon_clock),
    .reset(aon_reset),
    .auto_int_out_0(aon_auto_int_out_0),
    .auto_int_out_1(aon_auto_int_out_1),
    .auto_in_a_ready(aon_auto_in_a_ready),
    .auto_in_a_valid(aon_auto_in_a_valid),
    .auto_in_a_bits_opcode(aon_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(aon_auto_in_a_bits_param),
    .auto_in_a_bits_size(aon_auto_in_a_bits_size),
    .auto_in_a_bits_source(aon_auto_in_a_bits_source),
    .auto_in_a_bits_address(aon_auto_in_a_bits_address),
    .auto_in_a_bits_mask(aon_auto_in_a_bits_mask),
    .auto_in_a_bits_data(aon_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(aon_auto_in_a_bits_corrupt),
    .auto_in_d_ready(aon_auto_in_d_ready),
    .auto_in_d_valid(aon_auto_in_d_valid),
    .auto_in_d_bits_opcode(aon_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(aon_auto_in_d_bits_size),
    .auto_in_d_bits_source(aon_auto_in_d_bits_source),
    .auto_in_d_bits_data(aon_auto_in_d_bits_data),
    .io_moff_corerst(aon_io_moff_corerst),
    .io_wdog_rst(aon_io_wdog_rst),
    .io_lfclk(aon_io_lfclk),
    .io_lfextclk(aon_io_lfextclk),
    .io_resetCauses_wdogrst(aon_io_resetCauses_wdogrst),
    .io_resetCauses_erst(aon_io_resetCauses_erst)
  );
  TLIsolation isolation ( // @[MockAONWrapper.scala 44:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237490.4]
    .auto_in_a_mem_0_opcode(isolation_auto_in_a_mem_0_opcode),
    .auto_in_a_mem_0_param(isolation_auto_in_a_mem_0_param),
    .auto_in_a_mem_0_size(isolation_auto_in_a_mem_0_size),
    .auto_in_a_mem_0_source(isolation_auto_in_a_mem_0_source),
    .auto_in_a_mem_0_address(isolation_auto_in_a_mem_0_address),
    .auto_in_a_mem_0_mask(isolation_auto_in_a_mem_0_mask),
    .auto_in_a_mem_0_data(isolation_auto_in_a_mem_0_data),
    .auto_in_a_mem_0_corrupt(isolation_auto_in_a_mem_0_corrupt),
    .auto_in_a_ridx(isolation_auto_in_a_ridx),
    .auto_in_a_widx(isolation_auto_in_a_widx),
    .auto_in_a_safe_ridx_valid(isolation_auto_in_a_safe_ridx_valid),
    .auto_in_a_safe_widx_valid(isolation_auto_in_a_safe_widx_valid),
    .auto_in_a_safe_source_reset_n(isolation_auto_in_a_safe_source_reset_n),
    .auto_in_a_safe_sink_reset_n(isolation_auto_in_a_safe_sink_reset_n),
    .auto_in_d_mem_0_opcode(isolation_auto_in_d_mem_0_opcode),
    .auto_in_d_mem_0_param(isolation_auto_in_d_mem_0_param),
    .auto_in_d_mem_0_size(isolation_auto_in_d_mem_0_size),
    .auto_in_d_mem_0_source(isolation_auto_in_d_mem_0_source),
    .auto_in_d_mem_0_sink(isolation_auto_in_d_mem_0_sink),
    .auto_in_d_mem_0_denied(isolation_auto_in_d_mem_0_denied),
    .auto_in_d_mem_0_data(isolation_auto_in_d_mem_0_data),
    .auto_in_d_mem_0_corrupt(isolation_auto_in_d_mem_0_corrupt),
    .auto_in_d_ridx(isolation_auto_in_d_ridx),
    .auto_in_d_widx(isolation_auto_in_d_widx),
    .auto_in_d_safe_ridx_valid(isolation_auto_in_d_safe_ridx_valid),
    .auto_in_d_safe_widx_valid(isolation_auto_in_d_safe_widx_valid),
    .auto_in_d_safe_source_reset_n(isolation_auto_in_d_safe_source_reset_n),
    .auto_in_d_safe_sink_reset_n(isolation_auto_in_d_safe_sink_reset_n),
    .auto_out_a_mem_0_opcode(isolation_auto_out_a_mem_0_opcode),
    .auto_out_a_mem_0_param(isolation_auto_out_a_mem_0_param),
    .auto_out_a_mem_0_size(isolation_auto_out_a_mem_0_size),
    .auto_out_a_mem_0_source(isolation_auto_out_a_mem_0_source),
    .auto_out_a_mem_0_address(isolation_auto_out_a_mem_0_address),
    .auto_out_a_mem_0_mask(isolation_auto_out_a_mem_0_mask),
    .auto_out_a_mem_0_data(isolation_auto_out_a_mem_0_data),
    .auto_out_a_mem_0_corrupt(isolation_auto_out_a_mem_0_corrupt),
    .auto_out_a_ridx(isolation_auto_out_a_ridx),
    .auto_out_a_widx(isolation_auto_out_a_widx),
    .auto_out_a_safe_ridx_valid(isolation_auto_out_a_safe_ridx_valid),
    .auto_out_a_safe_widx_valid(isolation_auto_out_a_safe_widx_valid),
    .auto_out_a_safe_source_reset_n(isolation_auto_out_a_safe_source_reset_n),
    .auto_out_a_safe_sink_reset_n(isolation_auto_out_a_safe_sink_reset_n),
    .auto_out_d_mem_0_opcode(isolation_auto_out_d_mem_0_opcode),
    .auto_out_d_mem_0_size(isolation_auto_out_d_mem_0_size),
    .auto_out_d_mem_0_source(isolation_auto_out_d_mem_0_source),
    .auto_out_d_mem_0_data(isolation_auto_out_d_mem_0_data),
    .auto_out_d_ridx(isolation_auto_out_d_ridx),
    .auto_out_d_widx(isolation_auto_out_d_widx),
    .auto_out_d_safe_ridx_valid(isolation_auto_out_d_safe_ridx_valid),
    .auto_out_d_safe_widx_valid(isolation_auto_out_d_safe_widx_valid),
    .auto_out_d_safe_source_reset_n(isolation_auto_out_d_safe_source_reset_n),
    .auto_out_d_safe_sink_reset_n(isolation_auto_out_d_safe_sink_reset_n),
    .io_iso_out(isolation_io_iso_out)
  );
  TLAsyncCrossingSink_1 crossing ( // @[MockAONWrapper.scala 45:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237497.4]
    .clock(crossing_clock),
    .reset(crossing_reset),
    .auto_in_a_mem_0_opcode(crossing_auto_in_a_mem_0_opcode),
    .auto_in_a_mem_0_param(crossing_auto_in_a_mem_0_param),
    .auto_in_a_mem_0_size(crossing_auto_in_a_mem_0_size),
    .auto_in_a_mem_0_source(crossing_auto_in_a_mem_0_source),
    .auto_in_a_mem_0_address(crossing_auto_in_a_mem_0_address),
    .auto_in_a_mem_0_mask(crossing_auto_in_a_mem_0_mask),
    .auto_in_a_mem_0_data(crossing_auto_in_a_mem_0_data),
    .auto_in_a_mem_0_corrupt(crossing_auto_in_a_mem_0_corrupt),
    .auto_in_a_ridx(crossing_auto_in_a_ridx),
    .auto_in_a_widx(crossing_auto_in_a_widx),
    .auto_in_a_safe_ridx_valid(crossing_auto_in_a_safe_ridx_valid),
    .auto_in_a_safe_widx_valid(crossing_auto_in_a_safe_widx_valid),
    .auto_in_a_safe_source_reset_n(crossing_auto_in_a_safe_source_reset_n),
    .auto_in_a_safe_sink_reset_n(crossing_auto_in_a_safe_sink_reset_n),
    .auto_in_d_mem_0_opcode(crossing_auto_in_d_mem_0_opcode),
    .auto_in_d_mem_0_size(crossing_auto_in_d_mem_0_size),
    .auto_in_d_mem_0_source(crossing_auto_in_d_mem_0_source),
    .auto_in_d_mem_0_data(crossing_auto_in_d_mem_0_data),
    .auto_in_d_ridx(crossing_auto_in_d_ridx),
    .auto_in_d_widx(crossing_auto_in_d_widx),
    .auto_in_d_safe_ridx_valid(crossing_auto_in_d_safe_ridx_valid),
    .auto_in_d_safe_widx_valid(crossing_auto_in_d_safe_widx_valid),
    .auto_in_d_safe_source_reset_n(crossing_auto_in_d_safe_source_reset_n),
    .auto_in_d_safe_sink_reset_n(crossing_auto_in_d_safe_sink_reset_n),
    .auto_out_a_ready(crossing_auto_out_a_ready),
    .auto_out_a_valid(crossing_auto_out_a_valid),
    .auto_out_a_bits_opcode(crossing_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(crossing_auto_out_a_bits_param),
    .auto_out_a_bits_size(crossing_auto_out_a_bits_size),
    .auto_out_a_bits_source(crossing_auto_out_a_bits_source),
    .auto_out_a_bits_address(crossing_auto_out_a_bits_address),
    .auto_out_a_bits_mask(crossing_auto_out_a_bits_mask),
    .auto_out_a_bits_data(crossing_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(crossing_auto_out_a_bits_corrupt),
    .auto_out_d_ready(crossing_auto_out_d_ready),
    .auto_out_d_valid(crossing_auto_out_d_valid),
    .auto_out_d_bits_opcode(crossing_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(crossing_auto_out_d_bits_size),
    .auto_out_d_bits_source(crossing_auto_out_d_bits_source),
    .auto_out_d_bits_data(crossing_auto_out_d_bits_data)
  );
  IntSyncCrossingSource_4 intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237503.4]
    .auto_in_0(intsource_auto_in_0),
    .auto_in_1(intsource_auto_in_1),
    .auto_out_sync_0(intsource_auto_out_sync_0),
    .auto_out_sync_1(intsource_auto_out_sync_1)
  );
  ResetCatchAndSync_d3 aonrst_catch ( // @[MockAONWrapper.scala 98:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237532.4]
    .clock(aonrst_catch_clock),
    .reset(aonrst_catch_reset),
    .io_sync_reset(aonrst_catch_io_sync_reset)
  );
  ResetCatchAndSync_d3 ResetCatchAndSync_d3 ( // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237544.4]
    .clock(ResetCatchAndSync_d3_clock),
    .reset(ResetCatchAndSync_d3_reset),
    .io_sync_reset(ResetCatchAndSync_d3_io_sync_reset)
  );
  assign erst = ~ io_pins_erst_n_i_ival; // @[MockAONWrapper.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237519.4]
  assign _T_381 = erst | aon_io_wdog_rst; // @[MockAONWrapper.scala 99:32:shc.marmotcaravel.MarmotCaravelConfig.fir@237536.4]
  assign _T_383 = aon_reset; // @[compatibility.scala 247:56:shc.marmotcaravel.MarmotCaravelConfig.fir@237542.4]
  assign auto_intsource_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237513.4]
  assign auto_intsource_out_sync_1 = intsource_auto_out_sync_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237513.4]
  assign auto_isolation_in_a_ridx = isolation_auto_in_a_ridx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign auto_isolation_in_a_safe_ridx_valid = isolation_auto_in_a_safe_ridx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign auto_isolation_in_a_safe_sink_reset_n = isolation_auto_in_a_safe_sink_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign auto_isolation_in_d_mem_0_opcode = isolation_auto_in_d_mem_0_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign auto_isolation_in_d_mem_0_param = isolation_auto_in_d_mem_0_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign auto_isolation_in_d_mem_0_size = isolation_auto_in_d_mem_0_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign auto_isolation_in_d_mem_0_source = isolation_auto_in_d_mem_0_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign auto_isolation_in_d_mem_0_sink = isolation_auto_in_d_mem_0_sink; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign auto_isolation_in_d_mem_0_denied = isolation_auto_in_d_mem_0_denied; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign auto_isolation_in_d_mem_0_data = isolation_auto_in_d_mem_0_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign auto_isolation_in_d_mem_0_corrupt = isolation_auto_in_d_mem_0_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign auto_isolation_in_d_widx = isolation_auto_in_d_widx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign auto_isolation_in_d_safe_widx_valid = isolation_auto_in_d_safe_widx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign auto_isolation_in_d_safe_source_reset_n = isolation_auto_in_d_safe_source_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign io_rsts_corerst = aon_io_moff_corerst; // @[MockAONWrapper.scala 80:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237524.4]
  assign io_rtc = aon_io_lfclk; // @[MockAONWrapper.scala 142:12:shc.marmotcaravel.MarmotCaravelConfig.fir@237582.4]
  assign aon_clock = aon_io_lfclk; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237488.4 MockAONWrapper.scala 103:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237541.4]
  assign aon_reset = aonrst_catch_io_sync_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237489.4 MockAONWrapper.scala 101:22:shc.marmotcaravel.MarmotCaravelConfig.fir@237540.4]
  assign aon_auto_in_a_valid = crossing_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
  assign aon_auto_in_a_bits_opcode = crossing_auto_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
  assign aon_auto_in_a_bits_param = crossing_auto_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
  assign aon_auto_in_a_bits_size = crossing_auto_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
  assign aon_auto_in_a_bits_source = crossing_auto_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
  assign aon_auto_in_a_bits_address = crossing_auto_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
  assign aon_auto_in_a_bits_mask = crossing_auto_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
  assign aon_auto_in_a_bits_data = crossing_auto_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
  assign aon_auto_in_a_bits_corrupt = crossing_auto_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
  assign aon_auto_in_d_ready = crossing_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
  assign aon_io_lfextclk = io_pins_lfextclk_i_ival; // @[MockAONWrapper.scala 93:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237531.4]
  assign aon_io_resetCauses_wdogrst = aon_io_wdog_rst; // @[MockAONWrapper.scala 68:32:shc.marmotcaravel.MarmotCaravelConfig.fir@237521.4]
  assign aon_io_resetCauses_erst = ~ io_pins_erst_n_i_ival; // @[MockAONWrapper.scala 67:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237520.4]
  assign isolation_auto_in_a_mem_0_opcode = auto_isolation_in_a_mem_0_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign isolation_auto_in_a_mem_0_param = auto_isolation_in_a_mem_0_param; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign isolation_auto_in_a_mem_0_size = auto_isolation_in_a_mem_0_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign isolation_auto_in_a_mem_0_source = auto_isolation_in_a_mem_0_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign isolation_auto_in_a_mem_0_address = auto_isolation_in_a_mem_0_address; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign isolation_auto_in_a_mem_0_mask = auto_isolation_in_a_mem_0_mask; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign isolation_auto_in_a_mem_0_data = auto_isolation_in_a_mem_0_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign isolation_auto_in_a_mem_0_corrupt = auto_isolation_in_a_mem_0_corrupt; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign isolation_auto_in_a_widx = auto_isolation_in_a_widx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign isolation_auto_in_a_safe_widx_valid = auto_isolation_in_a_safe_widx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign isolation_auto_in_a_safe_source_reset_n = auto_isolation_in_a_safe_source_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign isolation_auto_in_d_ridx = auto_isolation_in_d_ridx; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign isolation_auto_in_d_safe_ridx_valid = auto_isolation_in_d_safe_ridx_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign isolation_auto_in_d_safe_sink_reset_n = auto_isolation_in_d_safe_sink_reset_n; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237512.4]
  assign isolation_auto_out_a_ridx = crossing_auto_in_a_ridx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
  assign isolation_auto_out_a_safe_ridx_valid = crossing_auto_in_a_safe_ridx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
  assign isolation_auto_out_a_safe_sink_reset_n = crossing_auto_in_a_safe_sink_reset_n; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
  assign isolation_auto_out_d_mem_0_opcode = crossing_auto_in_d_mem_0_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
  assign isolation_auto_out_d_mem_0_size = crossing_auto_in_d_mem_0_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
  assign isolation_auto_out_d_mem_0_source = crossing_auto_in_d_mem_0_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
  assign isolation_auto_out_d_mem_0_data = crossing_auto_in_d_mem_0_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
  assign isolation_auto_out_d_widx = crossing_auto_in_d_widx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
  assign isolation_auto_out_d_safe_widx_valid = crossing_auto_in_d_safe_widx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
  assign isolation_auto_out_d_safe_source_reset_n = crossing_auto_in_d_safe_source_reset_n; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
  assign isolation_io_iso_out = aon_io_moff_corerst; // @[MockAONWrapper.scala 122:33:shc.marmotcaravel.MarmotCaravelConfig.fir@237562.4]
  assign crossing_clock = aon_io_lfclk; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237501.4 MockAONWrapper.scala 117:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237560.4]
  assign crossing_reset = ResetCatchAndSync_d3_io_sync_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237502.4 MockAONWrapper.scala 118:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237561.4]
  assign crossing_auto_in_a_mem_0_opcode = isolation_auto_out_a_mem_0_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
  assign crossing_auto_in_a_mem_0_param = isolation_auto_out_a_mem_0_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
  assign crossing_auto_in_a_mem_0_size = isolation_auto_out_a_mem_0_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
  assign crossing_auto_in_a_mem_0_source = isolation_auto_out_a_mem_0_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
  assign crossing_auto_in_a_mem_0_address = isolation_auto_out_a_mem_0_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
  assign crossing_auto_in_a_mem_0_mask = isolation_auto_out_a_mem_0_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
  assign crossing_auto_in_a_mem_0_data = isolation_auto_out_a_mem_0_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
  assign crossing_auto_in_a_mem_0_corrupt = isolation_auto_out_a_mem_0_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
  assign crossing_auto_in_a_widx = isolation_auto_out_a_widx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
  assign crossing_auto_in_a_safe_widx_valid = isolation_auto_out_a_safe_widx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
  assign crossing_auto_in_a_safe_source_reset_n = isolation_auto_out_a_safe_source_reset_n; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
  assign crossing_auto_in_d_ridx = isolation_auto_out_d_ridx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
  assign crossing_auto_in_d_safe_ridx_valid = isolation_auto_out_d_safe_ridx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
  assign crossing_auto_in_d_safe_sink_reset_n = isolation_auto_out_d_safe_sink_reset_n; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237510.4]
  assign crossing_auto_out_a_ready = aon_auto_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
  assign crossing_auto_out_d_valid = aon_auto_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
  assign crossing_auto_out_d_bits_opcode = aon_auto_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
  assign crossing_auto_out_d_bits_size = aon_auto_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
  assign crossing_auto_out_d_bits_source = aon_auto_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
  assign crossing_auto_out_d_bits_data = aon_auto_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237511.4]
  assign intsource_auto_in_0 = aon_auto_int_out_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237509.4]
  assign intsource_auto_in_1 = aon_auto_int_out_1; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@237509.4]
  assign aonrst_catch_clock = aon_io_lfclk; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237534.4 MockAONWrapper.scala 100:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237539.4]
  assign aonrst_catch_reset = _T_381 | io_ndreset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237535.4 MockAONWrapper.scala 99:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237538.4]
  assign ResetCatchAndSync_d3_clock = aon_io_lfclk; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237546.4]
  assign ResetCatchAndSync_d3_reset = aon_io_moff_corerst | _T_383; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237547.4]
endmodule
module SynchronizerShiftReg_w2_d3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237584.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237585.4]
  input  [1:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237587.4]
  output [1:0] io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237587.4]
);
  reg [1:0] sync_0; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237592.4]
  reg [31:0] _RAND_0;
  reg [1:0] sync_1; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237593.4]
  reg [31:0] _RAND_1;
  reg [1:0] sync_2; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237594.4]
  reg [31:0] _RAND_2;
  assign io_q = sync_0; // @[ShiftReg.scala 123:8:shc.marmotcaravel.MarmotCaravelConfig.fir@237598.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  sync_0 = _RAND_0[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  sync_1 = _RAND_1[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  sync_2 = _RAND_2[1:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    sync_0 <= sync_1;
    sync_1 <= sync_2;
    sync_2 <= io_d;
  end
endmodule
module IntSyncCrossingSink_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237600.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237601.4]
  input   auto_in_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237603.4]
  input   auto_in_sync_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237603.4]
  output  auto_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237603.4]
  output  auto_out_1 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237603.4]
);
  wire  SynchronizerShiftReg_w2_d3_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237614.4]
  wire [1:0] SynchronizerShiftReg_w2_d3_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237614.4]
  wire [1:0] SynchronizerShiftReg_w2_d3_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237614.4]
  wire [1:0] _T_58; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237622.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@237624.4]
  SynchronizerShiftReg_w2_d3 SynchronizerShiftReg_w2_d3 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237614.4]
    .clock(SynchronizerShiftReg_w2_d3_clock),
    .io_d(SynchronizerShiftReg_w2_d3_io_d),
    .io_q(SynchronizerShiftReg_w2_d3_io_q)
  );
  assign _T_58 = SynchronizerShiftReg_w2_d3_io_q; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237622.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@237624.4]
  assign auto_out_0 = _T_58[0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237612.4]
  assign auto_out_1 = _T_58[1]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237612.4]
  assign SynchronizerShiftReg_w2_d3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237616.4]
  assign SynchronizerShiftReg_w2_d3_io_d = {auto_in_sync_1,auto_in_sync_0}; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237619.4]
endmodule
module IntXing( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237647.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237648.4]
  input   auto_int_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237650.4]
  output  auto_int_out_0 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237650.4]
);
  wire  SynchronizerShiftReg_w1_d3_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237661.4]
  wire  SynchronizerShiftReg_w1_d3_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237661.4]
  wire  SynchronizerShiftReg_w1_d3_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237661.4]
  SynchronizerShiftReg_w1_d3 SynchronizerShiftReg_w1_d3 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@237661.4]
    .clock(SynchronizerShiftReg_w1_d3_clock),
    .io_d(SynchronizerShiftReg_w1_d3_io_d),
    .io_q(SynchronizerShiftReg_w1_d3_io_q)
  );
  assign auto_int_out_0 = SynchronizerShiftReg_w1_d3_io_q; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237659.4]
  assign SynchronizerShiftReg_w1_d3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237663.4]
  assign SynchronizerShiftReg_w1_d3_io_d = auto_int_in_0; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237665.4]
endmodule
module TLMonitor_58( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237682.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237683.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237684.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@237685.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@238812.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@237712.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@237713.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@237714.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237715.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237715.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237716.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237718.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@237719.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@237721.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237722.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@237723.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@237724.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@237725.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@237727.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237728.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@237730.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237731.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@237732.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@237733.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@237734.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237735.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@237736.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237737.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237738.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@237739.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237740.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237741.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@237742.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237743.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237744.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@237745.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237746.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@237747.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@237748.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@237749.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@237772.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237775.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237776.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@237777.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@237778.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@237779.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237784.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237805.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237806.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237812.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237813.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237818.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237820.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237821.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@237826.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237827.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237829.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237830.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@237835.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237837.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237838.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@237844.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237898.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237900.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237901.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@237924.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@237927.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@237935.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237938.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237939.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237958.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237960.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237961.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237966.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237968.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237969.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@237983.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238034.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238076.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238077.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@238078.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238080.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238081.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238087.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@238118.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238120.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238121.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238135.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238166.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238168.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238169.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238183.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238233.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238235.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238236.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238253.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238262.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238264.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238265.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238295.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238353.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238543.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238552.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238553.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238554.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238555.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238556.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238567.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238568.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238569.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238570.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238571.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238572.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238573.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238575.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238577.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238578.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238583.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238585.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238586.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238591.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238593.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238594.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238599.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238601.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238602.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238607.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238609.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238610.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@238617.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238625.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238633.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238634.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238635.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238636.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238637.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238648.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238650.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238651.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238654.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238655.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238657.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238659.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238660.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238673.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238675.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238676.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238681.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238683.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238684.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@238707.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238716.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238726.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238727.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238728.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238729.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238730.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238749.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238750.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238751.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238752.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238753.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238768.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@238771.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@238773.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@238774.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238775.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238777.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238778.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@238770.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238789.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@238791.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@238792.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@238794.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@238796.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@238797.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@238798.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238800.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238801.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@238793.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238807.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@238808.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@238809.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238811.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@238814.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238815.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@238816.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238817.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@238818.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@238819.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238821.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238822.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@238828.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238832.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237786.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237858.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237941.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238000.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238051.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238101.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238149.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238197.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238267.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238308.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238366.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@238812.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@237712.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@237713.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@237714.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237715.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@237715.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@237716.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237718.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@237719.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@237721.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@237722.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@237723.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@237724.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@237725.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@237727.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237728.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@237730.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237731.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@237732.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@237733.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@237734.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237735.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@237736.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237737.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237738.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@237739.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237740.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237741.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@237742.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237743.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237744.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@237745.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@237746.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@237747.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@237748.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@237749.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@237772.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@237775.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@237776.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@237777.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@237778.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@237779.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237784.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237805.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237806.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237812.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237813.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237818.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237820.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237821.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@237826.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237827.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237829.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237830.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@237835.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237837.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237838.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@237844.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237898.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237900.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237901.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@237924.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@237927.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@237935.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237938.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237939.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@237958.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237960.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237961.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@237966.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237968.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237969.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@237983.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238034.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238076.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238077.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@238078.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238080.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238081.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238087.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@238118.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238120.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238121.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238135.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@238166.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238168.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238169.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238183.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238233.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238235.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238236.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238253.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238262.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238264.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238265.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238295.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238353.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238543.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238553.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238554.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238555.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238556.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238572.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238573.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238575.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238577.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238578.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238583.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238585.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238586.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238591.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238593.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238594.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238599.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238601.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238602.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238607.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238609.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238610.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@238617.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238625.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238634.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238635.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238636.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238637.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@238654.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238655.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238657.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238659.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238660.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238673.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238675.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238676.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@238681.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238683.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238684.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@238707.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238727.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238728.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238729.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238730.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238750.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238751.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@238752.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238753.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238768.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@238771.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@238773.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@238774.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238775.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238777.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238778.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@238770.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238789.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@238791.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@238792.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@238794.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@238796.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@238797.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@238798.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238800.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238801.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@238793.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238807.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@238808.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@238809.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@238814.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238815.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@238816.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238817.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@238818.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@238819.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238821.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238822.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@238828.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@238832.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237786.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237858.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237941.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238000.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238051.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238101.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238149.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238197.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238267.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238308.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238366.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_514 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_527 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_529 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_531 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_533 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_535 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_569 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_582 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_586 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_588 = _RAND_9[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {2{`RANDOM}};
  _T_622 = _RAND_10[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_633 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_654 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_697 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_514 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_518) begin
          _T_514 <= 1'h0;
        end else begin
          _T_514 <= _T_517;
        end
      end
    end
    if (_T_559) begin
      _T_527 <= io_in_a_bits_opcode;
    end
    if (_T_559) begin
      _T_529 <= io_in_a_bits_param;
    end
    if (_T_559) begin
      _T_531 <= io_in_a_bits_size;
    end
    if (_T_559) begin
      _T_533 <= io_in_a_bits_source;
    end
    if (_T_559) begin
      _T_535 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_569 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_573) begin
          _T_569 <= 1'h0;
        end else begin
          _T_569 <= _T_572;
        end
      end
    end
    if (_T_620) begin
      _T_582 <= io_in_d_bits_opcode;
    end
    if (_T_620) begin
      _T_586 <= io_in_d_bits_size;
    end
    if (_T_620) begin
      _T_588 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_622 <= 64'h0;
    end else begin
      _T_622 <= _T_695;
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_654 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_658) begin
          _T_654 <= 1'h0;
        end else begin
          _T_654 <= _T_657;
        end
      end
    end
    if (reset) begin
      _T_697 <= 32'h0;
    end else begin
      if (_T_711) begin
        _T_697 <= 32'h0;
      end else begin
        _T_697 <= _T_708;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@237697.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@237698.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@237769.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@237770.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237786.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237787.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237793.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237794.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237800.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237801.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237808.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237809.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237815.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237816.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237823.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237824.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237832.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237833.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237840.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237841.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237858.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237859.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237865.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237866.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237872.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237873.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237880.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237881.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237887.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237888.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237895.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237896.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237903.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237904.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237912.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237913.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237920.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237921.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237941.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237942.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237948.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237949.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237955.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237956.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237963.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237964.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237971.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237972.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237979.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@237980.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238000.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238001.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238007.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238008.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238014.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238015.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238022.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238023.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238030.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238031.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238051.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238052.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238058.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238059.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238065.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238066.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238073.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238074.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238083.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238084.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238101.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238102.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238108.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238109.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238115.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238116.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238123.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238124.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238131.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238132.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238149.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238150.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238156.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238157.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238163.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238164.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238171.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238172.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238179.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238180.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238197.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238198.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238204.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238205.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238211.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238212.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238219.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238220.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238227.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238228.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238238.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238239.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238259.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238260.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238267.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238268.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238275.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238276.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238283.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238284.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238291.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238292.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238301.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238302.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238308.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238309.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238316.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238317.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238324.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238325.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238332.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238333.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238340.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238341.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238349.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238350.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238359.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238360.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238366.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238367.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238374.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238375.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238382.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238383.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238390.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238391.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238399.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238400.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238408.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238409.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238418.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238419.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238426.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238427.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238434.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238435.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238443.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238444.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238453.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238454.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238461.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238462.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238470.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238471.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238479.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238480.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238489.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238490.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238497.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238498.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238505.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238506.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238514.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238515.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238524.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238525.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238532.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238533.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238540.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238541.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238580.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238581.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238588.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238589.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238596.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238597.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238604.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238605.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238612.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238613.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238662.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238663.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238670.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238671.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238678.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238679.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238686.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238687.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238694.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238695.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238702.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@238703.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238780.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238781.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238803.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@238804.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_706) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238824.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_706) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238825.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_17( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238837.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238838.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238839.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238840.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
  TLMonitor_58 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@238847.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@238887.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@238887.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@238887.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@238887.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@238887.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@238887.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@238886.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@238886.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@238886.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@238886.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@238886.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@238886.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@238886.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@238886.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@238886.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@238886.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238849.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238850.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@238883.4]
endmodule
module TLMonitor_59( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238958.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238959.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238960.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@238961.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@240088.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@238988.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@238989.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@238990.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@238991.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@238991.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238992.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@238994.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238995.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@238997.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@238998.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@238999.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@239000.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@239001.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@239003.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239004.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@239006.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239007.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@239008.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@239009.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@239010.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239011.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@239012.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239013.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239014.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@239015.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239016.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239017.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@239018.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239019.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239020.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@239021.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239022.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@239023.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@239024.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@239025.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239048.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@239051.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@239052.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@239053.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@239054.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239055.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239060.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239081.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239082.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239088.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239089.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239094.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239096.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239097.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@239102.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239103.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239105.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239106.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@239111.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239113.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239114.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239120.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239174.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239176.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239177.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239200.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@239203.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@239211.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239214.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239215.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239234.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239236.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239237.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239242.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239244.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239245.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239259.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239310.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@239352.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239353.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@239354.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239356.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239357.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239363.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@239394.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239396.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239397.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239411.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@239442.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239444.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239445.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239459.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@239509.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@239511.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@239512.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239529.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239538.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239540.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239541.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239571.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239629.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239819.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239828.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239829.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239830.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239831.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239832.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239843.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239844.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239845.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239846.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239847.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239848.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@239849.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239851.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239853.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239854.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239859.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239861.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239862.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239867.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239869.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239870.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239875.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239877.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239878.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239883.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239885.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239886.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@239893.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239901.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239909.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239910.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239911.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239912.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239913.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239924.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239926.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239927.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239930.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@239931.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239933.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239935.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239936.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239949.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239951.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239952.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239957.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239959.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239960.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@239983.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239992.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240002.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240003.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240004.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240005.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240006.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240025.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240026.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240027.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240028.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240029.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240044.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@240047.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@240049.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@240050.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@240051.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240053.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240054.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@240046.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240065.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@240067.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@240068.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@240070.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@240072.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@240073.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@240074.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240076.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240077.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@240069.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240083.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@240084.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@240085.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240087.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@240090.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240091.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@240092.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240093.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@240094.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@240095.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240097.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240098.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@240104.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240108.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239062.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239134.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239217.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239276.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239327.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239377.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239425.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239473.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239543.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239584.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239642.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@240088.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@238988.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@238989.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@238990.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@238991.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@238991.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@238992.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@238994.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238995.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@238997.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@238998.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@238999.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@239000.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@239001.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@239003.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239004.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@239006.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239007.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@239008.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@239009.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@239010.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239011.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@239012.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239013.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239014.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@239015.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239016.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239017.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@239018.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239019.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239020.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@239021.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239022.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@239023.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@239024.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@239025.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239048.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10013000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@239051.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@239052.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@239053.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@239054.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@239055.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239060.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239081.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239082.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239088.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239089.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239094.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239096.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239097.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@239102.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239103.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239105.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239106.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@239111.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239113.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239114.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239120.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239174.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239176.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239177.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239200.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@239203.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@239211.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239214.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239215.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239234.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239236.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239237.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239242.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239244.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239245.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239259.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239310.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@239352.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239353.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@239354.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239356.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239357.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239363.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@239394.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239396.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239397.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239411.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@239442.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239444.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239445.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239459.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@239509.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@239511.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@239512.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239529.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@239538.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239540.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239541.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239571.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239629.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239819.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239829.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239830.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239831.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239832.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239848.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@239849.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239851.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239853.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239854.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239859.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239861.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239862.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239867.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239869.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239870.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239875.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239877.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239878.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239883.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239885.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239886.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@239893.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239901.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239910.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239911.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@239912.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@239913.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@239930.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@239931.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239933.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239935.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239936.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239949.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239951.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239952.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@239957.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239959.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239960.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@239983.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240003.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240004.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240005.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240006.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240026.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240027.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240028.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240029.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240044.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@240047.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@240049.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@240050.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@240051.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240053.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240054.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@240046.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240065.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@240067.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@240068.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@240070.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@240072.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@240073.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@240074.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240076.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240077.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@240069.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240083.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@240084.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@240085.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@240090.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240091.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@240092.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240093.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@240094.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@240095.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240097.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240098.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@240104.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240108.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239062.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239134.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239217.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239276.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239327.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239377.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239425.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239473.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239543.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239584.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239642.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_514 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_527 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_529 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_531 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_533 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_535 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_569 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_582 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_586 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_588 = _RAND_9[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {2{`RANDOM}};
  _T_622 = _RAND_10[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_633 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_654 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_697 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_514 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_518) begin
          _T_514 <= 1'h0;
        end else begin
          _T_514 <= _T_517;
        end
      end
    end
    if (_T_559) begin
      _T_527 <= io_in_a_bits_opcode;
    end
    if (_T_559) begin
      _T_529 <= io_in_a_bits_param;
    end
    if (_T_559) begin
      _T_531 <= io_in_a_bits_size;
    end
    if (_T_559) begin
      _T_533 <= io_in_a_bits_source;
    end
    if (_T_559) begin
      _T_535 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_569 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_573) begin
          _T_569 <= 1'h0;
        end else begin
          _T_569 <= _T_572;
        end
      end
    end
    if (_T_620) begin
      _T_582 <= io_in_d_bits_opcode;
    end
    if (_T_620) begin
      _T_586 <= io_in_d_bits_size;
    end
    if (_T_620) begin
      _T_588 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_622 <= 64'h0;
    end else begin
      _T_622 <= _T_695;
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_654 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_658) begin
          _T_654 <= 1'h0;
        end else begin
          _T_654 <= _T_657;
        end
      end
    end
    if (reset) begin
      _T_697 <= 32'h0;
    end else begin
      if (_T_711) begin
        _T_697 <= 32'h0;
      end else begin
        _T_697 <= _T_708;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238973.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@238974.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@239045.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@239046.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239062.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239063.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239069.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239070.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239076.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239077.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239084.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239085.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239091.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239092.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239099.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239100.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239108.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239109.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239116.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239117.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239134.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239135.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239141.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239142.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239148.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239149.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239156.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239157.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239163.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239164.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239171.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239172.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239179.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239180.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239188.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239189.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239196.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239197.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239217.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239218.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239224.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239225.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239231.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239232.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239239.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239240.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239247.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239248.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239255.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239256.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239276.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239277.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239283.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239284.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239290.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239291.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239298.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239299.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239306.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239307.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239327.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239328.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239334.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239335.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239341.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239342.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239349.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239350.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239359.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239360.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239377.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239378.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239384.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239385.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239391.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239392.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239399.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239400.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239407.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239408.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239425.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239426.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239432.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239433.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239439.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239440.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239447.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239448.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239455.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239456.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239473.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239474.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239480.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239481.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239487.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239488.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239495.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239496.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239503.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239504.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@239514.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@239515.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239535.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239536.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239543.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239544.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239551.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239552.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239559.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239560.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239567.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239568.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239577.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239578.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239584.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239585.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239592.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239593.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239600.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239601.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239608.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239609.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239616.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239617.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239625.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239626.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239635.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239636.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239642.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239643.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239650.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239651.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239658.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239659.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239666.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239667.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239675.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239676.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239684.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239685.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239694.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239695.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239702.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239703.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239710.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239711.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239719.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239720.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239729.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239730.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239737.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239738.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239746.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239747.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239755.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239756.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239765.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239766.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239773.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239774.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239781.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239782.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239790.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239791.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239800.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239801.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239808.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239809.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239816.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239817.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239856.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239857.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239864.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239865.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239872.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239873.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239880.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239881.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239888.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239889.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239938.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239939.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239946.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239947.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239954.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239955.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239962.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239963.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239970.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239971.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239978.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@239979.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240056.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240057.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240079.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240080.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_706) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240100.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_706) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240101.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module UARTTx( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240120.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240121.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240122.4]
  input         io_en, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240123.4]
  output        io_in_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240123.4]
  input         io_in_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240123.4]
  input  [7:0]  io_in_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240123.4]
  output        io_out, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240123.4]
  input  [15:0] io_div, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240123.4]
  input         io_nstop // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240123.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@240134.4]
  reg [15:0] prescaler; // @[UARTTx.scala 17:22:shc.marmotcaravel.MarmotCaravelConfig.fir@240128.4]
  reg [31:0] _RAND_0;
  wire  pulse; // @[UARTTx.scala 18:26:shc.marmotcaravel.MarmotCaravelConfig.fir@240129.4]
  reg [3:0] counter; // @[UARTTx.scala 21:20:shc.marmotcaravel.MarmotCaravelConfig.fir@240130.4]
  reg [31:0] _RAND_1;
  reg [8:0] shifter; // @[UARTTx.scala 22:20:shc.marmotcaravel.MarmotCaravelConfig.fir@240131.4]
  reg [31:0] _RAND_2;
  reg  out; // @[UARTTx.scala 23:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240132.4]
  reg [31:0] _RAND_3;
  wire  plusarg_tx; // @[UARTTx.scala 26:90:shc.marmotcaravel.MarmotCaravelConfig.fir@240136.4]
  wire  busy; // @[UARTTx.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@240137.4]
  wire  _T_18; // @[UARTTx.scala 29:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240138.4]
  wire  _T_20; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240141.4]
  wire  _T_22; // @[UARTTx.scala 31:11:shc.marmotcaravel.MarmotCaravelConfig.fir@240144.6]
  wire  _T_24; // @[UARTTx.scala 33:22:shc.marmotcaravel.MarmotCaravelConfig.fir@240150.4]
  wire [8:0] _T_25; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240152.6]
  wire  _T_26; // @[UARTTx.scala 36:17:shc.marmotcaravel.MarmotCaravelConfig.fir@240154.6]
  wire [3:0] _T_29; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@240156.6]
  wire [3:0] _T_30; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@240157.6]
  wire [3:0] _T_31; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@240158.6]
  wire [16:0] _T_34; // @[UARTTx.scala 39:47:shc.marmotcaravel.MarmotCaravelConfig.fir@240164.6]
  wire [16:0] _T_35; // @[UARTTx.scala 39:47:shc.marmotcaravel.MarmotCaravelConfig.fir@240165.6]
  wire [15:0] _T_36; // @[UARTTx.scala 39:47:shc.marmotcaravel.MarmotCaravelConfig.fir@240166.6]
  wire  _T_38; // @[UARTTx.scala 41:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240170.4]
  wire [4:0] _T_39; // @[UARTTx.scala 42:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240172.6]
  wire [4:0] _T_40; // @[UARTTx.scala 42:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240173.6]
  wire [3:0] _T_41; // @[UARTTx.scala 42:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240174.6]
  wire [7:0] _T_42; // @[UARTTx.scala 43:40:shc.marmotcaravel.MarmotCaravelConfig.fir@240176.6]
  wire [8:0] _T_43; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240177.6]
  wire  _T_44; // @[UARTTx.scala 44:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240179.6]
  plusarg_reader #(.FORMAT("uart_tx=%d"), .DEFAULT(1)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@240134.4]
    .out(plusarg_reader_out)
  );
  assign pulse = prescaler == 16'h0; // @[UARTTx.scala 18:26:shc.marmotcaravel.MarmotCaravelConfig.fir@240129.4]
  assign plusarg_tx = plusarg_reader_out != 32'h0; // @[UARTTx.scala 26:90:shc.marmotcaravel.MarmotCaravelConfig.fir@240136.4]
  assign busy = counter != 4'h0; // @[UARTTx.scala 28:23:shc.marmotcaravel.MarmotCaravelConfig.fir@240137.4]
  assign _T_18 = busy == 1'h0; // @[UARTTx.scala 29:27:shc.marmotcaravel.MarmotCaravelConfig.fir@240138.4]
  assign _T_20 = io_in_ready & io_in_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240141.4]
  assign _T_22 = reset == 1'h0; // @[UARTTx.scala 31:11:shc.marmotcaravel.MarmotCaravelConfig.fir@240144.6]
  assign _T_24 = _T_20 & plusarg_tx; // @[UARTTx.scala 33:22:shc.marmotcaravel.MarmotCaravelConfig.fir@240150.4]
  assign _T_25 = {io_in_bits,1'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240152.6]
  assign _T_26 = io_nstop == 1'h0; // @[UARTTx.scala 36:17:shc.marmotcaravel.MarmotCaravelConfig.fir@240154.6]
  assign _T_29 = _T_26 ? 4'ha : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@240156.6]
  assign _T_30 = io_nstop ? 4'hb : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@240157.6]
  assign _T_31 = _T_29 | _T_30; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@240158.6]
  assign _T_34 = prescaler - 16'h1; // @[UARTTx.scala 39:47:shc.marmotcaravel.MarmotCaravelConfig.fir@240164.6]
  assign _T_35 = $unsigned(_T_34); // @[UARTTx.scala 39:47:shc.marmotcaravel.MarmotCaravelConfig.fir@240165.6]
  assign _T_36 = _T_35[15:0]; // @[UARTTx.scala 39:47:shc.marmotcaravel.MarmotCaravelConfig.fir@240166.6]
  assign _T_38 = pulse & busy; // @[UARTTx.scala 41:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240170.4]
  assign _T_39 = counter - 4'h1; // @[UARTTx.scala 42:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240172.6]
  assign _T_40 = $unsigned(_T_39); // @[UARTTx.scala 42:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240173.6]
  assign _T_41 = _T_40[3:0]; // @[UARTTx.scala 42:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240174.6]
  assign _T_42 = shifter[8:1]; // @[UARTTx.scala 43:40:shc.marmotcaravel.MarmotCaravelConfig.fir@240176.6]
  assign _T_43 = {1'h1,_T_42}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240177.6]
  assign _T_44 = shifter[0]; // @[UARTTx.scala 44:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240179.6]
  assign io_in_ready = io_en & _T_18; // @[UARTTx.scala 29:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240140.4]
  assign io_out = out; // @[UARTTx.scala 24:10:shc.marmotcaravel.MarmotCaravelConfig.fir@240133.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  prescaler = _RAND_0[15:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  counter = _RAND_1[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  shifter = _RAND_2[8:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  out = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      prescaler <= 16'h0;
    end else begin
      if (busy) begin
        if (pulse) begin
          prescaler <= io_div;
        end else begin
          prescaler <= _T_36;
        end
      end
    end
    if (reset) begin
      counter <= 4'h0;
    end else begin
      if (_T_38) begin
        counter <= _T_41;
      end else begin
        if (_T_24) begin
          counter <= _T_31;
        end
      end
    end
    if (_T_38) begin
      shifter <= _T_43;
    end else begin
      if (_T_24) begin
        shifter <= _T_25;
      end
    end
    if (reset) begin
      out <= 1'h1;
    end else begin
      if (_T_38) begin
        out <= _T_44;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_20 & _T_22) begin
          $fwrite(32'h80000002,"UART TX (%x): %c\n",io_in_bits,io_in_bits); // @[UARTTx.scala 31:11:shc.marmotcaravel.MarmotCaravelConfig.fir@240146.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module Queue_14( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240183.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240184.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240185.4]
  output       io_enq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240186.4]
  input        io_enq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240186.4]
  input  [7:0] io_enq_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240186.4]
  input        io_deq_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240186.4]
  output       io_deq_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240186.4]
  output [7:0] io_deq_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240186.4]
  output [3:0] io_count // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240186.4]
);
  reg [7:0] _T_35 [0:7]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240191.4]
  reg [31:0] _RAND_0;
  wire [7:0] _T_35__T_58_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240191.4]
  wire [2:0] _T_35__T_58_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240191.4]
  wire [7:0] _T_35__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240191.4]
  wire [2:0] _T_35__T_50_addr; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240191.4]
  wire  _T_35__T_50_mask; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240191.4]
  wire  _T_35__T_50_en; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240191.4]
  reg [2:0] value; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@240192.4]
  reg [31:0] _RAND_1;
  reg [2:0] value_1; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@240193.4]
  reg [31:0] _RAND_2;
  reg  _T_39; // @[Decoupled.scala 217:35:shc.marmotcaravel.MarmotCaravelConfig.fir@240194.4]
  reg [31:0] _RAND_3;
  wire  _T_40; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@240195.4]
  wire  _T_41; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@240196.4]
  wire  _T_42; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@240197.4]
  wire  _T_43; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@240198.4]
  wire  _T_44; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240199.4]
  wire  _T_47; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240203.4]
  wire [2:0] _T_52; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@240212.6]
  wire [2:0] _T_54; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@240218.6]
  wire  _T_55; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240221.4]
  wire [3:0] _T_59; // @[Decoupled.scala 253:40:shc.marmotcaravel.MarmotCaravelConfig.fir@240231.4]
  wire [3:0] _T_60; // @[Decoupled.scala 253:40:shc.marmotcaravel.MarmotCaravelConfig.fir@240232.4]
  wire [2:0] _T_61; // @[Decoupled.scala 253:40:shc.marmotcaravel.MarmotCaravelConfig.fir@240233.4]
  wire  _T_62; // @[Decoupled.scala 255:32:shc.marmotcaravel.MarmotCaravelConfig.fir@240234.4]
  assign _T_35__T_58_addr = value_1;
  assign _T_35__T_58_data = _T_35[_T_35__T_58_addr]; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240191.4]
  assign _T_35__T_50_data = io_enq_bits;
  assign _T_35__T_50_addr = value;
  assign _T_35__T_50_mask = 1'h1;
  assign _T_35__T_50_en = io_enq_ready & io_enq_valid;
  assign _T_40 = value == value_1; // @[Decoupled.scala 219:41:shc.marmotcaravel.MarmotCaravelConfig.fir@240195.4]
  assign _T_41 = _T_39 == 1'h0; // @[Decoupled.scala 220:36:shc.marmotcaravel.MarmotCaravelConfig.fir@240196.4]
  assign _T_42 = _T_40 & _T_41; // @[Decoupled.scala 220:33:shc.marmotcaravel.MarmotCaravelConfig.fir@240197.4]
  assign _T_43 = _T_40 & _T_39; // @[Decoupled.scala 221:32:shc.marmotcaravel.MarmotCaravelConfig.fir@240198.4]
  assign _T_44 = io_enq_ready & io_enq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240199.4]
  assign _T_47 = io_deq_ready & io_deq_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240203.4]
  assign _T_52 = value + 3'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@240212.6]
  assign _T_54 = value_1 + 3'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@240218.6]
  assign _T_55 = _T_44 != _T_47; // @[Decoupled.scala 232:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240221.4]
  assign _T_59 = value - value_1; // @[Decoupled.scala 253:40:shc.marmotcaravel.MarmotCaravelConfig.fir@240231.4]
  assign _T_60 = $unsigned(_T_59); // @[Decoupled.scala 253:40:shc.marmotcaravel.MarmotCaravelConfig.fir@240232.4]
  assign _T_61 = _T_60[2:0]; // @[Decoupled.scala 253:40:shc.marmotcaravel.MarmotCaravelConfig.fir@240233.4]
  assign _T_62 = _T_39 & _T_40; // @[Decoupled.scala 255:32:shc.marmotcaravel.MarmotCaravelConfig.fir@240234.4]
  assign io_enq_ready = _T_43 == 1'h0; // @[Decoupled.scala 237:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240228.4]
  assign io_deq_valid = _T_42 == 1'h0; // @[Decoupled.scala 236:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240226.4]
  assign io_deq_bits = _T_35__T_58_data; // @[Decoupled.scala 238:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240230.4]
  assign io_count = {_T_62,_T_61}; // @[Decoupled.scala 255:14:shc.marmotcaravel.MarmotCaravelConfig.fir@240236.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  _RAND_0 = {1{`RANDOM}};
  `ifdef RANDOMIZE_MEM_INIT
  for (initvar = 0; initvar < 8; initvar = initvar+1)
    _T_35[initvar] = _RAND_0[7:0];
  `endif // RANDOMIZE_MEM_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  value = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  value_1 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_39 = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if(_T_35__T_50_en & _T_35__T_50_mask) begin
      _T_35[_T_35__T_50_addr] <= _T_35__T_50_data; // @[Decoupled.scala 214:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240191.4]
    end
    if (reset) begin
      value <= 3'h0;
    end else begin
      if (_T_44) begin
        value <= _T_52;
      end
    end
    if (reset) begin
      value_1 <= 3'h0;
    end else begin
      if (_T_47) begin
        value_1 <= _T_54;
      end
    end
    if (reset) begin
      _T_39 <= 1'h0;
    end else begin
      if (_T_55) begin
        _T_39 <= _T_44;
      end
    end
  end
endmodule
module UARTRx( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240238.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240239.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240240.4]
  input         io_en, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240241.4]
  input         io_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240241.4]
  output        io_out_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240241.4]
  output [7:0]  io_out_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240241.4]
  input  [15:0] io_div // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240241.4]
);
  reg [1:0] debounce; // @[UARTRx.scala 16:21:shc.marmotcaravel.MarmotCaravelConfig.fir@240246.4]
  reg [31:0] _RAND_0;
  wire  debounce_max; // @[UARTRx.scala 17:32:shc.marmotcaravel.MarmotCaravelConfig.fir@240247.4]
  wire  debounce_min; // @[UARTRx.scala 18:32:shc.marmotcaravel.MarmotCaravelConfig.fir@240248.4]
  reg [12:0] prescaler; // @[UARTRx.scala 20:22:shc.marmotcaravel.MarmotCaravelConfig.fir@240249.4]
  reg [31:0] _RAND_1;
  wire  pulse; // @[UARTRx.scala 22:26:shc.marmotcaravel.MarmotCaravelConfig.fir@240253.4]
  reg [3:0] data_count; // @[UARTRx.scala 26:23:shc.marmotcaravel.MarmotCaravelConfig.fir@240254.4]
  reg [31:0] _RAND_2;
  wire  data_last; // @[UARTRx.scala 27:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240255.4]
  reg [3:0] sample_count; // @[UARTRx.scala 28:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240256.4]
  reg [31:0] _RAND_3;
  wire  sample_mid; // @[UARTRx.scala 29:34:shc.marmotcaravel.MarmotCaravelConfig.fir@240257.4]
  wire [7:0] _T_14; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240259.4]
  wire [8:0] _T_15; // @[UARTRx.scala 31:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240260.4]
  wire [8:0] _T_16; // @[UARTRx.scala 31:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240261.4]
  wire [7:0] countdown; // @[UARTRx.scala 31:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240262.4]
  wire [3:0] remainder; // @[UARTRx.scala 36:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240263.4]
  wire  extend; // @[UARTRx.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@240264.4]
  reg  state; // @[UARTRx.scala 52:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240287.4]
  reg [31:0] _RAND_4;
  wire  _T_34; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@240288.4]
  wire  _T_42; // @[UARTRx.scala 59:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240300.6]
  wire  _GEN_8; // @[UARTRx.scala 59:21:shc.marmotcaravel.MarmotCaravelConfig.fir@240301.6]
  wire  start; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240289.4]
  wire  restore; // @[UARTRx.scala 38:23:shc.marmotcaravel.MarmotCaravelConfig.fir@240265.4]
  wire [11:0] _T_17; // @[UARTRx.scala 39:42:shc.marmotcaravel.MarmotCaravelConfig.fir@240266.4]
  wire [12:0] prescaler_in; // @[UARTRx.scala 39:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240267.4]
  wire  _T_18; // @[UARTRx.scala 40:51:shc.marmotcaravel.MarmotCaravelConfig.fir@240268.4]
  wire  _T_19; // @[UARTRx.scala 40:42:shc.marmotcaravel.MarmotCaravelConfig.fir@240269.4]
  wire [12:0] _GEN_41; // @[UARTRx.scala 40:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240270.4]
  wire [13:0] _T_20; // @[UARTRx.scala 40:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240270.4]
  wire [13:0] _T_21; // @[UARTRx.scala 40:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240271.4]
  wire [12:0] prescaler_next; // @[UARTRx.scala 40:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240272.4]
  reg [2:0] sample; // @[UARTRx.scala 42:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240273.4]
  reg [31:0] _RAND_5;
  wire  _T_23; // @[UARTRx.scala 43:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240274.4]
  wire  _T_24; // @[UARTRx.scala 43:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240275.4]
  wire  _T_25; // @[UARTRx.scala 43:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240276.4]
  wire  _T_26; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@240277.4]
  wire  _T_27; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@240278.4]
  wire  _T_28; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@240279.4]
  wire  _T_29; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@240280.4]
  wire  voter; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@240281.4]
  reg [7:0] shifter; // @[UARTRx.scala 44:20:shc.marmotcaravel.MarmotCaravelConfig.fir@240282.4]
  reg [31:0] _RAND_6;
  reg  valid; // @[UARTRx.scala 46:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240283.4]
  reg [31:0] _RAND_7;
  wire  _T_36; // @[UARTRx.scala 56:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240291.6]
  wire  _T_37; // @[UARTRx.scala 56:26:shc.marmotcaravel.MarmotCaravelConfig.fir@240292.6]
  wire  _T_38; // @[UARTRx.scala 56:23:shc.marmotcaravel.MarmotCaravelConfig.fir@240293.6]
  wire [2:0] _T_39; // @[UARTRx.scala 57:30:shc.marmotcaravel.MarmotCaravelConfig.fir@240295.8]
  wire [2:0] _T_40; // @[UARTRx.scala 57:30:shc.marmotcaravel.MarmotCaravelConfig.fir@240296.8]
  wire [1:0] _T_41; // @[UARTRx.scala 57:30:shc.marmotcaravel.MarmotCaravelConfig.fir@240297.8]
  wire [1:0] _T_44; // @[UARTRx.scala 60:30:shc.marmotcaravel.MarmotCaravelConfig.fir@240303.8]
  wire [3:0] _T_46; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240319.10]
  wire [3:0] _T_47; // @[UARTRx.scala 75:33:shc.marmotcaravel.MarmotCaravelConfig.fir@240321.10]
  wire [3:0] _T_48; // @[UARTRx.scala 76:34:shc.marmotcaravel.MarmotCaravelConfig.fir@240323.10]
  wire [6:0] _T_49; // @[UARTRx.scala 83:43:shc.marmotcaravel.MarmotCaravelConfig.fir@240331.14]
  wire [7:0] _T_50; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240332.14]
  wire [3:0] _GEN_18; // @[UARTRx.scala 73:20:shc.marmotcaravel.MarmotCaravelConfig.fir@240318.8]
  wire [3:0] _GEN_25; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@240316.6]
  wire [3:0] _GEN_37; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240289.4]
  wire  _T_51; // @[UARTRx.scala 90:9:shc.marmotcaravel.MarmotCaravelConfig.fir@240338.4]
  assign debounce_max = debounce == 2'h3; // @[UARTRx.scala 17:32:shc.marmotcaravel.MarmotCaravelConfig.fir@240247.4]
  assign debounce_min = debounce == 2'h0; // @[UARTRx.scala 18:32:shc.marmotcaravel.MarmotCaravelConfig.fir@240248.4]
  assign pulse = prescaler == 13'h0; // @[UARTRx.scala 22:26:shc.marmotcaravel.MarmotCaravelConfig.fir@240253.4]
  assign data_last = data_count == 4'h0; // @[UARTRx.scala 27:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240255.4]
  assign sample_mid = sample_count == 4'h7; // @[UARTRx.scala 29:34:shc.marmotcaravel.MarmotCaravelConfig.fir@240257.4]
  assign _T_14 = {data_count,sample_count}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240259.4]
  assign _T_15 = _T_14 - 8'h1; // @[UARTRx.scala 31:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240260.4]
  assign _T_16 = $unsigned(_T_15); // @[UARTRx.scala 31:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240261.4]
  assign countdown = _T_16[7:0]; // @[UARTRx.scala 31:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240262.4]
  assign remainder = io_div[3:0]; // @[UARTRx.scala 36:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240263.4]
  assign extend = sample_count < remainder; // @[UARTRx.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@240264.4]
  assign _T_34 = 1'h0 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@240288.4]
  assign _T_42 = io_in == 1'h0; // @[UARTRx.scala 59:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240300.6]
  assign _GEN_8 = _T_42 ? debounce_max : 1'h0; // @[UARTRx.scala 59:21:shc.marmotcaravel.MarmotCaravelConfig.fir@240301.6]
  assign start = _T_34 ? _GEN_8 : 1'h0; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240289.4]
  assign restore = start | pulse; // @[UARTRx.scala 38:23:shc.marmotcaravel.MarmotCaravelConfig.fir@240265.4]
  assign _T_17 = io_div[15:4]; // @[UARTRx.scala 39:42:shc.marmotcaravel.MarmotCaravelConfig.fir@240266.4]
  assign prescaler_in = restore ? {{1'd0}, _T_17} : prescaler; // @[UARTRx.scala 39:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240267.4]
  assign _T_18 = restore & extend; // @[UARTRx.scala 40:51:shc.marmotcaravel.MarmotCaravelConfig.fir@240268.4]
  assign _T_19 = _T_18 ? 1'h0 : 1'h1; // @[UARTRx.scala 40:42:shc.marmotcaravel.MarmotCaravelConfig.fir@240269.4]
  assign _GEN_41 = {{12'd0}, _T_19}; // @[UARTRx.scala 40:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240270.4]
  assign _T_20 = prescaler_in - _GEN_41; // @[UARTRx.scala 40:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240270.4]
  assign _T_21 = $unsigned(_T_20); // @[UARTRx.scala 40:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240271.4]
  assign prescaler_next = _T_21[12:0]; // @[UARTRx.scala 40:37:shc.marmotcaravel.MarmotCaravelConfig.fir@240272.4]
  assign _T_23 = sample[0]; // @[UARTRx.scala 43:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240274.4]
  assign _T_24 = sample[1]; // @[UARTRx.scala 43:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240275.4]
  assign _T_25 = sample[2]; // @[UARTRx.scala 43:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240276.4]
  assign _T_26 = _T_23 & _T_24; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@240277.4]
  assign _T_27 = _T_23 & _T_25; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@240278.4]
  assign _T_28 = _T_26 | _T_27; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@240279.4]
  assign _T_29 = _T_24 & _T_25; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@240280.4]
  assign voter = _T_28 | _T_29; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@240281.4]
  assign _T_36 = _T_42 == 1'h0; // @[UARTRx.scala 56:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240291.6]
  assign _T_37 = debounce_min == 1'h0; // @[UARTRx.scala 56:26:shc.marmotcaravel.MarmotCaravelConfig.fir@240292.6]
  assign _T_38 = _T_36 & _T_37; // @[UARTRx.scala 56:23:shc.marmotcaravel.MarmotCaravelConfig.fir@240293.6]
  assign _T_39 = debounce - 2'h1; // @[UARTRx.scala 57:30:shc.marmotcaravel.MarmotCaravelConfig.fir@240295.8]
  assign _T_40 = $unsigned(_T_39); // @[UARTRx.scala 57:30:shc.marmotcaravel.MarmotCaravelConfig.fir@240296.8]
  assign _T_41 = _T_40[1:0]; // @[UARTRx.scala 57:30:shc.marmotcaravel.MarmotCaravelConfig.fir@240297.8]
  assign _T_44 = debounce + 2'h1; // @[UARTRx.scala 60:30:shc.marmotcaravel.MarmotCaravelConfig.fir@240303.8]
  assign _T_46 = {sample,io_in}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240319.10]
  assign _T_47 = countdown[7:4]; // @[UARTRx.scala 75:33:shc.marmotcaravel.MarmotCaravelConfig.fir@240321.10]
  assign _T_48 = countdown[3:0]; // @[UARTRx.scala 76:34:shc.marmotcaravel.MarmotCaravelConfig.fir@240323.10]
  assign _T_49 = shifter[7:1]; // @[UARTRx.scala 83:43:shc.marmotcaravel.MarmotCaravelConfig.fir@240331.14]
  assign _T_50 = {voter,_T_49}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240332.14]
  assign _GEN_18 = pulse ? _T_46 : {{1'd0}, sample}; // @[UARTRx.scala 73:20:shc.marmotcaravel.MarmotCaravelConfig.fir@240318.8]
  assign _GEN_25 = state ? _GEN_18 : {{1'd0}, sample}; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@240316.6]
  assign _GEN_37 = _T_34 ? {{1'd0}, sample} : _GEN_25; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240289.4]
  assign _T_51 = io_en == 1'h0; // @[UARTRx.scala 90:9:shc.marmotcaravel.MarmotCaravelConfig.fir@240338.4]
  assign io_out_valid = valid; // @[UARTRx.scala 48:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240285.4]
  assign io_out_bits = shifter; // @[UARTRx.scala 49:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240286.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  debounce = _RAND_0[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  prescaler = _RAND_1[12:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  data_count = _RAND_2[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  sample_count = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  state = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  sample = _RAND_5[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  shifter = _RAND_6[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  valid = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      debounce <= 2'h0;
    end else begin
      if (_T_51) begin
        debounce <= 2'h0;
      end else begin
        if (_T_34) begin
          if (_T_42) begin
            debounce <= _T_44;
          end else begin
            if (_T_38) begin
              debounce <= _T_41;
            end
          end
        end
      end
    end
    if (_T_34) begin
      if (_T_42) begin
        if (debounce_max) begin
          prescaler <= prescaler_next;
        end
      end
    end else begin
      if (state) begin
        prescaler <= prescaler_next;
      end
    end
    if (_T_34) begin
      if (_T_42) begin
        if (debounce_max) begin
          data_count <= 4'h9;
        end
      end
    end else begin
      if (state) begin
        if (pulse) begin
          data_count <= _T_47;
        end
      end
    end
    if (_T_34) begin
      if (_T_42) begin
        if (debounce_max) begin
          sample_count <= 4'hf;
        end
      end
    end else begin
      if (state) begin
        if (pulse) begin
          sample_count <= _T_48;
        end
      end
    end
    if (reset) begin
      state <= 1'h0;
    end else begin
      if (_T_34) begin
        if (_T_42) begin
          if (debounce_max) begin
            state <= 1'h1;
          end
        end
      end else begin
        if (state) begin
          if (pulse) begin
            if (sample_mid) begin
              if (data_last) begin
                state <= 1'h0;
              end
            end
          end
        end
      end
    end
    sample <= _GEN_37[2:0];
    if (!(_T_34)) begin
      if (state) begin
        if (pulse) begin
          if (sample_mid) begin
            if (!(data_last)) begin
              shifter <= _T_50;
            end
          end
        end
      end
    end
    if (reset) begin
      valid <= 1'h0;
    end else begin
      if (_T_34) begin
        valid <= 1'h0;
      end else begin
        if (state) begin
          if (pulse) begin
            if (sample_mid) begin
              valid <= data_last;
            end else begin
              valid <= 1'h0;
            end
          end else begin
            valid <= 1'h0;
          end
        end else begin
          valid <= 1'h0;
        end
      end
    end
  end
endmodule
module TLUART( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240398.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240399.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240400.4]
  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
  output        auto_io_out_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
  input         auto_io_out_rxd // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240401.4]
);
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240412.4]
  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240412.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240412.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240412.4]
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
  wire  txm_clock; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240478.4]
  wire  txm_reset; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240478.4]
  wire  txm_io_en; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240478.4]
  wire  txm_io_in_ready; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240478.4]
  wire  txm_io_in_valid; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240478.4]
  wire [7:0] txm_io_in_bits; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240478.4]
  wire  txm_io_out; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240478.4]
  wire [15:0] txm_io_div; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240478.4]
  wire  txm_io_nstop; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240478.4]
  wire  txq_clock; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240482.4]
  wire  txq_reset; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240482.4]
  wire  txq_io_enq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240482.4]
  wire  txq_io_enq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240482.4]
  wire [7:0] txq_io_enq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240482.4]
  wire  txq_io_deq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240482.4]
  wire  txq_io_deq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240482.4]
  wire [7:0] txq_io_deq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240482.4]
  wire [3:0] txq_io_count; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240482.4]
  wire  rxm_clock; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240486.4]
  wire  rxm_reset; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240486.4]
  wire  rxm_io_en; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240486.4]
  wire  rxm_io_in; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240486.4]
  wire  rxm_io_out_valid; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240486.4]
  wire [7:0] rxm_io_out_bits; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240486.4]
  wire [15:0] rxm_io_div; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240486.4]
  wire  rxq_clock; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240490.4]
  wire  rxq_reset; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240490.4]
  wire  rxq_io_enq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240490.4]
  wire  rxq_io_enq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240490.4]
  wire [7:0] rxq_io_enq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240490.4]
  wire  rxq_io_deq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240490.4]
  wire  rxq_io_deq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240490.4]
  wire [7:0] rxq_io_deq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240490.4]
  wire [3:0] rxq_io_count; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240490.4]
  reg [15:0] div; // @[UART.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240494.4]
  reg [31:0] _RAND_0;
  reg  txen; // @[UART.scala 72:17:shc.marmotcaravel.MarmotCaravelConfig.fir@240495.4]
  reg [31:0] _RAND_1;
  reg  rxen; // @[UART.scala 73:17:shc.marmotcaravel.MarmotCaravelConfig.fir@240496.4]
  reg [31:0] _RAND_2;
  reg [3:0] txwm; // @[UART.scala 74:17:shc.marmotcaravel.MarmotCaravelConfig.fir@240497.4]
  reg [31:0] _RAND_3;
  reg [3:0] rxwm; // @[UART.scala 75:17:shc.marmotcaravel.MarmotCaravelConfig.fir@240498.4]
  reg [31:0] _RAND_4;
  reg  nstop; // @[UART.scala 76:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240499.4]
  reg [31:0] _RAND_5;
  reg  ie_rxwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240518.4]
  reg [31:0] _RAND_6;
  reg  ie_txwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@240518.4]
  reg [31:0] _RAND_7;
  wire  ip_txwm; // @[UART.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240521.4]
  wire  ip_rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240523.4]
  wire  _T_298; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@240525.4]
  wire  _T_299; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@240526.4]
  wire  _T_303; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@240531.4]
  wire  _T_304; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@240532.4]
  wire [2:0] _T_42_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
  wire  _T_312; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@240535.4]
  wire [28:0] _T_42_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
  wire [26:0] _T_313; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@240537.4]
  wire [5:0] _T_42_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
  wire [1:0] _T_42_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
  wire [7:0] _T_314; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240541.4]
  wire [9:0] _T_309_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240533.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240538.4]
  wire [9:0] _T_330; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240549.4]
  wire  _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240551.4]
  wire [3:0] _T_42_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
  wire  _T_434; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@240573.4]
  wire  _T_435; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@240574.4]
  wire  _T_436; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@240575.4]
  wire  _T_437; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@240576.4]
  wire [7:0] _T_439; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240578.4]
  wire [7:0] _T_441; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240580.4]
  wire [7:0] _T_443; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240582.4]
  wire [7:0] _T_445; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240584.4]
  wire [15:0] _T_446; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240585.4]
  wire [15:0] _T_447; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240586.4]
  wire [31:0] _T_448; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240587.4]
  wire [7:0] _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240603.4]
  wire  _T_465; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240604.4]
  wire [7:0] _T_467; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240606.4]
  wire  _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240607.4]
  wire  _T_42_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
  wire  _T_42_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
  wire  _T_900; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241067.4]
  wire  _T_899; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241066.4]
  wire [1:0] _T_908; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@241075.4]
  wire  _T_898; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241065.4]
  wire [2:0] _T_909; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@241076.4]
  wire  _T_928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241095.4]
  wire  _T_929; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241096.4]
  wire [7:0] _T_910; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@241077.4]
  wire  _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241078.4]
  wire  _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241182.4]
  wire  _T_997; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241183.4]
  wire  _T_1000; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241186.4]
  wire  _T_1001; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241187.4]
  wire  _T_476; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240615.4]
  wire [31:0] _T_42_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
  wire  _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240666.4]
  wire  _T_526; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240667.4]
  wire  _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240668.4]
  wire  _T_531; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240672.4]
  wire  _T_532; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240673.4]
  wire  _T_534; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@240675.4]
  wire  _T_479; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@240618.4]
  wire [31:0] _T_544; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240686.4]
  wire  _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240689.4]
  wire  _T_550; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240692.4]
  wire  _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240693.4]
  wire  _T_561; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240703.4]
  wire  _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240714.4]
  wire  _T_575; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240717.4]
  wire  _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240718.4]
  wire  _T_586; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240728.4]
  wire [1:0] _T_596; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240738.4]
  wire  _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241079.4]
  wire  _T_938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241109.4]
  wire  _T_939; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241110.4]
  wire [7:0] _T_622; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240765.4]
  wire [8:0] _T_648; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240791.4]
  wire [30:0] _T_649; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240792.4]
  wire [31:0] _T_675; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240818.4]
  wire [15:0] _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240821.4]
  wire [15:0] _T_681; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240824.4]
  wire  _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240825.4]
  wire  _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241084.4]
  wire  _T_1036; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241243.4]
  wire  _T_1037; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241244.4]
  wire  _T_690; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240833.4]
  wire [15:0] _T_692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240835.4]
  wire  _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241080.4]
  wire  _T_1012; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241206.4]
  wire  _T_1013; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241207.4]
  wire  _T_715; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240861.4]
  wire  _T_740; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240889.4]
  wire [1:0] _T_752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240904.4]
  wire [3:0] _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240907.4]
  wire [3:0] _T_758; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240910.4]
  wire  _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240911.4]
  wire  _T_767; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240919.4]
  wire [3:0] _T_769; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240921.4]
  wire [15:0] _T_778; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240933.4]
  wire [19:0] _T_779; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240934.4]
  wire  _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241081.4]
  wire  _T_1018; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241216.4]
  wire  _T_1019; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241217.4]
  wire  _T_794; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240949.4]
  wire  _T_819; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240977.4]
  wire [15:0] _T_830; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240991.4]
  wire [19:0] _T_831; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240992.4]
  wire  _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241082.4]
  wire  _T_1024; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241225.4]
  wire  _T_1025; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241226.4]
  wire  _T_846; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241007.4]
  wire  _T_871; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241035.4]
  wire [1:0] _T_883; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@241050.4]
  wire  _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
  wire  _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
  wire  _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
  wire  _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
  wire  _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
  wire  _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
  wire  _GEN_47; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
  wire [31:0] _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
  wire [31:0] _T_1225_2; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241465.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241469.4]
  wire [31:0] _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
  wire [31:0] _T_1225_3; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241465.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241470.4]
  wire [31:0] _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
  wire [31:0] _T_1225_4; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241465.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241471.4]
  wire [31:0] _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
  wire [31:0] _T_1225_5; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241465.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241472.4]
  wire [31:0] _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
  wire [31:0] _T_1225_6; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241465.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241473.4]
  wire [31:0] _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
  wire [31:0] _GEN_55; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
  TLBuffer_17 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240406.4]
    .clock(buffer_clock),
    .reset(buffer_reset),
    .auto_in_a_ready(buffer_auto_in_a_ready),
    .auto_in_a_valid(buffer_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_auto_in_d_ready),
    .auto_in_d_valid(buffer_auto_in_d_valid),
    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
    .auto_out_a_ready(buffer_auto_out_a_ready),
    .auto_out_a_valid(buffer_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_auto_out_d_ready),
    .auto_out_d_valid(buffer_auto_out_d_valid),
    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
  );
  IntSyncCrossingSource_3 intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240412.4]
    .clock(intsource_clock),
    .reset(intsource_reset),
    .auto_in_0(intsource_auto_in_0),
    .auto_out_sync_0(intsource_auto_out_sync_0)
  );
  TLMonitor_59 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@240424.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  UARTTx txm ( // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240478.4]
    .clock(txm_clock),
    .reset(txm_reset),
    .io_en(txm_io_en),
    .io_in_ready(txm_io_in_ready),
    .io_in_valid(txm_io_in_valid),
    .io_in_bits(txm_io_in_bits),
    .io_out(txm_io_out),
    .io_div(txm_io_div),
    .io_nstop(txm_io_nstop)
  );
  Queue_14 txq ( // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240482.4]
    .clock(txq_clock),
    .reset(txq_reset),
    .io_enq_ready(txq_io_enq_ready),
    .io_enq_valid(txq_io_enq_valid),
    .io_enq_bits(txq_io_enq_bits),
    .io_deq_ready(txq_io_deq_ready),
    .io_deq_valid(txq_io_deq_valid),
    .io_deq_bits(txq_io_deq_bits),
    .io_count(txq_io_count)
  );
  UARTRx rxm ( // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240486.4]
    .clock(rxm_clock),
    .reset(rxm_reset),
    .io_en(rxm_io_en),
    .io_in(rxm_io_in),
    .io_out_valid(rxm_io_out_valid),
    .io_out_bits(rxm_io_out_bits),
    .io_div(rxm_io_div)
  );
  Queue_14 rxq ( // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240490.4]
    .clock(rxq_clock),
    .reset(rxq_reset),
    .io_enq_ready(rxq_io_enq_ready),
    .io_enq_valid(rxq_io_enq_valid),
    .io_enq_bits(rxq_io_enq_bits),
    .io_deq_ready(rxq_io_deq_ready),
    .io_deq_valid(rxq_io_deq_valid),
    .io_deq_bits(rxq_io_deq_bits),
    .io_count(rxq_io_count)
  );
  assign ip_txwm = txq_io_count < txwm; // @[UART.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240521.4]
  assign ip_rxwm = rxq_io_count > rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@240523.4]
  assign _T_298 = ip_txwm & ie_txwm; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@240525.4]
  assign _T_299 = ip_rxwm & ie_rxwm; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@240526.4]
  assign _T_303 = txq_io_enq_ready == 1'h0; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@240531.4]
  assign _T_304 = rxq_io_deq_valid == 1'h0; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@240532.4]
  assign _T_42_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
  assign _T_312 = _T_42_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@240535.4]
  assign _T_42_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
  assign _T_313 = _T_42_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@240537.4]
  assign _T_42_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
  assign _T_42_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
  assign _T_314 = {_T_42_a_bits_source,_T_42_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240541.4]
  assign _T_309_bits_index = _T_313[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@240533.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240538.4]
  assign _T_330 = _T_309_bits_index & 10'h3f8; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240549.4]
  assign _T_332 = _T_330 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240551.4]
  assign _T_42_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
  assign _T_434 = _T_42_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@240573.4]
  assign _T_435 = _T_42_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@240574.4]
  assign _T_436 = _T_42_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@240575.4]
  assign _T_437 = _T_42_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@240576.4]
  assign _T_439 = _T_434 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240578.4]
  assign _T_441 = _T_435 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240580.4]
  assign _T_443 = _T_436 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240582.4]
  assign _T_445 = _T_437 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@240584.4]
  assign _T_446 = {_T_441,_T_439}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240585.4]
  assign _T_447 = {_T_445,_T_443}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240586.4]
  assign _T_448 = {_T_447,_T_446}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240587.4]
  assign _T_464 = _T_448[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240603.4]
  assign _T_465 = _T_464 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240604.4]
  assign _T_467 = ~ _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240606.4]
  assign _T_468 = _T_467 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240607.4]
  assign _T_42_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
  assign _T_42_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
  assign _T_900 = _T_309_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241067.4]
  assign _T_899 = _T_309_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241066.4]
  assign _T_908 = {_T_900,_T_899}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@241075.4]
  assign _T_898 = _T_309_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241065.4]
  assign _T_909 = {_T_908,_T_898}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@241076.4]
  assign _T_928 = _T_42_a_valid & _T_42_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241095.4]
  assign _T_929 = _T_928 & _T_312; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241096.4]
  assign _T_910 = 8'h1 << _T_909; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@241077.4]
  assign _T_911 = _T_910[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241078.4]
  assign _T_996 = _T_312 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241182.4]
  assign _T_997 = _T_928 & _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241183.4]
  assign _T_1000 = _T_997 & _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241186.4]
  assign _T_1001 = _T_1000 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241187.4]
  assign _T_476 = _T_1001 & _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240615.4]
  assign _T_42_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@240422.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
  assign _T_525 = _T_448[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240666.4]
  assign _T_526 = ~ _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240667.4]
  assign _T_527 = _T_526 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240668.4]
  assign _T_531 = _T_1001 & _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240672.4]
  assign _T_532 = _T_42_a_bits_data[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240673.4]
  assign _T_534 = _T_531 & _T_532; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@240675.4]
  assign _T_479 = _T_534 == 1'h0; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@240618.4]
  assign _T_544 = {_T_303,31'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240686.4]
  assign _T_547 = _T_448[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240689.4]
  assign _T_550 = ~ _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240692.4]
  assign _T_551 = _T_550 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240693.4]
  assign _T_561 = _T_42_a_bits_data[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240703.4]
  assign _T_572 = _T_448[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240714.4]
  assign _T_575 = ~ _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240717.4]
  assign _T_576 = _T_575 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240718.4]
  assign _T_586 = _T_42_a_bits_data[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240728.4]
  assign _T_596 = {ip_rxwm,ip_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240738.4]
  assign _T_912 = _T_910[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241079.4]
  assign _T_938 = _T_929 & _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241109.4]
  assign _T_939 = _T_938 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241110.4]
  assign _T_622 = rxq_io_deq_bits; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240765.4]
  assign _T_648 = {1'h0,_T_622}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240791.4]
  assign _T_649 = {{22'd0}, _T_648}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240792.4]
  assign _T_675 = {_T_304,_T_649}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240818.4]
  assign _T_678 = _T_448[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240821.4]
  assign _T_681 = ~ _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240824.4]
  assign _T_682 = _T_681 == 16'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240825.4]
  assign _T_917 = _T_910[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241084.4]
  assign _T_1036 = _T_997 & _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241243.4]
  assign _T_1037 = _T_1036 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241244.4]
  assign _T_690 = _T_1037 & _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240833.4]
  assign _T_692 = _T_42_a_bits_data[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240835.4]
  assign _T_913 = _T_910[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241080.4]
  assign _T_1012 = _T_997 & _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241206.4]
  assign _T_1013 = _T_1012 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241207.4]
  assign _T_715 = _T_1013 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240861.4]
  assign _T_740 = _T_1013 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240889.4]
  assign _T_752 = {nstop,txen}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240904.4]
  assign _T_755 = _T_448[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240907.4]
  assign _T_758 = ~ _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240910.4]
  assign _T_759 = _T_758 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240911.4]
  assign _T_767 = _T_1013 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240919.4]
  assign _T_769 = _T_42_a_bits_data[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240921.4]
  assign _T_778 = {{14'd0}, _T_752}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240933.4]
  assign _T_779 = {txwm,_T_778}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240934.4]
  assign _T_914 = _T_910[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241081.4]
  assign _T_1018 = _T_997 & _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241216.4]
  assign _T_1019 = _T_1018 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241217.4]
  assign _T_794 = _T_1019 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240949.4]
  assign _T_819 = _T_1019 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240977.4]
  assign _T_830 = {{15'd0}, rxen}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@240991.4]
  assign _T_831 = {rxwm,_T_830}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@240992.4]
  assign _T_915 = _T_910[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241082.4]
  assign _T_1024 = _T_997 & _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241225.4]
  assign _T_1025 = _T_1024 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241226.4]
  assign _T_846 = _T_1025 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241007.4]
  assign _T_871 = _T_1025 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241035.4]
  assign _T_883 = {ie_rxwm,ie_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@241050.4]
  assign _GEN_41 = 3'h1 == _T_909 ? _T_332 : _T_332; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
  assign _GEN_42 = 3'h2 == _T_909 ? _T_332 : _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
  assign _GEN_43 = 3'h3 == _T_909 ? _T_332 : _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
  assign _GEN_44 = 3'h4 == _T_909 ? _T_332 : _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
  assign _GEN_45 = 3'h5 == _T_909 ? _T_332 : _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
  assign _GEN_46 = 3'h6 == _T_909 ? _T_332 : _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
  assign _GEN_47 = 3'h7 == _T_909 ? 1'h1 : _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241463.4]
  assign _GEN_49 = 3'h1 == _T_909 ? _T_675 : _T_544; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
  assign _T_1225_2 = {{12'd0}, _T_779}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241465.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241469.4]
  assign _GEN_50 = 3'h2 == _T_909 ? _T_1225_2 : _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
  assign _T_1225_3 = {{12'd0}, _T_831}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241465.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241470.4]
  assign _GEN_51 = 3'h3 == _T_909 ? _T_1225_3 : _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
  assign _T_1225_4 = {{30'd0}, _T_883}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241465.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241471.4]
  assign _GEN_52 = 3'h4 == _T_909 ? _T_1225_4 : _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
  assign _T_1225_5 = {{30'd0}, _T_596}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241465.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241472.4]
  assign _GEN_53 = 3'h5 == _T_909 ? _T_1225_5 : _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
  assign _T_1225_6 = {{16'd0}, div}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241465.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@241473.4]
  assign _GEN_54 = 3'h6 == _T_909 ? _T_1225_6 : _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
  assign _GEN_55 = 3'h7 == _T_909 ? 32'h0 : _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@241475.4]
  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240477.4]
  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240476.4]
  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240476.4]
  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240476.4]
  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240476.4]
  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240476.4]
  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240476.4]
  assign auto_io_out_txd = txm_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@240475.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240410.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240411.4]
  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@240473.4]
  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@240473.4]
  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@240473.4]
  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@240473.4]
  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@240473.4]
  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@240473.4]
  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@240473.4]
  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@240473.4]
  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@240473.4]
  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@240473.4]
  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_312}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
  assign buffer_auto_out_d_bits_size = _T_314[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
  assign buffer_auto_out_d_bits_source = _T_314[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
  assign buffer_auto_out_d_bits_data = _GEN_47 ? _GEN_55 : 32'h0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@240472.4]
  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240416.4]
  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240417.4]
  assign intsource_auto_in_0 = _T_298 | _T_299; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@240471.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240426.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240427.4]
  assign TLMonitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
  assign TLMonitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_312}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
  assign TLMonitor_io_in_d_bits_size = _T_314[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
  assign TLMonitor_io_in_d_bits_source = _T_314[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@240460.4]
  assign txm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240480.4]
  assign txm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240481.4]
  assign txm_io_en = txen; // @[UART.scala 78:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240500.4]
  assign txm_io_in_valid = txq_io_deq_valid; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240501.4]
  assign txm_io_in_bits = txq_io_deq_bits; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240501.4]
  assign txm_io_div = div; // @[UART.scala 80:14:shc.marmotcaravel.MarmotCaravelConfig.fir@240502.4]
  assign txm_io_nstop = nstop; // @[UART.scala 81:16:shc.marmotcaravel.MarmotCaravelConfig.fir@240503.4]
  assign txq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240484.4]
  assign txq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240485.4]
  assign txq_io_enq_valid = _T_476 & _T_479; // @[RegMapFIFO.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@240620.4]
  assign txq_io_enq_bits = _T_42_a_bits_data[7:0]; // @[RegMapFIFO.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@240621.4]
  assign txq_io_deq_ready = txm_io_in_ready; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240501.4]
  assign rxm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240488.4]
  assign rxm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240489.4]
  assign rxm_io_en = rxen; // @[UART.scala 84:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240505.4]
  assign rxm_io_in = auto_io_out_rxd; // @[UART.scala 85:13:shc.marmotcaravel.MarmotCaravelConfig.fir@240506.4]
  assign rxm_io_div = div; // @[UART.scala 87:14:shc.marmotcaravel.MarmotCaravelConfig.fir@240508.4]
  assign rxq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240492.4]
  assign rxq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@240493.4]
  assign rxq_io_enq_valid = rxm_io_out_valid; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@240507.4]
  assign rxq_io_enq_bits = rxm_io_out_bits; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@240507.4]
  assign rxq_io_deq_ready = _T_939 & _T_465; // @[RegMapFIFO.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@240755.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  div = _RAND_0[15:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  txen = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  rxen = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  txwm = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  rxwm = _RAND_4[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  nstop = _RAND_5[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  ie_rxwm = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  ie_txwm = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      div <= 16'h364;
    end else begin
      if (_T_690) begin
        div <= _T_692;
      end
    end
    if (reset) begin
      txen <= 1'h0;
    end else begin
      if (_T_715) begin
        txen <= _T_561;
      end
    end
    if (reset) begin
      rxen <= 1'h0;
    end else begin
      if (_T_794) begin
        rxen <= _T_561;
      end
    end
    if (reset) begin
      txwm <= 4'h0;
    end else begin
      if (_T_767) begin
        txwm <= _T_769;
      end
    end
    if (reset) begin
      rxwm <= 4'h0;
    end else begin
      if (_T_819) begin
        rxwm <= _T_769;
      end
    end
    if (reset) begin
      nstop <= 1'h0;
    end else begin
      if (_T_740) begin
        nstop <= _T_586;
      end
    end
    if (reset) begin
      ie_rxwm <= 1'h0;
    end else begin
      if (_T_871) begin
        ie_rxwm <= _T_586;
      end
    end
    if (reset) begin
      ie_txwm <= 1'h0;
    end else begin
      if (_T_846) begin
        ie_txwm <= _T_561;
      end
    end
  end
endmodule
module TLMonitor_60( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241570.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241571.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241572.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@241573.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@242700.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@241600.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@241601.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@241602.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@241603.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@241603.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241604.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@241606.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@241607.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@241609.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@241610.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@241611.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@241612.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@241613.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@241615.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@241616.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@241618.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@241619.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@241620.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@241621.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@241622.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@241623.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@241624.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@241625.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@241626.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@241627.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@241628.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@241629.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@241630.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@241631.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@241632.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@241633.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@241634.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@241635.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@241636.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@241637.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241660.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@241663.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@241664.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@241665.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@241666.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@241667.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241672.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241693.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241694.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241700.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241701.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@241706.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241708.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241709.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@241714.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@241715.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241717.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241718.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@241723.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241725.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241726.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241732.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@241786.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241788.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241789.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241812.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@241815.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@241823.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241826.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241827.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@241846.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241848.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241849.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@241854.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241856.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241857.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241871.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241922.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@241964.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@241965.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@241966.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241968.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241969.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241975.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@242006.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242008.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242009.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242023.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@242054.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242056.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242057.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242071.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242121.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242123.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242124.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242141.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242150.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242152.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242153.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242183.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242241.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242431.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242440.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242441.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242442.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242443.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242444.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242455.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242456.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242457.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242458.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242459.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242460.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242461.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242463.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242465.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242466.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242471.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242473.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242474.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242479.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242481.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242482.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242487.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242489.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242490.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242495.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242497.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242498.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@242505.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242513.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242521.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242522.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242523.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242524.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242525.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242536.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242538.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242539.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242542.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242543.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242545.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242547.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242548.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242561.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242563.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242564.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242569.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242571.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242572.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@242595.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242604.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242614.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242615.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242616.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242617.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242618.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242637.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242638.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242639.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242640.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242641.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242656.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@242659.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242661.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242662.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242663.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242665.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242666.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@242658.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242677.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@242679.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@242680.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@242682.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@242684.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@242685.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@242686.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242688.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242689.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@242681.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242695.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242696.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@242697.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242699.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242702.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242703.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@242704.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242705.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@242706.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@242707.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242709.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242710.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@242716.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242720.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241674.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241746.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241829.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241888.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241939.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241989.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242037.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242085.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242155.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242196.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242254.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@242700.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@241600.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@241601.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@241602.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@241603.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@241603.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@241604.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@241606.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@241607.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@241609.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@241610.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@241611.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@241612.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@241613.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@241615.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@241616.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@241618.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@241619.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@241620.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@241621.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@241622.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@241623.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@241624.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@241625.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@241626.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@241627.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@241628.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@241629.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@241630.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@241631.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@241632.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@241633.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@241634.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@241635.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@241636.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@241637.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241660.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@241663.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@241664.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@241665.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@241666.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@241667.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241672.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241693.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241694.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241700.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241701.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@241706.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241708.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241709.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@241714.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@241715.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241717.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241718.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@241723.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241725.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241726.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241732.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@241786.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241788.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241789.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241812.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@241815.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@241823.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241826.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241827.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@241846.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241848.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241849.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@241854.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241856.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241857.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241871.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241922.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@241964.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@241965.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@241966.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241968.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241969.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@241975.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@242006.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242008.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242009.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242023.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@242054.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242056.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242057.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242071.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242121.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242123.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242124.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242141.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242150.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242152.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242153.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242183.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242241.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242431.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242441.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242442.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242443.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242444.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242460.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242461.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242463.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242465.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242466.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242471.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242473.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242474.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242479.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242481.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242482.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242487.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242489.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242490.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242495.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242497.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242498.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@242505.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242513.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242522.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242523.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242524.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242525.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@242542.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242543.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242545.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242547.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242548.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242561.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242563.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242564.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242569.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242571.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242572.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@242595.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242615.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242616.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242617.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242618.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242638.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242639.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242640.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242641.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242656.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@242659.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242661.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242662.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242663.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242665.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242666.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@242658.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242677.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@242679.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@242680.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@242682.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@242684.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@242685.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@242686.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242688.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242689.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@242681.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242695.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242696.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@242697.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@242702.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242703.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@242704.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242705.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@242706.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@242707.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242709.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242710.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@242716.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242720.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241674.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241746.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241829.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241888.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241939.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241989.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242037.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242085.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242155.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242196.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242254.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_514 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_527 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_529 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_531 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_533 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_535 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_569 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_582 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_586 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_588 = _RAND_9[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {2{`RANDOM}};
  _T_622 = _RAND_10[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_633 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_654 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_697 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_514 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_518) begin
          _T_514 <= 1'h0;
        end else begin
          _T_514 <= _T_517;
        end
      end
    end
    if (_T_559) begin
      _T_527 <= io_in_a_bits_opcode;
    end
    if (_T_559) begin
      _T_529 <= io_in_a_bits_param;
    end
    if (_T_559) begin
      _T_531 <= io_in_a_bits_size;
    end
    if (_T_559) begin
      _T_533 <= io_in_a_bits_source;
    end
    if (_T_559) begin
      _T_535 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_569 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_573) begin
          _T_569 <= 1'h0;
        end else begin
          _T_569 <= _T_572;
        end
      end
    end
    if (_T_620) begin
      _T_582 <= io_in_d_bits_opcode;
    end
    if (_T_620) begin
      _T_586 <= io_in_d_bits_size;
    end
    if (_T_620) begin
      _T_588 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_622 <= 64'h0;
    end else begin
      _T_622 <= _T_695;
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_654 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_658) begin
          _T_654 <= 1'h0;
        end else begin
          _T_654 <= _T_657;
        end
      end
    end
    if (reset) begin
      _T_697 <= 32'h0;
    end else begin
      if (_T_711) begin
        _T_697 <= 32'h0;
      end else begin
        _T_697 <= _T_708;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@241585.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@241586.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@241657.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@241658.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241674.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241675.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241681.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241682.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241688.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241689.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241696.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241697.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241703.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241704.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241711.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241712.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241720.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241721.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241728.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241729.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241746.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241747.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241753.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241754.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241760.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241761.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241768.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241769.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241775.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241776.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241783.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241784.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241791.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241792.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241800.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241801.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241808.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241809.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241829.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241830.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241836.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241837.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241843.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241844.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241851.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241852.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241859.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241860.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241867.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241868.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241888.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241889.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241895.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241896.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241902.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241903.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241910.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241911.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241918.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241919.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241939.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241940.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241946.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241947.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241953.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241954.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241961.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241962.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241971.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241972.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241989.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241990.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241996.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@241997.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242003.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242004.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242011.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242012.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242019.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242020.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242037.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242038.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242044.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242045.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242051.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242052.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242059.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242060.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242067.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242068.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242085.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242086.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242092.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242093.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242099.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242100.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242107.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242108.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242115.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242116.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242126.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242127.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242147.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242148.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242155.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242156.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242163.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242164.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242171.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242172.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242179.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242180.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242189.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242190.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242196.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242197.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242204.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242205.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242212.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242213.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242220.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242221.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242228.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242229.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242237.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242238.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242247.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242248.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242254.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242255.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242262.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242263.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242270.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242271.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242278.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242279.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242287.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242288.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242296.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242297.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242306.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242307.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242314.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242315.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242322.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242323.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242331.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242332.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242341.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242342.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242349.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242350.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242358.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242359.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242367.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242368.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242377.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242378.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242385.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242386.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242393.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242394.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242402.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242403.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242412.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242413.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242420.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242421.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242428.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242429.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242468.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242469.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242476.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242477.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242484.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242485.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242492.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242493.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242500.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242501.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242550.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242551.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242558.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242559.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242566.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242567.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242574.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242575.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242582.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242583.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242590.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242591.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242668.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242669.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242691.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@242692.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_706) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242712.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_706) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242713.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_18( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242725.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242726.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242727.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242728.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
  TLMonitor_60 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242735.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242775.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242775.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242775.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242775.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242775.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242775.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242774.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242774.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242774.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242774.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242774.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242774.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242774.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242774.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242774.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242774.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242737.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242738.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@242771.4]
endmodule
module TLMonitor_61( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242846.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242847.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242848.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@242849.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@243976.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@242876.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@242877.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@242878.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@242879.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@242879.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242880.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242882.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242883.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@242885.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@242886.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@242887.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@242888.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@242889.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242891.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242892.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242894.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242895.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@242896.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@242897.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@242898.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242899.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242900.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242901.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242902.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242903.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242904.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242905.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242906.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242907.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242908.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242909.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242910.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@242911.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@242912.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@242913.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242936.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242939.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242940.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@242941.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@242942.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@242943.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242948.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242969.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242970.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242976.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242977.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242982.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242984.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242985.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@242990.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242991.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242993.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242994.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@242999.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243001.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243002.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243008.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243062.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243064.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243065.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243088.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@243091.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@243099.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243102.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243103.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243122.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243124.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243125.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243130.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243132.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243133.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243147.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243198.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@243240.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243241.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@243242.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243244.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243245.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243251.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@243282.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243284.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243285.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243299.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@243330.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243332.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243333.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243347.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@243397.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243399.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243400.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243417.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243426.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243428.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243429.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243459.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243517.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243707.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243716.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243717.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243718.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243719.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243720.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243731.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243732.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243733.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243734.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243735.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243736.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@243737.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243739.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243741.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243742.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243747.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243749.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243750.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243755.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243757.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243758.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243763.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243765.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243766.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243771.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243773.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243774.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@243781.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243789.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243797.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243798.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243799.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243800.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243801.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243812.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243814.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243815.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243818.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@243819.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243821.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243823.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243824.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243837.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243839.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243840.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243845.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243847.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243848.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@243871.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243880.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243890.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243891.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243892.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243893.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243894.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243913.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243914.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243915.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243916.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243917.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243932.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@243935.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@243937.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@243938.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243939.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243941.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243942.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@243934.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243953.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@243955.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@243956.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@243958.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@243960.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@243961.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@243962.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243964.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243965.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@243957.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243971.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@243972.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@243973.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243975.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@243978.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243979.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@243980.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243981.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@243982.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@243983.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243985.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243986.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@243992.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243996.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242950.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243022.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243105.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243164.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243215.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243265.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243313.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243361.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243431.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243472.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243530.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@243976.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@242876.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@242877.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@242878.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@242879.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@242879.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@242880.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242882.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242883.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@242885.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@242886.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@242887.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@242888.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@242889.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242891.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242892.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242894.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242895.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@242896.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@242897.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@242898.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242899.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242900.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242901.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242902.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242903.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242904.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242905.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242906.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242907.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242908.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@242909.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@242910.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@242911.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@242912.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@242913.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@242936.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10023000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@242939.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@242940.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@242941.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@242942.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@242943.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242948.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242969.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242970.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242976.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242977.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@242982.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242984.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242985.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@242990.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@242991.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242993.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242994.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@242999.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243001.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243002.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243008.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243062.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243064.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243065.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243088.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@243091.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@243099.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243102.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243103.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243122.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243124.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243125.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243130.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243132.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243133.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243147.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243198.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@243240.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243241.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@243242.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243244.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243245.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243251.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@243282.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243284.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243285.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243299.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@243330.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243332.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243333.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243347.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@243397.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243399.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243400.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243417.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243426.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243428.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243429.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243459.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243517.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243707.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243717.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243718.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243719.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243720.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243736.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@243737.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243739.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243741.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243742.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243747.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243749.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243750.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243755.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243757.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243758.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243763.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243765.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243766.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243771.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243773.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243774.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@243781.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243789.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243798.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243799.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243800.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243801.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@243818.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@243819.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243821.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243823.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243824.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243837.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243839.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243840.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@243845.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243847.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243848.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@243871.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243891.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243892.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243893.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243894.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243914.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243915.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@243916.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@243917.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243932.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@243935.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@243937.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@243938.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243939.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243941.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243942.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@243934.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243953.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@243955.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@243956.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@243958.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@243960.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@243961.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@243962.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243964.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243965.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@243957.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243971.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@243972.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@243973.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@243978.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243979.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@243980.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243981.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@243982.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@243983.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243985.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243986.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@243992.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@243996.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242950.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243022.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243105.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243164.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243215.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243265.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243313.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243361.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243431.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243472.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243530.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_514 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_527 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_529 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_531 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_533 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_535 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_569 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_582 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_586 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_588 = _RAND_9[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {2{`RANDOM}};
  _T_622 = _RAND_10[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_633 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_654 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_697 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_514 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_518) begin
          _T_514 <= 1'h0;
        end else begin
          _T_514 <= _T_517;
        end
      end
    end
    if (_T_559) begin
      _T_527 <= io_in_a_bits_opcode;
    end
    if (_T_559) begin
      _T_529 <= io_in_a_bits_param;
    end
    if (_T_559) begin
      _T_531 <= io_in_a_bits_size;
    end
    if (_T_559) begin
      _T_533 <= io_in_a_bits_source;
    end
    if (_T_559) begin
      _T_535 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_569 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_573) begin
          _T_569 <= 1'h0;
        end else begin
          _T_569 <= _T_572;
        end
      end
    end
    if (_T_620) begin
      _T_582 <= io_in_d_bits_opcode;
    end
    if (_T_620) begin
      _T_586 <= io_in_d_bits_size;
    end
    if (_T_620) begin
      _T_588 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_622 <= 64'h0;
    end else begin
      _T_622 <= _T_695;
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_654 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_658) begin
          _T_654 <= 1'h0;
        end else begin
          _T_654 <= _T_657;
        end
      end
    end
    if (reset) begin
      _T_697 <= 32'h0;
    end else begin
      if (_T_711) begin
        _T_697 <= 32'h0;
      end else begin
        _T_697 <= _T_708;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242861.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242862.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242933.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@242934.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242950.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242951.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242957.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242958.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242964.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242965.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242972.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242973.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242979.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242980.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242987.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242988.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242996.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@242997.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243004.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243005.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243022.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243023.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243029.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243030.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243036.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243037.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243044.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243045.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243051.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243052.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243059.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243060.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243067.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243068.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243076.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243077.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243084.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243085.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243105.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243106.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243112.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243113.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243119.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243120.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243127.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243128.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243135.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243136.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243143.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243144.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243164.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243165.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243171.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243172.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243178.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243179.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243186.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243187.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243194.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243195.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243215.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243216.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243222.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243223.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243229.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243230.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243237.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243238.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243247.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243248.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243265.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243266.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243272.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243273.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243279.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243280.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243287.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243288.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243295.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243296.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243313.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243314.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243320.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243321.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243327.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243328.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243335.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243336.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243343.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243344.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243361.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243362.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243368.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243369.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243375.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243376.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243383.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243384.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243391.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243392.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243402.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243403.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243423.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243424.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243431.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243432.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243439.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243440.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243447.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243448.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243455.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243456.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243465.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243466.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243472.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243473.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243480.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243481.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243488.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243489.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243496.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243497.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243504.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243505.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243513.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243514.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243523.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243524.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243530.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243531.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243538.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243539.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243546.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243547.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243554.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243555.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243563.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243564.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243572.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243573.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243582.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243583.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243590.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243591.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243598.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243599.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243607.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243608.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243617.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243618.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243625.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243626.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243634.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243635.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243643.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243644.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243653.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243654.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243661.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243662.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243669.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243670.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243678.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243679.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243688.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243689.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243696.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243697.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243704.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243705.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243744.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243745.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243752.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243753.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243760.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243761.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243768.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243769.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243776.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243777.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243826.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243827.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243834.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243835.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243842.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243843.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243850.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243851.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243858.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243859.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243866.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@243867.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243944.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243945.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243967.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@243968.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_706) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243988.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_706) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@243989.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLUART_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244286.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244287.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244288.4]
  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
  output        auto_io_out_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
  input         auto_io_out_rxd // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244289.4]
);
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244300.4]
  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244300.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244300.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244300.4]
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
  wire  txm_clock; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244366.4]
  wire  txm_reset; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244366.4]
  wire  txm_io_en; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244366.4]
  wire  txm_io_in_ready; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244366.4]
  wire  txm_io_in_valid; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244366.4]
  wire [7:0] txm_io_in_bits; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244366.4]
  wire  txm_io_out; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244366.4]
  wire [15:0] txm_io_div; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244366.4]
  wire  txm_io_nstop; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244366.4]
  wire  txq_clock; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244370.4]
  wire  txq_reset; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244370.4]
  wire  txq_io_enq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244370.4]
  wire  txq_io_enq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244370.4]
  wire [7:0] txq_io_enq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244370.4]
  wire  txq_io_deq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244370.4]
  wire  txq_io_deq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244370.4]
  wire [7:0] txq_io_deq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244370.4]
  wire [3:0] txq_io_count; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244370.4]
  wire  rxm_clock; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244374.4]
  wire  rxm_reset; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244374.4]
  wire  rxm_io_en; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244374.4]
  wire  rxm_io_in; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244374.4]
  wire  rxm_io_out_valid; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244374.4]
  wire [7:0] rxm_io_out_bits; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244374.4]
  wire [15:0] rxm_io_div; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244374.4]
  wire  rxq_clock; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244378.4]
  wire  rxq_reset; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244378.4]
  wire  rxq_io_enq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244378.4]
  wire  rxq_io_enq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244378.4]
  wire [7:0] rxq_io_enq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244378.4]
  wire  rxq_io_deq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244378.4]
  wire  rxq_io_deq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244378.4]
  wire [7:0] rxq_io_deq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244378.4]
  wire [3:0] rxq_io_count; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244378.4]
  reg [15:0] div; // @[UART.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@244382.4]
  reg [31:0] _RAND_0;
  reg  txen; // @[UART.scala 72:17:shc.marmotcaravel.MarmotCaravelConfig.fir@244383.4]
  reg [31:0] _RAND_1;
  reg  rxen; // @[UART.scala 73:17:shc.marmotcaravel.MarmotCaravelConfig.fir@244384.4]
  reg [31:0] _RAND_2;
  reg [3:0] txwm; // @[UART.scala 74:17:shc.marmotcaravel.MarmotCaravelConfig.fir@244385.4]
  reg [31:0] _RAND_3;
  reg [3:0] rxwm; // @[UART.scala 75:17:shc.marmotcaravel.MarmotCaravelConfig.fir@244386.4]
  reg [31:0] _RAND_4;
  reg  nstop; // @[UART.scala 76:18:shc.marmotcaravel.MarmotCaravelConfig.fir@244387.4]
  reg [31:0] _RAND_5;
  reg  ie_rxwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@244406.4]
  reg [31:0] _RAND_6;
  reg  ie_txwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@244406.4]
  reg [31:0] _RAND_7;
  wire  ip_txwm; // @[UART.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244409.4]
  wire  ip_rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244411.4]
  wire  _T_298; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244413.4]
  wire  _T_299; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@244414.4]
  wire  _T_303; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@244419.4]
  wire  _T_304; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@244420.4]
  wire [2:0] _T_42_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
  wire  _T_312; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@244423.4]
  wire [28:0] _T_42_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
  wire [26:0] _T_313; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@244425.4]
  wire [5:0] _T_42_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
  wire [1:0] _T_42_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
  wire [7:0] _T_314; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244429.4]
  wire [9:0] _T_309_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@244421.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244426.4]
  wire [9:0] _T_330; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244437.4]
  wire  _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244439.4]
  wire [3:0] _T_42_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
  wire  _T_434; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@244461.4]
  wire  _T_435; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@244462.4]
  wire  _T_436; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@244463.4]
  wire  _T_437; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@244464.4]
  wire [7:0] _T_439; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@244466.4]
  wire [7:0] _T_441; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@244468.4]
  wire [7:0] _T_443; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@244470.4]
  wire [7:0] _T_445; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@244472.4]
  wire [15:0] _T_446; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244473.4]
  wire [15:0] _T_447; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244474.4]
  wire [31:0] _T_448; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244475.4]
  wire [7:0] _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244491.4]
  wire  _T_465; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244492.4]
  wire [7:0] _T_467; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244494.4]
  wire  _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244495.4]
  wire  _T_42_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
  wire  _T_42_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
  wire  _T_900; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244955.4]
  wire  _T_899; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244954.4]
  wire [1:0] _T_908; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244963.4]
  wire  _T_898; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244953.4]
  wire [2:0] _T_909; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244964.4]
  wire  _T_928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244983.4]
  wire  _T_929; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244984.4]
  wire [7:0] _T_910; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@244965.4]
  wire  _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244966.4]
  wire  _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245070.4]
  wire  _T_997; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245071.4]
  wire  _T_1000; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245074.4]
  wire  _T_1001; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245075.4]
  wire  _T_476; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244503.4]
  wire [31:0] _T_42_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
  wire  _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244554.4]
  wire  _T_526; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244555.4]
  wire  _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244556.4]
  wire  _T_531; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244560.4]
  wire  _T_532; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244561.4]
  wire  _T_534; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@244563.4]
  wire  _T_479; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@244506.4]
  wire [31:0] _T_544; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244574.4]
  wire  _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244577.4]
  wire  _T_550; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244580.4]
  wire  _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244581.4]
  wire  _T_561; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244591.4]
  wire  _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244602.4]
  wire  _T_575; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244605.4]
  wire  _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244606.4]
  wire  _T_586; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244616.4]
  wire [1:0] _T_596; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244626.4]
  wire  _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244967.4]
  wire  _T_938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244997.4]
  wire  _T_939; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244998.4]
  wire [7:0] _T_622; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244653.4]
  wire [8:0] _T_648; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244679.4]
  wire [30:0] _T_649; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244680.4]
  wire [31:0] _T_675; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244706.4]
  wire [15:0] _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244709.4]
  wire [15:0] _T_681; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244712.4]
  wire  _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244713.4]
  wire  _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244972.4]
  wire  _T_1036; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245131.4]
  wire  _T_1037; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245132.4]
  wire  _T_690; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244721.4]
  wire [15:0] _T_692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244723.4]
  wire  _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244968.4]
  wire  _T_1012; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245094.4]
  wire  _T_1013; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245095.4]
  wire  _T_715; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244749.4]
  wire  _T_740; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244777.4]
  wire [1:0] _T_752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244792.4]
  wire [3:0] _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244795.4]
  wire [3:0] _T_758; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244798.4]
  wire  _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244799.4]
  wire  _T_767; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244807.4]
  wire [3:0] _T_769; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244809.4]
  wire [15:0] _T_778; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244821.4]
  wire [19:0] _T_779; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244822.4]
  wire  _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244969.4]
  wire  _T_1018; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245104.4]
  wire  _T_1019; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245105.4]
  wire  _T_794; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244837.4]
  wire  _T_819; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244865.4]
  wire [15:0] _T_830; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244879.4]
  wire [19:0] _T_831; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244880.4]
  wire  _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244970.4]
  wire  _T_1024; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245113.4]
  wire  _T_1025; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245114.4]
  wire  _T_846; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244895.4]
  wire  _T_871; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244923.4]
  wire [1:0] _T_883; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244938.4]
  wire  _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
  wire  _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
  wire  _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
  wire  _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
  wire  _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
  wire  _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
  wire  _GEN_47; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
  wire [31:0] _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
  wire [31:0] _T_1225_2; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245353.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245357.4]
  wire [31:0] _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
  wire [31:0] _T_1225_3; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245353.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245358.4]
  wire [31:0] _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
  wire [31:0] _T_1225_4; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245353.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245359.4]
  wire [31:0] _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
  wire [31:0] _T_1225_5; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245353.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245360.4]
  wire [31:0] _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
  wire [31:0] _T_1225_6; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245353.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245361.4]
  wire [31:0] _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
  wire [31:0] _GEN_55; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
  TLBuffer_18 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244294.4]
    .clock(buffer_clock),
    .reset(buffer_reset),
    .auto_in_a_ready(buffer_auto_in_a_ready),
    .auto_in_a_valid(buffer_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_auto_in_d_ready),
    .auto_in_d_valid(buffer_auto_in_d_valid),
    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
    .auto_out_a_ready(buffer_auto_out_a_ready),
    .auto_out_a_valid(buffer_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_auto_out_d_ready),
    .auto_out_d_valid(buffer_auto_out_d_valid),
    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
  );
  IntSyncCrossingSource_3 intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244300.4]
    .clock(intsource_clock),
    .reset(intsource_reset),
    .auto_in_0(intsource_auto_in_0),
    .auto_out_sync_0(intsource_auto_out_sync_0)
  );
  TLMonitor_61 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@244312.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  UARTTx txm ( // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244366.4]
    .clock(txm_clock),
    .reset(txm_reset),
    .io_en(txm_io_en),
    .io_in_ready(txm_io_in_ready),
    .io_in_valid(txm_io_in_valid),
    .io_in_bits(txm_io_in_bits),
    .io_out(txm_io_out),
    .io_div(txm_io_div),
    .io_nstop(txm_io_nstop)
  );
  Queue_14 txq ( // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244370.4]
    .clock(txq_clock),
    .reset(txq_reset),
    .io_enq_ready(txq_io_enq_ready),
    .io_enq_valid(txq_io_enq_valid),
    .io_enq_bits(txq_io_enq_bits),
    .io_deq_ready(txq_io_deq_ready),
    .io_deq_valid(txq_io_deq_valid),
    .io_deq_bits(txq_io_deq_bits),
    .io_count(txq_io_count)
  );
  UARTRx rxm ( // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244374.4]
    .clock(rxm_clock),
    .reset(rxm_reset),
    .io_en(rxm_io_en),
    .io_in(rxm_io_in),
    .io_out_valid(rxm_io_out_valid),
    .io_out_bits(rxm_io_out_bits),
    .io_div(rxm_io_div)
  );
  Queue_14 rxq ( // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244378.4]
    .clock(rxq_clock),
    .reset(rxq_reset),
    .io_enq_ready(rxq_io_enq_ready),
    .io_enq_valid(rxq_io_enq_valid),
    .io_enq_bits(rxq_io_enq_bits),
    .io_deq_ready(rxq_io_deq_ready),
    .io_deq_valid(rxq_io_deq_valid),
    .io_deq_bits(rxq_io_deq_bits),
    .io_count(rxq_io_count)
  );
  assign ip_txwm = txq_io_count < txwm; // @[UART.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244409.4]
  assign ip_rxwm = rxq_io_count > rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@244411.4]
  assign _T_298 = ip_txwm & ie_txwm; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@244413.4]
  assign _T_299 = ip_rxwm & ie_rxwm; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@244414.4]
  assign _T_303 = txq_io_enq_ready == 1'h0; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@244419.4]
  assign _T_304 = rxq_io_deq_valid == 1'h0; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@244420.4]
  assign _T_42_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
  assign _T_312 = _T_42_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@244423.4]
  assign _T_42_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
  assign _T_313 = _T_42_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@244425.4]
  assign _T_42_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
  assign _T_42_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
  assign _T_314 = {_T_42_a_bits_source,_T_42_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244429.4]
  assign _T_309_bits_index = _T_313[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@244421.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244426.4]
  assign _T_330 = _T_309_bits_index & 10'h3f8; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244437.4]
  assign _T_332 = _T_330 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244439.4]
  assign _T_42_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
  assign _T_434 = _T_42_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@244461.4]
  assign _T_435 = _T_42_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@244462.4]
  assign _T_436 = _T_42_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@244463.4]
  assign _T_437 = _T_42_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@244464.4]
  assign _T_439 = _T_434 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@244466.4]
  assign _T_441 = _T_435 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@244468.4]
  assign _T_443 = _T_436 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@244470.4]
  assign _T_445 = _T_437 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@244472.4]
  assign _T_446 = {_T_441,_T_439}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244473.4]
  assign _T_447 = {_T_445,_T_443}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244474.4]
  assign _T_448 = {_T_447,_T_446}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244475.4]
  assign _T_464 = _T_448[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244491.4]
  assign _T_465 = _T_464 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244492.4]
  assign _T_467 = ~ _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244494.4]
  assign _T_468 = _T_467 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244495.4]
  assign _T_42_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
  assign _T_42_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
  assign _T_900 = _T_309_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244955.4]
  assign _T_899 = _T_309_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244954.4]
  assign _T_908 = {_T_900,_T_899}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244963.4]
  assign _T_898 = _T_309_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244953.4]
  assign _T_909 = {_T_908,_T_898}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244964.4]
  assign _T_928 = _T_42_a_valid & _T_42_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244983.4]
  assign _T_929 = _T_928 & _T_312; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244984.4]
  assign _T_910 = 8'h1 << _T_909; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@244965.4]
  assign _T_911 = _T_910[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244966.4]
  assign _T_996 = _T_312 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245070.4]
  assign _T_997 = _T_928 & _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245071.4]
  assign _T_1000 = _T_997 & _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245074.4]
  assign _T_1001 = _T_1000 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245075.4]
  assign _T_476 = _T_1001 & _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244503.4]
  assign _T_42_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@244310.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
  assign _T_525 = _T_448[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244554.4]
  assign _T_526 = ~ _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244555.4]
  assign _T_527 = _T_526 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244556.4]
  assign _T_531 = _T_1001 & _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244560.4]
  assign _T_532 = _T_42_a_bits_data[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244561.4]
  assign _T_534 = _T_531 & _T_532; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@244563.4]
  assign _T_479 = _T_534 == 1'h0; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@244506.4]
  assign _T_544 = {_T_303,31'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244574.4]
  assign _T_547 = _T_448[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244577.4]
  assign _T_550 = ~ _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244580.4]
  assign _T_551 = _T_550 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244581.4]
  assign _T_561 = _T_42_a_bits_data[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244591.4]
  assign _T_572 = _T_448[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244602.4]
  assign _T_575 = ~ _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244605.4]
  assign _T_576 = _T_575 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244606.4]
  assign _T_586 = _T_42_a_bits_data[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244616.4]
  assign _T_596 = {ip_rxwm,ip_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244626.4]
  assign _T_912 = _T_910[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244967.4]
  assign _T_938 = _T_929 & _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244997.4]
  assign _T_939 = _T_938 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244998.4]
  assign _T_622 = rxq_io_deq_bits; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244653.4]
  assign _T_648 = {1'h0,_T_622}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244679.4]
  assign _T_649 = {{22'd0}, _T_648}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244680.4]
  assign _T_675 = {_T_304,_T_649}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244706.4]
  assign _T_678 = _T_448[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244709.4]
  assign _T_681 = ~ _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244712.4]
  assign _T_682 = _T_681 == 16'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244713.4]
  assign _T_917 = _T_910[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244972.4]
  assign _T_1036 = _T_997 & _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245131.4]
  assign _T_1037 = _T_1036 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245132.4]
  assign _T_690 = _T_1037 & _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244721.4]
  assign _T_692 = _T_42_a_bits_data[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244723.4]
  assign _T_913 = _T_910[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244968.4]
  assign _T_1012 = _T_997 & _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245094.4]
  assign _T_1013 = _T_1012 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245095.4]
  assign _T_715 = _T_1013 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244749.4]
  assign _T_740 = _T_1013 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244777.4]
  assign _T_752 = {nstop,txen}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244792.4]
  assign _T_755 = _T_448[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244795.4]
  assign _T_758 = ~ _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244798.4]
  assign _T_759 = _T_758 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244799.4]
  assign _T_767 = _T_1013 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244807.4]
  assign _T_769 = _T_42_a_bits_data[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244809.4]
  assign _T_778 = {{14'd0}, _T_752}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244821.4]
  assign _T_779 = {txwm,_T_778}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244822.4]
  assign _T_914 = _T_910[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244969.4]
  assign _T_1018 = _T_997 & _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245104.4]
  assign _T_1019 = _T_1018 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245105.4]
  assign _T_794 = _T_1019 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244837.4]
  assign _T_819 = _T_1019 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244865.4]
  assign _T_830 = {{15'd0}, rxen}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244879.4]
  assign _T_831 = {rxwm,_T_830}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244880.4]
  assign _T_915 = _T_910[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244970.4]
  assign _T_1024 = _T_997 & _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245113.4]
  assign _T_1025 = _T_1024 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245114.4]
  assign _T_846 = _T_1025 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244895.4]
  assign _T_871 = _T_1025 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@244923.4]
  assign _T_883 = {ie_rxwm,ie_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@244938.4]
  assign _GEN_41 = 3'h1 == _T_909 ? _T_332 : _T_332; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
  assign _GEN_42 = 3'h2 == _T_909 ? _T_332 : _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
  assign _GEN_43 = 3'h3 == _T_909 ? _T_332 : _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
  assign _GEN_44 = 3'h4 == _T_909 ? _T_332 : _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
  assign _GEN_45 = 3'h5 == _T_909 ? _T_332 : _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
  assign _GEN_46 = 3'h6 == _T_909 ? _T_332 : _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
  assign _GEN_47 = 3'h7 == _T_909 ? 1'h1 : _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245351.4]
  assign _GEN_49 = 3'h1 == _T_909 ? _T_675 : _T_544; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
  assign _T_1225_2 = {{12'd0}, _T_779}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245353.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245357.4]
  assign _GEN_50 = 3'h2 == _T_909 ? _T_1225_2 : _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
  assign _T_1225_3 = {{12'd0}, _T_831}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245353.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245358.4]
  assign _GEN_51 = 3'h3 == _T_909 ? _T_1225_3 : _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
  assign _T_1225_4 = {{30'd0}, _T_883}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245353.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245359.4]
  assign _GEN_52 = 3'h4 == _T_909 ? _T_1225_4 : _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
  assign _T_1225_5 = {{30'd0}, _T_596}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245353.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245360.4]
  assign _GEN_53 = 3'h5 == _T_909 ? _T_1225_5 : _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
  assign _T_1225_6 = {{16'd0}, div}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245353.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@245361.4]
  assign _GEN_54 = 3'h6 == _T_909 ? _T_1225_6 : _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
  assign _GEN_55 = 3'h7 == _T_909 ? 32'h0 : _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@245363.4]
  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@244365.4]
  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244364.4]
  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244364.4]
  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244364.4]
  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244364.4]
  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244364.4]
  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244364.4]
  assign auto_io_out_txd = txm_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@244363.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244298.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244299.4]
  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@244361.4]
  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@244361.4]
  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@244361.4]
  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@244361.4]
  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@244361.4]
  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@244361.4]
  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@244361.4]
  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@244361.4]
  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@244361.4]
  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@244361.4]
  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_312}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
  assign buffer_auto_out_d_bits_size = _T_314[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
  assign buffer_auto_out_d_bits_source = _T_314[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
  assign buffer_auto_out_d_bits_data = _GEN_47 ? _GEN_55 : 32'h0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@244360.4]
  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244304.4]
  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244305.4]
  assign intsource_auto_in_0 = _T_298 | _T_299; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@244359.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244314.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244315.4]
  assign TLMonitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
  assign TLMonitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_312}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
  assign TLMonitor_io_in_d_bits_size = _T_314[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
  assign TLMonitor_io_in_d_bits_source = _T_314[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@244348.4]
  assign txm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244368.4]
  assign txm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244369.4]
  assign txm_io_en = txen; // @[UART.scala 78:13:shc.marmotcaravel.MarmotCaravelConfig.fir@244388.4]
  assign txm_io_in_valid = txq_io_deq_valid; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@244389.4]
  assign txm_io_in_bits = txq_io_deq_bits; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@244389.4]
  assign txm_io_div = div; // @[UART.scala 80:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244390.4]
  assign txm_io_nstop = nstop; // @[UART.scala 81:16:shc.marmotcaravel.MarmotCaravelConfig.fir@244391.4]
  assign txq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244372.4]
  assign txq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244373.4]
  assign txq_io_enq_valid = _T_476 & _T_479; // @[RegMapFIFO.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@244508.4]
  assign txq_io_enq_bits = _T_42_a_bits_data[7:0]; // @[RegMapFIFO.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@244509.4]
  assign txq_io_deq_ready = txm_io_in_ready; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@244389.4]
  assign rxm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244376.4]
  assign rxm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244377.4]
  assign rxm_io_en = rxen; // @[UART.scala 84:13:shc.marmotcaravel.MarmotCaravelConfig.fir@244393.4]
  assign rxm_io_in = auto_io_out_rxd; // @[UART.scala 85:13:shc.marmotcaravel.MarmotCaravelConfig.fir@244394.4]
  assign rxm_io_div = div; // @[UART.scala 87:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244396.4]
  assign rxq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244380.4]
  assign rxq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@244381.4]
  assign rxq_io_enq_valid = rxm_io_out_valid; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244395.4]
  assign rxq_io_enq_bits = rxm_io_out_bits; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@244395.4]
  assign rxq_io_deq_ready = _T_939 & _T_465; // @[RegMapFIFO.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@244643.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  div = _RAND_0[15:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  txen = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  rxen = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  txwm = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  rxwm = _RAND_4[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  nstop = _RAND_5[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  ie_rxwm = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  ie_txwm = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      div <= 16'h364;
    end else begin
      if (_T_690) begin
        div <= _T_692;
      end
    end
    if (reset) begin
      txen <= 1'h0;
    end else begin
      if (_T_715) begin
        txen <= _T_561;
      end
    end
    if (reset) begin
      rxen <= 1'h0;
    end else begin
      if (_T_794) begin
        rxen <= _T_561;
      end
    end
    if (reset) begin
      txwm <= 4'h0;
    end else begin
      if (_T_767) begin
        txwm <= _T_769;
      end
    end
    if (reset) begin
      rxwm <= 4'h0;
    end else begin
      if (_T_819) begin
        rxwm <= _T_769;
      end
    end
    if (reset) begin
      nstop <= 1'h0;
    end else begin
      if (_T_740) begin
        nstop <= _T_586;
      end
    end
    if (reset) begin
      ie_rxwm <= 1'h0;
    end else begin
      if (_T_871) begin
        ie_rxwm <= _T_586;
      end
    end
    if (reset) begin
      ie_txwm <= 1'h0;
    end else begin
      if (_T_846) begin
        ie_txwm <= _T_561;
      end
    end
  end
endmodule
module TLMonitor_62( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245458.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245459.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245460.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@245461.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@246588.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@245488.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@245489.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@245490.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@245491.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@245491.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245492.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@245494.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@245495.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@245497.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@245498.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@245499.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@245500.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@245501.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@245503.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245504.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@245506.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245507.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@245508.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@245509.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@245510.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245511.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@245512.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245513.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245514.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@245515.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245516.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245517.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@245518.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245519.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245520.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@245521.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245522.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@245523.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@245524.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@245525.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245548.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245551.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@245552.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@245553.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@245554.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@245555.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245560.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245581.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245582.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245588.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245589.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245594.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245596.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245597.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@245602.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245603.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245605.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245606.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@245611.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245613.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245614.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245620.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245674.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245676.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245677.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245700.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@245703.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@245711.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245714.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245715.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245734.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245736.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245737.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245742.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245744.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245745.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245759.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245810.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@245852.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245853.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@245854.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245856.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245857.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245863.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@245894.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245896.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245897.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245911.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@245942.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245944.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245945.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245959.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246009.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246011.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246012.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246029.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246038.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246040.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246041.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246071.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246129.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246319.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246328.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246329.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246330.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246331.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246332.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246343.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246344.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246345.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246346.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246347.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246348.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246349.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246351.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246353.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246354.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246359.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246361.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246362.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246367.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246369.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246370.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246375.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246377.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246378.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246383.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246385.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246386.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@246393.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246401.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246409.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246410.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246411.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246412.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246413.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246424.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246426.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246427.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246430.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246431.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246433.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246435.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246436.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246449.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246451.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246452.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246457.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246459.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246460.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@246483.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246492.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246502.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246503.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246504.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246505.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246506.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246525.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246526.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246527.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246528.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246529.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246544.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@246547.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@246549.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@246550.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246551.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246553.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246554.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@246546.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246565.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@246567.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@246568.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@246570.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@246572.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@246573.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@246574.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246576.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246577.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@246569.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246583.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246584.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@246585.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246587.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@246590.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246591.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@246592.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246593.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@246594.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@246595.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246597.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246598.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@246604.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246608.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245562.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245634.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245717.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245776.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245827.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245877.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245925.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245973.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246043.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246084.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246142.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@246588.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@245488.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@245489.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@245490.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@245491.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@245491.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@245492.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@245494.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@245495.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@245497.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@245498.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@245499.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@245500.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@245501.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@245503.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245504.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@245506.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245507.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@245508.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@245509.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@245510.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245511.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@245512.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245513.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245514.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@245515.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245516.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245517.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@245518.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245519.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245520.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@245521.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@245522.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@245523.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@245524.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@245525.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245548.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10033000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@245551.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@245552.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@245553.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@245554.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@245555.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245560.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245581.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245582.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245588.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245589.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245594.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245596.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245597.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@245602.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245603.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245605.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245606.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@245611.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245613.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245614.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245620.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245674.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245676.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245677.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245700.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@245703.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@245711.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245714.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245715.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245734.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245736.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245737.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@245742.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245744.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245745.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245759.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245810.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@245852.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@245853.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@245854.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245856.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245857.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245863.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@245894.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245896.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245897.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245911.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@245942.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245944.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245945.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@245959.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246009.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246011.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246012.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246029.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246038.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246040.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246041.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246071.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246129.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246319.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246329.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246330.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246331.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246332.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246348.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246349.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246351.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246353.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246354.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246359.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246361.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246362.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246367.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246369.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246370.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246375.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246377.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246378.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246383.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246385.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246386.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@246393.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246401.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246410.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246411.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246412.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246413.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@246430.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246431.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246433.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246435.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246436.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246449.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246451.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246452.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246457.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246459.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246460.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@246483.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246503.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246504.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246505.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246506.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246526.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246527.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246528.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246529.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246544.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@246547.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@246549.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@246550.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246551.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246553.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246554.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@246546.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246565.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@246567.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@246568.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@246570.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@246572.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@246573.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@246574.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246576.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246577.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@246569.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246583.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246584.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@246585.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@246590.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246591.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@246592.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246593.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@246594.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@246595.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246597.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246598.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@246604.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246608.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245562.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245634.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245717.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245776.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245827.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245877.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245925.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245973.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246043.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246084.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246142.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_514 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_527 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_529 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_531 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_533 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_535 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_569 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_582 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_586 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_588 = _RAND_9[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {2{`RANDOM}};
  _T_622 = _RAND_10[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_633 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_654 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_697 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_514 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_518) begin
          _T_514 <= 1'h0;
        end else begin
          _T_514 <= _T_517;
        end
      end
    end
    if (_T_559) begin
      _T_527 <= io_in_a_bits_opcode;
    end
    if (_T_559) begin
      _T_529 <= io_in_a_bits_param;
    end
    if (_T_559) begin
      _T_531 <= io_in_a_bits_size;
    end
    if (_T_559) begin
      _T_533 <= io_in_a_bits_source;
    end
    if (_T_559) begin
      _T_535 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_569 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_573) begin
          _T_569 <= 1'h0;
        end else begin
          _T_569 <= _T_572;
        end
      end
    end
    if (_T_620) begin
      _T_582 <= io_in_d_bits_opcode;
    end
    if (_T_620) begin
      _T_586 <= io_in_d_bits_size;
    end
    if (_T_620) begin
      _T_588 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_622 <= 64'h0;
    end else begin
      _T_622 <= _T_695;
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_654 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_658) begin
          _T_654 <= 1'h0;
        end else begin
          _T_654 <= _T_657;
        end
      end
    end
    if (reset) begin
      _T_697 <= 32'h0;
    end else begin
      if (_T_711) begin
        _T_697 <= 32'h0;
      end else begin
        _T_697 <= _T_708;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@245473.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@245474.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@245545.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@245546.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245562.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245563.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245569.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245570.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245576.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245577.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245584.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245585.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245591.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245592.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245599.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245600.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245608.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245609.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245616.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245617.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245634.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245635.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245641.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245642.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245648.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245649.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245656.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245657.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245663.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245664.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245671.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245672.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245679.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245680.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245688.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245689.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245696.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245697.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245717.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245718.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245724.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245725.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245731.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245732.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245739.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245740.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245747.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245748.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245755.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245756.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245776.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245777.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245783.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245784.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245790.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245791.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245798.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245799.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245806.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245807.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245827.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245828.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245834.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245835.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245841.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245842.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245849.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245850.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245859.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245860.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245877.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245878.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245884.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245885.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245891.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245892.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245899.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245900.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245907.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245908.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245925.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245926.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245932.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245933.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245939.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245940.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245947.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245948.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245955.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245956.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245973.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245974.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245980.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245981.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245987.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245988.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245995.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@245996.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246003.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246004.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246014.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246015.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246035.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246036.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246043.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246044.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246051.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246052.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246059.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246060.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246067.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246068.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246077.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246078.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246084.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246085.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246092.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246093.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246100.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246101.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246108.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246109.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246116.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246117.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246125.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246126.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246135.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246136.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246142.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246143.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246150.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246151.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246158.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246159.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246166.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246167.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246175.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246176.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246184.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246185.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246194.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246195.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246202.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246203.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246210.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246211.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246219.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246220.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246229.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246230.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246237.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246238.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246246.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246247.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246255.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246256.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246265.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246266.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246273.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246274.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246281.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246282.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246290.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246291.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246300.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246301.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246308.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246309.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246316.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246317.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246356.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246357.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246364.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246365.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246372.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246373.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246380.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246381.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246388.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246389.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246438.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246439.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246446.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246447.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246454.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246455.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246462.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246463.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246470.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246471.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246478.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246479.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246556.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246557.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246579.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@246580.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_706) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246600.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_706) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246601.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_19( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246613.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246614.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246615.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246616.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
  TLMonitor_62 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246623.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@246663.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@246663.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@246663.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@246663.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@246663.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@246663.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246662.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246662.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246662.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246662.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246662.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246662.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246662.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246662.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246662.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246662.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246625.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246626.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@246659.4]
endmodule
module TLMonitor_63( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246734.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246735.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246736.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@246737.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@247864.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@246764.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@246765.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@246766.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@246767.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@246767.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246768.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246770.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246771.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@246773.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@246774.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@246775.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@246776.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@246777.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246779.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246780.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246782.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246783.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@246784.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@246785.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@246786.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246787.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246788.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246789.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246790.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246791.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246792.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246793.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246794.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246795.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246796.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246797.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246798.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246799.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246800.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246801.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246824.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@246827.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246828.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@246829.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@246830.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@246831.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246836.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246857.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246858.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246864.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246865.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246870.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246872.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246873.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@246878.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246879.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246881.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246882.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@246887.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246889.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246890.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246896.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246950.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246952.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246953.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246976.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@246979.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@246987.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246990.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246991.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247010.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247012.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247013.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247018.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247020.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247021.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247035.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247086.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@247128.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247129.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@247130.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247132.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247133.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247139.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@247170.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247172.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247173.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247187.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@247218.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247220.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247221.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247235.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@247285.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247287.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247288.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247305.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247314.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247316.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247317.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247347.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247405.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247595.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247604.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247605.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247606.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247607.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247608.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247619.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247620.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247621.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247622.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247623.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247624.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@247625.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247627.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247629.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247630.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247635.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247637.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247638.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247643.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247645.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247646.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247651.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247653.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247654.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247659.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247661.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247662.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@247669.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247677.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247685.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247686.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247687.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247688.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247689.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247700.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247702.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247703.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247706.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@247707.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247709.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247711.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247712.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247725.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247727.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247728.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247733.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247735.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247736.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@247759.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247768.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247778.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247779.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247780.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247781.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247782.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247801.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247802.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247803.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247804.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247805.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247820.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@247823.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@247825.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@247826.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247827.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247829.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247830.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@247822.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247841.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@247843.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@247844.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@247846.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@247848.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@247849.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@247850.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247852.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247853.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@247845.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247859.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@247860.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@247861.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247863.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@247866.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247867.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@247868.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247869.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@247870.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@247871.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247873.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247874.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@247880.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247884.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246838.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246910.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246993.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247052.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247103.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247153.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247201.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247249.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247319.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247360.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247418.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@247864.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@246764.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@246765.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@246766.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@246767.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@246767.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@246768.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246770.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246771.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@246773.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@246774.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@246775.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@246776.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@246777.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246779.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246780.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246782.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246783.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@246784.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@246785.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@246786.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246787.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246788.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246789.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246790.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246791.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246792.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246793.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246794.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246795.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246796.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@246797.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@246798.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246799.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246800.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@246801.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246824.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10033000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@246827.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@246828.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@246829.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@246830.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@246831.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246836.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246857.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246858.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246864.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246865.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@246870.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246872.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246873.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@246878.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246879.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246881.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246882.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@246887.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246889.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246890.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246896.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@246950.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246952.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246953.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@246976.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@246979.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@246987.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246990.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246991.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247010.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247012.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247013.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247018.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247020.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247021.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247035.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247086.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@247128.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247129.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@247130.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247132.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247133.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247139.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@247170.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247172.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247173.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247187.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@247218.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247220.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247221.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247235.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@247285.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247287.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247288.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247305.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247314.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247316.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247317.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247347.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247405.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247595.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247605.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247606.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247607.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247608.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247624.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@247625.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247627.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247629.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247630.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247635.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247637.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247638.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247643.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247645.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247646.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247651.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247653.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247654.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247659.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247661.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247662.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@247669.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247677.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247686.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247687.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247688.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247689.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@247706.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@247707.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247709.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247711.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247712.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247725.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247727.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247728.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@247733.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247735.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247736.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@247759.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247779.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247780.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247781.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247782.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247802.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247803.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@247804.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@247805.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247820.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@247823.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@247825.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@247826.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247827.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247829.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247830.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@247822.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247841.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@247843.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@247844.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@247846.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@247848.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@247849.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@247850.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247852.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247853.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@247845.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247859.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@247860.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@247861.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@247866.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247867.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@247868.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247869.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@247870.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@247871.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247873.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247874.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@247880.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@247884.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246838.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246910.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246993.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247052.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247103.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247153.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247201.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247249.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247319.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247360.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247418.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_514 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_527 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_529 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_531 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_533 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_535 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_569 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_582 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_586 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_588 = _RAND_9[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {2{`RANDOM}};
  _T_622 = _RAND_10[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_633 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_654 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_697 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_514 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_518) begin
          _T_514 <= 1'h0;
        end else begin
          _T_514 <= _T_517;
        end
      end
    end
    if (_T_559) begin
      _T_527 <= io_in_a_bits_opcode;
    end
    if (_T_559) begin
      _T_529 <= io_in_a_bits_param;
    end
    if (_T_559) begin
      _T_531 <= io_in_a_bits_size;
    end
    if (_T_559) begin
      _T_533 <= io_in_a_bits_source;
    end
    if (_T_559) begin
      _T_535 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_569 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_573) begin
          _T_569 <= 1'h0;
        end else begin
          _T_569 <= _T_572;
        end
      end
    end
    if (_T_620) begin
      _T_582 <= io_in_d_bits_opcode;
    end
    if (_T_620) begin
      _T_586 <= io_in_d_bits_size;
    end
    if (_T_620) begin
      _T_588 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_622 <= 64'h0;
    end else begin
      _T_622 <= _T_695;
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_654 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_658) begin
          _T_654 <= 1'h0;
        end else begin
          _T_654 <= _T_657;
        end
      end
    end
    if (reset) begin
      _T_697 <= 32'h0;
    end else begin
      if (_T_711) begin
        _T_697 <= 32'h0;
      end else begin
        _T_697 <= _T_708;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246749.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246750.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246821.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@246822.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246838.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246839.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246845.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246846.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246852.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246853.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246860.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246861.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246867.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246868.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246875.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246876.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246884.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246885.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246892.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246893.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246910.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246911.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246917.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246918.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246924.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246925.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246932.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246933.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246939.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246940.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246947.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246948.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246955.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246956.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246964.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246965.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246972.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246973.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246993.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@246994.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247000.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247001.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247007.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247008.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247015.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247016.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247023.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247024.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247031.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247032.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247052.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247053.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247059.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247060.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247066.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247067.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247074.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247075.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247082.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247083.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247103.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247104.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247110.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247111.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247117.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247118.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247125.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247126.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247135.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247136.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247153.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247154.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247160.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247161.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247167.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247168.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247175.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247176.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247183.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247184.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247201.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247202.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247208.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247209.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247215.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247216.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247223.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247224.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247231.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247232.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247249.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247250.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247256.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247257.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247263.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247264.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247271.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247272.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247279.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247280.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247290.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247291.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247311.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247312.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247319.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247320.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247327.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247328.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247335.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247336.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247343.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247344.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247353.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247354.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247360.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247361.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247368.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247369.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247376.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247377.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247384.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247385.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247392.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247393.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247401.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247402.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247411.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247412.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247418.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247419.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247426.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247427.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247434.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247435.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247442.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247443.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247451.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247452.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247460.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247461.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247470.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247471.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247478.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247479.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247486.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247487.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247495.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247496.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247505.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247506.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247513.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247514.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247522.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247523.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247531.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247532.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247541.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247542.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247549.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247550.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247557.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247558.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247566.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247567.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247576.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247577.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247584.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247585.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247592.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247593.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247632.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247633.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247640.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247641.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247648.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247649.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247656.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247657.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247664.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247665.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247714.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247715.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247722.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247723.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247730.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247731.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247738.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247739.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247746.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247747.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247754.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@247755.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247832.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247833.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247855.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@247856.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_706) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247876.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_706) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@247877.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLUART_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248174.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248175.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248176.4]
  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
  output        auto_io_out_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
  input         auto_io_out_rxd // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248177.4]
);
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248188.4]
  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248188.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248188.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248188.4]
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
  wire  txm_clock; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248254.4]
  wire  txm_reset; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248254.4]
  wire  txm_io_en; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248254.4]
  wire  txm_io_in_ready; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248254.4]
  wire  txm_io_in_valid; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248254.4]
  wire [7:0] txm_io_in_bits; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248254.4]
  wire  txm_io_out; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248254.4]
  wire [15:0] txm_io_div; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248254.4]
  wire  txm_io_nstop; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248254.4]
  wire  txq_clock; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248258.4]
  wire  txq_reset; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248258.4]
  wire  txq_io_enq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248258.4]
  wire  txq_io_enq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248258.4]
  wire [7:0] txq_io_enq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248258.4]
  wire  txq_io_deq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248258.4]
  wire  txq_io_deq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248258.4]
  wire [7:0] txq_io_deq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248258.4]
  wire [3:0] txq_io_count; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248258.4]
  wire  rxm_clock; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248262.4]
  wire  rxm_reset; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248262.4]
  wire  rxm_io_en; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248262.4]
  wire  rxm_io_in; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248262.4]
  wire  rxm_io_out_valid; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248262.4]
  wire [7:0] rxm_io_out_bits; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248262.4]
  wire [15:0] rxm_io_div; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248262.4]
  wire  rxq_clock; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248266.4]
  wire  rxq_reset; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248266.4]
  wire  rxq_io_enq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248266.4]
  wire  rxq_io_enq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248266.4]
  wire [7:0] rxq_io_enq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248266.4]
  wire  rxq_io_deq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248266.4]
  wire  rxq_io_deq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248266.4]
  wire [7:0] rxq_io_deq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248266.4]
  wire [3:0] rxq_io_count; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248266.4]
  reg [15:0] div; // @[UART.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@248270.4]
  reg [31:0] _RAND_0;
  reg  txen; // @[UART.scala 72:17:shc.marmotcaravel.MarmotCaravelConfig.fir@248271.4]
  reg [31:0] _RAND_1;
  reg  rxen; // @[UART.scala 73:17:shc.marmotcaravel.MarmotCaravelConfig.fir@248272.4]
  reg [31:0] _RAND_2;
  reg [3:0] txwm; // @[UART.scala 74:17:shc.marmotcaravel.MarmotCaravelConfig.fir@248273.4]
  reg [31:0] _RAND_3;
  reg [3:0] rxwm; // @[UART.scala 75:17:shc.marmotcaravel.MarmotCaravelConfig.fir@248274.4]
  reg [31:0] _RAND_4;
  reg  nstop; // @[UART.scala 76:18:shc.marmotcaravel.MarmotCaravelConfig.fir@248275.4]
  reg [31:0] _RAND_5;
  reg  ie_rxwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@248294.4]
  reg [31:0] _RAND_6;
  reg  ie_txwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@248294.4]
  reg [31:0] _RAND_7;
  wire  ip_txwm; // @[UART.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248297.4]
  wire  ip_rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248299.4]
  wire  _T_298; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@248301.4]
  wire  _T_299; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@248302.4]
  wire  _T_303; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@248307.4]
  wire  _T_304; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@248308.4]
  wire [2:0] _T_42_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
  wire  _T_312; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@248311.4]
  wire [28:0] _T_42_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
  wire [26:0] _T_313; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@248313.4]
  wire [5:0] _T_42_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
  wire [1:0] _T_42_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
  wire [7:0] _T_314; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248317.4]
  wire [9:0] _T_309_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@248309.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248314.4]
  wire [9:0] _T_330; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248325.4]
  wire  _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248327.4]
  wire [3:0] _T_42_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
  wire  _T_434; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@248349.4]
  wire  _T_435; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@248350.4]
  wire  _T_436; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@248351.4]
  wire  _T_437; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@248352.4]
  wire [7:0] _T_439; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@248354.4]
  wire [7:0] _T_441; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@248356.4]
  wire [7:0] _T_443; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@248358.4]
  wire [7:0] _T_445; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@248360.4]
  wire [15:0] _T_446; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248361.4]
  wire [15:0] _T_447; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248362.4]
  wire [31:0] _T_448; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248363.4]
  wire [7:0] _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248379.4]
  wire  _T_465; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248380.4]
  wire [7:0] _T_467; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248382.4]
  wire  _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248383.4]
  wire  _T_42_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
  wire  _T_42_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
  wire  _T_900; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248843.4]
  wire  _T_899; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248842.4]
  wire [1:0] _T_908; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248851.4]
  wire  _T_898; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248841.4]
  wire [2:0] _T_909; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248852.4]
  wire  _T_928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248871.4]
  wire  _T_929; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248872.4]
  wire [7:0] _T_910; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@248853.4]
  wire  _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248854.4]
  wire  _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248958.4]
  wire  _T_997; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248959.4]
  wire  _T_1000; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248962.4]
  wire  _T_1001; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248963.4]
  wire  _T_476; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248391.4]
  wire [31:0] _T_42_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
  wire  _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248442.4]
  wire  _T_526; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248443.4]
  wire  _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248444.4]
  wire  _T_531; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248448.4]
  wire  _T_532; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248449.4]
  wire  _T_534; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@248451.4]
  wire  _T_479; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@248394.4]
  wire [31:0] _T_544; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248462.4]
  wire  _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248465.4]
  wire  _T_550; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248468.4]
  wire  _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248469.4]
  wire  _T_561; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248479.4]
  wire  _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248490.4]
  wire  _T_575; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248493.4]
  wire  _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248494.4]
  wire  _T_586; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248504.4]
  wire [1:0] _T_596; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248514.4]
  wire  _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248855.4]
  wire  _T_938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248885.4]
  wire  _T_939; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248886.4]
  wire [7:0] _T_622; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248541.4]
  wire [8:0] _T_648; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248567.4]
  wire [30:0] _T_649; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248568.4]
  wire [31:0] _T_675; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248594.4]
  wire [15:0] _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248597.4]
  wire [15:0] _T_681; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248600.4]
  wire  _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248601.4]
  wire  _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248860.4]
  wire  _T_1036; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249019.4]
  wire  _T_1037; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249020.4]
  wire  _T_690; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248609.4]
  wire [15:0] _T_692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248611.4]
  wire  _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248856.4]
  wire  _T_1012; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248982.4]
  wire  _T_1013; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248983.4]
  wire  _T_715; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248637.4]
  wire  _T_740; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248665.4]
  wire [1:0] _T_752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248680.4]
  wire [3:0] _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248683.4]
  wire [3:0] _T_758; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248686.4]
  wire  _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248687.4]
  wire  _T_767; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248695.4]
  wire [3:0] _T_769; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248697.4]
  wire [15:0] _T_778; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248709.4]
  wire [19:0] _T_779; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248710.4]
  wire  _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248857.4]
  wire  _T_1018; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248992.4]
  wire  _T_1019; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248993.4]
  wire  _T_794; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248725.4]
  wire  _T_819; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248753.4]
  wire [15:0] _T_830; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248767.4]
  wire [19:0] _T_831; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248768.4]
  wire  _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248858.4]
  wire  _T_1024; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249001.4]
  wire  _T_1025; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249002.4]
  wire  _T_846; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248783.4]
  wire  _T_871; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248811.4]
  wire [1:0] _T_883; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248826.4]
  wire  _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
  wire  _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
  wire  _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
  wire  _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
  wire  _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
  wire  _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
  wire  _GEN_47; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
  wire [31:0] _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
  wire [31:0] _T_1225_2; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249241.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249245.4]
  wire [31:0] _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
  wire [31:0] _T_1225_3; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249241.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249246.4]
  wire [31:0] _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
  wire [31:0] _T_1225_4; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249241.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249247.4]
  wire [31:0] _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
  wire [31:0] _T_1225_5; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249241.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249248.4]
  wire [31:0] _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
  wire [31:0] _T_1225_6; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249241.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249249.4]
  wire [31:0] _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
  wire [31:0] _GEN_55; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
  TLBuffer_19 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248182.4]
    .clock(buffer_clock),
    .reset(buffer_reset),
    .auto_in_a_ready(buffer_auto_in_a_ready),
    .auto_in_a_valid(buffer_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_auto_in_d_ready),
    .auto_in_d_valid(buffer_auto_in_d_valid),
    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
    .auto_out_a_ready(buffer_auto_out_a_ready),
    .auto_out_a_valid(buffer_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_auto_out_d_ready),
    .auto_out_d_valid(buffer_auto_out_d_valid),
    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
  );
  IntSyncCrossingSource_3 intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248188.4]
    .clock(intsource_clock),
    .reset(intsource_reset),
    .auto_in_0(intsource_auto_in_0),
    .auto_out_sync_0(intsource_auto_out_sync_0)
  );
  TLMonitor_63 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@248200.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  UARTTx txm ( // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248254.4]
    .clock(txm_clock),
    .reset(txm_reset),
    .io_en(txm_io_en),
    .io_in_ready(txm_io_in_ready),
    .io_in_valid(txm_io_in_valid),
    .io_in_bits(txm_io_in_bits),
    .io_out(txm_io_out),
    .io_div(txm_io_div),
    .io_nstop(txm_io_nstop)
  );
  Queue_14 txq ( // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248258.4]
    .clock(txq_clock),
    .reset(txq_reset),
    .io_enq_ready(txq_io_enq_ready),
    .io_enq_valid(txq_io_enq_valid),
    .io_enq_bits(txq_io_enq_bits),
    .io_deq_ready(txq_io_deq_ready),
    .io_deq_valid(txq_io_deq_valid),
    .io_deq_bits(txq_io_deq_bits),
    .io_count(txq_io_count)
  );
  UARTRx rxm ( // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248262.4]
    .clock(rxm_clock),
    .reset(rxm_reset),
    .io_en(rxm_io_en),
    .io_in(rxm_io_in),
    .io_out_valid(rxm_io_out_valid),
    .io_out_bits(rxm_io_out_bits),
    .io_div(rxm_io_div)
  );
  Queue_14 rxq ( // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248266.4]
    .clock(rxq_clock),
    .reset(rxq_reset),
    .io_enq_ready(rxq_io_enq_ready),
    .io_enq_valid(rxq_io_enq_valid),
    .io_enq_bits(rxq_io_enq_bits),
    .io_deq_ready(rxq_io_deq_ready),
    .io_deq_valid(rxq_io_deq_valid),
    .io_deq_bits(rxq_io_deq_bits),
    .io_count(rxq_io_count)
  );
  assign ip_txwm = txq_io_count < txwm; // @[UART.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248297.4]
  assign ip_rxwm = rxq_io_count > rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@248299.4]
  assign _T_298 = ip_txwm & ie_txwm; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@248301.4]
  assign _T_299 = ip_rxwm & ie_rxwm; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@248302.4]
  assign _T_303 = txq_io_enq_ready == 1'h0; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@248307.4]
  assign _T_304 = rxq_io_deq_valid == 1'h0; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@248308.4]
  assign _T_42_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
  assign _T_312 = _T_42_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@248311.4]
  assign _T_42_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
  assign _T_313 = _T_42_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@248313.4]
  assign _T_42_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
  assign _T_42_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
  assign _T_314 = {_T_42_a_bits_source,_T_42_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248317.4]
  assign _T_309_bits_index = _T_313[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@248309.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248314.4]
  assign _T_330 = _T_309_bits_index & 10'h3f8; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248325.4]
  assign _T_332 = _T_330 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248327.4]
  assign _T_42_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
  assign _T_434 = _T_42_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@248349.4]
  assign _T_435 = _T_42_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@248350.4]
  assign _T_436 = _T_42_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@248351.4]
  assign _T_437 = _T_42_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@248352.4]
  assign _T_439 = _T_434 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@248354.4]
  assign _T_441 = _T_435 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@248356.4]
  assign _T_443 = _T_436 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@248358.4]
  assign _T_445 = _T_437 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@248360.4]
  assign _T_446 = {_T_441,_T_439}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248361.4]
  assign _T_447 = {_T_445,_T_443}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248362.4]
  assign _T_448 = {_T_447,_T_446}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248363.4]
  assign _T_464 = _T_448[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248379.4]
  assign _T_465 = _T_464 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248380.4]
  assign _T_467 = ~ _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248382.4]
  assign _T_468 = _T_467 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248383.4]
  assign _T_42_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
  assign _T_42_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
  assign _T_900 = _T_309_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248843.4]
  assign _T_899 = _T_309_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248842.4]
  assign _T_908 = {_T_900,_T_899}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248851.4]
  assign _T_898 = _T_309_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248841.4]
  assign _T_909 = {_T_908,_T_898}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248852.4]
  assign _T_928 = _T_42_a_valid & _T_42_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248871.4]
  assign _T_929 = _T_928 & _T_312; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248872.4]
  assign _T_910 = 8'h1 << _T_909; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@248853.4]
  assign _T_911 = _T_910[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248854.4]
  assign _T_996 = _T_312 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248958.4]
  assign _T_997 = _T_928 & _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248959.4]
  assign _T_1000 = _T_997 & _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248962.4]
  assign _T_1001 = _T_1000 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248963.4]
  assign _T_476 = _T_1001 & _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248391.4]
  assign _T_42_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@248198.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
  assign _T_525 = _T_448[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248442.4]
  assign _T_526 = ~ _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248443.4]
  assign _T_527 = _T_526 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248444.4]
  assign _T_531 = _T_1001 & _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248448.4]
  assign _T_532 = _T_42_a_bits_data[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248449.4]
  assign _T_534 = _T_531 & _T_532; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@248451.4]
  assign _T_479 = _T_534 == 1'h0; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@248394.4]
  assign _T_544 = {_T_303,31'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248462.4]
  assign _T_547 = _T_448[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248465.4]
  assign _T_550 = ~ _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248468.4]
  assign _T_551 = _T_550 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248469.4]
  assign _T_561 = _T_42_a_bits_data[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248479.4]
  assign _T_572 = _T_448[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248490.4]
  assign _T_575 = ~ _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248493.4]
  assign _T_576 = _T_575 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248494.4]
  assign _T_586 = _T_42_a_bits_data[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248504.4]
  assign _T_596 = {ip_rxwm,ip_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248514.4]
  assign _T_912 = _T_910[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248855.4]
  assign _T_938 = _T_929 & _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248885.4]
  assign _T_939 = _T_938 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248886.4]
  assign _T_622 = rxq_io_deq_bits; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248541.4]
  assign _T_648 = {1'h0,_T_622}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248567.4]
  assign _T_649 = {{22'd0}, _T_648}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248568.4]
  assign _T_675 = {_T_304,_T_649}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248594.4]
  assign _T_678 = _T_448[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248597.4]
  assign _T_681 = ~ _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248600.4]
  assign _T_682 = _T_681 == 16'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248601.4]
  assign _T_917 = _T_910[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248860.4]
  assign _T_1036 = _T_997 & _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249019.4]
  assign _T_1037 = _T_1036 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249020.4]
  assign _T_690 = _T_1037 & _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248609.4]
  assign _T_692 = _T_42_a_bits_data[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248611.4]
  assign _T_913 = _T_910[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248856.4]
  assign _T_1012 = _T_997 & _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248982.4]
  assign _T_1013 = _T_1012 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248983.4]
  assign _T_715 = _T_1013 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248637.4]
  assign _T_740 = _T_1013 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248665.4]
  assign _T_752 = {nstop,txen}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248680.4]
  assign _T_755 = _T_448[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248683.4]
  assign _T_758 = ~ _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248686.4]
  assign _T_759 = _T_758 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248687.4]
  assign _T_767 = _T_1013 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248695.4]
  assign _T_769 = _T_42_a_bits_data[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248697.4]
  assign _T_778 = {{14'd0}, _T_752}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248709.4]
  assign _T_779 = {txwm,_T_778}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248710.4]
  assign _T_914 = _T_910[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248857.4]
  assign _T_1018 = _T_997 & _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248992.4]
  assign _T_1019 = _T_1018 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248993.4]
  assign _T_794 = _T_1019 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248725.4]
  assign _T_819 = _T_1019 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248753.4]
  assign _T_830 = {{15'd0}, rxen}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248767.4]
  assign _T_831 = {rxwm,_T_830}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248768.4]
  assign _T_915 = _T_910[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248858.4]
  assign _T_1024 = _T_997 & _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249001.4]
  assign _T_1025 = _T_1024 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249002.4]
  assign _T_846 = _T_1025 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248783.4]
  assign _T_871 = _T_1025 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@248811.4]
  assign _T_883 = {ie_rxwm,ie_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@248826.4]
  assign _GEN_41 = 3'h1 == _T_909 ? _T_332 : _T_332; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
  assign _GEN_42 = 3'h2 == _T_909 ? _T_332 : _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
  assign _GEN_43 = 3'h3 == _T_909 ? _T_332 : _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
  assign _GEN_44 = 3'h4 == _T_909 ? _T_332 : _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
  assign _GEN_45 = 3'h5 == _T_909 ? _T_332 : _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
  assign _GEN_46 = 3'h6 == _T_909 ? _T_332 : _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
  assign _GEN_47 = 3'h7 == _T_909 ? 1'h1 : _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249239.4]
  assign _GEN_49 = 3'h1 == _T_909 ? _T_675 : _T_544; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
  assign _T_1225_2 = {{12'd0}, _T_779}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249241.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249245.4]
  assign _GEN_50 = 3'h2 == _T_909 ? _T_1225_2 : _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
  assign _T_1225_3 = {{12'd0}, _T_831}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249241.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249246.4]
  assign _GEN_51 = 3'h3 == _T_909 ? _T_1225_3 : _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
  assign _T_1225_4 = {{30'd0}, _T_883}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249241.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249247.4]
  assign _GEN_52 = 3'h4 == _T_909 ? _T_1225_4 : _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
  assign _T_1225_5 = {{30'd0}, _T_596}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249241.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249248.4]
  assign _GEN_53 = 3'h5 == _T_909 ? _T_1225_5 : _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
  assign _T_1225_6 = {{16'd0}, div}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249241.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@249249.4]
  assign _GEN_54 = 3'h6 == _T_909 ? _T_1225_6 : _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
  assign _GEN_55 = 3'h7 == _T_909 ? 32'h0 : _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@249251.4]
  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@248253.4]
  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248252.4]
  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248252.4]
  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248252.4]
  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248252.4]
  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248252.4]
  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248252.4]
  assign auto_io_out_txd = txm_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@248251.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248186.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248187.4]
  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@248249.4]
  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@248249.4]
  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@248249.4]
  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@248249.4]
  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@248249.4]
  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@248249.4]
  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@248249.4]
  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@248249.4]
  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@248249.4]
  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@248249.4]
  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_312}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
  assign buffer_auto_out_d_bits_size = _T_314[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
  assign buffer_auto_out_d_bits_source = _T_314[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
  assign buffer_auto_out_d_bits_data = _GEN_47 ? _GEN_55 : 32'h0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@248248.4]
  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248192.4]
  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248193.4]
  assign intsource_auto_in_0 = _T_298 | _T_299; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@248247.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248202.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248203.4]
  assign TLMonitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
  assign TLMonitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_312}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
  assign TLMonitor_io_in_d_bits_size = _T_314[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
  assign TLMonitor_io_in_d_bits_source = _T_314[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@248236.4]
  assign txm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248256.4]
  assign txm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248257.4]
  assign txm_io_en = txen; // @[UART.scala 78:13:shc.marmotcaravel.MarmotCaravelConfig.fir@248276.4]
  assign txm_io_in_valid = txq_io_deq_valid; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@248277.4]
  assign txm_io_in_bits = txq_io_deq_bits; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@248277.4]
  assign txm_io_div = div; // @[UART.scala 80:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248278.4]
  assign txm_io_nstop = nstop; // @[UART.scala 81:16:shc.marmotcaravel.MarmotCaravelConfig.fir@248279.4]
  assign txq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248260.4]
  assign txq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248261.4]
  assign txq_io_enq_valid = _T_476 & _T_479; // @[RegMapFIFO.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@248396.4]
  assign txq_io_enq_bits = _T_42_a_bits_data[7:0]; // @[RegMapFIFO.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@248397.4]
  assign txq_io_deq_ready = txm_io_in_ready; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@248277.4]
  assign rxm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248264.4]
  assign rxm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248265.4]
  assign rxm_io_en = rxen; // @[UART.scala 84:13:shc.marmotcaravel.MarmotCaravelConfig.fir@248281.4]
  assign rxm_io_in = auto_io_out_rxd; // @[UART.scala 85:13:shc.marmotcaravel.MarmotCaravelConfig.fir@248282.4]
  assign rxm_io_div = div; // @[UART.scala 87:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248284.4]
  assign rxq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248268.4]
  assign rxq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@248269.4]
  assign rxq_io_enq_valid = rxm_io_out_valid; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248283.4]
  assign rxq_io_enq_bits = rxm_io_out_bits; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@248283.4]
  assign rxq_io_deq_ready = _T_939 & _T_465; // @[RegMapFIFO.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@248531.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  div = _RAND_0[15:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  txen = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  rxen = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  txwm = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  rxwm = _RAND_4[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  nstop = _RAND_5[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  ie_rxwm = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  ie_txwm = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      div <= 16'h364;
    end else begin
      if (_T_690) begin
        div <= _T_692;
      end
    end
    if (reset) begin
      txen <= 1'h0;
    end else begin
      if (_T_715) begin
        txen <= _T_561;
      end
    end
    if (reset) begin
      rxen <= 1'h0;
    end else begin
      if (_T_794) begin
        rxen <= _T_561;
      end
    end
    if (reset) begin
      txwm <= 4'h0;
    end else begin
      if (_T_767) begin
        txwm <= _T_769;
      end
    end
    if (reset) begin
      rxwm <= 4'h0;
    end else begin
      if (_T_819) begin
        rxwm <= _T_769;
      end
    end
    if (reset) begin
      nstop <= 1'h0;
    end else begin
      if (_T_740) begin
        nstop <= _T_586;
      end
    end
    if (reset) begin
      ie_rxwm <= 1'h0;
    end else begin
      if (_T_871) begin
        ie_rxwm <= _T_586;
      end
    end
    if (reset) begin
      ie_txwm <= 1'h0;
    end else begin
      if (_T_846) begin
        ie_txwm <= _T_561;
      end
    end
  end
endmodule
module TLMonitor_64( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249346.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249347.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249348.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@249349.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@250476.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@249376.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@249377.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@249378.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@249379.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@249379.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249380.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@249382.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249383.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@249385.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@249386.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@249387.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@249388.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@249389.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@249391.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249392.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@249394.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249395.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@249396.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@249397.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@249398.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249399.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@249400.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249401.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249402.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@249403.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249404.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249405.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@249406.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249407.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249408.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@249409.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249410.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@249411.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@249412.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@249413.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249436.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249439.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@249440.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@249441.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@249442.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@249443.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249448.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249469.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249470.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249476.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249477.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249482.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249484.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249485.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@249490.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249491.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249493.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249494.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@249499.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249501.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249502.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249508.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249562.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249564.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249565.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249588.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@249591.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@249599.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249602.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249603.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249622.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249624.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249625.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249630.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249632.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249633.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249647.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249698.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@249740.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249741.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@249742.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249744.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249745.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249751.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@249782.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249784.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249785.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249799.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@249830.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249832.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249833.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249847.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249897.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249899.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249900.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249917.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249926.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249928.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249929.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249959.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250017.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250207.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250216.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250217.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250218.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250219.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250220.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250231.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250232.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250233.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250234.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250235.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250236.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250237.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250239.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250241.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250242.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250247.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250249.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250250.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250255.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250257.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250258.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250263.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250265.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250266.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250271.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250273.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250274.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@250281.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250289.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250297.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250298.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250299.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250300.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250301.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250312.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250314.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250315.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250318.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250319.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250321.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250323.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250324.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250337.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250339.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250340.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250345.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250347.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250348.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@250371.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250380.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250390.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250391.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250392.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250393.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250394.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250413.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250414.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250415.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250416.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250417.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250432.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@250435.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@250437.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@250438.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250439.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250441.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250442.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@250434.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250453.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@250455.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@250456.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@250458.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@250460.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@250461.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@250462.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250464.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250465.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@250457.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250471.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250472.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@250473.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250475.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@250478.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250479.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@250480.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250481.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@250482.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@250483.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@250485.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@250486.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250492.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250496.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249450.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249522.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249605.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249664.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249715.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249765.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249813.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249861.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249931.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249972.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250030.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@250476.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@249376.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@249377.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@249378.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@249379.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@249379.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249380.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@249382.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249383.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@249385.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@249386.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@249387.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@249388.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@249389.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@249391.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249392.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@249394.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249395.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@249396.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@249397.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@249398.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249399.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@249400.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249401.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249402.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@249403.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249404.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249405.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@249406.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249407.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249408.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@249409.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@249410.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@249411.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@249412.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@249413.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249436.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@249439.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@249440.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@249441.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@249442.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@249443.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249448.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249469.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249470.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249476.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249477.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249482.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249484.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249485.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@249490.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249491.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249493.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249494.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@249499.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249501.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249502.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249508.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249562.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249564.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249565.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249588.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@249591.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@249599.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249602.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249603.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249622.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249624.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249625.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249630.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249632.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249633.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249647.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249698.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@249740.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@249741.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@249742.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249744.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249745.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249751.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@249782.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249784.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249785.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249799.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@249830.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249832.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249833.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249847.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@249897.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249899.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249900.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249917.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@249926.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249928.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249929.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@249959.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250017.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250207.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250217.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250218.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250219.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250220.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250236.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250237.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250239.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250241.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250242.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250247.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250249.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250250.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250255.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250257.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250258.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250263.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250265.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250266.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250271.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250273.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250274.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@250281.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250289.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250298.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250299.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250300.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250301.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@250318.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250319.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250321.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250323.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250324.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250337.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250339.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250340.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250345.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250347.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250348.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@250371.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250391.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250392.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250393.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250394.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250414.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250415.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250416.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250417.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250432.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@250435.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@250437.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@250438.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250439.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250441.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250442.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@250434.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250453.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@250455.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@250456.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@250458.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@250460.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@250461.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@250462.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250464.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250465.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@250457.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250471.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250472.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@250473.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@250478.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250479.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@250480.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250481.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@250482.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@250483.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@250485.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@250486.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250492.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250496.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249450.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249522.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249605.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249664.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249715.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249765.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249813.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249861.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249931.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249972.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250030.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_514 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_527 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_529 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_531 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_533 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_535 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_569 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_582 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_586 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_588 = _RAND_9[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {2{`RANDOM}};
  _T_622 = _RAND_10[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_633 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_654 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_697 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_514 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_518) begin
          _T_514 <= 1'h0;
        end else begin
          _T_514 <= _T_517;
        end
      end
    end
    if (_T_559) begin
      _T_527 <= io_in_a_bits_opcode;
    end
    if (_T_559) begin
      _T_529 <= io_in_a_bits_param;
    end
    if (_T_559) begin
      _T_531 <= io_in_a_bits_size;
    end
    if (_T_559) begin
      _T_533 <= io_in_a_bits_source;
    end
    if (_T_559) begin
      _T_535 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_569 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_573) begin
          _T_569 <= 1'h0;
        end else begin
          _T_569 <= _T_572;
        end
      end
    end
    if (_T_620) begin
      _T_582 <= io_in_d_bits_opcode;
    end
    if (_T_620) begin
      _T_586 <= io_in_d_bits_size;
    end
    if (_T_620) begin
      _T_588 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_622 <= 64'h0;
    end else begin
      _T_622 <= _T_695;
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_654 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_658) begin
          _T_654 <= 1'h0;
        end else begin
          _T_654 <= _T_657;
        end
      end
    end
    if (reset) begin
      _T_697 <= 32'h0;
    end else begin
      if (_T_711) begin
        _T_697 <= 32'h0;
      end else begin
        _T_697 <= _T_708;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249361.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249362.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249433.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249434.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249450.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249451.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249457.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249458.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249464.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249465.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249472.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249473.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249479.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249480.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249487.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249488.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249496.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249497.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249504.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249505.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249522.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249523.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249529.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249530.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249536.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249537.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249544.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249545.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249551.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249552.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249559.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249560.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249567.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249568.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249576.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249577.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249584.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249585.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249605.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249606.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249612.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249613.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249619.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249620.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249627.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249628.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249635.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249636.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249643.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249644.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249664.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249665.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249671.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249672.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249678.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249679.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249686.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249687.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249694.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249695.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249715.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249716.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249722.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249723.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249729.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249730.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249737.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249738.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249747.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249748.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249765.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249766.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249772.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249773.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249779.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249780.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249787.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249788.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249795.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249796.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249813.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249814.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249820.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249821.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249827.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249828.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249835.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249836.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249843.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249844.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249861.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249862.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249868.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249869.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249875.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249876.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249883.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249884.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249891.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249892.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249902.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@249903.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249923.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249924.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249931.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249932.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249939.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249940.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249947.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249948.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249955.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249956.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249965.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249966.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249972.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249973.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249980.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249981.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249988.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249989.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249996.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@249997.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250004.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250005.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250013.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250014.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250023.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250024.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250030.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250031.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250038.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250039.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250046.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250047.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250054.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250055.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250063.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250064.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250072.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250073.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250082.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250083.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250090.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250091.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250098.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250099.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250107.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250108.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250117.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250118.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250125.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250126.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250134.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250135.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250143.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250144.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250153.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250154.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250161.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250162.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250169.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250170.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250178.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250179.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250188.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250189.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250196.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250197.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250204.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250205.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250244.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250245.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250252.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250253.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250260.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250261.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250268.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250269.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250276.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250277.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250326.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250327.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250334.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250335.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250342.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250343.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250350.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250351.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250358.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250359.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250366.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250367.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250444.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250445.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250467.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@250468.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_706) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@250488.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_706) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@250489.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_20( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250501.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250502.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250503.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250504.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
  TLMonitor_64 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250511.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@250551.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@250551.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@250551.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@250551.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@250551.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@250551.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250550.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250550.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250550.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250550.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250550.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250550.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250550.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250550.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250550.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250550.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250513.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250514.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@250547.4]
endmodule
module TLMonitor_65( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250622.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250623.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250624.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@250625.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@251752.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@250652.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@250653.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@250654.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@250655.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@250655.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250656.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250658.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@250659.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@250661.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@250662.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250663.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250664.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@250665.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250667.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250668.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250670.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250671.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250672.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250673.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@250674.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250675.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250676.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250677.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250678.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250679.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250680.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250681.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250682.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250683.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250684.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250685.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250686.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250687.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250688.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250689.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250712.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@250715.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250716.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@250717.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@250718.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@250719.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250724.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250745.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250746.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250752.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250753.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250758.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250760.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250761.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@250766.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250767.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250769.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250770.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@250775.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250777.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250778.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250784.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250838.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250840.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250841.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250864.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@250867.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@250875.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250878.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250879.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250898.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250900.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250901.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250906.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250908.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250909.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250923.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250974.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@251016.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251017.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@251018.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251020.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251021.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251027.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@251058.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251060.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251061.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251075.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@251106.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251108.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251109.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251123.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@251173.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251175.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251176.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251193.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251202.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251204.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251205.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251235.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251293.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251483.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251492.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251493.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251494.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251495.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251496.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251507.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251508.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251509.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251510.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251511.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251512.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@251513.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251515.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251517.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251518.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251523.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251525.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251526.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251531.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251533.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251534.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251539.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251541.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251542.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251547.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251549.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251550.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@251557.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251565.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251573.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251574.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251575.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251576.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251577.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251588.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251590.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251591.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251594.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@251595.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251597.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251599.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251600.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251613.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251615.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251616.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251621.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251623.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251624.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@251647.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251656.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251666.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251667.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251668.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251669.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251670.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251689.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251690.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251691.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251692.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251693.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251708.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@251711.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@251713.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@251714.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251715.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251717.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251718.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@251710.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251729.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@251731.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@251732.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@251734.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@251736.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@251737.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@251738.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251740.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251741.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@251733.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251747.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@251748.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@251749.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251751.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@251754.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251755.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@251756.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251757.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@251758.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@251759.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251761.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251762.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@251768.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251772.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250726.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250798.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250881.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250940.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250991.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251041.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251089.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251137.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251207.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251248.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251306.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@251752.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@250652.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@250653.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@250654.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@250655.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@250655.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@250656.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250658.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@250659.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@250661.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@250662.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250663.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250664.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@250665.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250667.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250668.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250670.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250671.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250672.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@250673.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@250674.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250675.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250676.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250677.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250678.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250679.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250680.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250681.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250682.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250683.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250684.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@250685.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@250686.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250687.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250688.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@250689.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250712.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10043000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@250715.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@250716.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@250717.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@250718.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@250719.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250724.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250745.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250746.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250752.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250753.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250758.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250760.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250761.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@250766.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250767.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250769.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250770.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@250775.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250777.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250778.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250784.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250838.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250840.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250841.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250864.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@250867.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@250875.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250878.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250879.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@250898.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250900.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250901.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@250906.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250908.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250909.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250923.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@250974.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@251016.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251017.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@251018.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251020.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251021.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251027.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@251058.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251060.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251061.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251075.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@251106.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251108.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251109.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251123.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@251173.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251175.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251176.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251193.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251202.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251204.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251205.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251235.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251293.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251483.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251493.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251494.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251495.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251496.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251512.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@251513.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251515.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251517.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251518.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251523.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251525.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251526.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251531.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251533.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251534.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251539.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251541.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251542.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251547.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251549.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251550.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@251557.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251565.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251574.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251575.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251576.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251577.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@251594.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@251595.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251597.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251599.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251600.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251613.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251615.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251616.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@251621.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251623.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251624.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@251647.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251667.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251668.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251669.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251670.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251690.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251691.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@251692.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@251693.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251708.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@251711.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@251713.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@251714.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251715.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251717.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251718.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@251710.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251729.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@251731.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@251732.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@251734.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@251736.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@251737.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@251738.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251740.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251741.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@251733.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251747.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@251748.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@251749.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@251754.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251755.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@251756.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251757.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@251758.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@251759.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251761.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251762.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@251768.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@251772.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250726.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250798.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250881.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250940.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250991.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251041.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251089.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251137.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251207.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251248.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251306.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_514 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_527 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_529 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_531 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_533 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_535 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_569 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_582 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_586 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_588 = _RAND_9[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {2{`RANDOM}};
  _T_622 = _RAND_10[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_633 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_654 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_697 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_514 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_518) begin
          _T_514 <= 1'h0;
        end else begin
          _T_514 <= _T_517;
        end
      end
    end
    if (_T_559) begin
      _T_527 <= io_in_a_bits_opcode;
    end
    if (_T_559) begin
      _T_529 <= io_in_a_bits_param;
    end
    if (_T_559) begin
      _T_531 <= io_in_a_bits_size;
    end
    if (_T_559) begin
      _T_533 <= io_in_a_bits_source;
    end
    if (_T_559) begin
      _T_535 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_569 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_573) begin
          _T_569 <= 1'h0;
        end else begin
          _T_569 <= _T_572;
        end
      end
    end
    if (_T_620) begin
      _T_582 <= io_in_d_bits_opcode;
    end
    if (_T_620) begin
      _T_586 <= io_in_d_bits_size;
    end
    if (_T_620) begin
      _T_588 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_622 <= 64'h0;
    end else begin
      _T_622 <= _T_695;
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_654 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_658) begin
          _T_654 <= 1'h0;
        end else begin
          _T_654 <= _T_657;
        end
      end
    end
    if (reset) begin
      _T_697 <= 32'h0;
    end else begin
      if (_T_711) begin
        _T_697 <= 32'h0;
      end else begin
        _T_697 <= _T_708;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@250637.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@250638.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@250709.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@250710.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250726.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250727.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250733.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250734.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250740.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250741.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250748.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250749.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250755.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250756.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250763.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250764.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250772.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250773.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250780.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250781.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250798.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250799.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250805.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250806.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250812.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250813.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250820.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250821.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250827.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250828.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250835.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250836.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250843.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250844.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250852.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250853.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250860.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250861.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250881.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250882.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250888.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250889.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250895.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250896.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250903.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250904.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250911.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250912.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250919.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250920.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250940.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250941.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250947.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250948.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250954.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250955.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250962.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250963.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250970.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250971.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250991.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250992.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250998.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@250999.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251005.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251006.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251013.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251014.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251023.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251024.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251041.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251042.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251048.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251049.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251055.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251056.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251063.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251064.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251071.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251072.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251089.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251090.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251096.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251097.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251103.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251104.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251111.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251112.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251119.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251120.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251137.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251138.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251144.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251145.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251151.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251152.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251159.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251160.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251167.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251168.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251178.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251179.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251199.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251200.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251207.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251208.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251215.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251216.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251223.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251224.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251231.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251232.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251241.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251242.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251248.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251249.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251256.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251257.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251264.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251265.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251272.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251273.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251280.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251281.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251289.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251290.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251299.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251300.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251306.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251307.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251314.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251315.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251322.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251323.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251330.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251331.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251339.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251340.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251348.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251349.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251358.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251359.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251366.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251367.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251374.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251375.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251383.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251384.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251393.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251394.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251401.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251402.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251410.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251411.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251419.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251420.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251429.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251430.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251437.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251438.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251445.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251446.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251454.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251455.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251464.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251465.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251472.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251473.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251480.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251481.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251520.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251521.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251528.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251529.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251536.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251537.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251544.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251545.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251552.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251553.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251602.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251603.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251610.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251611.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251618.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251619.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251626.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251627.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251634.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251635.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251642.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@251643.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251720.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251721.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251743.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@251744.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_706) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251764.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_706) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@251765.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLUART_3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252062.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252063.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252064.4]
  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
  output        auto_io_out_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
  input         auto_io_out_rxd // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252065.4]
);
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252076.4]
  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252076.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252076.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252076.4]
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
  wire  txm_clock; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252142.4]
  wire  txm_reset; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252142.4]
  wire  txm_io_en; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252142.4]
  wire  txm_io_in_ready; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252142.4]
  wire  txm_io_in_valid; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252142.4]
  wire [7:0] txm_io_in_bits; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252142.4]
  wire  txm_io_out; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252142.4]
  wire [15:0] txm_io_div; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252142.4]
  wire  txm_io_nstop; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252142.4]
  wire  txq_clock; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252146.4]
  wire  txq_reset; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252146.4]
  wire  txq_io_enq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252146.4]
  wire  txq_io_enq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252146.4]
  wire [7:0] txq_io_enq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252146.4]
  wire  txq_io_deq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252146.4]
  wire  txq_io_deq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252146.4]
  wire [7:0] txq_io_deq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252146.4]
  wire [3:0] txq_io_count; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252146.4]
  wire  rxm_clock; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252150.4]
  wire  rxm_reset; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252150.4]
  wire  rxm_io_en; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252150.4]
  wire  rxm_io_in; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252150.4]
  wire  rxm_io_out_valid; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252150.4]
  wire [7:0] rxm_io_out_bits; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252150.4]
  wire [15:0] rxm_io_div; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252150.4]
  wire  rxq_clock; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252154.4]
  wire  rxq_reset; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252154.4]
  wire  rxq_io_enq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252154.4]
  wire  rxq_io_enq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252154.4]
  wire [7:0] rxq_io_enq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252154.4]
  wire  rxq_io_deq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252154.4]
  wire  rxq_io_deq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252154.4]
  wire [7:0] rxq_io_deq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252154.4]
  wire [3:0] rxq_io_count; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252154.4]
  reg [15:0] div; // @[UART.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@252158.4]
  reg [31:0] _RAND_0;
  reg  txen; // @[UART.scala 72:17:shc.marmotcaravel.MarmotCaravelConfig.fir@252159.4]
  reg [31:0] _RAND_1;
  reg  rxen; // @[UART.scala 73:17:shc.marmotcaravel.MarmotCaravelConfig.fir@252160.4]
  reg [31:0] _RAND_2;
  reg [3:0] txwm; // @[UART.scala 74:17:shc.marmotcaravel.MarmotCaravelConfig.fir@252161.4]
  reg [31:0] _RAND_3;
  reg [3:0] rxwm; // @[UART.scala 75:17:shc.marmotcaravel.MarmotCaravelConfig.fir@252162.4]
  reg [31:0] _RAND_4;
  reg  nstop; // @[UART.scala 76:18:shc.marmotcaravel.MarmotCaravelConfig.fir@252163.4]
  reg [31:0] _RAND_5;
  reg  ie_rxwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@252182.4]
  reg [31:0] _RAND_6;
  reg  ie_txwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@252182.4]
  reg [31:0] _RAND_7;
  wire  ip_txwm; // @[UART.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252185.4]
  wire  ip_rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252187.4]
  wire  _T_298; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@252189.4]
  wire  _T_299; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@252190.4]
  wire  _T_303; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@252195.4]
  wire  _T_304; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@252196.4]
  wire [2:0] _T_42_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
  wire  _T_312; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@252199.4]
  wire [28:0] _T_42_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
  wire [26:0] _T_313; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@252201.4]
  wire [5:0] _T_42_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
  wire [1:0] _T_42_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
  wire [7:0] _T_314; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252205.4]
  wire [9:0] _T_309_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@252197.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252202.4]
  wire [9:0] _T_330; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252213.4]
  wire  _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252215.4]
  wire [3:0] _T_42_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
  wire  _T_434; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@252237.4]
  wire  _T_435; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@252238.4]
  wire  _T_436; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@252239.4]
  wire  _T_437; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@252240.4]
  wire [7:0] _T_439; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@252242.4]
  wire [7:0] _T_441; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@252244.4]
  wire [7:0] _T_443; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@252246.4]
  wire [7:0] _T_445; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@252248.4]
  wire [15:0] _T_446; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252249.4]
  wire [15:0] _T_447; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252250.4]
  wire [31:0] _T_448; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252251.4]
  wire [7:0] _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252267.4]
  wire  _T_465; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252268.4]
  wire [7:0] _T_467; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252270.4]
  wire  _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252271.4]
  wire  _T_42_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
  wire  _T_42_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
  wire  _T_900; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252731.4]
  wire  _T_899; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252730.4]
  wire [1:0] _T_908; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252739.4]
  wire  _T_898; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252729.4]
  wire [2:0] _T_909; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252740.4]
  wire  _T_928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252759.4]
  wire  _T_929; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252760.4]
  wire [7:0] _T_910; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@252741.4]
  wire  _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252742.4]
  wire  _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252846.4]
  wire  _T_997; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252847.4]
  wire  _T_1000; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252850.4]
  wire  _T_1001; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252851.4]
  wire  _T_476; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252279.4]
  wire [31:0] _T_42_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
  wire  _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252330.4]
  wire  _T_526; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252331.4]
  wire  _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252332.4]
  wire  _T_531; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252336.4]
  wire  _T_532; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252337.4]
  wire  _T_534; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@252339.4]
  wire  _T_479; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@252282.4]
  wire [31:0] _T_544; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252350.4]
  wire  _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252353.4]
  wire  _T_550; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252356.4]
  wire  _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252357.4]
  wire  _T_561; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252367.4]
  wire  _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252378.4]
  wire  _T_575; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252381.4]
  wire  _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252382.4]
  wire  _T_586; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252392.4]
  wire [1:0] _T_596; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252402.4]
  wire  _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252743.4]
  wire  _T_938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252773.4]
  wire  _T_939; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252774.4]
  wire [7:0] _T_622; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252429.4]
  wire [8:0] _T_648; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252455.4]
  wire [30:0] _T_649; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252456.4]
  wire [31:0] _T_675; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252482.4]
  wire [15:0] _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252485.4]
  wire [15:0] _T_681; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252488.4]
  wire  _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252489.4]
  wire  _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252748.4]
  wire  _T_1036; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252907.4]
  wire  _T_1037; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252908.4]
  wire  _T_690; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252497.4]
  wire [15:0] _T_692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252499.4]
  wire  _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252744.4]
  wire  _T_1012; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252870.4]
  wire  _T_1013; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252871.4]
  wire  _T_715; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252525.4]
  wire  _T_740; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252553.4]
  wire [1:0] _T_752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252568.4]
  wire [3:0] _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252571.4]
  wire [3:0] _T_758; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252574.4]
  wire  _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252575.4]
  wire  _T_767; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252583.4]
  wire [3:0] _T_769; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252585.4]
  wire [15:0] _T_778; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252597.4]
  wire [19:0] _T_779; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252598.4]
  wire  _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252745.4]
  wire  _T_1018; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252880.4]
  wire  _T_1019; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252881.4]
  wire  _T_794; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252613.4]
  wire  _T_819; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252641.4]
  wire [15:0] _T_830; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252655.4]
  wire [19:0] _T_831; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252656.4]
  wire  _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252746.4]
  wire  _T_1024; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252889.4]
  wire  _T_1025; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252890.4]
  wire  _T_846; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252671.4]
  wire  _T_871; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252699.4]
  wire [1:0] _T_883; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252714.4]
  wire  _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
  wire  _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
  wire  _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
  wire  _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
  wire  _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
  wire  _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
  wire  _GEN_47; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
  wire [31:0] _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
  wire [31:0] _T_1225_2; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253129.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253133.4]
  wire [31:0] _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
  wire [31:0] _T_1225_3; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253129.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253134.4]
  wire [31:0] _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
  wire [31:0] _T_1225_4; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253129.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253135.4]
  wire [31:0] _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
  wire [31:0] _T_1225_5; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253129.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253136.4]
  wire [31:0] _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
  wire [31:0] _T_1225_6; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253129.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253137.4]
  wire [31:0] _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
  wire [31:0] _GEN_55; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
  TLBuffer_20 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252070.4]
    .clock(buffer_clock),
    .reset(buffer_reset),
    .auto_in_a_ready(buffer_auto_in_a_ready),
    .auto_in_a_valid(buffer_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_auto_in_d_ready),
    .auto_in_d_valid(buffer_auto_in_d_valid),
    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
    .auto_out_a_ready(buffer_auto_out_a_ready),
    .auto_out_a_valid(buffer_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_auto_out_d_ready),
    .auto_out_d_valid(buffer_auto_out_d_valid),
    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
  );
  IntSyncCrossingSource_3 intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252076.4]
    .clock(intsource_clock),
    .reset(intsource_reset),
    .auto_in_0(intsource_auto_in_0),
    .auto_out_sync_0(intsource_auto_out_sync_0)
  );
  TLMonitor_65 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@252088.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  UARTTx txm ( // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252142.4]
    .clock(txm_clock),
    .reset(txm_reset),
    .io_en(txm_io_en),
    .io_in_ready(txm_io_in_ready),
    .io_in_valid(txm_io_in_valid),
    .io_in_bits(txm_io_in_bits),
    .io_out(txm_io_out),
    .io_div(txm_io_div),
    .io_nstop(txm_io_nstop)
  );
  Queue_14 txq ( // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252146.4]
    .clock(txq_clock),
    .reset(txq_reset),
    .io_enq_ready(txq_io_enq_ready),
    .io_enq_valid(txq_io_enq_valid),
    .io_enq_bits(txq_io_enq_bits),
    .io_deq_ready(txq_io_deq_ready),
    .io_deq_valid(txq_io_deq_valid),
    .io_deq_bits(txq_io_deq_bits),
    .io_count(txq_io_count)
  );
  UARTRx rxm ( // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252150.4]
    .clock(rxm_clock),
    .reset(rxm_reset),
    .io_en(rxm_io_en),
    .io_in(rxm_io_in),
    .io_out_valid(rxm_io_out_valid),
    .io_out_bits(rxm_io_out_bits),
    .io_div(rxm_io_div)
  );
  Queue_14 rxq ( // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252154.4]
    .clock(rxq_clock),
    .reset(rxq_reset),
    .io_enq_ready(rxq_io_enq_ready),
    .io_enq_valid(rxq_io_enq_valid),
    .io_enq_bits(rxq_io_enq_bits),
    .io_deq_ready(rxq_io_deq_ready),
    .io_deq_valid(rxq_io_deq_valid),
    .io_deq_bits(rxq_io_deq_bits),
    .io_count(rxq_io_count)
  );
  assign ip_txwm = txq_io_count < txwm; // @[UART.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252185.4]
  assign ip_rxwm = rxq_io_count > rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@252187.4]
  assign _T_298 = ip_txwm & ie_txwm; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@252189.4]
  assign _T_299 = ip_rxwm & ie_rxwm; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@252190.4]
  assign _T_303 = txq_io_enq_ready == 1'h0; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@252195.4]
  assign _T_304 = rxq_io_deq_valid == 1'h0; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@252196.4]
  assign _T_42_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
  assign _T_312 = _T_42_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@252199.4]
  assign _T_42_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
  assign _T_313 = _T_42_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@252201.4]
  assign _T_42_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
  assign _T_42_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
  assign _T_314 = {_T_42_a_bits_source,_T_42_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252205.4]
  assign _T_309_bits_index = _T_313[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@252197.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252202.4]
  assign _T_330 = _T_309_bits_index & 10'h3f8; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252213.4]
  assign _T_332 = _T_330 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252215.4]
  assign _T_42_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
  assign _T_434 = _T_42_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@252237.4]
  assign _T_435 = _T_42_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@252238.4]
  assign _T_436 = _T_42_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@252239.4]
  assign _T_437 = _T_42_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@252240.4]
  assign _T_439 = _T_434 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@252242.4]
  assign _T_441 = _T_435 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@252244.4]
  assign _T_443 = _T_436 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@252246.4]
  assign _T_445 = _T_437 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@252248.4]
  assign _T_446 = {_T_441,_T_439}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252249.4]
  assign _T_447 = {_T_445,_T_443}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252250.4]
  assign _T_448 = {_T_447,_T_446}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252251.4]
  assign _T_464 = _T_448[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252267.4]
  assign _T_465 = _T_464 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252268.4]
  assign _T_467 = ~ _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252270.4]
  assign _T_468 = _T_467 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252271.4]
  assign _T_42_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
  assign _T_42_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
  assign _T_900 = _T_309_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252731.4]
  assign _T_899 = _T_309_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252730.4]
  assign _T_908 = {_T_900,_T_899}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252739.4]
  assign _T_898 = _T_309_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252729.4]
  assign _T_909 = {_T_908,_T_898}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252740.4]
  assign _T_928 = _T_42_a_valid & _T_42_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252759.4]
  assign _T_929 = _T_928 & _T_312; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252760.4]
  assign _T_910 = 8'h1 << _T_909; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@252741.4]
  assign _T_911 = _T_910[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252742.4]
  assign _T_996 = _T_312 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252846.4]
  assign _T_997 = _T_928 & _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252847.4]
  assign _T_1000 = _T_997 & _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252850.4]
  assign _T_1001 = _T_1000 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252851.4]
  assign _T_476 = _T_1001 & _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252279.4]
  assign _T_42_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@252086.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
  assign _T_525 = _T_448[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252330.4]
  assign _T_526 = ~ _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252331.4]
  assign _T_527 = _T_526 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252332.4]
  assign _T_531 = _T_1001 & _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252336.4]
  assign _T_532 = _T_42_a_bits_data[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252337.4]
  assign _T_534 = _T_531 & _T_532; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@252339.4]
  assign _T_479 = _T_534 == 1'h0; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@252282.4]
  assign _T_544 = {_T_303,31'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252350.4]
  assign _T_547 = _T_448[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252353.4]
  assign _T_550 = ~ _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252356.4]
  assign _T_551 = _T_550 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252357.4]
  assign _T_561 = _T_42_a_bits_data[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252367.4]
  assign _T_572 = _T_448[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252378.4]
  assign _T_575 = ~ _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252381.4]
  assign _T_576 = _T_575 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252382.4]
  assign _T_586 = _T_42_a_bits_data[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252392.4]
  assign _T_596 = {ip_rxwm,ip_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252402.4]
  assign _T_912 = _T_910[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252743.4]
  assign _T_938 = _T_929 & _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252773.4]
  assign _T_939 = _T_938 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252774.4]
  assign _T_622 = rxq_io_deq_bits; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252429.4]
  assign _T_648 = {1'h0,_T_622}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252455.4]
  assign _T_649 = {{22'd0}, _T_648}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252456.4]
  assign _T_675 = {_T_304,_T_649}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252482.4]
  assign _T_678 = _T_448[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252485.4]
  assign _T_681 = ~ _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252488.4]
  assign _T_682 = _T_681 == 16'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252489.4]
  assign _T_917 = _T_910[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252748.4]
  assign _T_1036 = _T_997 & _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252907.4]
  assign _T_1037 = _T_1036 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252908.4]
  assign _T_690 = _T_1037 & _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252497.4]
  assign _T_692 = _T_42_a_bits_data[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252499.4]
  assign _T_913 = _T_910[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252744.4]
  assign _T_1012 = _T_997 & _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252870.4]
  assign _T_1013 = _T_1012 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252871.4]
  assign _T_715 = _T_1013 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252525.4]
  assign _T_740 = _T_1013 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252553.4]
  assign _T_752 = {nstop,txen}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252568.4]
  assign _T_755 = _T_448[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252571.4]
  assign _T_758 = ~ _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252574.4]
  assign _T_759 = _T_758 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252575.4]
  assign _T_767 = _T_1013 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252583.4]
  assign _T_769 = _T_42_a_bits_data[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252585.4]
  assign _T_778 = {{14'd0}, _T_752}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252597.4]
  assign _T_779 = {txwm,_T_778}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252598.4]
  assign _T_914 = _T_910[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252745.4]
  assign _T_1018 = _T_997 & _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252880.4]
  assign _T_1019 = _T_1018 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252881.4]
  assign _T_794 = _T_1019 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252613.4]
  assign _T_819 = _T_1019 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252641.4]
  assign _T_830 = {{15'd0}, rxen}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252655.4]
  assign _T_831 = {rxwm,_T_830}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252656.4]
  assign _T_915 = _T_910[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252746.4]
  assign _T_1024 = _T_997 & _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252889.4]
  assign _T_1025 = _T_1024 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252890.4]
  assign _T_846 = _T_1025 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252671.4]
  assign _T_871 = _T_1025 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@252699.4]
  assign _T_883 = {ie_rxwm,ie_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@252714.4]
  assign _GEN_41 = 3'h1 == _T_909 ? _T_332 : _T_332; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
  assign _GEN_42 = 3'h2 == _T_909 ? _T_332 : _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
  assign _GEN_43 = 3'h3 == _T_909 ? _T_332 : _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
  assign _GEN_44 = 3'h4 == _T_909 ? _T_332 : _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
  assign _GEN_45 = 3'h5 == _T_909 ? _T_332 : _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
  assign _GEN_46 = 3'h6 == _T_909 ? _T_332 : _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
  assign _GEN_47 = 3'h7 == _T_909 ? 1'h1 : _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253127.4]
  assign _GEN_49 = 3'h1 == _T_909 ? _T_675 : _T_544; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
  assign _T_1225_2 = {{12'd0}, _T_779}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253129.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253133.4]
  assign _GEN_50 = 3'h2 == _T_909 ? _T_1225_2 : _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
  assign _T_1225_3 = {{12'd0}, _T_831}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253129.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253134.4]
  assign _GEN_51 = 3'h3 == _T_909 ? _T_1225_3 : _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
  assign _T_1225_4 = {{30'd0}, _T_883}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253129.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253135.4]
  assign _GEN_52 = 3'h4 == _T_909 ? _T_1225_4 : _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
  assign _T_1225_5 = {{30'd0}, _T_596}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253129.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253136.4]
  assign _GEN_53 = 3'h5 == _T_909 ? _T_1225_5 : _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
  assign _T_1225_6 = {{16'd0}, div}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253129.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@253137.4]
  assign _GEN_54 = 3'h6 == _T_909 ? _T_1225_6 : _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
  assign _GEN_55 = 3'h7 == _T_909 ? 32'h0 : _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@253139.4]
  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@252141.4]
  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252140.4]
  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252140.4]
  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252140.4]
  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252140.4]
  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252140.4]
  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252140.4]
  assign auto_io_out_txd = txm_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@252139.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252074.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252075.4]
  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@252137.4]
  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@252137.4]
  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@252137.4]
  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@252137.4]
  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@252137.4]
  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@252137.4]
  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@252137.4]
  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@252137.4]
  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@252137.4]
  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@252137.4]
  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_312}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
  assign buffer_auto_out_d_bits_size = _T_314[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
  assign buffer_auto_out_d_bits_source = _T_314[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
  assign buffer_auto_out_d_bits_data = _GEN_47 ? _GEN_55 : 32'h0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@252136.4]
  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252080.4]
  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252081.4]
  assign intsource_auto_in_0 = _T_298 | _T_299; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@252135.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252090.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252091.4]
  assign TLMonitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
  assign TLMonitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_312}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
  assign TLMonitor_io_in_d_bits_size = _T_314[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
  assign TLMonitor_io_in_d_bits_source = _T_314[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@252124.4]
  assign txm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252144.4]
  assign txm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252145.4]
  assign txm_io_en = txen; // @[UART.scala 78:13:shc.marmotcaravel.MarmotCaravelConfig.fir@252164.4]
  assign txm_io_in_valid = txq_io_deq_valid; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@252165.4]
  assign txm_io_in_bits = txq_io_deq_bits; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@252165.4]
  assign txm_io_div = div; // @[UART.scala 80:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252166.4]
  assign txm_io_nstop = nstop; // @[UART.scala 81:16:shc.marmotcaravel.MarmotCaravelConfig.fir@252167.4]
  assign txq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252148.4]
  assign txq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252149.4]
  assign txq_io_enq_valid = _T_476 & _T_479; // @[RegMapFIFO.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@252284.4]
  assign txq_io_enq_bits = _T_42_a_bits_data[7:0]; // @[RegMapFIFO.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@252285.4]
  assign txq_io_deq_ready = txm_io_in_ready; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@252165.4]
  assign rxm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252152.4]
  assign rxm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252153.4]
  assign rxm_io_en = rxen; // @[UART.scala 84:13:shc.marmotcaravel.MarmotCaravelConfig.fir@252169.4]
  assign rxm_io_in = auto_io_out_rxd; // @[UART.scala 85:13:shc.marmotcaravel.MarmotCaravelConfig.fir@252170.4]
  assign rxm_io_div = div; // @[UART.scala 87:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252172.4]
  assign rxq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252156.4]
  assign rxq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@252157.4]
  assign rxq_io_enq_valid = rxm_io_out_valid; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252171.4]
  assign rxq_io_enq_bits = rxm_io_out_bits; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@252171.4]
  assign rxq_io_deq_ready = _T_939 & _T_465; // @[RegMapFIFO.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@252419.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  div = _RAND_0[15:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  txen = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  rxen = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  txwm = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  rxwm = _RAND_4[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  nstop = _RAND_5[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  ie_rxwm = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  ie_txwm = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      div <= 16'h364;
    end else begin
      if (_T_690) begin
        div <= _T_692;
      end
    end
    if (reset) begin
      txen <= 1'h0;
    end else begin
      if (_T_715) begin
        txen <= _T_561;
      end
    end
    if (reset) begin
      rxen <= 1'h0;
    end else begin
      if (_T_794) begin
        rxen <= _T_561;
      end
    end
    if (reset) begin
      txwm <= 4'h0;
    end else begin
      if (_T_767) begin
        txwm <= _T_769;
      end
    end
    if (reset) begin
      rxwm <= 4'h0;
    end else begin
      if (_T_819) begin
        rxwm <= _T_769;
      end
    end
    if (reset) begin
      nstop <= 1'h0;
    end else begin
      if (_T_740) begin
        nstop <= _T_586;
      end
    end
    if (reset) begin
      ie_rxwm <= 1'h0;
    end else begin
      if (_T_871) begin
        ie_rxwm <= _T_586;
      end
    end
    if (reset) begin
      ie_txwm <= 1'h0;
    end else begin
      if (_T_846) begin
        ie_txwm <= _T_561;
      end
    end
  end
endmodule
module TLMonitor_66( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253234.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253235.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253236.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@253237.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@254364.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@253264.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@253265.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@253266.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@253267.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@253267.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253268.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@253270.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253271.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@253273.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@253274.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@253275.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@253276.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@253277.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@253279.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253280.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@253282.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253283.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@253284.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@253285.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@253286.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253287.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@253288.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253289.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253290.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@253291.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253292.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253293.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@253294.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253295.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253296.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@253297.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253298.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@253299.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@253300.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@253301.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253324.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253327.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@253328.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@253329.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@253330.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@253331.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253336.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253357.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253358.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253364.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253365.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253370.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253372.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253373.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@253378.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253379.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253381.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253382.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@253387.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253389.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253390.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253396.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253450.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253452.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253453.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253476.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@253479.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@253487.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253490.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253491.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253510.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253512.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253513.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253518.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253520.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253521.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253535.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253586.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@253628.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253629.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@253630.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253632.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253633.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253639.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@253670.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253672.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253673.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253687.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@253718.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253720.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253721.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253735.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253785.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253787.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253788.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253805.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253814.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253816.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253817.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253847.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253905.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254095.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254104.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254105.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254106.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254107.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254108.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254119.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254120.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254121.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254122.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254123.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254124.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254125.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254127.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254129.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254130.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254135.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254137.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254138.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254143.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254145.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254146.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254151.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254153.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254154.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254159.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254161.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254162.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@254169.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254177.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254185.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254186.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254187.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254188.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254189.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254200.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254202.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254203.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254206.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254207.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254209.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254211.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254212.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254225.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254227.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254228.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254233.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254235.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254236.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@254259.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254268.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254278.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254279.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254280.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254281.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254282.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254301.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254302.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254303.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254304.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254305.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254320.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@254323.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@254325.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@254326.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254327.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254329.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254330.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@254322.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254341.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@254343.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@254344.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@254346.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@254348.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@254349.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@254350.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254352.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254353.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@254345.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254359.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254360.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@254361.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254363.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@254366.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254367.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@254368.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254369.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@254370.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@254371.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@254373.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@254374.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254380.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254384.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253338.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253410.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253493.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253552.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253603.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253653.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253701.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253749.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253819.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253860.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253918.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@254364.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@253264.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@253265.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@253266.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@253267.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@253267.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253268.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@253270.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253271.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@253273.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@253274.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@253275.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@253276.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@253277.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@253279.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253280.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@253282.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253283.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@253284.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@253285.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@253286.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253287.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@253288.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253289.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253290.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@253291.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253292.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253293.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@253294.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253295.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253296.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@253297.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@253298.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@253299.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@253300.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@253301.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253324.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10053000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@253327.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@253328.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@253329.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@253330.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@253331.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253336.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253357.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253358.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253364.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253365.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253370.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253372.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253373.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@253378.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253379.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253381.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253382.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@253387.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253389.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253390.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253396.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253450.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253452.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253453.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253476.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@253479.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@253487.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253490.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253491.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253510.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253512.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253513.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253518.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253520.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253521.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253535.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253586.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@253628.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@253629.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@253630.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253632.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253633.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253639.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@253670.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253672.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253673.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253687.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@253718.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253720.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253721.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253735.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@253785.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253787.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253788.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253805.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@253814.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253816.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253817.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253847.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@253905.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254095.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254105.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254106.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254107.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254108.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254124.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254125.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254127.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254129.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254130.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254135.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254137.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254138.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254143.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254145.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254146.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254151.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254153.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254154.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254159.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254161.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254162.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@254169.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254177.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254186.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254187.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254188.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254189.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@254206.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254207.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254209.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254211.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254212.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254225.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254227.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254228.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254233.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254235.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254236.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@254259.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254279.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254280.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254281.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254282.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254302.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254303.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254304.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254305.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254320.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@254323.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@254325.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@254326.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254327.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254329.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254330.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@254322.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254341.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@254343.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@254344.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@254346.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@254348.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@254349.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@254350.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254352.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254353.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@254345.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254359.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254360.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@254361.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@254366.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254367.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@254368.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254369.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@254370.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@254371.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@254373.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@254374.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254380.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254384.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253338.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253410.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253493.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253552.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253603.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253653.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253701.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253749.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253819.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253860.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253918.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_514 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_527 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_529 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_531 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_533 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_535 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_569 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_582 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_586 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_588 = _RAND_9[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {2{`RANDOM}};
  _T_622 = _RAND_10[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_633 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_654 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_697 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_514 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_518) begin
          _T_514 <= 1'h0;
        end else begin
          _T_514 <= _T_517;
        end
      end
    end
    if (_T_559) begin
      _T_527 <= io_in_a_bits_opcode;
    end
    if (_T_559) begin
      _T_529 <= io_in_a_bits_param;
    end
    if (_T_559) begin
      _T_531 <= io_in_a_bits_size;
    end
    if (_T_559) begin
      _T_533 <= io_in_a_bits_source;
    end
    if (_T_559) begin
      _T_535 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_569 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_573) begin
          _T_569 <= 1'h0;
        end else begin
          _T_569 <= _T_572;
        end
      end
    end
    if (_T_620) begin
      _T_582 <= io_in_d_bits_opcode;
    end
    if (_T_620) begin
      _T_586 <= io_in_d_bits_size;
    end
    if (_T_620) begin
      _T_588 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_622 <= 64'h0;
    end else begin
      _T_622 <= _T_695;
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_654 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_658) begin
          _T_654 <= 1'h0;
        end else begin
          _T_654 <= _T_657;
        end
      end
    end
    if (reset) begin
      _T_697 <= 32'h0;
    end else begin
      if (_T_711) begin
        _T_697 <= 32'h0;
      end else begin
        _T_697 <= _T_708;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253249.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253250.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253321.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253322.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253338.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253339.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253345.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253346.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253352.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253353.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253360.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253361.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253367.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253368.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253375.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253376.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253384.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253385.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253392.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253393.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253410.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253411.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253417.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253418.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253424.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253425.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253432.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253433.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253439.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253440.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253447.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253448.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253455.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253456.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253464.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253465.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253472.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253473.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253493.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253494.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253500.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253501.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253507.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253508.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253515.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253516.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253523.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253524.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253531.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253532.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253552.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253553.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253559.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253560.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253566.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253567.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253574.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253575.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253582.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253583.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253603.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253604.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253610.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253611.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253617.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253618.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253625.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253626.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253635.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253636.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253653.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253654.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253660.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253661.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253667.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253668.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253675.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253676.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253683.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253684.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253701.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253702.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253708.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253709.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253715.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253716.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253723.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253724.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253731.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253732.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253749.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253750.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253756.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253757.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253763.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253764.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253771.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253772.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253779.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253780.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253790.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@253791.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253811.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253812.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253819.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253820.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253827.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253828.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253835.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253836.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253843.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253844.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253853.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253854.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253860.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253861.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253868.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253869.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253876.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253877.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253884.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253885.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253892.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253893.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253901.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253902.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253911.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253912.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253918.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253919.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253926.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253927.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253934.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253935.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253942.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253943.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253951.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253952.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253960.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253961.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253970.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253971.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253978.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253979.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253986.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253987.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253995.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@253996.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254005.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254006.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254013.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254014.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254022.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254023.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254031.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254032.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254041.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254042.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254049.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254050.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254057.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254058.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254066.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254067.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254076.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254077.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254084.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254085.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254092.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254093.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254132.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254133.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254140.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254141.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254148.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254149.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254156.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254157.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254164.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254165.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254214.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254215.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254222.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254223.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254230.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254231.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254238.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254239.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254246.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254247.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254254.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254255.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254332.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254333.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254355.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@254356.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_706) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@254376.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_706) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@254377.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_21( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254389.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254390.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254391.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254392.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
  TLMonitor_66 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254399.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@254439.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@254439.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@254439.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@254439.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@254439.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@254439.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254438.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254438.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254438.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254438.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254438.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254438.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254438.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254438.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254438.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254438.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254401.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254402.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@254435.4]
endmodule
module TLMonitor_67( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254510.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254511.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254512.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@254513.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@255640.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@254540.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@254541.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@254542.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@254543.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@254543.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254544.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254546.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@254547.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@254549.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@254550.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254551.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254552.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@254553.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254555.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254556.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254558.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254559.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254560.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254561.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@254562.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254563.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254564.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254565.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254566.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254567.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254568.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254569.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254570.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254571.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254572.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254573.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254574.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254575.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254576.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254577.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254600.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@254603.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254604.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@254605.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@254606.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@254607.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254612.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254633.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254634.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254640.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254641.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254646.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254648.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254649.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@254654.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254655.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254657.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254658.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@254663.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254665.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254666.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254672.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254726.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254728.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254729.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254752.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@254755.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@254763.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254766.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254767.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254786.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254788.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254789.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254794.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254796.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254797.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254811.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254862.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@254904.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254905.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@254906.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254908.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254909.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254915.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@254946.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254948.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254949.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254963.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@254994.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254996.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254997.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255011.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@255061.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255063.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255064.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255081.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255090.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255092.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255093.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255123.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255181.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255371.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255380.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255381.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255382.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255383.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255384.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255395.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255396.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255397.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255398.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255399.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255400.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@255401.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255403.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255405.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255406.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255411.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255413.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255414.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255419.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255421.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255422.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255427.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255429.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255430.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255435.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255437.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255438.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@255445.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255453.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255461.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255462.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255463.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255464.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255465.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255476.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255478.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255479.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255482.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@255483.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255485.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255487.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255488.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255501.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255503.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255504.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255509.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255511.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255512.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@255535.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255544.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255554.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255555.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255556.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255557.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255558.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255577.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255578.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255579.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255580.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255581.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255596.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@255599.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@255601.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@255602.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255603.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255605.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255606.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@255598.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255617.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@255619.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@255620.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@255622.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@255624.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@255625.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@255626.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255628.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255629.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@255621.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255635.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@255636.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@255637.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255639.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@255642.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255643.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@255644.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255645.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@255646.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@255647.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255649.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255650.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@255656.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255660.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254614.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254686.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254769.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254828.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254879.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254929.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254977.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255025.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255095.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255136.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255194.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@255640.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@254540.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@254541.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@254542.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@254543.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@254543.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@254544.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254546.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@254547.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@254549.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@254550.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254551.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254552.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@254553.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254555.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254556.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254558.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254559.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254560.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@254561.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@254562.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254563.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254564.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254565.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254566.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254567.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254568.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254569.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254570.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254571.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254572.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@254573.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@254574.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254575.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254576.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@254577.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254600.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10053000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@254603.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@254604.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@254605.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@254606.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@254607.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254612.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254633.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254634.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254640.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254641.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254646.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254648.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254649.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@254654.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254655.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254657.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254658.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@254663.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254665.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254666.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254672.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254726.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254728.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254729.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254752.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@254755.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@254763.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254766.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254767.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254786.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254788.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254789.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@254794.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254796.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254797.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254811.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254862.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@254904.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@254905.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@254906.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254908.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254909.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254915.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@254946.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254948.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254949.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@254963.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@254994.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254996.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254997.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255011.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@255061.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255063.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255064.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255081.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255090.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255092.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255093.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255123.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255181.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255371.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255381.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255382.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255383.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255384.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255400.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@255401.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255403.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255405.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255406.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255411.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255413.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255414.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255419.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255421.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255422.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255427.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255429.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255430.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255435.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255437.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255438.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@255445.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255453.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255462.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255463.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255464.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255465.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@255482.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@255483.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255485.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255487.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255488.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255501.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255503.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255504.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@255509.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255511.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255512.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@255535.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255555.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255556.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255557.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255558.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255578.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255579.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255580.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255581.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255596.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@255599.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@255601.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@255602.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255603.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255605.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255606.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@255598.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255617.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@255619.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@255620.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@255622.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@255624.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@255625.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@255626.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255628.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255629.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@255621.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255635.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@255636.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@255637.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@255642.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255643.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@255644.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255645.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@255646.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@255647.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255649.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255650.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@255656.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@255660.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254614.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254686.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254769.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254828.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254879.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254929.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254977.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255025.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255095.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255136.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255194.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_514 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_527 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_529 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_531 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_533 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_535 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_569 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_582 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_586 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_588 = _RAND_9[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {2{`RANDOM}};
  _T_622 = _RAND_10[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_633 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_654 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_697 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_514 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_518) begin
          _T_514 <= 1'h0;
        end else begin
          _T_514 <= _T_517;
        end
      end
    end
    if (_T_559) begin
      _T_527 <= io_in_a_bits_opcode;
    end
    if (_T_559) begin
      _T_529 <= io_in_a_bits_param;
    end
    if (_T_559) begin
      _T_531 <= io_in_a_bits_size;
    end
    if (_T_559) begin
      _T_533 <= io_in_a_bits_source;
    end
    if (_T_559) begin
      _T_535 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_569 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_573) begin
          _T_569 <= 1'h0;
        end else begin
          _T_569 <= _T_572;
        end
      end
    end
    if (_T_620) begin
      _T_582 <= io_in_d_bits_opcode;
    end
    if (_T_620) begin
      _T_586 <= io_in_d_bits_size;
    end
    if (_T_620) begin
      _T_588 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_622 <= 64'h0;
    end else begin
      _T_622 <= _T_695;
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_654 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_658) begin
          _T_654 <= 1'h0;
        end else begin
          _T_654 <= _T_657;
        end
      end
    end
    if (reset) begin
      _T_697 <= 32'h0;
    end else begin
      if (_T_711) begin
        _T_697 <= 32'h0;
      end else begin
        _T_697 <= _T_708;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@254525.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@254526.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@254597.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@254598.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254614.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254615.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254621.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254622.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254628.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254629.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254636.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254637.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254643.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254644.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254651.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254652.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254660.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254661.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254668.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254669.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254686.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254687.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254693.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254694.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254700.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254701.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254708.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254709.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254715.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254716.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254723.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254724.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254731.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254732.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254740.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254741.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254748.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254749.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254769.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254770.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254776.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254777.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254783.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254784.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254791.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254792.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254799.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254800.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254807.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254808.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254828.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254829.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254835.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254836.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254842.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254843.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254850.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254851.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254858.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254859.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254879.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254880.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254886.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254887.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254893.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254894.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254901.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254902.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254911.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254912.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254929.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254930.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254936.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254937.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254943.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254944.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254951.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254952.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254959.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254960.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254977.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254978.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254984.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254985.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254991.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254992.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@254999.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255000.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255007.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255008.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255025.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255026.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255032.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255033.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255039.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255040.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255047.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255048.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255055.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255056.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255066.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255067.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255087.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255088.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255095.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255096.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255103.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255104.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255111.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255112.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255119.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255120.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255129.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255130.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255136.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255137.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255144.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255145.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255152.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255153.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255160.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255161.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255168.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255169.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255177.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255178.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255187.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255188.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255194.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255195.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255202.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255203.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255210.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255211.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255218.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255219.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255227.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255228.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255236.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255237.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255246.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255247.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255254.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255255.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255262.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255263.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255271.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255272.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255281.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255282.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255289.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255290.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255298.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255299.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255307.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255308.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255317.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255318.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255325.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255326.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255333.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255334.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255342.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255343.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255352.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255353.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255360.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255361.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255368.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255369.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255408.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255409.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255416.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255417.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255424.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255425.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255432.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255433.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255440.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255441.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255490.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255491.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255498.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255499.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255506.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255507.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255514.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255515.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255522.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255523.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255530.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@255531.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255608.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255609.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255631.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@255632.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_706) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255652.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_706) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@255653.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLUART_4( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255950.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255951.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255952.4]
  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
  output        auto_io_out_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
  input         auto_io_out_rxd // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255953.4]
);
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@255964.4]
  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@255964.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@255964.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@255964.4]
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
  wire  txm_clock; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256030.4]
  wire  txm_reset; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256030.4]
  wire  txm_io_en; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256030.4]
  wire  txm_io_in_ready; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256030.4]
  wire  txm_io_in_valid; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256030.4]
  wire [7:0] txm_io_in_bits; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256030.4]
  wire  txm_io_out; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256030.4]
  wire [15:0] txm_io_div; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256030.4]
  wire  txm_io_nstop; // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256030.4]
  wire  txq_clock; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256034.4]
  wire  txq_reset; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256034.4]
  wire  txq_io_enq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256034.4]
  wire  txq_io_enq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256034.4]
  wire [7:0] txq_io_enq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256034.4]
  wire  txq_io_deq_ready; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256034.4]
  wire  txq_io_deq_valid; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256034.4]
  wire [7:0] txq_io_deq_bits; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256034.4]
  wire [3:0] txq_io_count; // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256034.4]
  wire  rxm_clock; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256038.4]
  wire  rxm_reset; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256038.4]
  wire  rxm_io_en; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256038.4]
  wire  rxm_io_in; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256038.4]
  wire  rxm_io_out_valid; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256038.4]
  wire [7:0] rxm_io_out_bits; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256038.4]
  wire [15:0] rxm_io_div; // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256038.4]
  wire  rxq_clock; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256042.4]
  wire  rxq_reset; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256042.4]
  wire  rxq_io_enq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256042.4]
  wire  rxq_io_enq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256042.4]
  wire [7:0] rxq_io_enq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256042.4]
  wire  rxq_io_deq_ready; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256042.4]
  wire  rxq_io_deq_valid; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256042.4]
  wire [7:0] rxq_io_deq_bits; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256042.4]
  wire [3:0] rxq_io_count; // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256042.4]
  reg [15:0] div; // @[UART.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@256046.4]
  reg [31:0] _RAND_0;
  reg  txen; // @[UART.scala 72:17:shc.marmotcaravel.MarmotCaravelConfig.fir@256047.4]
  reg [31:0] _RAND_1;
  reg  rxen; // @[UART.scala 73:17:shc.marmotcaravel.MarmotCaravelConfig.fir@256048.4]
  reg [31:0] _RAND_2;
  reg [3:0] txwm; // @[UART.scala 74:17:shc.marmotcaravel.MarmotCaravelConfig.fir@256049.4]
  reg [31:0] _RAND_3;
  reg [3:0] rxwm; // @[UART.scala 75:17:shc.marmotcaravel.MarmotCaravelConfig.fir@256050.4]
  reg [31:0] _RAND_4;
  reg  nstop; // @[UART.scala 76:18:shc.marmotcaravel.MarmotCaravelConfig.fir@256051.4]
  reg [31:0] _RAND_5;
  reg  ie_rxwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@256070.4]
  reg [31:0] _RAND_6;
  reg  ie_txwm; // @[UART.scala 89:15:shc.marmotcaravel.MarmotCaravelConfig.fir@256070.4]
  reg [31:0] _RAND_7;
  wire  ip_txwm; // @[UART.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@256073.4]
  wire  ip_rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@256075.4]
  wire  _T_298; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@256077.4]
  wire  _T_299; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@256078.4]
  wire  _T_303; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@256083.4]
  wire  _T_304; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@256084.4]
  wire [2:0] _T_42_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
  wire  _T_312; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@256087.4]
  wire [28:0] _T_42_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
  wire [26:0] _T_313; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@256089.4]
  wire [5:0] _T_42_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
  wire [1:0] _T_42_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
  wire [7:0] _T_314; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256093.4]
  wire [9:0] _T_309_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@256085.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256090.4]
  wire [9:0] _T_330; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256101.4]
  wire  _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256103.4]
  wire [3:0] _T_42_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
  wire  _T_434; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@256125.4]
  wire  _T_435; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@256126.4]
  wire  _T_436; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@256127.4]
  wire  _T_437; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@256128.4]
  wire [7:0] _T_439; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@256130.4]
  wire [7:0] _T_441; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@256132.4]
  wire [7:0] _T_443; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@256134.4]
  wire [7:0] _T_445; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@256136.4]
  wire [15:0] _T_446; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256137.4]
  wire [15:0] _T_447; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256138.4]
  wire [31:0] _T_448; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256139.4]
  wire [7:0] _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256155.4]
  wire  _T_465; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256156.4]
  wire [7:0] _T_467; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256158.4]
  wire  _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256159.4]
  wire  _T_42_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
  wire  _T_42_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
  wire  _T_900; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256619.4]
  wire  _T_899; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256618.4]
  wire [1:0] _T_908; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256627.4]
  wire  _T_898; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256617.4]
  wire [2:0] _T_909; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256628.4]
  wire  _T_928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256647.4]
  wire  _T_929; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256648.4]
  wire [7:0] _T_910; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@256629.4]
  wire  _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256630.4]
  wire  _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256734.4]
  wire  _T_997; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256735.4]
  wire  _T_1000; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256738.4]
  wire  _T_1001; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256739.4]
  wire  _T_476; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256167.4]
  wire [31:0] _T_42_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
  wire  _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256218.4]
  wire  _T_526; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256219.4]
  wire  _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256220.4]
  wire  _T_531; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256224.4]
  wire  _T_532; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256225.4]
  wire  _T_534; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@256227.4]
  wire  _T_479; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@256170.4]
  wire [31:0] _T_544; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256238.4]
  wire  _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256241.4]
  wire  _T_550; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256244.4]
  wire  _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256245.4]
  wire  _T_561; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256255.4]
  wire  _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256266.4]
  wire  _T_575; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256269.4]
  wire  _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256270.4]
  wire  _T_586; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256280.4]
  wire [1:0] _T_596; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256290.4]
  wire  _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256631.4]
  wire  _T_938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256661.4]
  wire  _T_939; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256662.4]
  wire [7:0] _T_622; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256317.4]
  wire [8:0] _T_648; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256343.4]
  wire [30:0] _T_649; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256344.4]
  wire [31:0] _T_675; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256370.4]
  wire [15:0] _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256373.4]
  wire [15:0] _T_681; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256376.4]
  wire  _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256377.4]
  wire  _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256636.4]
  wire  _T_1036; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256795.4]
  wire  _T_1037; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256796.4]
  wire  _T_690; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256385.4]
  wire [15:0] _T_692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256387.4]
  wire  _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256632.4]
  wire  _T_1012; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256758.4]
  wire  _T_1013; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256759.4]
  wire  _T_715; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256413.4]
  wire  _T_740; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256441.4]
  wire [1:0] _T_752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256456.4]
  wire [3:0] _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256459.4]
  wire [3:0] _T_758; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256462.4]
  wire  _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256463.4]
  wire  _T_767; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256471.4]
  wire [3:0] _T_769; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256473.4]
  wire [15:0] _T_778; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256485.4]
  wire [19:0] _T_779; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256486.4]
  wire  _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256633.4]
  wire  _T_1018; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256768.4]
  wire  _T_1019; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256769.4]
  wire  _T_794; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256501.4]
  wire  _T_819; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256529.4]
  wire [15:0] _T_830; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256543.4]
  wire [19:0] _T_831; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256544.4]
  wire  _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256634.4]
  wire  _T_1024; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256777.4]
  wire  _T_1025; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256778.4]
  wire  _T_846; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256559.4]
  wire  _T_871; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256587.4]
  wire [1:0] _T_883; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256602.4]
  wire  _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
  wire  _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
  wire  _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
  wire  _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
  wire  _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
  wire  _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
  wire  _GEN_47; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
  wire [31:0] _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
  wire [31:0] _T_1225_2; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257017.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257021.4]
  wire [31:0] _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
  wire [31:0] _T_1225_3; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257017.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257022.4]
  wire [31:0] _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
  wire [31:0] _T_1225_4; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257017.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257023.4]
  wire [31:0] _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
  wire [31:0] _T_1225_5; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257017.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257024.4]
  wire [31:0] _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
  wire [31:0] _T_1225_6; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257017.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257025.4]
  wire [31:0] _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
  wire [31:0] _GEN_55; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
  TLBuffer_21 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@255958.4]
    .clock(buffer_clock),
    .reset(buffer_reset),
    .auto_in_a_ready(buffer_auto_in_a_ready),
    .auto_in_a_valid(buffer_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_auto_in_d_ready),
    .auto_in_d_valid(buffer_auto_in_d_valid),
    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
    .auto_out_a_ready(buffer_auto_out_a_ready),
    .auto_out_a_valid(buffer_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_auto_out_d_ready),
    .auto_out_d_valid(buffer_auto_out_d_valid),
    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
  );
  IntSyncCrossingSource_3 intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@255964.4]
    .clock(intsource_clock),
    .reset(intsource_reset),
    .auto_in_0(intsource_auto_in_0),
    .auto_out_sync_0(intsource_auto_out_sync_0)
  );
  TLMonitor_67 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@255976.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  UARTTx txm ( // @[UART.scala 60:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256030.4]
    .clock(txm_clock),
    .reset(txm_reset),
    .io_en(txm_io_en),
    .io_in_ready(txm_io_in_ready),
    .io_in_valid(txm_io_in_valid),
    .io_in_bits(txm_io_in_bits),
    .io_out(txm_io_out),
    .io_div(txm_io_div),
    .io_nstop(txm_io_nstop)
  );
  Queue_14 txq ( // @[UART.scala 61:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256034.4]
    .clock(txq_clock),
    .reset(txq_reset),
    .io_enq_ready(txq_io_enq_ready),
    .io_enq_valid(txq_io_enq_valid),
    .io_enq_bits(txq_io_enq_bits),
    .io_deq_ready(txq_io_deq_ready),
    .io_deq_valid(txq_io_deq_valid),
    .io_deq_bits(txq_io_deq_bits),
    .io_count(txq_io_count)
  );
  UARTRx rxm ( // @[UART.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256038.4]
    .clock(rxm_clock),
    .reset(rxm_reset),
    .io_en(rxm_io_en),
    .io_in(rxm_io_in),
    .io_out_valid(rxm_io_out_valid),
    .io_out_bits(rxm_io_out_bits),
    .io_div(rxm_io_div)
  );
  Queue_14 rxq ( // @[UART.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256042.4]
    .clock(rxq_clock),
    .reset(rxq_reset),
    .io_enq_ready(rxq_io_enq_ready),
    .io_enq_valid(rxq_io_enq_valid),
    .io_enq_bits(rxq_io_enq_bits),
    .io_deq_ready(rxq_io_deq_ready),
    .io_deq_valid(rxq_io_deq_valid),
    .io_deq_bits(rxq_io_deq_bits),
    .io_count(rxq_io_count)
  );
  assign ip_txwm = txq_io_count < txwm; // @[UART.scala 92:28:shc.marmotcaravel.MarmotCaravelConfig.fir@256073.4]
  assign ip_rxwm = rxq_io_count > rxwm; // @[UART.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@256075.4]
  assign _T_298 = ip_txwm & ie_txwm; // @[UART.scala 94:29:shc.marmotcaravel.MarmotCaravelConfig.fir@256077.4]
  assign _T_299 = ip_rxwm & ie_rxwm; // @[UART.scala 94:53:shc.marmotcaravel.MarmotCaravelConfig.fir@256078.4]
  assign _T_303 = txq_io_enq_ready == 1'h0; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@256083.4]
  assign _T_304 = rxq_io_deq_valid == 1'h0; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@256084.4]
  assign _T_42_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
  assign _T_312 = _T_42_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@256087.4]
  assign _T_42_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
  assign _T_313 = _T_42_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@256089.4]
  assign _T_42_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
  assign _T_42_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
  assign _T_314 = {_T_42_a_bits_source,_T_42_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256093.4]
  assign _T_309_bits_index = _T_313[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@256085.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256090.4]
  assign _T_330 = _T_309_bits_index & 10'h3f8; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256101.4]
  assign _T_332 = _T_330 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256103.4]
  assign _T_42_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
  assign _T_434 = _T_42_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@256125.4]
  assign _T_435 = _T_42_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@256126.4]
  assign _T_436 = _T_42_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@256127.4]
  assign _T_437 = _T_42_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@256128.4]
  assign _T_439 = _T_434 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@256130.4]
  assign _T_441 = _T_435 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@256132.4]
  assign _T_443 = _T_436 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@256134.4]
  assign _T_445 = _T_437 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@256136.4]
  assign _T_446 = {_T_441,_T_439}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256137.4]
  assign _T_447 = {_T_445,_T_443}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256138.4]
  assign _T_448 = {_T_447,_T_446}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256139.4]
  assign _T_464 = _T_448[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256155.4]
  assign _T_465 = _T_464 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256156.4]
  assign _T_467 = ~ _T_464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256158.4]
  assign _T_468 = _T_467 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256159.4]
  assign _T_42_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
  assign _T_42_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
  assign _T_900 = _T_309_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256619.4]
  assign _T_899 = _T_309_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256618.4]
  assign _T_908 = {_T_900,_T_899}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256627.4]
  assign _T_898 = _T_309_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256617.4]
  assign _T_909 = {_T_908,_T_898}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256628.4]
  assign _T_928 = _T_42_a_valid & _T_42_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256647.4]
  assign _T_929 = _T_928 & _T_312; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256648.4]
  assign _T_910 = 8'h1 << _T_909; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@256629.4]
  assign _T_911 = _T_910[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256630.4]
  assign _T_996 = _T_312 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256734.4]
  assign _T_997 = _T_928 & _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256735.4]
  assign _T_1000 = _T_997 & _T_911; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256738.4]
  assign _T_1001 = _T_1000 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256739.4]
  assign _T_476 = _T_1001 & _T_468; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256167.4]
  assign _T_42_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@255974.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
  assign _T_525 = _T_448[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256218.4]
  assign _T_526 = ~ _T_525; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256219.4]
  assign _T_527 = _T_526 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256220.4]
  assign _T_531 = _T_1001 & _T_527; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256224.4]
  assign _T_532 = _T_42_a_bits_data[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256225.4]
  assign _T_534 = _T_531 & _T_532; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@256227.4]
  assign _T_479 = _T_534 == 1'h0; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@256170.4]
  assign _T_544 = {_T_303,31'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256238.4]
  assign _T_547 = _T_448[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256241.4]
  assign _T_550 = ~ _T_547; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256244.4]
  assign _T_551 = _T_550 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256245.4]
  assign _T_561 = _T_42_a_bits_data[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256255.4]
  assign _T_572 = _T_448[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256266.4]
  assign _T_575 = ~ _T_572; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256269.4]
  assign _T_576 = _T_575 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256270.4]
  assign _T_586 = _T_42_a_bits_data[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256280.4]
  assign _T_596 = {ip_rxwm,ip_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256290.4]
  assign _T_912 = _T_910[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256631.4]
  assign _T_938 = _T_929 & _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256661.4]
  assign _T_939 = _T_938 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256662.4]
  assign _T_622 = rxq_io_deq_bits; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256317.4]
  assign _T_648 = {1'h0,_T_622}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256343.4]
  assign _T_649 = {{22'd0}, _T_648}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256344.4]
  assign _T_675 = {_T_304,_T_649}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256370.4]
  assign _T_678 = _T_448[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256373.4]
  assign _T_681 = ~ _T_678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256376.4]
  assign _T_682 = _T_681 == 16'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256377.4]
  assign _T_917 = _T_910[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256636.4]
  assign _T_1036 = _T_997 & _T_917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256795.4]
  assign _T_1037 = _T_1036 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256796.4]
  assign _T_690 = _T_1037 & _T_682; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256385.4]
  assign _T_692 = _T_42_a_bits_data[15:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256387.4]
  assign _T_913 = _T_910[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256632.4]
  assign _T_1012 = _T_997 & _T_913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256758.4]
  assign _T_1013 = _T_1012 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256759.4]
  assign _T_715 = _T_1013 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256413.4]
  assign _T_740 = _T_1013 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256441.4]
  assign _T_752 = {nstop,txen}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256456.4]
  assign _T_755 = _T_448[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256459.4]
  assign _T_758 = ~ _T_755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256462.4]
  assign _T_759 = _T_758 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256463.4]
  assign _T_767 = _T_1013 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256471.4]
  assign _T_769 = _T_42_a_bits_data[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256473.4]
  assign _T_778 = {{14'd0}, _T_752}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256485.4]
  assign _T_779 = {txwm,_T_778}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256486.4]
  assign _T_914 = _T_910[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256633.4]
  assign _T_1018 = _T_997 & _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256768.4]
  assign _T_1019 = _T_1018 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256769.4]
  assign _T_794 = _T_1019 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256501.4]
  assign _T_819 = _T_1019 & _T_759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256529.4]
  assign _T_830 = {{15'd0}, rxen}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256543.4]
  assign _T_831 = {rxwm,_T_830}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256544.4]
  assign _T_915 = _T_910[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256634.4]
  assign _T_1024 = _T_997 & _T_915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256777.4]
  assign _T_1025 = _T_1024 & _T_332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256778.4]
  assign _T_846 = _T_1025 & _T_551; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256559.4]
  assign _T_871 = _T_1025 & _T_576; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@256587.4]
  assign _T_883 = {ie_rxwm,ie_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@256602.4]
  assign _GEN_41 = 3'h1 == _T_909 ? _T_332 : _T_332; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
  assign _GEN_42 = 3'h2 == _T_909 ? _T_332 : _GEN_41; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
  assign _GEN_43 = 3'h3 == _T_909 ? _T_332 : _GEN_42; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
  assign _GEN_44 = 3'h4 == _T_909 ? _T_332 : _GEN_43; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
  assign _GEN_45 = 3'h5 == _T_909 ? _T_332 : _GEN_44; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
  assign _GEN_46 = 3'h6 == _T_909 ? _T_332 : _GEN_45; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
  assign _GEN_47 = 3'h7 == _T_909 ? 1'h1 : _GEN_46; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257015.4]
  assign _GEN_49 = 3'h1 == _T_909 ? _T_675 : _T_544; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
  assign _T_1225_2 = {{12'd0}, _T_779}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257017.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257021.4]
  assign _GEN_50 = 3'h2 == _T_909 ? _T_1225_2 : _GEN_49; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
  assign _T_1225_3 = {{12'd0}, _T_831}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257017.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257022.4]
  assign _GEN_51 = 3'h3 == _T_909 ? _T_1225_3 : _GEN_50; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
  assign _T_1225_4 = {{30'd0}, _T_883}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257017.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257023.4]
  assign _GEN_52 = 3'h4 == _T_909 ? _T_1225_4 : _GEN_51; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
  assign _T_1225_5 = {{30'd0}, _T_596}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257017.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257024.4]
  assign _GEN_53 = 3'h5 == _T_909 ? _T_1225_5 : _GEN_52; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
  assign _T_1225_6 = {{16'd0}, div}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257017.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@257025.4]
  assign _GEN_54 = 3'h6 == _T_909 ? _T_1225_6 : _GEN_53; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
  assign _GEN_55 = 3'h7 == _T_909 ? 32'h0 : _GEN_54; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@257027.4]
  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@256029.4]
  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256028.4]
  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256028.4]
  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256028.4]
  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256028.4]
  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256028.4]
  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256028.4]
  assign auto_io_out_txd = txm_io_out; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@256027.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255962.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255963.4]
  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@256025.4]
  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@256025.4]
  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@256025.4]
  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@256025.4]
  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@256025.4]
  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@256025.4]
  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@256025.4]
  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@256025.4]
  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@256025.4]
  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@256025.4]
  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_312}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
  assign buffer_auto_out_d_bits_size = _T_314[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
  assign buffer_auto_out_d_bits_source = _T_314[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
  assign buffer_auto_out_d_bits_data = _GEN_47 ? _GEN_55 : 32'h0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@256024.4]
  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255968.4]
  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255969.4]
  assign intsource_auto_in_0 = _T_298 | _T_299; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@256023.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255978.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@255979.4]
  assign TLMonitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
  assign TLMonitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_312}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
  assign TLMonitor_io_in_d_bits_size = _T_314[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
  assign TLMonitor_io_in_d_bits_source = _T_314[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@256012.4]
  assign txm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256032.4]
  assign txm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256033.4]
  assign txm_io_en = txen; // @[UART.scala 78:13:shc.marmotcaravel.MarmotCaravelConfig.fir@256052.4]
  assign txm_io_in_valid = txq_io_deq_valid; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@256053.4]
  assign txm_io_in_bits = txq_io_deq_bits; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@256053.4]
  assign txm_io_div = div; // @[UART.scala 80:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256054.4]
  assign txm_io_nstop = nstop; // @[UART.scala 81:16:shc.marmotcaravel.MarmotCaravelConfig.fir@256055.4]
  assign txq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256036.4]
  assign txq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256037.4]
  assign txq_io_enq_valid = _T_476 & _T_479; // @[RegMapFIFO.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@256172.4]
  assign txq_io_enq_bits = _T_42_a_bits_data[7:0]; // @[RegMapFIFO.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@256173.4]
  assign txq_io_deq_ready = txm_io_in_ready; // @[UART.scala 79:13:shc.marmotcaravel.MarmotCaravelConfig.fir@256053.4]
  assign rxm_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256040.4]
  assign rxm_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256041.4]
  assign rxm_io_en = rxen; // @[UART.scala 84:13:shc.marmotcaravel.MarmotCaravelConfig.fir@256057.4]
  assign rxm_io_in = auto_io_out_rxd; // @[UART.scala 85:13:shc.marmotcaravel.MarmotCaravelConfig.fir@256058.4]
  assign rxm_io_div = div; // @[UART.scala 87:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256060.4]
  assign rxq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256044.4]
  assign rxq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@256045.4]
  assign rxq_io_enq_valid = rxm_io_out_valid; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256059.4]
  assign rxq_io_enq_bits = rxm_io_out_bits; // @[UART.scala 86:14:shc.marmotcaravel.MarmotCaravelConfig.fir@256059.4]
  assign rxq_io_deq_ready = _T_939 & _T_465; // @[RegMapFIFO.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@256307.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  div = _RAND_0[15:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  txen = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  rxen = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  txwm = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  rxwm = _RAND_4[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  nstop = _RAND_5[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  ie_rxwm = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  ie_txwm = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      div <= 16'h364;
    end else begin
      if (_T_690) begin
        div <= _T_692;
      end
    end
    if (reset) begin
      txen <= 1'h0;
    end else begin
      if (_T_715) begin
        txen <= _T_561;
      end
    end
    if (reset) begin
      rxen <= 1'h0;
    end else begin
      if (_T_794) begin
        rxen <= _T_561;
      end
    end
    if (reset) begin
      txwm <= 4'h0;
    end else begin
      if (_T_767) begin
        txwm <= _T_769;
      end
    end
    if (reset) begin
      rxwm <= 4'h0;
    end else begin
      if (_T_819) begin
        rxwm <= _T_769;
      end
    end
    if (reset) begin
      nstop <= 1'h0;
    end else begin
      if (_T_740) begin
        nstop <= _T_586;
      end
    end
    if (reset) begin
      ie_rxwm <= 1'h0;
    end else begin
      if (_T_871) begin
        ie_rxwm <= _T_586;
      end
    end
    if (reset) begin
      ie_txwm <= 1'h0;
    end else begin
      if (_T_846) begin
        ie_txwm <= _T_561;
      end
    end
  end
endmodule
module TLMonitor_68( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257122.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257123.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257124.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@257125.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@258252.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@257152.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@257153.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@257154.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@257155.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@257155.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257156.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@257158.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257159.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@257161.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@257162.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@257163.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@257164.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@257165.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@257167.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257168.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@257170.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257171.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@257172.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@257173.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@257174.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257175.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@257176.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257177.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257178.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@257179.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257180.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257181.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@257182.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257183.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257184.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@257185.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257186.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257187.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257188.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257189.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257212.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257215.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@257216.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@257217.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@257218.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@257219.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257224.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257245.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257246.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257252.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257253.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257258.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257260.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257261.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@257266.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257267.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257269.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257270.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@257275.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257277.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257278.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257284.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257338.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257340.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257341.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257364.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@257367.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@257375.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257378.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257379.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257398.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257400.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257401.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257406.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257408.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257409.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257423.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257474.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@257516.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257517.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@257518.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257520.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257521.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257527.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@257558.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257560.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257561.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257575.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@257606.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257608.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257609.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257623.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257673.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257675.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257676.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257693.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257702.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257704.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257705.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257735.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257793.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@257983.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257992.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257993.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257994.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257995.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257996.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258007.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258008.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258009.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258010.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258011.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258012.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258013.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258015.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258017.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258018.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258023.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258025.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258026.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258031.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258033.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258034.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258039.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258041.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258042.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258047.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258049.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258050.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@258057.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258065.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258073.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258074.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258075.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258076.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258077.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258088.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258090.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258091.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258094.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258095.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258097.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258099.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258100.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258113.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258115.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258116.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258121.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258123.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258124.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@258147.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258156.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258166.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258167.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258168.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258169.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258170.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258189.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258190.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258191.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258192.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258193.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258208.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@258211.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@258213.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@258214.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258215.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258217.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258218.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@258210.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258229.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@258231.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@258232.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@258234.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@258236.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@258237.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@258238.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258240.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258241.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@258233.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258247.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@258248.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@258249.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258251.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@258254.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258255.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@258256.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258257.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@258258.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258259.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@258261.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@258262.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@258268.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258272.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257226.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257298.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257381.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257440.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257491.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257541.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257589.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257637.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257707.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257748.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257806.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@258252.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@257152.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@257153.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@257154.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@257155.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@257155.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257156.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@257158.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257159.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@257161.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@257162.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@257163.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@257164.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@257165.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@257167.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257168.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@257170.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257171.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@257172.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@257173.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@257174.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257175.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@257176.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257177.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257178.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@257179.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257180.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257181.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@257182.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257183.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257184.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@257185.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@257186.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257187.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257188.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@257189.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257212.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@257215.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@257216.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@257217.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@257218.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@257219.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257224.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257245.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257246.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257252.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257253.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257258.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257260.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257261.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@257266.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257267.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257269.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257270.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@257275.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257277.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257278.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257284.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257338.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257340.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257341.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257364.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@257367.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@257375.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257378.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257379.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257398.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257400.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257401.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257406.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257408.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257409.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257423.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257474.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@257516.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257517.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@257518.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257520.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257521.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257527.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@257558.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257560.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257561.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257575.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@257606.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257608.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257609.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257623.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@257673.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257675.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257676.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257693.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@257702.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257704.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257705.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257735.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257793.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@257983.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257993.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257994.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@257995.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@257996.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258012.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258013.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258015.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258017.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258018.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258023.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258025.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258026.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258031.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258033.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258034.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258039.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258041.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258042.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258047.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258049.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258050.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@258057.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258065.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258074.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258075.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258076.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258077.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@258094.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258095.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258097.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258099.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258100.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258113.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258115.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258116.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@258121.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258123.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258124.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@258147.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258167.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258168.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258169.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258170.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258190.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258191.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258192.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258193.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258208.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@258211.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@258213.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@258214.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258215.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258217.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258218.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@258210.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258229.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@258231.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@258232.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@258234.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@258236.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@258237.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@258238.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258240.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258241.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@258233.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258247.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@258248.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@258249.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@258254.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258255.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@258256.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258257.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@258258.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258259.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@258261.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@258262.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@258268.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258272.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257226.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257298.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257381.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257440.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257491.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257541.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257589.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257637.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257707.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257748.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257806.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_514 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_527 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_529 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_531 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_533 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_535 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_569 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_582 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_586 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_588 = _RAND_9[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {2{`RANDOM}};
  _T_622 = _RAND_10[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_633 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_654 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_697 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_514 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_518) begin
          _T_514 <= 1'h0;
        end else begin
          _T_514 <= _T_517;
        end
      end
    end
    if (_T_559) begin
      _T_527 <= io_in_a_bits_opcode;
    end
    if (_T_559) begin
      _T_529 <= io_in_a_bits_param;
    end
    if (_T_559) begin
      _T_531 <= io_in_a_bits_size;
    end
    if (_T_559) begin
      _T_533 <= io_in_a_bits_source;
    end
    if (_T_559) begin
      _T_535 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_569 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_573) begin
          _T_569 <= 1'h0;
        end else begin
          _T_569 <= _T_572;
        end
      end
    end
    if (_T_620) begin
      _T_582 <= io_in_d_bits_opcode;
    end
    if (_T_620) begin
      _T_586 <= io_in_d_bits_size;
    end
    if (_T_620) begin
      _T_588 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_622 <= 64'h0;
    end else begin
      _T_622 <= _T_695;
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_654 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_658) begin
          _T_654 <= 1'h0;
        end else begin
          _T_654 <= _T_657;
        end
      end
    end
    if (reset) begin
      _T_697 <= 32'h0;
    end else begin
      if (_T_711) begin
        _T_697 <= 32'h0;
      end else begin
        _T_697 <= _T_708;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257137.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257138.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257209.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257210.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257226.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257227.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257233.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257234.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257240.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257241.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257248.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257249.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257255.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257256.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257263.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257264.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257272.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257273.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257280.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257281.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257298.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257299.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257305.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257306.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257312.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257313.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257320.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257321.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257327.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257328.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257335.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257336.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257343.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257344.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257352.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257353.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257360.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257361.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257381.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257382.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257388.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257389.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257395.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257396.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257403.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257404.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257411.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257412.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257419.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257420.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257440.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257441.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257447.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257448.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257454.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257455.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257462.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257463.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257470.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257471.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257491.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257492.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257498.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257499.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257505.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257506.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257513.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257514.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257523.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257524.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257541.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257542.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257548.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257549.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257555.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257556.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257563.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257564.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257571.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257572.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257589.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257590.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257596.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257597.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257603.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257604.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257611.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257612.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257619.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257620.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257637.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257638.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257644.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257645.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257651.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257652.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257659.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257660.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257667.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257668.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257678.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@257679.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257699.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257700.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257707.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257708.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257715.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257716.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257723.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257724.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257731.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257732.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257741.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257742.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257748.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257749.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257756.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257757.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257764.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257765.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257772.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257773.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257780.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257781.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257789.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257790.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257799.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257800.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257806.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257807.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257814.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257815.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257822.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257823.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257830.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257831.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257839.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257840.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257848.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257849.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257858.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257859.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257866.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257867.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257874.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257875.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257883.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257884.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257893.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257894.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257901.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257902.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257910.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257911.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257919.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257920.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257929.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257930.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257937.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257938.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257945.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257946.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257954.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257955.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257964.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257965.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257972.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257973.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257980.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@257981.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258020.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258021.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258028.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258029.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258036.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258037.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258044.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258045.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258052.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258053.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258102.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258103.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258110.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258111.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258118.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258119.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258126.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258127.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258134.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258135.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258142.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258143.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258220.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258221.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258243.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@258244.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_706) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@258264.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_706) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@258265.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_22( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258277.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258278.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258279.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258280.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
  TLMonitor_68 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258287.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@258327.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@258327.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@258327.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@258327.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@258327.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@258327.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258326.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258326.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258326.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258326.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258326.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258326.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258326.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258326.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258326.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258326.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258289.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258290.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@258323.4]
endmodule
module TLMonitor_69( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258344.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258345.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258346.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258347.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258347.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258347.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258347.4]
  input         io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258347.4]
  input  [7:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258347.4]
  input  [29:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258347.4]
  input         io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258347.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258347.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258347.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258347.4]
  input         io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258347.4]
  input  [7:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@258347.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@259399.4]
  wire  _T_55; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258397.6]
  wire [29:0] _T_57; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@258400.8]
  wire [30:0] _T_58; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258401.8]
  wire [30:0] _T_59; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@258402.8]
  wire [30:0] _T_60; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@258403.8]
  wire  _T_61; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@258404.8]
  wire  _T_66; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258409.8]
  wire  _T_80; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258443.8]
  wire  _T_82; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258445.8]
  wire  _T_83; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258446.8]
  wire  _T_84; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@258451.8]
  wire  _T_85; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258452.8]
  wire  _T_87; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258454.8]
  wire  _T_88; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258455.8]
  wire  _T_89; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@258460.8]
  wire  _T_91; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258462.8]
  wire  _T_92; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258463.8]
  wire  _T_93; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258469.6]
  wire  _T_122; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258523.8]
  wire  _T_124; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258525.8]
  wire  _T_125; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258526.8]
  wire  _T_135; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258549.6]
  wire  _T_136; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258551.8]
  wire  _T_143; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@258558.8]
  wire  _T_146; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258561.8]
  wire  _T_147; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258562.8]
  wire  _T_154; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258581.8]
  wire  _T_156; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258583.8]
  wire  _T_157; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258584.8]
  wire  _T_160; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258591.8]
  wire  _T_161; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258592.8]
  wire  _T_166; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258606.6]
  wire  _T_192; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258654.6]
  wire  _T_220; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258704.6]
  wire  _T_238; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@258735.8]
  wire  _T_240; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258737.8]
  wire  _T_241; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258738.8]
  wire  _T_246; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258752.6]
  wire  _T_264; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@258783.8]
  wire  _T_266; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258785.8]
  wire  _T_267; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258786.8]
  wire  _T_272; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258800.6]
  wire  _T_459; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259160.4]
  reg  _T_461; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259161.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_462; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259162.4]
  wire [1:0] _T_463; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259163.4]
  wire  _T_464; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259164.4]
  wire  _T_465; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259165.4]
  reg [2:0] _T_474; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259176.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_476; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259177.4]
  reg [31:0] _RAND_2;
  reg  _T_478; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259178.4]
  reg [31:0] _RAND_3;
  reg [7:0] _T_480; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259179.4]
  reg [31:0] _RAND_4;
  reg [29:0] _T_482; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259180.4]
  reg [31:0] _RAND_5;
  wire  _T_483; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259181.4]
  wire  _T_484; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259182.4]
  wire  _T_485; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259184.6]
  wire  _T_487; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259186.6]
  wire  _T_488; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259187.6]
  wire  _T_489; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259192.6]
  wire  _T_491; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259194.6]
  wire  _T_492; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259195.6]
  wire  _T_493; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259200.6]
  wire  _T_495; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259202.6]
  wire  _T_496; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259203.6]
  wire  _T_497; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259208.6]
  wire  _T_499; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259210.6]
  wire  _T_500; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259211.6]
  wire  _T_501; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259216.6]
  wire  _T_503; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259218.6]
  wire  _T_504; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259219.6]
  wire  _T_506; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@259226.4]
  wire  _T_507; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259234.4]
  reg  _T_509; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259235.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259236.4]
  wire [1:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259237.4]
  wire  _T_512; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259238.4]
  wire  _T_513; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259239.4]
  reg  _T_526; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259252.4]
  reg [31:0] _RAND_7;
  reg [7:0] _T_528; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259253.4]
  reg [31:0] _RAND_8;
  wire  _T_533; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259256.4]
  wire  _T_534; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259257.4]
  wire  _T_543; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259275.6]
  wire  _T_545; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259277.6]
  wire  _T_546; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259278.6]
  wire  _T_547; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259283.6]
  wire  _T_549; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259285.6]
  wire  _T_550; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259286.6]
  wire  _T_560; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@259309.4]
  reg [255:0] _T_562; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259318.4]
  reg [255:0] _RAND_9;
  reg  _T_565; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259320.4]
  reg [31:0] _RAND_10;
  wire [1:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259321.4]
  wire [1:0] _T_567; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259322.4]
  wire  _T_568; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259323.4]
  wire  _T_569; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259324.4]
  reg  _T_579; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259336.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_580; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259337.4]
  wire [1:0] _T_581; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259338.4]
  wire  _T_582; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259339.4]
  wire  _T_583; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259340.4]
  wire  _T_594; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259355.4]
  wire [255:0] _T_596; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@259358.6]
  wire [255:0] _T_597; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@259360.6]
  wire  _T_598; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@259361.6]
  wire  _T_599; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259362.6]
  wire  _T_601; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259364.6]
  wire  _T_602; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259365.6]
  wire [255:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@259357.4]
  wire  _T_607; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259376.4]
  wire [255:0] _T_611; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@259381.6]
  wire [255:0] _T_612; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@259383.6]
  wire [255:0] _T_613; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@259384.6]
  wire  _T_614; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@259385.6]
  wire  _T_616; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259387.6]
  wire  _T_617; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259388.6]
  wire [255:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@259380.4]
  wire [255:0] _T_618; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259394.4]
  wire [255:0] _T_619; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@259395.4]
  wire [255:0] _T_620; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@259396.4]
  reg [31:0] _T_622; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259398.4]
  reg [31:0] _RAND_12;
  wire  _T_623; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@259401.4]
  wire  _T_624; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259402.4]
  wire  _T_625; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@259403.4]
  wire  _T_626; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259404.4]
  wire  _T_627; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@259405.4]
  wire  _T_628; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@259406.4]
  wire  _T_630; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259408.4]
  wire  _T_631; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259409.4]
  wire [31:0] _T_633; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@259415.4]
  wire  _T_636; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259419.4]
  wire  _GEN_18; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258411.10]
  wire  _GEN_28; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258483.10]
  wire  _GEN_40; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258564.10]
  wire  _GEN_48; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258620.10]
  wire  _GEN_54; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258668.10]
  wire  _GEN_58; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258718.10]
  wire  _GEN_64; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258766.10]
  wire  _GEN_70; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258814.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@259399.4]
    .out(plusarg_reader_out)
  );
  assign _T_55 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258397.6]
  assign _T_57 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@258400.8]
  assign _T_58 = {1'b0,$signed(_T_57)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@258401.8]
  assign _T_59 = $signed(_T_58) & $signed(-31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@258402.8]
  assign _T_60 = $signed(_T_59); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@258403.8]
  assign _T_61 = $signed(_T_60) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@258404.8]
  assign _T_66 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258409.8]
  assign _T_80 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@258443.8]
  assign _T_82 = _T_80 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258445.8]
  assign _T_83 = _T_82 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258446.8]
  assign _T_84 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@258451.8]
  assign _T_85 = _T_84 == 1'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258452.8]
  assign _T_87 = _T_85 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258454.8]
  assign _T_88 = _T_87 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258455.8]
  assign _T_89 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@258460.8]
  assign _T_91 = _T_89 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258462.8]
  assign _T_92 = _T_91 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258463.8]
  assign _T_93 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258469.6]
  assign _T_122 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258523.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258525.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258526.8]
  assign _T_135 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258549.6]
  assign _T_136 = 1'h0 == io_in_a_bits_size; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@258551.8]
  assign _T_143 = _T_136 & _T_61; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@258558.8]
  assign _T_146 = _T_143 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258561.8]
  assign _T_147 = _T_146 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258562.8]
  assign _T_154 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@258581.8]
  assign _T_156 = _T_154 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258583.8]
  assign _T_157 = _T_156 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258584.8]
  assign _T_160 = io_in_a_bits_mask | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258591.8]
  assign _T_161 = _T_160 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258592.8]
  assign _T_166 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258606.6]
  assign _T_192 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258654.6]
  assign _T_220 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258704.6]
  assign _T_238 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@258735.8]
  assign _T_240 = _T_238 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258737.8]
  assign _T_241 = _T_240 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258738.8]
  assign _T_246 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258752.6]
  assign _T_264 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@258783.8]
  assign _T_266 = _T_264 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258785.8]
  assign _T_267 = _T_266 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258786.8]
  assign _T_272 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@258800.6]
  assign _T_459 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259160.4]
  assign _T_462 = _T_461 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259162.4]
  assign _T_463 = $unsigned(_T_462); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259163.4]
  assign _T_464 = _T_463[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259164.4]
  assign _T_465 = _T_461 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259165.4]
  assign _T_483 = _T_465 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259181.4]
  assign _T_484 = io_in_a_valid & _T_483; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259182.4]
  assign _T_485 = io_in_a_bits_opcode == _T_474; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259184.6]
  assign _T_487 = _T_485 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259186.6]
  assign _T_488 = _T_487 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259187.6]
  assign _T_489 = io_in_a_bits_param == _T_476; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259192.6]
  assign _T_491 = _T_489 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259194.6]
  assign _T_492 = _T_491 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259195.6]
  assign _T_493 = io_in_a_bits_size == _T_478; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259200.6]
  assign _T_495 = _T_493 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259202.6]
  assign _T_496 = _T_495 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259203.6]
  assign _T_497 = io_in_a_bits_source == _T_480; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259208.6]
  assign _T_499 = _T_497 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259210.6]
  assign _T_500 = _T_499 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259211.6]
  assign _T_501 = io_in_a_bits_address == _T_482; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259216.6]
  assign _T_503 = _T_501 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259218.6]
  assign _T_504 = _T_503 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259219.6]
  assign _T_506 = _T_459 & _T_465; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@259226.4]
  assign _T_507 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259234.4]
  assign _T_510 = _T_509 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259236.4]
  assign _T_511 = $unsigned(_T_510); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259237.4]
  assign _T_512 = _T_511[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259238.4]
  assign _T_513 = _T_509 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259239.4]
  assign _T_533 = _T_513 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@259256.4]
  assign _T_534 = io_in_d_valid & _T_533; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259257.4]
  assign _T_543 = io_in_d_bits_size == _T_526; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259275.6]
  assign _T_545 = _T_543 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259277.6]
  assign _T_546 = _T_545 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259278.6]
  assign _T_547 = io_in_d_bits_source == _T_528; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@259283.6]
  assign _T_549 = _T_547 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259285.6]
  assign _T_550 = _T_549 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259286.6]
  assign _T_560 = _T_507 & _T_513; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@259309.4]
  assign _T_566 = _T_565 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259321.4]
  assign _T_567 = $unsigned(_T_566); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259322.4]
  assign _T_568 = _T_567[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259323.4]
  assign _T_569 = _T_565 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259324.4]
  assign _T_580 = _T_579 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259337.4]
  assign _T_581 = $unsigned(_T_580); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259338.4]
  assign _T_582 = _T_581[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259339.4]
  assign _T_583 = _T_579 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259340.4]
  assign _T_594 = _T_459 & _T_569; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259355.4]
  assign _T_596 = 256'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@259358.6]
  assign _T_597 = _T_562 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@259360.6]
  assign _T_598 = _T_597[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@259361.6]
  assign _T_599 = _T_598 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259362.6]
  assign _T_601 = _T_599 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259364.6]
  assign _T_602 = _T_601 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259365.6]
  assign _GEN_15 = _T_594 ? _T_596 : 256'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@259357.4]
  assign _T_607 = _T_507 & _T_583; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259376.4]
  assign _T_611 = 256'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@259381.6]
  assign _T_612 = _GEN_15 | _T_562; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@259383.6]
  assign _T_613 = _T_612 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@259384.6]
  assign _T_614 = _T_613[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@259385.6]
  assign _T_616 = _T_614 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259387.6]
  assign _T_617 = _T_616 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259388.6]
  assign _GEN_16 = _T_607 ? _T_611 : 256'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@259380.4]
  assign _T_618 = _T_562 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259394.4]
  assign _T_619 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@259395.4]
  assign _T_620 = _T_618 & _T_619; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@259396.4]
  assign _T_623 = _T_562 != 256'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@259401.4]
  assign _T_624 = _T_623 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259402.4]
  assign _T_625 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@259403.4]
  assign _T_626 = _T_624 | _T_625; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259404.4]
  assign _T_627 = _T_622 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@259405.4]
  assign _T_628 = _T_626 | _T_627; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@259406.4]
  assign _T_630 = _T_628 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259408.4]
  assign _T_631 = _T_630 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259409.4]
  assign _T_633 = _T_622 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@259415.4]
  assign _T_636 = _T_459 | _T_507; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259419.4]
  assign _GEN_18 = io_in_a_valid & _T_55; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258411.10]
  assign _GEN_28 = io_in_a_valid & _T_93; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258483.10]
  assign _GEN_40 = io_in_a_valid & _T_135; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258564.10]
  assign _GEN_48 = io_in_a_valid & _T_166; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258620.10]
  assign _GEN_54 = io_in_a_valid & _T_192; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258668.10]
  assign _GEN_58 = io_in_a_valid & _T_220; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258718.10]
  assign _GEN_64 = io_in_a_valid & _T_246; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258766.10]
  assign _GEN_70 = io_in_a_valid & _T_272; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258814.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_461 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_474 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_476 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_478 = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_480 = _RAND_4[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_482 = _RAND_5[29:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_509 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_526 = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_528 = _RAND_8[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {8{`RANDOM}};
  _T_562 = _RAND_9[255:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_565 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_579 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_622 = _RAND_12[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_461 <= 1'h0;
    end else begin
      if (_T_459) begin
        if (_T_465) begin
          _T_461 <= 1'h0;
        end else begin
          _T_461 <= _T_464;
        end
      end
    end
    if (_T_506) begin
      _T_474 <= io_in_a_bits_opcode;
    end
    if (_T_506) begin
      _T_476 <= io_in_a_bits_param;
    end
    if (_T_506) begin
      _T_478 <= io_in_a_bits_size;
    end
    if (_T_506) begin
      _T_480 <= io_in_a_bits_source;
    end
    if (_T_506) begin
      _T_482 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_509 <= 1'h0;
    end else begin
      if (_T_507) begin
        if (_T_513) begin
          _T_509 <= 1'h0;
        end else begin
          _T_509 <= _T_512;
        end
      end
    end
    if (_T_560) begin
      _T_526 <= io_in_d_bits_size;
    end
    if (_T_560) begin
      _T_528 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_562 <= 256'h0;
    end else begin
      _T_562 <= _T_620;
    end
    if (reset) begin
      _T_565 <= 1'h0;
    end else begin
      if (_T_459) begin
        if (_T_569) begin
          _T_565 <= 1'h0;
        end else begin
          _T_565 <= _T_568;
        end
      end
    end
    if (reset) begin
      _T_579 <= 1'h0;
    end else begin
      if (_T_507) begin
        if (_T_583) begin
          _T_579 <= 1'h0;
        end else begin
          _T_579 <= _T_582;
        end
      end
    end
    if (reset) begin
      _T_622 <= 32'h0;
    end else begin
      if (_T_636) begin
        _T_622 <= 32'h0;
      end else begin
        _T_622 <= _T_633;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@258359.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@258360.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@258394.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@258395.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_18 & _T_66) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258411.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_18 & _T_66) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258412.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_18 & _T_66) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258418.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_18 & _T_66) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258419.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258425.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258426.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258433.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258434.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258440.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258441.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_18 & _T_83) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258448.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_18 & _T_83) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258449.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_18 & _T_88) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258457.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_18 & _T_88) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258458.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_18 & _T_92) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258465.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_18 & _T_92) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258466.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_28 & _T_66) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258483.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_28 & _T_66) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258484.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_28 & _T_66) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258490.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_28 & _T_66) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258491.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258497.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258498.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258505.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258506.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258512.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258513.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_28 & _T_83) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258520.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_28 & _T_83) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258521.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_28 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258528.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_28 & _T_125) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258529.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_28 & _T_88) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258537.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_28 & _T_88) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258538.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_28 & _T_92) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258545.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_28 & _T_92) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258546.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_40 & _T_147) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258564.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_40 & _T_147) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258565.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258571.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258572.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258578.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258579.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_40 & _T_157) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258586.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_40 & _T_157) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258587.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_40 & _T_161) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258594.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_40 & _T_161) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258595.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_40 & _T_92) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258602.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_40 & _T_92) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258603.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_48 & _T_66) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258620.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_48 & _T_66) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258621.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258627.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258628.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258634.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258635.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_48 & _T_157) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258642.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_48 & _T_157) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258643.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_48 & _T_161) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258650.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_48 & _T_161) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258651.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_54 & _T_66) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258668.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_54 & _T_66) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258669.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258675.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258676.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258682.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258683.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_54 & _T_157) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258690.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_54 & _T_157) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258691.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258700.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258701.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_58 & _T_66) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258718.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_58 & _T_66) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258719.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258725.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258726.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258732.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258733.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_58 & _T_241) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258740.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_58 & _T_241) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258741.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_58 & _T_161) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258748.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_58 & _T_161) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258749.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_64 & _T_66) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258766.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_64 & _T_66) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258767.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258773.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258774.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258780.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258781.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_64 & _T_267) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258788.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_64 & _T_267) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258789.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_64 & _T_161) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258796.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_64 & _T_161) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258797.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_70 & _T_66) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258814.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_70 & _T_66) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258815.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258821.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258822.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258828.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258829.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_70 & _T_161) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258836.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_70 & _T_161) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258837.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_70 & _T_92) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258844.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_70 & _T_92) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258845.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@258855.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@258856.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258876.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258877.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258884.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258885.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258892.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258893.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258900.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258901.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258908.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258909.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258918.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258919.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258925.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258926.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258933.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258934.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258941.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258942.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258949.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258950.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258957.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258958.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258966.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258967.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258976.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258977.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258983.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258984.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258991.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258992.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@258999.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259000.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259007.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259008.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259016.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259017.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259025.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259026.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259035.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259036.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259043.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259044.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259051.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259052.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259060.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259061.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259070.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259071.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259078.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259079.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259087.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259088.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259096.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259097.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259106.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259107.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259114.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259115.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259122.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259123.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259131.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259132.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259141.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259142.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259149.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259150.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259157.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259158.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_484 & _T_488) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259189.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_484 & _T_488) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259190.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_484 & _T_492) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259197.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_484 & _T_492) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259198.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_484 & _T_496) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259205.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_484 & _T_496) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259206.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_484 & _T_500) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259213.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_484 & _T_500) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259214.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_484 & _T_504) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259221.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_484 & _T_504) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259222.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259264.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259265.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259272.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259273.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_534 & _T_546) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259280.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_534 & _T_546) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259281.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_534 & _T_550) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259288.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_534 & _T_550) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259289.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259296.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259297.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259304.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259305.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_602) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259367.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_602) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259368.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_607 & _T_617) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259390.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_607 & _T_617) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@259391.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_631) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259411.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_631) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259412.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_23( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259424.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259425.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259426.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
  input         auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
  input  [7:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
  input  [29:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
  input         auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
  output        auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
  output [7:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
  output [7:0]  auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
  output        auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
  output [7:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
  output [29:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
  output        auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
  input         auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
  input  [7:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
  input  [7:0]  auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259427.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
  wire  TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
  wire [7:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
  wire [29:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
  wire  TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
  wire  TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
  wire [7:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
  TLMonitor_69 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259434.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@259474.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@259474.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@259474.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@259474.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@259474.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259473.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259473.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259473.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259473.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259473.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259473.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259473.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259473.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259473.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259436.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259437.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259470.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259470.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259470.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259470.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259470.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259470.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259470.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259470.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259470.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259470.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259470.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259470.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@259470.4]
endmodule
module TLMonitor_70( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259545.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259546.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259547.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259548.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259548.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259548.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259548.4]
  input         io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259548.4]
  input  [7:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259548.4]
  input  [29:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259548.4]
  input         io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259548.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259548.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259548.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259548.4]
  input         io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259548.4]
  input  [7:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@259548.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@260600.4]
  wire  _T_55; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259598.6]
  wire [29:0] _T_57; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@259601.8]
  wire [30:0] _T_58; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259602.8]
  wire [30:0] _T_59; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@259603.8]
  wire [30:0] _T_60; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@259604.8]
  wire  _T_61; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@259605.8]
  wire  _T_66; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259610.8]
  wire  _T_80; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259644.8]
  wire  _T_82; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259646.8]
  wire  _T_83; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259647.8]
  wire  _T_84; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@259652.8]
  wire  _T_85; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259653.8]
  wire  _T_87; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259655.8]
  wire  _T_88; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259656.8]
  wire  _T_89; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@259661.8]
  wire  _T_91; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259663.8]
  wire  _T_92; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259664.8]
  wire  _T_93; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259670.6]
  wire  _T_122; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259724.8]
  wire  _T_124; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259726.8]
  wire  _T_125; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259727.8]
  wire  _T_135; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259750.6]
  wire  _T_136; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@259752.8]
  wire  _T_143; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@259759.8]
  wire  _T_146; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259762.8]
  wire  _T_147; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259763.8]
  wire  _T_154; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259782.8]
  wire  _T_156; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259784.8]
  wire  _T_157; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259785.8]
  wire  _T_160; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259792.8]
  wire  _T_161; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259793.8]
  wire  _T_166; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259807.6]
  wire  _T_192; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259855.6]
  wire  _T_220; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259905.6]
  wire  _T_238; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@259936.8]
  wire  _T_240; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259938.8]
  wire  _T_241; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259939.8]
  wire  _T_246; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259953.6]
  wire  _T_264; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@259984.8]
  wire  _T_266; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259986.8]
  wire  _T_267; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259987.8]
  wire  _T_272; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260001.6]
  wire  _T_459; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260361.4]
  reg  _T_461; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260362.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_462; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260363.4]
  wire [1:0] _T_463; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260364.4]
  wire  _T_464; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260365.4]
  wire  _T_465; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260366.4]
  reg [2:0] _T_474; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260377.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_476; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260378.4]
  reg [31:0] _RAND_2;
  reg  _T_478; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260379.4]
  reg [31:0] _RAND_3;
  reg [7:0] _T_480; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260380.4]
  reg [31:0] _RAND_4;
  reg [29:0] _T_482; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260381.4]
  reg [31:0] _RAND_5;
  wire  _T_483; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260382.4]
  wire  _T_484; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@260383.4]
  wire  _T_485; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260385.6]
  wire  _T_487; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260387.6]
  wire  _T_488; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260388.6]
  wire  _T_489; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260393.6]
  wire  _T_491; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260395.6]
  wire  _T_492; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260396.6]
  wire  _T_493; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260401.6]
  wire  _T_495; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260403.6]
  wire  _T_496; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260404.6]
  wire  _T_497; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260409.6]
  wire  _T_499; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260411.6]
  wire  _T_500; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260412.6]
  wire  _T_501; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260417.6]
  wire  _T_503; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260419.6]
  wire  _T_504; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260420.6]
  wire  _T_506; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@260427.4]
  wire  _T_507; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260435.4]
  reg  _T_509; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260436.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_510; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260437.4]
  wire [1:0] _T_511; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260438.4]
  wire  _T_512; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260439.4]
  wire  _T_513; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260440.4]
  reg  _T_526; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260453.4]
  reg [31:0] _RAND_7;
  reg [7:0] _T_528; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260454.4]
  reg [31:0] _RAND_8;
  wire  _T_533; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260457.4]
  wire  _T_534; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@260458.4]
  wire  _T_543; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260476.6]
  wire  _T_545; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260478.6]
  wire  _T_546; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260479.6]
  wire  _T_547; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260484.6]
  wire  _T_549; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260486.6]
  wire  _T_550; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260487.6]
  wire  _T_560; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@260510.4]
  reg [255:0] _T_562; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260519.4]
  reg [255:0] _RAND_9;
  reg  _T_565; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260521.4]
  reg [31:0] _RAND_10;
  wire [1:0] _T_566; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260522.4]
  wire [1:0] _T_567; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260523.4]
  wire  _T_568; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260524.4]
  wire  _T_569; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260525.4]
  reg  _T_579; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260537.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_580; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260538.4]
  wire [1:0] _T_581; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260539.4]
  wire  _T_582; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260540.4]
  wire  _T_583; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260541.4]
  wire  _T_594; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260556.4]
  wire [255:0] _T_596; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@260559.6]
  wire [255:0] _T_597; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@260561.6]
  wire  _T_598; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@260562.6]
  wire  _T_599; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260563.6]
  wire  _T_601; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260565.6]
  wire  _T_602; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260566.6]
  wire [255:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@260558.4]
  wire  _T_607; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260577.4]
  wire [255:0] _T_611; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@260582.6]
  wire [255:0] _T_612; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@260584.6]
  wire [255:0] _T_613; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@260585.6]
  wire  _T_614; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@260586.6]
  wire  _T_616; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260588.6]
  wire  _T_617; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260589.6]
  wire [255:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@260581.4]
  wire [255:0] _T_618; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260595.4]
  wire [255:0] _T_619; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260596.4]
  wire [255:0] _T_620; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@260597.4]
  reg [31:0] _T_622; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260599.4]
  reg [31:0] _RAND_12;
  wire  _T_623; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@260602.4]
  wire  _T_624; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260603.4]
  wire  _T_625; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@260604.4]
  wire  _T_626; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260605.4]
  wire  _T_627; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@260606.4]
  wire  _T_628; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@260607.4]
  wire  _T_630; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260609.4]
  wire  _T_631; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260610.4]
  wire [31:0] _T_633; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260616.4]
  wire  _T_636; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260620.4]
  wire  _GEN_18; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259612.10]
  wire  _GEN_28; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259684.10]
  wire  _GEN_40; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259765.10]
  wire  _GEN_48; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259821.10]
  wire  _GEN_54; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259869.10]
  wire  _GEN_58; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259919.10]
  wire  _GEN_64; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259967.10]
  wire  _GEN_70; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260015.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@260600.4]
    .out(plusarg_reader_out)
  );
  assign _T_55 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259598.6]
  assign _T_57 = io_in_a_bits_address ^ 30'h20000000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@259601.8]
  assign _T_58 = {1'b0,$signed(_T_57)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@259602.8]
  assign _T_59 = $signed(_T_58) & $signed(-31'sh20000000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@259603.8]
  assign _T_60 = $signed(_T_59); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@259604.8]
  assign _T_61 = $signed(_T_60) == $signed(31'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@259605.8]
  assign _T_66 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259610.8]
  assign _T_80 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@259644.8]
  assign _T_82 = _T_80 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259646.8]
  assign _T_83 = _T_82 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259647.8]
  assign _T_84 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@259652.8]
  assign _T_85 = _T_84 == 1'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259653.8]
  assign _T_87 = _T_85 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259655.8]
  assign _T_88 = _T_87 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259656.8]
  assign _T_89 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@259661.8]
  assign _T_91 = _T_89 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259663.8]
  assign _T_92 = _T_91 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259664.8]
  assign _T_93 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259670.6]
  assign _T_122 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259724.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259726.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259727.8]
  assign _T_135 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259750.6]
  assign _T_136 = 1'h0 == io_in_a_bits_size; // @[Parameters.scala 89:48:shc.marmotcaravel.MarmotCaravelConfig.fir@259752.8]
  assign _T_143 = _T_136 & _T_61; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@259759.8]
  assign _T_146 = _T_143 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259762.8]
  assign _T_147 = _T_146 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259763.8]
  assign _T_154 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@259782.8]
  assign _T_156 = _T_154 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259784.8]
  assign _T_157 = _T_156 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259785.8]
  assign _T_160 = io_in_a_bits_mask | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259792.8]
  assign _T_161 = _T_160 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259793.8]
  assign _T_166 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259807.6]
  assign _T_192 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259855.6]
  assign _T_220 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259905.6]
  assign _T_238 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@259936.8]
  assign _T_240 = _T_238 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259938.8]
  assign _T_241 = _T_240 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259939.8]
  assign _T_246 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@259953.6]
  assign _T_264 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@259984.8]
  assign _T_266 = _T_264 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259986.8]
  assign _T_267 = _T_266 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259987.8]
  assign _T_272 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260001.6]
  assign _T_459 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260361.4]
  assign _T_462 = _T_461 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260363.4]
  assign _T_463 = $unsigned(_T_462); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260364.4]
  assign _T_464 = _T_463[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260365.4]
  assign _T_465 = _T_461 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260366.4]
  assign _T_483 = _T_465 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260382.4]
  assign _T_484 = io_in_a_valid & _T_483; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@260383.4]
  assign _T_485 = io_in_a_bits_opcode == _T_474; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260385.6]
  assign _T_487 = _T_485 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260387.6]
  assign _T_488 = _T_487 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260388.6]
  assign _T_489 = io_in_a_bits_param == _T_476; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260393.6]
  assign _T_491 = _T_489 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260395.6]
  assign _T_492 = _T_491 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260396.6]
  assign _T_493 = io_in_a_bits_size == _T_478; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260401.6]
  assign _T_495 = _T_493 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260403.6]
  assign _T_496 = _T_495 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260404.6]
  assign _T_497 = io_in_a_bits_source == _T_480; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260409.6]
  assign _T_499 = _T_497 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260411.6]
  assign _T_500 = _T_499 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260412.6]
  assign _T_501 = io_in_a_bits_address == _T_482; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260417.6]
  assign _T_503 = _T_501 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260419.6]
  assign _T_504 = _T_503 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260420.6]
  assign _T_506 = _T_459 & _T_465; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@260427.4]
  assign _T_507 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260435.4]
  assign _T_510 = _T_509 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260437.4]
  assign _T_511 = $unsigned(_T_510); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260438.4]
  assign _T_512 = _T_511[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260439.4]
  assign _T_513 = _T_509 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260440.4]
  assign _T_533 = _T_513 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@260457.4]
  assign _T_534 = io_in_d_valid & _T_533; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@260458.4]
  assign _T_543 = io_in_d_bits_size == _T_526; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260476.6]
  assign _T_545 = _T_543 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260478.6]
  assign _T_546 = _T_545 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260479.6]
  assign _T_547 = io_in_d_bits_source == _T_528; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260484.6]
  assign _T_549 = _T_547 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260486.6]
  assign _T_550 = _T_549 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260487.6]
  assign _T_560 = _T_507 & _T_513; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@260510.4]
  assign _T_566 = _T_565 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260522.4]
  assign _T_567 = $unsigned(_T_566); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260523.4]
  assign _T_568 = _T_567[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260524.4]
  assign _T_569 = _T_565 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260525.4]
  assign _T_580 = _T_579 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260538.4]
  assign _T_581 = $unsigned(_T_580); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260539.4]
  assign _T_582 = _T_581[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260540.4]
  assign _T_583 = _T_579 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260541.4]
  assign _T_594 = _T_459 & _T_569; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260556.4]
  assign _T_596 = 256'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@260559.6]
  assign _T_597 = _T_562 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@260561.6]
  assign _T_598 = _T_597[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@260562.6]
  assign _T_599 = _T_598 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260563.6]
  assign _T_601 = _T_599 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260565.6]
  assign _T_602 = _T_601 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260566.6]
  assign _GEN_15 = _T_594 ? _T_596 : 256'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@260558.4]
  assign _T_607 = _T_507 & _T_583; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260577.4]
  assign _T_611 = 256'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@260582.6]
  assign _T_612 = _GEN_15 | _T_562; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@260584.6]
  assign _T_613 = _T_612 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@260585.6]
  assign _T_614 = _T_613[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@260586.6]
  assign _T_616 = _T_614 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260588.6]
  assign _T_617 = _T_616 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260589.6]
  assign _GEN_16 = _T_607 ? _T_611 : 256'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@260581.4]
  assign _T_618 = _T_562 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260595.4]
  assign _T_619 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260596.4]
  assign _T_620 = _T_618 & _T_619; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@260597.4]
  assign _T_623 = _T_562 != 256'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@260602.4]
  assign _T_624 = _T_623 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260603.4]
  assign _T_625 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@260604.4]
  assign _T_626 = _T_624 | _T_625; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260605.4]
  assign _T_627 = _T_622 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@260606.4]
  assign _T_628 = _T_626 | _T_627; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@260607.4]
  assign _T_630 = _T_628 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260609.4]
  assign _T_631 = _T_630 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260610.4]
  assign _T_633 = _T_622 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260616.4]
  assign _T_636 = _T_459 | _T_507; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260620.4]
  assign _GEN_18 = io_in_a_valid & _T_55; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259612.10]
  assign _GEN_28 = io_in_a_valid & _T_93; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259684.10]
  assign _GEN_40 = io_in_a_valid & _T_135; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259765.10]
  assign _GEN_48 = io_in_a_valid & _T_166; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259821.10]
  assign _GEN_54 = io_in_a_valid & _T_192; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259869.10]
  assign _GEN_58 = io_in_a_valid & _T_220; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259919.10]
  assign _GEN_64 = io_in_a_valid & _T_246; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259967.10]
  assign _GEN_70 = io_in_a_valid & _T_272; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260015.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_461 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_474 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_476 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_478 = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_480 = _RAND_4[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_482 = _RAND_5[29:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_509 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_526 = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_528 = _RAND_8[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {8{`RANDOM}};
  _T_562 = _RAND_9[255:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  _T_565 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_579 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_622 = _RAND_12[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_461 <= 1'h0;
    end else begin
      if (_T_459) begin
        if (_T_465) begin
          _T_461 <= 1'h0;
        end else begin
          _T_461 <= _T_464;
        end
      end
    end
    if (_T_506) begin
      _T_474 <= io_in_a_bits_opcode;
    end
    if (_T_506) begin
      _T_476 <= io_in_a_bits_param;
    end
    if (_T_506) begin
      _T_478 <= io_in_a_bits_size;
    end
    if (_T_506) begin
      _T_480 <= io_in_a_bits_source;
    end
    if (_T_506) begin
      _T_482 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_509 <= 1'h0;
    end else begin
      if (_T_507) begin
        if (_T_513) begin
          _T_509 <= 1'h0;
        end else begin
          _T_509 <= _T_512;
        end
      end
    end
    if (_T_560) begin
      _T_526 <= io_in_d_bits_size;
    end
    if (_T_560) begin
      _T_528 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_562 <= 256'h0;
    end else begin
      _T_562 <= _T_620;
    end
    if (reset) begin
      _T_565 <= 1'h0;
    end else begin
      if (_T_459) begin
        if (_T_569) begin
          _T_565 <= 1'h0;
        end else begin
          _T_565 <= _T_568;
        end
      end
    end
    if (reset) begin
      _T_579 <= 1'h0;
    end else begin
      if (_T_507) begin
        if (_T_583) begin
          _T_579 <= 1'h0;
        end else begin
          _T_579 <= _T_582;
        end
      end
    end
    if (reset) begin
      _T_622 <= 32'h0;
    end else begin
      if (_T_636) begin
        _T_622 <= 32'h0;
      end else begin
        _T_622 <= _T_633;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259560.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259561.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259595.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@259596.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_18 & _T_66) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259612.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_18 & _T_66) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259613.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_18 & _T_66) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259619.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_18 & _T_66) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259620.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259626.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259627.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259634.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259635.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259641.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259642.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_18 & _T_83) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259649.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_18 & _T_83) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259650.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_18 & _T_88) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259658.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_18 & _T_88) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259659.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_18 & _T_92) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259666.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_18 & _T_92) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259667.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_28 & _T_66) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259684.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_28 & _T_66) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259685.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_28 & _T_66) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259691.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_28 & _T_66) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259692.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259698.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259699.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259706.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259707.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259713.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259714.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_28 & _T_83) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259721.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_28 & _T_83) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259722.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_28 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259729.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_28 & _T_125) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259730.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_28 & _T_88) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259738.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_28 & _T_88) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259739.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_28 & _T_92) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259746.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_28 & _T_92) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259747.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_40 & _T_147) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259765.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_40 & _T_147) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259766.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259772.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259773.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259779.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259780.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_40 & _T_157) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259787.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_40 & _T_157) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259788.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_40 & _T_161) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259795.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_40 & _T_161) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259796.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_40 & _T_92) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259803.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_40 & _T_92) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259804.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_48 & _T_66) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259821.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_48 & _T_66) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259822.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259828.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259829.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259835.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259836.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_48 & _T_157) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259843.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_48 & _T_157) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259844.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_48 & _T_161) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259851.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_48 & _T_161) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259852.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_54 & _T_66) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259869.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_54 & _T_66) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259870.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259876.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259877.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259883.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259884.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_54 & _T_157) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259891.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_54 & _T_157) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259892.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259901.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259902.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_58 & _T_66) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259919.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_58 & _T_66) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259920.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259926.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259927.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259933.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259934.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_58 & _T_241) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259941.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_58 & _T_241) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259942.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_58 & _T_161) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259949.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_58 & _T_161) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259950.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_64 & _T_66) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259967.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_64 & _T_66) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259968.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259974.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259975.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259981.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259982.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_64 & _T_267) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259989.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_64 & _T_267) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259990.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_64 & _T_161) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259997.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_64 & _T_161) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@259998.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_70 & _T_66) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260015.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_70 & _T_66) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260016.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260022.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260023.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260029.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260030.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_70 & _T_161) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260037.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_70 & _T_161) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260038.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_70 & _T_92) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260045.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_70 & _T_92) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260046.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260056.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260057.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260077.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260078.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260085.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260086.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260093.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260094.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260101.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260102.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260109.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260110.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260119.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260120.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260126.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260127.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260134.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260135.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260142.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260143.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260150.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260151.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260158.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260159.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260167.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260168.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260177.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260178.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260184.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260185.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260192.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260193.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260200.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260201.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260208.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260209.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260217.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260218.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260226.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260227.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260236.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260237.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260244.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260245.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260252.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260253.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260261.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260262.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260271.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260272.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260279.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260280.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260288.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260289.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260297.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260298.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260307.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260308.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260315.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260316.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260323.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260324.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260332.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260333.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260342.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260343.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260350.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260351.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260358.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260359.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_484 & _T_488) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260390.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_484 & _T_488) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260391.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_484 & _T_492) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260398.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_484 & _T_492) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260399.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_484 & _T_496) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260406.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_484 & _T_496) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260407.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_484 & _T_500) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260414.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_484 & _T_500) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260415.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_484 & _T_504) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260422.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_484 & _T_504) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260423.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260465.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260466.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260473.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260474.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_534 & _T_546) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260481.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_534 & _T_546) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260482.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_534 & _T_550) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260489.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_534 & _T_550) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260490.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260497.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260498.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260505.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260506.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_602) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260568.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_602) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260569.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_607 & _T_617) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260591.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_607 & _T_617) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@260592.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_631) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260612.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_631) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260613.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLMonitor_71( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260632.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260633.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260634.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@260635.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@261762.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@260662.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@260663.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@260664.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@260665.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@260665.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@260666.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@260668.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260669.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@260671.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@260672.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260673.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260674.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@260675.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260677.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260678.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260680.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260681.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260682.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260683.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@260684.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260685.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260686.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260687.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260688.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260689.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260690.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260691.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260692.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260693.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260694.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260695.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260696.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@260697.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@260698.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@260699.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260722.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@260725.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@260726.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@260727.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@260728.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@260729.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260734.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260755.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260756.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260762.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260763.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260768.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260770.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260771.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@260776.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260777.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260779.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260780.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@260785.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260787.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260788.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260794.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260848.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260850.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260851.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260874.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@260877.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@260885.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260888.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260889.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260908.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260910.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260911.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260916.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260918.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260919.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260933.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260984.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@261026.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261027.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@261028.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261030.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261031.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261037.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@261068.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261070.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261071.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261085.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@261116.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261118.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261119.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261133.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261183.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261185.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261186.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261203.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261212.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261214.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261215.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261245.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261303.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261493.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261502.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261503.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261504.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261505.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261506.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261517.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261518.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261519.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261520.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261521.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261522.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261523.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261525.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261527.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261528.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261533.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261535.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261536.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261541.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261543.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261544.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261549.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261551.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261552.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261557.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261559.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261560.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@261567.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261575.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261583.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261584.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261585.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261586.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261587.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261598.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261600.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261601.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261604.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261605.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261607.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261609.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261610.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261623.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261625.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261626.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261631.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261633.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261634.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@261657.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261666.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261676.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261677.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261678.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261679.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261680.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261699.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261700.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261701.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261702.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261703.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261718.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@261721.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@261723.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@261724.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261725.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261727.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261728.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261720.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261739.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@261741.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261742.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@261744.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@261746.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@261747.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@261748.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261750.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261751.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@261743.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261757.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@261758.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@261759.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261761.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@261764.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261765.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@261766.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261767.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@261768.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261769.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261771.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261772.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@261778.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261782.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260736.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260808.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260891.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260950.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261001.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261051.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261099.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261147.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261217.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261258.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261316.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@261762.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@260662.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@260663.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@260664.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@260665.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@260665.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@260666.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@260668.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260669.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@260671.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@260672.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260673.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260674.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@260675.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260677.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260678.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260680.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260681.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260682.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@260683.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@260684.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260685.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260686.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260687.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260688.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260689.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260690.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260691.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260692.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260693.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260694.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@260695.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@260696.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@260697.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@260698.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@260699.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260722.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10014000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@260725.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@260726.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@260727.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@260728.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@260729.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260734.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260755.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260756.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260762.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260763.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260768.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260770.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260771.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@260776.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260777.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260779.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260780.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@260785.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260787.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260788.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260794.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260848.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260850.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260851.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260874.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@260877.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@260885.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260888.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260889.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@260908.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260910.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260911.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@260916.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260918.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260919.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260933.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@260984.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@261026.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261027.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@261028.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261030.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261031.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261037.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@261068.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261070.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261071.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261085.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@261116.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261118.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261119.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261133.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261183.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261185.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261186.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261203.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261212.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261214.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261215.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261245.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261303.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261493.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261503.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261504.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261505.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261506.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261522.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261523.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261525.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261527.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261528.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261533.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261535.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261536.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261541.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261543.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261544.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261549.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261551.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261552.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261557.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261559.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261560.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@261567.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261575.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261584.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261585.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261586.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261587.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@261604.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261605.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261607.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261609.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261610.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261623.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261625.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261626.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@261631.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261633.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261634.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@261657.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261677.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261678.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261679.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261680.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261700.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261701.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261702.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@261703.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261718.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@261721.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@261723.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@261724.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261725.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261727.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261728.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261720.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261739.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@261741.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261742.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@261744.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@261746.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@261747.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@261748.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261750.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261751.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@261743.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261757.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@261758.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@261759.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@261764.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261765.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@261766.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261767.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@261768.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261769.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261771.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261772.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@261778.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261782.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260736.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260808.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260891.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260950.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261001.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261051.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261099.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261147.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261217.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261258.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261316.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_514 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_527 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_529 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_531 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_533 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_535 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_569 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_582 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_586 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_588 = _RAND_9[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {2{`RANDOM}};
  _T_622 = _RAND_10[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_633 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_654 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_697 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_514 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_518) begin
          _T_514 <= 1'h0;
        end else begin
          _T_514 <= _T_517;
        end
      end
    end
    if (_T_559) begin
      _T_527 <= io_in_a_bits_opcode;
    end
    if (_T_559) begin
      _T_529 <= io_in_a_bits_param;
    end
    if (_T_559) begin
      _T_531 <= io_in_a_bits_size;
    end
    if (_T_559) begin
      _T_533 <= io_in_a_bits_source;
    end
    if (_T_559) begin
      _T_535 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_569 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_573) begin
          _T_569 <= 1'h0;
        end else begin
          _T_569 <= _T_572;
        end
      end
    end
    if (_T_620) begin
      _T_582 <= io_in_d_bits_opcode;
    end
    if (_T_620) begin
      _T_586 <= io_in_d_bits_size;
    end
    if (_T_620) begin
      _T_588 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_622 <= 64'h0;
    end else begin
      _T_622 <= _T_695;
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_654 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_658) begin
          _T_654 <= 1'h0;
        end else begin
          _T_654 <= _T_657;
        end
      end
    end
    if (reset) begin
      _T_697 <= 32'h0;
    end else begin
      if (_T_711) begin
        _T_697 <= 32'h0;
      end else begin
        _T_697 <= _T_708;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260647.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260648.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260719.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@260720.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260736.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260737.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260743.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260744.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260750.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260751.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260758.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260759.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260765.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260766.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260773.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260774.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260782.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260783.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260790.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260791.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260808.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260809.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260815.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260816.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260822.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260823.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260830.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260831.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260837.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260838.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260845.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260846.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260853.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260854.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260862.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260863.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260870.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260871.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260891.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260892.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260898.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260899.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260905.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260906.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260913.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260914.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260921.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260922.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260929.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260930.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260950.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260951.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260957.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260958.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260964.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260965.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260972.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260973.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260980.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@260981.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261001.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261002.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261008.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261009.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261015.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261016.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261023.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261024.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261033.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261034.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261051.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261052.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261058.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261059.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261065.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261066.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261073.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261074.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261081.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261082.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261099.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261100.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261106.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261107.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261113.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261114.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261121.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261122.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261129.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261130.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261147.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261148.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261154.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261155.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261161.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261162.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261169.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261170.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261177.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261178.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261188.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261189.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261209.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261210.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261217.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261218.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261225.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261226.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261233.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261234.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261241.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261242.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261251.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261252.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261258.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261259.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261266.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261267.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261274.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261275.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261282.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261283.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261290.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261291.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261299.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261300.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261309.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261310.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261316.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261317.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261324.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261325.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261332.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261333.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261340.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261341.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261349.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261350.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261358.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261359.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261368.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261369.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261376.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261377.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261384.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261385.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261393.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261394.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261403.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261404.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261411.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261412.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261420.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261421.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261429.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261430.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261439.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261440.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261447.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261448.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261455.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261456.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261464.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261465.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261474.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261475.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261482.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261483.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261490.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261491.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261530.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261531.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261538.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261539.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261546.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261547.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261554.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261555.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261562.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261563.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261612.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261613.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261620.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261621.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261628.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261629.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261636.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261637.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261644.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261645.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261652.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261653.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261730.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261731.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261753.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@261754.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_706) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261774.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_706) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@261775.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SPIFIFO( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261897.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261898.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261899.4]
  input  [1:0] io_ctrl_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
  input        io_ctrl_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
  input        io_ctrl_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
  input  [3:0] io_ctrl_fmt_len, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
  input  [1:0] io_ctrl_cs_mode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
  input  [3:0] io_ctrl_wm_tx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
  input  [3:0] io_ctrl_wm_rx, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
  input        io_link_tx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
  output       io_link_tx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
  output [7:0] io_link_tx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
  input        io_link_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
  input  [7:0] io_link_rx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
  output [7:0] io_link_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
  output [1:0] io_link_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
  output       io_link_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
  output       io_link_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
  output       io_link_cs_set, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
  output       io_link_cs_clear, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
  output       io_link_lock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
  output       io_tx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
  input        io_tx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
  input  [7:0] io_tx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
  input        io_rx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
  output       io_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
  output [7:0] io_rx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
  output       io_ip_txwm, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
  output       io_ip_rxwm // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261900.4]
);
  wire  txq_clock; // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261905.4]
  wire  txq_reset; // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261905.4]
  wire  txq_io_enq_ready; // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261905.4]
  wire  txq_io_enq_valid; // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261905.4]
  wire [7:0] txq_io_enq_bits; // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261905.4]
  wire  txq_io_deq_ready; // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261905.4]
  wire  txq_io_deq_valid; // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261905.4]
  wire [7:0] txq_io_deq_bits; // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261905.4]
  wire [3:0] txq_io_count; // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261905.4]
  wire  rxq_clock; // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261909.4]
  wire  rxq_reset; // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261909.4]
  wire  rxq_io_enq_ready; // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261909.4]
  wire  rxq_io_enq_valid; // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261909.4]
  wire [7:0] rxq_io_enq_bits; // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261909.4]
  wire  rxq_io_deq_ready; // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261909.4]
  wire  rxq_io_deq_valid; // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261909.4]
  wire [7:0] rxq_io_deq_bits; // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261909.4]
  wire [3:0] rxq_io_count; // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261909.4]
  wire  fire_tx; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@261915.4]
  reg  rxen; // @[SPIFIFO.scala 29:17:shc.marmotcaravel.MarmotCaravelConfig.fir@261916.4]
  reg [31:0] _RAND_0;
  wire  _T_31; // @[SPIFIFO.scala 39:32:shc.marmotcaravel.MarmotCaravelConfig.fir@261925.6]
  wire  _T_32; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261928.4]
  wire  _T_33; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261929.4]
  wire  _T_34; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261930.4]
  wire [2:0] _T_36; // @[SPIFIFO.scala 43:73:shc.marmotcaravel.MarmotCaravelConfig.fir@261932.4]
  wire [1:0] _T_37; // @[SPIFIFO.scala 43:73:shc.marmotcaravel.MarmotCaravelConfig.fir@261933.4]
  wire [3:0] _T_39; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261934.4]
  wire [2:0] _T_40; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261935.4]
  wire [1:0] _T_41; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261936.4]
  wire [3:0] _GEN_2; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261937.4]
  wire [3:0] _T_42; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261937.4]
  wire [3:0] _GEN_3; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261938.4]
  wire [3:0] cnt_quot; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261938.4]
  wire  _T_45; // @[SPIFIFO.scala 44:83:shc.marmotcaravel.MarmotCaravelConfig.fir@261941.4]
  wire [1:0] _T_47; // @[SPIFIFO.scala 44:83:shc.marmotcaravel.MarmotCaravelConfig.fir@261943.4]
  wire  _T_48; // @[SPIFIFO.scala 44:92:shc.marmotcaravel.MarmotCaravelConfig.fir@261944.4]
  wire  _T_51; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261946.4]
  wire  _T_52; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261947.4]
  wire  cnt_rmdr; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261949.4]
  wire [3:0] _GEN_4; // @[SPIFIFO.scala 46:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261953.4]
  wire [3:0] _T_57; // @[SPIFIFO.scala 46:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261954.4]
  reg [1:0] cs_mode; // @[SPIFIFO.scala 48:24:shc.marmotcaravel.MarmotCaravelConfig.fir@261956.4]
  reg [31:0] _RAND_1;
  wire  cs_mode_hold; // @[SPIFIFO.scala 49:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261958.4]
  wire  cs_mode_off; // @[SPIFIFO.scala 50:30:shc.marmotcaravel.MarmotCaravelConfig.fir@261959.4]
  wire  cs_update; // @[SPIFIFO.scala 51:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261960.4]
  wire  _T_59; // @[SPIFIFO.scala 52:33:shc.marmotcaravel.MarmotCaravelConfig.fir@261961.4]
  wire  cs_clear; // @[SPIFIFO.scala 52:18:shc.marmotcaravel.MarmotCaravelConfig.fir@261962.4]
  wire  _T_61; // @[SPIFIFO.scala 55:45:shc.marmotcaravel.MarmotCaravelConfig.fir@261965.4]
  Queue_14 txq ( // @[SPIFIFO.scala 21:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261905.4]
    .clock(txq_clock),
    .reset(txq_reset),
    .io_enq_ready(txq_io_enq_ready),
    .io_enq_valid(txq_io_enq_valid),
    .io_enq_bits(txq_io_enq_bits),
    .io_deq_ready(txq_io_deq_ready),
    .io_deq_valid(txq_io_deq_valid),
    .io_deq_bits(txq_io_deq_bits),
    .io_count(txq_io_count)
  );
  Queue_14 rxq ( // @[SPIFIFO.scala 22:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261909.4]
    .clock(rxq_clock),
    .reset(rxq_reset),
    .io_enq_ready(rxq_io_enq_ready),
    .io_enq_valid(rxq_io_enq_valid),
    .io_enq_bits(rxq_io_enq_bits),
    .io_deq_ready(rxq_io_deq_ready),
    .io_deq_valid(rxq_io_deq_valid),
    .io_deq_bits(rxq_io_deq_bits),
    .io_count(rxq_io_count)
  );
  assign fire_tx = io_link_tx_ready & io_link_tx_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@261915.4]
  assign _T_31 = io_link_fmt_iodir == 1'h0; // @[SPIFIFO.scala 39:32:shc.marmotcaravel.MarmotCaravelConfig.fir@261925.6]
  assign _T_32 = 2'h0 == io_link_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261928.4]
  assign _T_33 = 2'h1 == io_link_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261929.4]
  assign _T_34 = 2'h2 == io_link_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261930.4]
  assign _T_36 = io_ctrl_fmt_len[3:1]; // @[SPIFIFO.scala 43:73:shc.marmotcaravel.MarmotCaravelConfig.fir@261932.4]
  assign _T_37 = io_ctrl_fmt_len[3:2]; // @[SPIFIFO.scala 43:73:shc.marmotcaravel.MarmotCaravelConfig.fir@261933.4]
  assign _T_39 = _T_32 ? io_ctrl_fmt_len : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261934.4]
  assign _T_40 = _T_33 ? _T_36 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261935.4]
  assign _T_41 = _T_34 ? _T_37 : 2'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261936.4]
  assign _GEN_2 = {{1'd0}, _T_40}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261937.4]
  assign _T_42 = _T_39 | _GEN_2; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261937.4]
  assign _GEN_3 = {{2'd0}, _T_41}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261938.4]
  assign cnt_quot = _T_42 | _GEN_3; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261938.4]
  assign _T_45 = io_ctrl_fmt_len[0]; // @[SPIFIFO.scala 44:83:shc.marmotcaravel.MarmotCaravelConfig.fir@261941.4]
  assign _T_47 = io_ctrl_fmt_len[1:0]; // @[SPIFIFO.scala 44:83:shc.marmotcaravel.MarmotCaravelConfig.fir@261943.4]
  assign _T_48 = _T_47 != 2'h0; // @[SPIFIFO.scala 44:92:shc.marmotcaravel.MarmotCaravelConfig.fir@261944.4]
  assign _T_51 = _T_33 ? _T_45 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261946.4]
  assign _T_52 = _T_34 ? _T_48 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261947.4]
  assign cnt_rmdr = _T_51 | _T_52; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@261949.4]
  assign _GEN_4 = {{3'd0}, cnt_rmdr}; // @[SPIFIFO.scala 46:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261953.4]
  assign _T_57 = cnt_quot + _GEN_4; // @[SPIFIFO.scala 46:27:shc.marmotcaravel.MarmotCaravelConfig.fir@261954.4]
  assign cs_mode_hold = cs_mode == 2'h2; // @[SPIFIFO.scala 49:31:shc.marmotcaravel.MarmotCaravelConfig.fir@261958.4]
  assign cs_mode_off = cs_mode == 2'h3; // @[SPIFIFO.scala 50:30:shc.marmotcaravel.MarmotCaravelConfig.fir@261959.4]
  assign cs_update = cs_mode != io_ctrl_cs_mode; // @[SPIFIFO.scala 51:28:shc.marmotcaravel.MarmotCaravelConfig.fir@261960.4]
  assign _T_59 = cs_mode_hold | cs_mode_off; // @[SPIFIFO.scala 52:33:shc.marmotcaravel.MarmotCaravelConfig.fir@261961.4]
  assign cs_clear = _T_59 == 1'h0; // @[SPIFIFO.scala 52:18:shc.marmotcaravel.MarmotCaravelConfig.fir@261962.4]
  assign _T_61 = fire_tx & cs_clear; // @[SPIFIFO.scala 55:45:shc.marmotcaravel.MarmotCaravelConfig.fir@261965.4]
  assign io_link_tx_valid = txq_io_deq_valid; // @[SPIFIFO.scala 25:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261914.4]
  assign io_link_tx_bits = txq_io_deq_bits; // @[SPIFIFO.scala 25:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261914.4]
  assign io_link_cnt = {{4'd0}, _T_57}; // @[SPIFIFO.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@261955.4]
  assign io_link_fmt_proto = io_ctrl_fmt_proto; // @[SPIFIFO.scala 45:15:shc.marmotcaravel.MarmotCaravelConfig.fir@261952.4]
  assign io_link_fmt_endian = io_ctrl_fmt_endian; // @[SPIFIFO.scala 45:15:shc.marmotcaravel.MarmotCaravelConfig.fir@261952.4]
  assign io_link_fmt_iodir = io_ctrl_fmt_iodir; // @[SPIFIFO.scala 45:15:shc.marmotcaravel.MarmotCaravelConfig.fir@261952.4]
  assign io_link_cs_set = cs_mode_off == 1'h0; // @[SPIFIFO.scala 54:18:shc.marmotcaravel.MarmotCaravelConfig.fir@261964.4]
  assign io_link_cs_clear = cs_update | _T_61; // @[SPIFIFO.scala 55:20:shc.marmotcaravel.MarmotCaravelConfig.fir@261967.4]
  assign io_link_lock = io_link_tx_valid | rxen; // @[SPIFIFO.scala 58:16:shc.marmotcaravel.MarmotCaravelConfig.fir@261970.4]
  assign io_tx_ready = txq_io_enq_ready; // @[SPIFIFO.scala 24:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261913.4]
  assign io_rx_valid = rxq_io_deq_valid; // @[SPIFIFO.scala 33:9:shc.marmotcaravel.MarmotCaravelConfig.fir@261920.4]
  assign io_rx_bits = rxq_io_deq_bits; // @[SPIFIFO.scala 33:9:shc.marmotcaravel.MarmotCaravelConfig.fir@261920.4]
  assign io_ip_txwm = txq_io_count < io_ctrl_wm_tx; // @[SPIFIFO.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261972.4]
  assign io_ip_rxwm = rxq_io_count > io_ctrl_wm_rx; // @[SPIFIFO.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261974.4]
  assign txq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261907.4]
  assign txq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261908.4]
  assign txq_io_enq_valid = io_tx_valid; // @[SPIFIFO.scala 24:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261913.4]
  assign txq_io_enq_bits = io_tx_bits; // @[SPIFIFO.scala 24:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261913.4]
  assign txq_io_deq_ready = io_link_tx_ready; // @[SPIFIFO.scala 25:14:shc.marmotcaravel.MarmotCaravelConfig.fir@261914.4]
  assign rxq_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261911.4]
  assign rxq_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261912.4]
  assign rxq_io_enq_valid = io_link_rx_valid & rxen; // @[SPIFIFO.scala 31:20:shc.marmotcaravel.MarmotCaravelConfig.fir@261918.4]
  assign rxq_io_enq_bits = io_link_rx_bits; // @[SPIFIFO.scala 32:19:shc.marmotcaravel.MarmotCaravelConfig.fir@261919.4]
  assign rxq_io_deq_ready = io_rx_ready; // @[SPIFIFO.scala 33:9:shc.marmotcaravel.MarmotCaravelConfig.fir@261920.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  rxen = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  cs_mode = _RAND_1[1:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      rxen <= 1'h0;
    end else begin
      if (fire_tx) begin
        rxen <= _T_31;
      end else begin
        if (io_link_rx_valid) begin
          rxen <= 1'h0;
        end
      end
    end
    if (reset) begin
      cs_mode <= 2'h0;
    end else begin
      cs_mode <= io_ctrl_cs_mode;
    end
  end
endmodule
module SPIPhysical( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261976.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261977.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261978.4]
  output        io_port_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  input         io_port_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  output        io_port_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  output        io_port_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  input         io_port_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  output        io_port_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  output        io_port_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  input         io_port_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  output        io_port_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  output        io_port_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  input         io_port_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  output        io_port_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  output        io_port_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  input  [11:0] io_ctrl_sck_div, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  input         io_ctrl_sck_pol, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  input         io_ctrl_sck_pha, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  input  [1:0]  io_ctrl_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  input         io_ctrl_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  input         io_ctrl_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  input  [11:0] io_ctrl_extradel_coarse, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  input  [4:0]  io_ctrl_sampledel_sd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  output        io_op_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  input         io_op_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  input         io_op_bits_fn, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  input         io_op_bits_stb, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  input  [7:0]  io_op_bits_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  input  [7:0]  io_op_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  output        io_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
  output [7:0]  io_rx_bits // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@261979.4]
);
  reg [11:0] ctrl_sck_div; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@261984.4]
  reg [31:0] _RAND_0;
  reg  ctrl_sck_pol; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@261984.4]
  reg [31:0] _RAND_1;
  reg  ctrl_sck_pha; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@261984.4]
  reg [31:0] _RAND_2;
  reg [1:0] ctrl_fmt_proto; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@261984.4]
  reg [31:0] _RAND_3;
  reg  ctrl_fmt_endian; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@261984.4]
  reg [31:0] _RAND_4;
  reg  ctrl_fmt_iodir; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@261984.4]
  reg [31:0] _RAND_5;
  wire  proto_0; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261985.4]
  wire  proto_1; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261986.4]
  wire  proto_2; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261987.4]
  reg  setup_d; // @[SPIPhysical.scala 59:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262000.4]
  reg [31:0] _RAND_6;
  reg [7:0] scnt; // @[SPIPhysical.scala 61:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262002.4]
  reg [31:0] _RAND_7;
  reg [11:0] tcnt; // @[SPIPhysical.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262003.4]
  reg [31:0] _RAND_8;
  wire  stop; // @[SPIPhysical.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262004.4]
  wire  beat; // @[SPIPhysical.scala 65:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262005.4]
  wire [11:0] _GEN_74; // @[SPIPhysical.scala 68:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262006.4]
  wire [11:0] totalCoarseDel; // @[SPIPhysical.scala 68:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262007.4]
  reg [11:0] del_cntr; // @[SPIPhysical.scala 69:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262008.4]
  reg [31:0] _RAND_9;
  reg  sample_d; // @[SPIPhysical.scala 70:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262009.4]
  reg [31:0] _RAND_10;
  reg  xfr; // @[SPIPhysical.scala 171:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262197.4]
  reg [31:0] _RAND_11;
  reg  cref; // @[SPIPhysical.scala 108:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262058.4]
  reg [31:0] _RAND_12;
  wire  _GEN_8; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262206.8]
  wire  _GEN_13; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262203.6]
  wire  sample; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262198.4]
  wire  _T_46; // @[SPIPhysical.scala 71:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262010.4]
  wire  _T_47; // @[SPIPhysical.scala 75:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262014.4]
  wire [12:0] _T_48; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262016.6]
  wire [12:0] _T_49; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262017.6]
  wire [11:0] _T_50; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262018.6]
  wire  _T_51; // @[SPIPhysical.scala 79:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262021.4]
  reg [11:0] del_cntr_last; // @[SPIPhysical.scala 86:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262028.4]
  reg [31:0] _RAND_13;
  reg  last_d; // @[SPIPhysical.scala 87:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262029.4]
  reg [31:0] _RAND_14;
  wire  _T_178; // @[SPIPhysical.scala 190:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262219.4]
  wire  _T_179; // @[SPIPhysical.scala 191:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262221.6]
  wire  _T_180; // @[SPIPhysical.scala 191:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262222.6]
  wire  last; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262220.4]
  wire  _T_54; // @[SPIPhysical.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262030.4]
  wire  _T_55; // @[SPIPhysical.scala 93:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262034.4]
  wire [12:0] _T_56; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262036.6]
  wire [12:0] _T_57; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262037.6]
  wire [11:0] _T_58; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262038.6]
  wire  _T_59; // @[SPIPhysical.scala 97:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262041.4]
  wire [11:0] _T_60; // @[SPIPhysical.scala 103:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262048.4]
  wire [12:0] _T_61; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262049.4]
  wire [12:0] _T_62; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262050.4]
  wire [11:0] decr; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262051.4]
  wire  sched; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262198.4]
  reg  sck; // @[SPIPhysical.scala 107:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262057.4]
  reg [31:0] _RAND_15;
  wire  cinv; // @[SPIPhysical.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262059.4]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262060.4]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262061.4]
  wire [3:0] rxd; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262062.4]
  wire  rxd_delayed_0; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262069.4]
  wire  rxd_delayed_1; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262070.4]
  wire  rxd_delayed_2; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262071.4]
  wire  rxd_delayed_3; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262072.4]
  wire [1:0] _T_82; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262077.4]
  wire [1:0] _T_83; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262078.4]
  wire [3:0] rxd_fin; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262079.4]
  wire  samples_0; // @[SPIPhysical.scala 130:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262080.4]
  wire [1:0] samples_1; // @[SPIPhysical.scala 130:40:shc.marmotcaravel.MarmotCaravelConfig.fir@262081.4]
  reg [7:0] buffer; // @[SPIPhysical.scala 132:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262082.4]
  reg [31:0] _RAND_16;
  wire  _T_84; // @[SPIPhysical.scala 112:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262083.4]
  wire  _T_85; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262084.4]
  wire  _T_86; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262085.4]
  wire  _T_87; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262086.4]
  wire  _T_88; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262087.4]
  wire  _T_89; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262088.4]
  wire  _T_90; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262089.4]
  wire  _T_91; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262090.4]
  wire  _T_92; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262091.4]
  wire [1:0] _T_93; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262092.4]
  wire [1:0] _T_94; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262093.4]
  wire [3:0] _T_95; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262094.4]
  wire [1:0] _T_96; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262095.4]
  wire [1:0] _T_97; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262096.4]
  wire [3:0] _T_98; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262097.4]
  wire [7:0] _T_99; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262098.4]
  wire [7:0] buffer_in; // @[SPIPhysical.scala 112:8:shc.marmotcaravel.MarmotCaravelConfig.fir@262099.4]
  wire  _T_100; // @[SPIPhysical.scala 134:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262100.4]
  wire  _T_101; // @[SPIPhysical.scala 134:65:shc.marmotcaravel.MarmotCaravelConfig.fir@262101.4]
  wire  _T_102; // @[SPIPhysical.scala 134:52:shc.marmotcaravel.MarmotCaravelConfig.fir@262102.4]
  wire  shift; // @[SPIPhysical.scala 134:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262103.4]
  wire [6:0] _T_103; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262104.4]
  wire [6:0] _T_104; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@262105.4]
  wire [6:0] _T_105; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262106.4]
  wire  _T_106; // @[SPIPhysical.scala 139:35:shc.marmotcaravel.MarmotCaravelConfig.fir@262107.4]
  wire  _T_107; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262108.4]
  wire [7:0] _T_108; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262109.4]
  wire [5:0] _T_109; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262110.4]
  wire [5:0] _T_110; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@262111.4]
  wire [5:0] _T_111; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262112.4]
  wire [1:0] _T_112; // @[SPIPhysical.scala 139:35:shc.marmotcaravel.MarmotCaravelConfig.fir@262113.4]
  wire [1:0] _T_113; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262114.4]
  wire [7:0] _T_114; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262115.4]
  wire [3:0] _T_115; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262116.4]
  wire [3:0] _T_116; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@262117.4]
  wire [3:0] _T_117; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262118.4]
  wire [3:0] _T_119; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262120.4]
  wire [7:0] _T_120; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262121.4]
  wire [7:0] _T_122; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262122.4]
  wire [7:0] _T_123; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262123.4]
  wire [7:0] _T_124; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262124.4]
  wire [7:0] _T_125; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262125.4]
  wire [7:0] _T_126; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262126.4]
  reg [3:0] txd; // @[SPIPhysical.scala 144:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262130.4]
  reg [31:0] _RAND_17;
  wire [3:0] _T_130; // @[SPIPhysical.scala 142:41:shc.marmotcaravel.MarmotCaravelConfig.fir@262131.4]
  wire  _T_181; // @[SPIPhysical.scala 192:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262224.6]
  wire  _T_182; // @[SPIPhysical.scala 192:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262225.6]
  wire  _GEN_23; // @[SPIPhysical.scala 192:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262226.6]
  wire  accept; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262220.4]
  wire [3:0] txd_in; // @[SPIPhysical.scala 145:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262133.4]
  wire [1:0] _T_132; // @[SPIPhysical.scala 146:39:shc.marmotcaravel.MarmotCaravelConfig.fir@262134.4]
  wire  txd_sel_0; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262135.4]
  wire  txd_sel_1; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262136.4]
  wire  txd_sel_2; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262137.4]
  wire  txd_shf_0; // @[SPIPhysical.scala 147:55:shc.marmotcaravel.MarmotCaravelConfig.fir@262138.4]
  wire [1:0] txd_shf_1; // @[SPIPhysical.scala 147:55:shc.marmotcaravel.MarmotCaravelConfig.fir@262139.4]
  wire  _T_134; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262142.6]
  wire [1:0] _T_135; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262143.6]
  wire [3:0] _T_136; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262144.6]
  wire [1:0] _GEN_75; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262145.6]
  wire [1:0] _T_137; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262145.6]
  wire [3:0] _GEN_76; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262146.6]
  wire [3:0] _T_138; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262146.6]
  reg  done; // @[SPIPhysical.scala 165:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262175.4]
  reg [31:0] _RAND_18;
  wire  _T_183; // @[SPIPhysical.scala 199:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262232.4]
  wire  _T_184; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262241.8]
  wire  _GEN_9; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262206.8]
  wire  _GEN_14; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262203.6]
  wire  _GEN_21; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262198.4]
  wire  _GEN_24; // @[SPIPhysical.scala 192:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262226.6]
  wire  _GEN_28; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262220.4]
  wire  _GEN_43; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262242.8]
  wire  _GEN_56; // @[SPIPhysical.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262235.6]
  wire  setup; // @[SPIPhysical.scala 199:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262233.4]
  wire  _T_141; // @[SPIPhysical.scala 153:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262152.4]
  wire  txen_2; // @[SPIPhysical.scala 153:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262153.4]
  wire  txen_1; // @[SPIPhysical.scala 153:82:shc.marmotcaravel.MarmotCaravelConfig.fir@262155.4]
  wire  _T_155; // @[SPIPhysical.scala 166:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262176.4]
  wire  _T_156; // @[SPIPhysical.scala 112:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262179.4]
  wire  _T_158; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262181.4]
  wire  _T_159; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262182.4]
  wire  _T_160; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262183.4]
  wire  _T_161; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262184.4]
  wire  _T_162; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262185.4]
  wire  _T_163; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262186.4]
  wire  _T_164; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262187.4]
  wire [1:0] _T_165; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262188.4]
  wire [1:0] _T_166; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262189.4]
  wire [3:0] _T_167; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262190.4]
  wire [1:0] _T_168; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262191.4]
  wire [1:0] _T_169; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262192.4]
  wire [3:0] _T_170; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262193.4]
  wire [7:0] _T_171; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262194.4]
  wire  _T_175; // @[SPIPhysical.scala 180:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262207.10]
  wire  _GEN_7; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262206.8]
  wire [11:0] _GEN_10; // @[SPIPhysical.scala 184:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262214.8]
  wire  _GEN_12; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262203.6]
  wire [11:0] _GEN_15; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262203.6]
  wire  _GEN_19; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262198.4]
  wire [11:0] _GEN_22; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262198.4]
  wire  _T_185; // @[SPIPhysical.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262246.10]
  wire [11:0] _GEN_49; // @[SPIPhysical.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262235.6]
  wire [11:0] _GEN_62; // @[SPIPhysical.scala 199:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262233.4]
  assign proto_0 = 2'h0 == ctrl_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261985.4]
  assign proto_1 = 2'h1 == ctrl_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261986.4]
  assign proto_2 = 2'h2 == ctrl_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@261987.4]
  assign stop = scnt == 8'h0; // @[SPIPhysical.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262004.4]
  assign beat = tcnt == 12'h0; // @[SPIPhysical.scala 65:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262005.4]
  assign _GEN_74 = {{7'd0}, io_ctrl_sampledel_sd}; // @[SPIPhysical.scala 68:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262006.4]
  assign totalCoarseDel = io_ctrl_extradel_coarse + _GEN_74; // @[SPIPhysical.scala 68:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262007.4]
  assign _GEN_8 = xfr ? cref : 1'h0; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262206.8]
  assign _GEN_13 = beat ? _GEN_8 : 1'h0; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262203.6]
  assign sample = stop ? 1'h0 : _GEN_13; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262198.4]
  assign _T_46 = beat & sample; // @[SPIPhysical.scala 71:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262010.4]
  assign _T_47 = del_cntr != 12'h0; // @[SPIPhysical.scala 75:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262014.4]
  assign _T_48 = del_cntr - 12'h1; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262016.6]
  assign _T_49 = $unsigned(_T_48); // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262017.6]
  assign _T_50 = _T_49[11:0]; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262018.6]
  assign _T_51 = del_cntr == 12'h1; // @[SPIPhysical.scala 79:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262021.4]
  assign _T_178 = scnt == 8'h1; // @[SPIPhysical.scala 190:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262219.4]
  assign _T_179 = beat & cref; // @[SPIPhysical.scala 191:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262221.6]
  assign _T_180 = _T_179 & xfr; // @[SPIPhysical.scala 191:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262222.6]
  assign last = _T_178 ? _T_180 : 1'h0; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262220.4]
  assign _T_54 = beat & last; // @[SPIPhysical.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262030.4]
  assign _T_55 = del_cntr_last != 12'h0; // @[SPIPhysical.scala 93:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262034.4]
  assign _T_56 = del_cntr_last - 12'h1; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262036.6]
  assign _T_57 = $unsigned(_T_56); // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262037.6]
  assign _T_58 = _T_57[11:0]; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262038.6]
  assign _T_59 = del_cntr_last == 12'h1; // @[SPIPhysical.scala 97:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262041.4]
  assign _T_60 = beat ? {{4'd0}, scnt} : tcnt; // @[SPIPhysical.scala 103:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262048.4]
  assign _T_61 = _T_60 - 12'h1; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262049.4]
  assign _T_62 = $unsigned(_T_61); // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262050.4]
  assign decr = _T_62[11:0]; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262051.4]
  assign sched = stop ? 1'h1 : beat; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262198.4]
  assign cinv = ctrl_sck_pha ^ ctrl_sck_pol; // @[SPIPhysical.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262059.4]
  assign _T_67 = {io_port_dq_1_i,io_port_dq_0_i}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262060.4]
  assign _T_68 = {io_port_dq_3_i,io_port_dq_2_i}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262061.4]
  assign rxd = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262062.4]
  assign rxd_delayed_0 = rxd[0]; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262069.4]
  assign rxd_delayed_1 = rxd[1]; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262070.4]
  assign rxd_delayed_2 = rxd[2]; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262071.4]
  assign rxd_delayed_3 = rxd[3]; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262072.4]
  assign _T_82 = {rxd_delayed_1,rxd_delayed_0}; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262077.4]
  assign _T_83 = {rxd_delayed_3,rxd_delayed_2}; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262078.4]
  assign rxd_fin = {_T_83,_T_82}; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262079.4]
  assign samples_0 = rxd_fin[1]; // @[SPIPhysical.scala 130:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262080.4]
  assign samples_1 = rxd_fin[1:0]; // @[SPIPhysical.scala 130:40:shc.marmotcaravel.MarmotCaravelConfig.fir@262081.4]
  assign _T_84 = io_ctrl_fmt_endian == 1'h0; // @[SPIPhysical.scala 112:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262083.4]
  assign _T_85 = io_op_bits_data[0]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262084.4]
  assign _T_86 = io_op_bits_data[1]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262085.4]
  assign _T_87 = io_op_bits_data[2]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262086.4]
  assign _T_88 = io_op_bits_data[3]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262087.4]
  assign _T_89 = io_op_bits_data[4]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262088.4]
  assign _T_90 = io_op_bits_data[5]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262089.4]
  assign _T_91 = io_op_bits_data[6]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262090.4]
  assign _T_92 = io_op_bits_data[7]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262091.4]
  assign _T_93 = {_T_91,_T_92}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262092.4]
  assign _T_94 = {_T_89,_T_90}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262093.4]
  assign _T_95 = {_T_94,_T_93}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262094.4]
  assign _T_96 = {_T_87,_T_88}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262095.4]
  assign _T_97 = {_T_85,_T_86}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262096.4]
  assign _T_98 = {_T_97,_T_96}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262097.4]
  assign _T_99 = {_T_98,_T_95}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262098.4]
  assign buffer_in = _T_84 ? io_op_bits_data : _T_99; // @[SPIPhysical.scala 112:8:shc.marmotcaravel.MarmotCaravelConfig.fir@262099.4]
  assign _T_100 = totalCoarseDel > 12'h0; // @[SPIPhysical.scala 134:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262100.4]
  assign _T_101 = sample_d & stop; // @[SPIPhysical.scala 134:65:shc.marmotcaravel.MarmotCaravelConfig.fir@262101.4]
  assign _T_102 = setup_d | _T_101; // @[SPIPhysical.scala 134:52:shc.marmotcaravel.MarmotCaravelConfig.fir@262102.4]
  assign shift = _T_100 ? _T_102 : sample_d; // @[SPIPhysical.scala 134:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262103.4]
  assign _T_103 = buffer[6:0]; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262104.4]
  assign _T_104 = buffer[7:1]; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@262105.4]
  assign _T_105 = shift ? _T_103 : _T_104; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262106.4]
  assign _T_106 = buffer[0]; // @[SPIPhysical.scala 139:35:shc.marmotcaravel.MarmotCaravelConfig.fir@262107.4]
  assign _T_107 = sample_d ? samples_0 : _T_106; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262108.4]
  assign _T_108 = {_T_105,_T_107}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262109.4]
  assign _T_109 = buffer[5:0]; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262110.4]
  assign _T_110 = buffer[7:2]; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@262111.4]
  assign _T_111 = shift ? _T_109 : _T_110; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262112.4]
  assign _T_112 = buffer[1:0]; // @[SPIPhysical.scala 139:35:shc.marmotcaravel.MarmotCaravelConfig.fir@262113.4]
  assign _T_113 = sample_d ? samples_1 : _T_112; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262114.4]
  assign _T_114 = {_T_111,_T_113}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262115.4]
  assign _T_115 = buffer[3:0]; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262116.4]
  assign _T_116 = buffer[7:4]; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@262117.4]
  assign _T_117 = shift ? _T_115 : _T_116; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262118.4]
  assign _T_119 = sample_d ? rxd_fin : _T_115; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262120.4]
  assign _T_120 = {_T_117,_T_119}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262121.4]
  assign _T_122 = proto_0 ? _T_108 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262122.4]
  assign _T_123 = proto_1 ? _T_114 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262123.4]
  assign _T_124 = proto_2 ? _T_120 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262124.4]
  assign _T_125 = _T_122 | _T_123; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262125.4]
  assign _T_126 = _T_125 | _T_124; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262126.4]
  assign _T_130 = buffer_in[7:4]; // @[SPIPhysical.scala 142:41:shc.marmotcaravel.MarmotCaravelConfig.fir@262131.4]
  assign _T_181 = cref == 1'h0; // @[SPIPhysical.scala 192:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262224.6]
  assign _T_182 = beat & _T_181; // @[SPIPhysical.scala 192:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262225.6]
  assign _GEN_23 = _T_182 ? 1'h1 : stop; // @[SPIPhysical.scala 192:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262226.6]
  assign accept = _T_178 ? _GEN_23 : stop; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262220.4]
  assign txd_in = accept ? _T_130 : _T_116; // @[SPIPhysical.scala 145:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262133.4]
  assign _T_132 = accept ? io_ctrl_fmt_proto : ctrl_fmt_proto; // @[SPIPhysical.scala 146:39:shc.marmotcaravel.MarmotCaravelConfig.fir@262134.4]
  assign txd_sel_0 = 2'h0 == _T_132; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262135.4]
  assign txd_sel_1 = 2'h1 == _T_132; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262136.4]
  assign txd_sel_2 = 2'h2 == _T_132; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262137.4]
  assign txd_shf_0 = txd_in[3]; // @[SPIPhysical.scala 147:55:shc.marmotcaravel.MarmotCaravelConfig.fir@262138.4]
  assign txd_shf_1 = txd_in[3:2]; // @[SPIPhysical.scala 147:55:shc.marmotcaravel.MarmotCaravelConfig.fir@262139.4]
  assign _T_134 = txd_sel_0 ? txd_shf_0 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262142.6]
  assign _T_135 = txd_sel_1 ? txd_shf_1 : 2'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262143.6]
  assign _T_136 = txd_sel_2 ? txd_in : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262144.6]
  assign _GEN_75 = {{1'd0}, _T_134}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262145.6]
  assign _T_137 = _GEN_75 | _T_135; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262145.6]
  assign _GEN_76 = {{2'd0}, _T_137}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262146.6]
  assign _T_138 = _GEN_76 | _T_136; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262146.6]
  assign _T_183 = accept & done; // @[SPIPhysical.scala 199:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262232.4]
  assign _T_184 = 1'h0 == io_op_bits_fn; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262241.8]
  assign _GEN_9 = xfr ? _T_181 : 1'h0; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262206.8]
  assign _GEN_14 = beat ? _GEN_9 : 1'h0; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262203.6]
  assign _GEN_21 = stop ? 1'h0 : _GEN_14; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262198.4]
  assign _GEN_24 = _T_182 ? 1'h0 : _GEN_21; // @[SPIPhysical.scala 192:26:shc.marmotcaravel.MarmotCaravelConfig.fir@262226.6]
  assign _GEN_28 = _T_178 ? _GEN_24 : _GEN_21; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262220.4]
  assign _GEN_43 = _T_184 ? 1'h1 : _GEN_28; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262242.8]
  assign _GEN_56 = io_op_valid ? _GEN_43 : _GEN_28; // @[SPIPhysical.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262235.6]
  assign setup = _T_183 ? _GEN_56 : _GEN_28; // @[SPIPhysical.scala 199:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262233.4]
  assign _T_141 = proto_1 & ctrl_fmt_iodir; // @[SPIPhysical.scala 153:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262152.4]
  assign txen_2 = proto_2 & ctrl_fmt_iodir; // @[SPIPhysical.scala 153:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262153.4]
  assign txen_1 = _T_141 | txen_2; // @[SPIPhysical.scala 153:82:shc.marmotcaravel.MarmotCaravelConfig.fir@262155.4]
  assign _T_155 = done | last_d; // @[SPIPhysical.scala 166:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262176.4]
  assign _T_156 = ctrl_fmt_endian == 1'h0; // @[SPIPhysical.scala 112:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262179.4]
  assign _T_158 = buffer[1]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262181.4]
  assign _T_159 = buffer[2]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262182.4]
  assign _T_160 = buffer[3]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262183.4]
  assign _T_161 = buffer[4]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262184.4]
  assign _T_162 = buffer[5]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262185.4]
  assign _T_163 = buffer[6]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262186.4]
  assign _T_164 = buffer[7]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@262187.4]
  assign _T_165 = {_T_163,_T_164}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262188.4]
  assign _T_166 = {_T_161,_T_162}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262189.4]
  assign _T_167 = {_T_166,_T_165}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262190.4]
  assign _T_168 = {_T_159,_T_160}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262191.4]
  assign _T_169 = {_T_106,_T_158}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262192.4]
  assign _T_170 = {_T_169,_T_168}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262193.4]
  assign _T_171 = {_T_170,_T_167}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262194.4]
  assign _T_175 = cref ^ cinv; // @[SPIPhysical.scala 180:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262207.10]
  assign _GEN_7 = xfr ? _T_175 : sck; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262206.8]
  assign _GEN_10 = _T_181 ? decr : {{4'd0}, scnt}; // @[SPIPhysical.scala 184:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262214.8]
  assign _GEN_12 = beat ? _GEN_7 : sck; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262203.6]
  assign _GEN_15 = beat ? _GEN_10 : {{4'd0}, scnt}; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262203.6]
  assign _GEN_19 = stop ? sck : _GEN_12; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262198.4]
  assign _GEN_22 = stop ? {{4'd0}, scnt} : _GEN_15; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262198.4]
  assign _T_185 = io_op_bits_cnt == 8'h0; // @[SPIPhysical.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262246.10]
  assign _GEN_49 = io_op_valid ? {{4'd0}, io_op_bits_cnt} : _GEN_22; // @[SPIPhysical.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262235.6]
  assign _GEN_62 = _T_183 ? _GEN_49 : _GEN_22; // @[SPIPhysical.scala 199:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262233.4]
  assign io_port_sck = sck; // @[SPIPhysical.scala 156:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262157.4]
  assign io_port_dq_0_o = txd[0]; // @[SPIPhysical.scala 160:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262166.4]
  assign io_port_dq_0_oe = proto_0 | txen_1; // @[SPIPhysical.scala 161:13:shc.marmotcaravel.MarmotCaravelConfig.fir@262167.4]
  assign io_port_dq_1_o = txd[1]; // @[SPIPhysical.scala 160:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262168.4]
  assign io_port_dq_1_oe = _T_141 | txen_2; // @[SPIPhysical.scala 161:13:shc.marmotcaravel.MarmotCaravelConfig.fir@262169.4]
  assign io_port_dq_2_o = txd[2]; // @[SPIPhysical.scala 160:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262170.4]
  assign io_port_dq_2_oe = proto_2 & ctrl_fmt_iodir; // @[SPIPhysical.scala 161:13:shc.marmotcaravel.MarmotCaravelConfig.fir@262171.4]
  assign io_port_dq_3_o = txd[3]; // @[SPIPhysical.scala 160:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262172.4]
  assign io_port_dq_3_oe = proto_2 & ctrl_fmt_iodir; // @[SPIPhysical.scala 161:13:shc.marmotcaravel.MarmotCaravelConfig.fir@262173.4]
  assign io_op_ready = accept & done; // @[SPIPhysical.scala 163:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262174.4 SPIPhysical.scala 200:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262234.6]
  assign io_rx_valid = done; // @[SPIPhysical.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262178.4]
  assign io_rx_bits = _T_156 ? buffer : _T_171; // @[SPIPhysical.scala 169:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262196.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  ctrl_sck_div = _RAND_0[11:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  ctrl_sck_pol = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  ctrl_sck_pha = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  ctrl_fmt_proto = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  ctrl_fmt_endian = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  ctrl_fmt_iodir = _RAND_5[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  setup_d = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  scnt = _RAND_7[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  tcnt = _RAND_8[11:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  del_cntr = _RAND_9[11:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  sample_d = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  xfr = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  cref = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  del_cntr_last = _RAND_13[11:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  last_d = _RAND_14[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  sck = _RAND_15[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  buffer = _RAND_16[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_17 = {1{`RANDOM}};
  txd = _RAND_17[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_18 = {1{`RANDOM}};
  done = _RAND_18[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (_T_183) begin
      if (io_op_valid) begin
        if (!(_T_184)) begin
          if (io_op_bits_fn) begin
            if (io_op_bits_stb) begin
              ctrl_sck_div <= io_ctrl_sck_div;
            end
          end
        end
      end
    end
    if (_T_183) begin
      if (io_op_valid) begin
        if (!(_T_184)) begin
          if (io_op_bits_fn) begin
            if (io_op_bits_stb) begin
              ctrl_sck_pol <= io_ctrl_sck_pol;
            end
          end
        end
      end
    end
    if (_T_183) begin
      if (io_op_valid) begin
        if (!(_T_184)) begin
          if (io_op_bits_fn) begin
            if (io_op_bits_stb) begin
              ctrl_sck_pha <= io_ctrl_sck_pha;
            end
          end
        end
      end
    end
    if (_T_183) begin
      if (io_op_valid) begin
        if (io_op_bits_stb) begin
          ctrl_fmt_proto <= io_ctrl_fmt_proto;
        end
      end
    end
    if (_T_183) begin
      if (io_op_valid) begin
        if (io_op_bits_stb) begin
          ctrl_fmt_endian <= io_ctrl_fmt_endian;
        end
      end
    end
    if (_T_183) begin
      if (io_op_valid) begin
        if (io_op_bits_stb) begin
          ctrl_fmt_iodir <= io_ctrl_fmt_iodir;
        end
      end
    end
    if (_T_183) begin
      if (io_op_valid) begin
        if (_T_184) begin
          setup_d <= 1'h1;
        end else begin
          if (_T_178) begin
            if (_T_182) begin
              setup_d <= 1'h0;
            end else begin
              if (stop) begin
                setup_d <= 1'h0;
              end else begin
                if (beat) begin
                  if (xfr) begin
                    setup_d <= _T_181;
                  end else begin
                    setup_d <= 1'h0;
                  end
                end else begin
                  setup_d <= 1'h0;
                end
              end
            end
          end else begin
            if (stop) begin
              setup_d <= 1'h0;
            end else begin
              if (beat) begin
                if (xfr) begin
                  setup_d <= _T_181;
                end else begin
                  setup_d <= 1'h0;
                end
              end else begin
                setup_d <= 1'h0;
              end
            end
          end
        end
      end else begin
        if (_T_178) begin
          if (_T_182) begin
            setup_d <= 1'h0;
          end else begin
            if (stop) begin
              setup_d <= 1'h0;
            end else begin
              if (beat) begin
                if (xfr) begin
                  setup_d <= _T_181;
                end else begin
                  setup_d <= 1'h0;
                end
              end else begin
                setup_d <= 1'h0;
              end
            end
          end
        end else begin
          if (stop) begin
            setup_d <= 1'h0;
          end else begin
            if (beat) begin
              if (xfr) begin
                setup_d <= _T_181;
              end else begin
                setup_d <= 1'h0;
              end
            end else begin
              setup_d <= 1'h0;
            end
          end
        end
      end
    end else begin
      if (_T_178) begin
        if (_T_182) begin
          setup_d <= 1'h0;
        end else begin
          setup_d <= _GEN_21;
        end
      end else begin
        setup_d <= _GEN_21;
      end
    end
    if (reset) begin
      scnt <= 8'h0;
    end else begin
      scnt <= _GEN_62[7:0];
    end
    if (sched) begin
      tcnt <= ctrl_sck_div;
    end else begin
      tcnt <= decr;
    end
    if (reset) begin
      del_cntr <= 12'h4;
    end else begin
      if (_T_47) begin
        del_cntr <= _T_50;
      end else begin
        if (_T_46) begin
          del_cntr <= totalCoarseDel;
        end
      end
    end
    if (reset) begin
      sample_d <= 1'h0;
    end else begin
      sample_d <= _T_51;
    end
    if (_T_183) begin
      if (io_op_valid) begin
        xfr <= _T_184;
      end
    end
    if (reset) begin
      cref <= 1'h1;
    end else begin
      if (!(stop)) begin
        if (beat) begin
          cref <= _T_181;
        end
      end
    end
    if (reset) begin
      del_cntr_last <= 12'h4;
    end else begin
      if (_T_55) begin
        del_cntr_last <= _T_58;
      end else begin
        if (_T_54) begin
          del_cntr_last <= totalCoarseDel;
        end
      end
    end
    if (reset) begin
      last_d <= 1'h0;
    end else begin
      last_d <= _T_59;
    end
    if (_T_183) begin
      if (io_op_valid) begin
        if (_T_184) begin
          sck <= cinv;
        end else begin
          if (io_op_bits_fn) begin
            if (io_op_bits_stb) begin
              sck <= io_ctrl_sck_pol;
            end else begin
              if (_T_178) begin
                if (_T_182) begin
                  sck <= ctrl_sck_pol;
                end else begin
                  if (!(stop)) begin
                    if (beat) begin
                      if (xfr) begin
                        sck <= _T_175;
                      end
                    end
                  end
                end
              end else begin
                if (!(stop)) begin
                  if (beat) begin
                    if (xfr) begin
                      sck <= _T_175;
                    end
                  end
                end
              end
            end
          end else begin
            if (_T_178) begin
              if (_T_182) begin
                sck <= ctrl_sck_pol;
              end else begin
                if (!(stop)) begin
                  if (beat) begin
                    if (xfr) begin
                      sck <= _T_175;
                    end
                  end
                end
              end
            end else begin
              if (!(stop)) begin
                if (beat) begin
                  if (xfr) begin
                    sck <= _T_175;
                  end
                end
              end
            end
          end
        end
      end else begin
        if (_T_178) begin
          if (_T_182) begin
            sck <= ctrl_sck_pol;
          end else begin
            sck <= _GEN_19;
          end
        end else begin
          sck <= _GEN_19;
        end
      end
    end else begin
      if (_T_178) begin
        if (_T_182) begin
          sck <= ctrl_sck_pol;
        end else begin
          sck <= _GEN_19;
        end
      end else begin
        sck <= _GEN_19;
      end
    end
    if (_T_183) begin
      if (io_op_valid) begin
        if (_T_184) begin
          if (_T_84) begin
            buffer <= io_op_bits_data;
          end else begin
            buffer <= _T_99;
          end
        end else begin
          buffer <= _T_126;
        end
      end else begin
        buffer <= _T_126;
      end
    end else begin
      buffer <= _T_126;
    end
    if (reset) begin
      txd <= 4'h0;
    end else begin
      if (setup) begin
        txd <= _T_138;
      end
    end
    if (reset) begin
      done <= 1'h1;
    end else begin
      if (_T_183) begin
        if (io_op_valid) begin
          if (_T_184) begin
            done <= _T_185;
          end else begin
            done <= _T_155;
          end
        end else begin
          done <= _T_155;
        end
      end else begin
        done <= _T_155;
      end
    end
  end
endmodule
module SPIMedia( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262261.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262262.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262263.4]
  output        io_port_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  input         io_port_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  output        io_port_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  output        io_port_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  input         io_port_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  output        io_port_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  output        io_port_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  input         io_port_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  output        io_port_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  output        io_port_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  input         io_port_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  output        io_port_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  output        io_port_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  output        io_port_cs_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  input  [11:0] io_ctrl_sck_div, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  input         io_ctrl_sck_pol, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  input         io_ctrl_sck_pha, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  input  [7:0]  io_ctrl_dla_cssck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  input  [7:0]  io_ctrl_dla_sckcs, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  input  [7:0]  io_ctrl_dla_intercs, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  input  [7:0]  io_ctrl_dla_interxfr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  input         io_ctrl_cs_id, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  input         io_ctrl_cs_dflt_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  input  [11:0] io_ctrl_extradel_coarse, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  input  [4:0]  io_ctrl_sampledel_sd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  output        io_link_tx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  input         io_link_tx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  input  [7:0]  io_link_tx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  output        io_link_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  output [7:0]  io_link_rx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  input  [7:0]  io_link_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  input  [1:0]  io_link_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  input         io_link_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  input         io_link_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  input         io_link_cs_set, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  input         io_link_cs_clear, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  input         io_link_cs_hold, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
  output        io_link_active // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262264.4]
);
  wire  phy_clock; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire  phy_reset; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire  phy_io_port_sck; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire  phy_io_port_dq_0_i; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire  phy_io_port_dq_0_o; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire  phy_io_port_dq_0_oe; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire  phy_io_port_dq_1_i; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire  phy_io_port_dq_1_o; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire  phy_io_port_dq_1_oe; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire  phy_io_port_dq_2_i; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire  phy_io_port_dq_2_o; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire  phy_io_port_dq_2_oe; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire  phy_io_port_dq_3_i; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire  phy_io_port_dq_3_o; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire  phy_io_port_dq_3_oe; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire [11:0] phy_io_ctrl_sck_div; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire  phy_io_ctrl_sck_pol; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire  phy_io_ctrl_sck_pha; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire [1:0] phy_io_ctrl_fmt_proto; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire  phy_io_ctrl_fmt_endian; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire  phy_io_ctrl_fmt_iodir; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire [11:0] phy_io_ctrl_extradel_coarse; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire [4:0] phy_io_ctrl_sampledel_sd; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire  phy_io_op_ready; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire  phy_io_op_valid; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire  phy_io_op_bits_fn; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire  phy_io_op_bits_stb; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire [7:0] phy_io_op_bits_cnt; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire [7:0] phy_io_op_bits_data; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire  phy_io_rx_valid; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  wire [7:0] phy_io_rx_bits; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
  reg  cs_id; // @[SPIMedia.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262282.4]
  reg [31:0] _RAND_0;
  reg  cs_dflt_0; // @[SPIMedia.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262282.4]
  reg [31:0] _RAND_1;
  reg  cs_set; // @[SPIMedia.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262283.4]
  reg [31:0] _RAND_2;
  wire [1:0] _GEN_54; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262284.4]
  wire [1:0] _T_67; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262284.4]
  wire [1:0] _GEN_55; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262285.4]
  wire [1:0] _T_68; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262285.4]
  wire  cs_active_0; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@262286.4]
  wire  cs_update; // @[SPIMedia.scala 49:37:shc.marmotcaravel.MarmotCaravelConfig.fir@262290.4]
  reg  clear; // @[SPIMedia.scala 51:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262291.4]
  reg [31:0] _RAND_3;
  reg  cs_assert; // @[SPIMedia.scala 52:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262292.4]
  reg [31:0] _RAND_4;
  wire  _T_78; // @[SPIMedia.scala 53:44:shc.marmotcaravel.MarmotCaravelConfig.fir@262293.4]
  wire  _T_79; // @[SPIMedia.scala 53:41:shc.marmotcaravel.MarmotCaravelConfig.fir@262294.4]
  wire  cs_deassert; // @[SPIMedia.scala 53:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262295.4]
  wire  _T_80; // @[SPIMedia.scala 55:39:shc.marmotcaravel.MarmotCaravelConfig.fir@262296.4]
  wire  _T_81; // @[SPIMedia.scala 55:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262297.4]
  wire  continuous; // @[SPIMedia.scala 57:42:shc.marmotcaravel.MarmotCaravelConfig.fir@262299.4]
  reg [1:0] state; // @[SPIMedia.scala 68:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262306.4]
  reg [31:0] _RAND_5;
  wire  _T_84; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262307.4]
  wire  _T_85; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@262321.10]
  wire [7:0] _GEN_2; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262310.8]
  wire  _GEN_5; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262310.8]
  wire  _GEN_6; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262310.8]
  wire  _GEN_7; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262310.8]
  wire [7:0] _GEN_11; // @[SPIMedia.scala 88:38:shc.marmotcaravel.MarmotCaravelConfig.fir@262328.8]
  wire  _GEN_15; // @[SPIMedia.scala 88:38:shc.marmotcaravel.MarmotCaravelConfig.fir@262328.8]
  wire [7:0] _GEN_17; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262309.6]
  wire  _GEN_19; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262309.6]
  wire  _GEN_20; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262309.6]
  wire  _GEN_21; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262309.6]
  wire  _GEN_22; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262309.6]
  wire  _T_86; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262343.6]
  wire  _T_87; // @[SPIMedia.scala 106:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262345.8]
  wire  _T_88; // @[SPIMedia.scala 108:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262348.8]
  wire  _T_89; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262354.8]
  wire [1:0] _GEN_56; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262361.12]
  wire [1:0] _T_90; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262361.12]
  wire [1:0] _GEN_57; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262362.12]
  wire [1:0] _T_91; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262362.12]
  wire  _T_92; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@262363.12]
  wire [7:0] _GEN_30; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262355.8]
  wire  _GEN_36; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262344.6]
  wire [7:0] _GEN_37; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262344.6]
  wire  _GEN_39; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262344.6]
  SPIPhysical phy ( // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262269.4]
    .clock(phy_clock),
    .reset(phy_reset),
    .io_port_sck(phy_io_port_sck),
    .io_port_dq_0_i(phy_io_port_dq_0_i),
    .io_port_dq_0_o(phy_io_port_dq_0_o),
    .io_port_dq_0_oe(phy_io_port_dq_0_oe),
    .io_port_dq_1_i(phy_io_port_dq_1_i),
    .io_port_dq_1_o(phy_io_port_dq_1_o),
    .io_port_dq_1_oe(phy_io_port_dq_1_oe),
    .io_port_dq_2_i(phy_io_port_dq_2_i),
    .io_port_dq_2_o(phy_io_port_dq_2_o),
    .io_port_dq_2_oe(phy_io_port_dq_2_oe),
    .io_port_dq_3_i(phy_io_port_dq_3_i),
    .io_port_dq_3_o(phy_io_port_dq_3_o),
    .io_port_dq_3_oe(phy_io_port_dq_3_oe),
    .io_ctrl_sck_div(phy_io_ctrl_sck_div),
    .io_ctrl_sck_pol(phy_io_ctrl_sck_pol),
    .io_ctrl_sck_pha(phy_io_ctrl_sck_pha),
    .io_ctrl_fmt_proto(phy_io_ctrl_fmt_proto),
    .io_ctrl_fmt_endian(phy_io_ctrl_fmt_endian),
    .io_ctrl_fmt_iodir(phy_io_ctrl_fmt_iodir),
    .io_ctrl_extradel_coarse(phy_io_ctrl_extradel_coarse),
    .io_ctrl_sampledel_sd(phy_io_ctrl_sampledel_sd),
    .io_op_ready(phy_io_op_ready),
    .io_op_valid(phy_io_op_valid),
    .io_op_bits_fn(phy_io_op_bits_fn),
    .io_op_bits_stb(phy_io_op_bits_stb),
    .io_op_bits_cnt(phy_io_op_bits_cnt),
    .io_op_bits_data(phy_io_op_bits_data),
    .io_rx_valid(phy_io_rx_valid),
    .io_rx_bits(phy_io_rx_bits)
  );
  assign _GEN_54 = {{1'd0}, io_link_cs_set}; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262284.4]
  assign _T_67 = _GEN_54 << io_ctrl_cs_id; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262284.4]
  assign _GEN_55 = {{1'd0}, io_ctrl_cs_dflt_0}; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262285.4]
  assign _T_68 = _GEN_55 ^ _T_67; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262285.4]
  assign cs_active_0 = _T_68[0]; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@262286.4]
  assign cs_update = cs_active_0 != cs_dflt_0; // @[SPIMedia.scala 49:37:shc.marmotcaravel.MarmotCaravelConfig.fir@262290.4]
  assign _T_78 = io_link_cs_hold == 1'h0; // @[SPIMedia.scala 53:44:shc.marmotcaravel.MarmotCaravelConfig.fir@262293.4]
  assign _T_79 = cs_update & _T_78; // @[SPIMedia.scala 53:41:shc.marmotcaravel.MarmotCaravelConfig.fir@262294.4]
  assign cs_deassert = clear | _T_79; // @[SPIMedia.scala 53:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262295.4]
  assign _T_80 = io_link_cs_clear & cs_assert; // @[SPIMedia.scala 55:39:shc.marmotcaravel.MarmotCaravelConfig.fir@262296.4]
  assign _T_81 = clear | _T_80; // @[SPIMedia.scala 55:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262297.4]
  assign continuous = io_ctrl_dla_interxfr == 8'h0; // @[SPIMedia.scala 57:42:shc.marmotcaravel.MarmotCaravelConfig.fir@262299.4]
  assign _T_84 = 2'h0 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262307.4]
  assign _T_85 = phy_io_op_ready & phy_io_op_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@262321.10]
  assign _GEN_2 = cs_deassert ? io_ctrl_dla_sckcs : io_link_cnt; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262310.8]
  assign _GEN_5 = cs_deassert ? 1'h0 : 1'h1; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262310.8]
  assign _GEN_6 = cs_deassert ? 1'h1 : io_link_tx_valid; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262310.8]
  assign _GEN_7 = cs_deassert ? 1'h0 : phy_io_op_ready; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262310.8]
  assign _GEN_11 = io_link_tx_valid ? io_ctrl_dla_cssck : 8'h0; // @[SPIMedia.scala 88:38:shc.marmotcaravel.MarmotCaravelConfig.fir@262328.8]
  assign _GEN_15 = io_link_tx_valid ? 1'h0 : 1'h1; // @[SPIMedia.scala 88:38:shc.marmotcaravel.MarmotCaravelConfig.fir@262328.8]
  assign _GEN_17 = cs_assert ? _GEN_2 : _GEN_11; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262309.6]
  assign _GEN_19 = cs_assert ? cs_deassert : 1'h1; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262309.6]
  assign _GEN_20 = cs_assert ? _GEN_5 : _GEN_15; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262309.6]
  assign _GEN_21 = cs_assert ? _GEN_6 : 1'h1; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262309.6]
  assign _GEN_22 = cs_assert ? _GEN_7 : 1'h0; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262309.6]
  assign _T_86 = 2'h1 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262343.6]
  assign _T_87 = continuous == 1'h0; // @[SPIMedia.scala 106:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262345.8]
  assign _T_88 = phy_io_op_ready | continuous; // @[SPIMedia.scala 108:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262348.8]
  assign _T_89 = 2'h2 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262354.8]
  assign _GEN_56 = {{1'd0}, cs_set}; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262361.12]
  assign _T_90 = _GEN_56 << cs_id; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262361.12]
  assign _GEN_57 = {{1'd0}, cs_dflt_0}; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262362.12]
  assign _T_91 = _GEN_57 ^ _T_90; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262362.12]
  assign _T_92 = _T_91[0]; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@262363.12]
  assign _GEN_30 = _T_89 ? io_ctrl_dla_intercs : io_link_cnt; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262355.8]
  assign _GEN_36 = _T_86 ? _T_87 : 1'h1; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262344.6]
  assign _GEN_37 = _T_86 ? io_ctrl_dla_interxfr : _GEN_30; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262344.6]
  assign _GEN_39 = _T_86 ? 1'h0 : _T_89; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262344.6]
  assign io_port_sck = phy_io_port_sck; // @[SPIMedia.scala 59:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262300.4]
  assign io_port_dq_0_o = phy_io_port_dq_0_o; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262301.4]
  assign io_port_dq_0_oe = phy_io_port_dq_0_oe; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262301.4]
  assign io_port_dq_1_o = phy_io_port_dq_1_o; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262301.4]
  assign io_port_dq_1_oe = phy_io_port_dq_1_oe; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262301.4]
  assign io_port_dq_2_o = phy_io_port_dq_2_o; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262301.4]
  assign io_port_dq_2_oe = phy_io_port_dq_2_oe; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262301.4]
  assign io_port_dq_3_o = phy_io_port_dq_3_o; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262301.4]
  assign io_port_dq_3_oe = phy_io_port_dq_3_oe; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262301.4]
  assign io_port_cs_0 = cs_dflt_0; // @[SPIMedia.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262302.4]
  assign io_link_tx_ready = _T_84 ? _GEN_22 : 1'h0; // @[SPIMedia.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262304.4 SPIMedia.scala 83:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262320.10]
  assign io_link_rx_valid = phy_io_rx_valid; // @[SPIMedia.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262303.4]
  assign io_link_rx_bits = phy_io_rx_bits; // @[SPIMedia.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262303.4]
  assign io_link_active = cs_assert; // @[SPIMedia.scala 65:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262305.4]
  assign phy_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262271.4]
  assign phy_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262272.4]
  assign phy_io_port_dq_0_i = io_port_dq_0_i; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262301.4]
  assign phy_io_port_dq_1_i = io_port_dq_1_i; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262301.4]
  assign phy_io_port_dq_2_i = io_port_dq_2_i; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262301.4]
  assign phy_io_port_dq_3_i = io_port_dq_3_i; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262301.4]
  assign phy_io_ctrl_sck_div = io_ctrl_sck_div; // @[SPIMedia.scala 34:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262273.4]
  assign phy_io_ctrl_sck_pol = io_ctrl_sck_pol; // @[SPIMedia.scala 34:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262273.4]
  assign phy_io_ctrl_sck_pha = io_ctrl_sck_pha; // @[SPIMedia.scala 34:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262273.4]
  assign phy_io_ctrl_fmt_proto = io_link_fmt_proto; // @[SPIMedia.scala 35:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262274.4]
  assign phy_io_ctrl_fmt_endian = io_link_fmt_endian; // @[SPIMedia.scala 35:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262274.4]
  assign phy_io_ctrl_fmt_iodir = io_link_fmt_iodir; // @[SPIMedia.scala 35:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262274.4]
  assign phy_io_ctrl_extradel_coarse = io_ctrl_extradel_coarse; // @[SPIMedia.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262275.4]
  assign phy_io_ctrl_sampledel_sd = io_ctrl_sampledel_sd; // @[SPIMedia.scala 37:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262276.4]
  assign phy_io_op_valid = _T_84 ? _GEN_21 : _GEN_36; // @[SPIMedia.scala 40:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262277.4 SPIMedia.scala 82:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262319.10 SPIMedia.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262346.8]
  assign phy_io_op_bits_fn = _T_84 ? _GEN_19 : 1'h1; // @[SPIMedia.scala 41:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262278.4 SPIMedia.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262317.10]
  assign phy_io_op_bits_stb = _T_84 ? _GEN_20 : _GEN_39; // @[SPIMedia.scala 42:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262279.4 SPIMedia.scala 80:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262318.10 SPIMedia.scala 99:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262338.10 SPIMedia.scala 116:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262357.10]
  assign phy_io_op_bits_cnt = _T_84 ? _GEN_17 : _GEN_37; // @[SPIMedia.scala 43:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262280.4 SPIMedia.scala 74:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262311.10 SPIMedia.scala 90:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262329.10 SPIMedia.scala 98:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262337.10 SPIMedia.scala 107:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262347.8 SPIMedia.scala 115:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262356.10]
  assign phy_io_op_bits_data = io_link_tx_bits; // @[SPIMedia.scala 44:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262281.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  cs_id = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  cs_dflt_0 = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  cs_set = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  clear = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  cs_assert = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  state = _RAND_5[1:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (_T_84) begin
      if (!(cs_assert)) begin
        if (!(io_link_tx_valid)) begin
          cs_id <= io_ctrl_cs_id;
        end
      end
    end
    if (_T_84) begin
      if (!(cs_assert)) begin
        if (io_link_tx_valid) begin
          if (phy_io_op_ready) begin
            cs_dflt_0 <= cs_active_0;
          end
        end else begin
          cs_dflt_0 <= io_ctrl_cs_dflt_0;
        end
      end
    end else begin
      if (!(_T_86)) begin
        if (_T_89) begin
          if (phy_io_op_ready) begin
            cs_dflt_0 <= _T_92;
          end
        end
      end
    end
    if (_T_84) begin
      if (!(cs_assert)) begin
        if (io_link_tx_valid) begin
          if (phy_io_op_ready) begin
            cs_set <= io_link_cs_set;
          end
        end
      end
    end
    if (reset) begin
      clear <= 1'h0;
    end else begin
      if (_T_84) begin
        clear <= _T_81;
      end else begin
        if (_T_86) begin
          clear <= _T_81;
        end else begin
          if (_T_89) begin
            clear <= 1'h0;
          end else begin
            clear <= _T_81;
          end
        end
      end
    end
    if (reset) begin
      cs_assert <= 1'h0;
    end else begin
      if (_T_84) begin
        if (!(cs_assert)) begin
          if (io_link_tx_valid) begin
            if (phy_io_op_ready) begin
              cs_assert <= 1'h1;
            end
          end
        end
      end else begin
        if (!(_T_86)) begin
          if (_T_89) begin
            cs_assert <= 1'h0;
          end
        end
      end
    end
    if (reset) begin
      state <= 2'h0;
    end else begin
      if (_T_84) begin
        if (cs_assert) begin
          if (cs_deassert) begin
            if (phy_io_op_ready) begin
              state <= 2'h2;
            end
          end else begin
            if (_T_85) begin
              state <= 2'h1;
            end
          end
        end
      end else begin
        if (_T_86) begin
          if (_T_88) begin
            state <= 2'h0;
          end
        end else begin
          if (_T_89) begin
            if (phy_io_op_ready) begin
              state <= 2'h0;
            end
          end
        end
      end
    end
  end
endmodule
module SPIFlashMap( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262372.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262373.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262374.4]
  input         io_en, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  input  [1:0]  io_ctrl_insn_cmd_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  input  [7:0]  io_ctrl_insn_cmd_code, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  input         io_ctrl_insn_cmd_en, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  input  [1:0]  io_ctrl_insn_addr_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  input  [2:0]  io_ctrl_insn_addr_len, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  input  [7:0]  io_ctrl_insn_pad_code, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  input  [3:0]  io_ctrl_insn_pad_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  input  [1:0]  io_ctrl_insn_data_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  input         io_ctrl_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  output        io_addr_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  input         io_addr_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  input  [31:0] io_addr_bits_next, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  input  [31:0] io_addr_bits_hold, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  input         io_data_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  output        io_data_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  output [7:0]  io_data_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  input         io_link_tx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  output        io_link_tx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  output [7:0]  io_link_tx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  input         io_link_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  input  [7:0]  io_link_rx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  output [7:0]  io_link_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  output [1:0]  io_link_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  output        io_link_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  output        io_link_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  output        io_link_cs_clear, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  input         io_link_active, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
  output        io_link_lock // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262375.4]
);
  wire [31:0] addr; // @[SPIFlash.scala 55:32:shc.marmotcaravel.MarmotCaravelConfig.fir@262381.4]
  wire  _T_30; // @[SPIFlash.scala 56:52:shc.marmotcaravel.MarmotCaravelConfig.fir@262382.4]
  wire  merge; // @[SPIFlash.scala 56:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262383.4]
  wire  _T_31; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262388.4]
  wire  _T_32; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262389.4]
  wire  _T_33; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262390.4]
  wire [3:0] _T_35; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262391.4]
  wire [2:0] _T_36; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262392.4]
  wire [1:0] _T_37; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262393.4]
  wire [3:0] _GEN_73; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262394.4]
  wire [3:0] _T_38; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262394.4]
  wire [3:0] _GEN_74; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262395.4]
  wire [3:0] _T_39; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262395.4]
  reg [3:0] cnt; // @[SPIFlash.scala 76:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262406.4]
  reg [31:0] _RAND_0;
  wire  cnt_cmp_0; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262410.4]
  wire  cnt_cmp_1; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262411.4]
  wire  cnt_cmp_2; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262412.4]
  wire  cnt_cmp_3; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262413.4]
  wire  cnt_cmp_4; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262414.4]
  wire  cnt_last; // @[SPIFlash.scala 80:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262415.4]
  wire  cnt_done; // @[SPIFlash.scala 81:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262416.4]
  wire  _T_44; // @[SPIFlash.scala 83:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262418.6]
  wire  _T_45; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@262420.6]
  wire [4:0] _T_46; // @[SPIFlash.scala 85:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262422.8]
  wire [4:0] _T_47; // @[SPIFlash.scala 85:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262423.8]
  wire [3:0] _T_48; // @[SPIFlash.scala 85:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262424.8]
  reg [2:0] state; // @[SPIFlash.scala 90:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262428.4]
  reg [31:0] _RAND_1;
  wire  _T_51; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262429.4]
  wire  _T_53; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262457.6]
  wire  _T_54; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262467.8]
  wire  _GEN_54; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
  wire  cnt_en; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262430.4]
  wire  _GEN_1; // @[SPIFlash.scala 82:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262417.4]
  wire  _GEN_4; // @[SPIFlash.scala 98:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262435.10]
  wire  _GEN_6; // @[SPIFlash.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262434.8]
  wire  _GEN_11; // @[SPIFlash.scala 95:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262432.6]
  wire  _GEN_12; // @[SPIFlash.scala 95:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262432.6]
  wire [7:0] _T_55; // @[SPIFlash.scala 130:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262469.10]
  wire [7:0] _T_56; // @[SPIFlash.scala 130:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262470.10]
  wire [7:0] _T_57; // @[SPIFlash.scala 130:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262471.10]
  wire [7:0] _T_58; // @[SPIFlash.scala 130:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262472.10]
  wire [7:0] _T_60; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262473.10]
  wire [7:0] _T_61; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262474.10]
  wire [7:0] _T_62; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262475.10]
  wire [7:0] _T_63; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262476.10]
  wire [7:0] _T_64; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262477.10]
  wire [7:0] _T_65; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262478.10]
  wire [7:0] _T_66; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262479.10]
  wire  _T_69; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262489.10]
  wire  _T_70; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262498.12]
  wire  _T_71; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262507.14]
  wire  _T_72; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@262511.16]
  wire  _T_73; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262517.16]
  wire [7:0] _GEN_21; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262518.16]
  wire  _GEN_23; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262508.14]
  wire  _GEN_24; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262508.14]
  wire [7:0] _GEN_26; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262508.14]
  wire [1:0] _GEN_27; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262499.12]
  wire  _GEN_28; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262499.12]
  wire  _GEN_30; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262499.12]
  wire  _GEN_31; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262499.12]
  wire [7:0] _GEN_32; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262499.12]
  wire [3:0] _GEN_33; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262490.10]
  wire [1:0] _GEN_36; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262490.10]
  wire  _GEN_37; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262490.10]
  wire  _GEN_38; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262490.10]
  wire  _GEN_39; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262490.10]
  wire [7:0] _GEN_40; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262490.10]
  wire [7:0] _GEN_41; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
  wire [3:0] _GEN_44; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
  wire [1:0] _GEN_45; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
  wire  _GEN_46; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
  wire  _GEN_47; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
  wire  _GEN_48; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
  wire [7:0] _GEN_49; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
  wire [1:0] _GEN_50; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
  wire [3:0] _GEN_55; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
  wire  _GEN_56; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
  wire  _GEN_57; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
  wire  _GEN_58; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
  wire [7:0] _GEN_59; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
  wire [3:0] _GEN_69; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262430.4]
  assign addr = io_addr_bits_hold + 32'h1; // @[SPIFlash.scala 55:32:shc.marmotcaravel.MarmotCaravelConfig.fir@262381.4]
  assign _T_30 = io_addr_bits_next == addr; // @[SPIFlash.scala 56:52:shc.marmotcaravel.MarmotCaravelConfig.fir@262382.4]
  assign merge = io_link_active & _T_30; // @[SPIFlash.scala 56:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262383.4]
  assign _T_31 = 2'h0 == io_link_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262388.4]
  assign _T_32 = 2'h1 == io_link_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262389.4]
  assign _T_33 = 2'h2 == io_link_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262390.4]
  assign _T_35 = _T_31 ? 4'h8 : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262391.4]
  assign _T_36 = _T_32 ? 3'h4 : 3'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262392.4]
  assign _T_37 = _T_33 ? 2'h2 : 2'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262393.4]
  assign _GEN_73 = {{1'd0}, _T_36}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262394.4]
  assign _T_38 = _T_35 | _GEN_73; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262394.4]
  assign _GEN_74 = {{2'd0}, _T_37}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262395.4]
  assign _T_39 = _T_38 | _GEN_74; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262395.4]
  assign cnt_cmp_0 = cnt == 4'h0; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262410.4]
  assign cnt_cmp_1 = cnt == 4'h1; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262411.4]
  assign cnt_cmp_2 = cnt == 4'h2; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262412.4]
  assign cnt_cmp_3 = cnt == 4'h3; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262413.4]
  assign cnt_cmp_4 = cnt == 4'h4; // @[SPIFlash.scala 78:48:shc.marmotcaravel.MarmotCaravelConfig.fir@262414.4]
  assign cnt_last = cnt_cmp_1 & io_link_tx_ready; // @[SPIFlash.scala 80:29:shc.marmotcaravel.MarmotCaravelConfig.fir@262415.4]
  assign cnt_done = cnt_last | cnt_cmp_0; // @[SPIFlash.scala 81:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262416.4]
  assign _T_44 = cnt_cmp_0 == 1'h0; // @[SPIFlash.scala 83:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262418.6]
  assign _T_45 = io_link_tx_ready & io_link_tx_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@262420.6]
  assign _T_46 = cnt - 4'h1; // @[SPIFlash.scala 85:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262422.8]
  assign _T_47 = $unsigned(_T_46); // @[SPIFlash.scala 85:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262423.8]
  assign _T_48 = _T_47[3:0]; // @[SPIFlash.scala 85:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262424.8]
  assign _T_51 = 3'h0 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262429.4]
  assign _T_53 = 3'h1 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262457.6]
  assign _T_54 = 3'h2 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262467.8]
  assign _GEN_54 = _T_53 ? 1'h0 : _T_54; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
  assign cnt_en = _T_51 ? 1'h0 : _GEN_54; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262430.4]
  assign _GEN_1 = cnt_en ? _T_44 : 1'h1; // @[SPIFlash.scala 82:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262417.4]
  assign _GEN_4 = merge ? 1'h0 : 1'h1; // @[SPIFlash.scala 98:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262435.10]
  assign _GEN_6 = io_addr_valid ? _GEN_4 : 1'h0; // @[SPIFlash.scala 97:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262434.8]
  assign _GEN_11 = io_en ? _GEN_6 : 1'h0; // @[SPIFlash.scala 95:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262432.6]
  assign _GEN_12 = io_en ? io_addr_valid : 1'h0; // @[SPIFlash.scala 95:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262432.6]
  assign _T_55 = io_addr_bits_hold[7:0]; // @[SPIFlash.scala 130:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262469.10]
  assign _T_56 = io_addr_bits_hold[15:8]; // @[SPIFlash.scala 130:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262470.10]
  assign _T_57 = io_addr_bits_hold[23:16]; // @[SPIFlash.scala 130:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262471.10]
  assign _T_58 = io_addr_bits_hold[31:24]; // @[SPIFlash.scala 130:33:shc.marmotcaravel.MarmotCaravelConfig.fir@262472.10]
  assign _T_60 = cnt_cmp_1 ? _T_55 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262473.10]
  assign _T_61 = cnt_cmp_2 ? _T_56 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262474.10]
  assign _T_62 = cnt_cmp_3 ? _T_57 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262475.10]
  assign _T_63 = cnt_cmp_4 ? _T_58 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262476.10]
  assign _T_64 = _T_60 | _T_61; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262477.10]
  assign _T_65 = _T_64 | _T_62; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262478.10]
  assign _T_66 = _T_65 | _T_63; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262479.10]
  assign _T_69 = 3'h3 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262489.10]
  assign _T_70 = 3'h4 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262498.12]
  assign _T_71 = 3'h5 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262507.14]
  assign _T_72 = io_data_ready & io_data_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@262511.16]
  assign _T_73 = 3'h6 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262517.16]
  assign _GEN_21 = _T_73 ? 8'h0 : io_link_rx_bits; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262518.16]
  assign _GEN_23 = _T_71 ? 1'h0 : _GEN_1; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262508.14]
  assign _GEN_24 = _T_71 ? io_link_rx_valid : _T_73; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262508.14]
  assign _GEN_26 = _T_71 ? io_link_rx_bits : _GEN_21; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262508.14]
  assign _GEN_27 = _T_70 ? io_ctrl_insn_data_proto : io_ctrl_insn_addr_proto; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262499.12]
  assign _GEN_28 = _T_70 ? 1'h0 : 1'h1; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262499.12]
  assign _GEN_30 = _T_70 ? _GEN_1 : _GEN_23; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262499.12]
  assign _GEN_31 = _T_70 ? 1'h0 : _GEN_24; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262499.12]
  assign _GEN_32 = _T_70 ? io_link_rx_bits : _GEN_26; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262499.12]
  assign _GEN_33 = _T_69 ? io_ctrl_insn_pad_cnt : _T_39; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262490.10]
  assign _GEN_36 = _T_69 ? io_ctrl_insn_addr_proto : _GEN_27; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262490.10]
  assign _GEN_37 = _T_69 ? 1'h1 : _GEN_28; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262490.10]
  assign _GEN_38 = _T_69 ? _GEN_1 : _GEN_30; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262490.10]
  assign _GEN_39 = _T_69 ? 1'h0 : _GEN_31; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262490.10]
  assign _GEN_40 = _T_69 ? io_link_rx_bits : _GEN_32; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262490.10]
  assign _GEN_41 = _T_54 ? _T_66 : io_ctrl_insn_pad_code; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
  assign _GEN_44 = _T_54 ? _T_39 : _GEN_33; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
  assign _GEN_45 = _T_54 ? io_ctrl_insn_addr_proto : _GEN_36; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
  assign _GEN_46 = _T_54 ? 1'h1 : _GEN_37; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
  assign _GEN_47 = _T_54 ? _GEN_1 : _GEN_38; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
  assign _GEN_48 = _T_54 ? 1'h0 : _GEN_39; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
  assign _GEN_49 = _T_54 ? io_link_rx_bits : _GEN_40; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262468.8]
  assign _GEN_50 = _T_53 ? io_ctrl_insn_cmd_proto : _GEN_45; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
  assign _GEN_55 = _T_53 ? _T_39 : _GEN_44; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
  assign _GEN_56 = _T_53 ? 1'h1 : _GEN_46; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
  assign _GEN_57 = _T_53 ? _GEN_1 : _GEN_47; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
  assign _GEN_58 = _T_53 ? 1'h0 : _GEN_48; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
  assign _GEN_59 = _T_53 ? io_link_rx_bits : _GEN_49; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@262458.6]
  assign _GEN_69 = _T_51 ? _T_39 : _GEN_55; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262430.4]
  assign io_addr_ready = 3'h0 == state; // @[SPIFlash.scala 72:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262403.4 SPIFlash.scala 96:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262433.8 SPIFlash.scala 108:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262449.8]
  assign io_data_valid = _T_51 ? 1'h0 : _GEN_58; // @[SPIFlash.scala 73:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262404.4 SPIFlash.scala 157:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262510.16 SPIFlash.scala 164:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262519.18]
  assign io_data_bits = _T_51 ? io_link_rx_bits : _GEN_59; // @[SPIFlash.scala 74:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262405.4 SPIFlash.scala 165:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262520.18]
  assign io_link_tx_valid = _T_51 ? 1'h0 : _GEN_57; // @[SPIFlash.scala 59:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262384.4 SPIFlash.scala 83:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262419.6 SPIFlash.scala 94:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262431.6 SPIFlash.scala 156:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262509.16]
  assign io_link_tx_bits = _T_53 ? io_ctrl_insn_cmd_code : _GEN_41; // @[SPIFlash.scala 118:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262460.8 SPIFlash.scala 126:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262482.10 SPIFlash.scala 141:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262492.12]
  assign io_link_cnt = {{4'd0}, _GEN_69}; // @[SPIFlash.scala 63:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262398.4 SPIFlash.scala 140:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262491.12]
  assign io_link_fmt_proto = _T_51 ? io_ctrl_insn_addr_proto : _GEN_50; // @[SPIFlash.scala 60:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262385.4 SPIFlash.scala 117:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262459.8 SPIFlash.scala 148:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262500.14]
  assign io_link_fmt_endian = io_ctrl_fmt_endian; // @[SPIFlash.scala 62:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262387.4]
  assign io_link_fmt_iodir = _T_51 ? 1'h1 : _GEN_56; // @[SPIFlash.scala 61:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262386.4 SPIFlash.scala 149:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262501.14]
  assign io_link_cs_clear = _T_51 ? _GEN_11 : 1'h0; // @[SPIFlash.scala 68:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262400.4 SPIFlash.scala 102:30:shc.marmotcaravel.MarmotCaravelConfig.fir@262441.12]
  assign io_link_lock = _T_51 ? _GEN_12 : 1'h1; // @[SPIFlash.scala 70:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262402.4 SPIFlash.scala 105:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262445.10 SPIFlash.scala 109:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262450.8]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  cnt = _RAND_0[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  state = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (_T_51) begin
      if (cnt_en) begin
        if (_T_45) begin
          cnt <= _T_48;
        end
      end
    end else begin
      if (_T_53) begin
        if (io_link_tx_ready) begin
          cnt <= {{1'd0}, io_ctrl_insn_addr_len};
        end else begin
          if (cnt_en) begin
            if (_T_45) begin
              cnt <= _T_48;
            end
          end
        end
      end else begin
        if (cnt_en) begin
          if (_T_45) begin
            cnt <= _T_48;
          end
        end
      end
    end
    if (reset) begin
      state <= 3'h0;
    end else begin
      if (_T_51) begin
        if (io_en) begin
          if (io_addr_valid) begin
            if (merge) begin
              state <= 3'h4;
            end else begin
              if (io_ctrl_insn_cmd_en) begin
                state <= 3'h1;
              end else begin
                state <= 3'h2;
              end
            end
          end
        end else begin
          if (io_addr_valid) begin
            state <= 3'h6;
          end
        end
      end else begin
        if (_T_53) begin
          if (io_link_tx_ready) begin
            state <= 3'h2;
          end
        end else begin
          if (_T_54) begin
            if (cnt_done) begin
              state <= 3'h3;
            end
          end else begin
            if (_T_69) begin
              if (io_link_tx_ready) begin
                state <= 3'h4;
              end
            end else begin
              if (_T_70) begin
                if (io_link_tx_ready) begin
                  state <= 3'h5;
                end
              end else begin
                if (_T_71) begin
                  if (_T_72) begin
                    state <= 3'h0;
                  end
                end else begin
                  if (_T_73) begin
                    if (io_data_ready) begin
                      state <= 3'h0;
                    end
                  end
                end
              end
            end
          end
        end
      end
    end
  end
endmodule
module SPIArbiter( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262526.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262527.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262528.4]
  output       io_inner_0_tx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  input        io_inner_0_tx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  input  [7:0] io_inner_0_tx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  output       io_inner_0_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  output [7:0] io_inner_0_rx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  input  [7:0] io_inner_0_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  input  [1:0] io_inner_0_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  input        io_inner_0_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  input        io_inner_0_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  input        io_inner_0_cs_clear, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  output       io_inner_0_active, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  input        io_inner_0_lock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  output       io_inner_1_tx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  input        io_inner_1_tx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  input  [7:0] io_inner_1_tx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  output       io_inner_1_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  output [7:0] io_inner_1_rx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  input  [7:0] io_inner_1_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  input  [1:0] io_inner_1_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  input        io_inner_1_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  input        io_inner_1_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  input        io_inner_1_cs_set, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  input        io_inner_1_cs_clear, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  input        io_inner_1_lock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  input        io_outer_tx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  output       io_outer_tx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  output [7:0] io_outer_tx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  input        io_outer_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  input  [7:0] io_outer_rx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  output [7:0] io_outer_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  output [1:0] io_outer_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  output       io_outer_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  output       io_outer_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  output       io_outer_cs_set, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  output       io_outer_cs_clear, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  output       io_outer_cs_hold, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  input        io_outer_active, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
  input        io_sel // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262529.4]
);
  reg  sel_0; // @[SPIArbiter.scala 17:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262538.4]
  reg [31:0] _RAND_0;
  reg  sel_1; // @[SPIArbiter.scala 17:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262538.4]
  reg [31:0] _RAND_1;
  wire  _T_192; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262539.4]
  wire  _T_193; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262540.4]
  wire [7:0] _T_198; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262545.4]
  wire [7:0] _T_199; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262546.4]
  wire [7:0] _T_204; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262551.4]
  wire [7:0] _T_205; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262552.4]
  wire [2:0] _T_210; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262557.4]
  wire [3:0] _T_211; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262558.4]
  wire [3:0] _T_212; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262559.4]
  wire [2:0] _T_213; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262560.4]
  wire [3:0] _T_214; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262561.4]
  wire [3:0] _T_215; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262562.4]
  wire [3:0] _T_216; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262563.4]
  wire  _T_224_clear; // @[SPIArbiter.scala 24:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262574.4]
  wire  nsel_0; // @[SPIArbiter.scala 34:37:shc.marmotcaravel.MarmotCaravelConfig.fir@262590.4]
  wire  _T_244; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262596.4]
  wire  _T_245; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262597.4]
  wire  lock; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262598.4]
  wire  _T_248; // @[SPIArbiter.scala 36:9:shc.marmotcaravel.MarmotCaravelConfig.fir@262601.4]
  wire [1:0] _T_249; // @[SPIArbiter.scala 38:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262604.6]
  wire [1:0] _T_250; // @[SPIArbiter.scala 38:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262605.6]
  wire  _T_251; // @[SPIArbiter.scala 38:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262606.6]
  wire  _GEN_0; // @[SPIArbiter.scala 38:39:shc.marmotcaravel.MarmotCaravelConfig.fir@262607.6]
  assign _T_192 = sel_0 ? io_inner_0_tx_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262539.4]
  assign _T_193 = sel_1 ? io_inner_1_tx_valid : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262540.4]
  assign _T_198 = sel_0 ? io_inner_0_tx_bits : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262545.4]
  assign _T_199 = sel_1 ? io_inner_1_tx_bits : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262546.4]
  assign _T_204 = sel_0 ? io_inner_0_cnt : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262551.4]
  assign _T_205 = sel_1 ? io_inner_1_cnt : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262552.4]
  assign _T_210 = {io_inner_0_fmt_proto,io_inner_0_fmt_endian}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262557.4]
  assign _T_211 = {_T_210,io_inner_0_fmt_iodir}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262558.4]
  assign _T_212 = sel_0 ? _T_211 : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262559.4]
  assign _T_213 = {io_inner_1_fmt_proto,io_inner_1_fmt_endian}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262560.4]
  assign _T_214 = {_T_213,io_inner_1_fmt_iodir}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262561.4]
  assign _T_215 = sel_1 ? _T_214 : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262562.4]
  assign _T_216 = _T_212 | _T_215; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262563.4]
  assign _T_224_clear = sel_0 ? io_inner_0_cs_clear : io_inner_1_cs_clear; // @[SPIArbiter.scala 24:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262574.4]
  assign nsel_0 = io_sel == 1'h0; // @[SPIArbiter.scala 34:37:shc.marmotcaravel.MarmotCaravelConfig.fir@262590.4]
  assign _T_244 = sel_0 ? io_inner_0_lock : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262596.4]
  assign _T_245 = sel_1 ? io_inner_1_lock : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262597.4]
  assign lock = _T_244 | _T_245; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@262598.4]
  assign _T_248 = lock == 1'h0; // @[SPIArbiter.scala 36:9:shc.marmotcaravel.MarmotCaravelConfig.fir@262601.4]
  assign _T_249 = {sel_1,sel_0}; // @[SPIArbiter.scala 38:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262604.6]
  assign _T_250 = {io_sel,nsel_0}; // @[SPIArbiter.scala 38:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262605.6]
  assign _T_251 = _T_249 != _T_250; // @[SPIArbiter.scala 38:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262606.6]
  assign _GEN_0 = _T_251 ? 1'h1 : _T_224_clear; // @[SPIArbiter.scala 38:39:shc.marmotcaravel.MarmotCaravelConfig.fir@262607.6]
  assign io_inner_0_tx_ready = io_outer_tx_ready & sel_0; // @[SPIArbiter.scala 28:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262577.4]
  assign io_inner_0_rx_valid = io_outer_rx_valid & sel_0; // @[SPIArbiter.scala 29:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262579.4]
  assign io_inner_0_rx_bits = io_outer_rx_bits; // @[SPIArbiter.scala 30:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262580.4]
  assign io_inner_0_active = io_outer_active & sel_0; // @[SPIArbiter.scala 31:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262582.4]
  assign io_inner_1_tx_ready = io_outer_tx_ready & sel_1; // @[SPIArbiter.scala 28:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262584.4]
  assign io_inner_1_rx_valid = io_outer_rx_valid & sel_1; // @[SPIArbiter.scala 29:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262586.4]
  assign io_inner_1_rx_bits = io_outer_rx_bits; // @[SPIArbiter.scala 30:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262587.4]
  assign io_outer_tx_valid = _T_192 | _T_193; // @[SPIArbiter.scala 19:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262544.4]
  assign io_outer_tx_bits = _T_198 | _T_199; // @[SPIArbiter.scala 20:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262550.4]
  assign io_outer_cnt = _T_204 | _T_205; // @[SPIArbiter.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262556.4]
  assign io_outer_fmt_proto = _T_216[3:2]; // @[SPIArbiter.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262573.4]
  assign io_outer_fmt_endian = _T_216[1]; // @[SPIArbiter.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262573.4]
  assign io_outer_fmt_iodir = _T_216[0]; // @[SPIArbiter.scala 22:16:shc.marmotcaravel.MarmotCaravelConfig.fir@262573.4]
  assign io_outer_cs_set = sel_0 ? 1'h1 : io_inner_1_cs_set; // @[SPIArbiter.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262575.4]
  assign io_outer_cs_clear = _T_248 ? _GEN_0 : _T_224_clear; // @[SPIArbiter.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262575.4 SPIArbiter.scala 39:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262608.8]
  assign io_outer_cs_hold = sel_0; // @[SPIArbiter.scala 24:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262575.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  sel_0 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  sel_1 = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      sel_0 <= 1'h1;
    end else begin
      if (_T_248) begin
        sel_0 <= nsel_0;
      end
    end
    if (reset) begin
      sel_1 <= 1'h0;
    end else begin
      if (_T_248) begin
        sel_1 <= io_sel;
      end
    end
  end
endmodule
module TLSPIFlash( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262612.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262613.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262614.4]
  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  output        auto_mem_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  input         auto_mem_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  input  [2:0]  auto_mem_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  input  [2:0]  auto_mem_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  input         auto_mem_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  input  [7:0]  auto_mem_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  input  [29:0] auto_mem_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  input         auto_mem_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  input         auto_mem_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  input         auto_mem_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  output        auto_mem_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  output        auto_mem_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  output [7:0]  auto_mem_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  output [7:0]  auto_mem_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  output        auto_io_out_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  input         auto_io_out_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  output        auto_io_out_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  output        auto_io_out_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  input         auto_io_out_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  output        auto_io_out_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  output        auto_io_out_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  input         auto_io_out_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  output        auto_io_out_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  output        auto_io_out_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  input         auto_io_out_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  output        auto_io_out_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  output        auto_io_out_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
  output        auto_io_out_cs_0 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262615.4]
);
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
  wire  buffer_1_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire  buffer_1_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire  buffer_1_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire  buffer_1_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire [2:0] buffer_1_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire [2:0] buffer_1_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire  buffer_1_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire [7:0] buffer_1_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire [29:0] buffer_1_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire  buffer_1_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire  buffer_1_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire  buffer_1_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire  buffer_1_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire  buffer_1_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire [7:0] buffer_1_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire [7:0] buffer_1_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire  buffer_1_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire  buffer_1_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire [2:0] buffer_1_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire [2:0] buffer_1_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire  buffer_1_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire [7:0] buffer_1_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire [29:0] buffer_1_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire  buffer_1_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire  buffer_1_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire  buffer_1_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire  buffer_1_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire  buffer_1_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire [7:0] buffer_1_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire [7:0] buffer_1_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262632.4]
  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262632.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262632.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262632.4]
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
  wire  TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
  wire [7:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
  wire [29:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
  wire  TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
  wire  TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
  wire [7:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
  wire  TLMonitor_1_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
  wire  TLMonitor_1_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
  wire  TLMonitor_1_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
  wire  TLMonitor_1_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
  wire [2:0] TLMonitor_1_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
  wire [2:0] TLMonitor_1_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
  wire [1:0] TLMonitor_1_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
  wire [5:0] TLMonitor_1_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
  wire [28:0] TLMonitor_1_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
  wire [3:0] TLMonitor_1_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
  wire  TLMonitor_1_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
  wire  TLMonitor_1_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
  wire  TLMonitor_1_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
  wire [2:0] TLMonitor_1_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
  wire [1:0] TLMonitor_1_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
  wire [5:0] TLMonitor_1_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
  wire  fifo_clock; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire  fifo_reset; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire [1:0] fifo_io_ctrl_fmt_proto; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire  fifo_io_ctrl_fmt_endian; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire  fifo_io_ctrl_fmt_iodir; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire [3:0] fifo_io_ctrl_fmt_len; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire [1:0] fifo_io_ctrl_cs_mode; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire [3:0] fifo_io_ctrl_wm_tx; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire [3:0] fifo_io_ctrl_wm_rx; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire  fifo_io_link_tx_ready; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire  fifo_io_link_tx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire [7:0] fifo_io_link_tx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire  fifo_io_link_rx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire [7:0] fifo_io_link_rx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire [7:0] fifo_io_link_cnt; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire [1:0] fifo_io_link_fmt_proto; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire  fifo_io_link_fmt_endian; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire  fifo_io_link_fmt_iodir; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire  fifo_io_link_cs_set; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire  fifo_io_link_cs_clear; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire  fifo_io_link_lock; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire  fifo_io_tx_ready; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire  fifo_io_tx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire [7:0] fifo_io_tx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire  fifo_io_rx_ready; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire  fifo_io_rx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire [7:0] fifo_io_rx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire  fifo_io_ip_txwm; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire  fifo_io_ip_rxwm; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
  wire  mac_clock; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_reset; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_io_port_sck; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_io_port_dq_0_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_io_port_dq_0_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_io_port_dq_0_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_io_port_dq_1_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_io_port_dq_1_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_io_port_dq_1_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_io_port_dq_2_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_io_port_dq_2_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_io_port_dq_2_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_io_port_dq_3_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_io_port_dq_3_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_io_port_dq_3_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_io_port_cs_0; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire [11:0] mac_io_ctrl_sck_div; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_io_ctrl_sck_pol; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_io_ctrl_sck_pha; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire [7:0] mac_io_ctrl_dla_cssck; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire [7:0] mac_io_ctrl_dla_sckcs; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire [7:0] mac_io_ctrl_dla_intercs; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire [7:0] mac_io_ctrl_dla_interxfr; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_io_ctrl_cs_id; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_io_ctrl_cs_dflt_0; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire [11:0] mac_io_ctrl_extradel_coarse; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire [4:0] mac_io_ctrl_sampledel_sd; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_io_link_tx_ready; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_io_link_tx_valid; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire [7:0] mac_io_link_tx_bits; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_io_link_rx_valid; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire [7:0] mac_io_link_rx_bits; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire [7:0] mac_io_link_cnt; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire [1:0] mac_io_link_fmt_proto; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_io_link_fmt_endian; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_io_link_fmt_iodir; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_io_link_cs_set; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_io_link_cs_clear; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_io_link_cs_hold; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  mac_io_link_active; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
  wire  flash_clock; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire  flash_reset; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire  flash_io_en; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire [1:0] flash_io_ctrl_insn_cmd_proto; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire [7:0] flash_io_ctrl_insn_cmd_code; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire  flash_io_ctrl_insn_cmd_en; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire [1:0] flash_io_ctrl_insn_addr_proto; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire [2:0] flash_io_ctrl_insn_addr_len; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire [7:0] flash_io_ctrl_insn_pad_code; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire [3:0] flash_io_ctrl_insn_pad_cnt; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire [1:0] flash_io_ctrl_insn_data_proto; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire  flash_io_ctrl_fmt_endian; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire  flash_io_addr_ready; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire  flash_io_addr_valid; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire [31:0] flash_io_addr_bits_next; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire [31:0] flash_io_addr_bits_hold; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire  flash_io_data_ready; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire  flash_io_data_valid; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire [7:0] flash_io_data_bits; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire  flash_io_link_tx_ready; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire  flash_io_link_tx_valid; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire [7:0] flash_io_link_tx_bits; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire  flash_io_link_rx_valid; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire [7:0] flash_io_link_rx_bits; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire [7:0] flash_io_link_cnt; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire [1:0] flash_io_link_fmt_proto; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire  flash_io_link_fmt_endian; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire  flash_io_link_fmt_iodir; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire  flash_io_link_cs_clear; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire  flash_io_link_active; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire  flash_io_link_lock; // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
  wire  arb_clock; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire  arb_reset; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire  arb_io_inner_0_tx_ready; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire  arb_io_inner_0_tx_valid; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire [7:0] arb_io_inner_0_tx_bits; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire  arb_io_inner_0_rx_valid; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire [7:0] arb_io_inner_0_rx_bits; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire [7:0] arb_io_inner_0_cnt; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire [1:0] arb_io_inner_0_fmt_proto; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire  arb_io_inner_0_fmt_endian; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire  arb_io_inner_0_fmt_iodir; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire  arb_io_inner_0_cs_clear; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire  arb_io_inner_0_active; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire  arb_io_inner_0_lock; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire  arb_io_inner_1_tx_ready; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire  arb_io_inner_1_tx_valid; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire [7:0] arb_io_inner_1_tx_bits; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire  arb_io_inner_1_rx_valid; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire [7:0] arb_io_inner_1_rx_bits; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire [7:0] arb_io_inner_1_cnt; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire [1:0] arb_io_inner_1_fmt_proto; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire  arb_io_inner_1_fmt_endian; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire  arb_io_inner_1_fmt_iodir; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire  arb_io_inner_1_cs_set; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire  arb_io_inner_1_cs_clear; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire  arb_io_inner_1_lock; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire  arb_io_outer_tx_ready; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire  arb_io_outer_tx_valid; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire [7:0] arb_io_outer_tx_bits; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire  arb_io_outer_rx_valid; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire [7:0] arb_io_outer_rx_bits; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire [7:0] arb_io_outer_cnt; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire [1:0] arb_io_outer_fmt_proto; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire  arb_io_outer_fmt_endian; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire  arb_io_outer_fmt_iodir; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire  arb_io_outer_cs_set; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire  arb_io_outer_cs_clear; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire  arb_io_outer_cs_hold; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire  arb_io_outer_active; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  wire  arb_io_sel; // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
  reg [1:0] ctrl_fmt_proto; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
  reg [31:0] _RAND_0;
  reg  ctrl_fmt_endian; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
  reg [31:0] _RAND_1;
  reg  ctrl_fmt_iodir; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
  reg [31:0] _RAND_2;
  reg [3:0] ctrl_fmt_len; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
  reg [31:0] _RAND_3;
  reg [11:0] ctrl_sck_div; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
  reg [31:0] _RAND_4;
  reg  ctrl_sck_pol; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
  reg [31:0] _RAND_5;
  reg  ctrl_sck_pha; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
  reg [31:0] _RAND_6;
  reg  ctrl_cs_id; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
  reg [31:0] _RAND_7;
  reg  ctrl_cs_dflt_0; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
  reg [31:0] _RAND_8;
  reg [1:0] ctrl_cs_mode; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
  reg [31:0] _RAND_9;
  reg [7:0] ctrl_dla_cssck; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
  reg [31:0] _RAND_10;
  reg [7:0] ctrl_dla_sckcs; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
  reg [31:0] _RAND_11;
  reg [7:0] ctrl_dla_intercs; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
  reg [31:0] _RAND_12;
  reg [7:0] ctrl_dla_interxfr; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
  reg [31:0] _RAND_13;
  reg [3:0] ctrl_wm_tx; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
  reg [31:0] _RAND_14;
  reg [3:0] ctrl_wm_rx; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
  reg [31:0] _RAND_15;
  reg [11:0] ctrl_extradel_coarse; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
  reg [31:0] _RAND_16;
  reg [4:0] ctrl_sampledel_sd; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262766.4]
  reg [31:0] _RAND_17;
  reg  ie_txwm; // @[TLSPI.scala 76:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262793.4]
  reg [31:0] _RAND_18;
  reg  ie_rxwm; // @[TLSPI.scala 76:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262793.4]
  reg [31:0] _RAND_19;
  wire  _T_650; // @[TLSPI.scala 78:35:shc.marmotcaravel.MarmotCaravelConfig.fir@262794.4]
  wire  _T_651; // @[TLSPI.scala 78:59:shc.marmotcaravel.MarmotCaravelConfig.fir@262795.4]
  wire  _T_655; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@262800.4]
  wire  _T_656; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262801.4]
  reg  a_size; // @[TLSPIFlash.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262813.4]
  reg [31:0] _RAND_20;
  reg [7:0] a_source; // @[TLSPIFlash.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262813.4]
  reg [31:0] _RAND_21;
  reg [29:0] a_address; // @[TLSPIFlash.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262813.4]
  reg [31:0] _RAND_22;
  wire  _T_108_a_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262642.4 TLSPIFlash.scala 70:13:shc.marmotcaravel.MarmotCaravelConfig.fir@262823.4]
  wire  _T_108_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262642.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262738.4]
  wire  _T_657; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@262814.4]
  wire  _T_108_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262642.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262738.4]
  wire [7:0] _T_108_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262642.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262738.4]
  wire [29:0] _T_108_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262642.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262738.4]
  wire [28:0] _T_658; // @[TLSPIFlash.scala 67:46:shc.marmotcaravel.MarmotCaravelConfig.fir@262818.4]
  wire [28:0] _T_659; // @[TLSPIFlash.scala 68:39:shc.marmotcaravel.MarmotCaravelConfig.fir@262820.4]
  reg [1:0] insn_cmd_proto; // @[TLSPIFlash.scala 76:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262847.4]
  reg [31:0] _RAND_23;
  reg [7:0] insn_cmd_code; // @[TLSPIFlash.scala 76:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262847.4]
  reg [31:0] _RAND_24;
  reg  insn_cmd_en; // @[TLSPIFlash.scala 76:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262847.4]
  reg [31:0] _RAND_25;
  reg [1:0] insn_addr_proto; // @[TLSPIFlash.scala 76:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262847.4]
  reg [31:0] _RAND_26;
  reg [2:0] insn_addr_len; // @[TLSPIFlash.scala 76:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262847.4]
  reg [31:0] _RAND_27;
  reg [7:0] insn_pad_code; // @[TLSPIFlash.scala 76:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262847.4]
  reg [31:0] _RAND_28;
  reg [3:0] insn_pad_cnt; // @[TLSPIFlash.scala 76:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262847.4]
  reg [31:0] _RAND_29;
  reg [1:0] insn_data_proto; // @[TLSPIFlash.scala 76:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262847.4]
  reg [31:0] _RAND_30;
  reg  flash_en; // @[TLSPIFlash.scala 77:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262848.4]
  reg [31:0] _RAND_31;
  wire [2:0] _T_174_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
  wire  _T_674; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262859.4]
  wire [28:0] _T_174_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
  wire [26:0] _T_675; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@262861.4]
  wire [5:0] _T_174_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
  wire [1:0] _T_174_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
  wire [7:0] _T_676; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262865.4]
  wire [9:0] _T_671_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262857.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262862.4]
  wire [9:0] _T_692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262873.4]
  wire  _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262875.4]
  wire [3:0] _T_174_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
  wire  _T_902; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@262919.4]
  wire  _T_903; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@262920.4]
  wire  _T_904; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@262921.4]
  wire  _T_905; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@262922.4]
  wire [7:0] _T_907; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262924.4]
  wire [7:0] _T_909; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262926.4]
  wire [7:0] _T_911; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262928.4]
  wire [7:0] _T_913; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262930.4]
  wire [15:0] _T_914; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262931.4]
  wire [15:0] _T_915; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262932.4]
  wire [31:0] _T_916; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262933.4]
  wire [11:0] _T_932; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262949.4]
  wire [11:0] _T_935; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262952.4]
  wire  _T_936; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262953.4]
  wire  _T_174_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
  wire  _T_174_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
  wire  _T_1917; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264025.4]
  wire  _T_1916; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264024.4]
  wire [1:0] _T_1924; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@264032.4]
  wire  _T_1915; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264023.4]
  wire [2:0] _T_1925; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@264033.4]
  wire  _T_1914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264022.4]
  wire  _T_1913; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264021.4]
  wire [1:0] _T_1923; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@264031.4]
  wire [4:0] _T_1926; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@264034.4]
  wire  _T_1993; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264101.4]
  wire  _T_1994; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264102.4]
  wire [31:0] _T_1927; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@264035.4]
  wire  _T_1928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264036.4]
  wire  _T_2229; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264401.4]
  wire  _T_2230; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264402.4]
  wire  _T_2233; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264405.4]
  wire  _T_2234; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264406.4]
  wire  _T_944; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262961.4]
  wire [31:0] _T_174_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
  wire [11:0] _T_946; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262963.4]
  wire  _T_957; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262977.4]
  wire  _T_960; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262980.4]
  wire  _T_961; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262981.4]
  wire  _T_1933; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264041.4]
  wire  _T_2263; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264444.4]
  wire  _T_2264; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264445.4]
  wire  _T_969; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262989.4]
  wire  _T_971; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262991.4]
  wire [7:0] _T_982; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263005.4]
  wire  _T_983; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263006.4]
  wire [7:0] _T_985; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263008.4]
  wire  _T_986; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263009.4]
  wire  _T_1938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264046.4]
  wire  _T_2293; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264481.4]
  wire  _T_2294; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264482.4]
  wire  _T_994; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263017.4]
  wire [7:0] _T_996; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263019.4]
  wire [7:0] _T_1007; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263033.4]
  wire [7:0] _T_1010; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263036.4]
  wire  _T_1011; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263037.4]
  wire  _T_1019; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263045.4]
  wire [7:0] _T_1021; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263047.4]
  wire [15:0] _T_1030; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263059.4]
  wire [23:0] _T_1031; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263060.4]
  wire  _T_1952; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264060.4]
  wire  _T_2377; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264597.4]
  wire  _T_2378; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264598.4]
  wire  _T_1046; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263075.4]
  wire  _T_1953; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264061.4]
  wire  _T_2383; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264605.4]
  wire  _T_2384; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264606.4]
  wire  _T_1071; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263103.4]
  wire [2:0] _T_1084; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263119.4]
  wire [2:0] _T_1087; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263122.4]
  wire  _T_1088; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263123.4]
  wire  _T_1096; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263131.4]
  wire [2:0] _T_1098; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263133.4]
  wire [3:0] _T_1108; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263146.4]
  wire [3:0] _T_1111; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263149.4]
  wire [3:0] _T_1114; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263152.4]
  wire  _T_1115; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263153.4]
  wire  _T_1123; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263161.4]
  wire [3:0] _T_1125; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263163.4]
  wire [7:0] _T_1135; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263176.4]
  wire [1:0] _T_1138; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263179.4]
  wire [1:0] _T_1141; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263182.4]
  wire  _T_1142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263183.4]
  wire  _T_1150; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263191.4]
  wire [1:0] _T_1152; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263193.4]
  wire [9:0] _T_1162; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263206.4]
  wire [1:0] _T_1165; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263209.4]
  wire [1:0] _T_1168; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263212.4]
  wire  _T_1169; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263213.4]
  wire  _T_1177; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263221.4]
  wire [1:0] _T_1179; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263223.4]
  wire [11:0] _T_1189; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263236.4]
  wire [1:0] _T_1192; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263239.4]
  wire [1:0] _T_1195; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263242.4]
  wire  _T_1196; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263243.4]
  wire  _T_1204; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263251.4]
  wire [1:0] _T_1206; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263253.4]
  wire [13:0] _T_1216; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263266.4]
  wire  _T_1231; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263281.4]
  wire [15:0] _T_1242; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263295.4]
  wire [23:0] _T_1243; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263296.4]
  wire [7:0] _T_1246; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263299.4]
  wire [7:0] _T_1249; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263302.4]
  wire  _T_1250; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263303.4]
  wire  _T_1258; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263311.4]
  wire [7:0] _T_1260; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263313.4]
  wire [31:0] _T_1270; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263326.4]
  wire  _T_1942; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264050.4]
  wire  _T_2317; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264513.4]
  wire  _T_2318; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264514.4]
  wire  _T_1285; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263341.4]
  wire [3:0] _T_1298; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263357.4]
  wire [3:0] _T_1301; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263360.4]
  wire  _T_1302; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263361.4]
  wire  _T_1948; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264056.4]
  wire  _T_2353; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264567.4]
  wire  _T_2354; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264568.4]
  wire  _T_1310; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263369.4]
  wire [3:0] _T_1312; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263371.4]
  wire  _T_1346; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263408.4]
  wire  _T_1348; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263410.4]
  wire  _T_1351; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263413.4]
  wire  _T_1352; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263414.4]
  wire  _T_1362; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263424.4]
  wire [1:0] _T_1372; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263434.4]
  wire  _T_1929; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264037.4]
  wire  _T_2239; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264413.4]
  wire  _T_2240; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264414.4]
  wire  _T_1387; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263449.4]
  wire  _T_1412; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263477.4]
  wire [1:0] _T_1424; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263492.4]
  wire [1:0] _T_1427; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263495.4]
  wire [1:0] _T_1430; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263498.4]
  wire  _T_1431; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263499.4]
  wire  _T_1934; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264042.4]
  wire  _T_2269; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264452.4]
  wire  _T_2270; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264453.4]
  wire  _T_1439; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263507.4]
  wire [1:0] _T_1441; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263509.4]
  wire  _T_1956; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264064.4]
  wire  _T_2401; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264634.4]
  wire  _T_2402; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264635.4]
  wire  _T_1464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263535.4]
  wire  _T_1489; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263563.4]
  wire [1:0] _T_1501; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263578.4]
  wire  _T_1949; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264057.4]
  wire  _T_2359; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264575.4]
  wire  _T_2360; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264576.4]
  wire  _T_1516; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263593.4]
  wire  _T_1946; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264054.4]
  wire  _T_2341; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264547.4]
  wire  _T_2342; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264548.4]
  wire  _T_1541; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263621.4]
  wire  _T_1590; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263672.4]
  wire  _T_1591; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263673.4]
  wire  _T_1592; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263674.4]
  wire  _T_1596; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263678.4]
  wire  _T_1597; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263679.4]
  wire  _T_1599; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@263681.4]
  wire  _T_1544; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@263624.4]
  wire [31:0] _T_1609; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263692.4]
  wire  _T_1944; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264052.4]
  wire  _T_2329; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264529.4]
  wire  _T_2330; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264530.4]
  wire  _T_1624; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263707.4]
  wire  _T_1637; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263723.4]
  wire  _T_1640; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263726.4]
  wire  _T_1641; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263727.4]
  wire  _T_1649; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263735.4]
  wire  _T_1651; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263737.4]
  wire [2:0] _T_1661; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263750.4]
  wire  _T_1664; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263753.4]
  wire  _T_1667; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263756.4]
  wire  _T_1668; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263757.4]
  wire  _T_1676; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263765.4]
  wire  _T_1678; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263767.4]
  wire [3:0] _T_1688; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263780.4]
  wire [3:0] _T_1691; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263783.4]
  wire [3:0] _T_1694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263786.4]
  wire  _T_1695; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263787.4]
  wire  _T_1703; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263795.4]
  wire [3:0] _T_1705; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263797.4]
  wire [15:0] _T_1714; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263809.4]
  wire [19:0] _T_1715; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263810.4]
  wire  _T_1939; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264047.4]
  wire  _T_2299; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264490.4]
  wire  _T_2300; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264491.4]
  wire  _T_1730; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263825.4]
  wire  _T_1755; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263853.4]
  wire [15:0] _T_1766; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263867.4]
  wire [23:0] _T_1767; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263868.4]
  wire  _T_1947; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264055.4]
  wire  _T_2111; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264257.4]
  wire  _T_2112; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264258.4]
  wire [7:0] _T_1793; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263895.4]
  wire [8:0] _T_1819; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263921.4]
  wire [30:0] _T_1820; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263922.4]
  wire [31:0] _T_1846; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263948.4]
  wire  _T_1932; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264040.4]
  wire  _T_2257; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264436.4]
  wire  _T_2258; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264437.4]
  wire  _T_1861; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263963.4]
  wire [4:0] _T_1874; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263979.4]
  wire [4:0] _T_1877; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263982.4]
  wire  _T_1878; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263983.4]
  wire  _T_1943; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264051.4]
  wire  _T_2323; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264521.4]
  wire  _T_2324; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264522.4]
  wire  _T_1886; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263991.4]
  wire [4:0] _T_1888; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263993.4]
  wire  _GEN_166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_167; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_168; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_180; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_181; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire  _GEN_196; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  wire [31:0] _T_2986_0; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265349.4]
  wire [31:0] _T_2986_1; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265350.4]
  wire [31:0] _GEN_198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _GEN_199; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _GEN_200; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _T_2986_4; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265353.4]
  wire [31:0] _GEN_201; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _T_2986_5; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265354.4]
  wire [31:0] _GEN_202; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _T_2986_6; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265355.4]
  wire [31:0] _GEN_203; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _GEN_204; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _GEN_205; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _GEN_206; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _T_2986_10; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265359.4]
  wire [31:0] _GEN_207; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _T_2986_11; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265360.4]
  wire [31:0] _GEN_208; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _GEN_209; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _GEN_210; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _T_2986_14; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265363.4]
  wire [31:0] _GEN_211; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _T_2986_15; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265364.4]
  wire [31:0] _GEN_212; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _T_2986_16; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265365.4]
  wire [31:0] _GEN_213; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _GEN_214; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _GEN_215; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _GEN_216; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _T_2986_20; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265369.4]
  wire [31:0] _GEN_217; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _T_2986_21; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265370.4]
  wire [31:0] _GEN_218; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _GEN_219; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _GEN_220; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _T_2986_24; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265373.4]
  wire [31:0] _GEN_221; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _GEN_222; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _GEN_223; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _GEN_224; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _T_2986_28; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265377.4]
  wire [31:0] _GEN_225; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _T_2986_29; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265378.4]
  wire [31:0] _GEN_226; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _GEN_227; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  wire [31:0] _GEN_228; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  TLBuffer_22 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262620.4]
    .clock(buffer_clock),
    .reset(buffer_reset),
    .auto_in_a_ready(buffer_auto_in_a_ready),
    .auto_in_a_valid(buffer_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_auto_in_d_ready),
    .auto_in_d_valid(buffer_auto_in_d_valid),
    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
    .auto_out_a_ready(buffer_auto_out_a_ready),
    .auto_out_a_valid(buffer_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_auto_out_d_ready),
    .auto_out_d_valid(buffer_auto_out_d_valid),
    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
  );
  TLBuffer_23 buffer_1 ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@262626.4]
    .clock(buffer_1_clock),
    .reset(buffer_1_reset),
    .auto_in_a_ready(buffer_1_auto_in_a_ready),
    .auto_in_a_valid(buffer_1_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_1_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_1_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_1_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_1_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_1_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_1_auto_in_a_bits_mask),
    .auto_in_a_bits_corrupt(buffer_1_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_1_auto_in_d_ready),
    .auto_in_d_valid(buffer_1_auto_in_d_valid),
    .auto_in_d_bits_size(buffer_1_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_1_auto_in_d_bits_source),
    .auto_in_d_bits_data(buffer_1_auto_in_d_bits_data),
    .auto_out_a_ready(buffer_1_auto_out_a_ready),
    .auto_out_a_valid(buffer_1_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_1_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_1_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_1_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_1_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_1_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_1_auto_out_a_bits_mask),
    .auto_out_a_bits_corrupt(buffer_1_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_1_auto_out_d_ready),
    .auto_out_d_valid(buffer_1_auto_out_d_valid),
    .auto_out_d_bits_size(buffer_1_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_1_auto_out_d_bits_source),
    .auto_out_d_bits_data(buffer_1_auto_out_d_bits_data)
  );
  IntSyncCrossingSource_3 intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262632.4]
    .clock(intsource_clock),
    .reset(intsource_reset),
    .auto_in_0(intsource_auto_in_0),
    .auto_out_sync_0(intsource_auto_out_sync_0)
  );
  TLMonitor_70 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262644.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  TLMonitor_71 TLMonitor_1 ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262683.4]
    .clock(TLMonitor_1_clock),
    .reset(TLMonitor_1_reset),
    .io_in_a_ready(TLMonitor_1_io_in_a_ready),
    .io_in_a_valid(TLMonitor_1_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_1_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_1_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_1_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_1_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_1_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_1_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_1_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_1_io_in_d_ready),
    .io_in_d_valid(TLMonitor_1_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_1_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_1_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_1_io_in_d_bits_source)
  );
  SPIFIFO fifo ( // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262767.4]
    .clock(fifo_clock),
    .reset(fifo_reset),
    .io_ctrl_fmt_proto(fifo_io_ctrl_fmt_proto),
    .io_ctrl_fmt_endian(fifo_io_ctrl_fmt_endian),
    .io_ctrl_fmt_iodir(fifo_io_ctrl_fmt_iodir),
    .io_ctrl_fmt_len(fifo_io_ctrl_fmt_len),
    .io_ctrl_cs_mode(fifo_io_ctrl_cs_mode),
    .io_ctrl_wm_tx(fifo_io_ctrl_wm_tx),
    .io_ctrl_wm_rx(fifo_io_ctrl_wm_rx),
    .io_link_tx_ready(fifo_io_link_tx_ready),
    .io_link_tx_valid(fifo_io_link_tx_valid),
    .io_link_tx_bits(fifo_io_link_tx_bits),
    .io_link_rx_valid(fifo_io_link_rx_valid),
    .io_link_rx_bits(fifo_io_link_rx_bits),
    .io_link_cnt(fifo_io_link_cnt),
    .io_link_fmt_proto(fifo_io_link_fmt_proto),
    .io_link_fmt_endian(fifo_io_link_fmt_endian),
    .io_link_fmt_iodir(fifo_io_link_fmt_iodir),
    .io_link_cs_set(fifo_io_link_cs_set),
    .io_link_cs_clear(fifo_io_link_cs_clear),
    .io_link_lock(fifo_io_link_lock),
    .io_tx_ready(fifo_io_tx_ready),
    .io_tx_valid(fifo_io_tx_valid),
    .io_tx_bits(fifo_io_tx_bits),
    .io_rx_ready(fifo_io_rx_ready),
    .io_rx_valid(fifo_io_rx_valid),
    .io_rx_bits(fifo_io_rx_bits),
    .io_ip_txwm(fifo_io_ip_txwm),
    .io_ip_rxwm(fifo_io_ip_rxwm)
  );
  SPIMedia mac ( // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262771.4]
    .clock(mac_clock),
    .reset(mac_reset),
    .io_port_sck(mac_io_port_sck),
    .io_port_dq_0_i(mac_io_port_dq_0_i),
    .io_port_dq_0_o(mac_io_port_dq_0_o),
    .io_port_dq_0_oe(mac_io_port_dq_0_oe),
    .io_port_dq_1_i(mac_io_port_dq_1_i),
    .io_port_dq_1_o(mac_io_port_dq_1_o),
    .io_port_dq_1_oe(mac_io_port_dq_1_oe),
    .io_port_dq_2_i(mac_io_port_dq_2_i),
    .io_port_dq_2_o(mac_io_port_dq_2_o),
    .io_port_dq_2_oe(mac_io_port_dq_2_oe),
    .io_port_dq_3_i(mac_io_port_dq_3_i),
    .io_port_dq_3_o(mac_io_port_dq_3_o),
    .io_port_dq_3_oe(mac_io_port_dq_3_oe),
    .io_port_cs_0(mac_io_port_cs_0),
    .io_ctrl_sck_div(mac_io_ctrl_sck_div),
    .io_ctrl_sck_pol(mac_io_ctrl_sck_pol),
    .io_ctrl_sck_pha(mac_io_ctrl_sck_pha),
    .io_ctrl_dla_cssck(mac_io_ctrl_dla_cssck),
    .io_ctrl_dla_sckcs(mac_io_ctrl_dla_sckcs),
    .io_ctrl_dla_intercs(mac_io_ctrl_dla_intercs),
    .io_ctrl_dla_interxfr(mac_io_ctrl_dla_interxfr),
    .io_ctrl_cs_id(mac_io_ctrl_cs_id),
    .io_ctrl_cs_dflt_0(mac_io_ctrl_cs_dflt_0),
    .io_ctrl_extradel_coarse(mac_io_ctrl_extradel_coarse),
    .io_ctrl_sampledel_sd(mac_io_ctrl_sampledel_sd),
    .io_link_tx_ready(mac_io_link_tx_ready),
    .io_link_tx_valid(mac_io_link_tx_valid),
    .io_link_tx_bits(mac_io_link_tx_bits),
    .io_link_rx_valid(mac_io_link_rx_valid),
    .io_link_rx_bits(mac_io_link_rx_bits),
    .io_link_cnt(mac_io_link_cnt),
    .io_link_fmt_proto(mac_io_link_fmt_proto),
    .io_link_fmt_endian(mac_io_link_fmt_endian),
    .io_link_fmt_iodir(mac_io_link_fmt_iodir),
    .io_link_cs_set(mac_io_link_cs_set),
    .io_link_cs_clear(mac_io_link_cs_clear),
    .io_link_cs_hold(mac_io_link_cs_hold),
    .io_link_active(mac_io_link_active)
  );
  SPIFlashMap flash ( // @[TLSPIFlash.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262802.4]
    .clock(flash_clock),
    .reset(flash_reset),
    .io_en(flash_io_en),
    .io_ctrl_insn_cmd_proto(flash_io_ctrl_insn_cmd_proto),
    .io_ctrl_insn_cmd_code(flash_io_ctrl_insn_cmd_code),
    .io_ctrl_insn_cmd_en(flash_io_ctrl_insn_cmd_en),
    .io_ctrl_insn_addr_proto(flash_io_ctrl_insn_addr_proto),
    .io_ctrl_insn_addr_len(flash_io_ctrl_insn_addr_len),
    .io_ctrl_insn_pad_code(flash_io_ctrl_insn_pad_code),
    .io_ctrl_insn_pad_cnt(flash_io_ctrl_insn_pad_cnt),
    .io_ctrl_insn_data_proto(flash_io_ctrl_insn_data_proto),
    .io_ctrl_fmt_endian(flash_io_ctrl_fmt_endian),
    .io_addr_ready(flash_io_addr_ready),
    .io_addr_valid(flash_io_addr_valid),
    .io_addr_bits_next(flash_io_addr_bits_next),
    .io_addr_bits_hold(flash_io_addr_bits_hold),
    .io_data_ready(flash_io_data_ready),
    .io_data_valid(flash_io_data_valid),
    .io_data_bits(flash_io_data_bits),
    .io_link_tx_ready(flash_io_link_tx_ready),
    .io_link_tx_valid(flash_io_link_tx_valid),
    .io_link_tx_bits(flash_io_link_tx_bits),
    .io_link_rx_valid(flash_io_link_rx_valid),
    .io_link_rx_bits(flash_io_link_rx_bits),
    .io_link_cnt(flash_io_link_cnt),
    .io_link_fmt_proto(flash_io_link_fmt_proto),
    .io_link_fmt_endian(flash_io_link_fmt_endian),
    .io_link_fmt_iodir(flash_io_link_fmt_iodir),
    .io_link_cs_clear(flash_io_link_cs_clear),
    .io_link_active(flash_io_link_active),
    .io_link_lock(flash_io_link_lock)
  );
  SPIArbiter arb ( // @[TLSPIFlash.scala 52:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262806.4]
    .clock(arb_clock),
    .reset(arb_reset),
    .io_inner_0_tx_ready(arb_io_inner_0_tx_ready),
    .io_inner_0_tx_valid(arb_io_inner_0_tx_valid),
    .io_inner_0_tx_bits(arb_io_inner_0_tx_bits),
    .io_inner_0_rx_valid(arb_io_inner_0_rx_valid),
    .io_inner_0_rx_bits(arb_io_inner_0_rx_bits),
    .io_inner_0_cnt(arb_io_inner_0_cnt),
    .io_inner_0_fmt_proto(arb_io_inner_0_fmt_proto),
    .io_inner_0_fmt_endian(arb_io_inner_0_fmt_endian),
    .io_inner_0_fmt_iodir(arb_io_inner_0_fmt_iodir),
    .io_inner_0_cs_clear(arb_io_inner_0_cs_clear),
    .io_inner_0_active(arb_io_inner_0_active),
    .io_inner_0_lock(arb_io_inner_0_lock),
    .io_inner_1_tx_ready(arb_io_inner_1_tx_ready),
    .io_inner_1_tx_valid(arb_io_inner_1_tx_valid),
    .io_inner_1_tx_bits(arb_io_inner_1_tx_bits),
    .io_inner_1_rx_valid(arb_io_inner_1_rx_valid),
    .io_inner_1_rx_bits(arb_io_inner_1_rx_bits),
    .io_inner_1_cnt(arb_io_inner_1_cnt),
    .io_inner_1_fmt_proto(arb_io_inner_1_fmt_proto),
    .io_inner_1_fmt_endian(arb_io_inner_1_fmt_endian),
    .io_inner_1_fmt_iodir(arb_io_inner_1_fmt_iodir),
    .io_inner_1_cs_set(arb_io_inner_1_cs_set),
    .io_inner_1_cs_clear(arb_io_inner_1_cs_clear),
    .io_inner_1_lock(arb_io_inner_1_lock),
    .io_outer_tx_ready(arb_io_outer_tx_ready),
    .io_outer_tx_valid(arb_io_outer_tx_valid),
    .io_outer_tx_bits(arb_io_outer_tx_bits),
    .io_outer_rx_valid(arb_io_outer_rx_valid),
    .io_outer_rx_bits(arb_io_outer_rx_bits),
    .io_outer_cnt(arb_io_outer_cnt),
    .io_outer_fmt_proto(arb_io_outer_fmt_proto),
    .io_outer_fmt_endian(arb_io_outer_fmt_endian),
    .io_outer_fmt_iodir(arb_io_outer_fmt_iodir),
    .io_outer_cs_set(arb_io_outer_cs_set),
    .io_outer_cs_clear(arb_io_outer_cs_clear),
    .io_outer_cs_hold(arb_io_outer_cs_hold),
    .io_outer_active(arb_io_outer_active),
    .io_sel(arb_io_sel)
  );
  assign _T_650 = fifo_io_ip_txwm & ie_txwm; // @[TLSPI.scala 78:35:shc.marmotcaravel.MarmotCaravelConfig.fir@262794.4]
  assign _T_651 = fifo_io_ip_rxwm & ie_rxwm; // @[TLSPI.scala 78:59:shc.marmotcaravel.MarmotCaravelConfig.fir@262795.4]
  assign _T_655 = fifo_io_tx_ready == 1'h0; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@262800.4]
  assign _T_656 = fifo_io_rx_valid == 1'h0; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262801.4]
  assign _T_108_a_ready = flash_io_addr_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262642.4 TLSPIFlash.scala 70:13:shc.marmotcaravel.MarmotCaravelConfig.fir@262823.4]
  assign _T_108_a_valid = buffer_1_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262642.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262738.4]
  assign _T_657 = _T_108_a_ready & _T_108_a_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@262814.4]
  assign _T_108_a_bits_size = buffer_1_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262642.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262738.4]
  assign _T_108_a_bits_source = buffer_1_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262642.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262738.4]
  assign _T_108_a_bits_address = buffer_1_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262642.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262738.4]
  assign _T_658 = _T_108_a_bits_address[28:0]; // @[TLSPIFlash.scala 67:46:shc.marmotcaravel.MarmotCaravelConfig.fir@262818.4]
  assign _T_659 = a_address[28:0]; // @[TLSPIFlash.scala 68:39:shc.marmotcaravel.MarmotCaravelConfig.fir@262820.4]
  assign _T_174_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
  assign _T_674 = _T_174_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@262859.4]
  assign _T_174_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
  assign _T_675 = _T_174_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@262861.4]
  assign _T_174_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
  assign _T_174_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
  assign _T_676 = {_T_174_a_bits_source,_T_174_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262865.4]
  assign _T_671_bits_index = _T_675[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262857.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262862.4]
  assign _T_692 = _T_671_bits_index & 10'h3e0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262873.4]
  assign _T_694 = _T_692 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262875.4]
  assign _T_174_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
  assign _T_902 = _T_174_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@262919.4]
  assign _T_903 = _T_174_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@262920.4]
  assign _T_904 = _T_174_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@262921.4]
  assign _T_905 = _T_174_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@262922.4]
  assign _T_907 = _T_902 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262924.4]
  assign _T_909 = _T_903 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262926.4]
  assign _T_911 = _T_904 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262928.4]
  assign _T_913 = _T_905 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@262930.4]
  assign _T_914 = {_T_909,_T_907}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262931.4]
  assign _T_915 = {_T_913,_T_911}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262932.4]
  assign _T_916 = {_T_915,_T_914}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@262933.4]
  assign _T_932 = _T_916[11:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262949.4]
  assign _T_935 = ~ _T_932; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262952.4]
  assign _T_936 = _T_935 == 12'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262953.4]
  assign _T_174_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
  assign _T_174_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
  assign _T_1917 = _T_671_bits_index[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264025.4]
  assign _T_1916 = _T_671_bits_index[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264024.4]
  assign _T_1924 = {_T_1917,_T_1916}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@264032.4]
  assign _T_1915 = _T_671_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264023.4]
  assign _T_1925 = {_T_1924,_T_1915}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@264033.4]
  assign _T_1914 = _T_671_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264022.4]
  assign _T_1913 = _T_671_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264021.4]
  assign _T_1923 = {_T_1914,_T_1913}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@264031.4]
  assign _T_1926 = {_T_1925,_T_1923}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@264034.4]
  assign _T_1993 = _T_174_a_valid & _T_174_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264101.4]
  assign _T_1994 = _T_1993 & _T_674; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264102.4]
  assign _T_1927 = 32'h1 << _T_1926; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@264035.4]
  assign _T_1928 = _T_1927[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264036.4]
  assign _T_2229 = _T_674 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264401.4]
  assign _T_2230 = _T_1993 & _T_2229; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264402.4]
  assign _T_2233 = _T_2230 & _T_1928; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264405.4]
  assign _T_2234 = _T_2233 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264406.4]
  assign _T_944 = _T_2234 & _T_936; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262961.4]
  assign _T_174_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@262681.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
  assign _T_946 = _T_174_a_bits_data[11:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262963.4]
  assign _T_957 = _T_916[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262977.4]
  assign _T_960 = ~ _T_957; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262980.4]
  assign _T_961 = _T_960 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262981.4]
  assign _T_1933 = _T_1927[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264041.4]
  assign _T_2263 = _T_2230 & _T_1933; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264444.4]
  assign _T_2264 = _T_2263 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264445.4]
  assign _T_969 = _T_2264 & _T_961; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262989.4]
  assign _T_971 = _T_174_a_bits_data[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262991.4]
  assign _T_982 = _T_916[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263005.4]
  assign _T_983 = _T_982 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263006.4]
  assign _T_985 = ~ _T_982; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263008.4]
  assign _T_986 = _T_985 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263009.4]
  assign _T_1938 = _T_1927[10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264046.4]
  assign _T_2293 = _T_2230 & _T_1938; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264481.4]
  assign _T_2294 = _T_2293 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264482.4]
  assign _T_994 = _T_2294 & _T_986; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263017.4]
  assign _T_996 = _T_174_a_bits_data[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263019.4]
  assign _T_1007 = _T_916[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263033.4]
  assign _T_1010 = ~ _T_1007; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263036.4]
  assign _T_1011 = _T_1010 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263037.4]
  assign _T_1019 = _T_2294 & _T_1011; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263045.4]
  assign _T_1021 = _T_174_a_bits_data[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263047.4]
  assign _T_1030 = {{8'd0}, ctrl_dla_cssck}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263059.4]
  assign _T_1031 = {ctrl_dla_sckcs,_T_1030}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263060.4]
  assign _T_1952 = _T_1927[24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264060.4]
  assign _T_2377 = _T_2230 & _T_1952; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264597.4]
  assign _T_2378 = _T_2377 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264598.4]
  assign _T_1046 = _T_2378 & _T_961; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263075.4]
  assign _T_1953 = _T_1927[25]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264061.4]
  assign _T_2383 = _T_2230 & _T_1953; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264605.4]
  assign _T_2384 = _T_2383 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264606.4]
  assign _T_1071 = _T_2384 & _T_961; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263103.4]
  assign _T_1084 = _T_916[3:1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263119.4]
  assign _T_1087 = ~ _T_1084; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263122.4]
  assign _T_1088 = _T_1087 == 3'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263123.4]
  assign _T_1096 = _T_2384 & _T_1088; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263131.4]
  assign _T_1098 = _T_174_a_bits_data[3:1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263133.4]
  assign _T_1108 = {insn_addr_len,insn_cmd_en}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263146.4]
  assign _T_1111 = _T_916[7:4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263149.4]
  assign _T_1114 = ~ _T_1111; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263152.4]
  assign _T_1115 = _T_1114 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263153.4]
  assign _T_1123 = _T_2384 & _T_1115; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263161.4]
  assign _T_1125 = _T_174_a_bits_data[7:4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263163.4]
  assign _T_1135 = {insn_pad_cnt,_T_1108}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263176.4]
  assign _T_1138 = _T_916[9:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263179.4]
  assign _T_1141 = ~ _T_1138; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263182.4]
  assign _T_1142 = _T_1141 == 2'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263183.4]
  assign _T_1150 = _T_2384 & _T_1142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263191.4]
  assign _T_1152 = _T_174_a_bits_data[9:8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263193.4]
  assign _T_1162 = {insn_cmd_proto,_T_1135}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263206.4]
  assign _T_1165 = _T_916[11:10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263209.4]
  assign _T_1168 = ~ _T_1165; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263212.4]
  assign _T_1169 = _T_1168 == 2'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263213.4]
  assign _T_1177 = _T_2384 & _T_1169; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263221.4]
  assign _T_1179 = _T_174_a_bits_data[11:10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263223.4]
  assign _T_1189 = {insn_addr_proto,_T_1162}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263236.4]
  assign _T_1192 = _T_916[13:12]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263239.4]
  assign _T_1195 = ~ _T_1192; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263242.4]
  assign _T_1196 = _T_1195 == 2'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263243.4]
  assign _T_1204 = _T_2384 & _T_1196; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263251.4]
  assign _T_1206 = _T_174_a_bits_data[13:12]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263253.4]
  assign _T_1216 = {insn_data_proto,_T_1189}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263266.4]
  assign _T_1231 = _T_2384 & _T_1011; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263281.4]
  assign _T_1242 = {{2'd0}, _T_1216}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263295.4]
  assign _T_1243 = {insn_cmd_code,_T_1242}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263296.4]
  assign _T_1246 = _T_916[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263299.4]
  assign _T_1249 = ~ _T_1246; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263302.4]
  assign _T_1250 = _T_1249 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263303.4]
  assign _T_1258 = _T_2384 & _T_1250; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263311.4]
  assign _T_1260 = _T_174_a_bits_data[31:24]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263313.4]
  assign _T_1270 = {insn_pad_code,_T_1243}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263326.4]
  assign _T_1942 = _T_1927[14]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264050.4]
  assign _T_2317 = _T_2230 & _T_1942; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264513.4]
  assign _T_2318 = _T_2317 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264514.4]
  assign _T_1285 = _T_2318 & _T_936; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263341.4]
  assign _T_1298 = _T_916[3:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263357.4]
  assign _T_1301 = ~ _T_1298; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263360.4]
  assign _T_1302 = _T_1301 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263361.4]
  assign _T_1948 = _T_1927[20]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264056.4]
  assign _T_2353 = _T_2230 & _T_1948; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264567.4]
  assign _T_2354 = _T_2353 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264568.4]
  assign _T_1310 = _T_2354 & _T_1302; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263369.4]
  assign _T_1312 = _T_174_a_bits_data[3:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263371.4]
  assign _T_1346 = fifo_io_ip_txwm; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263408.4]
  assign _T_1348 = _T_916[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263410.4]
  assign _T_1351 = ~ _T_1348; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263413.4]
  assign _T_1352 = _T_1351 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263414.4]
  assign _T_1362 = _T_174_a_bits_data[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263424.4]
  assign _T_1372 = {fifo_io_ip_rxwm,_T_1346}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263434.4]
  assign _T_1929 = _T_1927[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264037.4]
  assign _T_2239 = _T_2230 & _T_1929; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264413.4]
  assign _T_2240 = _T_2239 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264414.4]
  assign _T_1387 = _T_2240 & _T_961; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263449.4]
  assign _T_1412 = _T_2240 & _T_1352; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263477.4]
  assign _T_1424 = {ctrl_sck_pol,ctrl_sck_pha}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263492.4]
  assign _T_1427 = _T_916[1:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263495.4]
  assign _T_1430 = ~ _T_1427; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263498.4]
  assign _T_1431 = _T_1430 == 2'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263499.4]
  assign _T_1934 = _T_1927[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264042.4]
  assign _T_2269 = _T_2230 & _T_1934; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264452.4]
  assign _T_2270 = _T_2269 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264453.4]
  assign _T_1439 = _T_2270 & _T_1431; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263507.4]
  assign _T_1441 = _T_174_a_bits_data[1:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263509.4]
  assign _T_1956 = _T_1927[28]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264064.4]
  assign _T_2401 = _T_2230 & _T_1956; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264634.4]
  assign _T_2402 = _T_2401 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264635.4]
  assign _T_1464 = _T_2402 & _T_961; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263535.4]
  assign _T_1489 = _T_2402 & _T_1352; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263563.4]
  assign _T_1501 = {ie_rxwm,ie_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263578.4]
  assign _T_1949 = _T_1927[21]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264057.4]
  assign _T_2359 = _T_2230 & _T_1949; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264575.4]
  assign _T_2360 = _T_2359 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264576.4]
  assign _T_1516 = _T_2360 & _T_1302; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263593.4]
  assign _T_1946 = _T_1927[18]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264054.4]
  assign _T_2341 = _T_2230 & _T_1946; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264547.4]
  assign _T_2342 = _T_2341 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264548.4]
  assign _T_1541 = _T_2342 & _T_986; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263621.4]
  assign _T_1590 = _T_916[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263672.4]
  assign _T_1591 = ~ _T_1590; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263673.4]
  assign _T_1592 = _T_1591 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263674.4]
  assign _T_1596 = _T_2342 & _T_1592; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263678.4]
  assign _T_1597 = _T_174_a_bits_data[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263679.4]
  assign _T_1599 = _T_1596 & _T_1597; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@263681.4]
  assign _T_1544 = _T_1599 == 1'h0; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@263624.4]
  assign _T_1609 = {_T_655,31'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263692.4]
  assign _T_1944 = _T_1927[16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264052.4]
  assign _T_2329 = _T_2230 & _T_1944; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264529.4]
  assign _T_2330 = _T_2329 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264530.4]
  assign _T_1624 = _T_2330 & _T_1431; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263707.4]
  assign _T_1637 = _T_916[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263723.4]
  assign _T_1640 = ~ _T_1637; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263726.4]
  assign _T_1641 = _T_1640 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263727.4]
  assign _T_1649 = _T_2330 & _T_1641; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263735.4]
  assign _T_1651 = _T_174_a_bits_data[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263737.4]
  assign _T_1661 = {ctrl_fmt_endian,ctrl_fmt_proto}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263750.4]
  assign _T_1664 = _T_916[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263753.4]
  assign _T_1667 = ~ _T_1664; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263756.4]
  assign _T_1668 = _T_1667 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263757.4]
  assign _T_1676 = _T_2330 & _T_1668; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263765.4]
  assign _T_1678 = _T_174_a_bits_data[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263767.4]
  assign _T_1688 = {ctrl_fmt_iodir,_T_1661}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263780.4]
  assign _T_1691 = _T_916[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263783.4]
  assign _T_1694 = ~ _T_1691; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263786.4]
  assign _T_1695 = _T_1694 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263787.4]
  assign _T_1703 = _T_2330 & _T_1695; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263795.4]
  assign _T_1705 = _T_174_a_bits_data[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263797.4]
  assign _T_1714 = {{12'd0}, _T_1688}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263809.4]
  assign _T_1715 = {ctrl_fmt_len,_T_1714}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263810.4]
  assign _T_1939 = _T_1927[11]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264047.4]
  assign _T_2299 = _T_2230 & _T_1939; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264490.4]
  assign _T_2300 = _T_2299 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264491.4]
  assign _T_1730 = _T_2300 & _T_986; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263825.4]
  assign _T_1755 = _T_2300 & _T_1011; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263853.4]
  assign _T_1766 = {{8'd0}, ctrl_dla_intercs}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263867.4]
  assign _T_1767 = {ctrl_dla_interxfr,_T_1766}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263868.4]
  assign _T_1947 = _T_1927[19]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264055.4]
  assign _T_2111 = _T_1994 & _T_1947; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264257.4]
  assign _T_2112 = _T_2111 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264258.4]
  assign _T_1793 = fifo_io_rx_bits; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263895.4]
  assign _T_1819 = {1'h0,_T_1793}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263921.4]
  assign _T_1820 = {{22'd0}, _T_1819}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263922.4]
  assign _T_1846 = {_T_656,_T_1820}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@263948.4]
  assign _T_1932 = _T_1927[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264040.4]
  assign _T_2257 = _T_2230 & _T_1932; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264436.4]
  assign _T_2258 = _T_2257 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264437.4]
  assign _T_1861 = _T_2258 & _T_961; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263963.4]
  assign _T_1874 = _T_916[4:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263979.4]
  assign _T_1877 = ~ _T_1874; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263982.4]
  assign _T_1878 = _T_1877 == 5'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263983.4]
  assign _T_1943 = _T_1927[15]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264051.4]
  assign _T_2323 = _T_2230 & _T_1943; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264521.4]
  assign _T_2324 = _T_2323 & _T_694; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@264522.4]
  assign _T_1886 = _T_2324 & _T_1878; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263991.4]
  assign _T_1888 = _T_174_a_bits_data[4:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@263993.4]
  assign _GEN_166 = 5'h1 == _T_1926 ? _T_694 : _T_694; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_167 = 5'h2 == _T_1926 ? 1'h1 : _GEN_166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_168 = 5'h3 == _T_1926 ? 1'h1 : _GEN_167; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_169 = 5'h4 == _T_1926 ? _T_694 : _GEN_168; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_170 = 5'h5 == _T_1926 ? _T_694 : _GEN_169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_171 = 5'h6 == _T_1926 ? _T_694 : _GEN_170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_172 = 5'h7 == _T_1926 ? 1'h1 : _GEN_171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_173 = 5'h8 == _T_1926 ? 1'h1 : _GEN_172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_174 = 5'h9 == _T_1926 ? 1'h1 : _GEN_173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_175 = 5'ha == _T_1926 ? _T_694 : _GEN_174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_176 = 5'hb == _T_1926 ? _T_694 : _GEN_175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_177 = 5'hc == _T_1926 ? 1'h1 : _GEN_176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_178 = 5'hd == _T_1926 ? 1'h1 : _GEN_177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_179 = 5'he == _T_1926 ? _T_694 : _GEN_178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_180 = 5'hf == _T_1926 ? _T_694 : _GEN_179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_181 = 5'h10 == _T_1926 ? _T_694 : _GEN_180; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_182 = 5'h11 == _T_1926 ? 1'h1 : _GEN_181; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_183 = 5'h12 == _T_1926 ? _T_694 : _GEN_182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_184 = 5'h13 == _T_1926 ? _T_694 : _GEN_183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_185 = 5'h14 == _T_1926 ? _T_694 : _GEN_184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_186 = 5'h15 == _T_1926 ? _T_694 : _GEN_185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_187 = 5'h16 == _T_1926 ? 1'h1 : _GEN_186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_188 = 5'h17 == _T_1926 ? 1'h1 : _GEN_187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_189 = 5'h18 == _T_1926 ? _T_694 : _GEN_188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_190 = 5'h19 == _T_1926 ? _T_694 : _GEN_189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_191 = 5'h1a == _T_1926 ? 1'h1 : _GEN_190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_192 = 5'h1b == _T_1926 ? 1'h1 : _GEN_191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_193 = 5'h1c == _T_1926 ? _T_694 : _GEN_192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_194 = 5'h1d == _T_1926 ? _T_694 : _GEN_193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_195 = 5'h1e == _T_1926 ? 1'h1 : _GEN_194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _GEN_196 = 5'h1f == _T_1926 ? 1'h1 : _GEN_195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265345.4]
  assign _T_2986_0 = {{20'd0}, ctrl_sck_div}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265349.4]
  assign _T_2986_1 = {{30'd0}, _T_1424}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265350.4]
  assign _GEN_198 = 5'h1 == _T_1926 ? _T_2986_1 : _T_2986_0; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _GEN_199 = 5'h2 == _T_1926 ? 32'h0 : _GEN_198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _GEN_200 = 5'h3 == _T_1926 ? 32'h0 : _GEN_199; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _T_2986_4 = {{31'd0}, ctrl_cs_id}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265353.4]
  assign _GEN_201 = 5'h4 == _T_1926 ? _T_2986_4 : _GEN_200; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _T_2986_5 = {{31'd0}, ctrl_cs_dflt_0}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265354.4]
  assign _GEN_202 = 5'h5 == _T_1926 ? _T_2986_5 : _GEN_201; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _T_2986_6 = {{30'd0}, ctrl_cs_mode}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265355.4]
  assign _GEN_203 = 5'h6 == _T_1926 ? _T_2986_6 : _GEN_202; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _GEN_204 = 5'h7 == _T_1926 ? 32'h0 : _GEN_203; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _GEN_205 = 5'h8 == _T_1926 ? 32'h0 : _GEN_204; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _GEN_206 = 5'h9 == _T_1926 ? 32'h0 : _GEN_205; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _T_2986_10 = {{8'd0}, _T_1031}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265359.4]
  assign _GEN_207 = 5'ha == _T_1926 ? _T_2986_10 : _GEN_206; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _T_2986_11 = {{8'd0}, _T_1767}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265360.4]
  assign _GEN_208 = 5'hb == _T_1926 ? _T_2986_11 : _GEN_207; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _GEN_209 = 5'hc == _T_1926 ? 32'h0 : _GEN_208; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _GEN_210 = 5'hd == _T_1926 ? 32'h0 : _GEN_209; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _T_2986_14 = {{20'd0}, ctrl_extradel_coarse}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265363.4]
  assign _GEN_211 = 5'he == _T_1926 ? _T_2986_14 : _GEN_210; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _T_2986_15 = {{27'd0}, ctrl_sampledel_sd}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265364.4]
  assign _GEN_212 = 5'hf == _T_1926 ? _T_2986_15 : _GEN_211; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _T_2986_16 = {{12'd0}, _T_1715}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265365.4]
  assign _GEN_213 = 5'h10 == _T_1926 ? _T_2986_16 : _GEN_212; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _GEN_214 = 5'h11 == _T_1926 ? 32'h0 : _GEN_213; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _GEN_215 = 5'h12 == _T_1926 ? _T_1609 : _GEN_214; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _GEN_216 = 5'h13 == _T_1926 ? _T_1846 : _GEN_215; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _T_2986_20 = {{28'd0}, ctrl_wm_tx}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265369.4]
  assign _GEN_217 = 5'h14 == _T_1926 ? _T_2986_20 : _GEN_216; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _T_2986_21 = {{28'd0}, ctrl_wm_rx}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265370.4]
  assign _GEN_218 = 5'h15 == _T_1926 ? _T_2986_21 : _GEN_217; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _GEN_219 = 5'h16 == _T_1926 ? 32'h0 : _GEN_218; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _GEN_220 = 5'h17 == _T_1926 ? 32'h0 : _GEN_219; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _T_2986_24 = {{31'd0}, flash_en}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265373.4]
  assign _GEN_221 = 5'h18 == _T_1926 ? _T_2986_24 : _GEN_220; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _GEN_222 = 5'h19 == _T_1926 ? _T_1270 : _GEN_221; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _GEN_223 = 5'h1a == _T_1926 ? 32'h0 : _GEN_222; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _GEN_224 = 5'h1b == _T_1926 ? 32'h0 : _GEN_223; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _T_2986_28 = {{30'd0}, _T_1501}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265377.4]
  assign _GEN_225 = 5'h1c == _T_1926 ? _T_2986_28 : _GEN_224; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _T_2986_29 = {{30'd0}, _T_1372}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265347.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@265378.4]
  assign _GEN_226 = 5'h1d == _T_1926 ? _T_2986_29 : _GEN_225; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _GEN_227 = 5'h1e == _T_1926 ? 32'h0 : _GEN_226; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign _GEN_228 = 5'h1f == _T_1926 ? 32'h0 : _GEN_227; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@265381.4]
  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262744.4]
  assign auto_mem_xing_in_a_ready = buffer_1_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262743.4]
  assign auto_mem_xing_in_d_valid = buffer_1_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262743.4]
  assign auto_mem_xing_in_d_bits_size = buffer_1_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262743.4]
  assign auto_mem_xing_in_d_bits_source = buffer_1_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262743.4]
  assign auto_mem_xing_in_d_bits_data = buffer_1_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262743.4]
  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262742.4]
  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262742.4]
  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262742.4]
  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262742.4]
  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262742.4]
  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262742.4]
  assign auto_io_out_sck = mac_io_port_sck; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262741.4]
  assign auto_io_out_dq_0_o = mac_io_port_dq_0_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262741.4]
  assign auto_io_out_dq_0_oe = mac_io_port_dq_0_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262741.4]
  assign auto_io_out_dq_1_o = mac_io_port_dq_1_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262741.4]
  assign auto_io_out_dq_1_oe = mac_io_port_dq_1_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262741.4]
  assign auto_io_out_dq_2_o = mac_io_port_dq_2_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262741.4]
  assign auto_io_out_dq_2_oe = mac_io_port_dq_2_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262741.4]
  assign auto_io_out_dq_3_o = mac_io_port_dq_3_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262741.4]
  assign auto_io_out_dq_3_oe = mac_io_port_dq_3_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262741.4]
  assign auto_io_out_cs_0 = mac_io_port_cs_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@262741.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262624.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262625.4]
  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262737.4]
  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262737.4]
  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262737.4]
  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262737.4]
  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262737.4]
  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262737.4]
  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262737.4]
  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262737.4]
  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262737.4]
  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262737.4]
  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_674}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
  assign buffer_auto_out_d_bits_size = _T_676[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
  assign buffer_auto_out_d_bits_source = _T_676[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
  assign buffer_auto_out_d_bits_data = _GEN_196 ? _GEN_228 : 32'h0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262736.4]
  assign buffer_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262630.4]
  assign buffer_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262631.4]
  assign buffer_1_auto_in_a_valid = auto_mem_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262739.4]
  assign buffer_1_auto_in_a_bits_opcode = auto_mem_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262739.4]
  assign buffer_1_auto_in_a_bits_param = auto_mem_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262739.4]
  assign buffer_1_auto_in_a_bits_size = auto_mem_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262739.4]
  assign buffer_1_auto_in_a_bits_source = auto_mem_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262739.4]
  assign buffer_1_auto_in_a_bits_address = auto_mem_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262739.4]
  assign buffer_1_auto_in_a_bits_mask = auto_mem_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262739.4]
  assign buffer_1_auto_in_a_bits_corrupt = auto_mem_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262739.4]
  assign buffer_1_auto_in_d_ready = auto_mem_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262739.4]
  assign buffer_1_auto_out_a_ready = flash_io_addr_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262738.4]
  assign buffer_1_auto_out_d_valid = flash_io_data_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262738.4]
  assign buffer_1_auto_out_d_bits_size = a_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262738.4]
  assign buffer_1_auto_out_d_bits_source = a_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262738.4]
  assign buffer_1_auto_out_d_bits_data = flash_io_data_bits; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@262738.4]
  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262636.4]
  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262637.4]
  assign intsource_auto_in_0 = _T_650 | _T_651; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@262735.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262646.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262647.4]
  assign TLMonitor_io_in_a_ready = flash_io_addr_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.4]
  assign TLMonitor_io_in_a_valid = buffer_1_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.4]
  assign TLMonitor_io_in_a_bits_opcode = buffer_1_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.4]
  assign TLMonitor_io_in_a_bits_param = buffer_1_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.4]
  assign TLMonitor_io_in_a_bits_size = buffer_1_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.4]
  assign TLMonitor_io_in_a_bits_source = buffer_1_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.4]
  assign TLMonitor_io_in_a_bits_address = buffer_1_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.4]
  assign TLMonitor_io_in_a_bits_mask = buffer_1_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.4]
  assign TLMonitor_io_in_a_bits_corrupt = buffer_1_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.4]
  assign TLMonitor_io_in_d_ready = buffer_1_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.4]
  assign TLMonitor_io_in_d_valid = flash_io_data_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.4]
  assign TLMonitor_io_in_d_bits_size = a_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.4]
  assign TLMonitor_io_in_d_bits_source = a_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262680.4]
  assign TLMonitor_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262685.4]
  assign TLMonitor_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262686.4]
  assign TLMonitor_1_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
  assign TLMonitor_1_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
  assign TLMonitor_1_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
  assign TLMonitor_1_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
  assign TLMonitor_1_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
  assign TLMonitor_1_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
  assign TLMonitor_1_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
  assign TLMonitor_1_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
  assign TLMonitor_1_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
  assign TLMonitor_1_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
  assign TLMonitor_1_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
  assign TLMonitor_1_io_in_d_bits_opcode = {{2'd0}, _T_674}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
  assign TLMonitor_1_io_in_d_bits_size = _T_676[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
  assign TLMonitor_1_io_in_d_bits_source = _T_676[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262719.4]
  assign fifo_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262769.4]
  assign fifo_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262770.4]
  assign fifo_io_ctrl_fmt_proto = ctrl_fmt_proto; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262776.4]
  assign fifo_io_ctrl_fmt_endian = ctrl_fmt_endian; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262776.4]
  assign fifo_io_ctrl_fmt_iodir = ctrl_fmt_iodir; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262776.4]
  assign fifo_io_ctrl_fmt_len = ctrl_fmt_len; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@262776.4]
  assign fifo_io_ctrl_cs_mode = ctrl_cs_mode; // @[TLSPI.scala 68:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262777.4]
  assign fifo_io_ctrl_wm_tx = ctrl_wm_tx; // @[TLSPI.scala 69:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262778.4]
  assign fifo_io_ctrl_wm_rx = ctrl_wm_rx; // @[TLSPI.scala 69:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262778.4]
  assign fifo_io_link_tx_ready = arb_io_inner_1_tx_ready; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262855.4]
  assign fifo_io_link_rx_valid = arb_io_inner_1_rx_valid; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262855.4]
  assign fifo_io_link_rx_bits = arb_io_inner_1_rx_bits; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262855.4]
  assign fifo_io_tx_valid = _T_1541 & _T_1544; // @[RegMapFIFO.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@263626.4]
  assign fifo_io_tx_bits = _T_174_a_bits_data[7:0]; // @[RegMapFIFO.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@263627.4]
  assign fifo_io_rx_ready = _T_2112 & _T_983; // @[RegMapFIFO.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@263885.4]
  assign mac_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262773.4]
  assign mac_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262774.4]
  assign mac_io_port_dq_0_i = auto_io_out_dq_0_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262775.4]
  assign mac_io_port_dq_1_i = auto_io_out_dq_1_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262775.4]
  assign mac_io_port_dq_2_i = auto_io_out_dq_2_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262775.4]
  assign mac_io_port_dq_3_i = auto_io_out_dq_3_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262775.4]
  assign mac_io_ctrl_sck_div = ctrl_sck_div; // @[TLSPI.scala 70:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262779.4]
  assign mac_io_ctrl_sck_pol = ctrl_sck_pol; // @[TLSPI.scala 70:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262779.4]
  assign mac_io_ctrl_sck_pha = ctrl_sck_pha; // @[TLSPI.scala 70:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262779.4]
  assign mac_io_ctrl_dla_cssck = ctrl_dla_cssck; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262782.4]
  assign mac_io_ctrl_dla_sckcs = ctrl_dla_sckcs; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262782.4]
  assign mac_io_ctrl_dla_intercs = ctrl_dla_intercs; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262782.4]
  assign mac_io_ctrl_dla_interxfr = ctrl_dla_interxfr; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@262782.4]
  assign mac_io_ctrl_cs_id = ctrl_cs_id; // @[TLSPI.scala 74:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262783.4]
  assign mac_io_ctrl_cs_dflt_0 = ctrl_cs_dflt_0; // @[TLSPI.scala 74:18:shc.marmotcaravel.MarmotCaravelConfig.fir@262783.4]
  assign mac_io_ctrl_extradel_coarse = ctrl_extradel_coarse; // @[TLSPI.scala 71:24:shc.marmotcaravel.MarmotCaravelConfig.fir@262780.4]
  assign mac_io_ctrl_sampledel_sd = ctrl_sampledel_sd; // @[TLSPI.scala 72:25:shc.marmotcaravel.MarmotCaravelConfig.fir@262781.4]
  assign mac_io_link_tx_valid = arb_io_outer_tx_valid; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262856.4]
  assign mac_io_link_tx_bits = arb_io_outer_tx_bits; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262856.4]
  assign mac_io_link_cnt = arb_io_outer_cnt; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262856.4]
  assign mac_io_link_fmt_proto = arb_io_outer_fmt_proto; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262856.4]
  assign mac_io_link_fmt_endian = arb_io_outer_fmt_endian; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262856.4]
  assign mac_io_link_fmt_iodir = arb_io_outer_fmt_iodir; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262856.4]
  assign mac_io_link_cs_set = arb_io_outer_cs_set; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262856.4]
  assign mac_io_link_cs_clear = arb_io_outer_cs_clear; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262856.4]
  assign mac_io_link_cs_hold = arb_io_outer_cs_hold; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262856.4]
  assign flash_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262804.4]
  assign flash_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262805.4]
  assign flash_io_en = flash_en; // @[TLSPIFlash.scala 81:15:shc.marmotcaravel.MarmotCaravelConfig.fir@262851.4]
  assign flash_io_ctrl_insn_cmd_proto = insn_cmd_proto; // @[TLSPIFlash.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262849.4]
  assign flash_io_ctrl_insn_cmd_code = insn_cmd_code; // @[TLSPIFlash.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262849.4]
  assign flash_io_ctrl_insn_cmd_en = insn_cmd_en; // @[TLSPIFlash.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262849.4]
  assign flash_io_ctrl_insn_addr_proto = insn_addr_proto; // @[TLSPIFlash.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262849.4]
  assign flash_io_ctrl_insn_addr_len = insn_addr_len; // @[TLSPIFlash.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262849.4]
  assign flash_io_ctrl_insn_pad_code = insn_pad_code; // @[TLSPIFlash.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262849.4]
  assign flash_io_ctrl_insn_pad_cnt = insn_pad_cnt; // @[TLSPIFlash.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262849.4]
  assign flash_io_ctrl_insn_data_proto = insn_data_proto; // @[TLSPIFlash.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@262849.4]
  assign flash_io_ctrl_fmt_endian = ctrl_fmt_endian; // @[TLSPIFlash.scala 80:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262850.4]
  assign flash_io_addr_valid = buffer_1_auto_out_a_valid; // @[TLSPIFlash.scala 69:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262822.4]
  assign flash_io_addr_bits_next = {{3'd0}, _T_658}; // @[TLSPIFlash.scala 67:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262819.4]
  assign flash_io_addr_bits_hold = {{3'd0}, _T_659}; // @[TLSPIFlash.scala 68:27:shc.marmotcaravel.MarmotCaravelConfig.fir@262821.4]
  assign flash_io_data_ready = buffer_1_auto_out_d_ready; // @[TLSPIFlash.scala 74:23:shc.marmotcaravel.MarmotCaravelConfig.fir@262836.4]
  assign flash_io_link_tx_ready = arb_io_inner_0_tx_ready; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262854.4]
  assign flash_io_link_rx_valid = arb_io_inner_0_rx_valid; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262854.4]
  assign flash_io_link_rx_bits = arb_io_inner_0_rx_bits; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262854.4]
  assign flash_io_link_active = arb_io_inner_0_active; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262854.4]
  assign arb_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262808.4]
  assign arb_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@262809.4]
  assign arb_io_inner_0_tx_valid = flash_io_link_tx_valid; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262854.4]
  assign arb_io_inner_0_tx_bits = flash_io_link_tx_bits; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262854.4]
  assign arb_io_inner_0_cnt = flash_io_link_cnt; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262854.4]
  assign arb_io_inner_0_fmt_proto = flash_io_link_fmt_proto; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262854.4]
  assign arb_io_inner_0_fmt_endian = flash_io_link_fmt_endian; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262854.4]
  assign arb_io_inner_0_fmt_iodir = flash_io_link_fmt_iodir; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262854.4]
  assign arb_io_inner_0_cs_clear = flash_io_link_cs_clear; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262854.4]
  assign arb_io_inner_0_lock = flash_io_link_lock; // @[TLSPIFlash.scala 126:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262854.4]
  assign arb_io_inner_1_tx_valid = fifo_io_link_tx_valid; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262855.4]
  assign arb_io_inner_1_tx_bits = fifo_io_link_tx_bits; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262855.4]
  assign arb_io_inner_1_cnt = fifo_io_link_cnt; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262855.4]
  assign arb_io_inner_1_fmt_proto = fifo_io_link_fmt_proto; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262855.4]
  assign arb_io_inner_1_fmt_endian = fifo_io_link_fmt_endian; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262855.4]
  assign arb_io_inner_1_fmt_iodir = fifo_io_link_fmt_iodir; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262855.4]
  assign arb_io_inner_1_cs_set = fifo_io_link_cs_set; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262855.4]
  assign arb_io_inner_1_cs_clear = fifo_io_link_cs_clear; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262855.4]
  assign arb_io_inner_1_lock = fifo_io_link_lock; // @[TLSPIFlash.scala 127:21:shc.marmotcaravel.MarmotCaravelConfig.fir@262855.4]
  assign arb_io_outer_tx_ready = mac_io_link_tx_ready; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262856.4]
  assign arb_io_outer_rx_valid = mac_io_link_rx_valid; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262856.4]
  assign arb_io_outer_rx_bits = mac_io_link_rx_bits; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262856.4]
  assign arb_io_outer_active = mac_io_link_active; // @[TLSPIFlash.scala 128:17:shc.marmotcaravel.MarmotCaravelConfig.fir@262856.4]
  assign arb_io_sel = flash_en == 1'h0; // @[TLSPIFlash.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@262853.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  ctrl_fmt_proto = _RAND_0[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  ctrl_fmt_endian = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  ctrl_fmt_iodir = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  ctrl_fmt_len = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  ctrl_sck_div = _RAND_4[11:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  ctrl_sck_pol = _RAND_5[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  ctrl_sck_pha = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  ctrl_cs_id = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  ctrl_cs_dflt_0 = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  ctrl_cs_mode = _RAND_9[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  ctrl_dla_cssck = _RAND_10[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  ctrl_dla_sckcs = _RAND_11[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  ctrl_dla_intercs = _RAND_12[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  ctrl_dla_interxfr = _RAND_13[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  ctrl_wm_tx = _RAND_14[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  ctrl_wm_rx = _RAND_15[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  ctrl_extradel_coarse = _RAND_16[11:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_17 = {1{`RANDOM}};
  ctrl_sampledel_sd = _RAND_17[4:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_18 = {1{`RANDOM}};
  ie_txwm = _RAND_18[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_19 = {1{`RANDOM}};
  ie_rxwm = _RAND_19[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_20 = {1{`RANDOM}};
  a_size = _RAND_20[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_21 = {1{`RANDOM}};
  a_source = _RAND_21[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_22 = {1{`RANDOM}};
  a_address = _RAND_22[29:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_23 = {1{`RANDOM}};
  insn_cmd_proto = _RAND_23[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_24 = {1{`RANDOM}};
  insn_cmd_code = _RAND_24[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_25 = {1{`RANDOM}};
  insn_cmd_en = _RAND_25[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_26 = {1{`RANDOM}};
  insn_addr_proto = _RAND_26[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_27 = {1{`RANDOM}};
  insn_addr_len = _RAND_27[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_28 = {1{`RANDOM}};
  insn_pad_code = _RAND_28[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_29 = {1{`RANDOM}};
  insn_pad_cnt = _RAND_29[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_30 = {1{`RANDOM}};
  insn_data_proto = _RAND_30[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_31 = {1{`RANDOM}};
  flash_en = _RAND_31[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      ctrl_fmt_proto <= 2'h0;
    end else begin
      if (_T_1624) begin
        ctrl_fmt_proto <= _T_1441;
      end
    end
    if (reset) begin
      ctrl_fmt_endian <= 1'h0;
    end else begin
      if (_T_1649) begin
        ctrl_fmt_endian <= _T_1651;
      end
    end
    if (reset) begin
      ctrl_fmt_iodir <= 1'h0;
    end else begin
      if (_T_1676) begin
        ctrl_fmt_iodir <= _T_1678;
      end
    end
    if (reset) begin
      ctrl_fmt_len <= 4'h8;
    end else begin
      if (_T_1703) begin
        ctrl_fmt_len <= _T_1705;
      end
    end
    if (reset) begin
      ctrl_sck_div <= 12'h3;
    end else begin
      if (_T_944) begin
        ctrl_sck_div <= _T_946;
      end
    end
    if (reset) begin
      ctrl_sck_pol <= 1'h0;
    end else begin
      if (_T_1412) begin
        ctrl_sck_pol <= _T_1362;
      end
    end
    if (reset) begin
      ctrl_sck_pha <= 1'h0;
    end else begin
      if (_T_1387) begin
        ctrl_sck_pha <= _T_971;
      end
    end
    if (reset) begin
      ctrl_cs_id <= 1'h0;
    end else begin
      if (_T_1861) begin
        ctrl_cs_id <= _T_971;
      end
    end
    if (reset) begin
      ctrl_cs_dflt_0 <= 1'h1;
    end else begin
      if (_T_969) begin
        ctrl_cs_dflt_0 <= _T_971;
      end
    end
    if (reset) begin
      ctrl_cs_mode <= 2'h0;
    end else begin
      if (_T_1439) begin
        ctrl_cs_mode <= _T_1441;
      end
    end
    if (reset) begin
      ctrl_dla_cssck <= 8'h1;
    end else begin
      if (_T_994) begin
        ctrl_dla_cssck <= _T_996;
      end
    end
    if (reset) begin
      ctrl_dla_sckcs <= 8'h1;
    end else begin
      if (_T_1019) begin
        ctrl_dla_sckcs <= _T_1021;
      end
    end
    if (reset) begin
      ctrl_dla_intercs <= 8'h1;
    end else begin
      if (_T_1730) begin
        ctrl_dla_intercs <= _T_996;
      end
    end
    if (reset) begin
      ctrl_dla_interxfr <= 8'h0;
    end else begin
      if (_T_1755) begin
        ctrl_dla_interxfr <= _T_1021;
      end
    end
    if (reset) begin
      ctrl_wm_tx <= 4'h0;
    end else begin
      if (_T_1310) begin
        ctrl_wm_tx <= _T_1312;
      end
    end
    if (reset) begin
      ctrl_wm_rx <= 4'h0;
    end else begin
      if (_T_1516) begin
        ctrl_wm_rx <= _T_1312;
      end
    end
    if (reset) begin
      ctrl_extradel_coarse <= 12'h0;
    end else begin
      if (_T_1285) begin
        ctrl_extradel_coarse <= _T_946;
      end
    end
    if (reset) begin
      ctrl_sampledel_sd <= 5'h3;
    end else begin
      if (_T_1886) begin
        ctrl_sampledel_sd <= _T_1888;
      end
    end
    if (reset) begin
      ie_txwm <= 1'h0;
    end else begin
      if (_T_1464) begin
        ie_txwm <= _T_971;
      end
    end
    if (reset) begin
      ie_rxwm <= 1'h0;
    end else begin
      if (_T_1489) begin
        ie_rxwm <= _T_1362;
      end
    end
    if (_T_657) begin
      a_size <= _T_108_a_bits_size;
    end
    if (_T_657) begin
      a_source <= _T_108_a_bits_source;
    end
    if (_T_657) begin
      a_address <= _T_108_a_bits_address;
    end
    if (reset) begin
      insn_cmd_proto <= 2'h0;
    end else begin
      if (_T_1150) begin
        insn_cmd_proto <= _T_1152;
      end
    end
    if (reset) begin
      insn_cmd_code <= 8'h3;
    end else begin
      if (_T_1231) begin
        insn_cmd_code <= _T_1021;
      end
    end
    if (reset) begin
      insn_cmd_en <= 1'h1;
    end else begin
      if (_T_1071) begin
        insn_cmd_en <= _T_971;
      end
    end
    if (reset) begin
      insn_addr_proto <= 2'h0;
    end else begin
      if (_T_1177) begin
        insn_addr_proto <= _T_1179;
      end
    end
    if (reset) begin
      insn_addr_len <= 3'h3;
    end else begin
      if (_T_1096) begin
        insn_addr_len <= _T_1098;
      end
    end
    if (reset) begin
      insn_pad_code <= 8'h0;
    end else begin
      if (_T_1258) begin
        insn_pad_code <= _T_1260;
      end
    end
    if (reset) begin
      insn_pad_cnt <= 4'h0;
    end else begin
      if (_T_1123) begin
        insn_pad_cnt <= _T_1125;
      end
    end
    if (reset) begin
      insn_data_proto <= 2'h0;
    end else begin
      if (_T_1204) begin
        insn_data_proto <= _T_1206;
      end
    end
    if (reset) begin
      flash_en <= 1'h1;
    end else begin
      if (_T_1046) begin
        flash_en <= _T_971;
      end
    end
  end
endmodule
module TLMonitor_72( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265476.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265477.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265478.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@265479.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@266606.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@265506.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@265507.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@265508.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@265509.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@265509.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@265510.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@265512.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@265513.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@265515.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@265516.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@265517.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@265518.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@265519.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@265521.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265522.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@265524.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265525.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@265526.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@265527.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@265528.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265529.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@265530.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265531.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265532.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@265533.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265534.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265535.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@265536.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265537.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265538.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@265539.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265540.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@265541.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@265542.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@265543.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265566.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@265569.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@265570.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@265571.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@265572.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@265573.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265578.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265599.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265600.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265606.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265607.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265612.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265614.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265615.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@265620.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265621.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265623.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265624.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@265629.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265631.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265632.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265638.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265692.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265694.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265695.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265718.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@265721.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@265729.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265732.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265733.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265752.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265754.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265755.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265760.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265762.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265763.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265777.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265828.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@265870.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265871.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@265872.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265874.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265875.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265881.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@265912.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265914.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265915.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265929.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@265960.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265962.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265963.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265977.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@266027.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266029.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266030.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266047.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266056.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266058.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266059.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266089.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266147.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266337.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266346.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266347.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266348.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266349.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266350.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266361.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266362.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266363.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266364.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266365.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266366.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266367.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266369.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266371.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266372.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266377.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266379.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266380.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266385.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266387.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266388.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266393.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266395.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266396.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266401.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266403.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266404.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@266411.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266419.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266427.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266428.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266429.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266430.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266431.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266442.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266444.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266445.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266448.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266449.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266451.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266453.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266454.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266467.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266469.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266470.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266475.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266477.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266478.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@266501.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266510.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266520.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266521.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266522.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266523.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266524.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266543.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266544.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266545.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266546.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266547.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266562.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@266565.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@266567.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@266568.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266569.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266571.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266572.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@266564.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266583.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@266585.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@266586.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@266588.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@266590.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@266591.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@266592.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266594.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266595.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@266587.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266601.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266602.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@266603.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266605.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@266608.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266609.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@266610.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266611.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@266612.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@266613.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266615.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266616.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266622.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266626.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265580.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265652.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265735.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265794.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265845.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265895.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265943.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265991.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266061.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266102.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266160.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@266606.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@265506.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@265507.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@265508.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@265509.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@265509.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@265510.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@265512.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@265513.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@265515.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@265516.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@265517.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@265518.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@265519.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@265521.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265522.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@265524.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265525.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@265526.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@265527.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@265528.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265529.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@265530.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265531.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265532.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@265533.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265534.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265535.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@265536.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265537.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265538.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@265539.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@265540.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@265541.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@265542.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@265543.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265566.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@265569.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@265570.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@265571.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@265572.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@265573.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265578.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265599.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265600.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265606.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265607.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265612.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265614.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265615.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@265620.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265621.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265623.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265624.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@265629.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265631.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265632.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265638.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265692.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265694.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265695.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265718.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@265721.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@265729.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265732.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265733.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265752.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265754.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265755.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@265760.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265762.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265763.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265777.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265828.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@265870.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@265871.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@265872.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265874.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265875.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265881.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@265912.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265914.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265915.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265929.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@265960.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265962.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265963.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@265977.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@266027.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266029.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266030.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266047.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266056.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266058.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266059.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266089.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266147.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266337.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266347.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266348.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266349.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266350.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266366.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266367.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266369.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266371.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266372.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266377.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266379.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266380.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266385.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266387.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266388.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266393.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266395.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266396.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266401.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266403.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266404.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@266411.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266419.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266428.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266429.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266430.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266431.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@266448.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266449.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266451.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266453.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266454.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266467.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266469.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266470.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266475.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266477.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266478.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@266501.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266521.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266522.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266523.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266524.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266544.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266545.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266546.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266547.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266562.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@266565.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@266567.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@266568.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266569.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266571.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266572.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@266564.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266583.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@266585.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@266586.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@266588.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@266590.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@266591.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@266592.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266594.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266595.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@266587.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266601.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266602.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@266603.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@266608.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266609.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@266610.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266611.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@266612.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@266613.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266615.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266616.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266622.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266626.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265580.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265652.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265735.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265794.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265845.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265895.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265943.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265991.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266061.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266102.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266160.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_514 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_527 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_529 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_531 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_533 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_535 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_569 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_582 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_586 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_588 = _RAND_9[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {2{`RANDOM}};
  _T_622 = _RAND_10[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_633 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_654 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_697 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_514 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_518) begin
          _T_514 <= 1'h0;
        end else begin
          _T_514 <= _T_517;
        end
      end
    end
    if (_T_559) begin
      _T_527 <= io_in_a_bits_opcode;
    end
    if (_T_559) begin
      _T_529 <= io_in_a_bits_param;
    end
    if (_T_559) begin
      _T_531 <= io_in_a_bits_size;
    end
    if (_T_559) begin
      _T_533 <= io_in_a_bits_source;
    end
    if (_T_559) begin
      _T_535 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_569 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_573) begin
          _T_569 <= 1'h0;
        end else begin
          _T_569 <= _T_572;
        end
      end
    end
    if (_T_620) begin
      _T_582 <= io_in_d_bits_opcode;
    end
    if (_T_620) begin
      _T_586 <= io_in_d_bits_size;
    end
    if (_T_620) begin
      _T_588 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_622 <= 64'h0;
    end else begin
      _T_622 <= _T_695;
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_654 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_658) begin
          _T_654 <= 1'h0;
        end else begin
          _T_654 <= _T_657;
        end
      end
    end
    if (reset) begin
      _T_697 <= 32'h0;
    end else begin
      if (_T_711) begin
        _T_697 <= 32'h0;
      end else begin
        _T_697 <= _T_708;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@265491.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@265492.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@265563.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@265564.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265580.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265581.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265587.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265588.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265594.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265595.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265602.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265603.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265609.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265610.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265617.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265618.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265626.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265627.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265634.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265635.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265652.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265653.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265659.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265660.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265666.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265667.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265674.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265675.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265681.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265682.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265689.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265690.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265697.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265698.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265706.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265707.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265714.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265715.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265735.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265736.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265742.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265743.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265749.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265750.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265757.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265758.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265765.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265766.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265773.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265774.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265794.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265795.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265801.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265802.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265808.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265809.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265816.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265817.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265824.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265825.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265845.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265846.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265852.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265853.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265859.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265860.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265867.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265868.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265877.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265878.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265895.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265896.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265902.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265903.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265909.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265910.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265917.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265918.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265925.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265926.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265943.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265944.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265950.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265951.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265957.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265958.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265965.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265966.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265973.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265974.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265991.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265992.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265998.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@265999.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266005.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266006.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266013.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266014.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266021.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266022.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266032.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266033.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266053.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266054.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266061.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266062.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266069.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266070.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266077.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266078.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266085.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266086.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266095.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266096.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266102.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266103.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266110.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266111.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266118.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266119.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266126.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266127.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266134.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266135.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266143.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266144.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266153.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266154.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266160.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266161.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266168.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266169.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266176.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266177.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266184.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266185.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266193.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266194.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266202.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266203.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266212.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266213.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266220.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266221.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266228.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266229.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266237.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266238.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266247.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266248.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266255.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266256.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266264.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266265.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266273.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266274.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266283.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266284.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266291.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266292.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266299.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266300.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266308.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266309.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266318.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266319.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266326.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266327.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266334.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266335.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266374.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266375.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266382.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266383.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266390.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266391.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266398.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266399.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266406.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266407.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266456.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266457.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266464.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266465.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266472.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266473.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266480.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266481.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266488.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266489.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266496.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266497.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266574.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266575.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266597.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@266598.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_706) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266618.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_706) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266619.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_24( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266631.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266632.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266633.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266634.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
  TLMonitor_72 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266641.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@266681.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@266681.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@266681.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@266681.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@266681.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@266681.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266680.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266680.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266680.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266680.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266680.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266680.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266680.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266680.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266680.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266680.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266643.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266644.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@266677.4]
endmodule
module TLMonitor_73( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266752.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266753.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266754.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@266755.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@267882.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@266782.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@266783.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@266784.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@266785.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@266785.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@266786.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266788.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266789.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@266791.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@266792.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266793.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266794.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@266795.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266797.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266798.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266800.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266801.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266802.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266803.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@266804.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266805.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266806.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266807.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266808.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266809.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266810.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266811.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266812.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266813.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266814.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266815.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266816.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@266817.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@266818.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@266819.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266842.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@266845.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266846.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@266847.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@266848.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@266849.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266854.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266875.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266876.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266882.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266883.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266888.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266890.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266891.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@266896.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266897.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266899.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266900.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@266905.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266907.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266908.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266914.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266968.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266970.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266971.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266994.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@266997.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@267005.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267008.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267009.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267028.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267030.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267031.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267036.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267038.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267039.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267053.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267104.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267146.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267147.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@267148.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267150.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267151.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267157.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@267188.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267190.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267191.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267205.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267236.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267238.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267239.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267253.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267303.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267305.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267306.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267323.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267332.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267334.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267335.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267365.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267423.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267613.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267622.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267623.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267624.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267625.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267626.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267637.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267638.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267639.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267640.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267641.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267642.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267643.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267645.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267647.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267648.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267653.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267655.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267656.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267661.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267663.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267664.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267669.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267671.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267672.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267677.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267679.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267680.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267687.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267695.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267703.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267704.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267705.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267706.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267707.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267718.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267720.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267721.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267724.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267725.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267727.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267729.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267730.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267743.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267745.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267746.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267751.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267753.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267754.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267777.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267786.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267796.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267797.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267798.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267799.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267800.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267819.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267820.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267821.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267822.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267823.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267838.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@267841.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267843.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267844.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267845.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267847.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267848.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267840.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267859.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@267861.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267862.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@267864.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@267866.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@267867.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@267868.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267870.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267871.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@267863.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267877.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@267878.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@267879.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267881.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267884.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267885.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@267886.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267887.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@267888.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267889.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267891.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267892.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@267898.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267902.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266856.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266928.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267011.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267070.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267121.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267171.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267219.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267267.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267337.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267378.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267436.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@267882.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@266782.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@266783.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@266784.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@266785.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@266785.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@266786.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266788.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266789.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@266791.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@266792.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266793.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266794.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@266795.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266797.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266798.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266800.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266801.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266802.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@266803.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@266804.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266805.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266806.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266807.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266808.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266809.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266810.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266811.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266812.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266813.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266814.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@266815.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@266816.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@266817.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@266818.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@266819.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266842.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10024000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@266845.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@266846.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@266847.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@266848.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@266849.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266854.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266875.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266876.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266882.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266883.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@266888.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266890.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266891.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@266896.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266897.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266899.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266900.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@266905.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266907.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266908.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266914.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@266968.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266970.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266971.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@266994.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@266997.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@267005.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267008.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267009.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267028.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267030.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267031.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267036.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267038.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267039.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267053.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267104.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267146.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267147.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@267148.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267150.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267151.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267157.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@267188.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267190.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267191.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267205.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@267236.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267238.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267239.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267253.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@267303.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267305.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267306.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267323.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267332.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267334.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267335.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267365.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267423.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267613.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267623.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267624.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267625.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267626.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267642.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267643.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267645.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267647.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267648.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267653.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267655.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267656.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267661.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267663.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267664.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267669.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267671.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267672.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267677.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267679.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267680.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267687.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267695.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267704.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267705.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267706.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267707.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@267724.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@267725.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267727.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267729.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267730.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267743.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267745.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267746.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@267751.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267753.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267754.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@267777.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267797.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267798.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267799.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267800.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267820.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267821.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@267822.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@267823.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267838.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@267841.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267843.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267844.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267845.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267847.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267848.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267840.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267859.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@267861.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@267862.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@267864.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@267866.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@267867.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@267868.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267870.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267871.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@267863.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267877.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@267878.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@267879.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@267884.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267885.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@267886.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267887.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@267888.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@267889.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267891.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267892.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@267898.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@267902.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266856.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266928.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267011.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267070.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267121.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267171.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267219.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267267.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267337.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267378.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267436.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_514 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_527 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_529 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_531 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_533 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_535 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_569 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_582 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_586 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_588 = _RAND_9[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {2{`RANDOM}};
  _T_622 = _RAND_10[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_633 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_654 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_697 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_514 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_518) begin
          _T_514 <= 1'h0;
        end else begin
          _T_514 <= _T_517;
        end
      end
    end
    if (_T_559) begin
      _T_527 <= io_in_a_bits_opcode;
    end
    if (_T_559) begin
      _T_529 <= io_in_a_bits_param;
    end
    if (_T_559) begin
      _T_531 <= io_in_a_bits_size;
    end
    if (_T_559) begin
      _T_533 <= io_in_a_bits_source;
    end
    if (_T_559) begin
      _T_535 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_569 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_573) begin
          _T_569 <= 1'h0;
        end else begin
          _T_569 <= _T_572;
        end
      end
    end
    if (_T_620) begin
      _T_582 <= io_in_d_bits_opcode;
    end
    if (_T_620) begin
      _T_586 <= io_in_d_bits_size;
    end
    if (_T_620) begin
      _T_588 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_622 <= 64'h0;
    end else begin
      _T_622 <= _T_695;
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_654 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_658) begin
          _T_654 <= 1'h0;
        end else begin
          _T_654 <= _T_657;
        end
      end
    end
    if (reset) begin
      _T_697 <= 32'h0;
    end else begin
      if (_T_711) begin
        _T_697 <= 32'h0;
      end else begin
        _T_697 <= _T_708;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266767.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266768.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266839.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@266840.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266856.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266857.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266863.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266864.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266870.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266871.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266878.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266879.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266885.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266886.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266893.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266894.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266902.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266903.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266910.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266911.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266928.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266929.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266935.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266936.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266942.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266943.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266950.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266951.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266957.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266958.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266965.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266966.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266973.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266974.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266982.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266983.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266990.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@266991.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267011.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267012.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267018.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267019.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267025.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267026.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267033.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267034.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267041.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267042.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267049.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267050.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267070.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267071.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267077.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267078.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267084.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267085.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267092.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267093.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267100.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267101.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267121.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267122.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267128.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267129.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267135.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267136.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267143.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267144.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267153.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267154.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267171.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267172.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267178.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267179.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267185.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267186.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267193.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267194.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267201.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267202.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267219.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267220.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267226.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267227.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267233.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267234.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267241.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267242.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267249.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267250.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267267.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267268.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267274.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267275.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267281.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267282.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267289.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267290.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267297.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267298.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267308.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267309.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267329.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267330.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267337.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267338.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267345.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267346.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267353.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267354.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267361.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267362.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267371.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267372.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267378.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267379.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267386.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267387.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267394.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267395.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267402.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267403.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267410.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267411.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267419.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267420.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267429.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267430.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267436.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267437.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267444.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267445.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267452.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267453.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267460.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267461.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267469.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267470.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267478.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267479.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267488.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267489.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267496.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267497.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267504.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267505.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267513.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267514.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267523.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267524.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267531.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267532.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267540.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267541.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267549.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267550.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267559.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267560.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267567.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267568.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267575.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267576.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267584.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267585.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267594.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267595.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267602.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267603.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267610.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267611.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267650.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267651.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267658.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267659.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267666.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267667.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267674.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267675.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267682.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267683.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267732.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267733.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267740.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267741.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267748.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267749.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267756.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267757.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267764.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267765.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267772.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@267773.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267850.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267851.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267873.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@267874.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_706) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267894.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_706) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@267895.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module SPIPhysical_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268096.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268097.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268098.4]
  output        io_port_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  input         io_port_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  output        io_port_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  output        io_port_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  input         io_port_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  output        io_port_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  output        io_port_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  input         io_port_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  output        io_port_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  output        io_port_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  input         io_port_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  output        io_port_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  output        io_port_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  input  [11:0] io_ctrl_sck_div, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  input         io_ctrl_sck_pol, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  input         io_ctrl_sck_pha, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  input  [1:0]  io_ctrl_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  input         io_ctrl_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  input         io_ctrl_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  input  [11:0] io_ctrl_extradel_coarse, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  input  [4:0]  io_ctrl_sampledel_sd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  output        io_op_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  input         io_op_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  input         io_op_bits_fn, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  input         io_op_bits_stb, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  input  [7:0]  io_op_bits_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  input  [7:0]  io_op_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  output        io_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
  output [7:0]  io_rx_bits // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268099.4]
);
  reg [11:0] ctrl_sck_div; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268104.4]
  reg [31:0] _RAND_0;
  reg  ctrl_sck_pol; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268104.4]
  reg [31:0] _RAND_1;
  reg  ctrl_sck_pha; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268104.4]
  reg [31:0] _RAND_2;
  reg [1:0] ctrl_fmt_proto; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268104.4]
  reg [31:0] _RAND_3;
  reg  ctrl_fmt_endian; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268104.4]
  reg [31:0] _RAND_4;
  reg  ctrl_fmt_iodir; // @[SPIPhysical.scala 51:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268104.4]
  reg [31:0] _RAND_5;
  wire  proto_0; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268105.4]
  wire  proto_1; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268106.4]
  wire  proto_2; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268107.4]
  reg  setup_d; // @[SPIPhysical.scala 59:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268120.4]
  reg [31:0] _RAND_6;
  reg [7:0] scnt; // @[SPIPhysical.scala 61:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268122.4]
  reg [31:0] _RAND_7;
  reg [11:0] tcnt; // @[SPIPhysical.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268123.4]
  reg [31:0] _RAND_8;
  wire  stop; // @[SPIPhysical.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268124.4]
  wire  beat; // @[SPIPhysical.scala 65:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268125.4]
  wire [11:0] _GEN_74; // @[SPIPhysical.scala 68:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268126.4]
  wire [11:0] totalCoarseDel; // @[SPIPhysical.scala 68:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268127.4]
  reg [11:0] del_cntr; // @[SPIPhysical.scala 69:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268128.4]
  reg [31:0] _RAND_9;
  reg  sample_d; // @[SPIPhysical.scala 70:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268129.4]
  reg [31:0] _RAND_10;
  reg  xfr; // @[SPIPhysical.scala 171:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268318.4]
  reg [31:0] _RAND_11;
  reg  cref; // @[SPIPhysical.scala 108:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268178.4]
  reg [31:0] _RAND_12;
  wire  _GEN_8; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268327.8]
  wire  _GEN_13; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268324.6]
  wire  sample; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268319.4]
  wire  _T_46; // @[SPIPhysical.scala 71:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268130.4]
  wire  _T_47; // @[SPIPhysical.scala 75:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268134.4]
  wire [12:0] _T_48; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268136.6]
  wire [12:0] _T_49; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268137.6]
  wire [11:0] _T_50; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268138.6]
  wire  _T_51; // @[SPIPhysical.scala 79:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268141.4]
  reg [11:0] del_cntr_last; // @[SPIPhysical.scala 86:30:shc.marmotcaravel.MarmotCaravelConfig.fir@268148.4]
  reg [31:0] _RAND_13;
  reg  last_d; // @[SPIPhysical.scala 87:23:shc.marmotcaravel.MarmotCaravelConfig.fir@268149.4]
  reg [31:0] _RAND_14;
  wire  _T_179; // @[SPIPhysical.scala 190:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268340.4]
  wire  _T_180; // @[SPIPhysical.scala 191:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268342.6]
  wire  _T_181; // @[SPIPhysical.scala 191:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268343.6]
  wire  last; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@268341.4]
  wire  _T_54; // @[SPIPhysical.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268150.4]
  wire  _T_55; // @[SPIPhysical.scala 93:23:shc.marmotcaravel.MarmotCaravelConfig.fir@268154.4]
  wire [12:0] _T_56; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268156.6]
  wire [12:0] _T_57; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268157.6]
  wire [11:0] _T_58; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268158.6]
  wire  _T_59; // @[SPIPhysical.scala 97:23:shc.marmotcaravel.MarmotCaravelConfig.fir@268161.4]
  wire [11:0] _T_60; // @[SPIPhysical.scala 103:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268168.4]
  wire [12:0] _T_61; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268169.4]
  wire [12:0] _T_62; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268170.4]
  wire [11:0] decr; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268171.4]
  wire  sched; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268319.4]
  reg  sck; // @[SPIPhysical.scala 107:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268177.4]
  reg [31:0] _RAND_15;
  wire  cinv; // @[SPIPhysical.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@268179.4]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268180.4]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268181.4]
  wire [3:0] rxd; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268182.4]
  wire  rxd_delayed_0; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268189.4]
  wire  rxd_delayed_1; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268190.4]
  wire  rxd_delayed_2; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268191.4]
  wire  rxd_delayed_3; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268192.4]
  wire [1:0] _T_82; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@268197.4]
  wire [1:0] _T_83; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@268198.4]
  wire [3:0] rxd_fin; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@268199.4]
  wire  samples_0; // @[SPIPhysical.scala 130:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268200.4]
  wire [1:0] samples_1; // @[SPIPhysical.scala 130:40:shc.marmotcaravel.MarmotCaravelConfig.fir@268201.4]
  reg [7:0] buffer; // @[SPIPhysical.scala 132:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268202.4]
  reg [31:0] _RAND_16;
  wire  _T_84; // @[SPIPhysical.scala 112:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268203.4]
  wire  _T_85; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268204.4]
  wire  _T_86; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268205.4]
  wire  _T_87; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268206.4]
  wire  _T_88; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268207.4]
  wire  _T_89; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268208.4]
  wire  _T_90; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268209.4]
  wire  _T_91; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268210.4]
  wire  _T_92; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268211.4]
  wire [1:0] _T_93; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268212.4]
  wire [1:0] _T_94; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268213.4]
  wire [3:0] _T_95; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268214.4]
  wire [1:0] _T_96; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268215.4]
  wire [1:0] _T_97; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268216.4]
  wire [3:0] _T_98; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268217.4]
  wire [7:0] _T_99; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268218.4]
  wire [7:0] buffer_in; // @[SPIPhysical.scala 112:8:shc.marmotcaravel.MarmotCaravelConfig.fir@268219.4]
  wire  _T_100; // @[SPIPhysical.scala 134:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268220.4]
  wire  _T_101; // @[SPIPhysical.scala 134:65:shc.marmotcaravel.MarmotCaravelConfig.fir@268221.4]
  wire  _T_102; // @[SPIPhysical.scala 134:52:shc.marmotcaravel.MarmotCaravelConfig.fir@268222.4]
  wire  shift; // @[SPIPhysical.scala 134:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268223.4]
  wire [6:0] _T_103; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268224.4]
  wire [6:0] _T_104; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@268225.4]
  wire [6:0] _T_105; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268226.4]
  wire  _T_106; // @[SPIPhysical.scala 139:35:shc.marmotcaravel.MarmotCaravelConfig.fir@268227.4]
  wire  _T_107; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268228.4]
  wire [7:0] _T_108; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  wire [5:0] _T_109; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268230.4]
  wire [5:0] _T_110; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@268231.4]
  wire [5:0] _T_111; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268232.4]
  wire [1:0] _T_112; // @[SPIPhysical.scala 139:35:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  wire [1:0] _T_113; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268234.4]
  wire [7:0] _T_114; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268235.4]
  wire [3:0] _T_115; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268236.4]
  wire [3:0] _T_116; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@268237.4]
  wire [3:0] _T_117; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268238.4]
  wire [3:0] _T_119; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268240.4]
  wire [7:0] _T_120; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268241.4]
  wire [7:0] _T_122; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268242.4]
  wire [7:0] _T_123; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268243.4]
  wire [7:0] _T_124; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268244.4]
  wire [7:0] _T_125; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268245.4]
  wire [7:0] _T_126; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268246.4]
  reg [3:0] txd; // @[SPIPhysical.scala 144:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268250.4]
  reg [31:0] _RAND_17;
  wire [3:0] _T_130; // @[SPIPhysical.scala 142:41:shc.marmotcaravel.MarmotCaravelConfig.fir@268251.4]
  wire  _T_182; // @[SPIPhysical.scala 192:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268345.6]
  wire  _T_183; // @[SPIPhysical.scala 192:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268346.6]
  wire  _GEN_23; // @[SPIPhysical.scala 192:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268347.6]
  wire  accept; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@268341.4]
  wire [3:0] txd_in; // @[SPIPhysical.scala 145:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268253.4]
  wire [1:0] _T_132; // @[SPIPhysical.scala 146:39:shc.marmotcaravel.MarmotCaravelConfig.fir@268254.4]
  wire  txd_sel_0; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268255.4]
  wire  txd_sel_1; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268256.4]
  wire  txd_sel_2; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268257.4]
  wire  txd_shf_0; // @[SPIPhysical.scala 147:55:shc.marmotcaravel.MarmotCaravelConfig.fir@268258.4]
  wire [1:0] txd_shf_1; // @[SPIPhysical.scala 147:55:shc.marmotcaravel.MarmotCaravelConfig.fir@268259.4]
  wire  _T_134; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268262.6]
  wire [1:0] _T_135; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268263.6]
  wire [3:0] _T_136; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.6]
  wire [1:0] _GEN_75; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268265.6]
  wire [1:0] _T_137; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268265.6]
  wire [3:0] _GEN_76; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268266.6]
  wire [3:0] _T_138; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268266.6]
  reg  done; // @[SPIPhysical.scala 165:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268296.4]
  reg [31:0] _RAND_18;
  wire  _T_184; // @[SPIPhysical.scala 199:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268353.4]
  wire  _T_185; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@268362.8]
  wire  _GEN_9; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268327.8]
  wire  _GEN_14; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268324.6]
  wire  _GEN_21; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268319.4]
  wire  _GEN_24; // @[SPIPhysical.scala 192:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268347.6]
  wire  _GEN_28; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@268341.4]
  wire  _GEN_43; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268363.8]
  wire  _GEN_56; // @[SPIPhysical.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268356.6]
  wire  setup; // @[SPIPhysical.scala 199:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268354.4]
  wire  _T_141; // @[SPIPhysical.scala 153:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268272.4]
  wire  txen_2; // @[SPIPhysical.scala 153:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268273.4]
  wire  txen_1; // @[SPIPhysical.scala 153:82:shc.marmotcaravel.MarmotCaravelConfig.fir@268275.4]
  wire  _T_156; // @[SPIPhysical.scala 166:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268297.4]
  wire  _T_157; // @[SPIPhysical.scala 112:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268300.4]
  wire  _T_159; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268302.4]
  wire  _T_160; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268303.4]
  wire  _T_161; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268304.4]
  wire  _T_162; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268305.4]
  wire  _T_163; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268306.4]
  wire  _T_164; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268307.4]
  wire  _T_165; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268308.4]
  wire [1:0] _T_166; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268309.4]
  wire [1:0] _T_167; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268310.4]
  wire [3:0] _T_168; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268311.4]
  wire [1:0] _T_169; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268312.4]
  wire [1:0] _T_170; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268313.4]
  wire [3:0] _T_171; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268314.4]
  wire [7:0] _T_172; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268315.4]
  wire  _T_176; // @[SPIPhysical.scala 180:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268328.10]
  wire  _GEN_7; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268327.8]
  wire [11:0] _GEN_10; // @[SPIPhysical.scala 184:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268335.8]
  wire  _GEN_12; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268324.6]
  wire [11:0] _GEN_15; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268324.6]
  wire  _GEN_19; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268319.4]
  wire [11:0] _GEN_22; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268319.4]
  wire  _T_186; // @[SPIPhysical.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@268367.10]
  wire [11:0] _GEN_49; // @[SPIPhysical.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268356.6]
  wire [11:0] _GEN_62; // @[SPIPhysical.scala 199:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268354.4]
  assign proto_0 = 2'h0 == ctrl_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268105.4]
  assign proto_1 = 2'h1 == ctrl_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268106.4]
  assign proto_2 = 2'h2 == ctrl_fmt_proto; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268107.4]
  assign stop = scnt == 8'h0; // @[SPIPhysical.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268124.4]
  assign beat = tcnt == 12'h0; // @[SPIPhysical.scala 65:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268125.4]
  assign _GEN_74 = {{7'd0}, io_ctrl_sampledel_sd}; // @[SPIPhysical.scala 68:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268126.4]
  assign totalCoarseDel = io_ctrl_extradel_coarse + _GEN_74; // @[SPIPhysical.scala 68:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268127.4]
  assign _GEN_8 = xfr ? cref : 1'h0; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268327.8]
  assign _GEN_13 = beat ? _GEN_8 : 1'h0; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268324.6]
  assign sample = stop ? 1'h0 : _GEN_13; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268319.4]
  assign _T_46 = beat & sample; // @[SPIPhysical.scala 71:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268130.4]
  assign _T_47 = del_cntr != 12'h0; // @[SPIPhysical.scala 75:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268134.4]
  assign _T_48 = del_cntr - 12'h1; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268136.6]
  assign _T_49 = $unsigned(_T_48); // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268137.6]
  assign _T_50 = _T_49[11:0]; // @[SPIPhysical.scala 76:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268138.6]
  assign _T_51 = del_cntr == 12'h1; // @[SPIPhysical.scala 79:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268141.4]
  assign _T_179 = scnt == 8'h1; // @[SPIPhysical.scala 190:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268340.4]
  assign _T_180 = beat & cref; // @[SPIPhysical.scala 191:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268342.6]
  assign _T_181 = _T_180 & xfr; // @[SPIPhysical.scala 191:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268343.6]
  assign last = _T_179 ? _T_181 : 1'h0; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@268341.4]
  assign _T_54 = beat & last; // @[SPIPhysical.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268150.4]
  assign _T_55 = del_cntr_last != 12'h0; // @[SPIPhysical.scala 93:23:shc.marmotcaravel.MarmotCaravelConfig.fir@268154.4]
  assign _T_56 = del_cntr_last - 12'h1; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268156.6]
  assign _T_57 = $unsigned(_T_56); // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268157.6]
  assign _T_58 = _T_57[11:0]; // @[SPIPhysical.scala 94:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268158.6]
  assign _T_59 = del_cntr_last == 12'h1; // @[SPIPhysical.scala 97:23:shc.marmotcaravel.MarmotCaravelConfig.fir@268161.4]
  assign _T_60 = beat ? {{4'd0}, scnt} : tcnt; // @[SPIPhysical.scala 103:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268168.4]
  assign _T_61 = _T_60 - 12'h1; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268169.4]
  assign _T_62 = $unsigned(_T_61); // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268170.4]
  assign decr = _T_62[11:0]; // @[SPIPhysical.scala 103:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268171.4]
  assign sched = stop ? 1'h1 : beat; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268319.4]
  assign cinv = ctrl_sck_pha ^ ctrl_sck_pol; // @[SPIPhysical.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@268179.4]
  assign _T_67 = {io_port_dq_1_i,io_port_dq_0_i}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268180.4]
  assign _T_68 = {io_port_dq_3_i,io_port_dq_2_i}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268181.4]
  assign rxd = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268182.4]
  assign rxd_delayed_0 = rxd[0]; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268189.4]
  assign rxd_delayed_1 = rxd[1]; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268190.4]
  assign rxd_delayed_2 = rxd[2]; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268191.4]
  assign rxd_delayed_3 = rxd[3]; // @[SPIPhysical.scala 126:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268192.4]
  assign _T_82 = {rxd_delayed_1,rxd_delayed_0}; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@268197.4]
  assign _T_83 = {rxd_delayed_3,rxd_delayed_2}; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@268198.4]
  assign rxd_fin = {_T_83,_T_82}; // @[SPIPhysical.scala 129:29:shc.marmotcaravel.MarmotCaravelConfig.fir@268199.4]
  assign samples_0 = rxd_fin[1]; // @[SPIPhysical.scala 130:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268200.4]
  assign samples_1 = rxd_fin[1:0]; // @[SPIPhysical.scala 130:40:shc.marmotcaravel.MarmotCaravelConfig.fir@268201.4]
  assign _T_84 = io_ctrl_fmt_endian == 1'h0; // @[SPIPhysical.scala 112:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268203.4]
  assign _T_85 = io_op_bits_data[0]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268204.4]
  assign _T_86 = io_op_bits_data[1]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268205.4]
  assign _T_87 = io_op_bits_data[2]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268206.4]
  assign _T_88 = io_op_bits_data[3]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268207.4]
  assign _T_89 = io_op_bits_data[4]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268208.4]
  assign _T_90 = io_op_bits_data[5]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268209.4]
  assign _T_91 = io_op_bits_data[6]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268210.4]
  assign _T_92 = io_op_bits_data[7]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268211.4]
  assign _T_93 = {_T_91,_T_92}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268212.4]
  assign _T_94 = {_T_89,_T_90}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268213.4]
  assign _T_95 = {_T_94,_T_93}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268214.4]
  assign _T_96 = {_T_87,_T_88}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268215.4]
  assign _T_97 = {_T_85,_T_86}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268216.4]
  assign _T_98 = {_T_97,_T_96}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268217.4]
  assign _T_99 = {_T_98,_T_95}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268218.4]
  assign buffer_in = _T_84 ? io_op_bits_data : _T_99; // @[SPIPhysical.scala 112:8:shc.marmotcaravel.MarmotCaravelConfig.fir@268219.4]
  assign _T_100 = totalCoarseDel > 12'h0; // @[SPIPhysical.scala 134:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268220.4]
  assign _T_101 = sample_d & stop; // @[SPIPhysical.scala 134:65:shc.marmotcaravel.MarmotCaravelConfig.fir@268221.4]
  assign _T_102 = setup_d | _T_101; // @[SPIPhysical.scala 134:52:shc.marmotcaravel.MarmotCaravelConfig.fir@268222.4]
  assign shift = _T_100 ? _T_102 : sample_d; // @[SPIPhysical.scala 134:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268223.4]
  assign _T_103 = buffer[6:0]; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268224.4]
  assign _T_104 = buffer[7:1]; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@268225.4]
  assign _T_105 = shift ? _T_103 : _T_104; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268226.4]
  assign _T_106 = buffer[0]; // @[SPIPhysical.scala 139:35:shc.marmotcaravel.MarmotCaravelConfig.fir@268227.4]
  assign _T_107 = sample_d ? samples_0 : _T_106; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268228.4]
  assign _T_108 = {_T_105,_T_107}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268229.4]
  assign _T_109 = buffer[5:0]; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268230.4]
  assign _T_110 = buffer[7:2]; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@268231.4]
  assign _T_111 = shift ? _T_109 : _T_110; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268232.4]
  assign _T_112 = buffer[1:0]; // @[SPIPhysical.scala 139:35:shc.marmotcaravel.MarmotCaravelConfig.fir@268233.4]
  assign _T_113 = sample_d ? samples_1 : _T_112; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268234.4]
  assign _T_114 = {_T_111,_T_113}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268235.4]
  assign _T_115 = buffer[3:0]; // @[SPIPhysical.scala 138:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268236.4]
  assign _T_116 = buffer[7:4]; // @[SPIPhysical.scala 138:42:shc.marmotcaravel.MarmotCaravelConfig.fir@268237.4]
  assign _T_117 = shift ? _T_115 : _T_116; // @[SPIPhysical.scala 138:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268238.4]
  assign _T_119 = sample_d ? rxd_fin : _T_115; // @[SPIPhysical.scala 139:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268240.4]
  assign _T_120 = {_T_117,_T_119}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268241.4]
  assign _T_122 = proto_0 ? _T_108 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268242.4]
  assign _T_123 = proto_1 ? _T_114 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268243.4]
  assign _T_124 = proto_2 ? _T_120 : 8'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268244.4]
  assign _T_125 = _T_122 | _T_123; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268245.4]
  assign _T_126 = _T_125 | _T_124; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268246.4]
  assign _T_130 = buffer_in[7:4]; // @[SPIPhysical.scala 142:41:shc.marmotcaravel.MarmotCaravelConfig.fir@268251.4]
  assign _T_182 = cref == 1'h0; // @[SPIPhysical.scala 192:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268345.6]
  assign _T_183 = beat & _T_182; // @[SPIPhysical.scala 192:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268346.6]
  assign _GEN_23 = _T_183 ? 1'h1 : stop; // @[SPIPhysical.scala 192:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268347.6]
  assign accept = _T_179 ? _GEN_23 : stop; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@268341.4]
  assign txd_in = accept ? _T_130 : _T_116; // @[SPIPhysical.scala 145:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268253.4]
  assign _T_132 = accept ? io_ctrl_fmt_proto : ctrl_fmt_proto; // @[SPIPhysical.scala 146:39:shc.marmotcaravel.MarmotCaravelConfig.fir@268254.4]
  assign txd_sel_0 = 2'h0 == _T_132; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268255.4]
  assign txd_sel_1 = 2'h1 == _T_132; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268256.4]
  assign txd_sel_2 = 2'h2 == _T_132; // @[SPIConsts.scala 13:48:shc.marmotcaravel.MarmotCaravelConfig.fir@268257.4]
  assign txd_shf_0 = txd_in[3]; // @[SPIPhysical.scala 147:55:shc.marmotcaravel.MarmotCaravelConfig.fir@268258.4]
  assign txd_shf_1 = txd_in[3:2]; // @[SPIPhysical.scala 147:55:shc.marmotcaravel.MarmotCaravelConfig.fir@268259.4]
  assign _T_134 = txd_sel_0 ? txd_shf_0 : 1'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268262.6]
  assign _T_135 = txd_sel_1 ? txd_shf_1 : 2'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268263.6]
  assign _T_136 = txd_sel_2 ? txd_in : 4'h0; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268264.6]
  assign _GEN_75 = {{1'd0}, _T_134}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268265.6]
  assign _T_137 = _GEN_75 | _T_135; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268265.6]
  assign _GEN_76 = {{2'd0}, _T_137}; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268266.6]
  assign _T_138 = _GEN_76 | _T_136; // @[Mux.scala 19:72:shc.marmotcaravel.MarmotCaravelConfig.fir@268266.6]
  assign _T_184 = accept & done; // @[SPIPhysical.scala 199:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268353.4]
  assign _T_185 = 1'h0 == io_op_bits_fn; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@268362.8]
  assign _GEN_9 = xfr ? _T_182 : 1'h0; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268327.8]
  assign _GEN_14 = beat ? _GEN_9 : 1'h0; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268324.6]
  assign _GEN_21 = stop ? 1'h0 : _GEN_14; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268319.4]
  assign _GEN_24 = _T_183 ? 1'h0 : _GEN_21; // @[SPIPhysical.scala 192:26:shc.marmotcaravel.MarmotCaravelConfig.fir@268347.6]
  assign _GEN_28 = _T_179 ? _GEN_24 : _GEN_21; // @[SPIPhysical.scala 190:27:shc.marmotcaravel.MarmotCaravelConfig.fir@268341.4]
  assign _GEN_43 = _T_185 ? 1'h1 : _GEN_28; // @[Conditional.scala 40:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268363.8]
  assign _GEN_56 = io_op_valid ? _GEN_43 : _GEN_28; // @[SPIPhysical.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268356.6]
  assign setup = _T_184 ? _GEN_56 : _GEN_28; // @[SPIPhysical.scala 199:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268354.4]
  assign _T_141 = proto_1 & ctrl_fmt_iodir; // @[SPIPhysical.scala 153:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268272.4]
  assign txen_2 = proto_2 & ctrl_fmt_iodir; // @[SPIPhysical.scala 153:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268273.4]
  assign txen_1 = _T_141 | txen_2; // @[SPIPhysical.scala 153:82:shc.marmotcaravel.MarmotCaravelConfig.fir@268275.4]
  assign _T_156 = done | last_d; // @[SPIPhysical.scala 166:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268297.4]
  assign _T_157 = ctrl_fmt_endian == 1'h0; // @[SPIPhysical.scala 112:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268300.4]
  assign _T_159 = buffer[1]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268302.4]
  assign _T_160 = buffer[2]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268303.4]
  assign _T_161 = buffer[3]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268304.4]
  assign _T_162 = buffer[4]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268305.4]
  assign _T_163 = buffer[5]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268306.4]
  assign _T_164 = buffer[6]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268307.4]
  assign _T_165 = buffer[7]; // @[SPIPhysical.scala 112:54:shc.marmotcaravel.MarmotCaravelConfig.fir@268308.4]
  assign _T_166 = {_T_164,_T_165}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268309.4]
  assign _T_167 = {_T_162,_T_163}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268310.4]
  assign _T_168 = {_T_167,_T_166}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268311.4]
  assign _T_169 = {_T_160,_T_161}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268312.4]
  assign _T_170 = {_T_106,_T_159}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268313.4]
  assign _T_171 = {_T_170,_T_169}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268314.4]
  assign _T_172 = {_T_171,_T_168}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268315.4]
  assign _T_176 = cref ^ cinv; // @[SPIPhysical.scala 180:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268328.10]
  assign _GEN_7 = xfr ? _T_176 : sck; // @[SPIPhysical.scala 179:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268327.8]
  assign _GEN_10 = _T_182 ? decr : {{4'd0}, scnt}; // @[SPIPhysical.scala 184:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268335.8]
  assign _GEN_12 = beat ? _GEN_7 : sck; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268324.6]
  assign _GEN_15 = beat ? _GEN_10 : {{4'd0}, scnt}; // @[SPIPhysical.scala 177:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268324.6]
  assign _GEN_19 = stop ? sck : _GEN_12; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268319.4]
  assign _GEN_22 = stop ? {{4'd0}, scnt} : _GEN_15; // @[SPIPhysical.scala 173:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268319.4]
  assign _T_186 = io_op_bits_cnt == 8'h0; // @[SPIPhysical.scala 213:27:shc.marmotcaravel.MarmotCaravelConfig.fir@268367.10]
  assign _GEN_49 = io_op_valid ? {{4'd0}, io_op_bits_cnt} : _GEN_22; // @[SPIPhysical.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268356.6]
  assign _GEN_62 = _T_184 ? _GEN_49 : _GEN_22; // @[SPIPhysical.scala 199:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268354.4]
  assign io_port_sck = sck; // @[SPIPhysical.scala 156:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268277.4]
  assign io_port_dq_0_o = txd[0]; // @[SPIPhysical.scala 160:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268287.4]
  assign io_port_dq_0_oe = proto_0 | txen_1; // @[SPIPhysical.scala 161:13:shc.marmotcaravel.MarmotCaravelConfig.fir@268288.4]
  assign io_port_dq_1_o = txd[1]; // @[SPIPhysical.scala 160:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268289.4]
  assign io_port_dq_1_oe = _T_141 | txen_2; // @[SPIPhysical.scala 161:13:shc.marmotcaravel.MarmotCaravelConfig.fir@268290.4]
  assign io_port_dq_2_o = txd[2]; // @[SPIPhysical.scala 160:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268291.4]
  assign io_port_dq_2_oe = proto_2 & ctrl_fmt_iodir; // @[SPIPhysical.scala 161:13:shc.marmotcaravel.MarmotCaravelConfig.fir@268292.4]
  assign io_port_dq_3_o = txd[3]; // @[SPIPhysical.scala 160:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268293.4]
  assign io_port_dq_3_oe = proto_2 & ctrl_fmt_iodir; // @[SPIPhysical.scala 161:13:shc.marmotcaravel.MarmotCaravelConfig.fir@268294.4]
  assign io_op_ready = accept & done; // @[SPIPhysical.scala 163:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268295.4 SPIPhysical.scala 200:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268355.6]
  assign io_rx_valid = done; // @[SPIPhysical.scala 168:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268299.4]
  assign io_rx_bits = _T_157 ? buffer : _T_172; // @[SPIPhysical.scala 169:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268317.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  ctrl_sck_div = _RAND_0[11:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  ctrl_sck_pol = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  ctrl_sck_pha = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  ctrl_fmt_proto = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  ctrl_fmt_endian = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  ctrl_fmt_iodir = _RAND_5[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  setup_d = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  scnt = _RAND_7[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  tcnt = _RAND_8[11:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  del_cntr = _RAND_9[11:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  sample_d = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  xfr = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  cref = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  del_cntr_last = _RAND_13[11:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  last_d = _RAND_14[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  sck = _RAND_15[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  buffer = _RAND_16[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_17 = {1{`RANDOM}};
  txd = _RAND_17[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_18 = {1{`RANDOM}};
  done = _RAND_18[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (_T_184) begin
      if (io_op_valid) begin
        if (!(_T_185)) begin
          if (io_op_bits_fn) begin
            if (io_op_bits_stb) begin
              ctrl_sck_div <= io_ctrl_sck_div;
            end
          end
        end
      end
    end
    if (_T_184) begin
      if (io_op_valid) begin
        if (!(_T_185)) begin
          if (io_op_bits_fn) begin
            if (io_op_bits_stb) begin
              ctrl_sck_pol <= io_ctrl_sck_pol;
            end
          end
        end
      end
    end
    if (_T_184) begin
      if (io_op_valid) begin
        if (!(_T_185)) begin
          if (io_op_bits_fn) begin
            if (io_op_bits_stb) begin
              ctrl_sck_pha <= io_ctrl_sck_pha;
            end
          end
        end
      end
    end
    if (_T_184) begin
      if (io_op_valid) begin
        if (io_op_bits_stb) begin
          ctrl_fmt_proto <= io_ctrl_fmt_proto;
        end
      end
    end
    if (_T_184) begin
      if (io_op_valid) begin
        if (io_op_bits_stb) begin
          ctrl_fmt_endian <= io_ctrl_fmt_endian;
        end
      end
    end
    if (_T_184) begin
      if (io_op_valid) begin
        if (io_op_bits_stb) begin
          ctrl_fmt_iodir <= io_ctrl_fmt_iodir;
        end
      end
    end
    if (_T_184) begin
      if (io_op_valid) begin
        if (_T_185) begin
          setup_d <= 1'h1;
        end else begin
          if (_T_179) begin
            if (_T_183) begin
              setup_d <= 1'h0;
            end else begin
              if (stop) begin
                setup_d <= 1'h0;
              end else begin
                if (beat) begin
                  if (xfr) begin
                    setup_d <= _T_182;
                  end else begin
                    setup_d <= 1'h0;
                  end
                end else begin
                  setup_d <= 1'h0;
                end
              end
            end
          end else begin
            if (stop) begin
              setup_d <= 1'h0;
            end else begin
              if (beat) begin
                if (xfr) begin
                  setup_d <= _T_182;
                end else begin
                  setup_d <= 1'h0;
                end
              end else begin
                setup_d <= 1'h0;
              end
            end
          end
        end
      end else begin
        if (_T_179) begin
          if (_T_183) begin
            setup_d <= 1'h0;
          end else begin
            if (stop) begin
              setup_d <= 1'h0;
            end else begin
              if (beat) begin
                if (xfr) begin
                  setup_d <= _T_182;
                end else begin
                  setup_d <= 1'h0;
                end
              end else begin
                setup_d <= 1'h0;
              end
            end
          end
        end else begin
          if (stop) begin
            setup_d <= 1'h0;
          end else begin
            if (beat) begin
              if (xfr) begin
                setup_d <= _T_182;
              end else begin
                setup_d <= 1'h0;
              end
            end else begin
              setup_d <= 1'h0;
            end
          end
        end
      end
    end else begin
      if (_T_179) begin
        if (_T_183) begin
          setup_d <= 1'h0;
        end else begin
          setup_d <= _GEN_21;
        end
      end else begin
        setup_d <= _GEN_21;
      end
    end
    if (reset) begin
      scnt <= 8'h0;
    end else begin
      scnt <= _GEN_62[7:0];
    end
    if (sched) begin
      tcnt <= ctrl_sck_div;
    end else begin
      tcnt <= decr;
    end
    if (reset) begin
      del_cntr <= 12'h4;
    end else begin
      if (_T_47) begin
        del_cntr <= _T_50;
      end else begin
        if (_T_46) begin
          del_cntr <= totalCoarseDel;
        end
      end
    end
    if (reset) begin
      sample_d <= 1'h0;
    end else begin
      sample_d <= _T_51;
    end
    if (_T_184) begin
      if (io_op_valid) begin
        xfr <= _T_185;
      end
    end
    if (reset) begin
      cref <= 1'h1;
    end else begin
      if (!(stop)) begin
        if (beat) begin
          cref <= _T_182;
        end
      end
    end
    if (reset) begin
      del_cntr_last <= 12'h4;
    end else begin
      if (_T_55) begin
        del_cntr_last <= _T_58;
      end else begin
        if (_T_54) begin
          del_cntr_last <= totalCoarseDel;
        end
      end
    end
    if (reset) begin
      last_d <= 1'h0;
    end else begin
      last_d <= _T_59;
    end
    if (_T_184) begin
      if (io_op_valid) begin
        if (_T_185) begin
          sck <= cinv;
        end else begin
          if (io_op_bits_fn) begin
            if (io_op_bits_stb) begin
              sck <= io_ctrl_sck_pol;
            end else begin
              if (_T_179) begin
                if (_T_183) begin
                  sck <= ctrl_sck_pol;
                end else begin
                  if (!(stop)) begin
                    if (beat) begin
                      if (xfr) begin
                        sck <= _T_176;
                      end
                    end
                  end
                end
              end else begin
                if (!(stop)) begin
                  if (beat) begin
                    if (xfr) begin
                      sck <= _T_176;
                    end
                  end
                end
              end
            end
          end else begin
            if (_T_179) begin
              if (_T_183) begin
                sck <= ctrl_sck_pol;
              end else begin
                if (!(stop)) begin
                  if (beat) begin
                    if (xfr) begin
                      sck <= _T_176;
                    end
                  end
                end
              end
            end else begin
              if (!(stop)) begin
                if (beat) begin
                  if (xfr) begin
                    sck <= _T_176;
                  end
                end
              end
            end
          end
        end
      end else begin
        if (_T_179) begin
          if (_T_183) begin
            sck <= ctrl_sck_pol;
          end else begin
            sck <= _GEN_19;
          end
        end else begin
          sck <= _GEN_19;
        end
      end
    end else begin
      if (_T_179) begin
        if (_T_183) begin
          sck <= ctrl_sck_pol;
        end else begin
          sck <= _GEN_19;
        end
      end else begin
        sck <= _GEN_19;
      end
    end
    if (_T_184) begin
      if (io_op_valid) begin
        if (_T_185) begin
          if (_T_84) begin
            buffer <= io_op_bits_data;
          end else begin
            buffer <= _T_99;
          end
        end else begin
          buffer <= _T_126;
        end
      end else begin
        buffer <= _T_126;
      end
    end else begin
      buffer <= _T_126;
    end
    if (reset) begin
      txd <= 4'h0;
    end else begin
      if (setup) begin
        txd <= _T_138;
      end
    end
    if (reset) begin
      done <= 1'h1;
    end else begin
      if (_T_184) begin
        if (io_op_valid) begin
          if (_T_185) begin
            done <= _T_186;
          end else begin
            done <= _T_156;
          end
        end else begin
          done <= _T_156;
        end
      end else begin
        done <= _T_156;
      end
    end
  end
endmodule
module SPIMedia_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268382.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268383.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268384.4]
  output        io_port_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  input         io_port_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  output        io_port_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  output        io_port_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  input         io_port_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  output        io_port_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  output        io_port_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  input         io_port_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  output        io_port_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  output        io_port_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  input         io_port_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  output        io_port_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  output        io_port_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  output        io_port_cs_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  output        io_port_cs_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  input  [11:0] io_ctrl_sck_div, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  input         io_ctrl_sck_pol, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  input         io_ctrl_sck_pha, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  input  [7:0]  io_ctrl_dla_cssck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  input  [7:0]  io_ctrl_dla_sckcs, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  input  [7:0]  io_ctrl_dla_intercs, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  input  [7:0]  io_ctrl_dla_interxfr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  input         io_ctrl_cs_id, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  input         io_ctrl_cs_dflt_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  input         io_ctrl_cs_dflt_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  input  [11:0] io_ctrl_extradel_coarse, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  input  [4:0]  io_ctrl_sampledel_sd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  output        io_link_tx_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  input         io_link_tx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  input  [7:0]  io_link_tx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  output        io_link_rx_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  output [7:0]  io_link_rx_bits, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  input  [7:0]  io_link_cnt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  input  [1:0]  io_link_fmt_proto, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  input         io_link_fmt_endian, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  input         io_link_fmt_iodir, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  input         io_link_cs_set, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
  input         io_link_cs_clear // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268385.4]
);
  wire  phy_clock; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire  phy_reset; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire  phy_io_port_sck; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire  phy_io_port_dq_0_i; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire  phy_io_port_dq_0_o; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire  phy_io_port_dq_0_oe; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire  phy_io_port_dq_1_i; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire  phy_io_port_dq_1_o; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire  phy_io_port_dq_1_oe; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire  phy_io_port_dq_2_i; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire  phy_io_port_dq_2_o; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire  phy_io_port_dq_2_oe; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire  phy_io_port_dq_3_i; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire  phy_io_port_dq_3_o; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire  phy_io_port_dq_3_oe; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire [11:0] phy_io_ctrl_sck_div; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire  phy_io_ctrl_sck_pol; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire  phy_io_ctrl_sck_pha; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire [1:0] phy_io_ctrl_fmt_proto; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire  phy_io_ctrl_fmt_endian; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire  phy_io_ctrl_fmt_iodir; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire [11:0] phy_io_ctrl_extradel_coarse; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire [4:0] phy_io_ctrl_sampledel_sd; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire  phy_io_op_ready; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire  phy_io_op_valid; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire  phy_io_op_bits_fn; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire  phy_io_op_bits_stb; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire [7:0] phy_io_op_bits_cnt; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire [7:0] phy_io_op_bits_data; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire  phy_io_rx_valid; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  wire [7:0] phy_io_rx_bits; // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
  reg  cs_id; // @[SPIMedia.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268403.4]
  reg [31:0] _RAND_0;
  reg  cs_dflt_0; // @[SPIMedia.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268403.4]
  reg [31:0] _RAND_1;
  reg  cs_dflt_1; // @[SPIMedia.scala 46:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268403.4]
  reg [31:0] _RAND_2;
  reg  cs_set; // @[SPIMedia.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268404.4]
  reg [31:0] _RAND_3;
  wire [1:0] _GEN_61; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268405.4]
  wire [1:0] _T_67; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268405.4]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268406.4]
  wire [1:0] _T_69; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@268407.4]
  wire  cs_active_0; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@268408.4]
  wire  cs_active_1; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@268409.4]
  wire [1:0] _T_79; // @[SPIMedia.scala 49:30:shc.marmotcaravel.MarmotCaravelConfig.fir@268414.4]
  wire [1:0] _T_80; // @[SPIMedia.scala 49:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268415.4]
  wire  cs_update; // @[SPIMedia.scala 49:37:shc.marmotcaravel.MarmotCaravelConfig.fir@268416.4]
  reg  clear; // @[SPIMedia.scala 51:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268417.4]
  reg [31:0] _RAND_4;
  reg  cs_assert; // @[SPIMedia.scala 52:22:shc.marmotcaravel.MarmotCaravelConfig.fir@268418.4]
  reg [31:0] _RAND_5;
  wire  cs_deassert; // @[SPIMedia.scala 53:27:shc.marmotcaravel.MarmotCaravelConfig.fir@268421.4]
  wire  _T_85; // @[SPIMedia.scala 55:39:shc.marmotcaravel.MarmotCaravelConfig.fir@268422.4]
  wire  _T_86; // @[SPIMedia.scala 55:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268423.4]
  wire  continuous; // @[SPIMedia.scala 57:42:shc.marmotcaravel.MarmotCaravelConfig.fir@268425.4]
  reg [1:0] state; // @[SPIMedia.scala 68:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268432.4]
  reg [31:0] _RAND_6;
  wire  _T_89; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@268433.4]
  wire  _T_90; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@268447.10]
  wire [7:0] _GEN_2; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268436.8]
  wire  _GEN_5; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268436.8]
  wire  _GEN_6; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268436.8]
  wire  _GEN_7; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268436.8]
  wire [7:0] _GEN_12; // @[SPIMedia.scala 88:38:shc.marmotcaravel.MarmotCaravelConfig.fir@268454.8]
  wire  _GEN_17; // @[SPIMedia.scala 88:38:shc.marmotcaravel.MarmotCaravelConfig.fir@268454.8]
  wire [7:0] _GEN_19; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268435.6]
  wire  _GEN_21; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268435.6]
  wire  _GEN_22; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268435.6]
  wire  _GEN_23; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268435.6]
  wire  _GEN_24; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268435.6]
  wire  _T_91; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@268469.6]
  wire  _T_92; // @[SPIMedia.scala 106:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268471.8]
  wire  _T_93; // @[SPIMedia.scala 108:22:shc.marmotcaravel.MarmotCaravelConfig.fir@268474.8]
  wire  _T_94; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@268480.8]
  wire [1:0] _GEN_62; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268487.12]
  wire [1:0] _T_95; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268487.12]
  wire [1:0] _T_97; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@268489.12]
  wire  _T_98; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@268490.12]
  wire  _T_99; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@268491.12]
  wire [7:0] _GEN_34; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@268481.8]
  wire  _GEN_41; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@268470.6]
  wire [7:0] _GEN_42; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@268470.6]
  wire  _GEN_44; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@268470.6]
  SPIPhysical_1 phy ( // @[SPIMedia.scala 33:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268390.4]
    .clock(phy_clock),
    .reset(phy_reset),
    .io_port_sck(phy_io_port_sck),
    .io_port_dq_0_i(phy_io_port_dq_0_i),
    .io_port_dq_0_o(phy_io_port_dq_0_o),
    .io_port_dq_0_oe(phy_io_port_dq_0_oe),
    .io_port_dq_1_i(phy_io_port_dq_1_i),
    .io_port_dq_1_o(phy_io_port_dq_1_o),
    .io_port_dq_1_oe(phy_io_port_dq_1_oe),
    .io_port_dq_2_i(phy_io_port_dq_2_i),
    .io_port_dq_2_o(phy_io_port_dq_2_o),
    .io_port_dq_2_oe(phy_io_port_dq_2_oe),
    .io_port_dq_3_i(phy_io_port_dq_3_i),
    .io_port_dq_3_o(phy_io_port_dq_3_o),
    .io_port_dq_3_oe(phy_io_port_dq_3_oe),
    .io_ctrl_sck_div(phy_io_ctrl_sck_div),
    .io_ctrl_sck_pol(phy_io_ctrl_sck_pol),
    .io_ctrl_sck_pha(phy_io_ctrl_sck_pha),
    .io_ctrl_fmt_proto(phy_io_ctrl_fmt_proto),
    .io_ctrl_fmt_endian(phy_io_ctrl_fmt_endian),
    .io_ctrl_fmt_iodir(phy_io_ctrl_fmt_iodir),
    .io_ctrl_extradel_coarse(phy_io_ctrl_extradel_coarse),
    .io_ctrl_sampledel_sd(phy_io_ctrl_sampledel_sd),
    .io_op_ready(phy_io_op_ready),
    .io_op_valid(phy_io_op_valid),
    .io_op_bits_fn(phy_io_op_bits_fn),
    .io_op_bits_stb(phy_io_op_bits_stb),
    .io_op_bits_cnt(phy_io_op_bits_cnt),
    .io_op_bits_data(phy_io_op_bits_data),
    .io_rx_valid(phy_io_rx_valid),
    .io_rx_bits(phy_io_rx_bits)
  );
  assign _GEN_61 = {{1'd0}, io_link_cs_set}; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268405.4]
  assign _T_67 = _GEN_61 << io_ctrl_cs_id; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268405.4]
  assign _T_68 = {io_ctrl_cs_dflt_1,io_ctrl_cs_dflt_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268406.4]
  assign _T_69 = _T_68 ^ _T_67; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@268407.4]
  assign cs_active_0 = _T_69[0]; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@268408.4]
  assign cs_active_1 = _T_69[1]; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@268409.4]
  assign _T_79 = {cs_active_1,cs_active_0}; // @[SPIMedia.scala 49:30:shc.marmotcaravel.MarmotCaravelConfig.fir@268414.4]
  assign _T_80 = {cs_dflt_1,cs_dflt_0}; // @[SPIMedia.scala 49:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268415.4]
  assign cs_update = _T_79 != _T_80; // @[SPIMedia.scala 49:37:shc.marmotcaravel.MarmotCaravelConfig.fir@268416.4]
  assign cs_deassert = clear | cs_update; // @[SPIMedia.scala 53:27:shc.marmotcaravel.MarmotCaravelConfig.fir@268421.4]
  assign _T_85 = io_link_cs_clear & cs_assert; // @[SPIMedia.scala 55:39:shc.marmotcaravel.MarmotCaravelConfig.fir@268422.4]
  assign _T_86 = clear | _T_85; // @[SPIMedia.scala 55:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268423.4]
  assign continuous = io_ctrl_dla_interxfr == 8'h0; // @[SPIMedia.scala 57:42:shc.marmotcaravel.MarmotCaravelConfig.fir@268425.4]
  assign _T_89 = 2'h0 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@268433.4]
  assign _T_90 = phy_io_op_ready & phy_io_op_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@268447.10]
  assign _GEN_2 = cs_deassert ? io_ctrl_dla_sckcs : io_link_cnt; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268436.8]
  assign _GEN_5 = cs_deassert ? 1'h0 : 1'h1; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268436.8]
  assign _GEN_6 = cs_deassert ? 1'h1 : io_link_tx_valid; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268436.8]
  assign _GEN_7 = cs_deassert ? 1'h0 : phy_io_op_ready; // @[SPIMedia.scala 73:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268436.8]
  assign _GEN_12 = io_link_tx_valid ? io_ctrl_dla_cssck : 8'h0; // @[SPIMedia.scala 88:38:shc.marmotcaravel.MarmotCaravelConfig.fir@268454.8]
  assign _GEN_17 = io_link_tx_valid ? 1'h0 : 1'h1; // @[SPIMedia.scala 88:38:shc.marmotcaravel.MarmotCaravelConfig.fir@268454.8]
  assign _GEN_19 = cs_assert ? _GEN_2 : _GEN_12; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268435.6]
  assign _GEN_21 = cs_assert ? cs_deassert : 1'h1; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268435.6]
  assign _GEN_22 = cs_assert ? _GEN_5 : _GEN_17; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268435.6]
  assign _GEN_23 = cs_assert ? _GEN_6 : 1'h1; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268435.6]
  assign _GEN_24 = cs_assert ? _GEN_7 : 1'h0; // @[SPIMedia.scala 72:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268435.6]
  assign _T_91 = 2'h1 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@268469.6]
  assign _T_92 = continuous == 1'h0; // @[SPIMedia.scala 106:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268471.8]
  assign _T_93 = phy_io_op_ready | continuous; // @[SPIMedia.scala 108:22:shc.marmotcaravel.MarmotCaravelConfig.fir@268474.8]
  assign _T_94 = 2'h2 == state; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@268480.8]
  assign _GEN_62 = {{1'd0}, cs_set}; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268487.12]
  assign _T_95 = _GEN_62 << cs_id; // @[SPIBundle.scala 47:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268487.12]
  assign _T_97 = _T_80 ^ _T_95; // @[SPIBundle.scala 48:33:shc.marmotcaravel.MarmotCaravelConfig.fir@268489.12]
  assign _T_98 = _T_97[0]; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@268490.12]
  assign _T_99 = _T_97[1]; // @[SPIBundle.scala 49:32:shc.marmotcaravel.MarmotCaravelConfig.fir@268491.12]
  assign _GEN_34 = _T_94 ? io_ctrl_dla_intercs : io_link_cnt; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@268481.8]
  assign _GEN_41 = _T_91 ? _T_92 : 1'h1; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@268470.6]
  assign _GEN_42 = _T_91 ? io_ctrl_dla_interxfr : _GEN_34; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@268470.6]
  assign _GEN_44 = _T_91 ? 1'h0 : _T_94; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@268470.6]
  assign io_port_sck = phy_io_port_sck; // @[SPIMedia.scala 59:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268426.4]
  assign io_port_dq_0_o = phy_io_port_dq_0_o; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268427.4]
  assign io_port_dq_0_oe = phy_io_port_dq_0_oe; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268427.4]
  assign io_port_dq_1_o = phy_io_port_dq_1_o; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268427.4]
  assign io_port_dq_1_oe = phy_io_port_dq_1_oe; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268427.4]
  assign io_port_dq_2_o = phy_io_port_dq_2_o; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268427.4]
  assign io_port_dq_2_oe = phy_io_port_dq_2_oe; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268427.4]
  assign io_port_dq_3_o = phy_io_port_dq_3_o; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268427.4]
  assign io_port_dq_3_oe = phy_io_port_dq_3_oe; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268427.4]
  assign io_port_cs_0 = cs_dflt_0; // @[SPIMedia.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268428.4]
  assign io_port_cs_1 = cs_dflt_1; // @[SPIMedia.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268428.4]
  assign io_link_tx_ready = _T_89 ? _GEN_24 : 1'h0; // @[SPIMedia.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268430.4 SPIMedia.scala 83:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268446.10]
  assign io_link_rx_valid = phy_io_rx_valid; // @[SPIMedia.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268429.4]
  assign io_link_rx_bits = phy_io_rx_bits; // @[SPIMedia.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268429.4]
  assign phy_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268392.4]
  assign phy_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268393.4]
  assign phy_io_port_dq_0_i = io_port_dq_0_i; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268427.4]
  assign phy_io_port_dq_1_i = io_port_dq_1_i; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268427.4]
  assign phy_io_port_dq_2_i = io_port_dq_2_i; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268427.4]
  assign phy_io_port_dq_3_i = io_port_dq_3_i; // @[SPIMedia.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268427.4]
  assign phy_io_ctrl_sck_div = io_ctrl_sck_div; // @[SPIMedia.scala 34:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268394.4]
  assign phy_io_ctrl_sck_pol = io_ctrl_sck_pol; // @[SPIMedia.scala 34:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268394.4]
  assign phy_io_ctrl_sck_pha = io_ctrl_sck_pha; // @[SPIMedia.scala 34:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268394.4]
  assign phy_io_ctrl_fmt_proto = io_link_fmt_proto; // @[SPIMedia.scala 35:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268395.4]
  assign phy_io_ctrl_fmt_endian = io_link_fmt_endian; // @[SPIMedia.scala 35:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268395.4]
  assign phy_io_ctrl_fmt_iodir = io_link_fmt_iodir; // @[SPIMedia.scala 35:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268395.4]
  assign phy_io_ctrl_extradel_coarse = io_ctrl_extradel_coarse; // @[SPIMedia.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268396.4]
  assign phy_io_ctrl_sampledel_sd = io_ctrl_sampledel_sd; // @[SPIMedia.scala 37:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268397.4]
  assign phy_io_op_valid = _T_89 ? _GEN_23 : _GEN_41; // @[SPIMedia.scala 40:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268398.4 SPIMedia.scala 82:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268445.10 SPIMedia.scala 106:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268472.8]
  assign phy_io_op_bits_fn = _T_89 ? _GEN_21 : 1'h1; // @[SPIMedia.scala 41:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268399.4 SPIMedia.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@268443.10]
  assign phy_io_op_bits_stb = _T_89 ? _GEN_22 : _GEN_44; // @[SPIMedia.scala 42:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268400.4 SPIMedia.scala 80:23:shc.marmotcaravel.MarmotCaravelConfig.fir@268444.10 SPIMedia.scala 99:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268464.10 SPIMedia.scala 116:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268483.10]
  assign phy_io_op_bits_cnt = _T_89 ? _GEN_19 : _GEN_42; // @[SPIMedia.scala 43:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268401.4 SPIMedia.scala 74:23:shc.marmotcaravel.MarmotCaravelConfig.fir@268437.10 SPIMedia.scala 90:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268455.10 SPIMedia.scala 98:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268463.10 SPIMedia.scala 107:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268473.8 SPIMedia.scala 115:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268482.10]
  assign phy_io_op_bits_data = io_link_tx_bits; // @[SPIMedia.scala 44:16:shc.marmotcaravel.MarmotCaravelConfig.fir@268402.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  cs_id = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  cs_dflt_0 = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  cs_dflt_1 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  cs_set = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  clear = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  cs_assert = _RAND_5[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  state = _RAND_6[1:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (_T_89) begin
      if (!(cs_assert)) begin
        if (!(io_link_tx_valid)) begin
          cs_id <= io_ctrl_cs_id;
        end
      end
    end
    if (_T_89) begin
      if (!(cs_assert)) begin
        if (io_link_tx_valid) begin
          if (phy_io_op_ready) begin
            cs_dflt_0 <= cs_active_0;
          end
        end else begin
          cs_dflt_0 <= io_ctrl_cs_dflt_0;
        end
      end
    end else begin
      if (!(_T_91)) begin
        if (_T_94) begin
          if (phy_io_op_ready) begin
            cs_dflt_0 <= _T_98;
          end
        end
      end
    end
    if (_T_89) begin
      if (!(cs_assert)) begin
        if (io_link_tx_valid) begin
          if (phy_io_op_ready) begin
            cs_dflt_1 <= cs_active_1;
          end
        end else begin
          cs_dflt_1 <= io_ctrl_cs_dflt_1;
        end
      end
    end else begin
      if (!(_T_91)) begin
        if (_T_94) begin
          if (phy_io_op_ready) begin
            cs_dflt_1 <= _T_99;
          end
        end
      end
    end
    if (_T_89) begin
      if (!(cs_assert)) begin
        if (io_link_tx_valid) begin
          if (phy_io_op_ready) begin
            cs_set <= io_link_cs_set;
          end
        end
      end
    end
    if (reset) begin
      clear <= 1'h0;
    end else begin
      if (_T_89) begin
        clear <= _T_86;
      end else begin
        if (_T_91) begin
          clear <= _T_86;
        end else begin
          if (_T_94) begin
            clear <= 1'h0;
          end else begin
            clear <= _T_86;
          end
        end
      end
    end
    if (reset) begin
      cs_assert <= 1'h0;
    end else begin
      if (_T_89) begin
        if (!(cs_assert)) begin
          if (io_link_tx_valid) begin
            if (phy_io_op_ready) begin
              cs_assert <= 1'h1;
            end
          end
        end
      end else begin
        if (!(_T_91)) begin
          if (_T_94) begin
            cs_assert <= 1'h0;
          end
        end
      end
    end
    if (reset) begin
      state <= 2'h0;
    end else begin
      if (_T_89) begin
        if (cs_assert) begin
          if (cs_deassert) begin
            if (phy_io_op_ready) begin
              state <= 2'h2;
            end
          end else begin
            if (_T_90) begin
              state <= 2'h1;
            end
          end
        end
      end else begin
        if (_T_91) begin
          if (_T_93) begin
            state <= 2'h0;
          end
        end else begin
          if (_T_94) begin
            if (phy_io_op_ready) begin
              state <= 2'h0;
            end
          end
        end
      end
    end
  end
endmodule
module TLSPI( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268501.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268502.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268503.4]
  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  output        auto_io_out_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  input         auto_io_out_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  output        auto_io_out_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  output        auto_io_out_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  input         auto_io_out_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  output        auto_io_out_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  output        auto_io_out_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  input         auto_io_out_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  output        auto_io_out_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  output        auto_io_out_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  input         auto_io_out_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  output        auto_io_out_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  output        auto_io_out_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  output        auto_io_out_cs_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
  output        auto_io_out_cs_1 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268504.4]
);
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268515.4]
  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268515.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268515.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268515.4]
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
  wire  fifo_clock; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire  fifo_reset; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire [1:0] fifo_io_ctrl_fmt_proto; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire  fifo_io_ctrl_fmt_endian; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire  fifo_io_ctrl_fmt_iodir; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire [3:0] fifo_io_ctrl_fmt_len; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire [1:0] fifo_io_ctrl_cs_mode; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire [3:0] fifo_io_ctrl_wm_tx; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire [3:0] fifo_io_ctrl_wm_rx; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire  fifo_io_link_tx_ready; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire  fifo_io_link_tx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire [7:0] fifo_io_link_tx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire  fifo_io_link_rx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire [7:0] fifo_io_link_rx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire [7:0] fifo_io_link_cnt; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire [1:0] fifo_io_link_fmt_proto; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire  fifo_io_link_fmt_endian; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire  fifo_io_link_fmt_iodir; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire  fifo_io_link_cs_set; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire  fifo_io_link_cs_clear; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire  fifo_io_link_lock; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire  fifo_io_tx_ready; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire  fifo_io_tx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire [7:0] fifo_io_tx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire  fifo_io_rx_ready; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire  fifo_io_rx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire [7:0] fifo_io_rx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire  fifo_io_ip_txwm; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire  fifo_io_ip_rxwm; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
  wire  mac_clock; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_reset; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_io_port_sck; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_io_port_dq_0_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_io_port_dq_0_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_io_port_dq_0_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_io_port_dq_1_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_io_port_dq_1_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_io_port_dq_1_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_io_port_dq_2_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_io_port_dq_2_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_io_port_dq_2_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_io_port_dq_3_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_io_port_dq_3_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_io_port_dq_3_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_io_port_cs_0; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_io_port_cs_1; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire [11:0] mac_io_ctrl_sck_div; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_io_ctrl_sck_pol; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_io_ctrl_sck_pha; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire [7:0] mac_io_ctrl_dla_cssck; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire [7:0] mac_io_ctrl_dla_sckcs; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire [7:0] mac_io_ctrl_dla_intercs; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire [7:0] mac_io_ctrl_dla_interxfr; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_io_ctrl_cs_id; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_io_ctrl_cs_dflt_0; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_io_ctrl_cs_dflt_1; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire [11:0] mac_io_ctrl_extradel_coarse; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire [4:0] mac_io_ctrl_sampledel_sd; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_io_link_tx_ready; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_io_link_tx_valid; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire [7:0] mac_io_link_tx_bits; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_io_link_rx_valid; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire [7:0] mac_io_link_rx_bits; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire [7:0] mac_io_link_cnt; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire [1:0] mac_io_link_fmt_proto; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_io_link_fmt_endian; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_io_link_fmt_iodir; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_io_link_cs_set; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  wire  mac_io_link_cs_clear; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
  reg [1:0] ctrl_fmt_proto; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
  reg [31:0] _RAND_0;
  reg  ctrl_fmt_endian; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
  reg [31:0] _RAND_1;
  reg  ctrl_fmt_iodir; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
  reg [31:0] _RAND_2;
  reg [3:0] ctrl_fmt_len; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
  reg [31:0] _RAND_3;
  reg [11:0] ctrl_sck_div; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
  reg [31:0] _RAND_4;
  reg  ctrl_sck_pol; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
  reg [31:0] _RAND_5;
  reg  ctrl_sck_pha; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
  reg [31:0] _RAND_6;
  reg  ctrl_cs_id; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
  reg [31:0] _RAND_7;
  reg  ctrl_cs_dflt_0; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
  reg [31:0] _RAND_8;
  reg  ctrl_cs_dflt_1; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
  reg [31:0] _RAND_9;
  reg [1:0] ctrl_cs_mode; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
  reg [31:0] _RAND_10;
  reg [7:0] ctrl_dla_cssck; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
  reg [31:0] _RAND_11;
  reg [7:0] ctrl_dla_sckcs; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
  reg [31:0] _RAND_12;
  reg [7:0] ctrl_dla_intercs; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
  reg [31:0] _RAND_13;
  reg [7:0] ctrl_dla_interxfr; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
  reg [31:0] _RAND_14;
  reg [3:0] ctrl_wm_tx; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
  reg [31:0] _RAND_15;
  reg [3:0] ctrl_wm_rx; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
  reg [31:0] _RAND_16;
  reg [11:0] ctrl_extradel_coarse; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
  reg [31:0] _RAND_17;
  reg [4:0] ctrl_sampledel_sd; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268603.4]
  reg [31:0] _RAND_18;
  reg  ie_txwm; // @[TLSPI.scala 76:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268630.4]
  reg [31:0] _RAND_19;
  reg  ie_rxwm; // @[TLSPI.scala 76:15:shc.marmotcaravel.MarmotCaravelConfig.fir@268630.4]
  reg [31:0] _RAND_20;
  wire  _T_410; // @[TLSPI.scala 78:35:shc.marmotcaravel.MarmotCaravelConfig.fir@268631.4]
  wire  _T_411; // @[TLSPI.scala 78:59:shc.marmotcaravel.MarmotCaravelConfig.fir@268632.4]
  wire  _T_415; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@268637.4]
  wire  _T_416; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268638.4]
  wire [2:0] _T_108_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
  wire  _T_424; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268642.4]
  wire [28:0] _T_108_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
  wire [26:0] _T_425; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@268644.4]
  wire [5:0] _T_108_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
  wire [1:0] _T_108_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
  wire [7:0] _T_426; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268648.4]
  wire [9:0] _T_421_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268640.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268645.4]
  wire [9:0] _T_442; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268656.4]
  wire  _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268658.4]
  wire [3:0] _T_108_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
  wire  _T_616; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@268698.4]
  wire  _T_617; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@268699.4]
  wire  _T_618; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@268700.4]
  wire  _T_619; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@268701.4]
  wire [7:0] _T_621; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268703.4]
  wire [7:0] _T_623; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268705.4]
  wire [7:0] _T_625; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268707.4]
  wire [7:0] _T_627; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268709.4]
  wire [15:0] _T_628; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268710.4]
  wire [15:0] _T_629; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268711.4]
  wire [31:0] _T_630; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268712.4]
  wire [11:0] _T_646; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268728.4]
  wire [11:0] _T_649; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268731.4]
  wire  _T_650; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268732.4]
  wire  _T_108_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
  wire  _T_108_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
  wire  _T_1419; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269568.4]
  wire  _T_1418; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269567.4]
  wire [1:0] _T_1426; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269575.4]
  wire  _T_1417; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269566.4]
  wire [2:0] _T_1427; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269576.4]
  wire  _T_1416; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269565.4]
  wire  _T_1415; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269564.4]
  wire [1:0] _T_1425; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269574.4]
  wire [4:0] _T_1428; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269577.4]
  wire  _T_1495; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269644.4]
  wire  _T_1496; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269645.4]
  wire [31:0] _T_1429; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@269578.4]
  wire  _T_1430; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269579.4]
  wire  _T_1731; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269936.4]
  wire  _T_1732; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269937.4]
  wire  _T_1735; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269940.4]
  wire  _T_1736; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269941.4]
  wire  _T_658; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268740.4]
  wire [31:0] _T_108_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
  wire [11:0] _T_660; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268742.4]
  wire  _T_671; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268756.4]
  wire  _T_674; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268759.4]
  wire  _T_675; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268760.4]
  wire  _T_1435; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269584.4]
  wire  _T_1765; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269979.4]
  wire  _T_1766; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269980.4]
  wire  _T_683; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268768.4]
  wire  _T_685; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268770.4]
  wire  _T_696; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268784.4]
  wire  _T_699; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268787.4]
  wire  _T_700; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268788.4]
  wire  _T_708; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268796.4]
  wire  _T_710; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268798.4]
  wire [1:0] _T_720; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268811.4]
  wire [7:0] _T_723; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268814.4]
  wire  _T_724; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268815.4]
  wire [7:0] _T_726; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268817.4]
  wire  _T_727; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268818.4]
  wire  _T_1440; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269589.4]
  wire  _T_1795; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270017.4]
  wire  _T_1796; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270018.4]
  wire  _T_735; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268826.4]
  wire [7:0] _T_737; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268828.4]
  wire [7:0] _T_748; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268842.4]
  wire [7:0] _T_751; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268845.4]
  wire  _T_752; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268846.4]
  wire  _T_760; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268854.4]
  wire [7:0] _T_762; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268856.4]
  wire [15:0] _T_771; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268868.4]
  wire [23:0] _T_772; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268869.4]
  wire  _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269593.4]
  wire  _T_1819; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270049.4]
  wire  _T_1820; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270050.4]
  wire  _T_787; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268884.4]
  wire [3:0] _T_800; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268900.4]
  wire [3:0] _T_803; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268903.4]
  wire  _T_804; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268904.4]
  wire  _T_1450; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269599.4]
  wire  _T_1855; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270103.4]
  wire  _T_1856; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270104.4]
  wire  _T_812; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268912.4]
  wire [3:0] _T_814; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268914.4]
  wire  _T_848; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268951.4]
  wire [1:0] _T_874; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268977.4]
  wire  _T_1431; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269580.4]
  wire  _T_1741; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269948.4]
  wire  _T_1742; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269949.4]
  wire  _T_889; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268992.4]
  wire  _T_914; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269020.4]
  wire [1:0] _T_926; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269035.4]
  wire [1:0] _T_929; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269038.4]
  wire [1:0] _T_932; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269041.4]
  wire  _T_933; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269042.4]
  wire  _T_1436; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269585.4]
  wire  _T_1771; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269988.4]
  wire  _T_1772; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269989.4]
  wire  _T_941; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269050.4]
  wire [1:0] _T_943; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269052.4]
  wire  _T_1458; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269607.4]
  wire  _T_1903; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270161.4]
  wire  _T_1904; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270162.4]
  wire  _T_966; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269078.4]
  wire  _T_991; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269106.4]
  wire [1:0] _T_1003; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269121.4]
  wire  _T_1451; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269600.4]
  wire  _T_1861; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270111.4]
  wire  _T_1862; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270112.4]
  wire  _T_1018; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269136.4]
  wire  _T_1448; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269597.4]
  wire  _T_1843; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270083.4]
  wire  _T_1844; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270084.4]
  wire  _T_1043; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269164.4]
  wire  _T_1092; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269215.4]
  wire  _T_1093; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269216.4]
  wire  _T_1094; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269217.4]
  wire  _T_1098; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269221.4]
  wire  _T_1099; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269222.4]
  wire  _T_1101; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@269224.4]
  wire  _T_1046; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@269167.4]
  wire [31:0] _T_1111; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269235.4]
  wire  _T_1446; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269595.4]
  wire  _T_1831; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270065.4]
  wire  _T_1832; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270066.4]
  wire  _T_1126; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269250.4]
  wire  _T_1139; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269266.4]
  wire  _T_1142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269269.4]
  wire  _T_1143; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269270.4]
  wire  _T_1151; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269278.4]
  wire  _T_1153; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269280.4]
  wire [2:0] _T_1163; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269293.4]
  wire  _T_1166; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269296.4]
  wire  _T_1169; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269299.4]
  wire  _T_1170; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269300.4]
  wire  _T_1178; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269308.4]
  wire  _T_1180; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269310.4]
  wire [3:0] _T_1190; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269323.4]
  wire [3:0] _T_1193; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269326.4]
  wire [3:0] _T_1196; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269329.4]
  wire  _T_1197; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269330.4]
  wire  _T_1205; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269338.4]
  wire [3:0] _T_1207; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269340.4]
  wire [15:0] _T_1216; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269352.4]
  wire [19:0] _T_1217; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269353.4]
  wire  _T_1441; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269590.4]
  wire  _T_1801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270026.4]
  wire  _T_1802; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270027.4]
  wire  _T_1232; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269368.4]
  wire  _T_1257; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269396.4]
  wire [15:0] _T_1268; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269410.4]
  wire [23:0] _T_1269; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269411.4]
  wire  _T_1449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269598.4]
  wire  _T_1613; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269801.4]
  wire  _T_1614; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269802.4]
  wire [7:0] _T_1295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269438.4]
  wire [8:0] _T_1321; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269464.4]
  wire [30:0] _T_1322; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269465.4]
  wire [31:0] _T_1348; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269491.4]
  wire  _T_1434; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269583.4]
  wire  _T_1759; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269971.4]
  wire  _T_1760; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269972.4]
  wire  _T_1363; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269506.4]
  wire [4:0] _T_1376; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269522.4]
  wire [4:0] _T_1379; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269525.4]
  wire  _T_1380; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269526.4]
  wire  _T_1445; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269594.4]
  wire  _T_1825; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270057.4]
  wire  _T_1826; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270058.4]
  wire  _T_1388; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269534.4]
  wire [4:0] _T_1390; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269536.4]
  wire  _GEN_150; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_151; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_152; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_153; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_154; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_155; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_156; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_157; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_158; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_159; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_160; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_161; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_162; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_163; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_164; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_165; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_167; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_168; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire  _GEN_180; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  wire [31:0] _T_2488_0; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270860.4]
  wire [31:0] _T_2488_1; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270861.4]
  wire [31:0] _GEN_182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _GEN_183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _GEN_184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _T_2488_4; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270864.4]
  wire [31:0] _GEN_185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _T_2488_5; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270865.4]
  wire [31:0] _GEN_186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _T_2488_6; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270866.4]
  wire [31:0] _GEN_187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _GEN_188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _GEN_189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _GEN_190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _T_2488_10; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270870.4]
  wire [31:0] _GEN_191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _T_2488_11; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270871.4]
  wire [31:0] _GEN_192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _GEN_193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _GEN_194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _T_2488_14; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270874.4]
  wire [31:0] _GEN_195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _T_2488_15; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270875.4]
  wire [31:0] _GEN_196; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _T_2488_16; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270876.4]
  wire [31:0] _GEN_197; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _GEN_198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _GEN_199; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _GEN_200; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _T_2488_20; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270880.4]
  wire [31:0] _GEN_201; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _T_2488_21; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270881.4]
  wire [31:0] _GEN_202; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _GEN_203; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _GEN_204; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _GEN_205; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _GEN_206; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _GEN_207; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _GEN_208; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _T_2488_28; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270888.4]
  wire [31:0] _GEN_209; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _T_2488_29; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270889.4]
  wire [31:0] _GEN_210; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _GEN_211; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  wire [31:0] _GEN_212; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  TLBuffer_24 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@268509.4]
    .clock(buffer_clock),
    .reset(buffer_reset),
    .auto_in_a_ready(buffer_auto_in_a_ready),
    .auto_in_a_valid(buffer_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_auto_in_d_ready),
    .auto_in_d_valid(buffer_auto_in_d_valid),
    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
    .auto_out_a_ready(buffer_auto_out_a_ready),
    .auto_out_a_valid(buffer_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_auto_out_d_ready),
    .auto_out_d_valid(buffer_auto_out_d_valid),
    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
  );
  IntSyncCrossingSource_3 intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268515.4]
    .clock(intsource_clock),
    .reset(intsource_reset),
    .auto_in_0(intsource_auto_in_0),
    .auto_out_sync_0(intsource_auto_out_sync_0)
  );
  TLMonitor_73 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268527.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  SPIFIFO fifo ( // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268604.4]
    .clock(fifo_clock),
    .reset(fifo_reset),
    .io_ctrl_fmt_proto(fifo_io_ctrl_fmt_proto),
    .io_ctrl_fmt_endian(fifo_io_ctrl_fmt_endian),
    .io_ctrl_fmt_iodir(fifo_io_ctrl_fmt_iodir),
    .io_ctrl_fmt_len(fifo_io_ctrl_fmt_len),
    .io_ctrl_cs_mode(fifo_io_ctrl_cs_mode),
    .io_ctrl_wm_tx(fifo_io_ctrl_wm_tx),
    .io_ctrl_wm_rx(fifo_io_ctrl_wm_rx),
    .io_link_tx_ready(fifo_io_link_tx_ready),
    .io_link_tx_valid(fifo_io_link_tx_valid),
    .io_link_tx_bits(fifo_io_link_tx_bits),
    .io_link_rx_valid(fifo_io_link_rx_valid),
    .io_link_rx_bits(fifo_io_link_rx_bits),
    .io_link_cnt(fifo_io_link_cnt),
    .io_link_fmt_proto(fifo_io_link_fmt_proto),
    .io_link_fmt_endian(fifo_io_link_fmt_endian),
    .io_link_fmt_iodir(fifo_io_link_fmt_iodir),
    .io_link_cs_set(fifo_io_link_cs_set),
    .io_link_cs_clear(fifo_io_link_cs_clear),
    .io_link_lock(fifo_io_link_lock),
    .io_tx_ready(fifo_io_tx_ready),
    .io_tx_valid(fifo_io_tx_valid),
    .io_tx_bits(fifo_io_tx_bits),
    .io_rx_ready(fifo_io_rx_ready),
    .io_rx_valid(fifo_io_rx_valid),
    .io_rx_bits(fifo_io_rx_bits),
    .io_ip_txwm(fifo_io_ip_txwm),
    .io_ip_rxwm(fifo_io_ip_rxwm)
  );
  SPIMedia_1 mac ( // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268608.4]
    .clock(mac_clock),
    .reset(mac_reset),
    .io_port_sck(mac_io_port_sck),
    .io_port_dq_0_i(mac_io_port_dq_0_i),
    .io_port_dq_0_o(mac_io_port_dq_0_o),
    .io_port_dq_0_oe(mac_io_port_dq_0_oe),
    .io_port_dq_1_i(mac_io_port_dq_1_i),
    .io_port_dq_1_o(mac_io_port_dq_1_o),
    .io_port_dq_1_oe(mac_io_port_dq_1_oe),
    .io_port_dq_2_i(mac_io_port_dq_2_i),
    .io_port_dq_2_o(mac_io_port_dq_2_o),
    .io_port_dq_2_oe(mac_io_port_dq_2_oe),
    .io_port_dq_3_i(mac_io_port_dq_3_i),
    .io_port_dq_3_o(mac_io_port_dq_3_o),
    .io_port_dq_3_oe(mac_io_port_dq_3_oe),
    .io_port_cs_0(mac_io_port_cs_0),
    .io_port_cs_1(mac_io_port_cs_1),
    .io_ctrl_sck_div(mac_io_ctrl_sck_div),
    .io_ctrl_sck_pol(mac_io_ctrl_sck_pol),
    .io_ctrl_sck_pha(mac_io_ctrl_sck_pha),
    .io_ctrl_dla_cssck(mac_io_ctrl_dla_cssck),
    .io_ctrl_dla_sckcs(mac_io_ctrl_dla_sckcs),
    .io_ctrl_dla_intercs(mac_io_ctrl_dla_intercs),
    .io_ctrl_dla_interxfr(mac_io_ctrl_dla_interxfr),
    .io_ctrl_cs_id(mac_io_ctrl_cs_id),
    .io_ctrl_cs_dflt_0(mac_io_ctrl_cs_dflt_0),
    .io_ctrl_cs_dflt_1(mac_io_ctrl_cs_dflt_1),
    .io_ctrl_extradel_coarse(mac_io_ctrl_extradel_coarse),
    .io_ctrl_sampledel_sd(mac_io_ctrl_sampledel_sd),
    .io_link_tx_ready(mac_io_link_tx_ready),
    .io_link_tx_valid(mac_io_link_tx_valid),
    .io_link_tx_bits(mac_io_link_tx_bits),
    .io_link_rx_valid(mac_io_link_rx_valid),
    .io_link_rx_bits(mac_io_link_rx_bits),
    .io_link_cnt(mac_io_link_cnt),
    .io_link_fmt_proto(mac_io_link_fmt_proto),
    .io_link_fmt_endian(mac_io_link_fmt_endian),
    .io_link_fmt_iodir(mac_io_link_fmt_iodir),
    .io_link_cs_set(mac_io_link_cs_set),
    .io_link_cs_clear(mac_io_link_cs_clear)
  );
  assign _T_410 = fifo_io_ip_txwm & ie_txwm; // @[TLSPI.scala 78:35:shc.marmotcaravel.MarmotCaravelConfig.fir@268631.4]
  assign _T_411 = fifo_io_ip_rxwm & ie_rxwm; // @[TLSPI.scala 78:59:shc.marmotcaravel.MarmotCaravelConfig.fir@268632.4]
  assign _T_415 = fifo_io_tx_ready == 1'h0; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@268637.4]
  assign _T_416 = fifo_io_rx_valid == 1'h0; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@268638.4]
  assign _T_108_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
  assign _T_424 = _T_108_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@268642.4]
  assign _T_108_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
  assign _T_425 = _T_108_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@268644.4]
  assign _T_108_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
  assign _T_108_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
  assign _T_426 = {_T_108_a_bits_source,_T_108_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268648.4]
  assign _T_421_bits_index = _T_425[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268640.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268645.4]
  assign _T_442 = _T_421_bits_index & 10'h3e0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268656.4]
  assign _T_444 = _T_442 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268658.4]
  assign _T_108_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
  assign _T_616 = _T_108_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@268698.4]
  assign _T_617 = _T_108_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@268699.4]
  assign _T_618 = _T_108_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@268700.4]
  assign _T_619 = _T_108_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@268701.4]
  assign _T_621 = _T_616 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268703.4]
  assign _T_623 = _T_617 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268705.4]
  assign _T_625 = _T_618 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268707.4]
  assign _T_627 = _T_619 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@268709.4]
  assign _T_628 = {_T_623,_T_621}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268710.4]
  assign _T_629 = {_T_627,_T_625}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268711.4]
  assign _T_630 = {_T_629,_T_628}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268712.4]
  assign _T_646 = _T_630[11:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268728.4]
  assign _T_649 = ~ _T_646; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268731.4]
  assign _T_650 = _T_649 == 12'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268732.4]
  assign _T_108_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
  assign _T_108_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
  assign _T_1419 = _T_421_bits_index[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269568.4]
  assign _T_1418 = _T_421_bits_index[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269567.4]
  assign _T_1426 = {_T_1419,_T_1418}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269575.4]
  assign _T_1417 = _T_421_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269566.4]
  assign _T_1427 = {_T_1426,_T_1417}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269576.4]
  assign _T_1416 = _T_421_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269565.4]
  assign _T_1415 = _T_421_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269564.4]
  assign _T_1425 = {_T_1416,_T_1415}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269574.4]
  assign _T_1428 = {_T_1427,_T_1425}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269577.4]
  assign _T_1495 = _T_108_a_valid & _T_108_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269644.4]
  assign _T_1496 = _T_1495 & _T_424; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269645.4]
  assign _T_1429 = 32'h1 << _T_1428; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@269578.4]
  assign _T_1430 = _T_1429[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269579.4]
  assign _T_1731 = _T_424 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269936.4]
  assign _T_1732 = _T_1495 & _T_1731; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269937.4]
  assign _T_1735 = _T_1732 & _T_1430; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269940.4]
  assign _T_1736 = _T_1735 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269941.4]
  assign _T_658 = _T_1736 & _T_650; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268740.4]
  assign _T_108_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@268525.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
  assign _T_660 = _T_108_a_bits_data[11:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268742.4]
  assign _T_671 = _T_630[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268756.4]
  assign _T_674 = ~ _T_671; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268759.4]
  assign _T_675 = _T_674 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268760.4]
  assign _T_1435 = _T_1429[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269584.4]
  assign _T_1765 = _T_1732 & _T_1435; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269979.4]
  assign _T_1766 = _T_1765 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269980.4]
  assign _T_683 = _T_1766 & _T_675; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268768.4]
  assign _T_685 = _T_108_a_bits_data[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268770.4]
  assign _T_696 = _T_630[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268784.4]
  assign _T_699 = ~ _T_696; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268787.4]
  assign _T_700 = _T_699 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268788.4]
  assign _T_708 = _T_1766 & _T_700; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268796.4]
  assign _T_710 = _T_108_a_bits_data[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268798.4]
  assign _T_720 = {ctrl_cs_dflt_1,ctrl_cs_dflt_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268811.4]
  assign _T_723 = _T_630[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268814.4]
  assign _T_724 = _T_723 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268815.4]
  assign _T_726 = ~ _T_723; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268817.4]
  assign _T_727 = _T_726 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268818.4]
  assign _T_1440 = _T_1429[10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269589.4]
  assign _T_1795 = _T_1732 & _T_1440; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270017.4]
  assign _T_1796 = _T_1795 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270018.4]
  assign _T_735 = _T_1796 & _T_727; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268826.4]
  assign _T_737 = _T_108_a_bits_data[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268828.4]
  assign _T_748 = _T_630[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268842.4]
  assign _T_751 = ~ _T_748; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268845.4]
  assign _T_752 = _T_751 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268846.4]
  assign _T_760 = _T_1796 & _T_752; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268854.4]
  assign _T_762 = _T_108_a_bits_data[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268856.4]
  assign _T_771 = {{8'd0}, ctrl_dla_cssck}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268868.4]
  assign _T_772 = {ctrl_dla_sckcs,_T_771}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268869.4]
  assign _T_1444 = _T_1429[14]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269593.4]
  assign _T_1819 = _T_1732 & _T_1444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270049.4]
  assign _T_1820 = _T_1819 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270050.4]
  assign _T_787 = _T_1820 & _T_650; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268884.4]
  assign _T_800 = _T_630[3:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268900.4]
  assign _T_803 = ~ _T_800; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268903.4]
  assign _T_804 = _T_803 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268904.4]
  assign _T_1450 = _T_1429[20]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269599.4]
  assign _T_1855 = _T_1732 & _T_1450; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270103.4]
  assign _T_1856 = _T_1855 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270104.4]
  assign _T_812 = _T_1856 & _T_804; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268912.4]
  assign _T_814 = _T_108_a_bits_data[3:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268914.4]
  assign _T_848 = fifo_io_ip_txwm; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268951.4]
  assign _T_874 = {fifo_io_ip_rxwm,_T_848}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@268977.4]
  assign _T_1431 = _T_1429[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269580.4]
  assign _T_1741 = _T_1732 & _T_1431; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269948.4]
  assign _T_1742 = _T_1741 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269949.4]
  assign _T_889 = _T_1742 & _T_675; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268992.4]
  assign _T_914 = _T_1742 & _T_700; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269020.4]
  assign _T_926 = {ctrl_sck_pol,ctrl_sck_pha}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269035.4]
  assign _T_929 = _T_630[1:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269038.4]
  assign _T_932 = ~ _T_929; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269041.4]
  assign _T_933 = _T_932 == 2'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269042.4]
  assign _T_1436 = _T_1429[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269585.4]
  assign _T_1771 = _T_1732 & _T_1436; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269988.4]
  assign _T_1772 = _T_1771 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269989.4]
  assign _T_941 = _T_1772 & _T_933; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269050.4]
  assign _T_943 = _T_108_a_bits_data[1:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269052.4]
  assign _T_1458 = _T_1429[28]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269607.4]
  assign _T_1903 = _T_1732 & _T_1458; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270161.4]
  assign _T_1904 = _T_1903 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270162.4]
  assign _T_966 = _T_1904 & _T_675; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269078.4]
  assign _T_991 = _T_1904 & _T_700; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269106.4]
  assign _T_1003 = {ie_rxwm,ie_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269121.4]
  assign _T_1451 = _T_1429[21]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269600.4]
  assign _T_1861 = _T_1732 & _T_1451; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270111.4]
  assign _T_1862 = _T_1861 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270112.4]
  assign _T_1018 = _T_1862 & _T_804; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269136.4]
  assign _T_1448 = _T_1429[18]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269597.4]
  assign _T_1843 = _T_1732 & _T_1448; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270083.4]
  assign _T_1844 = _T_1843 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270084.4]
  assign _T_1043 = _T_1844 & _T_727; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269164.4]
  assign _T_1092 = _T_630[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269215.4]
  assign _T_1093 = ~ _T_1092; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269216.4]
  assign _T_1094 = _T_1093 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269217.4]
  assign _T_1098 = _T_1844 & _T_1094; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269221.4]
  assign _T_1099 = _T_108_a_bits_data[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269222.4]
  assign _T_1101 = _T_1098 & _T_1099; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@269224.4]
  assign _T_1046 = _T_1101 == 1'h0; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@269167.4]
  assign _T_1111 = {_T_415,31'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269235.4]
  assign _T_1446 = _T_1429[16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269595.4]
  assign _T_1831 = _T_1732 & _T_1446; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270065.4]
  assign _T_1832 = _T_1831 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270066.4]
  assign _T_1126 = _T_1832 & _T_933; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269250.4]
  assign _T_1139 = _T_630[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269266.4]
  assign _T_1142 = ~ _T_1139; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269269.4]
  assign _T_1143 = _T_1142 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269270.4]
  assign _T_1151 = _T_1832 & _T_1143; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269278.4]
  assign _T_1153 = _T_108_a_bits_data[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269280.4]
  assign _T_1163 = {ctrl_fmt_endian,ctrl_fmt_proto}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269293.4]
  assign _T_1166 = _T_630[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269296.4]
  assign _T_1169 = ~ _T_1166; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269299.4]
  assign _T_1170 = _T_1169 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269300.4]
  assign _T_1178 = _T_1832 & _T_1170; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269308.4]
  assign _T_1180 = _T_108_a_bits_data[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269310.4]
  assign _T_1190 = {ctrl_fmt_iodir,_T_1163}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269323.4]
  assign _T_1193 = _T_630[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269326.4]
  assign _T_1196 = ~ _T_1193; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269329.4]
  assign _T_1197 = _T_1196 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269330.4]
  assign _T_1205 = _T_1832 & _T_1197; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269338.4]
  assign _T_1207 = _T_108_a_bits_data[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269340.4]
  assign _T_1216 = {{12'd0}, _T_1190}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269352.4]
  assign _T_1217 = {ctrl_fmt_len,_T_1216}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269353.4]
  assign _T_1441 = _T_1429[11]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269590.4]
  assign _T_1801 = _T_1732 & _T_1441; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270026.4]
  assign _T_1802 = _T_1801 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270027.4]
  assign _T_1232 = _T_1802 & _T_727; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269368.4]
  assign _T_1257 = _T_1802 & _T_752; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269396.4]
  assign _T_1268 = {{8'd0}, ctrl_dla_intercs}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269410.4]
  assign _T_1269 = {ctrl_dla_interxfr,_T_1268}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269411.4]
  assign _T_1449 = _T_1429[19]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269598.4]
  assign _T_1613 = _T_1496 & _T_1449; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269801.4]
  assign _T_1614 = _T_1613 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269802.4]
  assign _T_1295 = fifo_io_rx_bits; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269438.4]
  assign _T_1321 = {1'h0,_T_1295}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269464.4]
  assign _T_1322 = {{22'd0}, _T_1321}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269465.4]
  assign _T_1348 = {_T_416,_T_1322}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@269491.4]
  assign _T_1434 = _T_1429[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269583.4]
  assign _T_1759 = _T_1732 & _T_1434; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269971.4]
  assign _T_1760 = _T_1759 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269972.4]
  assign _T_1363 = _T_1760 & _T_675; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269506.4]
  assign _T_1376 = _T_630[4:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269522.4]
  assign _T_1379 = ~ _T_1376; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269525.4]
  assign _T_1380 = _T_1379 == 5'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269526.4]
  assign _T_1445 = _T_1429[15]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269594.4]
  assign _T_1825 = _T_1732 & _T_1445; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270057.4]
  assign _T_1826 = _T_1825 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@270058.4]
  assign _T_1388 = _T_1826 & _T_1380; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269534.4]
  assign _T_1390 = _T_108_a_bits_data[4:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@269536.4]
  assign _GEN_150 = 5'h1 == _T_1428 ? _T_444 : _T_444; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_151 = 5'h2 == _T_1428 ? 1'h1 : _GEN_150; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_152 = 5'h3 == _T_1428 ? 1'h1 : _GEN_151; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_153 = 5'h4 == _T_1428 ? _T_444 : _GEN_152; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_154 = 5'h5 == _T_1428 ? _T_444 : _GEN_153; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_155 = 5'h6 == _T_1428 ? _T_444 : _GEN_154; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_156 = 5'h7 == _T_1428 ? 1'h1 : _GEN_155; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_157 = 5'h8 == _T_1428 ? 1'h1 : _GEN_156; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_158 = 5'h9 == _T_1428 ? 1'h1 : _GEN_157; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_159 = 5'ha == _T_1428 ? _T_444 : _GEN_158; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_160 = 5'hb == _T_1428 ? _T_444 : _GEN_159; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_161 = 5'hc == _T_1428 ? 1'h1 : _GEN_160; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_162 = 5'hd == _T_1428 ? 1'h1 : _GEN_161; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_163 = 5'he == _T_1428 ? _T_444 : _GEN_162; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_164 = 5'hf == _T_1428 ? _T_444 : _GEN_163; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_165 = 5'h10 == _T_1428 ? _T_444 : _GEN_164; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_166 = 5'h11 == _T_1428 ? 1'h1 : _GEN_165; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_167 = 5'h12 == _T_1428 ? _T_444 : _GEN_166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_168 = 5'h13 == _T_1428 ? _T_444 : _GEN_167; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_169 = 5'h14 == _T_1428 ? _T_444 : _GEN_168; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_170 = 5'h15 == _T_1428 ? _T_444 : _GEN_169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_171 = 5'h16 == _T_1428 ? 1'h1 : _GEN_170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_172 = 5'h17 == _T_1428 ? 1'h1 : _GEN_171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_173 = 5'h18 == _T_1428 ? 1'h1 : _GEN_172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_174 = 5'h19 == _T_1428 ? 1'h1 : _GEN_173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_175 = 5'h1a == _T_1428 ? 1'h1 : _GEN_174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_176 = 5'h1b == _T_1428 ? 1'h1 : _GEN_175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_177 = 5'h1c == _T_1428 ? _T_444 : _GEN_176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_178 = 5'h1d == _T_1428 ? _T_444 : _GEN_177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_179 = 5'h1e == _T_1428 ? 1'h1 : _GEN_178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _GEN_180 = 5'h1f == _T_1428 ? 1'h1 : _GEN_179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270856.4]
  assign _T_2488_0 = {{20'd0}, ctrl_sck_div}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270860.4]
  assign _T_2488_1 = {{30'd0}, _T_926}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270861.4]
  assign _GEN_182 = 5'h1 == _T_1428 ? _T_2488_1 : _T_2488_0; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _GEN_183 = 5'h2 == _T_1428 ? 32'h0 : _GEN_182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _GEN_184 = 5'h3 == _T_1428 ? 32'h0 : _GEN_183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _T_2488_4 = {{31'd0}, ctrl_cs_id}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270864.4]
  assign _GEN_185 = 5'h4 == _T_1428 ? _T_2488_4 : _GEN_184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _T_2488_5 = {{30'd0}, _T_720}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270865.4]
  assign _GEN_186 = 5'h5 == _T_1428 ? _T_2488_5 : _GEN_185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _T_2488_6 = {{30'd0}, ctrl_cs_mode}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270866.4]
  assign _GEN_187 = 5'h6 == _T_1428 ? _T_2488_6 : _GEN_186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _GEN_188 = 5'h7 == _T_1428 ? 32'h0 : _GEN_187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _GEN_189 = 5'h8 == _T_1428 ? 32'h0 : _GEN_188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _GEN_190 = 5'h9 == _T_1428 ? 32'h0 : _GEN_189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _T_2488_10 = {{8'd0}, _T_772}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270870.4]
  assign _GEN_191 = 5'ha == _T_1428 ? _T_2488_10 : _GEN_190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _T_2488_11 = {{8'd0}, _T_1269}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270871.4]
  assign _GEN_192 = 5'hb == _T_1428 ? _T_2488_11 : _GEN_191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _GEN_193 = 5'hc == _T_1428 ? 32'h0 : _GEN_192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _GEN_194 = 5'hd == _T_1428 ? 32'h0 : _GEN_193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _T_2488_14 = {{20'd0}, ctrl_extradel_coarse}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270874.4]
  assign _GEN_195 = 5'he == _T_1428 ? _T_2488_14 : _GEN_194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _T_2488_15 = {{27'd0}, ctrl_sampledel_sd}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270875.4]
  assign _GEN_196 = 5'hf == _T_1428 ? _T_2488_15 : _GEN_195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _T_2488_16 = {{12'd0}, _T_1217}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270876.4]
  assign _GEN_197 = 5'h10 == _T_1428 ? _T_2488_16 : _GEN_196; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _GEN_198 = 5'h11 == _T_1428 ? 32'h0 : _GEN_197; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _GEN_199 = 5'h12 == _T_1428 ? _T_1111 : _GEN_198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _GEN_200 = 5'h13 == _T_1428 ? _T_1348 : _GEN_199; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _T_2488_20 = {{28'd0}, ctrl_wm_tx}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270880.4]
  assign _GEN_201 = 5'h14 == _T_1428 ? _T_2488_20 : _GEN_200; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _T_2488_21 = {{28'd0}, ctrl_wm_rx}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270881.4]
  assign _GEN_202 = 5'h15 == _T_1428 ? _T_2488_21 : _GEN_201; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _GEN_203 = 5'h16 == _T_1428 ? 32'h0 : _GEN_202; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _GEN_204 = 5'h17 == _T_1428 ? 32'h0 : _GEN_203; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _GEN_205 = 5'h18 == _T_1428 ? 32'h0 : _GEN_204; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _GEN_206 = 5'h19 == _T_1428 ? 32'h0 : _GEN_205; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _GEN_207 = 5'h1a == _T_1428 ? 32'h0 : _GEN_206; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _GEN_208 = 5'h1b == _T_1428 ? 32'h0 : _GEN_207; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _T_2488_28 = {{30'd0}, _T_1003}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270888.4]
  assign _GEN_209 = 5'h1c == _T_1428 ? _T_2488_28 : _GEN_208; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _T_2488_29 = {{30'd0}, _T_874}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270858.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@270889.4]
  assign _GEN_210 = 5'h1d == _T_1428 ? _T_2488_29 : _GEN_209; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _GEN_211 = 5'h1e == _T_1428 ? 32'h0 : _GEN_210; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign _GEN_212 = 5'h1f == _T_1428 ? 32'h0 : _GEN_211; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@270892.4]
  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268580.4]
  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268579.4]
  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268579.4]
  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268579.4]
  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268579.4]
  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268579.4]
  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268579.4]
  assign auto_io_out_sck = mac_io_port_sck; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268578.4]
  assign auto_io_out_dq_0_o = mac_io_port_dq_0_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268578.4]
  assign auto_io_out_dq_0_oe = mac_io_port_dq_0_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268578.4]
  assign auto_io_out_dq_1_o = mac_io_port_dq_1_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268578.4]
  assign auto_io_out_dq_1_oe = mac_io_port_dq_1_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268578.4]
  assign auto_io_out_dq_2_o = mac_io_port_dq_2_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268578.4]
  assign auto_io_out_dq_2_oe = mac_io_port_dq_2_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268578.4]
  assign auto_io_out_dq_3_o = mac_io_port_dq_3_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268578.4]
  assign auto_io_out_dq_3_oe = mac_io_port_dq_3_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268578.4]
  assign auto_io_out_cs_0 = mac_io_port_cs_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268578.4]
  assign auto_io_out_cs_1 = mac_io_port_cs_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@268578.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268513.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268514.4]
  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268576.4]
  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268576.4]
  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268576.4]
  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268576.4]
  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268576.4]
  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268576.4]
  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268576.4]
  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268576.4]
  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268576.4]
  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268576.4]
  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_424}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
  assign buffer_auto_out_d_bits_size = _T_426[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
  assign buffer_auto_out_d_bits_source = _T_426[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
  assign buffer_auto_out_d_bits_data = _GEN_180 ? _GEN_212 : 32'h0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@268575.4]
  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268519.4]
  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268520.4]
  assign intsource_auto_in_0 = _T_410 | _T_411; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@268574.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268529.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268530.4]
  assign TLMonitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
  assign TLMonitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_424}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
  assign TLMonitor_io_in_d_bits_size = _T_426[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
  assign TLMonitor_io_in_d_bits_source = _T_426[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268563.4]
  assign fifo_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268606.4]
  assign fifo_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268607.4]
  assign fifo_io_ctrl_fmt_proto = ctrl_fmt_proto; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268613.4]
  assign fifo_io_ctrl_fmt_endian = ctrl_fmt_endian; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268613.4]
  assign fifo_io_ctrl_fmt_iodir = ctrl_fmt_iodir; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268613.4]
  assign fifo_io_ctrl_fmt_len = ctrl_fmt_len; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@268613.4]
  assign fifo_io_ctrl_cs_mode = ctrl_cs_mode; // @[TLSPI.scala 68:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268614.4]
  assign fifo_io_ctrl_wm_tx = ctrl_wm_tx; // @[TLSPI.scala 69:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268615.4]
  assign fifo_io_ctrl_wm_rx = ctrl_wm_rx; // @[TLSPI.scala 69:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268615.4]
  assign fifo_io_link_tx_ready = mac_io_link_tx_ready; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268639.4]
  assign fifo_io_link_rx_valid = mac_io_link_rx_valid; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268639.4]
  assign fifo_io_link_rx_bits = mac_io_link_rx_bits; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268639.4]
  assign fifo_io_tx_valid = _T_1043 & _T_1046; // @[RegMapFIFO.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@269169.4]
  assign fifo_io_tx_bits = _T_108_a_bits_data[7:0]; // @[RegMapFIFO.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@269170.4]
  assign fifo_io_rx_ready = _T_1614 & _T_724; // @[RegMapFIFO.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@269428.4]
  assign mac_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268610.4]
  assign mac_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@268611.4]
  assign mac_io_port_dq_0_i = auto_io_out_dq_0_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268612.4]
  assign mac_io_port_dq_1_i = auto_io_out_dq_1_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268612.4]
  assign mac_io_port_dq_2_i = auto_io_out_dq_2_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268612.4]
  assign mac_io_port_dq_3_i = auto_io_out_dq_3_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@268612.4]
  assign mac_io_ctrl_sck_div = ctrl_sck_div; // @[TLSPI.scala 70:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268616.4]
  assign mac_io_ctrl_sck_pol = ctrl_sck_pol; // @[TLSPI.scala 70:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268616.4]
  assign mac_io_ctrl_sck_pha = ctrl_sck_pha; // @[TLSPI.scala 70:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268616.4]
  assign mac_io_ctrl_dla_cssck = ctrl_dla_cssck; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268619.4]
  assign mac_io_ctrl_dla_sckcs = ctrl_dla_sckcs; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268619.4]
  assign mac_io_ctrl_dla_intercs = ctrl_dla_intercs; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268619.4]
  assign mac_io_ctrl_dla_interxfr = ctrl_dla_interxfr; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@268619.4]
  assign mac_io_ctrl_cs_id = ctrl_cs_id; // @[TLSPI.scala 74:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268620.4]
  assign mac_io_ctrl_cs_dflt_0 = ctrl_cs_dflt_0; // @[TLSPI.scala 74:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268620.4]
  assign mac_io_ctrl_cs_dflt_1 = ctrl_cs_dflt_1; // @[TLSPI.scala 74:18:shc.marmotcaravel.MarmotCaravelConfig.fir@268620.4]
  assign mac_io_ctrl_extradel_coarse = ctrl_extradel_coarse; // @[TLSPI.scala 71:24:shc.marmotcaravel.MarmotCaravelConfig.fir@268617.4]
  assign mac_io_ctrl_sampledel_sd = ctrl_sampledel_sd; // @[TLSPI.scala 72:25:shc.marmotcaravel.MarmotCaravelConfig.fir@268618.4]
  assign mac_io_link_tx_valid = fifo_io_link_tx_valid; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268639.4]
  assign mac_io_link_tx_bits = fifo_io_link_tx_bits; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268639.4]
  assign mac_io_link_cnt = fifo_io_link_cnt; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268639.4]
  assign mac_io_link_fmt_proto = fifo_io_link_fmt_proto; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268639.4]
  assign mac_io_link_fmt_endian = fifo_io_link_fmt_endian; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268639.4]
  assign mac_io_link_fmt_iodir = fifo_io_link_fmt_iodir; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268639.4]
  assign mac_io_link_cs_set = fifo_io_link_cs_set; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268639.4]
  assign mac_io_link_cs_clear = fifo_io_link_cs_clear; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@268639.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  ctrl_fmt_proto = _RAND_0[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  ctrl_fmt_endian = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  ctrl_fmt_iodir = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  ctrl_fmt_len = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  ctrl_sck_div = _RAND_4[11:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  ctrl_sck_pol = _RAND_5[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  ctrl_sck_pha = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  ctrl_cs_id = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  ctrl_cs_dflt_0 = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  ctrl_cs_dflt_1 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  ctrl_cs_mode = _RAND_10[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  ctrl_dla_cssck = _RAND_11[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  ctrl_dla_sckcs = _RAND_12[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  ctrl_dla_intercs = _RAND_13[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  ctrl_dla_interxfr = _RAND_14[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  ctrl_wm_tx = _RAND_15[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  ctrl_wm_rx = _RAND_16[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_17 = {1{`RANDOM}};
  ctrl_extradel_coarse = _RAND_17[11:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_18 = {1{`RANDOM}};
  ctrl_sampledel_sd = _RAND_18[4:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_19 = {1{`RANDOM}};
  ie_txwm = _RAND_19[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_20 = {1{`RANDOM}};
  ie_rxwm = _RAND_20[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      ctrl_fmt_proto <= 2'h0;
    end else begin
      if (_T_1126) begin
        ctrl_fmt_proto <= _T_943;
      end
    end
    if (reset) begin
      ctrl_fmt_endian <= 1'h0;
    end else begin
      if (_T_1151) begin
        ctrl_fmt_endian <= _T_1153;
      end
    end
    if (reset) begin
      ctrl_fmt_iodir <= 1'h0;
    end else begin
      if (_T_1178) begin
        ctrl_fmt_iodir <= _T_1180;
      end
    end
    if (reset) begin
      ctrl_fmt_len <= 4'h8;
    end else begin
      if (_T_1205) begin
        ctrl_fmt_len <= _T_1207;
      end
    end
    if (reset) begin
      ctrl_sck_div <= 12'h3;
    end else begin
      if (_T_658) begin
        ctrl_sck_div <= _T_660;
      end
    end
    if (reset) begin
      ctrl_sck_pol <= 1'h0;
    end else begin
      if (_T_914) begin
        ctrl_sck_pol <= _T_710;
      end
    end
    if (reset) begin
      ctrl_sck_pha <= 1'h0;
    end else begin
      if (_T_889) begin
        ctrl_sck_pha <= _T_685;
      end
    end
    if (reset) begin
      ctrl_cs_id <= 1'h0;
    end else begin
      if (_T_1363) begin
        ctrl_cs_id <= _T_685;
      end
    end
    if (reset) begin
      ctrl_cs_dflt_0 <= 1'h1;
    end else begin
      if (_T_683) begin
        ctrl_cs_dflt_0 <= _T_685;
      end
    end
    if (reset) begin
      ctrl_cs_dflt_1 <= 1'h1;
    end else begin
      if (_T_708) begin
        ctrl_cs_dflt_1 <= _T_710;
      end
    end
    if (reset) begin
      ctrl_cs_mode <= 2'h0;
    end else begin
      if (_T_941) begin
        ctrl_cs_mode <= _T_943;
      end
    end
    if (reset) begin
      ctrl_dla_cssck <= 8'h1;
    end else begin
      if (_T_735) begin
        ctrl_dla_cssck <= _T_737;
      end
    end
    if (reset) begin
      ctrl_dla_sckcs <= 8'h1;
    end else begin
      if (_T_760) begin
        ctrl_dla_sckcs <= _T_762;
      end
    end
    if (reset) begin
      ctrl_dla_intercs <= 8'h1;
    end else begin
      if (_T_1232) begin
        ctrl_dla_intercs <= _T_737;
      end
    end
    if (reset) begin
      ctrl_dla_interxfr <= 8'h0;
    end else begin
      if (_T_1257) begin
        ctrl_dla_interxfr <= _T_762;
      end
    end
    if (reset) begin
      ctrl_wm_tx <= 4'h0;
    end else begin
      if (_T_812) begin
        ctrl_wm_tx <= _T_814;
      end
    end
    if (reset) begin
      ctrl_wm_rx <= 4'h0;
    end else begin
      if (_T_1018) begin
        ctrl_wm_rx <= _T_814;
      end
    end
    if (reset) begin
      ctrl_extradel_coarse <= 12'h0;
    end else begin
      if (_T_787) begin
        ctrl_extradel_coarse <= _T_660;
      end
    end
    if (reset) begin
      ctrl_sampledel_sd <= 5'h3;
    end else begin
      if (_T_1388) begin
        ctrl_sampledel_sd <= _T_1390;
      end
    end
    if (reset) begin
      ie_txwm <= 1'h0;
    end else begin
      if (_T_966) begin
        ie_txwm <= _T_685;
      end
    end
    if (reset) begin
      ie_rxwm <= 1'h0;
    end else begin
      if (_T_991) begin
        ie_rxwm <= _T_710;
      end
    end
  end
endmodule
module TLMonitor_74( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270987.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270988.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270989.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@270990.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@272117.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@271017.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@271018.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@271019.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@271020.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@271020.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@271021.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@271023.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271024.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@271026.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@271027.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@271028.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@271029.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@271030.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@271032.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271033.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@271035.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271036.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@271037.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@271038.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@271039.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271040.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@271041.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271042.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271043.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@271044.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271045.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271046.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@271047.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271048.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271049.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@271050.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271051.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@271052.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@271053.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@271054.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271077.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@271080.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@271081.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@271082.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@271083.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@271084.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271089.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271110.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271111.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271117.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271118.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271123.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271125.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271126.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@271131.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271132.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271134.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271135.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@271140.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271142.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271143.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271149.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271203.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271205.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271206.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271229.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@271232.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@271240.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271243.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271244.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271263.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271265.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271266.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271271.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271273.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271274.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271288.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271339.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@271381.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271382.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@271383.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271385.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271386.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271392.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@271423.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271425.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271426.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271440.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@271471.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271473.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271474.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271488.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@271538.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271540.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271541.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271558.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271567.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271569.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271570.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271600.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271658.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271848.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271857.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271858.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271859.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271860.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271861.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271872.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271873.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271874.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271875.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271876.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271877.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@271878.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271880.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271882.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271883.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271888.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271890.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271891.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271896.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271898.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271899.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271904.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271906.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271907.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271912.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271914.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271915.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@271922.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271930.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271938.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271939.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271940.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271941.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271942.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271953.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271955.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271956.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271959.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@271960.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271962.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271964.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271965.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271978.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271980.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271981.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271986.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271988.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271989.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@272012.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272021.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272031.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272032.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272033.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272034.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272035.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272054.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272055.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272056.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272057.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272058.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272073.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@272076.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@272078.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@272079.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272080.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272082.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272083.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@272075.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272094.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@272097.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@272099.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@272101.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@272102.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@272103.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272105.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272106.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@272098.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272112.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272113.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@272114.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272116.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@272119.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272120.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@272121.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272122.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@272123.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@272124.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272126.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272127.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@272133.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272137.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271091.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271163.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271246.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271305.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271356.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271406.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271454.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271502.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271572.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271613.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271671.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@272117.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@271017.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@271018.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@271019.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@271020.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@271020.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@271021.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@271023.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271024.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@271026.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@271027.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@271028.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@271029.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@271030.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@271032.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271033.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@271035.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271036.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@271037.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@271038.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@271039.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271040.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@271041.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271042.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271043.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@271044.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271045.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271046.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@271047.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271048.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271049.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@271050.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271051.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@271052.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@271053.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@271054.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271077.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10034000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@271080.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@271081.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@271082.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@271083.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@271084.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271089.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271110.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271111.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271117.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271118.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271123.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271125.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271126.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@271131.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271132.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271134.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271135.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@271140.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271142.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271143.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271149.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271203.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271205.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271206.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271229.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@271232.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@271240.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271243.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271244.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271263.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271265.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271266.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271271.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271273.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271274.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271288.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271339.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@271381.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271382.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@271383.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271385.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271386.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271392.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@271423.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271425.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271426.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271440.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@271471.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271473.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271474.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271488.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@271538.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271540.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271541.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271558.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@271567.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271569.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271570.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271600.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271658.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271848.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271858.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271859.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271860.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271861.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271877.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@271878.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271880.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271882.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271883.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271888.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271890.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271891.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271896.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271898.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271899.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271904.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271906.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271907.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271912.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271914.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271915.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@271922.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271930.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271939.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271940.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@271941.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@271942.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@271959.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@271960.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271962.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271964.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271965.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271978.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271980.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271981.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@271986.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271988.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271989.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@272012.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272032.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272033.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272034.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272035.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272055.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272056.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272057.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272058.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272073.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@272076.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@272078.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@272079.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272080.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272082.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272083.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@272075.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272094.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@272096.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@272097.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@272099.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@272101.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@272102.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@272103.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272105.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272106.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@272098.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272112.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272113.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@272114.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@272119.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272120.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@272121.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272122.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@272123.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@272124.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272126.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272127.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@272133.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272137.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271091.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271163.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271246.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271305.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271356.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271406.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271454.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271502.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271572.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271613.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271671.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_514 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_527 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_529 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_531 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_533 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_535 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_569 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_582 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_586 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_588 = _RAND_9[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {2{`RANDOM}};
  _T_622 = _RAND_10[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_633 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_654 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_697 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_514 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_518) begin
          _T_514 <= 1'h0;
        end else begin
          _T_514 <= _T_517;
        end
      end
    end
    if (_T_559) begin
      _T_527 <= io_in_a_bits_opcode;
    end
    if (_T_559) begin
      _T_529 <= io_in_a_bits_param;
    end
    if (_T_559) begin
      _T_531 <= io_in_a_bits_size;
    end
    if (_T_559) begin
      _T_533 <= io_in_a_bits_source;
    end
    if (_T_559) begin
      _T_535 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_569 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_573) begin
          _T_569 <= 1'h0;
        end else begin
          _T_569 <= _T_572;
        end
      end
    end
    if (_T_620) begin
      _T_582 <= io_in_d_bits_opcode;
    end
    if (_T_620) begin
      _T_586 <= io_in_d_bits_size;
    end
    if (_T_620) begin
      _T_588 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_622 <= 64'h0;
    end else begin
      _T_622 <= _T_695;
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_654 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_658) begin
          _T_654 <= 1'h0;
        end else begin
          _T_654 <= _T_657;
        end
      end
    end
    if (reset) begin
      _T_697 <= 32'h0;
    end else begin
      if (_T_711) begin
        _T_697 <= 32'h0;
      end else begin
        _T_697 <= _T_708;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271002.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271003.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271074.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271075.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271091.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271092.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271098.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271099.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271105.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271106.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271113.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271114.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271120.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271121.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271128.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271129.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271137.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271138.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271145.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271146.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271163.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271164.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271170.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271171.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271177.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271178.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271185.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271186.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271192.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271193.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271200.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271201.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271208.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271209.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271217.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271218.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271225.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271226.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271246.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271247.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271253.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271254.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271260.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271261.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271268.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271269.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271276.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271277.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271284.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271285.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271305.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271306.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271312.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271313.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271319.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271320.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271327.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271328.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271335.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271336.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271356.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271357.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271363.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271364.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271370.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271371.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271378.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271379.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271388.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271389.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271406.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271407.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271413.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271414.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271420.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271421.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271428.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271429.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271436.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271437.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271454.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271455.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271461.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271462.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271468.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271469.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271476.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271477.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271484.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271485.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271502.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271503.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271509.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271510.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271516.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271517.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271524.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271525.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271532.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271533.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271543.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@271544.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271564.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271565.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271572.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271573.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271580.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271581.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271588.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271589.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271596.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271597.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271606.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271607.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271613.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271614.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271621.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271622.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271629.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271630.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271637.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271638.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271645.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271646.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271654.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271655.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271664.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271665.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271671.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271672.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271679.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271680.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271687.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271688.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271695.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271696.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271704.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271705.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271713.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271714.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271723.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271724.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271731.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271732.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271739.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271740.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271748.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271749.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271758.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271759.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271766.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271767.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271775.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271776.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271784.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271785.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271794.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271795.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271802.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271803.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271810.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271811.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271819.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271820.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271829.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271830.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271837.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271838.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271845.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271846.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271885.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271886.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271893.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271894.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271901.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271902.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271909.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271910.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271917.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271918.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271967.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271968.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271975.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271976.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271983.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271984.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271991.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271992.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@271999.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272000.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272007.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272008.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272085.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272086.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272108.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@272109.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_706) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272129.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_706) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272130.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_25( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272142.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272143.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272144.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272145.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
  TLMonitor_74 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272152.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@272192.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@272192.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@272192.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@272192.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@272192.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@272192.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272191.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272191.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272191.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272191.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272191.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272191.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272191.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272191.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272191.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272191.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272154.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272155.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@272188.4]
endmodule
module TLMonitor_75( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272263.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272264.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272265.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@272266.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@273393.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@272293.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@272294.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@272295.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@272296.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@272296.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@272297.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272299.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272300.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@272302.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@272303.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@272304.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@272305.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@272306.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272308.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@272309.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272311.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@272312.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@272313.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@272314.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@272315.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272316.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272317.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@272318.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272319.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272320.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@272321.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272322.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272323.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@272324.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272325.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272326.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@272327.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@272328.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@272329.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@272330.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272353.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@272356.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272357.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@272358.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@272359.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@272360.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272365.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272386.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272387.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272393.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272394.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272399.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272401.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272402.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@272407.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272408.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272410.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272411.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@272416.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272418.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272419.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272425.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272479.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272481.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272482.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272505.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@272508.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@272516.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272519.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272520.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272539.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272541.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272542.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272547.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272549.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272550.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272564.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272615.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@272657.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272658.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@272659.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272661.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272662.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272668.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@272699.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272701.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272702.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272716.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@272747.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272749.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272750.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272764.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@272814.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272816.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272817.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272834.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272843.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272845.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272846.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272876.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272934.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273124.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273133.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273134.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273135.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273136.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273137.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273148.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273149.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273150.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273151.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273152.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273153.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@273154.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273156.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273158.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273159.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273164.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273166.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273167.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273172.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273174.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273175.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273180.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273182.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273183.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273188.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273190.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273191.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@273198.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273206.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273214.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273215.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273216.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273217.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273218.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273229.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273231.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273232.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273235.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@273236.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273238.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273240.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273241.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273254.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273256.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273257.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273262.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273264.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273265.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@273288.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273297.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273307.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273308.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273309.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273310.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273311.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273330.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273331.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273332.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273333.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273334.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273349.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@273352.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@273354.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@273355.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273356.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273358.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273359.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@273351.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273370.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@273372.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@273373.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@273375.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@273377.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@273378.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@273379.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273381.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273382.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@273374.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273388.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@273389.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@273390.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273392.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@273395.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273396.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@273397.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273398.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@273399.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@273400.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@273402.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@273403.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@273409.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273413.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272367.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272439.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272522.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272581.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272632.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272682.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272730.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272778.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272848.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272889.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272947.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@273393.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@272293.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@272294.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@272295.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@272296.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@272296.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@272297.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272299.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272300.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@272302.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@272303.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@272304.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@272305.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@272306.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272308.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@272309.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272311.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@272312.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@272313.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@272314.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@272315.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272316.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272317.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@272318.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272319.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272320.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@272321.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272322.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272323.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@272324.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272325.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@272326.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@272327.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@272328.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@272329.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@272330.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272353.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10034000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@272356.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@272357.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@272358.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@272359.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@272360.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272365.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272386.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272387.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272393.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272394.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272399.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272401.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272402.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@272407.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272408.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272410.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272411.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@272416.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272418.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272419.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272425.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272479.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272481.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272482.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272505.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@272508.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@272516.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272519.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272520.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272539.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272541.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272542.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272547.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272549.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272550.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272564.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272615.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@272657.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@272658.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@272659.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272661.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272662.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272668.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@272699.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272701.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272702.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272716.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@272747.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272749.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272750.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272764.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@272814.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272816.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272817.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272834.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@272843.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272845.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272846.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272876.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@272934.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273124.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273134.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273135.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273136.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273137.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273153.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@273154.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273156.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273158.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273159.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273164.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273166.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273167.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273172.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273174.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273175.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273180.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273182.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273183.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273188.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273190.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273191.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@273198.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273206.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273215.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273216.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273217.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273218.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@273235.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@273236.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273238.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273240.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273241.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273254.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273256.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273257.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@273262.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273264.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273265.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@273288.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273308.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273309.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273310.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273311.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273331.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273332.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@273333.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@273334.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273349.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@273352.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@273354.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@273355.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273356.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273358.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273359.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@273351.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273370.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@273372.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@273373.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@273375.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@273377.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@273378.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@273379.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273381.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273382.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@273374.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273388.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@273389.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@273390.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@273395.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273396.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@273397.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273398.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@273399.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@273400.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@273402.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@273403.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@273409.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@273413.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272367.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272439.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272522.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272581.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272632.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272682.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272730.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272778.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272848.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272889.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272947.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_514 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_527 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_529 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_531 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_533 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_535 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_569 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_582 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_586 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_588 = _RAND_9[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {2{`RANDOM}};
  _T_622 = _RAND_10[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_633 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_654 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_697 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_514 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_518) begin
          _T_514 <= 1'h0;
        end else begin
          _T_514 <= _T_517;
        end
      end
    end
    if (_T_559) begin
      _T_527 <= io_in_a_bits_opcode;
    end
    if (_T_559) begin
      _T_529 <= io_in_a_bits_param;
    end
    if (_T_559) begin
      _T_531 <= io_in_a_bits_size;
    end
    if (_T_559) begin
      _T_533 <= io_in_a_bits_source;
    end
    if (_T_559) begin
      _T_535 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_569 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_573) begin
          _T_569 <= 1'h0;
        end else begin
          _T_569 <= _T_572;
        end
      end
    end
    if (_T_620) begin
      _T_582 <= io_in_d_bits_opcode;
    end
    if (_T_620) begin
      _T_586 <= io_in_d_bits_size;
    end
    if (_T_620) begin
      _T_588 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_622 <= 64'h0;
    end else begin
      _T_622 <= _T_695;
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_654 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_658) begin
          _T_654 <= 1'h0;
        end else begin
          _T_654 <= _T_657;
        end
      end
    end
    if (reset) begin
      _T_697 <= 32'h0;
    end else begin
      if (_T_711) begin
        _T_697 <= 32'h0;
      end else begin
        _T_697 <= _T_708;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272278.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272279.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272350.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272351.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272367.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272368.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272374.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272375.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272381.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272382.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272389.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272390.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272396.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272397.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272404.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272405.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272413.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272414.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272421.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272422.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272439.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272440.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272446.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272447.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272453.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272454.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272461.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272462.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272468.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272469.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272476.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272477.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272484.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272485.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272493.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272494.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272501.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272502.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272522.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272523.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272529.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272530.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272536.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272537.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272544.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272545.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272552.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272553.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272560.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272561.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272581.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272582.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272588.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272589.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272595.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272596.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272603.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272604.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272611.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272612.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272632.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272633.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272639.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272640.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272646.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272647.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272654.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272655.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272664.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272665.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272682.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272683.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272689.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272690.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272696.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272697.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272704.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272705.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272712.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272713.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272730.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272731.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272737.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272738.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272744.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272745.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272752.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272753.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272760.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272761.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272778.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272779.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272785.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272786.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272792.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272793.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272800.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272801.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272808.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272809.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272819.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@272820.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272840.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272841.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272848.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272849.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272856.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272857.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272864.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272865.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272872.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272873.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272882.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272883.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272889.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272890.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272897.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272898.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272905.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272906.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272913.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272914.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272921.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272922.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272930.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272931.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272940.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272941.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272947.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272948.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272955.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272956.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272963.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272964.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272971.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272972.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272980.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272981.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272989.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272990.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@272999.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273000.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273007.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273008.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273015.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273016.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273024.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273025.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273034.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273035.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273042.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273043.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273051.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273052.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273060.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273061.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273070.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273071.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273078.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273079.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273086.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273087.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273095.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273096.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273105.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273106.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273113.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273114.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273121.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273122.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273161.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273162.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273169.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273170.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273177.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273178.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273185.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273186.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273193.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273194.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273243.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273244.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273251.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273252.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273259.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273260.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273267.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273268.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273275.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273276.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273283.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@273284.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273361.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273362.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273384.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@273385.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_706) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@273405.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_706) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@273406.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLSPI_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274003.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274004.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274005.4]
  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  output        auto_io_out_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  input         auto_io_out_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  output        auto_io_out_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  output        auto_io_out_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  input         auto_io_out_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  output        auto_io_out_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  output        auto_io_out_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  input         auto_io_out_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  output        auto_io_out_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  output        auto_io_out_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  input         auto_io_out_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  output        auto_io_out_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  output        auto_io_out_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
  output        auto_io_out_cs_0 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274006.4]
);
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274017.4]
  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274017.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274017.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274017.4]
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
  wire  fifo_clock; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire  fifo_reset; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire [1:0] fifo_io_ctrl_fmt_proto; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire  fifo_io_ctrl_fmt_endian; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire  fifo_io_ctrl_fmt_iodir; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire [3:0] fifo_io_ctrl_fmt_len; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire [1:0] fifo_io_ctrl_cs_mode; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire [3:0] fifo_io_ctrl_wm_tx; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire [3:0] fifo_io_ctrl_wm_rx; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire  fifo_io_link_tx_ready; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire  fifo_io_link_tx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire [7:0] fifo_io_link_tx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire  fifo_io_link_rx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire [7:0] fifo_io_link_rx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire [7:0] fifo_io_link_cnt; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire [1:0] fifo_io_link_fmt_proto; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire  fifo_io_link_fmt_endian; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire  fifo_io_link_fmt_iodir; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire  fifo_io_link_cs_set; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire  fifo_io_link_cs_clear; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire  fifo_io_link_lock; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire  fifo_io_tx_ready; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire  fifo_io_tx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire [7:0] fifo_io_tx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire  fifo_io_rx_ready; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire  fifo_io_rx_valid; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire [7:0] fifo_io_rx_bits; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire  fifo_io_ip_txwm; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire  fifo_io_ip_rxwm; // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
  wire  mac_clock; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_reset; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_io_port_sck; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_io_port_dq_0_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_io_port_dq_0_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_io_port_dq_0_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_io_port_dq_1_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_io_port_dq_1_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_io_port_dq_1_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_io_port_dq_2_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_io_port_dq_2_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_io_port_dq_2_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_io_port_dq_3_i; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_io_port_dq_3_o; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_io_port_dq_3_oe; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_io_port_cs_0; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire [11:0] mac_io_ctrl_sck_div; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_io_ctrl_sck_pol; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_io_ctrl_sck_pha; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire [7:0] mac_io_ctrl_dla_cssck; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire [7:0] mac_io_ctrl_dla_sckcs; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire [7:0] mac_io_ctrl_dla_intercs; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire [7:0] mac_io_ctrl_dla_interxfr; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_io_ctrl_cs_id; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_io_ctrl_cs_dflt_0; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire [11:0] mac_io_ctrl_extradel_coarse; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire [4:0] mac_io_ctrl_sampledel_sd; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_io_link_tx_ready; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_io_link_tx_valid; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire [7:0] mac_io_link_tx_bits; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_io_link_rx_valid; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire [7:0] mac_io_link_rx_bits; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire [7:0] mac_io_link_cnt; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire [1:0] mac_io_link_fmt_proto; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_io_link_fmt_endian; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_io_link_fmt_iodir; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_io_link_cs_set; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_io_link_cs_clear; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_io_link_cs_hold; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  wire  mac_io_link_active; // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
  reg [1:0] ctrl_fmt_proto; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
  reg [31:0] _RAND_0;
  reg  ctrl_fmt_endian; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
  reg [31:0] _RAND_1;
  reg  ctrl_fmt_iodir; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
  reg [31:0] _RAND_2;
  reg [3:0] ctrl_fmt_len; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
  reg [31:0] _RAND_3;
  reg [11:0] ctrl_sck_div; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
  reg [31:0] _RAND_4;
  reg  ctrl_sck_pol; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
  reg [31:0] _RAND_5;
  reg  ctrl_sck_pha; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
  reg [31:0] _RAND_6;
  reg  ctrl_cs_id; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
  reg [31:0] _RAND_7;
  reg  ctrl_cs_dflt_0; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
  reg [31:0] _RAND_8;
  reg [1:0] ctrl_cs_mode; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
  reg [31:0] _RAND_9;
  reg [7:0] ctrl_dla_cssck; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
  reg [31:0] _RAND_10;
  reg [7:0] ctrl_dla_sckcs; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
  reg [31:0] _RAND_11;
  reg [7:0] ctrl_dla_intercs; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
  reg [31:0] _RAND_12;
  reg [7:0] ctrl_dla_interxfr; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
  reg [31:0] _RAND_13;
  reg [3:0] ctrl_wm_tx; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
  reg [31:0] _RAND_14;
  reg [3:0] ctrl_wm_rx; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
  reg [31:0] _RAND_15;
  reg [11:0] ctrl_extradel_coarse; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
  reg [31:0] _RAND_16;
  reg [4:0] ctrl_sampledel_sd; // @[TLSPI.scala 62:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274104.4]
  reg [31:0] _RAND_17;
  reg  ie_txwm; // @[TLSPI.scala 76:15:shc.marmotcaravel.MarmotCaravelConfig.fir@274131.4]
  reg [31:0] _RAND_18;
  reg  ie_rxwm; // @[TLSPI.scala 76:15:shc.marmotcaravel.MarmotCaravelConfig.fir@274131.4]
  reg [31:0] _RAND_19;
  wire  _T_410; // @[TLSPI.scala 78:35:shc.marmotcaravel.MarmotCaravelConfig.fir@274132.4]
  wire  _T_411; // @[TLSPI.scala 78:59:shc.marmotcaravel.MarmotCaravelConfig.fir@274133.4]
  wire  _T_415; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@274138.4]
  wire  _T_416; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@274139.4]
  wire [2:0] _T_108_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
  wire  _T_424; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@274143.4]
  wire [28:0] _T_108_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
  wire [26:0] _T_425; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@274145.4]
  wire [5:0] _T_108_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
  wire [1:0] _T_108_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
  wire [7:0] _T_426; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274149.4]
  wire [9:0] _T_421_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@274141.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274146.4]
  wire [9:0] _T_442; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274157.4]
  wire  _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274159.4]
  wire [3:0] _T_108_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
  wire  _T_612; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@274199.4]
  wire  _T_613; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@274200.4]
  wire  _T_614; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@274201.4]
  wire  _T_615; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@274202.4]
  wire [7:0] _T_617; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@274204.4]
  wire [7:0] _T_619; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@274206.4]
  wire [7:0] _T_621; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@274208.4]
  wire [7:0] _T_623; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@274210.4]
  wire [15:0] _T_624; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274211.4]
  wire [15:0] _T_625; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274212.4]
  wire [31:0] _T_626; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274213.4]
  wire [11:0] _T_642; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274229.4]
  wire [11:0] _T_645; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274232.4]
  wire  _T_646; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274233.4]
  wire  _T_108_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
  wire  _T_108_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
  wire  _T_1388; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275039.4]
  wire  _T_1387; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275038.4]
  wire [1:0] _T_1395; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@275046.4]
  wire  _T_1386; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275037.4]
  wire [2:0] _T_1396; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@275047.4]
  wire  _T_1385; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275036.4]
  wire  _T_1384; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275035.4]
  wire [1:0] _T_1394; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@275045.4]
  wire [4:0] _T_1397; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@275048.4]
  wire  _T_1464; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275115.4]
  wire  _T_1465; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275116.4]
  wire [31:0] _T_1398; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@275049.4]
  wire  _T_1399; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275050.4]
  wire  _T_1700; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275406.4]
  wire  _T_1701; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275407.4]
  wire  _T_1704; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275410.4]
  wire  _T_1705; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275411.4]
  wire  _T_654; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274241.4]
  wire [31:0] _T_108_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
  wire [11:0] _T_656; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274243.4]
  wire  _T_667; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274257.4]
  wire  _T_670; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274260.4]
  wire  _T_671; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274261.4]
  wire  _T_1404; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275055.4]
  wire  _T_1734; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275449.4]
  wire  _T_1735; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275450.4]
  wire  _T_679; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274269.4]
  wire  _T_681; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274271.4]
  wire [7:0] _T_692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274285.4]
  wire  _T_693; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274286.4]
  wire [7:0] _T_695; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274288.4]
  wire  _T_696; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274289.4]
  wire  _T_1409; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275060.4]
  wire  _T_1764; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275486.4]
  wire  _T_1765; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275487.4]
  wire  _T_704; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274297.4]
  wire [7:0] _T_706; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274299.4]
  wire [7:0] _T_717; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274313.4]
  wire [7:0] _T_720; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274316.4]
  wire  _T_721; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274317.4]
  wire  _T_729; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274325.4]
  wire [7:0] _T_731; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274327.4]
  wire [15:0] _T_740; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274339.4]
  wire [23:0] _T_741; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274340.4]
  wire  _T_1413; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275064.4]
  wire  _T_1788; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275518.4]
  wire  _T_1789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275519.4]
  wire  _T_756; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274355.4]
  wire [3:0] _T_769; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274371.4]
  wire [3:0] _T_772; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274374.4]
  wire  _T_773; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274375.4]
  wire  _T_1419; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275070.4]
  wire  _T_1824; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275572.4]
  wire  _T_1825; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275573.4]
  wire  _T_781; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274383.4]
  wire [3:0] _T_783; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274385.4]
  wire  _T_817; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274422.4]
  wire  _T_819; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274424.4]
  wire  _T_822; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274427.4]
  wire  _T_823; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274428.4]
  wire  _T_833; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274438.4]
  wire [1:0] _T_843; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274448.4]
  wire  _T_1400; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275051.4]
  wire  _T_1710; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275418.4]
  wire  _T_1711; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275419.4]
  wire  _T_858; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274463.4]
  wire  _T_883; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274491.4]
  wire [1:0] _T_895; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274506.4]
  wire [1:0] _T_898; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274509.4]
  wire [1:0] _T_901; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274512.4]
  wire  _T_902; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274513.4]
  wire  _T_1405; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275056.4]
  wire  _T_1740; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275457.4]
  wire  _T_1741; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275458.4]
  wire  _T_910; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274521.4]
  wire [1:0] _T_912; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274523.4]
  wire  _T_1427; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275078.4]
  wire  _T_1872; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275630.4]
  wire  _T_1873; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275631.4]
  wire  _T_935; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274549.4]
  wire  _T_960; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274577.4]
  wire [1:0] _T_972; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274592.4]
  wire  _T_1420; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275071.4]
  wire  _T_1830; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275580.4]
  wire  _T_1831; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275581.4]
  wire  _T_987; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274607.4]
  wire  _T_1417; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275068.4]
  wire  _T_1812; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275552.4]
  wire  _T_1813; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275553.4]
  wire  _T_1012; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274635.4]
  wire  _T_1061; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274686.4]
  wire  _T_1062; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274687.4]
  wire  _T_1063; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274688.4]
  wire  _T_1067; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274692.4]
  wire  _T_1068; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274693.4]
  wire  _T_1070; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@274695.4]
  wire  _T_1015; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@274638.4]
  wire [31:0] _T_1080; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274706.4]
  wire  _T_1415; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275066.4]
  wire  _T_1800; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275534.4]
  wire  _T_1801; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275535.4]
  wire  _T_1095; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274721.4]
  wire  _T_1108; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274737.4]
  wire  _T_1111; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274740.4]
  wire  _T_1112; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274741.4]
  wire  _T_1120; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274749.4]
  wire  _T_1122; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274751.4]
  wire [2:0] _T_1132; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274764.4]
  wire  _T_1135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274767.4]
  wire  _T_1138; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274770.4]
  wire  _T_1139; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274771.4]
  wire  _T_1147; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274779.4]
  wire  _T_1149; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274781.4]
  wire [3:0] _T_1159; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274794.4]
  wire [3:0] _T_1162; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274797.4]
  wire [3:0] _T_1165; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274800.4]
  wire  _T_1166; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274801.4]
  wire  _T_1174; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274809.4]
  wire [3:0] _T_1176; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274811.4]
  wire [15:0] _T_1185; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274823.4]
  wire [19:0] _T_1186; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274824.4]
  wire  _T_1410; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275061.4]
  wire  _T_1770; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275495.4]
  wire  _T_1771; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275496.4]
  wire  _T_1201; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274839.4]
  wire  _T_1226; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274867.4]
  wire [15:0] _T_1237; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274881.4]
  wire [23:0] _T_1238; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274882.4]
  wire  _T_1418; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275069.4]
  wire  _T_1582; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275271.4]
  wire  _T_1583; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275272.4]
  wire [7:0] _T_1264; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274909.4]
  wire [8:0] _T_1290; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274935.4]
  wire [30:0] _T_1291; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274936.4]
  wire [31:0] _T_1317; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274962.4]
  wire  _T_1403; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275054.4]
  wire  _T_1728; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275441.4]
  wire  _T_1729; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275442.4]
  wire  _T_1332; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274977.4]
  wire [4:0] _T_1345; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274993.4]
  wire [4:0] _T_1348; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274996.4]
  wire  _T_1349; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274997.4]
  wire  _T_1414; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275065.4]
  wire  _T_1794; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275526.4]
  wire  _T_1795; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275527.4]
  wire  _T_1357; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275005.4]
  wire [4:0] _T_1359; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275007.4]
  wire  _GEN_149; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_150; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_151; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_152; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_153; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_154; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_155; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_156; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_157; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_158; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_159; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_160; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_161; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_162; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_163; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_164; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_165; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_167; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_168; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire  _GEN_179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  wire [31:0] _T_2457_0; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276327.4]
  wire [31:0] _T_2457_1; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276328.4]
  wire [31:0] _GEN_181; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _GEN_182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _GEN_183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _T_2457_4; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276331.4]
  wire [31:0] _GEN_184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _T_2457_5; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276332.4]
  wire [31:0] _GEN_185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _T_2457_6; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276333.4]
  wire [31:0] _GEN_186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _GEN_187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _GEN_188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _GEN_189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _T_2457_10; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276337.4]
  wire [31:0] _GEN_190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _T_2457_11; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276338.4]
  wire [31:0] _GEN_191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _GEN_192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _GEN_193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _T_2457_14; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276341.4]
  wire [31:0] _GEN_194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _T_2457_15; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276342.4]
  wire [31:0] _GEN_195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _T_2457_16; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276343.4]
  wire [31:0] _GEN_196; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _GEN_197; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _GEN_198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _GEN_199; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _T_2457_20; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276347.4]
  wire [31:0] _GEN_200; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _T_2457_21; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276348.4]
  wire [31:0] _GEN_201; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _GEN_202; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _GEN_203; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _GEN_204; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _GEN_205; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _GEN_206; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _GEN_207; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _T_2457_28; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276355.4]
  wire [31:0] _GEN_208; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _T_2457_29; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276356.4]
  wire [31:0] _GEN_209; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _GEN_210; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  wire [31:0] _GEN_211; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  TLBuffer_25 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@274011.4]
    .clock(buffer_clock),
    .reset(buffer_reset),
    .auto_in_a_ready(buffer_auto_in_a_ready),
    .auto_in_a_valid(buffer_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_auto_in_d_ready),
    .auto_in_d_valid(buffer_auto_in_d_valid),
    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
    .auto_out_a_ready(buffer_auto_out_a_ready),
    .auto_out_a_valid(buffer_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_auto_out_d_ready),
    .auto_out_d_valid(buffer_auto_out_d_valid),
    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
  );
  IntSyncCrossingSource_3 intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274017.4]
    .clock(intsource_clock),
    .reset(intsource_reset),
    .auto_in_0(intsource_auto_in_0),
    .auto_out_sync_0(intsource_auto_out_sync_0)
  );
  TLMonitor_75 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274029.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  SPIFIFO fifo ( // @[TLSPI.scala 63:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274105.4]
    .clock(fifo_clock),
    .reset(fifo_reset),
    .io_ctrl_fmt_proto(fifo_io_ctrl_fmt_proto),
    .io_ctrl_fmt_endian(fifo_io_ctrl_fmt_endian),
    .io_ctrl_fmt_iodir(fifo_io_ctrl_fmt_iodir),
    .io_ctrl_fmt_len(fifo_io_ctrl_fmt_len),
    .io_ctrl_cs_mode(fifo_io_ctrl_cs_mode),
    .io_ctrl_wm_tx(fifo_io_ctrl_wm_tx),
    .io_ctrl_wm_rx(fifo_io_ctrl_wm_rx),
    .io_link_tx_ready(fifo_io_link_tx_ready),
    .io_link_tx_valid(fifo_io_link_tx_valid),
    .io_link_tx_bits(fifo_io_link_tx_bits),
    .io_link_rx_valid(fifo_io_link_rx_valid),
    .io_link_rx_bits(fifo_io_link_rx_bits),
    .io_link_cnt(fifo_io_link_cnt),
    .io_link_fmt_proto(fifo_io_link_fmt_proto),
    .io_link_fmt_endian(fifo_io_link_fmt_endian),
    .io_link_fmt_iodir(fifo_io_link_fmt_iodir),
    .io_link_cs_set(fifo_io_link_cs_set),
    .io_link_cs_clear(fifo_io_link_cs_clear),
    .io_link_lock(fifo_io_link_lock),
    .io_tx_ready(fifo_io_tx_ready),
    .io_tx_valid(fifo_io_tx_valid),
    .io_tx_bits(fifo_io_tx_bits),
    .io_rx_ready(fifo_io_rx_ready),
    .io_rx_valid(fifo_io_rx_valid),
    .io_rx_bits(fifo_io_rx_bits),
    .io_ip_txwm(fifo_io_ip_txwm),
    .io_ip_rxwm(fifo_io_ip_rxwm)
  );
  SPIMedia mac ( // @[TLSPI.scala 64:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274109.4]
    .clock(mac_clock),
    .reset(mac_reset),
    .io_port_sck(mac_io_port_sck),
    .io_port_dq_0_i(mac_io_port_dq_0_i),
    .io_port_dq_0_o(mac_io_port_dq_0_o),
    .io_port_dq_0_oe(mac_io_port_dq_0_oe),
    .io_port_dq_1_i(mac_io_port_dq_1_i),
    .io_port_dq_1_o(mac_io_port_dq_1_o),
    .io_port_dq_1_oe(mac_io_port_dq_1_oe),
    .io_port_dq_2_i(mac_io_port_dq_2_i),
    .io_port_dq_2_o(mac_io_port_dq_2_o),
    .io_port_dq_2_oe(mac_io_port_dq_2_oe),
    .io_port_dq_3_i(mac_io_port_dq_3_i),
    .io_port_dq_3_o(mac_io_port_dq_3_o),
    .io_port_dq_3_oe(mac_io_port_dq_3_oe),
    .io_port_cs_0(mac_io_port_cs_0),
    .io_ctrl_sck_div(mac_io_ctrl_sck_div),
    .io_ctrl_sck_pol(mac_io_ctrl_sck_pol),
    .io_ctrl_sck_pha(mac_io_ctrl_sck_pha),
    .io_ctrl_dla_cssck(mac_io_ctrl_dla_cssck),
    .io_ctrl_dla_sckcs(mac_io_ctrl_dla_sckcs),
    .io_ctrl_dla_intercs(mac_io_ctrl_dla_intercs),
    .io_ctrl_dla_interxfr(mac_io_ctrl_dla_interxfr),
    .io_ctrl_cs_id(mac_io_ctrl_cs_id),
    .io_ctrl_cs_dflt_0(mac_io_ctrl_cs_dflt_0),
    .io_ctrl_extradel_coarse(mac_io_ctrl_extradel_coarse),
    .io_ctrl_sampledel_sd(mac_io_ctrl_sampledel_sd),
    .io_link_tx_ready(mac_io_link_tx_ready),
    .io_link_tx_valid(mac_io_link_tx_valid),
    .io_link_tx_bits(mac_io_link_tx_bits),
    .io_link_rx_valid(mac_io_link_rx_valid),
    .io_link_rx_bits(mac_io_link_rx_bits),
    .io_link_cnt(mac_io_link_cnt),
    .io_link_fmt_proto(mac_io_link_fmt_proto),
    .io_link_fmt_endian(mac_io_link_fmt_endian),
    .io_link_fmt_iodir(mac_io_link_fmt_iodir),
    .io_link_cs_set(mac_io_link_cs_set),
    .io_link_cs_clear(mac_io_link_cs_clear),
    .io_link_cs_hold(mac_io_link_cs_hold),
    .io_link_active(mac_io_link_active)
  );
  assign _T_410 = fifo_io_ip_txwm & ie_txwm; // @[TLSPI.scala 78:35:shc.marmotcaravel.MarmotCaravelConfig.fir@274132.4]
  assign _T_411 = fifo_io_ip_rxwm & ie_rxwm; // @[TLSPI.scala 78:59:shc.marmotcaravel.MarmotCaravelConfig.fir@274133.4]
  assign _T_415 = fifo_io_tx_ready == 1'h0; // @[RegMapFIFO.scala 24:9:shc.marmotcaravel.MarmotCaravelConfig.fir@274138.4]
  assign _T_416 = fifo_io_rx_valid == 1'h0; // @[RegMapFIFO.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@274139.4]
  assign _T_108_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
  assign _T_424 = _T_108_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@274143.4]
  assign _T_108_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
  assign _T_425 = _T_108_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@274145.4]
  assign _T_108_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
  assign _T_108_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
  assign _T_426 = {_T_108_a_bits_source,_T_108_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274149.4]
  assign _T_421_bits_index = _T_425[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@274141.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274146.4]
  assign _T_442 = _T_421_bits_index & 10'h3e0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274157.4]
  assign _T_444 = _T_442 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274159.4]
  assign _T_108_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
  assign _T_612 = _T_108_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@274199.4]
  assign _T_613 = _T_108_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@274200.4]
  assign _T_614 = _T_108_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@274201.4]
  assign _T_615 = _T_108_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@274202.4]
  assign _T_617 = _T_612 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@274204.4]
  assign _T_619 = _T_613 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@274206.4]
  assign _T_621 = _T_614 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@274208.4]
  assign _T_623 = _T_615 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@274210.4]
  assign _T_624 = {_T_619,_T_617}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274211.4]
  assign _T_625 = {_T_623,_T_621}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274212.4]
  assign _T_626 = {_T_625,_T_624}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274213.4]
  assign _T_642 = _T_626[11:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274229.4]
  assign _T_645 = ~ _T_642; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274232.4]
  assign _T_646 = _T_645 == 12'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274233.4]
  assign _T_108_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
  assign _T_108_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
  assign _T_1388 = _T_421_bits_index[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275039.4]
  assign _T_1387 = _T_421_bits_index[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275038.4]
  assign _T_1395 = {_T_1388,_T_1387}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@275046.4]
  assign _T_1386 = _T_421_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275037.4]
  assign _T_1396 = {_T_1395,_T_1386}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@275047.4]
  assign _T_1385 = _T_421_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275036.4]
  assign _T_1384 = _T_421_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275035.4]
  assign _T_1394 = {_T_1385,_T_1384}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@275045.4]
  assign _T_1397 = {_T_1396,_T_1394}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@275048.4]
  assign _T_1464 = _T_108_a_valid & _T_108_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275115.4]
  assign _T_1465 = _T_1464 & _T_424; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275116.4]
  assign _T_1398 = 32'h1 << _T_1397; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@275049.4]
  assign _T_1399 = _T_1398[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275050.4]
  assign _T_1700 = _T_424 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275406.4]
  assign _T_1701 = _T_1464 & _T_1700; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275407.4]
  assign _T_1704 = _T_1701 & _T_1399; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275410.4]
  assign _T_1705 = _T_1704 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275411.4]
  assign _T_654 = _T_1705 & _T_646; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274241.4]
  assign _T_108_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@274027.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
  assign _T_656 = _T_108_a_bits_data[11:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274243.4]
  assign _T_667 = _T_626[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274257.4]
  assign _T_670 = ~ _T_667; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274260.4]
  assign _T_671 = _T_670 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274261.4]
  assign _T_1404 = _T_1398[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275055.4]
  assign _T_1734 = _T_1701 & _T_1404; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275449.4]
  assign _T_1735 = _T_1734 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275450.4]
  assign _T_679 = _T_1735 & _T_671; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274269.4]
  assign _T_681 = _T_108_a_bits_data[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274271.4]
  assign _T_692 = _T_626[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274285.4]
  assign _T_693 = _T_692 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274286.4]
  assign _T_695 = ~ _T_692; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274288.4]
  assign _T_696 = _T_695 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274289.4]
  assign _T_1409 = _T_1398[10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275060.4]
  assign _T_1764 = _T_1701 & _T_1409; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275486.4]
  assign _T_1765 = _T_1764 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275487.4]
  assign _T_704 = _T_1765 & _T_696; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274297.4]
  assign _T_706 = _T_108_a_bits_data[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274299.4]
  assign _T_717 = _T_626[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274313.4]
  assign _T_720 = ~ _T_717; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274316.4]
  assign _T_721 = _T_720 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274317.4]
  assign _T_729 = _T_1765 & _T_721; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274325.4]
  assign _T_731 = _T_108_a_bits_data[23:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274327.4]
  assign _T_740 = {{8'd0}, ctrl_dla_cssck}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274339.4]
  assign _T_741 = {ctrl_dla_sckcs,_T_740}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274340.4]
  assign _T_1413 = _T_1398[14]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275064.4]
  assign _T_1788 = _T_1701 & _T_1413; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275518.4]
  assign _T_1789 = _T_1788 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275519.4]
  assign _T_756 = _T_1789 & _T_646; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274355.4]
  assign _T_769 = _T_626[3:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274371.4]
  assign _T_772 = ~ _T_769; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274374.4]
  assign _T_773 = _T_772 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274375.4]
  assign _T_1419 = _T_1398[20]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275070.4]
  assign _T_1824 = _T_1701 & _T_1419; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275572.4]
  assign _T_1825 = _T_1824 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275573.4]
  assign _T_781 = _T_1825 & _T_773; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274383.4]
  assign _T_783 = _T_108_a_bits_data[3:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274385.4]
  assign _T_817 = fifo_io_ip_txwm; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274422.4]
  assign _T_819 = _T_626[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274424.4]
  assign _T_822 = ~ _T_819; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274427.4]
  assign _T_823 = _T_822 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274428.4]
  assign _T_833 = _T_108_a_bits_data[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274438.4]
  assign _T_843 = {fifo_io_ip_rxwm,_T_817}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274448.4]
  assign _T_1400 = _T_1398[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275051.4]
  assign _T_1710 = _T_1701 & _T_1400; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275418.4]
  assign _T_1711 = _T_1710 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275419.4]
  assign _T_858 = _T_1711 & _T_671; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274463.4]
  assign _T_883 = _T_1711 & _T_823; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274491.4]
  assign _T_895 = {ctrl_sck_pol,ctrl_sck_pha}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274506.4]
  assign _T_898 = _T_626[1:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274509.4]
  assign _T_901 = ~ _T_898; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274512.4]
  assign _T_902 = _T_901 == 2'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274513.4]
  assign _T_1405 = _T_1398[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275056.4]
  assign _T_1740 = _T_1701 & _T_1405; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275457.4]
  assign _T_1741 = _T_1740 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275458.4]
  assign _T_910 = _T_1741 & _T_902; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274521.4]
  assign _T_912 = _T_108_a_bits_data[1:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274523.4]
  assign _T_1427 = _T_1398[28]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275078.4]
  assign _T_1872 = _T_1701 & _T_1427; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275630.4]
  assign _T_1873 = _T_1872 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275631.4]
  assign _T_935 = _T_1873 & _T_671; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274549.4]
  assign _T_960 = _T_1873 & _T_823; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274577.4]
  assign _T_972 = {ie_rxwm,ie_txwm}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274592.4]
  assign _T_1420 = _T_1398[21]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275071.4]
  assign _T_1830 = _T_1701 & _T_1420; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275580.4]
  assign _T_1831 = _T_1830 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275581.4]
  assign _T_987 = _T_1831 & _T_773; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274607.4]
  assign _T_1417 = _T_1398[18]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275068.4]
  assign _T_1812 = _T_1701 & _T_1417; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275552.4]
  assign _T_1813 = _T_1812 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275553.4]
  assign _T_1012 = _T_1813 & _T_696; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274635.4]
  assign _T_1061 = _T_626[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274686.4]
  assign _T_1062 = ~ _T_1061; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274687.4]
  assign _T_1063 = _T_1062 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274688.4]
  assign _T_1067 = _T_1813 & _T_1063; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274692.4]
  assign _T_1068 = _T_108_a_bits_data[31]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274693.4]
  assign _T_1070 = _T_1067 & _T_1068; // @[RegMapFIFO.scala 26:26:shc.marmotcaravel.MarmotCaravelConfig.fir@274695.4]
  assign _T_1015 = _T_1070 == 1'h0; // @[RegMapFIFO.scala 18:33:shc.marmotcaravel.MarmotCaravelConfig.fir@274638.4]
  assign _T_1080 = {_T_415,31'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274706.4]
  assign _T_1415 = _T_1398[16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275066.4]
  assign _T_1800 = _T_1701 & _T_1415; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275534.4]
  assign _T_1801 = _T_1800 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275535.4]
  assign _T_1095 = _T_1801 & _T_902; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274721.4]
  assign _T_1108 = _T_626[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274737.4]
  assign _T_1111 = ~ _T_1108; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274740.4]
  assign _T_1112 = _T_1111 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274741.4]
  assign _T_1120 = _T_1801 & _T_1112; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274749.4]
  assign _T_1122 = _T_108_a_bits_data[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274751.4]
  assign _T_1132 = {ctrl_fmt_endian,ctrl_fmt_proto}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274764.4]
  assign _T_1135 = _T_626[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274767.4]
  assign _T_1138 = ~ _T_1135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274770.4]
  assign _T_1139 = _T_1138 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274771.4]
  assign _T_1147 = _T_1801 & _T_1139; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274779.4]
  assign _T_1149 = _T_108_a_bits_data[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274781.4]
  assign _T_1159 = {ctrl_fmt_iodir,_T_1132}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274794.4]
  assign _T_1162 = _T_626[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274797.4]
  assign _T_1165 = ~ _T_1162; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274800.4]
  assign _T_1166 = _T_1165 == 4'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274801.4]
  assign _T_1174 = _T_1801 & _T_1166; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274809.4]
  assign _T_1176 = _T_108_a_bits_data[19:16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274811.4]
  assign _T_1185 = {{12'd0}, _T_1159}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274823.4]
  assign _T_1186 = {ctrl_fmt_len,_T_1185}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274824.4]
  assign _T_1410 = _T_1398[11]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275061.4]
  assign _T_1770 = _T_1701 & _T_1410; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275495.4]
  assign _T_1771 = _T_1770 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275496.4]
  assign _T_1201 = _T_1771 & _T_696; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274839.4]
  assign _T_1226 = _T_1771 & _T_721; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274867.4]
  assign _T_1237 = {{8'd0}, ctrl_dla_intercs}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274881.4]
  assign _T_1238 = {ctrl_dla_interxfr,_T_1237}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274882.4]
  assign _T_1418 = _T_1398[19]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275069.4]
  assign _T_1582 = _T_1465 & _T_1418; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275271.4]
  assign _T_1583 = _T_1582 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275272.4]
  assign _T_1264 = fifo_io_rx_bits; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274909.4]
  assign _T_1290 = {1'h0,_T_1264}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274935.4]
  assign _T_1291 = {{22'd0}, _T_1290}; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274936.4]
  assign _T_1317 = {_T_416,_T_1291}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@274962.4]
  assign _T_1403 = _T_1398[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275054.4]
  assign _T_1728 = _T_1701 & _T_1403; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275441.4]
  assign _T_1729 = _T_1728 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275442.4]
  assign _T_1332 = _T_1729 & _T_671; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274977.4]
  assign _T_1345 = _T_626[4:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274993.4]
  assign _T_1348 = ~ _T_1345; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274996.4]
  assign _T_1349 = _T_1348 == 5'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274997.4]
  assign _T_1414 = _T_1398[15]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275065.4]
  assign _T_1794 = _T_1701 & _T_1414; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275526.4]
  assign _T_1795 = _T_1794 & _T_444; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275527.4]
  assign _T_1357 = _T_1795 & _T_1349; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275005.4]
  assign _T_1359 = _T_108_a_bits_data[4:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@275007.4]
  assign _GEN_149 = 5'h1 == _T_1397 ? _T_444 : _T_444; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_150 = 5'h2 == _T_1397 ? 1'h1 : _GEN_149; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_151 = 5'h3 == _T_1397 ? 1'h1 : _GEN_150; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_152 = 5'h4 == _T_1397 ? _T_444 : _GEN_151; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_153 = 5'h5 == _T_1397 ? _T_444 : _GEN_152; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_154 = 5'h6 == _T_1397 ? _T_444 : _GEN_153; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_155 = 5'h7 == _T_1397 ? 1'h1 : _GEN_154; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_156 = 5'h8 == _T_1397 ? 1'h1 : _GEN_155; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_157 = 5'h9 == _T_1397 ? 1'h1 : _GEN_156; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_158 = 5'ha == _T_1397 ? _T_444 : _GEN_157; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_159 = 5'hb == _T_1397 ? _T_444 : _GEN_158; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_160 = 5'hc == _T_1397 ? 1'h1 : _GEN_159; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_161 = 5'hd == _T_1397 ? 1'h1 : _GEN_160; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_162 = 5'he == _T_1397 ? _T_444 : _GEN_161; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_163 = 5'hf == _T_1397 ? _T_444 : _GEN_162; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_164 = 5'h10 == _T_1397 ? _T_444 : _GEN_163; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_165 = 5'h11 == _T_1397 ? 1'h1 : _GEN_164; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_166 = 5'h12 == _T_1397 ? _T_444 : _GEN_165; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_167 = 5'h13 == _T_1397 ? _T_444 : _GEN_166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_168 = 5'h14 == _T_1397 ? _T_444 : _GEN_167; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_169 = 5'h15 == _T_1397 ? _T_444 : _GEN_168; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_170 = 5'h16 == _T_1397 ? 1'h1 : _GEN_169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_171 = 5'h17 == _T_1397 ? 1'h1 : _GEN_170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_172 = 5'h18 == _T_1397 ? 1'h1 : _GEN_171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_173 = 5'h19 == _T_1397 ? 1'h1 : _GEN_172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_174 = 5'h1a == _T_1397 ? 1'h1 : _GEN_173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_175 = 5'h1b == _T_1397 ? 1'h1 : _GEN_174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_176 = 5'h1c == _T_1397 ? _T_444 : _GEN_175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_177 = 5'h1d == _T_1397 ? _T_444 : _GEN_176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_178 = 5'h1e == _T_1397 ? 1'h1 : _GEN_177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _GEN_179 = 5'h1f == _T_1397 ? 1'h1 : _GEN_178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276323.4]
  assign _T_2457_0 = {{20'd0}, ctrl_sck_div}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276327.4]
  assign _T_2457_1 = {{30'd0}, _T_895}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276328.4]
  assign _GEN_181 = 5'h1 == _T_1397 ? _T_2457_1 : _T_2457_0; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _GEN_182 = 5'h2 == _T_1397 ? 32'h0 : _GEN_181; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _GEN_183 = 5'h3 == _T_1397 ? 32'h0 : _GEN_182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _T_2457_4 = {{31'd0}, ctrl_cs_id}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276331.4]
  assign _GEN_184 = 5'h4 == _T_1397 ? _T_2457_4 : _GEN_183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _T_2457_5 = {{31'd0}, ctrl_cs_dflt_0}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276332.4]
  assign _GEN_185 = 5'h5 == _T_1397 ? _T_2457_5 : _GEN_184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _T_2457_6 = {{30'd0}, ctrl_cs_mode}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276333.4]
  assign _GEN_186 = 5'h6 == _T_1397 ? _T_2457_6 : _GEN_185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _GEN_187 = 5'h7 == _T_1397 ? 32'h0 : _GEN_186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _GEN_188 = 5'h8 == _T_1397 ? 32'h0 : _GEN_187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _GEN_189 = 5'h9 == _T_1397 ? 32'h0 : _GEN_188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _T_2457_10 = {{8'd0}, _T_741}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276337.4]
  assign _GEN_190 = 5'ha == _T_1397 ? _T_2457_10 : _GEN_189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _T_2457_11 = {{8'd0}, _T_1238}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276338.4]
  assign _GEN_191 = 5'hb == _T_1397 ? _T_2457_11 : _GEN_190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _GEN_192 = 5'hc == _T_1397 ? 32'h0 : _GEN_191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _GEN_193 = 5'hd == _T_1397 ? 32'h0 : _GEN_192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _T_2457_14 = {{20'd0}, ctrl_extradel_coarse}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276341.4]
  assign _GEN_194 = 5'he == _T_1397 ? _T_2457_14 : _GEN_193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _T_2457_15 = {{27'd0}, ctrl_sampledel_sd}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276342.4]
  assign _GEN_195 = 5'hf == _T_1397 ? _T_2457_15 : _GEN_194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _T_2457_16 = {{12'd0}, _T_1186}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276343.4]
  assign _GEN_196 = 5'h10 == _T_1397 ? _T_2457_16 : _GEN_195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _GEN_197 = 5'h11 == _T_1397 ? 32'h0 : _GEN_196; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _GEN_198 = 5'h12 == _T_1397 ? _T_1080 : _GEN_197; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _GEN_199 = 5'h13 == _T_1397 ? _T_1317 : _GEN_198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _T_2457_20 = {{28'd0}, ctrl_wm_tx}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276347.4]
  assign _GEN_200 = 5'h14 == _T_1397 ? _T_2457_20 : _GEN_199; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _T_2457_21 = {{28'd0}, ctrl_wm_rx}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276348.4]
  assign _GEN_201 = 5'h15 == _T_1397 ? _T_2457_21 : _GEN_200; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _GEN_202 = 5'h16 == _T_1397 ? 32'h0 : _GEN_201; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _GEN_203 = 5'h17 == _T_1397 ? 32'h0 : _GEN_202; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _GEN_204 = 5'h18 == _T_1397 ? 32'h0 : _GEN_203; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _GEN_205 = 5'h19 == _T_1397 ? 32'h0 : _GEN_204; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _GEN_206 = 5'h1a == _T_1397 ? 32'h0 : _GEN_205; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _GEN_207 = 5'h1b == _T_1397 ? 32'h0 : _GEN_206; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _T_2457_28 = {{30'd0}, _T_972}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276355.4]
  assign _GEN_208 = 5'h1c == _T_1397 ? _T_2457_28 : _GEN_207; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _T_2457_29 = {{30'd0}, _T_843}; // @[MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276325.4 MuxLiteral.scala 48:48:shc.marmotcaravel.MarmotCaravelConfig.fir@276356.4]
  assign _GEN_209 = 5'h1d == _T_1397 ? _T_2457_29 : _GEN_208; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _GEN_210 = 5'h1e == _T_1397 ? 32'h0 : _GEN_209; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign _GEN_211 = 5'h1f == _T_1397 ? 32'h0 : _GEN_210; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@276359.4]
  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@274082.4]
  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274081.4]
  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274081.4]
  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274081.4]
  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274081.4]
  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274081.4]
  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274081.4]
  assign auto_io_out_sck = mac_io_port_sck; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@274080.4]
  assign auto_io_out_dq_0_o = mac_io_port_dq_0_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@274080.4]
  assign auto_io_out_dq_0_oe = mac_io_port_dq_0_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@274080.4]
  assign auto_io_out_dq_1_o = mac_io_port_dq_1_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@274080.4]
  assign auto_io_out_dq_1_oe = mac_io_port_dq_1_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@274080.4]
  assign auto_io_out_dq_2_o = mac_io_port_dq_2_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@274080.4]
  assign auto_io_out_dq_2_oe = mac_io_port_dq_2_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@274080.4]
  assign auto_io_out_dq_3_o = mac_io_port_dq_3_o; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@274080.4]
  assign auto_io_out_dq_3_oe = mac_io_port_dq_3_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@274080.4]
  assign auto_io_out_cs_0 = mac_io_port_cs_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@274080.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274015.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274016.4]
  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@274078.4]
  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@274078.4]
  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@274078.4]
  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@274078.4]
  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@274078.4]
  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@274078.4]
  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@274078.4]
  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@274078.4]
  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@274078.4]
  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@274078.4]
  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_424}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
  assign buffer_auto_out_d_bits_size = _T_426[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
  assign buffer_auto_out_d_bits_source = _T_426[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
  assign buffer_auto_out_d_bits_data = _GEN_179 ? _GEN_211 : 32'h0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@274077.4]
  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274021.4]
  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274022.4]
  assign intsource_auto_in_0 = _T_410 | _T_411; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@274076.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274031.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274032.4]
  assign TLMonitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
  assign TLMonitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_424}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
  assign TLMonitor_io_in_d_bits_size = _T_426[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
  assign TLMonitor_io_in_d_bits_source = _T_426[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274065.4]
  assign fifo_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274107.4]
  assign fifo_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274108.4]
  assign fifo_io_ctrl_fmt_proto = ctrl_fmt_proto; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274114.4]
  assign fifo_io_ctrl_fmt_endian = ctrl_fmt_endian; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274114.4]
  assign fifo_io_ctrl_fmt_iodir = ctrl_fmt_iodir; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274114.4]
  assign fifo_io_ctrl_fmt_len = ctrl_fmt_len; // @[TLSPI.scala 67:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274114.4]
  assign fifo_io_ctrl_cs_mode = ctrl_cs_mode; // @[TLSPI.scala 68:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274115.4]
  assign fifo_io_ctrl_wm_tx = ctrl_wm_tx; // @[TLSPI.scala 69:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274116.4]
  assign fifo_io_ctrl_wm_rx = ctrl_wm_rx; // @[TLSPI.scala 69:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274116.4]
  assign fifo_io_link_tx_ready = mac_io_link_tx_ready; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274140.4]
  assign fifo_io_link_rx_valid = mac_io_link_rx_valid; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274140.4]
  assign fifo_io_link_rx_bits = mac_io_link_rx_bits; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274140.4]
  assign fifo_io_tx_valid = _T_1012 & _T_1015; // @[RegMapFIFO.scala 18:21:shc.marmotcaravel.MarmotCaravelConfig.fir@274640.4]
  assign fifo_io_tx_bits = _T_108_a_bits_data[7:0]; // @[RegMapFIFO.scala 19:20:shc.marmotcaravel.MarmotCaravelConfig.fir@274641.4]
  assign fifo_io_rx_ready = _T_1583 & _T_693; // @[RegMapFIFO.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@274899.4]
  assign mac_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274111.4]
  assign mac_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@274112.4]
  assign mac_io_port_dq_0_i = auto_io_out_dq_0_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274113.4]
  assign mac_io_port_dq_1_i = auto_io_out_dq_1_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274113.4]
  assign mac_io_port_dq_2_i = auto_io_out_dq_2_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274113.4]
  assign mac_io_port_dq_3_i = auto_io_out_dq_3_i; // @[TLSPI.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@274113.4]
  assign mac_io_ctrl_sck_div = ctrl_sck_div; // @[TLSPI.scala 70:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274117.4]
  assign mac_io_ctrl_sck_pol = ctrl_sck_pol; // @[TLSPI.scala 70:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274117.4]
  assign mac_io_ctrl_sck_pha = ctrl_sck_pha; // @[TLSPI.scala 70:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274117.4]
  assign mac_io_ctrl_dla_cssck = ctrl_dla_cssck; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274120.4]
  assign mac_io_ctrl_dla_sckcs = ctrl_dla_sckcs; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274120.4]
  assign mac_io_ctrl_dla_intercs = ctrl_dla_intercs; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274120.4]
  assign mac_io_ctrl_dla_interxfr = ctrl_dla_interxfr; // @[TLSPI.scala 73:19:shc.marmotcaravel.MarmotCaravelConfig.fir@274120.4]
  assign mac_io_ctrl_cs_id = ctrl_cs_id; // @[TLSPI.scala 74:18:shc.marmotcaravel.MarmotCaravelConfig.fir@274121.4]
  assign mac_io_ctrl_cs_dflt_0 = ctrl_cs_dflt_0; // @[TLSPI.scala 74:18:shc.marmotcaravel.MarmotCaravelConfig.fir@274121.4]
  assign mac_io_ctrl_extradel_coarse = ctrl_extradel_coarse; // @[TLSPI.scala 71:24:shc.marmotcaravel.MarmotCaravelConfig.fir@274118.4]
  assign mac_io_ctrl_sampledel_sd = ctrl_sampledel_sd; // @[TLSPI.scala 72:25:shc.marmotcaravel.MarmotCaravelConfig.fir@274119.4]
  assign mac_io_link_tx_valid = fifo_io_link_tx_valid; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274140.4]
  assign mac_io_link_tx_bits = fifo_io_link_tx_bits; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274140.4]
  assign mac_io_link_cnt = fifo_io_link_cnt; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274140.4]
  assign mac_io_link_fmt_proto = fifo_io_link_fmt_proto; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274140.4]
  assign mac_io_link_fmt_endian = fifo_io_link_fmt_endian; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274140.4]
  assign mac_io_link_fmt_iodir = fifo_io_link_fmt_iodir; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274140.4]
  assign mac_io_link_cs_set = fifo_io_link_cs_set; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274140.4]
  assign mac_io_link_cs_clear = fifo_io_link_cs_clear; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274140.4]
  assign mac_io_link_cs_hold = 1'h0; // @[TLSPI.scala 189:17:shc.marmotcaravel.MarmotCaravelConfig.fir@274140.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  ctrl_fmt_proto = _RAND_0[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  ctrl_fmt_endian = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  ctrl_fmt_iodir = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  ctrl_fmt_len = _RAND_3[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  ctrl_sck_div = _RAND_4[11:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  ctrl_sck_pol = _RAND_5[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  ctrl_sck_pha = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  ctrl_cs_id = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  ctrl_cs_dflt_0 = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  ctrl_cs_mode = _RAND_9[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  ctrl_dla_cssck = _RAND_10[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  ctrl_dla_sckcs = _RAND_11[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  ctrl_dla_intercs = _RAND_12[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  ctrl_dla_interxfr = _RAND_13[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  ctrl_wm_tx = _RAND_14[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  ctrl_wm_rx = _RAND_15[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  ctrl_extradel_coarse = _RAND_16[11:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_17 = {1{`RANDOM}};
  ctrl_sampledel_sd = _RAND_17[4:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_18 = {1{`RANDOM}};
  ie_txwm = _RAND_18[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_19 = {1{`RANDOM}};
  ie_rxwm = _RAND_19[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      ctrl_fmt_proto <= 2'h0;
    end else begin
      if (_T_1095) begin
        ctrl_fmt_proto <= _T_912;
      end
    end
    if (reset) begin
      ctrl_fmt_endian <= 1'h0;
    end else begin
      if (_T_1120) begin
        ctrl_fmt_endian <= _T_1122;
      end
    end
    if (reset) begin
      ctrl_fmt_iodir <= 1'h0;
    end else begin
      if (_T_1147) begin
        ctrl_fmt_iodir <= _T_1149;
      end
    end
    if (reset) begin
      ctrl_fmt_len <= 4'h8;
    end else begin
      if (_T_1174) begin
        ctrl_fmt_len <= _T_1176;
      end
    end
    if (reset) begin
      ctrl_sck_div <= 12'h3;
    end else begin
      if (_T_654) begin
        ctrl_sck_div <= _T_656;
      end
    end
    if (reset) begin
      ctrl_sck_pol <= 1'h0;
    end else begin
      if (_T_883) begin
        ctrl_sck_pol <= _T_833;
      end
    end
    if (reset) begin
      ctrl_sck_pha <= 1'h0;
    end else begin
      if (_T_858) begin
        ctrl_sck_pha <= _T_681;
      end
    end
    if (reset) begin
      ctrl_cs_id <= 1'h0;
    end else begin
      if (_T_1332) begin
        ctrl_cs_id <= _T_681;
      end
    end
    if (reset) begin
      ctrl_cs_dflt_0 <= 1'h1;
    end else begin
      if (_T_679) begin
        ctrl_cs_dflt_0 <= _T_681;
      end
    end
    if (reset) begin
      ctrl_cs_mode <= 2'h0;
    end else begin
      if (_T_910) begin
        ctrl_cs_mode <= _T_912;
      end
    end
    if (reset) begin
      ctrl_dla_cssck <= 8'h1;
    end else begin
      if (_T_704) begin
        ctrl_dla_cssck <= _T_706;
      end
    end
    if (reset) begin
      ctrl_dla_sckcs <= 8'h1;
    end else begin
      if (_T_729) begin
        ctrl_dla_sckcs <= _T_731;
      end
    end
    if (reset) begin
      ctrl_dla_intercs <= 8'h1;
    end else begin
      if (_T_1201) begin
        ctrl_dla_intercs <= _T_706;
      end
    end
    if (reset) begin
      ctrl_dla_interxfr <= 8'h0;
    end else begin
      if (_T_1226) begin
        ctrl_dla_interxfr <= _T_731;
      end
    end
    if (reset) begin
      ctrl_wm_tx <= 4'h0;
    end else begin
      if (_T_781) begin
        ctrl_wm_tx <= _T_783;
      end
    end
    if (reset) begin
      ctrl_wm_rx <= 4'h0;
    end else begin
      if (_T_987) begin
        ctrl_wm_rx <= _T_783;
      end
    end
    if (reset) begin
      ctrl_extradel_coarse <= 12'h0;
    end else begin
      if (_T_756) begin
        ctrl_extradel_coarse <= _T_656;
      end
    end
    if (reset) begin
      ctrl_sampledel_sd <= 5'h3;
    end else begin
      if (_T_1357) begin
        ctrl_sampledel_sd <= _T_1359;
      end
    end
    if (reset) begin
      ie_txwm <= 1'h0;
    end else begin
      if (_T_935) begin
        ie_txwm <= _T_681;
      end
    end
    if (reset) begin
      ie_rxwm <= 1'h0;
    end else begin
      if (_T_960) begin
        ie_rxwm <= _T_833;
      end
    end
  end
endmodule
module SynchronizerShiftReg_w32_d3( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276403.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276404.4]
  input  [31:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276406.4]
  output [31:0] io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276406.4]
);
  reg [31:0] sync_0; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@276411.4]
  reg [31:0] _RAND_0;
  reg [31:0] sync_1; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@276412.4]
  reg [31:0] _RAND_1;
  reg [31:0] sync_2; // @[ShiftReg.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@276413.4]
  reg [31:0] _RAND_2;
  assign io_q = sync_0; // @[ShiftReg.scala 123:8:shc.marmotcaravel.MarmotCaravelConfig.fir@276417.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  sync_0 = _RAND_0[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  sync_1 = _RAND_1[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  sync_2 = _RAND_2[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    sync_0 <= sync_1;
    sync_1 <= sync_2;
    sync_2 <= io_d;
  end
endmodule
module IntXing_8( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276419.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276420.4]
  input   auto_int_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  input   auto_int_in_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
  output  auto_int_out_31 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276422.4]
);
  wire  SynchronizerShiftReg_w32_d3_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@276433.4]
  wire [31:0] SynchronizerShiftReg_w32_d3_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@276433.4]
  wire [31:0] SynchronizerShiftReg_w32_d3_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@276433.4]
  wire [1:0] _T_551; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276437.4]
  wire [1:0] _T_552; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276438.4]
  wire [3:0] _T_553; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276439.4]
  wire [1:0] _T_554; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276440.4]
  wire [1:0] _T_555; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276441.4]
  wire [3:0] _T_556; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276442.4]
  wire [7:0] _T_557; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276443.4]
  wire [1:0] _T_558; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276444.4]
  wire [1:0] _T_559; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276445.4]
  wire [3:0] _T_560; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276446.4]
  wire [1:0] _T_561; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276447.4]
  wire [1:0] _T_562; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276448.4]
  wire [3:0] _T_563; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276449.4]
  wire [7:0] _T_564; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276450.4]
  wire [15:0] _T_565; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276451.4]
  wire [1:0] _T_566; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276452.4]
  wire [1:0] _T_567; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276453.4]
  wire [3:0] _T_568; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276454.4]
  wire [1:0] _T_569; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276455.4]
  wire [1:0] _T_570; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276456.4]
  wire [3:0] _T_571; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276457.4]
  wire [7:0] _T_572; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276458.4]
  wire [1:0] _T_573; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276459.4]
  wire [1:0] _T_574; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276460.4]
  wire [3:0] _T_575; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276461.4]
  wire [1:0] _T_576; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276462.4]
  wire [1:0] _T_577; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276463.4]
  wire [3:0] _T_578; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276464.4]
  wire [7:0] _T_579; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276465.4]
  wire [15:0] _T_580; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276466.4]
  wire [31:0] _T_752; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276471.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@276473.4]
  SynchronizerShiftReg_w32_d3 SynchronizerShiftReg_w32_d3 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@276433.4]
    .clock(SynchronizerShiftReg_w32_d3_clock),
    .io_d(SynchronizerShiftReg_w32_d3_io_d),
    .io_q(SynchronizerShiftReg_w32_d3_io_q)
  );
  assign _T_551 = {auto_int_in_1,auto_int_in_0}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276437.4]
  assign _T_552 = {auto_int_in_3,auto_int_in_2}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276438.4]
  assign _T_553 = {_T_552,_T_551}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276439.4]
  assign _T_554 = {auto_int_in_5,auto_int_in_4}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276440.4]
  assign _T_555 = {auto_int_in_7,auto_int_in_6}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276441.4]
  assign _T_556 = {_T_555,_T_554}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276442.4]
  assign _T_557 = {_T_556,_T_553}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276443.4]
  assign _T_558 = {auto_int_in_9,auto_int_in_8}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276444.4]
  assign _T_559 = {auto_int_in_11,auto_int_in_10}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276445.4]
  assign _T_560 = {_T_559,_T_558}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276446.4]
  assign _T_561 = {auto_int_in_13,auto_int_in_12}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276447.4]
  assign _T_562 = {auto_int_in_15,auto_int_in_14}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276448.4]
  assign _T_563 = {_T_562,_T_561}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276449.4]
  assign _T_564 = {_T_563,_T_560}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276450.4]
  assign _T_565 = {_T_564,_T_557}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276451.4]
  assign _T_566 = {auto_int_in_17,auto_int_in_16}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276452.4]
  assign _T_567 = {auto_int_in_19,auto_int_in_18}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276453.4]
  assign _T_568 = {_T_567,_T_566}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276454.4]
  assign _T_569 = {auto_int_in_21,auto_int_in_20}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276455.4]
  assign _T_570 = {auto_int_in_23,auto_int_in_22}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276456.4]
  assign _T_571 = {_T_570,_T_569}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276457.4]
  assign _T_572 = {_T_571,_T_568}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276458.4]
  assign _T_573 = {auto_int_in_25,auto_int_in_24}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276459.4]
  assign _T_574 = {auto_int_in_27,auto_int_in_26}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276460.4]
  assign _T_575 = {_T_574,_T_573}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276461.4]
  assign _T_576 = {auto_int_in_29,auto_int_in_28}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276462.4]
  assign _T_577 = {auto_int_in_31,auto_int_in_30}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276463.4]
  assign _T_578 = {_T_577,_T_576}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276464.4]
  assign _T_579 = {_T_578,_T_575}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276465.4]
  assign _T_580 = {_T_579,_T_572}; // @[ShiftReg.scala 49:22:shc.marmotcaravel.MarmotCaravelConfig.fir@276466.4]
  assign _T_752 = SynchronizerShiftReg_w32_d3_io_q; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276471.4 :shc.marmotcaravel.MarmotCaravelConfig.fir@276473.4]
  assign auto_int_out_0 = _T_752[0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_1 = _T_752[1]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_2 = _T_752[2]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_3 = _T_752[3]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_4 = _T_752[4]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_5 = _T_752[5]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_6 = _T_752[6]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_7 = _T_752[7]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_8 = _T_752[8]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_9 = _T_752[9]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_10 = _T_752[10]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_11 = _T_752[11]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_12 = _T_752[12]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_13 = _T_752[13]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_14 = _T_752[14]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_15 = _T_752[15]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_16 = _T_752[16]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_17 = _T_752[17]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_18 = _T_752[18]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_19 = _T_752[19]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_20 = _T_752[20]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_21 = _T_752[21]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_22 = _T_752[22]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_23 = _T_752[23]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_24 = _T_752[24]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_25 = _T_752[25]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_26 = _T_752[26]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_27 = _T_752[27]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_28 = _T_752[28]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_29 = _T_752[29]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_30 = _T_752[30]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign auto_int_out_31 = _T_752[31]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276431.4]
  assign SynchronizerShiftReg_w32_d3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276435.4]
  assign SynchronizerShiftReg_w32_d3_io_d = {_T_580,_T_565}; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@276468.4]
endmodule
module TLMonitor_76( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276547.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276548.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276549.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@276550.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@277677.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@276577.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@276578.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@276579.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@276580.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@276580.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276581.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276583.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@276584.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@276586.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276587.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@276588.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@276589.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276590.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@276592.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276593.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@276595.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276596.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@276597.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@276598.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276599.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276600.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@276601.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276602.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@276604.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276605.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276606.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@276607.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276609.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@276610.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276611.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@276612.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@276613.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276637.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276640.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276641.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@276642.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@276643.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276644.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276649.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276670.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276671.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276677.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276678.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276683.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276685.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276686.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@276691.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276692.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276694.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276695.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@276700.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276702.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276703.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276709.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276763.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276765.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276766.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276789.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@276792.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@276800.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276803.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276804.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276823.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276825.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276826.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276831.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276833.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276834.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276848.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276899.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276941.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276942.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@276943.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276945.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276946.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276952.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@276983.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276985.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276986.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277000.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@277031.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277033.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277034.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277048.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277098.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@277100.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@277101.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277118.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277127.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277129.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277130.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277160.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277218.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277408.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277417.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277418.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277419.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277420.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277421.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277432.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277433.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277434.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277435.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277436.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277437.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277438.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277440.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277442.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277443.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277448.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277450.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277451.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277456.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277458.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277459.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277464.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277466.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277467.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277472.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277474.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277475.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@277482.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277490.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277498.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277499.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277500.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277501.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277502.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277513.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277515.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277516.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277519.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277520.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277522.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277524.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277525.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277538.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277540.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277541.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277546.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277548.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277549.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@277572.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277581.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277591.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277592.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277593.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277594.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277595.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277614.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277615.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277616.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277617.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277618.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277633.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@277636.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@277638.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@277639.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277640.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277642.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277643.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@277635.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277654.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@277656.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@277657.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@277659.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@277661.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@277662.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@277663.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277665.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277666.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@277658.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277672.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@277673.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@277674.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277676.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@277679.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277680.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@277681.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277682.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@277683.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@277684.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@277686.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@277687.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@277693.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277697.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276651.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276723.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276806.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276865.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276916.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276966.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277014.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277062.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277132.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277173.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277231.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@277677.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@276577.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@276578.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@276579.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@276580.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@276580.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@276581.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276583.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@276584.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@276586.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@276587.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@276588.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@276589.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276590.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@276592.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276593.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@276595.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276596.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@276597.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@276598.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@276599.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276600.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@276601.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276602.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276603.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@276604.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276605.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276606.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@276607.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276608.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276609.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@276610.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@276611.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@276612.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@276613.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@276614.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276637.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@276640.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@276641.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@276642.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@276643.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@276644.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276649.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276670.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276671.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276677.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276678.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276683.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276685.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276686.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@276691.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276692.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276694.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276695.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@276700.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276702.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276703.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276709.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276763.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276765.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276766.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276789.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@276792.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@276800.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276803.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276804.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276823.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276825.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276826.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@276831.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276833.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276834.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276848.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276899.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@276941.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@276942.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@276943.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276945.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276946.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@276952.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@276983.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276985.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276986.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277000.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@277031.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277033.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277034.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277048.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@277098.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@277100.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@277101.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277118.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277127.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277129.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277130.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277160.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277218.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277408.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277418.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277419.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277420.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277421.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277437.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277438.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277440.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277442.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277443.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277448.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277450.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277451.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277456.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277458.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277459.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277464.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277466.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277467.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277472.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277474.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277475.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@277482.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277490.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277499.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277500.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277501.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277502.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@277519.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277520.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277522.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277524.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277525.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277538.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277540.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277541.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@277546.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277548.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277549.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@277572.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277592.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277593.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277594.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277595.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277615.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277616.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@277617.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277618.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277633.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@277636.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@277638.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@277639.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277640.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277642.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277643.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@277635.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277654.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@277656.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@277657.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@277659.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@277661.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@277662.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@277663.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277665.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277666.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@277658.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277672.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@277673.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@277674.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@277679.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277680.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@277681.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277682.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@277683.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@277684.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@277686.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@277687.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@277693.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@277697.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276651.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276723.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276806.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276865.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276916.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276966.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277014.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277062.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277132.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277173.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277231.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_514 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_527 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_529 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_531 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_533 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_535 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_569 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_582 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_586 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_588 = _RAND_9[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {2{`RANDOM}};
  _T_622 = _RAND_10[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_633 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_654 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_697 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_514 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_518) begin
          _T_514 <= 1'h0;
        end else begin
          _T_514 <= _T_517;
        end
      end
    end
    if (_T_559) begin
      _T_527 <= io_in_a_bits_opcode;
    end
    if (_T_559) begin
      _T_529 <= io_in_a_bits_param;
    end
    if (_T_559) begin
      _T_531 <= io_in_a_bits_size;
    end
    if (_T_559) begin
      _T_533 <= io_in_a_bits_source;
    end
    if (_T_559) begin
      _T_535 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_569 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_573) begin
          _T_569 <= 1'h0;
        end else begin
          _T_569 <= _T_572;
        end
      end
    end
    if (_T_620) begin
      _T_582 <= io_in_d_bits_opcode;
    end
    if (_T_620) begin
      _T_586 <= io_in_d_bits_size;
    end
    if (_T_620) begin
      _T_588 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_622 <= 64'h0;
    end else begin
      _T_622 <= _T_695;
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_654 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_658) begin
          _T_654 <= 1'h0;
        end else begin
          _T_654 <= _T_657;
        end
      end
    end
    if (reset) begin
      _T_697 <= 32'h0;
    end else begin
      if (_T_711) begin
        _T_697 <= 32'h0;
      end else begin
        _T_697 <= _T_708;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@276562.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@276563.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@276634.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@276635.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276651.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276652.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276658.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276659.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276665.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276666.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276673.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276674.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276680.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276681.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276688.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276689.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276697.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276698.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276705.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276706.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276723.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276724.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276730.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276731.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276737.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276738.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276745.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276746.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276752.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276753.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276760.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276761.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276768.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276769.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276777.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276778.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276785.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276786.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276806.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276807.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276813.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276814.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276820.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276821.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276828.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276829.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276836.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276837.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276844.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276845.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276865.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276866.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276872.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276873.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276879.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276880.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276887.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276888.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276895.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276896.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276916.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276917.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276923.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276924.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276930.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276931.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276938.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276939.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276948.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276949.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276966.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276967.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276973.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276974.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276980.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276981.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276988.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276989.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276996.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@276997.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277014.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277015.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277021.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277022.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277028.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277029.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277036.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277037.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277044.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277045.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277062.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277063.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277069.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277070.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277076.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277077.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277084.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277085.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277092.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277093.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@277103.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@277104.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277124.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277125.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277132.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277133.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277140.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277141.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277148.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277149.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277156.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277157.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277166.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277167.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277173.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277174.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277181.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277182.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277189.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277190.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277197.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277198.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277205.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277206.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277214.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277215.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277224.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277225.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277231.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277232.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277239.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277240.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277247.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277248.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277255.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277256.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277264.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277265.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277273.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277274.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277283.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277284.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277291.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277292.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277299.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277300.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277308.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277309.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277318.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277319.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277326.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277327.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277335.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277336.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277344.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277345.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277354.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277355.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277362.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277363.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277370.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277371.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277379.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277380.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277389.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277390.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277397.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277398.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277405.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277406.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277445.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277446.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277453.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277454.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277461.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277462.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277469.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277470.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277477.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277478.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277527.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277528.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277535.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277536.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277543.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277544.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277551.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277552.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277559.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277560.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277567.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@277568.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277645.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277646.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277668.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@277669.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_706) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@277689.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_706) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@277690.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_26( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277702.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277703.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277704.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277705.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
  TLMonitor_76 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@277712.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@277752.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@277752.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@277752.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@277752.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@277752.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@277752.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@277751.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@277751.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@277751.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@277751.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@277751.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@277751.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@277751.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@277751.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@277751.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@277751.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277714.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@277715.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@277748.4]
endmodule
module IntSyncCrossingSource_13( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278475.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278476.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278477.4]
  input   auto_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  input   auto_in_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
  output  auto_out_sync_31 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278478.4]
);
  wire  AsyncResetRegVec_w32_i0_clock; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@278520.4]
  wire  AsyncResetRegVec_w32_i0_reset; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@278520.4]
  wire [31:0] AsyncResetRegVec_w32_i0_io_d; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@278520.4]
  wire [31:0] AsyncResetRegVec_w32_i0_io_q; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@278520.4]
  wire  AsyncResetRegVec_w32_i0_io_en; // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@278520.4]
  wire [1:0] _T_389; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278489.4]
  wire [1:0] _T_390; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278490.4]
  wire [3:0] _T_391; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278491.4]
  wire [1:0] _T_392; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278492.4]
  wire [1:0] _T_393; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278493.4]
  wire [3:0] _T_394; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278494.4]
  wire [7:0] _T_395; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278495.4]
  wire [1:0] _T_396; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278496.4]
  wire [1:0] _T_397; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278497.4]
  wire [3:0] _T_398; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278498.4]
  wire [1:0] _T_399; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278499.4]
  wire [1:0] _T_400; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278500.4]
  wire [3:0] _T_401; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278501.4]
  wire [7:0] _T_402; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278502.4]
  wire [15:0] _T_403; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278503.4]
  wire [1:0] _T_404; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278504.4]
  wire [1:0] _T_405; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278505.4]
  wire [3:0] _T_406; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278506.4]
  wire [1:0] _T_407; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278507.4]
  wire [1:0] _T_408; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278508.4]
  wire [3:0] _T_409; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278509.4]
  wire [7:0] _T_410; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278510.4]
  wire [1:0] _T_411; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278511.4]
  wire [1:0] _T_412; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278512.4]
  wire [3:0] _T_413; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278513.4]
  wire [1:0] _T_414; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278514.4]
  wire [1:0] _T_415; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278515.4]
  wire [3:0] _T_416; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278516.4]
  wire [7:0] _T_417; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278517.4]
  wire [15:0] _T_418; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278518.4]
  AsyncResetRegVec_w32_i0 AsyncResetRegVec_w32_i0 ( // @[AsyncResetReg.scala 97:21:shc.marmotcaravel.MarmotCaravelConfig.fir@278520.4]
    .clock(AsyncResetRegVec_w32_i0_clock),
    .reset(AsyncResetRegVec_w32_i0_reset),
    .io_d(AsyncResetRegVec_w32_i0_io_d),
    .io_q(AsyncResetRegVec_w32_i0_io_q),
    .io_en(AsyncResetRegVec_w32_i0_io_en)
  );
  assign _T_389 = {auto_in_1,auto_in_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278489.4]
  assign _T_390 = {auto_in_3,auto_in_2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278490.4]
  assign _T_391 = {_T_390,_T_389}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278491.4]
  assign _T_392 = {auto_in_5,auto_in_4}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278492.4]
  assign _T_393 = {auto_in_7,auto_in_6}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278493.4]
  assign _T_394 = {_T_393,_T_392}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278494.4]
  assign _T_395 = {_T_394,_T_391}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278495.4]
  assign _T_396 = {auto_in_9,auto_in_8}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278496.4]
  assign _T_397 = {auto_in_11,auto_in_10}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278497.4]
  assign _T_398 = {_T_397,_T_396}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278498.4]
  assign _T_399 = {auto_in_13,auto_in_12}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278499.4]
  assign _T_400 = {auto_in_15,auto_in_14}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278500.4]
  assign _T_401 = {_T_400,_T_399}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278501.4]
  assign _T_402 = {_T_401,_T_398}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278502.4]
  assign _T_403 = {_T_402,_T_395}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278503.4]
  assign _T_404 = {auto_in_17,auto_in_16}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278504.4]
  assign _T_405 = {auto_in_19,auto_in_18}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278505.4]
  assign _T_406 = {_T_405,_T_404}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278506.4]
  assign _T_407 = {auto_in_21,auto_in_20}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278507.4]
  assign _T_408 = {auto_in_23,auto_in_22}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278508.4]
  assign _T_409 = {_T_408,_T_407}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278509.4]
  assign _T_410 = {_T_409,_T_406}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278510.4]
  assign _T_411 = {auto_in_25,auto_in_24}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278511.4]
  assign _T_412 = {auto_in_27,auto_in_26}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278512.4]
  assign _T_413 = {_T_412,_T_411}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278513.4]
  assign _T_414 = {auto_in_29,auto_in_28}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278514.4]
  assign _T_415 = {auto_in_31,auto_in_30}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278515.4]
  assign _T_416 = {_T_415,_T_414}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278516.4]
  assign _T_417 = {_T_416,_T_413}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278517.4]
  assign _T_418 = {_T_417,_T_410}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278518.4]
  assign auto_out_sync_0 = AsyncResetRegVec_w32_i0_io_q[0]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_1 = AsyncResetRegVec_w32_i0_io_q[1]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_2 = AsyncResetRegVec_w32_i0_io_q[2]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_3 = AsyncResetRegVec_w32_i0_io_q[3]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_4 = AsyncResetRegVec_w32_i0_io_q[4]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_5 = AsyncResetRegVec_w32_i0_io_q[5]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_6 = AsyncResetRegVec_w32_i0_io_q[6]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_7 = AsyncResetRegVec_w32_i0_io_q[7]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_8 = AsyncResetRegVec_w32_i0_io_q[8]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_9 = AsyncResetRegVec_w32_i0_io_q[9]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_10 = AsyncResetRegVec_w32_i0_io_q[10]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_11 = AsyncResetRegVec_w32_i0_io_q[11]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_12 = AsyncResetRegVec_w32_i0_io_q[12]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_13 = AsyncResetRegVec_w32_i0_io_q[13]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_14 = AsyncResetRegVec_w32_i0_io_q[14]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_15 = AsyncResetRegVec_w32_i0_io_q[15]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_16 = AsyncResetRegVec_w32_i0_io_q[16]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_17 = AsyncResetRegVec_w32_i0_io_q[17]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_18 = AsyncResetRegVec_w32_i0_io_q[18]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_19 = AsyncResetRegVec_w32_i0_io_q[19]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_20 = AsyncResetRegVec_w32_i0_io_q[20]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_21 = AsyncResetRegVec_w32_i0_io_q[21]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_22 = AsyncResetRegVec_w32_i0_io_q[22]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_23 = AsyncResetRegVec_w32_i0_io_q[23]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_24 = AsyncResetRegVec_w32_i0_io_q[24]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_25 = AsyncResetRegVec_w32_i0_io_q[25]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_26 = AsyncResetRegVec_w32_i0_io_q[26]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_27 = AsyncResetRegVec_w32_i0_io_q[27]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_28 = AsyncResetRegVec_w32_i0_io_q[28]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_29 = AsyncResetRegVec_w32_i0_io_q[29]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_30 = AsyncResetRegVec_w32_i0_io_q[30]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign auto_out_sync_31 = AsyncResetRegVec_w32_i0_io_q[31]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278487.4]
  assign AsyncResetRegVec_w32_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278522.4]
  assign AsyncResetRegVec_w32_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278523.4]
  assign AsyncResetRegVec_w32_i0_io_d = {_T_418,_T_403}; // @[AsyncResetReg.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278524.4]
  assign AsyncResetRegVec_w32_i0_io_en = 1'h1; // @[AsyncResetReg.scala 100:15:shc.marmotcaravel.MarmotCaravelConfig.fir@278525.4]
endmodule
module TLMonitor_77( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278598.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278599.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278600.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@278601.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@279728.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@278628.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@278629.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@278630.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@278631.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@278631.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278632.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278634.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@278635.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@278637.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@278638.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@278639.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@278640.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@278641.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@278643.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@278644.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@278646.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@278647.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@278648.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@278649.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@278650.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@278651.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@278652.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@278653.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@278654.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@278655.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@278656.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@278657.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@278658.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@278659.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@278660.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@278661.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@278662.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278663.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278664.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278665.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@278688.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@278691.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278692.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@278693.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@278694.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@278695.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278700.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278721.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278722.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278728.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278729.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@278734.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278736.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278737.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@278742.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@278743.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278745.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278746.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@278751.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278753.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278754.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@278760.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@278814.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278816.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278817.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@278840.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@278843.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@278851.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278854.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278855.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@278874.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278876.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278877.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@278882.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278884.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278885.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@278899.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@278950.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@278992.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@278993.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@278994.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278996.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278997.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279003.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@279034.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279036.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279037.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279051.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@279082.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279084.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279085.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279099.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@279149.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@279151.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@279152.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279169.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279178.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279180.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279181.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279211.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279269.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279468.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279469.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279470.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279471.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279472.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279483.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279484.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279485.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279486.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279487.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279488.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@279489.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279491.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279494.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279499.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279501.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279502.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279507.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279509.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279510.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279515.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279517.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279518.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279523.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279525.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279526.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@279533.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279541.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279549.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279550.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279551.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279552.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279553.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279564.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279566.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279567.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279570.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@279571.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279573.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279575.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279576.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279589.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279591.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279592.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279597.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279599.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279600.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@279623.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279632.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279642.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279643.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279644.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279645.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279646.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279665.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279666.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279667.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279668.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279669.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279684.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@279687.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@279689.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@279690.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279691.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279693.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279694.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@279686.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279705.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@279707.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@279708.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@279710.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@279712.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@279713.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@279714.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279716.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279717.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@279709.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279723.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@279724.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@279725.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279727.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@279730.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279731.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@279732.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279733.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@279734.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279735.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@279737.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@279738.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@279744.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279748.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278702.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278774.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278857.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278916.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278967.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279017.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279065.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279113.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279183.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279224.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279282.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@279728.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@278628.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@278629.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@278630.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@278631.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@278631.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@278632.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278634.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@278635.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@278637.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@278638.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@278639.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@278640.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@278641.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@278643.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@278644.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@278646.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@278647.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@278648.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@278649.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@278650.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@278651.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@278652.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@278653.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@278654.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@278655.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@278656.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@278657.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@278658.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@278659.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@278660.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@278661.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@278662.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278663.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278664.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@278665.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@278688.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10012000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@278691.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@278692.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@278693.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@278694.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@278695.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278700.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278721.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278722.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278728.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278729.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@278734.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278736.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278737.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@278742.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@278743.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278745.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278746.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@278751.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278753.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278754.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@278760.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@278814.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278816.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278817.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@278840.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@278843.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@278851.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278854.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278855.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@278874.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278876.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278877.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@278882.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278884.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278885.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@278899.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@278950.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@278992.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@278993.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@278994.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278996.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278997.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279003.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@279034.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279036.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279037.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279051.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@279082.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279084.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279085.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279099.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@279149.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@279151.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@279152.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279169.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279178.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279180.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279181.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279211.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279269.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279459.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279469.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279470.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279471.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279472.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279488.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@279489.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279491.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279493.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279494.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279499.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279501.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279502.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279507.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279509.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279510.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279515.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279517.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279518.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279523.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279525.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279526.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@279533.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279541.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279550.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279551.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279552.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279553.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@279570.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@279571.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279573.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279575.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279576.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279589.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279591.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279592.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@279597.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279599.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279600.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@279623.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279643.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279644.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279645.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279646.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279666.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279667.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@279668.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@279669.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279684.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@279687.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@279689.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@279690.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279691.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279693.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279694.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@279686.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279705.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@279707.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@279708.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@279710.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@279712.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@279713.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@279714.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279716.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279717.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@279709.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279723.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@279724.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@279725.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@279730.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279731.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@279732.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279733.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@279734.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@279735.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@279737.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@279738.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@279744.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@279748.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278702.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278774.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278857.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278916.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278967.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279017.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279065.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279113.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279183.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279224.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279282.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_514 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_527 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_529 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_531 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_533 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_535 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_569 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_582 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_586 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_588 = _RAND_9[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {2{`RANDOM}};
  _T_622 = _RAND_10[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_633 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_654 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_697 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_514 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_518) begin
          _T_514 <= 1'h0;
        end else begin
          _T_514 <= _T_517;
        end
      end
    end
    if (_T_559) begin
      _T_527 <= io_in_a_bits_opcode;
    end
    if (_T_559) begin
      _T_529 <= io_in_a_bits_param;
    end
    if (_T_559) begin
      _T_531 <= io_in_a_bits_size;
    end
    if (_T_559) begin
      _T_533 <= io_in_a_bits_source;
    end
    if (_T_559) begin
      _T_535 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_569 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_573) begin
          _T_569 <= 1'h0;
        end else begin
          _T_569 <= _T_572;
        end
      end
    end
    if (_T_620) begin
      _T_582 <= io_in_d_bits_opcode;
    end
    if (_T_620) begin
      _T_586 <= io_in_d_bits_size;
    end
    if (_T_620) begin
      _T_588 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_622 <= 64'h0;
    end else begin
      _T_622 <= _T_695;
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_654 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_658) begin
          _T_654 <= 1'h0;
        end else begin
          _T_654 <= _T_657;
        end
      end
    end
    if (reset) begin
      _T_697 <= 32'h0;
    end else begin
      if (_T_711) begin
        _T_697 <= 32'h0;
      end else begin
        _T_697 <= _T_708;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@278613.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@278614.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@278685.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@278686.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278702.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278703.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278709.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278710.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278716.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278717.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278724.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278725.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278731.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278732.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278739.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278740.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278748.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278749.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278756.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278757.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278774.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278775.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278781.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278782.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278788.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278789.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278796.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278797.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278803.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278804.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278811.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278812.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278819.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278820.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278828.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278829.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278836.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278837.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278857.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278858.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278864.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278865.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278871.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278872.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278879.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278880.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278887.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278888.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278895.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278896.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278916.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278917.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278923.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278924.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278930.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278931.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278938.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278939.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278946.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278947.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278967.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278968.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278974.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278975.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278981.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278982.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278989.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278990.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@278999.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279000.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279017.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279018.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279024.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279025.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279031.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279032.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279039.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279040.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279047.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279048.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279065.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279066.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279072.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279073.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279079.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279080.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279087.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279088.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279095.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279096.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279113.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279114.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279120.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279121.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279127.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279128.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279135.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279136.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279143.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279144.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@279154.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@279155.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279175.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279176.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279183.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279184.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279191.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279192.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279199.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279200.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279207.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279208.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279217.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279218.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279224.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279225.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279232.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279233.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279240.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279241.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279248.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279249.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279256.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279257.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279265.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279266.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279275.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279276.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279282.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279283.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279290.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279291.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279298.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279299.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279306.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279307.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279315.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279316.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279324.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279325.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279334.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279335.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279342.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279343.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279350.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279351.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279359.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279360.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279369.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279370.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279377.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279378.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279386.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279387.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279395.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279396.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279405.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279406.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279413.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279414.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279421.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279422.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279430.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279431.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279440.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279441.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279448.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279449.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279456.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279457.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279496.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279497.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279504.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279505.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279512.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279513.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279520.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279521.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279528.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279529.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279578.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279579.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279586.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279587.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279594.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279595.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279602.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279603.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279610.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279611.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279618.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@279619.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279696.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279697.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279719.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@279720.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_706) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@279740.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_706) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@279741.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLGPIO( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282621.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282622.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282623.4]
  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_int_xing_out_sync_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_pins_0_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_0_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_0_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_0_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_pins_1_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_1_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_1_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_1_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_pins_2_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_2_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_2_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_2_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_pins_3_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_3_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_3_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_3_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_pins_4_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_4_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_4_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_4_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_pins_5_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_5_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_5_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_5_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_pins_6_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_6_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_6_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_6_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_pins_7_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_7_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_7_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_7_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_pins_8_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_8_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_8_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_8_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_pins_9_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_9_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_9_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_9_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_pins_10_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_10_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_10_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_10_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_pins_11_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_11_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_11_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_11_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_pins_12_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_12_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_12_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_12_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_pins_13_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_13_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_13_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_13_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_pins_14_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_14_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_14_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_14_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_pins_15_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_15_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_15_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_15_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_pins_16_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_16_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_16_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_16_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_pins_17_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_17_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_17_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_17_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_pins_18_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_18_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_18_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_18_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_pins_19_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_19_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_19_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_19_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_pins_20_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_20_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_20_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_20_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_pins_21_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_21_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_21_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_21_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_pins_22_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_22_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_22_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_22_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_pins_23_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_23_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_23_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_23_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_pins_24_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_24_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_24_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_pins_24_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_0_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_1_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_iof_0_2_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_2_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_2_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_2_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_iof_0_3_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_3_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_3_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_3_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_iof_0_4_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_4_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_4_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_4_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_iof_0_5_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_5_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_5_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_5_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_6_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_7_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_iof_0_8_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_8_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_8_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_8_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_iof_0_9_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_9_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_9_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_9_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_iof_0_10_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_10_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_10_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_10_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_iof_0_11_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_11_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_11_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_11_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_iof_0_12_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_12_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_iof_0_13_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_13_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_iof_0_14_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_14_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_iof_0_15_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_15_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_iof_0_16_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_17_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_iof_0_18_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_19_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_iof_0_20_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_21_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  output        auto_io_out_iof_0_22_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_23_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
  input         auto_io_out_iof_0_24_o_oval // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282624.4]
);
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_1; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_2; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_3; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_4; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_5; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_6; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_7; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_8; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_9; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_10; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_11; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_12; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_13; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_14; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_15; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_16; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_17; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_18; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_19; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_20; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_21; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_22; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_23; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_24; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_25; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_26; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_27; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_28; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_29; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_30; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_in_31; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_1; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_2; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_3; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_4; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_5; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_6; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_7; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_8; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_9; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_10; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_11; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_12; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_13; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_14; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_15; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_16; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_17; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_18; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_19; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_20; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_21; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_22; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_23; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_24; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_25; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_26; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_27; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_28; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_29; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_30; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  intsource_auto_out_sync_31; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
  wire  oeReg_clock; // @[GPIO.scala 60:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282702.4]
  wire  oeReg_reset; // @[GPIO.scala 60:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282702.4]
  wire [31:0] oeReg_io_d; // @[GPIO.scala 60:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282702.4]
  wire [31:0] oeReg_io_q; // @[GPIO.scala 60:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282702.4]
  wire  oeReg_io_en; // @[GPIO.scala 60:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282702.4]
  wire  pueReg_clock; // @[GPIO.scala 61:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282706.4]
  wire  pueReg_reset; // @[GPIO.scala 61:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282706.4]
  wire [31:0] pueReg_io_d; // @[GPIO.scala 61:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282706.4]
  wire [31:0] pueReg_io_q; // @[GPIO.scala 61:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282706.4]
  wire  pueReg_io_en; // @[GPIO.scala 61:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282706.4]
  wire  ieReg_clock; // @[GPIO.scala 63:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282711.4]
  wire  ieReg_reset; // @[GPIO.scala 63:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282711.4]
  wire [31:0] ieReg_io_d; // @[GPIO.scala 63:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282711.4]
  wire [31:0] ieReg_io_q; // @[GPIO.scala 63:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282711.4]
  wire  ieReg_io_en; // @[GPIO.scala 63:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282711.4]
  wire  inSyncReg_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@282783.4]
  wire [31:0] inSyncReg_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@282783.4]
  wire [31:0] inSyncReg_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@282783.4]
  wire  iofEnReg_clock; // @[GPIO.scala 82:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282801.4]
  wire  iofEnReg_reset; // @[GPIO.scala 82:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282801.4]
  wire [31:0] iofEnReg_io_d; // @[GPIO.scala 82:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282801.4]
  wire [31:0] iofEnReg_io_q; // @[GPIO.scala 82:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282801.4]
  wire  iofEnReg_io_en; // @[GPIO.scala 82:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282801.4]
  reg [31:0] portReg; // @[GPIO.scala 58:20:shc.marmotcaravel.MarmotCaravelConfig.fir@282701.4]
  reg [31:0] _RAND_0;
  reg [31:0] dsReg; // @[GPIO.scala 62:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282710.4]
  reg [31:0] _RAND_1;
  wire [1:0] _T_3062; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282751.4]
  wire [1:0] _T_3063; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282752.4]
  wire [3:0] _T_3064; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282753.4]
  wire [1:0] _T_3065; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282754.4]
  wire [1:0] _T_3066; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282755.4]
  wire [3:0] _T_3067; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282756.4]
  wire [7:0] _T_3068; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282757.4]
  wire [1:0] _T_3069; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282758.4]
  wire [1:0] _T_3070; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282759.4]
  wire [3:0] _T_3071; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282760.4]
  wire [1:0] _T_3072; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282761.4]
  wire [1:0] _T_3073; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282762.4]
  wire [3:0] _T_3074; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282763.4]
  wire [7:0] _T_3075; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282764.4]
  wire [15:0] _T_3076; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282765.4]
  wire [1:0] _T_3077; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282766.4]
  wire [1:0] _T_3078; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282767.4]
  wire [3:0] _T_3079; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282768.4]
  wire [1:0] _T_3080; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282769.4]
  wire [1:0] _T_3081; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282770.4]
  wire [3:0] _T_3082; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282771.4]
  wire [7:0] _T_3083; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282772.4]
  wire [1:0] _T_3084; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282773.4]
  wire [3:0] _T_3086; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282775.4]
  wire [7:0] _T_3090; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282779.4]
  wire [15:0] _T_3091; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282780.4]
  reg [31:0] valueReg; // @[GPIO.scala 69:23:shc.marmotcaravel.MarmotCaravelConfig.fir@282791.4]
  reg [31:0] _RAND_2;
  reg [31:0] highIeReg; // @[GPIO.scala 72:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282793.4]
  reg [31:0] _RAND_3;
  reg [31:0] lowIeReg; // @[GPIO.scala 73:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282794.4]
  reg [31:0] _RAND_4;
  reg [31:0] riseIeReg; // @[GPIO.scala 74:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282795.4]
  reg [31:0] _RAND_5;
  reg [31:0] fallIeReg; // @[GPIO.scala 75:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282796.4]
  reg [31:0] _RAND_6;
  reg [31:0] highIpReg; // @[GPIO.scala 76:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282797.4]
  reg [31:0] _RAND_7;
  reg [31:0] lowIpReg; // @[GPIO.scala 77:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282798.4]
  reg [31:0] _RAND_8;
  reg [31:0] riseIpReg; // @[GPIO.scala 78:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282799.4]
  reg [31:0] _RAND_9;
  reg [31:0] fallIpReg; // @[GPIO.scala 79:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282800.4]
  reg [31:0] _RAND_10;
  reg [31:0] iofSelReg; // @[GPIO.scala 83:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282805.4]
  reg [31:0] _RAND_11;
  reg [31:0] xorReg; // @[GPIO.scala 86:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282806.4]
  reg [31:0] _RAND_12;
  wire [31:0] _T_3105; // @[GPIO.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282807.4]
  wire [31:0] inSyncReg_1; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282788.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282790.4]
  wire [31:0] rise; // @[GPIO.scala 92:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282808.4]
  wire [31:0] _T_3106; // @[GPIO.scala 93:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282809.4]
  wire [31:0] fall; // @[GPIO.scala 93:23:shc.marmotcaravel.MarmotCaravelConfig.fir@282810.4]
  wire [2:0] _T_1699_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
  wire  _T_3115; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@282814.4]
  wire [28:0] _T_1699_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
  wire [26:0] _T_3116; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@282816.4]
  wire [5:0] _T_1699_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
  wire [1:0] _T_1699_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
  wire [7:0] _T_3117; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282820.4]
  wire [9:0] _T_3112_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@282812.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282817.4]
  wire [9:0] _T_3133; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282828.4]
  wire  _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282830.4]
  wire [3:0] _T_1699_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
  wire  _T_3261; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@282872.4]
  wire  _T_3262; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@282873.4]
  wire  _T_3263; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@282874.4]
  wire  _T_3264; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@282875.4]
  wire [7:0] _T_3266; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282877.4]
  wire [7:0] _T_3268; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282879.4]
  wire [7:0] _T_3270; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282881.4]
  wire [7:0] _T_3272; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282883.4]
  wire [15:0] _T_3273; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282884.4]
  wire [15:0] _T_3274; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282885.4]
  wire [31:0] _T_3275; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282886.4]
  wire [31:0] _T_3294; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282905.4]
  wire  _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282906.4]
  wire  _T_1699_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
  wire  _T_1699_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
  wire  _T_3754; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283401.4]
  wire  _T_3753; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283400.4]
  wire [1:0] _T_3761; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283408.4]
  wire  _T_3752; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283399.4]
  wire [2:0] _T_3762; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283409.4]
  wire  _T_3751; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283398.4]
  wire  _T_3750; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283397.4]
  wire [1:0] _T_3760; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283407.4]
  wire [4:0] _T_3763; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283410.4]
  wire  _T_3830; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283477.4]
  wire [31:0] _T_3764; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@283411.4]
  wire  _T_4066; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283757.4]
  wire  _T_4067; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283758.4]
  wire [31:0] _T_1699_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
  wire  _T_3770; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283417.4]
  wire  _T_4100; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283801.4]
  wire  _T_4101; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283802.4]
  wire  _T_3328; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282939.4]
  wire  _T_3775; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283422.4]
  wire  _T_4130; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283841.4]
  wire  _T_4131; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283842.4]
  wire  _T_3353; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282967.4]
  wire  _T_3779; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283426.4]
  wire  _T_4154; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283873.4]
  wire  _T_4155; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283874.4]
  wire [31:0] _T_3389; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283008.4]
  wire  _T_3766; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283413.4]
  wire  _T_4076; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283769.4]
  wire  _T_4077; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283770.4]
  wire [31:0] _T_3414; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283035.4]
  wire  _T_3771; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283418.4]
  wire  _T_4106; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283809.4]
  wire  _T_4107; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283810.4]
  wire  _T_3428; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283049.4]
  wire  _T_3774; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283421.4]
  wire  _T_4124; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283833.4]
  wire  _T_4125; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283834.4]
  wire  _T_3453; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283077.4]
  wire [31:0] _T_3456; // @[RegField.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@283080.4]
  wire [31:0] _T_3457; // @[RegField.scala 187:71:shc.marmotcaravel.MarmotCaravelConfig.fir@283081.4]
  wire [31:0] _T_3458; // @[RegField.scala 187:66:shc.marmotcaravel.MarmotCaravelConfig.fir@283082.4]
  wire [31:0] _T_3459; // @[RegField.scala 187:59:shc.marmotcaravel.MarmotCaravelConfig.fir@283083.4]
  wire [31:0] _T_3460; // @[RegField.scala 187:95:shc.marmotcaravel.MarmotCaravelConfig.fir@283084.4]
  wire  _T_3778; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283425.4]
  wire  _T_4148; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283865.4]
  wire  _T_4149; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283866.4]
  wire  _T_3483; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283108.4]
  wire [31:0] _T_3486; // @[RegField.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@283111.4]
  wire [31:0] _T_3487; // @[RegField.scala 187:71:shc.marmotcaravel.MarmotCaravelConfig.fir@283112.4]
  wire [31:0] _T_3488; // @[RegField.scala 187:66:shc.marmotcaravel.MarmotCaravelConfig.fir@283113.4]
  wire [31:0] _T_3489; // @[RegField.scala 187:59:shc.marmotcaravel.MarmotCaravelConfig.fir@283114.4]
  wire [31:0] _T_3490; // @[RegField.scala 187:95:shc.marmotcaravel.MarmotCaravelConfig.fir@283115.4]
  wire  _T_3767; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283414.4]
  wire  _T_4082; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283777.4]
  wire  _T_4083; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283778.4]
  wire [31:0] _T_3524; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283152.4]
  wire  _T_3777; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283424.4]
  wire  _T_4142; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283857.4]
  wire  _T_4143; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283858.4]
  wire  _T_3538; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283166.4]
  wire  _T_3772; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283419.4]
  wire  _T_4112; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283817.4]
  wire  _T_4113; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283818.4]
  wire  _T_3563; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283194.4]
  wire [31:0] _T_3566; // @[RegField.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@283197.4]
  wire [31:0] _T_3567; // @[RegField.scala 187:71:shc.marmotcaravel.MarmotCaravelConfig.fir@283198.4]
  wire [31:0] _T_3568; // @[RegField.scala 187:66:shc.marmotcaravel.MarmotCaravelConfig.fir@283199.4]
  wire [31:0] _T_3569; // @[RegField.scala 187:59:shc.marmotcaravel.MarmotCaravelConfig.fir@283200.4]
  wire [31:0] _T_3570; // @[RegField.scala 187:95:shc.marmotcaravel.MarmotCaravelConfig.fir@283201.4]
  wire  _T_3768; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283415.4]
  wire  _T_4088; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283785.4]
  wire  _T_4089; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283786.4]
  wire  _T_3593; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283225.4]
  wire  _T_3781; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283428.4]
  wire  _T_4166; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283889.4]
  wire  _T_4167; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283890.4]
  wire  _T_3618; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283253.4]
  wire  _T_3776; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283423.4]
  wire  _T_4136; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283849.4]
  wire  _T_4137; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283850.4]
  wire  _T_3643; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283281.4]
  wire [31:0] _T_3646; // @[RegField.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@283284.4]
  wire [31:0] _T_3647; // @[RegField.scala 187:71:shc.marmotcaravel.MarmotCaravelConfig.fir@283285.4]
  wire [31:0] _T_3648; // @[RegField.scala 187:66:shc.marmotcaravel.MarmotCaravelConfig.fir@283286.4]
  wire [31:0] _T_3649; // @[RegField.scala 187:59:shc.marmotcaravel.MarmotCaravelConfig.fir@283287.4]
  wire [31:0] _T_3650; // @[RegField.scala 187:95:shc.marmotcaravel.MarmotCaravelConfig.fir@283288.4]
  wire  _T_3773; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283420.4]
  wire  _T_4118; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283825.4]
  wire  _T_4119; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283826.4]
  wire  _T_3673; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283312.4]
  wire  _T_3769; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283416.4]
  wire  _T_4094; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283793.4]
  wire  _T_4095; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283794.4]
  wire [31:0] _T_3709; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283353.4]
  wire  _T_3780; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283427.4]
  wire  _T_4160; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283881.4]
  wire  _T_4161; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283882.4]
  wire  _T_3723; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283367.4]
  wire  _GEN_137; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_138; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_139; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_140; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_141; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_142; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_143; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_144; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_145; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_146; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_147; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_148; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_149; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_150; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_151; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_152; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_153; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_154; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_155; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_156; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_157; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_158; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_159; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_160; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_161; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_162; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_163; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_164; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_165; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire  _GEN_167; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  wire [31:0] _GEN_169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_180; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_181; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_196; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_197; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire [31:0] _GEN_199; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  wire  swPinCtrl_0_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@284716.4]
  wire  swPinCtrl_0_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284718.4]
  wire  swPinCtrl_0_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284722.4]
  wire  _T_5058; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284734.4]
  wire  iofCtrl_0_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284735.4]
  wire  iofCtrl_0_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284735.4]
  wire  iofCtrl_0_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284735.4]
  wire  _T_5060; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284739.4]
  wire  _T_5061_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@284740.4]
  wire  _T_5062; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284743.4]
  wire  _T_5064; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@284746.4]
  wire  _T_5065; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284747.4]
  wire  _T_5066; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284748.4]
  wire  _T_5067; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284749.4]
  wire  _T_5068; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284750.4]
  wire  _T_5069; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284751.4]
  wire  _T_5070; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@284752.4]
  wire  _T_5071; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284753.4]
  wire  _T_5072; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284754.4]
  wire  _T_5073; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284755.4]
  wire  _T_5074; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@284756.4]
  wire  _T_5075; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@284757.4]
  wire  _T_5076; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284758.4]
  wire  _T_5077; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@284759.4]
  wire  swPinCtrl_1_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@284768.4]
  wire  swPinCtrl_1_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284770.4]
  wire  swPinCtrl_1_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284774.4]
  wire  _T_5088; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284786.4]
  wire  iofCtrl_1_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284787.4]
  wire  iofCtrl_1_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284787.4]
  wire  iofCtrl_1_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284787.4]
  wire  _T_5090; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284791.4]
  wire  _T_5091_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@284792.4]
  wire  _T_5092; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284795.4]
  wire  _T_5094; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@284798.4]
  wire  _T_5095; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284799.4]
  wire  _T_5096; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284800.4]
  wire  _T_5097; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284801.4]
  wire  _T_5098; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284802.4]
  wire  _T_5099; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284803.4]
  wire  _T_5100; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@284804.4]
  wire  _T_5101; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284805.4]
  wire  _T_5102; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284806.4]
  wire  _T_5103; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284807.4]
  wire  _T_5104; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@284808.4]
  wire  _T_5105; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@284809.4]
  wire  _T_5106; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284810.4]
  wire  _T_5107; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@284811.4]
  wire  swPinCtrl_2_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@284820.4]
  wire  swPinCtrl_2_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284822.4]
  wire  swPinCtrl_2_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284826.4]
  wire  _T_5118; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284838.4]
  wire  iofCtrl_2_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284839.4]
  wire  iofCtrl_2_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284839.4]
  wire  iofCtrl_2_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284839.4]
  wire  _T_5120; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284843.4]
  wire  _T_5121_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@284844.4]
  wire  _T_5122; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284847.4]
  wire  _T_5124; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@284850.4]
  wire  _T_5125; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284851.4]
  wire  _T_5126; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284852.4]
  wire  _T_5127; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284853.4]
  wire  _T_5128; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284854.4]
  wire  _T_5129; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284855.4]
  wire  _T_5130; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@284856.4]
  wire  _T_5131; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284857.4]
  wire  _T_5132; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284858.4]
  wire  _T_5133; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284859.4]
  wire  _T_5134; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@284860.4]
  wire  _T_5135; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@284861.4]
  wire  _T_5136; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284862.4]
  wire  _T_5137; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@284863.4]
  wire  swPinCtrl_3_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@284872.4]
  wire  swPinCtrl_3_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284874.4]
  wire  swPinCtrl_3_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284878.4]
  wire  _T_5148; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284890.4]
  wire  iofCtrl_3_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284891.4]
  wire  iofCtrl_3_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284891.4]
  wire  iofCtrl_3_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284891.4]
  wire  _T_5150; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284895.4]
  wire  _T_5151_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@284896.4]
  wire  _T_5152; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284899.4]
  wire  _T_5154; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@284902.4]
  wire  _T_5155; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284903.4]
  wire  _T_5156; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284904.4]
  wire  _T_5157; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284905.4]
  wire  _T_5158; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284906.4]
  wire  _T_5159; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284907.4]
  wire  _T_5160; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@284908.4]
  wire  _T_5161; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284909.4]
  wire  _T_5162; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284910.4]
  wire  _T_5163; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284911.4]
  wire  _T_5164; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@284912.4]
  wire  _T_5165; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@284913.4]
  wire  _T_5166; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284914.4]
  wire  _T_5167; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@284915.4]
  wire  swPinCtrl_4_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@284924.4]
  wire  swPinCtrl_4_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284926.4]
  wire  swPinCtrl_4_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284930.4]
  wire  _T_5178; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284942.4]
  wire  iofCtrl_4_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284943.4]
  wire  iofCtrl_4_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284943.4]
  wire  iofCtrl_4_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284943.4]
  wire  _T_5180; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284947.4]
  wire  _T_5181_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@284948.4]
  wire  _T_5182; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284951.4]
  wire  _T_5184; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@284954.4]
  wire  _T_5185; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284955.4]
  wire  _T_5186; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284956.4]
  wire  _T_5187; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284957.4]
  wire  _T_5188; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284958.4]
  wire  _T_5189; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284959.4]
  wire  _T_5190; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@284960.4]
  wire  _T_5191; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284961.4]
  wire  _T_5192; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284962.4]
  wire  _T_5193; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284963.4]
  wire  _T_5194; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@284964.4]
  wire  _T_5195; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@284965.4]
  wire  _T_5196; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284966.4]
  wire  _T_5197; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@284967.4]
  wire  swPinCtrl_5_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@284976.4]
  wire  swPinCtrl_5_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284978.4]
  wire  swPinCtrl_5_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284982.4]
  wire  _T_5208; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284994.4]
  wire  iofCtrl_5_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284995.4]
  wire  iofCtrl_5_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284995.4]
  wire  iofCtrl_5_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284995.4]
  wire  _T_5210; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284999.4]
  wire  _T_5211_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285000.4]
  wire  _T_5212; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285003.4]
  wire  _T_5214; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285006.4]
  wire  _T_5215; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285007.4]
  wire  _T_5216; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285008.4]
  wire  _T_5217; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285009.4]
  wire  _T_5218; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285010.4]
  wire  _T_5219; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285011.4]
  wire  _T_5220; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285012.4]
  wire  _T_5221; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285013.4]
  wire  _T_5222; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285014.4]
  wire  _T_5223; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285015.4]
  wire  _T_5224; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285016.4]
  wire  _T_5225; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285017.4]
  wire  _T_5226; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285018.4]
  wire  _T_5227; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285019.4]
  wire  swPinCtrl_6_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285028.4]
  wire  swPinCtrl_6_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285030.4]
  wire  swPinCtrl_6_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285034.4]
  wire  _T_5238; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285046.4]
  wire  iofCtrl_6_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285047.4]
  wire  iofCtrl_6_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285047.4]
  wire  iofCtrl_6_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285047.4]
  wire  _T_5240; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285051.4]
  wire  _T_5241_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285052.4]
  wire  _T_5242; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285055.4]
  wire  _T_5244; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285058.4]
  wire  _T_5245; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285059.4]
  wire  _T_5246; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285060.4]
  wire  _T_5247; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285061.4]
  wire  _T_5248; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285062.4]
  wire  _T_5249; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285063.4]
  wire  _T_5250; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285064.4]
  wire  _T_5251; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285065.4]
  wire  _T_5252; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285066.4]
  wire  _T_5253; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  wire  _T_5254; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285068.4]
  wire  _T_5255; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285069.4]
  wire  _T_5256; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285070.4]
  wire  _T_5257; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285071.4]
  wire  swPinCtrl_7_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285080.4]
  wire  swPinCtrl_7_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285082.4]
  wire  swPinCtrl_7_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285086.4]
  wire  _T_5268; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285098.4]
  wire  iofCtrl_7_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285099.4]
  wire  iofCtrl_7_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285099.4]
  wire  iofCtrl_7_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285099.4]
  wire  _T_5270; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285103.4]
  wire  _T_5271_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285104.4]
  wire  _T_5272; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285107.4]
  wire  _T_5274; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285110.4]
  wire  _T_5275; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285111.4]
  wire  _T_5276; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285112.4]
  wire  _T_5277; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285113.4]
  wire  _T_5278; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285114.4]
  wire  _T_5279; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285115.4]
  wire  _T_5280; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285116.4]
  wire  _T_5281; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285117.4]
  wire  _T_5282; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285118.4]
  wire  _T_5283; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285119.4]
  wire  _T_5284; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285120.4]
  wire  _T_5285; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285121.4]
  wire  _T_5286; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285122.4]
  wire  _T_5287; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285123.4]
  wire  swPinCtrl_8_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285132.4]
  wire  swPinCtrl_8_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285134.4]
  wire  swPinCtrl_8_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285138.4]
  wire  _T_5298; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285150.4]
  wire  iofCtrl_8_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285151.4]
  wire  iofCtrl_8_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285151.4]
  wire  iofCtrl_8_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285151.4]
  wire  _T_5300; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285155.4]
  wire  _T_5301_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285156.4]
  wire  _T_5302; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285159.4]
  wire  _T_5304; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285162.4]
  wire  _T_5305; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285163.4]
  wire  _T_5306; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285164.4]
  wire  _T_5307; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285165.4]
  wire  _T_5308; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285166.4]
  wire  _T_5309; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285167.4]
  wire  _T_5310; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285168.4]
  wire  _T_5311; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285169.4]
  wire  _T_5312; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285170.4]
  wire  _T_5313; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285171.4]
  wire  _T_5314; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285172.4]
  wire  _T_5315; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285173.4]
  wire  _T_5316; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285174.4]
  wire  _T_5317; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285175.4]
  wire  swPinCtrl_9_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285184.4]
  wire  swPinCtrl_9_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285186.4]
  wire  swPinCtrl_9_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285190.4]
  wire  _T_5328; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285202.4]
  wire  iofCtrl_9_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285203.4]
  wire  iofCtrl_9_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285203.4]
  wire  iofCtrl_9_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285203.4]
  wire  _T_5330; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285207.4]
  wire  _T_5331_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285208.4]
  wire  _T_5332; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285211.4]
  wire  _T_5334; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285214.4]
  wire  _T_5335; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285215.4]
  wire  _T_5336; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285216.4]
  wire  _T_5337; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285217.4]
  wire  _T_5338; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285218.4]
  wire  _T_5339; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285219.4]
  wire  _T_5340; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285220.4]
  wire  _T_5341; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285221.4]
  wire  _T_5342; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285222.4]
  wire  _T_5343; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285223.4]
  wire  _T_5344; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285224.4]
  wire  _T_5345; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285225.4]
  wire  _T_5346; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285226.4]
  wire  _T_5347; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285227.4]
  wire  swPinCtrl_10_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285236.4]
  wire  swPinCtrl_10_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285238.4]
  wire  swPinCtrl_10_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285242.4]
  wire  _T_5358; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285254.4]
  wire  iofCtrl_10_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285255.4]
  wire  iofCtrl_10_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285255.4]
  wire  iofCtrl_10_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285255.4]
  wire  _T_5360; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285259.4]
  wire  _T_5361_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285260.4]
  wire  _T_5362; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285263.4]
  wire  _T_5364; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285266.4]
  wire  _T_5365; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285267.4]
  wire  _T_5366; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285268.4]
  wire  _T_5367; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285269.4]
  wire  _T_5368; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285270.4]
  wire  _T_5369; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285271.4]
  wire  _T_5370; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285272.4]
  wire  _T_5371; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285273.4]
  wire  _T_5372; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285274.4]
  wire  _T_5373; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285275.4]
  wire  _T_5374; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285276.4]
  wire  _T_5375; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285277.4]
  wire  _T_5376; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285278.4]
  wire  _T_5377; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285279.4]
  wire  swPinCtrl_11_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285288.4]
  wire  swPinCtrl_11_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285290.4]
  wire  swPinCtrl_11_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285294.4]
  wire  _T_5388; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285306.4]
  wire  iofCtrl_11_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285307.4]
  wire  iofCtrl_11_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285307.4]
  wire  iofCtrl_11_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285307.4]
  wire  _T_5390; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285311.4]
  wire  _T_5391_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285312.4]
  wire  _T_5392; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285315.4]
  wire  _T_5394; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285318.4]
  wire  _T_5395; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285319.4]
  wire  _T_5396; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285320.4]
  wire  _T_5397; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285321.4]
  wire  _T_5398; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285322.4]
  wire  _T_5399; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285323.4]
  wire  _T_5400; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285324.4]
  wire  _T_5401; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285325.4]
  wire  _T_5402; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285326.4]
  wire  _T_5403; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285327.4]
  wire  _T_5404; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285328.4]
  wire  _T_5405; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285329.4]
  wire  _T_5406; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285330.4]
  wire  _T_5407; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285331.4]
  wire  swPinCtrl_12_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285340.4]
  wire  swPinCtrl_12_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285342.4]
  wire  swPinCtrl_12_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285346.4]
  wire  _T_5418; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285358.4]
  wire  iofCtrl_12_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285359.4]
  wire  iofCtrl_12_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285359.4]
  wire  iofCtrl_12_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285359.4]
  wire  _T_5420; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285363.4]
  wire  _T_5421_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285364.4]
  wire  _T_5422; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285367.4]
  wire  _T_5424; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285370.4]
  wire  _T_5425; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285371.4]
  wire  _T_5426; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285372.4]
  wire  _T_5427; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285373.4]
  wire  _T_5428; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285374.4]
  wire  _T_5429; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285375.4]
  wire  _T_5430; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285376.4]
  wire  _T_5431; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285377.4]
  wire  _T_5432; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285378.4]
  wire  _T_5433; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285379.4]
  wire  _T_5434; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285380.4]
  wire  _T_5435; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285381.4]
  wire  _T_5436; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285382.4]
  wire  _T_5437; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285383.4]
  wire  swPinCtrl_13_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285392.4]
  wire  swPinCtrl_13_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285394.4]
  wire  swPinCtrl_13_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285398.4]
  wire  _T_5448; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285410.4]
  wire  iofCtrl_13_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285411.4]
  wire  iofCtrl_13_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285411.4]
  wire  iofCtrl_13_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285411.4]
  wire  _T_5450; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285415.4]
  wire  _T_5451_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285416.4]
  wire  _T_5452; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285419.4]
  wire  _T_5454; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285422.4]
  wire  _T_5455; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285423.4]
  wire  _T_5456; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285424.4]
  wire  _T_5457; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285425.4]
  wire  _T_5458; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285426.4]
  wire  _T_5459; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285427.4]
  wire  _T_5460; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285428.4]
  wire  _T_5461; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285429.4]
  wire  _T_5462; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285430.4]
  wire  _T_5463; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285431.4]
  wire  _T_5464; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285432.4]
  wire  _T_5465; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285433.4]
  wire  _T_5466; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285434.4]
  wire  _T_5467; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285435.4]
  wire  swPinCtrl_14_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285444.4]
  wire  swPinCtrl_14_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285446.4]
  wire  swPinCtrl_14_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285450.4]
  wire  _T_5478; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285462.4]
  wire  iofCtrl_14_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285463.4]
  wire  iofCtrl_14_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285463.4]
  wire  iofCtrl_14_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285463.4]
  wire  _T_5480; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285467.4]
  wire  _T_5481_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285468.4]
  wire  _T_5482; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285471.4]
  wire  _T_5484; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285474.4]
  wire  _T_5485; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285475.4]
  wire  _T_5486; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285476.4]
  wire  _T_5487; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285477.4]
  wire  _T_5488; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285478.4]
  wire  _T_5489; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285479.4]
  wire  _T_5490; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285480.4]
  wire  _T_5491; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285481.4]
  wire  _T_5492; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285482.4]
  wire  _T_5493; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285483.4]
  wire  _T_5494; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285484.4]
  wire  _T_5495; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285485.4]
  wire  _T_5496; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285486.4]
  wire  _T_5497; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285487.4]
  wire  swPinCtrl_15_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285496.4]
  wire  swPinCtrl_15_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285498.4]
  wire  swPinCtrl_15_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285502.4]
  wire  _T_5508; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285514.4]
  wire  iofCtrl_15_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285515.4]
  wire  iofCtrl_15_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285515.4]
  wire  iofCtrl_15_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285515.4]
  wire  _T_5510; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285519.4]
  wire  _T_5511_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285520.4]
  wire  _T_5512; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285523.4]
  wire  _T_5514; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285526.4]
  wire  _T_5515; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285527.4]
  wire  _T_5516; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285528.4]
  wire  _T_5517; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285529.4]
  wire  _T_5518; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285530.4]
  wire  _T_5519; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285531.4]
  wire  _T_5520; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285532.4]
  wire  _T_5521; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285533.4]
  wire  _T_5522; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285534.4]
  wire  _T_5523; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285535.4]
  wire  _T_5524; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285536.4]
  wire  _T_5525; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285537.4]
  wire  _T_5526; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285538.4]
  wire  _T_5527; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285539.4]
  wire  swPinCtrl_16_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285548.4]
  wire  swPinCtrl_16_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285550.4]
  wire  swPinCtrl_16_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285554.4]
  wire  _T_5538; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285566.4]
  wire  iofCtrl_16_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285567.4]
  wire  iofCtrl_16_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285567.4]
  wire  iofCtrl_16_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285567.4]
  wire  _T_5540; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285571.4]
  wire  _T_5541_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285572.4]
  wire  _T_5542; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285575.4]
  wire  _T_5544; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285578.4]
  wire  _T_5545; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285579.4]
  wire  _T_5546; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285580.4]
  wire  _T_5547; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285581.4]
  wire  _T_5548; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285582.4]
  wire  _T_5549; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285583.4]
  wire  _T_5550; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285584.4]
  wire  _T_5551; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285585.4]
  wire  _T_5552; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285586.4]
  wire  _T_5553; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285587.4]
  wire  _T_5554; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285588.4]
  wire  _T_5555; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285589.4]
  wire  _T_5556; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285590.4]
  wire  _T_5557; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285591.4]
  wire  swPinCtrl_17_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285600.4]
  wire  swPinCtrl_17_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285602.4]
  wire  swPinCtrl_17_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285606.4]
  wire  _T_5568; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285618.4]
  wire  iofCtrl_17_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285619.4]
  wire  iofCtrl_17_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285619.4]
  wire  iofCtrl_17_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285619.4]
  wire  _T_5570; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285623.4]
  wire  _T_5571_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285624.4]
  wire  _T_5572; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285627.4]
  wire  _T_5574; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285630.4]
  wire  _T_5575; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285631.4]
  wire  _T_5576; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285632.4]
  wire  _T_5577; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285633.4]
  wire  _T_5578; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285634.4]
  wire  _T_5579; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285635.4]
  wire  _T_5580; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285636.4]
  wire  _T_5581; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285637.4]
  wire  _T_5582; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285638.4]
  wire  _T_5583; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285639.4]
  wire  _T_5584; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285640.4]
  wire  _T_5585; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285641.4]
  wire  _T_5586; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285642.4]
  wire  _T_5587; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285643.4]
  wire  swPinCtrl_18_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285652.4]
  wire  swPinCtrl_18_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285654.4]
  wire  swPinCtrl_18_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285658.4]
  wire  _T_5598; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285670.4]
  wire  iofCtrl_18_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285671.4]
  wire  iofCtrl_18_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285671.4]
  wire  iofCtrl_18_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285671.4]
  wire  _T_5600; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285675.4]
  wire  _T_5601_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285676.4]
  wire  _T_5602; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285679.4]
  wire  _T_5604; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285682.4]
  wire  _T_5605; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285683.4]
  wire  _T_5606; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285684.4]
  wire  _T_5607; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285685.4]
  wire  _T_5608; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285686.4]
  wire  _T_5609; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285687.4]
  wire  _T_5610; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285688.4]
  wire  _T_5611; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285689.4]
  wire  _T_5612; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285690.4]
  wire  _T_5613; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285691.4]
  wire  _T_5614; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285692.4]
  wire  _T_5615; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285693.4]
  wire  _T_5616; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285694.4]
  wire  _T_5617; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285695.4]
  wire  swPinCtrl_19_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285704.4]
  wire  swPinCtrl_19_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285706.4]
  wire  swPinCtrl_19_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285710.4]
  wire  _T_5628; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285722.4]
  wire  iofCtrl_19_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285723.4]
  wire  iofCtrl_19_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285723.4]
  wire  iofCtrl_19_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285723.4]
  wire  _T_5630; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285727.4]
  wire  _T_5631_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285728.4]
  wire  _T_5632; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285731.4]
  wire  _T_5634; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285734.4]
  wire  _T_5635; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285735.4]
  wire  _T_5636; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285736.4]
  wire  _T_5637; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285737.4]
  wire  _T_5638; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285738.4]
  wire  _T_5639; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285739.4]
  wire  _T_5640; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285740.4]
  wire  _T_5641; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285741.4]
  wire  _T_5642; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285742.4]
  wire  _T_5643; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285743.4]
  wire  _T_5644; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285744.4]
  wire  _T_5645; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285745.4]
  wire  _T_5646; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285746.4]
  wire  _T_5647; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285747.4]
  wire  swPinCtrl_20_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285756.4]
  wire  swPinCtrl_20_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285758.4]
  wire  swPinCtrl_20_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285762.4]
  wire  _T_5658; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285774.4]
  wire  iofCtrl_20_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285775.4]
  wire  iofCtrl_20_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285775.4]
  wire  iofCtrl_20_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285775.4]
  wire  _T_5660; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285779.4]
  wire  _T_5661_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285780.4]
  wire  _T_5662; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285783.4]
  wire  _T_5664; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285786.4]
  wire  _T_5665; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285787.4]
  wire  _T_5666; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285788.4]
  wire  _T_5667; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285789.4]
  wire  _T_5668; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285790.4]
  wire  _T_5669; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285791.4]
  wire  _T_5670; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285792.4]
  wire  _T_5671; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285793.4]
  wire  _T_5672; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285794.4]
  wire  _T_5673; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285795.4]
  wire  _T_5674; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285796.4]
  wire  _T_5675; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285797.4]
  wire  _T_5676; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285798.4]
  wire  _T_5677; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285799.4]
  wire  swPinCtrl_21_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285808.4]
  wire  swPinCtrl_21_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285810.4]
  wire  swPinCtrl_21_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285814.4]
  wire  _T_5688; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285826.4]
  wire  iofCtrl_21_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285827.4]
  wire  iofCtrl_21_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285827.4]
  wire  iofCtrl_21_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285827.4]
  wire  _T_5690; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285831.4]
  wire  _T_5691_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285832.4]
  wire  _T_5692; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285835.4]
  wire  _T_5694; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285838.4]
  wire  _T_5695; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285839.4]
  wire  _T_5696; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285840.4]
  wire  _T_5697; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285841.4]
  wire  _T_5698; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285842.4]
  wire  _T_5699; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285843.4]
  wire  _T_5700; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285844.4]
  wire  _T_5701; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285845.4]
  wire  _T_5702; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285846.4]
  wire  _T_5703; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285847.4]
  wire  _T_5704; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285848.4]
  wire  _T_5705; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285849.4]
  wire  _T_5706; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285850.4]
  wire  _T_5707; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285851.4]
  wire  swPinCtrl_22_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285860.4]
  wire  swPinCtrl_22_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285862.4]
  wire  swPinCtrl_22_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285866.4]
  wire  _T_5718; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285878.4]
  wire  iofCtrl_22_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285879.4]
  wire  iofCtrl_22_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285879.4]
  wire  iofCtrl_22_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285879.4]
  wire  _T_5720; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285883.4]
  wire  _T_5721_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285884.4]
  wire  _T_5722; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285887.4]
  wire  _T_5724; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285890.4]
  wire  _T_5725; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285891.4]
  wire  _T_5726; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285892.4]
  wire  _T_5727; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285893.4]
  wire  _T_5728; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285894.4]
  wire  _T_5729; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285895.4]
  wire  _T_5730; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285896.4]
  wire  _T_5731; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285897.4]
  wire  _T_5732; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285898.4]
  wire  _T_5733; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285899.4]
  wire  _T_5734; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285900.4]
  wire  _T_5735; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285901.4]
  wire  _T_5736; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285902.4]
  wire  _T_5737; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285903.4]
  wire  swPinCtrl_23_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285912.4]
  wire  swPinCtrl_23_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285914.4]
  wire  swPinCtrl_23_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285918.4]
  wire  _T_5748; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285930.4]
  wire  iofCtrl_23_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285931.4]
  wire  iofCtrl_23_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285931.4]
  wire  iofCtrl_23_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285931.4]
  wire  _T_5750; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285935.4]
  wire  _T_5751_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285936.4]
  wire  _T_5752; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285939.4]
  wire  _T_5754; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285942.4]
  wire  _T_5755; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285943.4]
  wire  _T_5756; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285944.4]
  wire  _T_5757; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285945.4]
  wire  _T_5758; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285946.4]
  wire  _T_5759; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285947.4]
  wire  _T_5760; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285948.4]
  wire  _T_5761; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285949.4]
  wire  _T_5762; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285950.4]
  wire  _T_5763; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285951.4]
  wire  _T_5764; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285952.4]
  wire  _T_5765; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285953.4]
  wire  _T_5766; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285954.4]
  wire  _T_5767; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285955.4]
  wire  swPinCtrl_24_oval; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285964.4]
  wire  swPinCtrl_24_oe; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285966.4]
  wire  swPinCtrl_24_ie; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285970.4]
  wire  _T_5778; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285982.4]
  wire  iofCtrl_24_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285983.4]
  wire  iofCtrl_24_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285983.4]
  wire  iofCtrl_24_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285983.4]
  wire  _T_5780; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285987.4]
  wire  _T_5781_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285988.4]
  wire  _T_5782; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285991.4]
  wire  _T_5784; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285994.4]
  wire  _T_5785; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285995.4]
  wire  _T_5786; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285996.4]
  wire  _T_5787; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285997.4]
  wire  _T_5788; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285998.4]
  wire  _T_5789; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285999.4]
  wire  _T_5790; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286000.4]
  wire  _T_5791; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286001.4]
  wire  _T_5792; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286002.4]
  wire  _T_5793; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286003.4]
  wire  _T_5794; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286004.4]
  wire  _T_5795; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286005.4]
  wire  _T_5796; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286006.4]
  wire  _T_5797; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286007.4]
  wire  _T_5814; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286046.4]
  wire  _T_5815; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286047.4]
  wire  _T_5816; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286048.4]
  wire  _T_5817; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286049.4]
  wire  _T_5818; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286050.4]
  wire  _T_5819; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286051.4]
  wire  _T_5820; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286052.4]
  wire  _T_5821; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286053.4]
  wire  _T_5822; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286054.4]
  wire  _T_5823; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286055.4]
  wire  _T_5824; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286056.4]
  wire  _T_5825; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286057.4]
  wire  _T_5826; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286058.4]
  wire  _T_5827; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286059.4]
  wire  _T_5844; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286098.4]
  wire  _T_5845; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286099.4]
  wire  _T_5846; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286100.4]
  wire  _T_5847; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286101.4]
  wire  _T_5848; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286102.4]
  wire  _T_5849; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286103.4]
  wire  _T_5850; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286104.4]
  wire  _T_5851; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286105.4]
  wire  _T_5852; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286106.4]
  wire  _T_5853; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286107.4]
  wire  _T_5854; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286108.4]
  wire  _T_5855; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286109.4]
  wire  _T_5856; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286110.4]
  wire  _T_5857; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286111.4]
  wire  _T_5874; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286150.4]
  wire  _T_5875; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286151.4]
  wire  _T_5876; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286152.4]
  wire  _T_5877; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286153.4]
  wire  _T_5878; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286154.4]
  wire  _T_5879; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286155.4]
  wire  _T_5880; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286156.4]
  wire  _T_5881; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286157.4]
  wire  _T_5882; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286158.4]
  wire  _T_5883; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286159.4]
  wire  _T_5884; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286160.4]
  wire  _T_5885; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286161.4]
  wire  _T_5886; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286162.4]
  wire  _T_5887; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286163.4]
  wire  _T_5904; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286202.4]
  wire  _T_5905; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286203.4]
  wire  _T_5906; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286204.4]
  wire  _T_5907; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286205.4]
  wire  _T_5908; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286206.4]
  wire  _T_5909; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286207.4]
  wire  _T_5910; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286208.4]
  wire  _T_5911; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286209.4]
  wire  _T_5912; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286210.4]
  wire  _T_5913; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286211.4]
  wire  _T_5914; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286212.4]
  wire  _T_5915; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286213.4]
  wire  _T_5916; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286214.4]
  wire  _T_5917; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286215.4]
  wire  _T_5934; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286254.4]
  wire  _T_5935; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286255.4]
  wire  _T_5936; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286256.4]
  wire  _T_5937; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286257.4]
  wire  _T_5938; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286258.4]
  wire  _T_5939; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286259.4]
  wire  _T_5940; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286260.4]
  wire  _T_5941; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286261.4]
  wire  _T_5942; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286262.4]
  wire  _T_5943; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286263.4]
  wire  _T_5944; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286264.4]
  wire  _T_5945; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286265.4]
  wire  _T_5946; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286266.4]
  wire  _T_5947; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286267.4]
  wire  _T_5964; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286306.4]
  wire  _T_5965; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286307.4]
  wire  _T_5966; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286308.4]
  wire  _T_5967; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286309.4]
  wire  _T_5968; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286310.4]
  wire  _T_5969; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286311.4]
  wire  _T_5970; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286312.4]
  wire  _T_5971; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286313.4]
  wire  _T_5972; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286314.4]
  wire  _T_5973; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286315.4]
  wire  _T_5974; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286316.4]
  wire  _T_5975; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286317.4]
  wire  _T_5976; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286318.4]
  wire  _T_5977; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286319.4]
  wire  _T_5994; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286358.4]
  wire  _T_5995; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286359.4]
  wire  _T_5996; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286360.4]
  wire  _T_5997; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286361.4]
  wire  _T_5998; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286362.4]
  wire  _T_5999; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286363.4]
  wire  _T_6000; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286364.4]
  wire  _T_6001; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286365.4]
  wire  _T_6002; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286366.4]
  wire  _T_6003; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286367.4]
  wire  _T_6004; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286368.4]
  wire  _T_6005; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286369.4]
  wire  _T_6006; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286370.4]
  wire  _T_6007; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286371.4]
  TLBuffer_26 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@282629.4]
    .clock(buffer_clock),
    .reset(buffer_reset),
    .auto_in_a_ready(buffer_auto_in_a_ready),
    .auto_in_a_valid(buffer_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_auto_in_d_ready),
    .auto_in_d_valid(buffer_auto_in_d_valid),
    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
    .auto_out_a_ready(buffer_auto_out_a_ready),
    .auto_out_a_valid(buffer_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_auto_out_d_ready),
    .auto_out_d_valid(buffer_auto_out_d_valid),
    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
  );
  IntSyncCrossingSource_13 intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282635.4]
    .clock(intsource_clock),
    .reset(intsource_reset),
    .auto_in_0(intsource_auto_in_0),
    .auto_in_1(intsource_auto_in_1),
    .auto_in_2(intsource_auto_in_2),
    .auto_in_3(intsource_auto_in_3),
    .auto_in_4(intsource_auto_in_4),
    .auto_in_5(intsource_auto_in_5),
    .auto_in_6(intsource_auto_in_6),
    .auto_in_7(intsource_auto_in_7),
    .auto_in_8(intsource_auto_in_8),
    .auto_in_9(intsource_auto_in_9),
    .auto_in_10(intsource_auto_in_10),
    .auto_in_11(intsource_auto_in_11),
    .auto_in_12(intsource_auto_in_12),
    .auto_in_13(intsource_auto_in_13),
    .auto_in_14(intsource_auto_in_14),
    .auto_in_15(intsource_auto_in_15),
    .auto_in_16(intsource_auto_in_16),
    .auto_in_17(intsource_auto_in_17),
    .auto_in_18(intsource_auto_in_18),
    .auto_in_19(intsource_auto_in_19),
    .auto_in_20(intsource_auto_in_20),
    .auto_in_21(intsource_auto_in_21),
    .auto_in_22(intsource_auto_in_22),
    .auto_in_23(intsource_auto_in_23),
    .auto_in_24(intsource_auto_in_24),
    .auto_in_25(intsource_auto_in_25),
    .auto_in_26(intsource_auto_in_26),
    .auto_in_27(intsource_auto_in_27),
    .auto_in_28(intsource_auto_in_28),
    .auto_in_29(intsource_auto_in_29),
    .auto_in_30(intsource_auto_in_30),
    .auto_in_31(intsource_auto_in_31),
    .auto_out_sync_0(intsource_auto_out_sync_0),
    .auto_out_sync_1(intsource_auto_out_sync_1),
    .auto_out_sync_2(intsource_auto_out_sync_2),
    .auto_out_sync_3(intsource_auto_out_sync_3),
    .auto_out_sync_4(intsource_auto_out_sync_4),
    .auto_out_sync_5(intsource_auto_out_sync_5),
    .auto_out_sync_6(intsource_auto_out_sync_6),
    .auto_out_sync_7(intsource_auto_out_sync_7),
    .auto_out_sync_8(intsource_auto_out_sync_8),
    .auto_out_sync_9(intsource_auto_out_sync_9),
    .auto_out_sync_10(intsource_auto_out_sync_10),
    .auto_out_sync_11(intsource_auto_out_sync_11),
    .auto_out_sync_12(intsource_auto_out_sync_12),
    .auto_out_sync_13(intsource_auto_out_sync_13),
    .auto_out_sync_14(intsource_auto_out_sync_14),
    .auto_out_sync_15(intsource_auto_out_sync_15),
    .auto_out_sync_16(intsource_auto_out_sync_16),
    .auto_out_sync_17(intsource_auto_out_sync_17),
    .auto_out_sync_18(intsource_auto_out_sync_18),
    .auto_out_sync_19(intsource_auto_out_sync_19),
    .auto_out_sync_20(intsource_auto_out_sync_20),
    .auto_out_sync_21(intsource_auto_out_sync_21),
    .auto_out_sync_22(intsource_auto_out_sync_22),
    .auto_out_sync_23(intsource_auto_out_sync_23),
    .auto_out_sync_24(intsource_auto_out_sync_24),
    .auto_out_sync_25(intsource_auto_out_sync_25),
    .auto_out_sync_26(intsource_auto_out_sync_26),
    .auto_out_sync_27(intsource_auto_out_sync_27),
    .auto_out_sync_28(intsource_auto_out_sync_28),
    .auto_out_sync_29(intsource_auto_out_sync_29),
    .auto_out_sync_30(intsource_auto_out_sync_30),
    .auto_out_sync_31(intsource_auto_out_sync_31)
  );
  TLMonitor_77 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282647.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  AsyncResetRegVec_w32_i0 oeReg ( // @[GPIO.scala 60:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282702.4]
    .clock(oeReg_clock),
    .reset(oeReg_reset),
    .io_d(oeReg_io_d),
    .io_q(oeReg_io_q),
    .io_en(oeReg_io_en)
  );
  AsyncResetRegVec_w32_i0 pueReg ( // @[GPIO.scala 61:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282706.4]
    .clock(pueReg_clock),
    .reset(pueReg_reset),
    .io_d(pueReg_io_d),
    .io_q(pueReg_io_q),
    .io_en(pueReg_io_en)
  );
  AsyncResetRegVec_w32_i0 ieReg ( // @[GPIO.scala 63:22:shc.marmotcaravel.MarmotCaravelConfig.fir@282711.4]
    .clock(ieReg_clock),
    .reset(ieReg_reset),
    .io_d(ieReg_io_d),
    .io_q(ieReg_io_q),
    .io_en(ieReg_io_en)
  );
  SynchronizerShiftReg_w32_d3 inSyncReg ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@282783.4]
    .clock(inSyncReg_clock),
    .io_d(inSyncReg_io_d),
    .io_q(inSyncReg_io_q)
  );
  AsyncResetRegVec_w32_i0 iofEnReg ( // @[GPIO.scala 82:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282801.4]
    .clock(iofEnReg_clock),
    .reset(iofEnReg_reset),
    .io_d(iofEnReg_io_d),
    .io_q(iofEnReg_io_q),
    .io_en(iofEnReg_io_en)
  );
  assign _T_3062 = {auto_io_out_pins_1_i_ival,auto_io_out_pins_0_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282751.4]
  assign _T_3063 = {auto_io_out_pins_3_i_ival,auto_io_out_pins_2_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282752.4]
  assign _T_3064 = {_T_3063,_T_3062}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282753.4]
  assign _T_3065 = {auto_io_out_pins_5_i_ival,auto_io_out_pins_4_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282754.4]
  assign _T_3066 = {auto_io_out_pins_7_i_ival,auto_io_out_pins_6_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282755.4]
  assign _T_3067 = {_T_3066,_T_3065}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282756.4]
  assign _T_3068 = {_T_3067,_T_3064}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282757.4]
  assign _T_3069 = {auto_io_out_pins_9_i_ival,auto_io_out_pins_8_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282758.4]
  assign _T_3070 = {auto_io_out_pins_11_i_ival,auto_io_out_pins_10_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282759.4]
  assign _T_3071 = {_T_3070,_T_3069}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282760.4]
  assign _T_3072 = {auto_io_out_pins_13_i_ival,auto_io_out_pins_12_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282761.4]
  assign _T_3073 = {auto_io_out_pins_15_i_ival,auto_io_out_pins_14_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282762.4]
  assign _T_3074 = {_T_3073,_T_3072}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282763.4]
  assign _T_3075 = {_T_3074,_T_3071}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282764.4]
  assign _T_3076 = {_T_3075,_T_3068}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282765.4]
  assign _T_3077 = {auto_io_out_pins_17_i_ival,auto_io_out_pins_16_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282766.4]
  assign _T_3078 = {auto_io_out_pins_19_i_ival,auto_io_out_pins_18_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282767.4]
  assign _T_3079 = {_T_3078,_T_3077}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282768.4]
  assign _T_3080 = {auto_io_out_pins_21_i_ival,auto_io_out_pins_20_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282769.4]
  assign _T_3081 = {auto_io_out_pins_23_i_ival,auto_io_out_pins_22_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282770.4]
  assign _T_3082 = {_T_3081,_T_3080}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282771.4]
  assign _T_3083 = {_T_3082,_T_3079}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282772.4]
  assign _T_3084 = {1'h0,auto_io_out_pins_24_i_ival}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282773.4]
  assign _T_3086 = {2'h0,_T_3084}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282775.4]
  assign _T_3090 = {4'h0,_T_3086}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282779.4]
  assign _T_3091 = {_T_3090,_T_3083}; // @[GPIO.scala 67:41:shc.marmotcaravel.MarmotCaravelConfig.fir@282780.4]
  assign _T_3105 = ~ valueReg; // @[GPIO.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@282807.4]
  assign inSyncReg_1 = inSyncReg_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282788.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282790.4]
  assign rise = _T_3105 & inSyncReg_1; // @[GPIO.scala 92:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282808.4]
  assign _T_3106 = ~ inSyncReg_1; // @[GPIO.scala 93:25:shc.marmotcaravel.MarmotCaravelConfig.fir@282809.4]
  assign fall = valueReg & _T_3106; // @[GPIO.scala 93:23:shc.marmotcaravel.MarmotCaravelConfig.fir@282810.4]
  assign _T_1699_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
  assign _T_3115 = _T_1699_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@282814.4]
  assign _T_1699_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
  assign _T_3116 = _T_1699_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@282816.4]
  assign _T_1699_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
  assign _T_1699_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
  assign _T_3117 = {_T_1699_a_bits_source,_T_1699_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282820.4]
  assign _T_3112_bits_index = _T_3116[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@282812.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282817.4]
  assign _T_3133 = _T_3112_bits_index & 10'h3e0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282828.4]
  assign _T_3135 = _T_3133 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282830.4]
  assign _T_1699_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
  assign _T_3261 = _T_1699_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@282872.4]
  assign _T_3262 = _T_1699_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@282873.4]
  assign _T_3263 = _T_1699_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@282874.4]
  assign _T_3264 = _T_1699_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@282875.4]
  assign _T_3266 = _T_3261 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282877.4]
  assign _T_3268 = _T_3262 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282879.4]
  assign _T_3270 = _T_3263 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282881.4]
  assign _T_3272 = _T_3264 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282883.4]
  assign _T_3273 = {_T_3268,_T_3266}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282884.4]
  assign _T_3274 = {_T_3272,_T_3270}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282885.4]
  assign _T_3275 = {_T_3274,_T_3273}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@282886.4]
  assign _T_3294 = ~ _T_3275; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282905.4]
  assign _T_3295 = _T_3294 == 32'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282906.4]
  assign _T_1699_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
  assign _T_1699_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
  assign _T_3754 = _T_3112_bits_index[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283401.4]
  assign _T_3753 = _T_3112_bits_index[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283400.4]
  assign _T_3761 = {_T_3754,_T_3753}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283408.4]
  assign _T_3752 = _T_3112_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283399.4]
  assign _T_3762 = {_T_3761,_T_3752}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283409.4]
  assign _T_3751 = _T_3112_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283398.4]
  assign _T_3750 = _T_3112_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283397.4]
  assign _T_3760 = {_T_3751,_T_3750}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283407.4]
  assign _T_3763 = {_T_3762,_T_3760}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@283410.4]
  assign _T_3830 = _T_1699_a_valid & _T_1699_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283477.4]
  assign _T_3764 = 32'h1 << _T_3763; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@283411.4]
  assign _T_4066 = _T_3115 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283757.4]
  assign _T_4067 = _T_3830 & _T_4066; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283758.4]
  assign _T_1699_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@282645.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
  assign _T_3770 = _T_3764[5]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283417.4]
  assign _T_4100 = _T_4067 & _T_3770; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283801.4]
  assign _T_4101 = _T_4100 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283802.4]
  assign _T_3328 = _T_4101 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282939.4]
  assign _T_3775 = _T_3764[10]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283422.4]
  assign _T_4130 = _T_4067 & _T_3775; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283841.4]
  assign _T_4131 = _T_4130 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283842.4]
  assign _T_3353 = _T_4131 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@282967.4]
  assign _T_3779 = _T_3764[14]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283426.4]
  assign _T_4154 = _T_4067 & _T_3779; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283873.4]
  assign _T_4155 = _T_4154 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283874.4]
  assign _T_3389 = iofEnReg_io_q; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283008.4]
  assign _T_3766 = _T_3764[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283413.4]
  assign _T_4076 = _T_4067 & _T_3766; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283769.4]
  assign _T_4077 = _T_4076 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283770.4]
  assign _T_3414 = ieReg_io_q; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283035.4]
  assign _T_3771 = _T_3764[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283418.4]
  assign _T_4106 = _T_4067 & _T_3771; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283809.4]
  assign _T_4107 = _T_4106 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283810.4]
  assign _T_3428 = _T_4107 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283049.4]
  assign _T_3774 = _T_3764[9]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283421.4]
  assign _T_4124 = _T_4067 & _T_3774; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283833.4]
  assign _T_4125 = _T_4124 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283834.4]
  assign _T_3453 = _T_4125 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283077.4]
  assign _T_3456 = ~ fallIpReg; // @[RegField.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@283080.4]
  assign _T_3457 = _T_3453 ? _T_1699_a_bits_data : 32'h0; // @[RegField.scala 187:71:shc.marmotcaravel.MarmotCaravelConfig.fir@283081.4]
  assign _T_3458 = _T_3456 | _T_3457; // @[RegField.scala 187:66:shc.marmotcaravel.MarmotCaravelConfig.fir@283082.4]
  assign _T_3459 = ~ _T_3458; // @[RegField.scala 187:59:shc.marmotcaravel.MarmotCaravelConfig.fir@283083.4]
  assign _T_3460 = _T_3459 | fall; // @[RegField.scala 187:95:shc.marmotcaravel.MarmotCaravelConfig.fir@283084.4]
  assign _T_3778 = _T_3764[13]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283425.4]
  assign _T_4148 = _T_4067 & _T_3778; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283865.4]
  assign _T_4149 = _T_4148 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283866.4]
  assign _T_3483 = _T_4149 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283108.4]
  assign _T_3486 = ~ lowIpReg; // @[RegField.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@283111.4]
  assign _T_3487 = _T_3483 ? _T_1699_a_bits_data : 32'h0; // @[RegField.scala 187:71:shc.marmotcaravel.MarmotCaravelConfig.fir@283112.4]
  assign _T_3488 = _T_3486 | _T_3487; // @[RegField.scala 187:66:shc.marmotcaravel.MarmotCaravelConfig.fir@283113.4]
  assign _T_3489 = ~ _T_3488; // @[RegField.scala 187:59:shc.marmotcaravel.MarmotCaravelConfig.fir@283114.4]
  assign _T_3490 = _T_3489 | _T_3105; // @[RegField.scala 187:95:shc.marmotcaravel.MarmotCaravelConfig.fir@283115.4]
  assign _T_3767 = _T_3764[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283414.4]
  assign _T_4082 = _T_4067 & _T_3767; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283777.4]
  assign _T_4083 = _T_4082 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283778.4]
  assign _T_3524 = oeReg_io_q; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283152.4]
  assign _T_3777 = _T_3764[12]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283424.4]
  assign _T_4142 = _T_4067 & _T_3777; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283857.4]
  assign _T_4143 = _T_4142 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283858.4]
  assign _T_3538 = _T_4143 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283166.4]
  assign _T_3772 = _T_3764[7]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283419.4]
  assign _T_4112 = _T_4067 & _T_3772; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283817.4]
  assign _T_4113 = _T_4112 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283818.4]
  assign _T_3563 = _T_4113 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283194.4]
  assign _T_3566 = ~ riseIpReg; // @[RegField.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@283197.4]
  assign _T_3567 = _T_3563 ? _T_1699_a_bits_data : 32'h0; // @[RegField.scala 187:71:shc.marmotcaravel.MarmotCaravelConfig.fir@283198.4]
  assign _T_3568 = _T_3566 | _T_3567; // @[RegField.scala 187:66:shc.marmotcaravel.MarmotCaravelConfig.fir@283199.4]
  assign _T_3569 = ~ _T_3568; // @[RegField.scala 187:59:shc.marmotcaravel.MarmotCaravelConfig.fir@283200.4]
  assign _T_3570 = _T_3569 | rise; // @[RegField.scala 187:95:shc.marmotcaravel.MarmotCaravelConfig.fir@283201.4]
  assign _T_3768 = _T_3764[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283415.4]
  assign _T_4088 = _T_4067 & _T_3768; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283785.4]
  assign _T_4089 = _T_4088 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283786.4]
  assign _T_3593 = _T_4089 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283225.4]
  assign _T_3781 = _T_3764[16]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283428.4]
  assign _T_4166 = _T_4067 & _T_3781; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283889.4]
  assign _T_4167 = _T_4166 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283890.4]
  assign _T_3618 = _T_4167 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283253.4]
  assign _T_3776 = _T_3764[11]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283423.4]
  assign _T_4136 = _T_4067 & _T_3776; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283849.4]
  assign _T_4137 = _T_4136 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283850.4]
  assign _T_3643 = _T_4137 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283281.4]
  assign _T_3646 = ~ highIpReg; // @[RegField.scala 187:61:shc.marmotcaravel.MarmotCaravelConfig.fir@283284.4]
  assign _T_3647 = _T_3643 ? _T_1699_a_bits_data : 32'h0; // @[RegField.scala 187:71:shc.marmotcaravel.MarmotCaravelConfig.fir@283285.4]
  assign _T_3648 = _T_3646 | _T_3647; // @[RegField.scala 187:66:shc.marmotcaravel.MarmotCaravelConfig.fir@283286.4]
  assign _T_3649 = ~ _T_3648; // @[RegField.scala 187:59:shc.marmotcaravel.MarmotCaravelConfig.fir@283287.4]
  assign _T_3650 = _T_3649 | valueReg; // @[RegField.scala 187:95:shc.marmotcaravel.MarmotCaravelConfig.fir@283288.4]
  assign _T_3773 = _T_3764[8]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283420.4]
  assign _T_4118 = _T_4067 & _T_3773; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283825.4]
  assign _T_4119 = _T_4118 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283826.4]
  assign _T_3673 = _T_4119 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283312.4]
  assign _T_3769 = _T_3764[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283416.4]
  assign _T_4094 = _T_4067 & _T_3769; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283793.4]
  assign _T_4095 = _T_4094 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283794.4]
  assign _T_3709 = pueReg_io_q; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283353.4]
  assign _T_3780 = _T_3764[15]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283427.4]
  assign _T_4160 = _T_4067 & _T_3780; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283881.4]
  assign _T_4161 = _T_4160 & _T_3135; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283882.4]
  assign _T_3723 = _T_4161 & _T_3295; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@283367.4]
  assign _GEN_137 = 5'h1 == _T_3763 ? _T_3135 : _T_3135; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_138 = 5'h2 == _T_3763 ? _T_3135 : _GEN_137; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_139 = 5'h3 == _T_3763 ? _T_3135 : _GEN_138; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_140 = 5'h4 == _T_3763 ? _T_3135 : _GEN_139; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_141 = 5'h5 == _T_3763 ? _T_3135 : _GEN_140; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_142 = 5'h6 == _T_3763 ? _T_3135 : _GEN_141; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_143 = 5'h7 == _T_3763 ? _T_3135 : _GEN_142; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_144 = 5'h8 == _T_3763 ? _T_3135 : _GEN_143; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_145 = 5'h9 == _T_3763 ? _T_3135 : _GEN_144; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_146 = 5'ha == _T_3763 ? _T_3135 : _GEN_145; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_147 = 5'hb == _T_3763 ? _T_3135 : _GEN_146; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_148 = 5'hc == _T_3763 ? _T_3135 : _GEN_147; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_149 = 5'hd == _T_3763 ? _T_3135 : _GEN_148; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_150 = 5'he == _T_3763 ? _T_3135 : _GEN_149; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_151 = 5'hf == _T_3763 ? _T_3135 : _GEN_150; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_152 = 5'h10 == _T_3763 ? _T_3135 : _GEN_151; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_153 = 5'h11 == _T_3763 ? 1'h1 : _GEN_152; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_154 = 5'h12 == _T_3763 ? 1'h1 : _GEN_153; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_155 = 5'h13 == _T_3763 ? 1'h1 : _GEN_154; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_156 = 5'h14 == _T_3763 ? 1'h1 : _GEN_155; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_157 = 5'h15 == _T_3763 ? 1'h1 : _GEN_156; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_158 = 5'h16 == _T_3763 ? 1'h1 : _GEN_157; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_159 = 5'h17 == _T_3763 ? 1'h1 : _GEN_158; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_160 = 5'h18 == _T_3763 ? 1'h1 : _GEN_159; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_161 = 5'h19 == _T_3763 ? 1'h1 : _GEN_160; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_162 = 5'h1a == _T_3763 ? 1'h1 : _GEN_161; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_163 = 5'h1b == _T_3763 ? 1'h1 : _GEN_162; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_164 = 5'h1c == _T_3763 ? 1'h1 : _GEN_163; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_165 = 5'h1d == _T_3763 ? 1'h1 : _GEN_164; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_166 = 5'h1e == _T_3763 ? 1'h1 : _GEN_165; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_167 = 5'h1f == _T_3763 ? 1'h1 : _GEN_166; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284641.4]
  assign _GEN_169 = 5'h1 == _T_3763 ? _T_3414 : valueReg; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_170 = 5'h2 == _T_3763 ? _T_3524 : _GEN_169; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_171 = 5'h3 == _T_3763 ? portReg : _GEN_170; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_172 = 5'h4 == _T_3763 ? _T_3709 : _GEN_171; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_173 = 5'h5 == _T_3763 ? dsReg : _GEN_172; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_174 = 5'h6 == _T_3763 ? riseIeReg : _GEN_173; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_175 = 5'h7 == _T_3763 ? riseIpReg : _GEN_174; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_176 = 5'h8 == _T_3763 ? fallIeReg : _GEN_175; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_177 = 5'h9 == _T_3763 ? fallIpReg : _GEN_176; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_178 = 5'ha == _T_3763 ? highIeReg : _GEN_177; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_179 = 5'hb == _T_3763 ? highIpReg : _GEN_178; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_180 = 5'hc == _T_3763 ? lowIeReg : _GEN_179; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_181 = 5'hd == _T_3763 ? lowIpReg : _GEN_180; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_182 = 5'he == _T_3763 ? _T_3389 : _GEN_181; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_183 = 5'hf == _T_3763 ? iofSelReg : _GEN_182; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_184 = 5'h10 == _T_3763 ? xorReg : _GEN_183; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_185 = 5'h11 == _T_3763 ? 32'h0 : _GEN_184; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_186 = 5'h12 == _T_3763 ? 32'h0 : _GEN_185; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_187 = 5'h13 == _T_3763 ? 32'h0 : _GEN_186; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_188 = 5'h14 == _T_3763 ? 32'h0 : _GEN_187; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_189 = 5'h15 == _T_3763 ? 32'h0 : _GEN_188; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_190 = 5'h16 == _T_3763 ? 32'h0 : _GEN_189; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_191 = 5'h17 == _T_3763 ? 32'h0 : _GEN_190; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_192 = 5'h18 == _T_3763 ? 32'h0 : _GEN_191; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_193 = 5'h19 == _T_3763 ? 32'h0 : _GEN_192; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_194 = 5'h1a == _T_3763 ? 32'h0 : _GEN_193; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_195 = 5'h1b == _T_3763 ? 32'h0 : _GEN_194; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_196 = 5'h1c == _T_3763 ? 32'h0 : _GEN_195; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_197 = 5'h1d == _T_3763 ? 32'h0 : _GEN_196; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_198 = 5'h1e == _T_3763 ? 32'h0 : _GEN_197; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign _GEN_199 = 5'h1f == _T_3763 ? 32'h0 : _GEN_198; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@284677.4]
  assign swPinCtrl_0_oval = portReg[0]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@284716.4]
  assign swPinCtrl_0_oe = oeReg_io_q[0]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284718.4]
  assign swPinCtrl_0_ie = ieReg_io_q[0]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284722.4]
  assign _T_5058 = iofSelReg[0]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284734.4]
  assign iofCtrl_0_oval = _T_5058 ? swPinCtrl_0_oval : auto_io_out_iof_0_0_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284735.4]
  assign iofCtrl_0_oe = _T_5058 ? swPinCtrl_0_oe : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284735.4]
  assign iofCtrl_0_ie = _T_5058 ? swPinCtrl_0_ie : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284735.4]
  assign _T_5060 = iofEnReg_io_q[0]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284739.4]
  assign _T_5061_oval = _T_5060 ? iofCtrl_0_oval : swPinCtrl_0_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@284740.4]
  assign _T_5062 = xorReg[0]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284743.4]
  assign _T_5064 = riseIpReg[0]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@284746.4]
  assign _T_5065 = riseIeReg[0]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284747.4]
  assign _T_5066 = _T_5064 & _T_5065; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284748.4]
  assign _T_5067 = fallIpReg[0]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284749.4]
  assign _T_5068 = fallIeReg[0]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284750.4]
  assign _T_5069 = _T_5067 & _T_5068; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284751.4]
  assign _T_5070 = _T_5066 | _T_5069; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@284752.4]
  assign _T_5071 = highIpReg[0]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284753.4]
  assign _T_5072 = highIeReg[0]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284754.4]
  assign _T_5073 = _T_5071 & _T_5072; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284755.4]
  assign _T_5074 = _T_5070 | _T_5073; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@284756.4]
  assign _T_5075 = lowIpReg[0]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@284757.4]
  assign _T_5076 = lowIeReg[0]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284758.4]
  assign _T_5077 = _T_5075 & _T_5076; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@284759.4]
  assign swPinCtrl_1_oval = portReg[1]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@284768.4]
  assign swPinCtrl_1_oe = oeReg_io_q[1]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284770.4]
  assign swPinCtrl_1_ie = ieReg_io_q[1]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284774.4]
  assign _T_5088 = iofSelReg[1]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284786.4]
  assign iofCtrl_1_oval = _T_5088 ? swPinCtrl_1_oval : auto_io_out_iof_0_1_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284787.4]
  assign iofCtrl_1_oe = _T_5088 ? swPinCtrl_1_oe : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284787.4]
  assign iofCtrl_1_ie = _T_5088 ? swPinCtrl_1_ie : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284787.4]
  assign _T_5090 = iofEnReg_io_q[1]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284791.4]
  assign _T_5091_oval = _T_5090 ? iofCtrl_1_oval : swPinCtrl_1_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@284792.4]
  assign _T_5092 = xorReg[1]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284795.4]
  assign _T_5094 = riseIpReg[1]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@284798.4]
  assign _T_5095 = riseIeReg[1]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284799.4]
  assign _T_5096 = _T_5094 & _T_5095; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284800.4]
  assign _T_5097 = fallIpReg[1]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284801.4]
  assign _T_5098 = fallIeReg[1]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284802.4]
  assign _T_5099 = _T_5097 & _T_5098; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284803.4]
  assign _T_5100 = _T_5096 | _T_5099; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@284804.4]
  assign _T_5101 = highIpReg[1]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284805.4]
  assign _T_5102 = highIeReg[1]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284806.4]
  assign _T_5103 = _T_5101 & _T_5102; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284807.4]
  assign _T_5104 = _T_5100 | _T_5103; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@284808.4]
  assign _T_5105 = lowIpReg[1]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@284809.4]
  assign _T_5106 = lowIeReg[1]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284810.4]
  assign _T_5107 = _T_5105 & _T_5106; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@284811.4]
  assign swPinCtrl_2_oval = portReg[2]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@284820.4]
  assign swPinCtrl_2_oe = oeReg_io_q[2]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284822.4]
  assign swPinCtrl_2_ie = ieReg_io_q[2]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284826.4]
  assign _T_5118 = iofSelReg[2]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284838.4]
  assign iofCtrl_2_oval = _T_5118 ? swPinCtrl_2_oval : auto_io_out_iof_0_2_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284839.4]
  assign iofCtrl_2_oe = _T_5118 ? swPinCtrl_2_oe : auto_io_out_iof_0_2_o_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284839.4]
  assign iofCtrl_2_ie = _T_5118 ? swPinCtrl_2_ie : auto_io_out_iof_0_2_o_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284839.4]
  assign _T_5120 = iofEnReg_io_q[2]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284843.4]
  assign _T_5121_oval = _T_5120 ? iofCtrl_2_oval : swPinCtrl_2_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@284844.4]
  assign _T_5122 = xorReg[2]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284847.4]
  assign _T_5124 = riseIpReg[2]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@284850.4]
  assign _T_5125 = riseIeReg[2]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284851.4]
  assign _T_5126 = _T_5124 & _T_5125; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284852.4]
  assign _T_5127 = fallIpReg[2]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284853.4]
  assign _T_5128 = fallIeReg[2]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284854.4]
  assign _T_5129 = _T_5127 & _T_5128; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284855.4]
  assign _T_5130 = _T_5126 | _T_5129; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@284856.4]
  assign _T_5131 = highIpReg[2]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284857.4]
  assign _T_5132 = highIeReg[2]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284858.4]
  assign _T_5133 = _T_5131 & _T_5132; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284859.4]
  assign _T_5134 = _T_5130 | _T_5133; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@284860.4]
  assign _T_5135 = lowIpReg[2]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@284861.4]
  assign _T_5136 = lowIeReg[2]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284862.4]
  assign _T_5137 = _T_5135 & _T_5136; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@284863.4]
  assign swPinCtrl_3_oval = portReg[3]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@284872.4]
  assign swPinCtrl_3_oe = oeReg_io_q[3]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284874.4]
  assign swPinCtrl_3_ie = ieReg_io_q[3]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284878.4]
  assign _T_5148 = iofSelReg[3]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284890.4]
  assign iofCtrl_3_oval = _T_5148 ? swPinCtrl_3_oval : auto_io_out_iof_0_3_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284891.4]
  assign iofCtrl_3_oe = _T_5148 ? swPinCtrl_3_oe : auto_io_out_iof_0_3_o_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284891.4]
  assign iofCtrl_3_ie = _T_5148 ? swPinCtrl_3_ie : auto_io_out_iof_0_3_o_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284891.4]
  assign _T_5150 = iofEnReg_io_q[3]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284895.4]
  assign _T_5151_oval = _T_5150 ? iofCtrl_3_oval : swPinCtrl_3_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@284896.4]
  assign _T_5152 = xorReg[3]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284899.4]
  assign _T_5154 = riseIpReg[3]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@284902.4]
  assign _T_5155 = riseIeReg[3]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284903.4]
  assign _T_5156 = _T_5154 & _T_5155; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284904.4]
  assign _T_5157 = fallIpReg[3]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284905.4]
  assign _T_5158 = fallIeReg[3]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284906.4]
  assign _T_5159 = _T_5157 & _T_5158; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284907.4]
  assign _T_5160 = _T_5156 | _T_5159; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@284908.4]
  assign _T_5161 = highIpReg[3]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284909.4]
  assign _T_5162 = highIeReg[3]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284910.4]
  assign _T_5163 = _T_5161 & _T_5162; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284911.4]
  assign _T_5164 = _T_5160 | _T_5163; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@284912.4]
  assign _T_5165 = lowIpReg[3]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@284913.4]
  assign _T_5166 = lowIeReg[3]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284914.4]
  assign _T_5167 = _T_5165 & _T_5166; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@284915.4]
  assign swPinCtrl_4_oval = portReg[4]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@284924.4]
  assign swPinCtrl_4_oe = oeReg_io_q[4]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284926.4]
  assign swPinCtrl_4_ie = ieReg_io_q[4]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284930.4]
  assign _T_5178 = iofSelReg[4]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284942.4]
  assign iofCtrl_4_oval = _T_5178 ? swPinCtrl_4_oval : auto_io_out_iof_0_4_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284943.4]
  assign iofCtrl_4_oe = _T_5178 ? swPinCtrl_4_oe : auto_io_out_iof_0_4_o_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284943.4]
  assign iofCtrl_4_ie = _T_5178 ? swPinCtrl_4_ie : auto_io_out_iof_0_4_o_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284943.4]
  assign _T_5180 = iofEnReg_io_q[4]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284947.4]
  assign _T_5181_oval = _T_5180 ? iofCtrl_4_oval : swPinCtrl_4_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@284948.4]
  assign _T_5182 = xorReg[4]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284951.4]
  assign _T_5184 = riseIpReg[4]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@284954.4]
  assign _T_5185 = riseIeReg[4]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284955.4]
  assign _T_5186 = _T_5184 & _T_5185; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284956.4]
  assign _T_5187 = fallIpReg[4]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284957.4]
  assign _T_5188 = fallIeReg[4]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284958.4]
  assign _T_5189 = _T_5187 & _T_5188; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284959.4]
  assign _T_5190 = _T_5186 | _T_5189; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@284960.4]
  assign _T_5191 = highIpReg[4]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284961.4]
  assign _T_5192 = highIeReg[4]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@284962.4]
  assign _T_5193 = _T_5191 & _T_5192; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284963.4]
  assign _T_5194 = _T_5190 | _T_5193; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@284964.4]
  assign _T_5195 = lowIpReg[4]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@284965.4]
  assign _T_5196 = lowIeReg[4]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@284966.4]
  assign _T_5197 = _T_5195 & _T_5196; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@284967.4]
  assign swPinCtrl_5_oval = portReg[5]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@284976.4]
  assign swPinCtrl_5_oe = oeReg_io_q[5]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284978.4]
  assign swPinCtrl_5_ie = ieReg_io_q[5]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@284982.4]
  assign _T_5208 = iofSelReg[5]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@284994.4]
  assign iofCtrl_5_oval = _T_5208 ? swPinCtrl_5_oval : auto_io_out_iof_0_5_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284995.4]
  assign iofCtrl_5_oe = _T_5208 ? swPinCtrl_5_oe : auto_io_out_iof_0_5_o_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284995.4]
  assign iofCtrl_5_ie = _T_5208 ? swPinCtrl_5_ie : auto_io_out_iof_0_5_o_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@284995.4]
  assign _T_5210 = iofEnReg_io_q[5]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@284999.4]
  assign _T_5211_oval = _T_5210 ? iofCtrl_5_oval : swPinCtrl_5_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285000.4]
  assign _T_5212 = xorReg[5]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285003.4]
  assign _T_5214 = riseIpReg[5]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285006.4]
  assign _T_5215 = riseIeReg[5]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285007.4]
  assign _T_5216 = _T_5214 & _T_5215; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285008.4]
  assign _T_5217 = fallIpReg[5]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285009.4]
  assign _T_5218 = fallIeReg[5]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285010.4]
  assign _T_5219 = _T_5217 & _T_5218; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285011.4]
  assign _T_5220 = _T_5216 | _T_5219; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285012.4]
  assign _T_5221 = highIpReg[5]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285013.4]
  assign _T_5222 = highIeReg[5]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285014.4]
  assign _T_5223 = _T_5221 & _T_5222; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285015.4]
  assign _T_5224 = _T_5220 | _T_5223; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285016.4]
  assign _T_5225 = lowIpReg[5]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285017.4]
  assign _T_5226 = lowIeReg[5]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285018.4]
  assign _T_5227 = _T_5225 & _T_5226; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285019.4]
  assign swPinCtrl_6_oval = portReg[6]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285028.4]
  assign swPinCtrl_6_oe = oeReg_io_q[6]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285030.4]
  assign swPinCtrl_6_ie = ieReg_io_q[6]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285034.4]
  assign _T_5238 = iofSelReg[6]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285046.4]
  assign iofCtrl_6_oval = _T_5238 ? swPinCtrl_6_oval : auto_io_out_iof_0_6_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285047.4]
  assign iofCtrl_6_oe = _T_5238 ? swPinCtrl_6_oe : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285047.4]
  assign iofCtrl_6_ie = _T_5238 ? swPinCtrl_6_ie : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285047.4]
  assign _T_5240 = iofEnReg_io_q[6]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285051.4]
  assign _T_5241_oval = _T_5240 ? iofCtrl_6_oval : swPinCtrl_6_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285052.4]
  assign _T_5242 = xorReg[6]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285055.4]
  assign _T_5244 = riseIpReg[6]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285058.4]
  assign _T_5245 = riseIeReg[6]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285059.4]
  assign _T_5246 = _T_5244 & _T_5245; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285060.4]
  assign _T_5247 = fallIpReg[6]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285061.4]
  assign _T_5248 = fallIeReg[6]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285062.4]
  assign _T_5249 = _T_5247 & _T_5248; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285063.4]
  assign _T_5250 = _T_5246 | _T_5249; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285064.4]
  assign _T_5251 = highIpReg[6]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285065.4]
  assign _T_5252 = highIeReg[6]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285066.4]
  assign _T_5253 = _T_5251 & _T_5252; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285067.4]
  assign _T_5254 = _T_5250 | _T_5253; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285068.4]
  assign _T_5255 = lowIpReg[6]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285069.4]
  assign _T_5256 = lowIeReg[6]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285070.4]
  assign _T_5257 = _T_5255 & _T_5256; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285071.4]
  assign swPinCtrl_7_oval = portReg[7]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285080.4]
  assign swPinCtrl_7_oe = oeReg_io_q[7]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285082.4]
  assign swPinCtrl_7_ie = ieReg_io_q[7]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285086.4]
  assign _T_5268 = iofSelReg[7]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285098.4]
  assign iofCtrl_7_oval = _T_5268 ? swPinCtrl_7_oval : auto_io_out_iof_0_7_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285099.4]
  assign iofCtrl_7_oe = _T_5268 ? swPinCtrl_7_oe : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285099.4]
  assign iofCtrl_7_ie = _T_5268 ? swPinCtrl_7_ie : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285099.4]
  assign _T_5270 = iofEnReg_io_q[7]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285103.4]
  assign _T_5271_oval = _T_5270 ? iofCtrl_7_oval : swPinCtrl_7_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285104.4]
  assign _T_5272 = xorReg[7]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285107.4]
  assign _T_5274 = riseIpReg[7]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285110.4]
  assign _T_5275 = riseIeReg[7]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285111.4]
  assign _T_5276 = _T_5274 & _T_5275; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285112.4]
  assign _T_5277 = fallIpReg[7]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285113.4]
  assign _T_5278 = fallIeReg[7]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285114.4]
  assign _T_5279 = _T_5277 & _T_5278; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285115.4]
  assign _T_5280 = _T_5276 | _T_5279; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285116.4]
  assign _T_5281 = highIpReg[7]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285117.4]
  assign _T_5282 = highIeReg[7]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285118.4]
  assign _T_5283 = _T_5281 & _T_5282; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285119.4]
  assign _T_5284 = _T_5280 | _T_5283; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285120.4]
  assign _T_5285 = lowIpReg[7]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285121.4]
  assign _T_5286 = lowIeReg[7]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285122.4]
  assign _T_5287 = _T_5285 & _T_5286; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285123.4]
  assign swPinCtrl_8_oval = portReg[8]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285132.4]
  assign swPinCtrl_8_oe = oeReg_io_q[8]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285134.4]
  assign swPinCtrl_8_ie = ieReg_io_q[8]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285138.4]
  assign _T_5298 = iofSelReg[8]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285150.4]
  assign iofCtrl_8_oval = _T_5298 ? swPinCtrl_8_oval : auto_io_out_iof_0_8_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285151.4]
  assign iofCtrl_8_oe = _T_5298 ? swPinCtrl_8_oe : auto_io_out_iof_0_8_o_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285151.4]
  assign iofCtrl_8_ie = _T_5298 ? swPinCtrl_8_ie : auto_io_out_iof_0_8_o_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285151.4]
  assign _T_5300 = iofEnReg_io_q[8]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285155.4]
  assign _T_5301_oval = _T_5300 ? iofCtrl_8_oval : swPinCtrl_8_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285156.4]
  assign _T_5302 = xorReg[8]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285159.4]
  assign _T_5304 = riseIpReg[8]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285162.4]
  assign _T_5305 = riseIeReg[8]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285163.4]
  assign _T_5306 = _T_5304 & _T_5305; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285164.4]
  assign _T_5307 = fallIpReg[8]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285165.4]
  assign _T_5308 = fallIeReg[8]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285166.4]
  assign _T_5309 = _T_5307 & _T_5308; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285167.4]
  assign _T_5310 = _T_5306 | _T_5309; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285168.4]
  assign _T_5311 = highIpReg[8]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285169.4]
  assign _T_5312 = highIeReg[8]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285170.4]
  assign _T_5313 = _T_5311 & _T_5312; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285171.4]
  assign _T_5314 = _T_5310 | _T_5313; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285172.4]
  assign _T_5315 = lowIpReg[8]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285173.4]
  assign _T_5316 = lowIeReg[8]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285174.4]
  assign _T_5317 = _T_5315 & _T_5316; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285175.4]
  assign swPinCtrl_9_oval = portReg[9]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285184.4]
  assign swPinCtrl_9_oe = oeReg_io_q[9]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285186.4]
  assign swPinCtrl_9_ie = ieReg_io_q[9]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285190.4]
  assign _T_5328 = iofSelReg[9]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285202.4]
  assign iofCtrl_9_oval = _T_5328 ? swPinCtrl_9_oval : auto_io_out_iof_0_9_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285203.4]
  assign iofCtrl_9_oe = _T_5328 ? swPinCtrl_9_oe : auto_io_out_iof_0_9_o_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285203.4]
  assign iofCtrl_9_ie = _T_5328 ? swPinCtrl_9_ie : auto_io_out_iof_0_9_o_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285203.4]
  assign _T_5330 = iofEnReg_io_q[9]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285207.4]
  assign _T_5331_oval = _T_5330 ? iofCtrl_9_oval : swPinCtrl_9_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285208.4]
  assign _T_5332 = xorReg[9]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285211.4]
  assign _T_5334 = riseIpReg[9]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285214.4]
  assign _T_5335 = riseIeReg[9]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285215.4]
  assign _T_5336 = _T_5334 & _T_5335; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285216.4]
  assign _T_5337 = fallIpReg[9]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285217.4]
  assign _T_5338 = fallIeReg[9]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285218.4]
  assign _T_5339 = _T_5337 & _T_5338; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285219.4]
  assign _T_5340 = _T_5336 | _T_5339; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285220.4]
  assign _T_5341 = highIpReg[9]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285221.4]
  assign _T_5342 = highIeReg[9]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285222.4]
  assign _T_5343 = _T_5341 & _T_5342; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285223.4]
  assign _T_5344 = _T_5340 | _T_5343; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285224.4]
  assign _T_5345 = lowIpReg[9]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285225.4]
  assign _T_5346 = lowIeReg[9]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285226.4]
  assign _T_5347 = _T_5345 & _T_5346; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285227.4]
  assign swPinCtrl_10_oval = portReg[10]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285236.4]
  assign swPinCtrl_10_oe = oeReg_io_q[10]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285238.4]
  assign swPinCtrl_10_ie = ieReg_io_q[10]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285242.4]
  assign _T_5358 = iofSelReg[10]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285254.4]
  assign iofCtrl_10_oval = _T_5358 ? swPinCtrl_10_oval : auto_io_out_iof_0_10_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285255.4]
  assign iofCtrl_10_oe = _T_5358 ? swPinCtrl_10_oe : auto_io_out_iof_0_10_o_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285255.4]
  assign iofCtrl_10_ie = _T_5358 ? swPinCtrl_10_ie : auto_io_out_iof_0_10_o_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285255.4]
  assign _T_5360 = iofEnReg_io_q[10]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285259.4]
  assign _T_5361_oval = _T_5360 ? iofCtrl_10_oval : swPinCtrl_10_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285260.4]
  assign _T_5362 = xorReg[10]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285263.4]
  assign _T_5364 = riseIpReg[10]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285266.4]
  assign _T_5365 = riseIeReg[10]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285267.4]
  assign _T_5366 = _T_5364 & _T_5365; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285268.4]
  assign _T_5367 = fallIpReg[10]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285269.4]
  assign _T_5368 = fallIeReg[10]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285270.4]
  assign _T_5369 = _T_5367 & _T_5368; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285271.4]
  assign _T_5370 = _T_5366 | _T_5369; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285272.4]
  assign _T_5371 = highIpReg[10]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285273.4]
  assign _T_5372 = highIeReg[10]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285274.4]
  assign _T_5373 = _T_5371 & _T_5372; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285275.4]
  assign _T_5374 = _T_5370 | _T_5373; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285276.4]
  assign _T_5375 = lowIpReg[10]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285277.4]
  assign _T_5376 = lowIeReg[10]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285278.4]
  assign _T_5377 = _T_5375 & _T_5376; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285279.4]
  assign swPinCtrl_11_oval = portReg[11]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285288.4]
  assign swPinCtrl_11_oe = oeReg_io_q[11]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285290.4]
  assign swPinCtrl_11_ie = ieReg_io_q[11]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285294.4]
  assign _T_5388 = iofSelReg[11]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285306.4]
  assign iofCtrl_11_oval = _T_5388 ? swPinCtrl_11_oval : auto_io_out_iof_0_11_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285307.4]
  assign iofCtrl_11_oe = _T_5388 ? swPinCtrl_11_oe : auto_io_out_iof_0_11_o_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285307.4]
  assign iofCtrl_11_ie = _T_5388 ? swPinCtrl_11_ie : auto_io_out_iof_0_11_o_ie; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285307.4]
  assign _T_5390 = iofEnReg_io_q[11]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285311.4]
  assign _T_5391_oval = _T_5390 ? iofCtrl_11_oval : swPinCtrl_11_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285312.4]
  assign _T_5392 = xorReg[11]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285315.4]
  assign _T_5394 = riseIpReg[11]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285318.4]
  assign _T_5395 = riseIeReg[11]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285319.4]
  assign _T_5396 = _T_5394 & _T_5395; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285320.4]
  assign _T_5397 = fallIpReg[11]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285321.4]
  assign _T_5398 = fallIeReg[11]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285322.4]
  assign _T_5399 = _T_5397 & _T_5398; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285323.4]
  assign _T_5400 = _T_5396 | _T_5399; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285324.4]
  assign _T_5401 = highIpReg[11]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285325.4]
  assign _T_5402 = highIeReg[11]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285326.4]
  assign _T_5403 = _T_5401 & _T_5402; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285327.4]
  assign _T_5404 = _T_5400 | _T_5403; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285328.4]
  assign _T_5405 = lowIpReg[11]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285329.4]
  assign _T_5406 = lowIeReg[11]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285330.4]
  assign _T_5407 = _T_5405 & _T_5406; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285331.4]
  assign swPinCtrl_12_oval = portReg[12]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285340.4]
  assign swPinCtrl_12_oe = oeReg_io_q[12]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285342.4]
  assign swPinCtrl_12_ie = ieReg_io_q[12]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285346.4]
  assign _T_5418 = iofSelReg[12]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285358.4]
  assign iofCtrl_12_oval = _T_5418 ? swPinCtrl_12_oval : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285359.4]
  assign iofCtrl_12_oe = _T_5418 ? swPinCtrl_12_oe : auto_io_out_iof_0_12_o_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285359.4]
  assign iofCtrl_12_ie = _T_5418 ? swPinCtrl_12_ie : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285359.4]
  assign _T_5420 = iofEnReg_io_q[12]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285363.4]
  assign _T_5421_oval = _T_5420 ? iofCtrl_12_oval : swPinCtrl_12_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285364.4]
  assign _T_5422 = xorReg[12]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285367.4]
  assign _T_5424 = riseIpReg[12]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285370.4]
  assign _T_5425 = riseIeReg[12]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285371.4]
  assign _T_5426 = _T_5424 & _T_5425; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285372.4]
  assign _T_5427 = fallIpReg[12]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285373.4]
  assign _T_5428 = fallIeReg[12]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285374.4]
  assign _T_5429 = _T_5427 & _T_5428; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285375.4]
  assign _T_5430 = _T_5426 | _T_5429; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285376.4]
  assign _T_5431 = highIpReg[12]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285377.4]
  assign _T_5432 = highIeReg[12]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285378.4]
  assign _T_5433 = _T_5431 & _T_5432; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285379.4]
  assign _T_5434 = _T_5430 | _T_5433; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285380.4]
  assign _T_5435 = lowIpReg[12]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285381.4]
  assign _T_5436 = lowIeReg[12]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285382.4]
  assign _T_5437 = _T_5435 & _T_5436; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285383.4]
  assign swPinCtrl_13_oval = portReg[13]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285392.4]
  assign swPinCtrl_13_oe = oeReg_io_q[13]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285394.4]
  assign swPinCtrl_13_ie = ieReg_io_q[13]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285398.4]
  assign _T_5448 = iofSelReg[13]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285410.4]
  assign iofCtrl_13_oval = _T_5448 ? swPinCtrl_13_oval : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285411.4]
  assign iofCtrl_13_oe = _T_5448 ? swPinCtrl_13_oe : auto_io_out_iof_0_13_o_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285411.4]
  assign iofCtrl_13_ie = _T_5448 ? swPinCtrl_13_ie : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285411.4]
  assign _T_5450 = iofEnReg_io_q[13]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285415.4]
  assign _T_5451_oval = _T_5450 ? iofCtrl_13_oval : swPinCtrl_13_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285416.4]
  assign _T_5452 = xorReg[13]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285419.4]
  assign _T_5454 = riseIpReg[13]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285422.4]
  assign _T_5455 = riseIeReg[13]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285423.4]
  assign _T_5456 = _T_5454 & _T_5455; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285424.4]
  assign _T_5457 = fallIpReg[13]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285425.4]
  assign _T_5458 = fallIeReg[13]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285426.4]
  assign _T_5459 = _T_5457 & _T_5458; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285427.4]
  assign _T_5460 = _T_5456 | _T_5459; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285428.4]
  assign _T_5461 = highIpReg[13]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285429.4]
  assign _T_5462 = highIeReg[13]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285430.4]
  assign _T_5463 = _T_5461 & _T_5462; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285431.4]
  assign _T_5464 = _T_5460 | _T_5463; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285432.4]
  assign _T_5465 = lowIpReg[13]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285433.4]
  assign _T_5466 = lowIeReg[13]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285434.4]
  assign _T_5467 = _T_5465 & _T_5466; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285435.4]
  assign swPinCtrl_14_oval = portReg[14]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285444.4]
  assign swPinCtrl_14_oe = oeReg_io_q[14]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285446.4]
  assign swPinCtrl_14_ie = ieReg_io_q[14]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285450.4]
  assign _T_5478 = iofSelReg[14]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285462.4]
  assign iofCtrl_14_oval = _T_5478 ? swPinCtrl_14_oval : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285463.4]
  assign iofCtrl_14_oe = _T_5478 ? swPinCtrl_14_oe : auto_io_out_iof_0_14_o_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285463.4]
  assign iofCtrl_14_ie = _T_5478 ? swPinCtrl_14_ie : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285463.4]
  assign _T_5480 = iofEnReg_io_q[14]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285467.4]
  assign _T_5481_oval = _T_5480 ? iofCtrl_14_oval : swPinCtrl_14_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285468.4]
  assign _T_5482 = xorReg[14]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285471.4]
  assign _T_5484 = riseIpReg[14]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285474.4]
  assign _T_5485 = riseIeReg[14]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285475.4]
  assign _T_5486 = _T_5484 & _T_5485; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285476.4]
  assign _T_5487 = fallIpReg[14]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285477.4]
  assign _T_5488 = fallIeReg[14]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285478.4]
  assign _T_5489 = _T_5487 & _T_5488; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285479.4]
  assign _T_5490 = _T_5486 | _T_5489; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285480.4]
  assign _T_5491 = highIpReg[14]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285481.4]
  assign _T_5492 = highIeReg[14]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285482.4]
  assign _T_5493 = _T_5491 & _T_5492; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285483.4]
  assign _T_5494 = _T_5490 | _T_5493; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285484.4]
  assign _T_5495 = lowIpReg[14]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285485.4]
  assign _T_5496 = lowIeReg[14]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285486.4]
  assign _T_5497 = _T_5495 & _T_5496; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285487.4]
  assign swPinCtrl_15_oval = portReg[15]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285496.4]
  assign swPinCtrl_15_oe = oeReg_io_q[15]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285498.4]
  assign swPinCtrl_15_ie = ieReg_io_q[15]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285502.4]
  assign _T_5508 = iofSelReg[15]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285514.4]
  assign iofCtrl_15_oval = _T_5508 ? swPinCtrl_15_oval : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285515.4]
  assign iofCtrl_15_oe = _T_5508 ? swPinCtrl_15_oe : auto_io_out_iof_0_15_o_oe; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285515.4]
  assign iofCtrl_15_ie = _T_5508 ? swPinCtrl_15_ie : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285515.4]
  assign _T_5510 = iofEnReg_io_q[15]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285519.4]
  assign _T_5511_oval = _T_5510 ? iofCtrl_15_oval : swPinCtrl_15_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285520.4]
  assign _T_5512 = xorReg[15]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285523.4]
  assign _T_5514 = riseIpReg[15]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285526.4]
  assign _T_5515 = riseIeReg[15]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285527.4]
  assign _T_5516 = _T_5514 & _T_5515; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285528.4]
  assign _T_5517 = fallIpReg[15]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285529.4]
  assign _T_5518 = fallIeReg[15]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285530.4]
  assign _T_5519 = _T_5517 & _T_5518; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285531.4]
  assign _T_5520 = _T_5516 | _T_5519; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285532.4]
  assign _T_5521 = highIpReg[15]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285533.4]
  assign _T_5522 = highIeReg[15]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285534.4]
  assign _T_5523 = _T_5521 & _T_5522; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285535.4]
  assign _T_5524 = _T_5520 | _T_5523; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285536.4]
  assign _T_5525 = lowIpReg[15]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285537.4]
  assign _T_5526 = lowIeReg[15]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285538.4]
  assign _T_5527 = _T_5525 & _T_5526; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285539.4]
  assign swPinCtrl_16_oval = portReg[16]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285548.4]
  assign swPinCtrl_16_oe = oeReg_io_q[16]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285550.4]
  assign swPinCtrl_16_ie = ieReg_io_q[16]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285554.4]
  assign _T_5538 = iofSelReg[16]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285566.4]
  assign iofCtrl_16_oval = _T_5538 ? swPinCtrl_16_oval : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285567.4]
  assign iofCtrl_16_oe = _T_5538 ? swPinCtrl_16_oe : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285567.4]
  assign iofCtrl_16_ie = _T_5538 ? swPinCtrl_16_ie : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285567.4]
  assign _T_5540 = iofEnReg_io_q[16]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285571.4]
  assign _T_5541_oval = _T_5540 ? iofCtrl_16_oval : swPinCtrl_16_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285572.4]
  assign _T_5542 = xorReg[16]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285575.4]
  assign _T_5544 = riseIpReg[16]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285578.4]
  assign _T_5545 = riseIeReg[16]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285579.4]
  assign _T_5546 = _T_5544 & _T_5545; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285580.4]
  assign _T_5547 = fallIpReg[16]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285581.4]
  assign _T_5548 = fallIeReg[16]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285582.4]
  assign _T_5549 = _T_5547 & _T_5548; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285583.4]
  assign _T_5550 = _T_5546 | _T_5549; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285584.4]
  assign _T_5551 = highIpReg[16]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285585.4]
  assign _T_5552 = highIeReg[16]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285586.4]
  assign _T_5553 = _T_5551 & _T_5552; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285587.4]
  assign _T_5554 = _T_5550 | _T_5553; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285588.4]
  assign _T_5555 = lowIpReg[16]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285589.4]
  assign _T_5556 = lowIeReg[16]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285590.4]
  assign _T_5557 = _T_5555 & _T_5556; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285591.4]
  assign swPinCtrl_17_oval = portReg[17]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285600.4]
  assign swPinCtrl_17_oe = oeReg_io_q[17]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285602.4]
  assign swPinCtrl_17_ie = ieReg_io_q[17]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285606.4]
  assign _T_5568 = iofSelReg[17]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285618.4]
  assign iofCtrl_17_oval = _T_5568 ? swPinCtrl_17_oval : auto_io_out_iof_0_17_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285619.4]
  assign iofCtrl_17_oe = _T_5568 ? swPinCtrl_17_oe : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285619.4]
  assign iofCtrl_17_ie = _T_5568 ? swPinCtrl_17_ie : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285619.4]
  assign _T_5570 = iofEnReg_io_q[17]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285623.4]
  assign _T_5571_oval = _T_5570 ? iofCtrl_17_oval : swPinCtrl_17_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285624.4]
  assign _T_5572 = xorReg[17]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285627.4]
  assign _T_5574 = riseIpReg[17]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285630.4]
  assign _T_5575 = riseIeReg[17]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285631.4]
  assign _T_5576 = _T_5574 & _T_5575; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285632.4]
  assign _T_5577 = fallIpReg[17]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285633.4]
  assign _T_5578 = fallIeReg[17]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285634.4]
  assign _T_5579 = _T_5577 & _T_5578; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285635.4]
  assign _T_5580 = _T_5576 | _T_5579; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285636.4]
  assign _T_5581 = highIpReg[17]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285637.4]
  assign _T_5582 = highIeReg[17]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285638.4]
  assign _T_5583 = _T_5581 & _T_5582; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285639.4]
  assign _T_5584 = _T_5580 | _T_5583; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285640.4]
  assign _T_5585 = lowIpReg[17]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285641.4]
  assign _T_5586 = lowIeReg[17]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285642.4]
  assign _T_5587 = _T_5585 & _T_5586; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285643.4]
  assign swPinCtrl_18_oval = portReg[18]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285652.4]
  assign swPinCtrl_18_oe = oeReg_io_q[18]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285654.4]
  assign swPinCtrl_18_ie = ieReg_io_q[18]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285658.4]
  assign _T_5598 = iofSelReg[18]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285670.4]
  assign iofCtrl_18_oval = _T_5598 ? swPinCtrl_18_oval : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285671.4]
  assign iofCtrl_18_oe = _T_5598 ? swPinCtrl_18_oe : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285671.4]
  assign iofCtrl_18_ie = _T_5598 ? swPinCtrl_18_ie : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285671.4]
  assign _T_5600 = iofEnReg_io_q[18]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285675.4]
  assign _T_5601_oval = _T_5600 ? iofCtrl_18_oval : swPinCtrl_18_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285676.4]
  assign _T_5602 = xorReg[18]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285679.4]
  assign _T_5604 = riseIpReg[18]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285682.4]
  assign _T_5605 = riseIeReg[18]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285683.4]
  assign _T_5606 = _T_5604 & _T_5605; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285684.4]
  assign _T_5607 = fallIpReg[18]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285685.4]
  assign _T_5608 = fallIeReg[18]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285686.4]
  assign _T_5609 = _T_5607 & _T_5608; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285687.4]
  assign _T_5610 = _T_5606 | _T_5609; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285688.4]
  assign _T_5611 = highIpReg[18]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285689.4]
  assign _T_5612 = highIeReg[18]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285690.4]
  assign _T_5613 = _T_5611 & _T_5612; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285691.4]
  assign _T_5614 = _T_5610 | _T_5613; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285692.4]
  assign _T_5615 = lowIpReg[18]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285693.4]
  assign _T_5616 = lowIeReg[18]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285694.4]
  assign _T_5617 = _T_5615 & _T_5616; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285695.4]
  assign swPinCtrl_19_oval = portReg[19]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285704.4]
  assign swPinCtrl_19_oe = oeReg_io_q[19]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285706.4]
  assign swPinCtrl_19_ie = ieReg_io_q[19]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285710.4]
  assign _T_5628 = iofSelReg[19]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285722.4]
  assign iofCtrl_19_oval = _T_5628 ? swPinCtrl_19_oval : auto_io_out_iof_0_19_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285723.4]
  assign iofCtrl_19_oe = _T_5628 ? swPinCtrl_19_oe : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285723.4]
  assign iofCtrl_19_ie = _T_5628 ? swPinCtrl_19_ie : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285723.4]
  assign _T_5630 = iofEnReg_io_q[19]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285727.4]
  assign _T_5631_oval = _T_5630 ? iofCtrl_19_oval : swPinCtrl_19_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285728.4]
  assign _T_5632 = xorReg[19]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285731.4]
  assign _T_5634 = riseIpReg[19]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285734.4]
  assign _T_5635 = riseIeReg[19]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285735.4]
  assign _T_5636 = _T_5634 & _T_5635; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285736.4]
  assign _T_5637 = fallIpReg[19]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285737.4]
  assign _T_5638 = fallIeReg[19]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285738.4]
  assign _T_5639 = _T_5637 & _T_5638; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285739.4]
  assign _T_5640 = _T_5636 | _T_5639; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285740.4]
  assign _T_5641 = highIpReg[19]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285741.4]
  assign _T_5642 = highIeReg[19]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285742.4]
  assign _T_5643 = _T_5641 & _T_5642; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285743.4]
  assign _T_5644 = _T_5640 | _T_5643; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285744.4]
  assign _T_5645 = lowIpReg[19]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285745.4]
  assign _T_5646 = lowIeReg[19]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285746.4]
  assign _T_5647 = _T_5645 & _T_5646; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285747.4]
  assign swPinCtrl_20_oval = portReg[20]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285756.4]
  assign swPinCtrl_20_oe = oeReg_io_q[20]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285758.4]
  assign swPinCtrl_20_ie = ieReg_io_q[20]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285762.4]
  assign _T_5658 = iofSelReg[20]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285774.4]
  assign iofCtrl_20_oval = _T_5658 ? swPinCtrl_20_oval : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285775.4]
  assign iofCtrl_20_oe = _T_5658 ? swPinCtrl_20_oe : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285775.4]
  assign iofCtrl_20_ie = _T_5658 ? swPinCtrl_20_ie : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285775.4]
  assign _T_5660 = iofEnReg_io_q[20]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285779.4]
  assign _T_5661_oval = _T_5660 ? iofCtrl_20_oval : swPinCtrl_20_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285780.4]
  assign _T_5662 = xorReg[20]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285783.4]
  assign _T_5664 = riseIpReg[20]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285786.4]
  assign _T_5665 = riseIeReg[20]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285787.4]
  assign _T_5666 = _T_5664 & _T_5665; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285788.4]
  assign _T_5667 = fallIpReg[20]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285789.4]
  assign _T_5668 = fallIeReg[20]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285790.4]
  assign _T_5669 = _T_5667 & _T_5668; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285791.4]
  assign _T_5670 = _T_5666 | _T_5669; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285792.4]
  assign _T_5671 = highIpReg[20]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285793.4]
  assign _T_5672 = highIeReg[20]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285794.4]
  assign _T_5673 = _T_5671 & _T_5672; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285795.4]
  assign _T_5674 = _T_5670 | _T_5673; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285796.4]
  assign _T_5675 = lowIpReg[20]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285797.4]
  assign _T_5676 = lowIeReg[20]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285798.4]
  assign _T_5677 = _T_5675 & _T_5676; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285799.4]
  assign swPinCtrl_21_oval = portReg[21]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285808.4]
  assign swPinCtrl_21_oe = oeReg_io_q[21]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285810.4]
  assign swPinCtrl_21_ie = ieReg_io_q[21]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285814.4]
  assign _T_5688 = iofSelReg[21]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285826.4]
  assign iofCtrl_21_oval = _T_5688 ? swPinCtrl_21_oval : auto_io_out_iof_0_21_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285827.4]
  assign iofCtrl_21_oe = _T_5688 ? swPinCtrl_21_oe : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285827.4]
  assign iofCtrl_21_ie = _T_5688 ? swPinCtrl_21_ie : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285827.4]
  assign _T_5690 = iofEnReg_io_q[21]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285831.4]
  assign _T_5691_oval = _T_5690 ? iofCtrl_21_oval : swPinCtrl_21_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285832.4]
  assign _T_5692 = xorReg[21]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285835.4]
  assign _T_5694 = riseIpReg[21]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285838.4]
  assign _T_5695 = riseIeReg[21]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285839.4]
  assign _T_5696 = _T_5694 & _T_5695; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285840.4]
  assign _T_5697 = fallIpReg[21]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285841.4]
  assign _T_5698 = fallIeReg[21]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285842.4]
  assign _T_5699 = _T_5697 & _T_5698; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285843.4]
  assign _T_5700 = _T_5696 | _T_5699; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285844.4]
  assign _T_5701 = highIpReg[21]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285845.4]
  assign _T_5702 = highIeReg[21]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285846.4]
  assign _T_5703 = _T_5701 & _T_5702; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285847.4]
  assign _T_5704 = _T_5700 | _T_5703; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285848.4]
  assign _T_5705 = lowIpReg[21]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285849.4]
  assign _T_5706 = lowIeReg[21]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285850.4]
  assign _T_5707 = _T_5705 & _T_5706; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285851.4]
  assign swPinCtrl_22_oval = portReg[22]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285860.4]
  assign swPinCtrl_22_oe = oeReg_io_q[22]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285862.4]
  assign swPinCtrl_22_ie = ieReg_io_q[22]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285866.4]
  assign _T_5718 = iofSelReg[22]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285878.4]
  assign iofCtrl_22_oval = _T_5718 ? swPinCtrl_22_oval : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285879.4]
  assign iofCtrl_22_oe = _T_5718 ? swPinCtrl_22_oe : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285879.4]
  assign iofCtrl_22_ie = _T_5718 ? swPinCtrl_22_ie : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285879.4]
  assign _T_5720 = iofEnReg_io_q[22]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285883.4]
  assign _T_5721_oval = _T_5720 ? iofCtrl_22_oval : swPinCtrl_22_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285884.4]
  assign _T_5722 = xorReg[22]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285887.4]
  assign _T_5724 = riseIpReg[22]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285890.4]
  assign _T_5725 = riseIeReg[22]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285891.4]
  assign _T_5726 = _T_5724 & _T_5725; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285892.4]
  assign _T_5727 = fallIpReg[22]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285893.4]
  assign _T_5728 = fallIeReg[22]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285894.4]
  assign _T_5729 = _T_5727 & _T_5728; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285895.4]
  assign _T_5730 = _T_5726 | _T_5729; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285896.4]
  assign _T_5731 = highIpReg[22]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285897.4]
  assign _T_5732 = highIeReg[22]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285898.4]
  assign _T_5733 = _T_5731 & _T_5732; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285899.4]
  assign _T_5734 = _T_5730 | _T_5733; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285900.4]
  assign _T_5735 = lowIpReg[22]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285901.4]
  assign _T_5736 = lowIeReg[22]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285902.4]
  assign _T_5737 = _T_5735 & _T_5736; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285903.4]
  assign swPinCtrl_23_oval = portReg[23]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285912.4]
  assign swPinCtrl_23_oe = oeReg_io_q[23]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285914.4]
  assign swPinCtrl_23_ie = ieReg_io_q[23]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285918.4]
  assign _T_5748 = iofSelReg[23]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285930.4]
  assign iofCtrl_23_oval = _T_5748 ? swPinCtrl_23_oval : auto_io_out_iof_0_23_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285931.4]
  assign iofCtrl_23_oe = _T_5748 ? swPinCtrl_23_oe : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285931.4]
  assign iofCtrl_23_ie = _T_5748 ? swPinCtrl_23_ie : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285931.4]
  assign _T_5750 = iofEnReg_io_q[23]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285935.4]
  assign _T_5751_oval = _T_5750 ? iofCtrl_23_oval : swPinCtrl_23_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285936.4]
  assign _T_5752 = xorReg[23]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285939.4]
  assign _T_5754 = riseIpReg[23]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285942.4]
  assign _T_5755 = riseIeReg[23]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285943.4]
  assign _T_5756 = _T_5754 & _T_5755; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285944.4]
  assign _T_5757 = fallIpReg[23]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285945.4]
  assign _T_5758 = fallIeReg[23]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285946.4]
  assign _T_5759 = _T_5757 & _T_5758; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285947.4]
  assign _T_5760 = _T_5756 | _T_5759; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@285948.4]
  assign _T_5761 = highIpReg[23]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285949.4]
  assign _T_5762 = highIeReg[23]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285950.4]
  assign _T_5763 = _T_5761 & _T_5762; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285951.4]
  assign _T_5764 = _T_5760 | _T_5763; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@285952.4]
  assign _T_5765 = lowIpReg[23]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@285953.4]
  assign _T_5766 = lowIeReg[23]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285954.4]
  assign _T_5767 = _T_5765 & _T_5766; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@285955.4]
  assign swPinCtrl_24_oval = portReg[24]; // @[GPIO.scala 155:37:shc.marmotcaravel.MarmotCaravelConfig.fir@285964.4]
  assign swPinCtrl_24_oe = oeReg_io_q[24]; // @[GPIO.scala 156:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285966.4]
  assign swPinCtrl_24_ie = ieReg_io_q[24]; // @[GPIO.scala 158:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285970.4]
  assign _T_5778 = iofSelReg[24]; // @[GPIO.scala 175:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285982.4]
  assign iofCtrl_24_oval = _T_5778 ? swPinCtrl_24_oval : auto_io_out_iof_0_24_o_oval; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285983.4]
  assign iofCtrl_24_oe = _T_5778 ? swPinCtrl_24_oe : 1'h1; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285983.4]
  assign iofCtrl_24_ie = _T_5778 ? swPinCtrl_24_ie : 1'h0; // @[GPIO.scala 175:32:shc.marmotcaravel.MarmotCaravelConfig.fir@285983.4]
  assign _T_5780 = iofEnReg_io_q[24]; // @[GPIO.scala 182:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285987.4]
  assign _T_5781_oval = _T_5780 ? iofCtrl_24_oval : swPinCtrl_24_oval; // @[GPIO.scala 182:22:shc.marmotcaravel.MarmotCaravelConfig.fir@285988.4]
  assign _T_5782 = xorReg[24]; // @[GPIO.scala 188:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285991.4]
  assign _T_5784 = riseIpReg[24]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@285994.4]
  assign _T_5785 = riseIeReg[24]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@285995.4]
  assign _T_5786 = _T_5784 & _T_5785; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@285996.4]
  assign _T_5787 = fallIpReg[24]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@285997.4]
  assign _T_5788 = fallIeReg[24]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@285998.4]
  assign _T_5789 = _T_5787 & _T_5788; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@285999.4]
  assign _T_5790 = _T_5786 | _T_5789; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286000.4]
  assign _T_5791 = highIpReg[24]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286001.4]
  assign _T_5792 = highIeReg[24]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286002.4]
  assign _T_5793 = _T_5791 & _T_5792; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286003.4]
  assign _T_5794 = _T_5790 | _T_5793; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286004.4]
  assign _T_5795 = lowIpReg[24]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286005.4]
  assign _T_5796 = lowIeReg[24]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286006.4]
  assign _T_5797 = _T_5795 & _T_5796; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286007.4]
  assign _T_5814 = riseIpReg[25]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286046.4]
  assign _T_5815 = riseIeReg[25]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286047.4]
  assign _T_5816 = _T_5814 & _T_5815; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286048.4]
  assign _T_5817 = fallIpReg[25]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286049.4]
  assign _T_5818 = fallIeReg[25]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286050.4]
  assign _T_5819 = _T_5817 & _T_5818; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286051.4]
  assign _T_5820 = _T_5816 | _T_5819; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286052.4]
  assign _T_5821 = highIpReg[25]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286053.4]
  assign _T_5822 = highIeReg[25]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286054.4]
  assign _T_5823 = _T_5821 & _T_5822; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286055.4]
  assign _T_5824 = _T_5820 | _T_5823; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286056.4]
  assign _T_5825 = lowIpReg[25]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286057.4]
  assign _T_5826 = lowIeReg[25]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286058.4]
  assign _T_5827 = _T_5825 & _T_5826; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286059.4]
  assign _T_5844 = riseIpReg[26]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286098.4]
  assign _T_5845 = riseIeReg[26]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286099.4]
  assign _T_5846 = _T_5844 & _T_5845; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286100.4]
  assign _T_5847 = fallIpReg[26]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286101.4]
  assign _T_5848 = fallIeReg[26]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286102.4]
  assign _T_5849 = _T_5847 & _T_5848; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286103.4]
  assign _T_5850 = _T_5846 | _T_5849; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286104.4]
  assign _T_5851 = highIpReg[26]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286105.4]
  assign _T_5852 = highIeReg[26]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286106.4]
  assign _T_5853 = _T_5851 & _T_5852; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286107.4]
  assign _T_5854 = _T_5850 | _T_5853; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286108.4]
  assign _T_5855 = lowIpReg[26]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286109.4]
  assign _T_5856 = lowIeReg[26]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286110.4]
  assign _T_5857 = _T_5855 & _T_5856; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286111.4]
  assign _T_5874 = riseIpReg[27]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286150.4]
  assign _T_5875 = riseIeReg[27]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286151.4]
  assign _T_5876 = _T_5874 & _T_5875; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286152.4]
  assign _T_5877 = fallIpReg[27]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286153.4]
  assign _T_5878 = fallIeReg[27]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286154.4]
  assign _T_5879 = _T_5877 & _T_5878; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286155.4]
  assign _T_5880 = _T_5876 | _T_5879; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286156.4]
  assign _T_5881 = highIpReg[27]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286157.4]
  assign _T_5882 = highIeReg[27]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286158.4]
  assign _T_5883 = _T_5881 & _T_5882; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286159.4]
  assign _T_5884 = _T_5880 | _T_5883; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286160.4]
  assign _T_5885 = lowIpReg[27]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286161.4]
  assign _T_5886 = lowIeReg[27]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286162.4]
  assign _T_5887 = _T_5885 & _T_5886; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286163.4]
  assign _T_5904 = riseIpReg[28]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286202.4]
  assign _T_5905 = riseIeReg[28]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286203.4]
  assign _T_5906 = _T_5904 & _T_5905; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286204.4]
  assign _T_5907 = fallIpReg[28]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286205.4]
  assign _T_5908 = fallIeReg[28]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286206.4]
  assign _T_5909 = _T_5907 & _T_5908; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286207.4]
  assign _T_5910 = _T_5906 | _T_5909; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286208.4]
  assign _T_5911 = highIpReg[28]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286209.4]
  assign _T_5912 = highIeReg[28]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286210.4]
  assign _T_5913 = _T_5911 & _T_5912; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286211.4]
  assign _T_5914 = _T_5910 | _T_5913; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286212.4]
  assign _T_5915 = lowIpReg[28]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286213.4]
  assign _T_5916 = lowIeReg[28]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286214.4]
  assign _T_5917 = _T_5915 & _T_5916; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286215.4]
  assign _T_5934 = riseIpReg[29]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286254.4]
  assign _T_5935 = riseIeReg[29]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286255.4]
  assign _T_5936 = _T_5934 & _T_5935; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286256.4]
  assign _T_5937 = fallIpReg[29]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286257.4]
  assign _T_5938 = fallIeReg[29]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286258.4]
  assign _T_5939 = _T_5937 & _T_5938; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286259.4]
  assign _T_5940 = _T_5936 | _T_5939; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286260.4]
  assign _T_5941 = highIpReg[29]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286261.4]
  assign _T_5942 = highIeReg[29]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286262.4]
  assign _T_5943 = _T_5941 & _T_5942; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286263.4]
  assign _T_5944 = _T_5940 | _T_5943; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286264.4]
  assign _T_5945 = lowIpReg[29]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286265.4]
  assign _T_5946 = lowIeReg[29]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286266.4]
  assign _T_5947 = _T_5945 & _T_5946; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286267.4]
  assign _T_5964 = riseIpReg[30]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286306.4]
  assign _T_5965 = riseIeReg[30]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286307.4]
  assign _T_5966 = _T_5964 & _T_5965; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286308.4]
  assign _T_5967 = fallIpReg[30]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286309.4]
  assign _T_5968 = fallIeReg[30]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286310.4]
  assign _T_5969 = _T_5967 & _T_5968; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286311.4]
  assign _T_5970 = _T_5966 | _T_5969; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286312.4]
  assign _T_5971 = highIpReg[30]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286313.4]
  assign _T_5972 = highIeReg[30]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286314.4]
  assign _T_5973 = _T_5971 & _T_5972; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286315.4]
  assign _T_5974 = _T_5970 | _T_5973; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286316.4]
  assign _T_5975 = lowIpReg[30]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286317.4]
  assign _T_5976 = lowIeReg[30]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286318.4]
  assign _T_5977 = _T_5975 & _T_5976; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286319.4]
  assign _T_5994 = riseIpReg[31]; // @[GPIO.scala 191:34:shc.marmotcaravel.MarmotCaravelConfig.fir@286358.4]
  assign _T_5995 = riseIeReg[31]; // @[GPIO.scala 191:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286359.4]
  assign _T_5996 = _T_5994 & _T_5995; // @[GPIO.scala 191:40:shc.marmotcaravel.MarmotCaravelConfig.fir@286360.4]
  assign _T_5997 = fallIpReg[31]; // @[GPIO.scala 192:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286361.4]
  assign _T_5998 = fallIeReg[31]; // @[GPIO.scala 192:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286362.4]
  assign _T_5999 = _T_5997 & _T_5998; // @[GPIO.scala 192:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286363.4]
  assign _T_6000 = _T_5996 | _T_5999; // @[GPIO.scala 191:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286364.4]
  assign _T_6001 = highIpReg[31]; // @[GPIO.scala 193:36:shc.marmotcaravel.MarmotCaravelConfig.fir@286365.4]
  assign _T_6002 = highIeReg[31]; // @[GPIO.scala 193:53:shc.marmotcaravel.MarmotCaravelConfig.fir@286366.4]
  assign _T_6003 = _T_6001 & _T_6002; // @[GPIO.scala 193:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286367.4]
  assign _T_6004 = _T_6000 | _T_6003; // @[GPIO.scala 192:60:shc.marmotcaravel.MarmotCaravelConfig.fir@286368.4]
  assign _T_6005 = lowIpReg[31]; // @[GPIO.scala 194:35:shc.marmotcaravel.MarmotCaravelConfig.fir@286369.4]
  assign _T_6006 = lowIeReg[31]; // @[GPIO.scala 194:51:shc.marmotcaravel.MarmotCaravelConfig.fir@286370.4]
  assign _T_6007 = _T_6005 & _T_6006; // @[GPIO.scala 194:41:shc.marmotcaravel.MarmotCaravelConfig.fir@286371.4]
  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_1 = intsource_auto_out_sync_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_2 = intsource_auto_out_sync_2; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_3 = intsource_auto_out_sync_3; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_4 = intsource_auto_out_sync_4; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_5 = intsource_auto_out_sync_5; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_6 = intsource_auto_out_sync_6; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_7 = intsource_auto_out_sync_7; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_8 = intsource_auto_out_sync_8; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_9 = intsource_auto_out_sync_9; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_10 = intsource_auto_out_sync_10; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_11 = intsource_auto_out_sync_11; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_12 = intsource_auto_out_sync_12; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_13 = intsource_auto_out_sync_13; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_14 = intsource_auto_out_sync_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_15 = intsource_auto_out_sync_15; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_16 = intsource_auto_out_sync_16; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_17 = intsource_auto_out_sync_17; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_18 = intsource_auto_out_sync_18; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_19 = intsource_auto_out_sync_19; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_20 = intsource_auto_out_sync_20; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_21 = intsource_auto_out_sync_21; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_22 = intsource_auto_out_sync_22; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_23 = intsource_auto_out_sync_23; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_24 = intsource_auto_out_sync_24; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_25 = intsource_auto_out_sync_25; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_26 = intsource_auto_out_sync_26; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_27 = intsource_auto_out_sync_27; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_28 = intsource_auto_out_sync_28; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_29 = intsource_auto_out_sync_29; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_30 = intsource_auto_out_sync_30; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_int_xing_out_sync_31 = intsource_auto_out_sync_31; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282700.4]
  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282699.4]
  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282699.4]
  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282699.4]
  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282699.4]
  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282699.4]
  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282699.4]
  assign auto_io_out_pins_0_o_oval = _T_5061_oval ^ _T_5062; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_0_o_oe = _T_5060 ? iofCtrl_0_oe : swPinCtrl_0_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_0_o_ie = _T_5060 ? iofCtrl_0_ie : swPinCtrl_0_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_1_o_oval = _T_5091_oval ^ _T_5092; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_1_o_oe = _T_5090 ? iofCtrl_1_oe : swPinCtrl_1_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_1_o_ie = _T_5090 ? iofCtrl_1_ie : swPinCtrl_1_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_2_o_oval = _T_5121_oval ^ _T_5122; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_2_o_oe = _T_5120 ? iofCtrl_2_oe : swPinCtrl_2_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_2_o_ie = _T_5120 ? iofCtrl_2_ie : swPinCtrl_2_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_3_o_oval = _T_5151_oval ^ _T_5152; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_3_o_oe = _T_5150 ? iofCtrl_3_oe : swPinCtrl_3_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_3_o_ie = _T_5150 ? iofCtrl_3_ie : swPinCtrl_3_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_4_o_oval = _T_5181_oval ^ _T_5182; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_4_o_oe = _T_5180 ? iofCtrl_4_oe : swPinCtrl_4_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_4_o_ie = _T_5180 ? iofCtrl_4_ie : swPinCtrl_4_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_5_o_oval = _T_5211_oval ^ _T_5212; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_5_o_oe = _T_5210 ? iofCtrl_5_oe : swPinCtrl_5_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_5_o_ie = _T_5210 ? iofCtrl_5_ie : swPinCtrl_5_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_6_o_oval = _T_5241_oval ^ _T_5242; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_6_o_oe = _T_5240 ? iofCtrl_6_oe : swPinCtrl_6_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_6_o_ie = _T_5240 ? iofCtrl_6_ie : swPinCtrl_6_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_7_o_oval = _T_5271_oval ^ _T_5272; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_7_o_oe = _T_5270 ? iofCtrl_7_oe : swPinCtrl_7_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_7_o_ie = _T_5270 ? iofCtrl_7_ie : swPinCtrl_7_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_8_o_oval = _T_5301_oval ^ _T_5302; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_8_o_oe = _T_5300 ? iofCtrl_8_oe : swPinCtrl_8_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_8_o_ie = _T_5300 ? iofCtrl_8_ie : swPinCtrl_8_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_9_o_oval = _T_5331_oval ^ _T_5332; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_9_o_oe = _T_5330 ? iofCtrl_9_oe : swPinCtrl_9_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_9_o_ie = _T_5330 ? iofCtrl_9_ie : swPinCtrl_9_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_10_o_oval = _T_5361_oval ^ _T_5362; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_10_o_oe = _T_5360 ? iofCtrl_10_oe : swPinCtrl_10_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_10_o_ie = _T_5360 ? iofCtrl_10_ie : swPinCtrl_10_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_11_o_oval = _T_5391_oval ^ _T_5392; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_11_o_oe = _T_5390 ? iofCtrl_11_oe : swPinCtrl_11_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_11_o_ie = _T_5390 ? iofCtrl_11_ie : swPinCtrl_11_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_12_o_oval = _T_5421_oval ^ _T_5422; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_12_o_oe = _T_5420 ? iofCtrl_12_oe : swPinCtrl_12_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_12_o_ie = _T_5420 ? iofCtrl_12_ie : swPinCtrl_12_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_13_o_oval = _T_5451_oval ^ _T_5452; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_13_o_oe = _T_5450 ? iofCtrl_13_oe : swPinCtrl_13_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_13_o_ie = _T_5450 ? iofCtrl_13_ie : swPinCtrl_13_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_14_o_oval = _T_5481_oval ^ _T_5482; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_14_o_oe = _T_5480 ? iofCtrl_14_oe : swPinCtrl_14_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_14_o_ie = _T_5480 ? iofCtrl_14_ie : swPinCtrl_14_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_15_o_oval = _T_5511_oval ^ _T_5512; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_15_o_oe = _T_5510 ? iofCtrl_15_oe : swPinCtrl_15_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_15_o_ie = _T_5510 ? iofCtrl_15_ie : swPinCtrl_15_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_16_o_oval = _T_5541_oval ^ _T_5542; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_16_o_oe = _T_5540 ? iofCtrl_16_oe : swPinCtrl_16_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_16_o_ie = _T_5540 ? iofCtrl_16_ie : swPinCtrl_16_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_17_o_oval = _T_5571_oval ^ _T_5572; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_17_o_oe = _T_5570 ? iofCtrl_17_oe : swPinCtrl_17_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_17_o_ie = _T_5570 ? iofCtrl_17_ie : swPinCtrl_17_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_18_o_oval = _T_5601_oval ^ _T_5602; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_18_o_oe = _T_5600 ? iofCtrl_18_oe : swPinCtrl_18_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_18_o_ie = _T_5600 ? iofCtrl_18_ie : swPinCtrl_18_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_19_o_oval = _T_5631_oval ^ _T_5632; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_19_o_oe = _T_5630 ? iofCtrl_19_oe : swPinCtrl_19_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_19_o_ie = _T_5630 ? iofCtrl_19_ie : swPinCtrl_19_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_20_o_oval = _T_5661_oval ^ _T_5662; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_20_o_oe = _T_5660 ? iofCtrl_20_oe : swPinCtrl_20_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_20_o_ie = _T_5660 ? iofCtrl_20_ie : swPinCtrl_20_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_21_o_oval = _T_5691_oval ^ _T_5692; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_21_o_oe = _T_5690 ? iofCtrl_21_oe : swPinCtrl_21_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_21_o_ie = _T_5690 ? iofCtrl_21_ie : swPinCtrl_21_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_22_o_oval = _T_5721_oval ^ _T_5722; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_22_o_oe = _T_5720 ? iofCtrl_22_oe : swPinCtrl_22_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_22_o_ie = _T_5720 ? iofCtrl_22_ie : swPinCtrl_22_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_23_o_oval = _T_5751_oval ^ _T_5752; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_23_o_oe = _T_5750 ? iofCtrl_23_oe : swPinCtrl_23_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_23_o_ie = _T_5750 ? iofCtrl_23_ie : swPinCtrl_23_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_24_o_oval = _T_5781_oval ^ _T_5782; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_24_o_oe = _T_5780 ? iofCtrl_24_oe : swPinCtrl_24_oe; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_pins_24_o_ie = _T_5780 ? iofCtrl_24_ie : swPinCtrl_24_ie; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_iof_0_2_i_ival = inSyncReg_1[2]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_iof_0_3_i_ival = inSyncReg_1[3]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_iof_0_4_i_ival = inSyncReg_1[4]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_iof_0_5_i_ival = inSyncReg_1[5]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_iof_0_8_i_ival = inSyncReg_1[8]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_iof_0_9_i_ival = inSyncReg_1[9]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_iof_0_10_i_ival = inSyncReg_1[10]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_iof_0_11_i_ival = inSyncReg_1[11]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_iof_0_12_i_ival = inSyncReg_1[12]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_iof_0_13_i_ival = inSyncReg_1[13]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_iof_0_14_i_ival = inSyncReg_1[14]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_iof_0_15_i_ival = inSyncReg_1[15]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_iof_0_16_i_ival = inSyncReg_1[16]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_iof_0_18_i_ival = inSyncReg_1[18]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_iof_0_20_i_ival = inSyncReg_1[20]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign auto_io_out_iof_0_22_i_ival = inSyncReg_1[22]; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@282698.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282633.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282634.4]
  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282696.4]
  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282696.4]
  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282696.4]
  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282696.4]
  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282696.4]
  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282696.4]
  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282696.4]
  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282696.4]
  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282696.4]
  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282696.4]
  assign buffer_auto_out_a_ready = buffer_auto_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
  assign buffer_auto_out_d_valid = buffer_auto_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_3115}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
  assign buffer_auto_out_d_bits_size = _T_3117[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
  assign buffer_auto_out_d_bits_source = _T_3117[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
  assign buffer_auto_out_d_bits_data = _GEN_167 ? _GEN_199 : 32'h0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@282695.4]
  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282639.4]
  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282640.4]
  assign intsource_auto_in_0 = _T_5074 | _T_5077; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_1 = _T_5104 | _T_5107; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_2 = _T_5134 | _T_5137; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_3 = _T_5164 | _T_5167; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_4 = _T_5194 | _T_5197; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_5 = _T_5224 | _T_5227; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_6 = _T_5254 | _T_5257; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_7 = _T_5284 | _T_5287; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_8 = _T_5314 | _T_5317; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_9 = _T_5344 | _T_5347; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_10 = _T_5374 | _T_5377; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_11 = _T_5404 | _T_5407; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_12 = _T_5434 | _T_5437; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_13 = _T_5464 | _T_5467; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_14 = _T_5494 | _T_5497; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_15 = _T_5524 | _T_5527; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_16 = _T_5554 | _T_5557; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_17 = _T_5584 | _T_5587; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_18 = _T_5614 | _T_5617; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_19 = _T_5644 | _T_5647; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_20 = _T_5674 | _T_5677; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_21 = _T_5704 | _T_5707; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_22 = _T_5734 | _T_5737; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_23 = _T_5764 | _T_5767; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_24 = _T_5794 | _T_5797; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_25 = _T_5824 | _T_5827; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_26 = _T_5854 | _T_5857; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_27 = _T_5884 | _T_5887; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_28 = _T_5914 | _T_5917; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_29 = _T_5944 | _T_5947; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_30 = _T_5974 | _T_5977; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign intsource_auto_in_31 = _T_6004 | _T_6007; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@282694.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282649.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282650.4]
  assign TLMonitor_io_in_a_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
  assign TLMonitor_io_in_d_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_3115}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
  assign TLMonitor_io_in_d_bits_size = _T_3117[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
  assign TLMonitor_io_in_d_bits_source = _T_3117[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@282683.4]
  assign oeReg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282704.4]
  assign oeReg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282705.4]
  assign oeReg_io_d = buffer_auto_out_a_bits_data; // @[RegField.scala 195:12:shc.marmotcaravel.MarmotCaravelConfig.fir@283143.4]
  assign oeReg_io_en = _T_4083 & _T_3295; // @[RegField.scala 194:13:shc.marmotcaravel.MarmotCaravelConfig.fir@283142.4]
  assign pueReg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282708.4]
  assign pueReg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282709.4]
  assign pueReg_io_d = buffer_auto_out_a_bits_data; // @[RegField.scala 195:12:shc.marmotcaravel.MarmotCaravelConfig.fir@283344.4]
  assign pueReg_io_en = _T_4095 & _T_3295; // @[RegField.scala 194:13:shc.marmotcaravel.MarmotCaravelConfig.fir@283343.4]
  assign ieReg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282713.4]
  assign ieReg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282714.4]
  assign ieReg_io_d = buffer_auto_out_a_bits_data; // @[RegField.scala 195:12:shc.marmotcaravel.MarmotCaravelConfig.fir@283026.4]
  assign ieReg_io_en = _T_4077 & _T_3295; // @[RegField.scala 194:13:shc.marmotcaravel.MarmotCaravelConfig.fir@283025.4]
  assign inSyncReg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282785.4]
  assign inSyncReg_io_d = {_T_3091,_T_3076}; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@282787.4]
  assign iofEnReg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282803.4]
  assign iofEnReg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@282804.4]
  assign iofEnReg_io_d = buffer_auto_out_a_bits_data; // @[RegField.scala 195:12:shc.marmotcaravel.MarmotCaravelConfig.fir@282999.4]
  assign iofEnReg_io_en = _T_4155 & _T_3295; // @[RegField.scala 194:13:shc.marmotcaravel.MarmotCaravelConfig.fir@282998.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  portReg = _RAND_0[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  dsReg = _RAND_1[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  valueReg = _RAND_2[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  highIeReg = _RAND_3[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  lowIeReg = _RAND_4[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  riseIeReg = _RAND_5[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  fallIeReg = _RAND_6[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  highIpReg = _RAND_7[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  lowIpReg = _RAND_8[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  riseIpReg = _RAND_9[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  fallIpReg = _RAND_10[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  iofSelReg = _RAND_11[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  xorReg = _RAND_12[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      portReg <= 32'h0;
    end else begin
      if (_T_3593) begin
        portReg <= _T_1699_a_bits_data;
      end
    end
    if (reset) begin
      dsReg <= 32'h0;
    end else begin
      if (_T_3328) begin
        dsReg <= _T_1699_a_bits_data;
      end
    end
    if (reset) begin
      valueReg <= 32'h0;
    end else begin
      valueReg <= inSyncReg_1;
    end
    if (reset) begin
      highIeReg <= 32'h0;
    end else begin
      if (_T_3353) begin
        highIeReg <= _T_1699_a_bits_data;
      end
    end
    if (reset) begin
      lowIeReg <= 32'h0;
    end else begin
      if (_T_3538) begin
        lowIeReg <= _T_1699_a_bits_data;
      end
    end
    if (reset) begin
      riseIeReg <= 32'h0;
    end else begin
      if (_T_3428) begin
        riseIeReg <= _T_1699_a_bits_data;
      end
    end
    if (reset) begin
      fallIeReg <= 32'h0;
    end else begin
      if (_T_3673) begin
        fallIeReg <= _T_1699_a_bits_data;
      end
    end
    if (reset) begin
      highIpReg <= 32'h0;
    end else begin
      highIpReg <= _T_3650;
    end
    if (reset) begin
      lowIpReg <= 32'h0;
    end else begin
      lowIpReg <= _T_3490;
    end
    if (reset) begin
      riseIpReg <= 32'h0;
    end else begin
      riseIpReg <= _T_3570;
    end
    if (reset) begin
      fallIpReg <= 32'h0;
    end else begin
      fallIpReg <= _T_3460;
    end
    if (reset) begin
      iofSelReg <= 32'h0;
    end else begin
      if (_T_3723) begin
        iofSelReg <= _T_1699_a_bits_data;
      end
    end
    if (reset) begin
      xorReg <= 32'h0;
    end else begin
      if (_T_3618) begin
        xorReg <= _T_1699_a_bits_data;
      end
    end
  end
endmodule
module IntSyncCrossingSink_13( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286379.2]
  input   auto_in_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  input   auto_in_sync_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
  output  auto_out_31 // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286382.4]
);
  assign auto_out_0 = auto_in_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_1 = auto_in_sync_1; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_2 = auto_in_sync_2; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_3 = auto_in_sync_3; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_4 = auto_in_sync_4; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_5 = auto_in_sync_5; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_6 = auto_in_sync_6; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_7 = auto_in_sync_7; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_8 = auto_in_sync_8; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_9 = auto_in_sync_9; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_10 = auto_in_sync_10; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_11 = auto_in_sync_11; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_12 = auto_in_sync_12; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_13 = auto_in_sync_13; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_14 = auto_in_sync_14; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_15 = auto_in_sync_15; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_16 = auto_in_sync_16; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_17 = auto_in_sync_17; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_18 = auto_in_sync_18; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_19 = auto_in_sync_19; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_20 = auto_in_sync_20; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_21 = auto_in_sync_21; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_22 = auto_in_sync_22; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_23 = auto_in_sync_23; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_24 = auto_in_sync_24; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_25 = auto_in_sync_25; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_26 = auto_in_sync_26; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_27 = auto_in_sync_27; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_28 = auto_in_sync_28; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_29 = auto_in_sync_29; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_30 = auto_in_sync_30; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
  assign auto_out_31 = auto_in_sync_31; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286391.4]
endmodule
module TLMonitor_78( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286446.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286447.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286448.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@286449.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@287576.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@286476.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@286477.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@286478.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@286479.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@286479.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@286480.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286482.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@286483.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@286485.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@286486.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@286487.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@286488.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@286489.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@286491.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286492.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@286494.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286495.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@286496.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@286497.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@286498.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286499.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@286500.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286501.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286502.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@286503.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286504.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286505.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@286506.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286507.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286508.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@286509.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286510.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286511.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286512.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286513.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286536.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@286539.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286540.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@286541.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@286542.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@286543.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286548.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286569.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286570.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286576.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286577.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286582.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286584.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286585.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@286590.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286591.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286593.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286594.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@286599.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286601.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286602.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286608.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286662.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286664.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286665.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286688.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286691.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@286699.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286702.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286703.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286722.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286724.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286725.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286730.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286732.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286733.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286747.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286798.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@286840.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286841.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@286842.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286844.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286845.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286851.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@286882.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286884.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286885.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286899.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@286930.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286932.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286933.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286947.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@286997.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@286999.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287000.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287017.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287026.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287028.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287029.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287059.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287117.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287307.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287316.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287317.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287318.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287319.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287320.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287331.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287332.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287333.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287334.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287335.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287336.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287337.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287339.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287341.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287342.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287347.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287349.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287350.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287355.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287357.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287358.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287363.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287365.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287366.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287371.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287373.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287374.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@287381.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287389.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287397.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287398.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287399.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287400.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287401.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287412.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287414.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287415.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287418.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287419.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287421.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287423.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287424.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287437.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287439.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287440.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287445.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287447.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287448.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@287471.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287480.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287490.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287491.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287492.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287493.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287494.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287513.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287514.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287515.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287516.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287517.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287532.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@287535.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@287537.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@287538.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287539.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287541.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287542.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@287534.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287553.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@287555.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@287556.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@287558.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@287560.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@287561.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@287562.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287564.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287565.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@287557.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287571.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287572.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@287573.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287575.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@287578.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287579.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@287580.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287581.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@287582.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@287583.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287585.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287586.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287592.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287596.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286550.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286622.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286705.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286764.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286815.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286865.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286913.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286961.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287031.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287072.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287130.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@287576.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@286476.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@286477.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@286478.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@286479.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@286479.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@286480.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286482.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@286483.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@286485.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@286486.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@286487.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@286488.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@286489.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@286491.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286492.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@286494.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286495.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@286496.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@286497.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@286498.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286499.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@286500.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286501.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286502.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@286503.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286504.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286505.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@286506.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286507.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286508.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@286509.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@286510.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286511.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286512.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@286513.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286536.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10016000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@286539.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@286540.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@286541.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@286542.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@286543.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286548.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286569.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286570.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286576.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286577.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286582.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286584.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286585.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@286590.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286591.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286593.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286594.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@286599.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286601.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286602.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286608.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286662.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286664.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286665.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286688.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@286691.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@286699.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286702.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286703.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286722.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286724.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286725.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@286730.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286732.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286733.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286747.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286798.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@286840.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@286841.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@286842.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286844.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286845.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286851.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@286882.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286884.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286885.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286899.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@286930.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286932.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286933.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@286947.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@286997.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@286999.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287000.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287017.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287026.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287028.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287029.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287059.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287117.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287307.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287317.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287318.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287319.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287320.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287336.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287337.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287339.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287341.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287342.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287347.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287349.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287350.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287355.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287357.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287358.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287363.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287365.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287366.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287371.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287373.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287374.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@287381.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287389.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287398.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287399.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287400.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287401.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@287418.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287419.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287421.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287423.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287424.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287437.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287439.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287440.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287445.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287447.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287448.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@287471.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287491.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287492.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287493.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287494.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287514.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287515.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287516.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287517.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287532.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@287535.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@287537.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@287538.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287539.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287541.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287542.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@287534.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287553.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@287555.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@287556.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@287558.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@287560.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@287561.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@287562.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287564.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287565.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@287557.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287571.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287572.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@287573.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@287578.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287579.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@287580.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287581.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@287582.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@287583.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287585.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287586.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287592.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287596.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286550.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286622.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286705.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286764.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286815.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286865.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286913.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286961.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287031.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287072.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287130.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_514 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_527 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_529 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_531 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_533 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_535 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_569 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_582 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_586 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_588 = _RAND_9[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {2{`RANDOM}};
  _T_622 = _RAND_10[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_633 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_654 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_697 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_514 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_518) begin
          _T_514 <= 1'h0;
        end else begin
          _T_514 <= _T_517;
        end
      end
    end
    if (_T_559) begin
      _T_527 <= io_in_a_bits_opcode;
    end
    if (_T_559) begin
      _T_529 <= io_in_a_bits_param;
    end
    if (_T_559) begin
      _T_531 <= io_in_a_bits_size;
    end
    if (_T_559) begin
      _T_533 <= io_in_a_bits_source;
    end
    if (_T_559) begin
      _T_535 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_569 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_573) begin
          _T_569 <= 1'h0;
        end else begin
          _T_569 <= _T_572;
        end
      end
    end
    if (_T_620) begin
      _T_582 <= io_in_d_bits_opcode;
    end
    if (_T_620) begin
      _T_586 <= io_in_d_bits_size;
    end
    if (_T_620) begin
      _T_588 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_622 <= 64'h0;
    end else begin
      _T_622 <= _T_695;
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_654 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_658) begin
          _T_654 <= 1'h0;
        end else begin
          _T_654 <= _T_657;
        end
      end
    end
    if (reset) begin
      _T_697 <= 32'h0;
    end else begin
      if (_T_711) begin
        _T_697 <= 32'h0;
      end else begin
        _T_697 <= _T_708;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@286461.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@286462.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@286533.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@286534.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286550.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286551.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286557.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286558.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286564.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286565.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286572.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286573.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286579.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286580.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286587.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286588.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286596.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286597.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286604.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286605.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286622.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286623.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286629.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286630.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286636.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286637.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286644.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286645.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286651.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286652.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286659.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286660.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286667.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286668.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286676.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286677.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286684.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286685.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286705.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286706.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286712.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286713.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286719.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286720.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286727.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286728.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286735.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286736.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286743.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286744.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286764.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286765.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286771.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286772.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286778.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286779.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286786.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286787.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286794.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286795.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286815.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286816.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286822.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286823.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286829.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286830.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286837.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286838.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286847.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286848.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286865.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286866.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286872.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286873.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286879.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286880.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286887.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286888.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286895.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286896.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286913.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286914.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286920.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286921.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286927.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286928.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286935.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286936.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286943.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286944.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286961.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286962.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286968.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286969.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286975.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286976.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286983.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286984.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286991.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@286992.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287002.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287003.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287023.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287024.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287031.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287032.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287039.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287040.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287047.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287048.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287055.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287056.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287065.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287066.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287072.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287073.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287080.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287081.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287088.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287089.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287096.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287097.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287104.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287105.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287113.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287114.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287123.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287124.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287130.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287131.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287138.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287139.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287146.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287147.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287154.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287155.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287163.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287164.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287172.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287173.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287182.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287183.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287190.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287191.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287198.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287199.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287207.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287208.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287217.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287218.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287225.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287226.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287234.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287235.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287243.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287244.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287253.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287254.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287261.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287262.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287269.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287270.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287278.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287279.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287288.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287289.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287296.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287297.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287304.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287305.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287344.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287345.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287352.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287353.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287360.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287361.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287368.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287369.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287376.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287377.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287426.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287427.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287434.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287435.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287442.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287443.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287450.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287451.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287458.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287459.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287466.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287467.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287544.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287545.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287567.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@287568.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_706) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287588.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_706) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287589.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_27( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287601.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287602.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287603.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287604.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
  TLMonitor_78 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287611.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@287651.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@287651.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@287651.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@287651.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@287651.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@287651.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287650.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287650.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287650.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287650.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287650.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287650.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287650.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287650.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287650.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287650.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287613.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287614.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@287647.4]
endmodule
module TLMonitor_79( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287722.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287723.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287724.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@287725.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@288852.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@287752.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@287753.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@287754.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@287755.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@287755.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@287756.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287758.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287759.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@287761.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@287762.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287763.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287764.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@287765.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287767.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287768.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287770.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287771.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287772.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287773.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@287774.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287775.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287776.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287777.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287778.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287779.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287780.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287781.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287782.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287783.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287784.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287785.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287786.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287787.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287788.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287789.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287812.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@287815.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287816.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@287817.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@287818.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@287819.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287824.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287845.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287846.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287852.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287853.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287858.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287860.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287861.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@287866.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287867.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287869.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287870.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@287875.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287877.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287878.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287884.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287938.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287940.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287941.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287964.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@287967.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@287975.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287978.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287979.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287998.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288000.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288001.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288006.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288008.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288009.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288023.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288074.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@288116.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288117.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@288118.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288120.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288121.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288127.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@288158.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288160.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288161.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288175.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@288206.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288208.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288209.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288223.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@288273.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288275.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288276.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288293.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288302.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288304.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288305.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288335.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288393.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288583.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288592.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288593.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288594.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288595.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288596.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288607.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288608.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288609.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288610.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288611.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288612.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288613.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288615.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288617.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288618.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288623.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288625.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288626.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288631.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288633.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288634.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288639.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288641.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288642.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288647.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288649.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288650.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@288657.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288665.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288673.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288674.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288675.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288676.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288677.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288688.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288690.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288691.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288694.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288695.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288697.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288699.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288700.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288713.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288715.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288716.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288721.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288723.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288724.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@288747.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288756.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288766.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288767.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288768.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288769.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288770.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288789.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288790.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288791.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288792.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288793.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288808.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@288811.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@288813.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@288814.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288815.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288817.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288818.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@288810.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288829.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@288831.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@288832.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@288834.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@288836.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@288837.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@288838.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288840.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288841.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@288833.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288847.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@288848.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@288849.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288851.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@288854.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288855.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@288856.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288857.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@288858.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@288859.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288861.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288862.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@288868.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288872.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287826.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287898.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287981.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288040.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288091.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288141.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288189.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288237.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288307.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288348.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288406.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@288852.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@287752.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@287753.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@287754.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@287755.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@287755.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@287756.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287758.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287759.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@287761.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@287762.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287763.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287764.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@287765.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287767.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287768.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287770.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287771.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287772.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@287773.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@287774.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287775.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287776.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287777.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287778.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287779.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287780.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287781.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287782.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287783.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287784.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@287785.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@287786.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287787.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287788.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@287789.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287812.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10016000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@287815.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@287816.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@287817.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@287818.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@287819.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287824.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287845.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287846.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287852.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287853.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@287858.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287860.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287861.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@287866.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287867.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287869.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287870.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@287875.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287877.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287878.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287884.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287938.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287940.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287941.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@287964.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@287967.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@287975.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287978.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287979.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@287998.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288000.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288001.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288006.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288008.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288009.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288023.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288074.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@288116.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288117.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@288118.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288120.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288121.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288127.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@288158.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288160.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288161.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288175.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@288206.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288208.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288209.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288223.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@288273.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288275.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288276.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288293.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288302.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288304.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288305.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288335.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288393.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288583.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288593.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288594.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288595.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288596.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288612.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288613.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288615.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288617.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288618.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288623.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288625.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288626.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288631.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288633.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288634.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288639.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288641.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288642.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288647.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288649.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288650.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@288657.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288665.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288674.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288675.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288676.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288677.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@288694.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288695.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288697.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288699.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288700.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288713.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288715.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288716.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@288721.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288723.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288724.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@288747.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288767.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288768.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288769.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288770.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288790.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288791.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288792.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288793.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288808.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@288811.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@288813.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@288814.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288815.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288817.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288818.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@288810.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288829.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@288831.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@288832.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@288834.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@288836.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@288837.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@288838.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288840.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288841.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@288833.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288847.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@288848.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@288849.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@288854.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288855.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@288856.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288857.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@288858.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@288859.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288861.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288862.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@288868.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@288872.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287826.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287898.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287981.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288040.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288091.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288141.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288189.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288237.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288307.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288348.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288406.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_514 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_527 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_529 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_531 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_533 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_535 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_569 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_582 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_586 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_588 = _RAND_9[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {2{`RANDOM}};
  _T_622 = _RAND_10[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_633 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_654 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_697 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_514 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_518) begin
          _T_514 <= 1'h0;
        end else begin
          _T_514 <= _T_517;
        end
      end
    end
    if (_T_559) begin
      _T_527 <= io_in_a_bits_opcode;
    end
    if (_T_559) begin
      _T_529 <= io_in_a_bits_param;
    end
    if (_T_559) begin
      _T_531 <= io_in_a_bits_size;
    end
    if (_T_559) begin
      _T_533 <= io_in_a_bits_source;
    end
    if (_T_559) begin
      _T_535 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_569 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_573) begin
          _T_569 <= 1'h0;
        end else begin
          _T_569 <= _T_572;
        end
      end
    end
    if (_T_620) begin
      _T_582 <= io_in_d_bits_opcode;
    end
    if (_T_620) begin
      _T_586 <= io_in_d_bits_size;
    end
    if (_T_620) begin
      _T_588 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_622 <= 64'h0;
    end else begin
      _T_622 <= _T_695;
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_654 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_658) begin
          _T_654 <= 1'h0;
        end else begin
          _T_654 <= _T_657;
        end
      end
    end
    if (reset) begin
      _T_697 <= 32'h0;
    end else begin
      if (_T_711) begin
        _T_697 <= 32'h0;
      end else begin
        _T_697 <= _T_708;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287737.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287738.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287809.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@287810.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287826.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287827.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287833.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287834.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287840.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287841.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287848.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287849.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287855.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287856.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287863.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287864.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287872.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287873.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287880.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287881.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287898.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287899.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287905.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287906.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287912.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287913.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287920.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287921.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287927.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287928.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287935.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287936.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287943.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287944.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287952.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287953.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287960.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287961.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287981.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287982.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287988.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287989.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287995.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@287996.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288003.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288004.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288011.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288012.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288019.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288020.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288040.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288041.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288047.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288048.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288054.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288055.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288062.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288063.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288070.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288071.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288091.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288092.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288098.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288099.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288105.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288106.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288113.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288114.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288123.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288124.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288141.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288142.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288148.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288149.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288155.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288156.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288163.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288164.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288171.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288172.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288189.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288190.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288196.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288197.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288203.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288204.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288211.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288212.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288219.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288220.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288237.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288238.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288244.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288245.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288251.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288252.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288259.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288260.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288267.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288268.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288278.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288279.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288299.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288300.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288307.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288308.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288315.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288316.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288323.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288324.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288331.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288332.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288341.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288342.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288348.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288349.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288356.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288357.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288364.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288365.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288372.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288373.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288380.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288381.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288389.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288390.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288399.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288400.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288406.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288407.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288414.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288415.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288422.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288423.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288430.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288431.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288439.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288440.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288448.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288449.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288458.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288459.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288466.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288467.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288474.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288475.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288483.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288484.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288493.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288494.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288501.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288502.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288510.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288511.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288519.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288520.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288529.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288530.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288537.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288538.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288545.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288546.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288554.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288555.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288564.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288565.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288572.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288573.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288580.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288581.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288620.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288621.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288628.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288629.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288636.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288637.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288644.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288645.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288652.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288653.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288702.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288703.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288710.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288711.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288718.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288719.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288726.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288727.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288734.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288735.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288742.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@288743.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288820.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288821.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288843.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@288844.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_706) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288864.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_706) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@288865.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLI2C( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288877.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288878.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288879.4]
  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
  input         auto_io_out_scl_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
  output        auto_io_out_scl_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
  input         auto_io_out_sda_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
  output        auto_io_out_sda_oe // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288880.4]
);
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288891.4]
  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288891.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288891.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288891.4]
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
  reg [7:0] prescaler_hi; // @[I2C.scala 119:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288966.4]
  reg [31:0] _RAND_0;
  reg [7:0] prescaler_lo; // @[I2C.scala 119:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288966.4]
  reg [31:0] _RAND_1;
  reg  control_coreEn; // @[I2C.scala 120:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288978.4]
  reg [31:0] _RAND_2;
  reg  control_intEn; // @[I2C.scala 120:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288978.4]
  reg [31:0] _RAND_3;
  reg [7:0] transmitData; // @[I2C.scala 121:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288979.4]
  reg [31:0] _RAND_4;
  reg [7:0] receivedData; // @[I2C.scala 122:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288980.4]
  reg [31:0] _RAND_5;
  reg  cmd_start; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@289000.4]
  reg [31:0] _RAND_6;
  reg  cmd_stop; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@289000.4]
  reg [31:0] _RAND_7;
  reg  cmd_read; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@289000.4]
  reg [31:0] _RAND_8;
  reg  cmd_write; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@289000.4]
  reg [31:0] _RAND_9;
  reg  cmd_ack; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@289000.4]
  reg [31:0] _RAND_10;
  reg  cmd_irqAck; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@289000.4]
  reg [31:0] _RAND_11;
  reg  status_receivedAck; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@289018.4]
  reg [31:0] _RAND_12;
  reg  status_busy; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@289018.4]
  reg [31:0] _RAND_13;
  reg  status_arbLost; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@289018.4]
  reg [31:0] _RAND_14;
  reg  status_transferInProgress; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@289018.4]
  reg [31:0] _RAND_15;
  reg  status_irqFlag; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@289018.4]
  reg [31:0] _RAND_16;
  reg [13:0] filterCnt; // @[I2C.scala 133:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289021.4]
  reg [31:0] _RAND_17;
  wire  _T_346; // @[I2C.scala 134:10:shc.marmotcaravel.MarmotCaravelConfig.fir@289022.4]
  wire  _T_347; // @[I2C.scala 136:28:shc.marmotcaravel.MarmotCaravelConfig.fir@289027.6]
  wire  _T_348; // @[I2C.scala 136:16:shc.marmotcaravel.MarmotCaravelConfig.fir@289028.6]
  wire [15:0] _T_349; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289030.8]
  wire [13:0] _T_350; // @[I2C.scala 137:50:shc.marmotcaravel.MarmotCaravelConfig.fir@289031.8]
  wire [14:0] _T_351; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@289035.8]
  wire [14:0] _T_352; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@289036.8]
  wire [13:0] _T_353; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@289037.8]
  reg [2:0] fSCL; // @[I2C.scala 142:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289040.4]
  reg [31:0] _RAND_18;
  reg [2:0] fSDA; // @[I2C.scala 143:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289041.4]
  reg [31:0] _RAND_19;
  wire [3:0] _T_358; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289045.6]
  wire [3:0] _T_359; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289047.6]
  wire [3:0] _GEN_2; // @[I2C.scala 144:27:shc.marmotcaravel.MarmotCaravelConfig.fir@289044.4]
  wire [3:0] _GEN_3; // @[I2C.scala 144:27:shc.marmotcaravel.MarmotCaravelConfig.fir@289044.4]
  wire  _T_360; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@289050.4]
  wire  _T_361; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@289051.4]
  wire  _T_362; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@289052.4]
  wire  _T_363; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@289053.4]
  wire  _T_364; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@289054.4]
  wire  _T_365; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289055.4]
  wire  _T_366; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@289056.4]
  wire  _T_367; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289057.4]
  reg  sSCL; // @[I2C.scala 149:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289058.4]
  reg [31:0] _RAND_20;
  wire  _T_369; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@289060.4]
  wire  _T_370; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@289061.4]
  wire  _T_371; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@289062.4]
  wire  _T_372; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@289063.4]
  wire  _T_373; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@289064.4]
  wire  _T_374; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289065.4]
  wire  _T_375; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@289066.4]
  wire  _T_376; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289067.4]
  reg  sSDA; // @[I2C.scala 150:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289068.4]
  reg [31:0] _RAND_21;
  reg  dSCL; // @[I2C.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289070.4]
  reg [31:0] _RAND_22;
  reg  dSDA; // @[I2C.scala 153:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289072.4]
  reg [31:0] _RAND_23;
  reg  dSCLOen; // @[I2C.scala 155:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289074.4]
  reg [31:0] _RAND_24;
  wire  _T_381; // @[I2C.scala 159:46:shc.marmotcaravel.MarmotCaravelConfig.fir@289076.4]
  wire  _T_382; // @[I2C.scala 159:52:shc.marmotcaravel.MarmotCaravelConfig.fir@289077.4]
  wire  _T_383; // @[I2C.scala 159:61:shc.marmotcaravel.MarmotCaravelConfig.fir@289078.4]
  reg  startCond; // @[I2C.scala 159:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289079.4]
  reg [31:0] _RAND_25;
  wire  _T_385; // @[I2C.scala 160:55:shc.marmotcaravel.MarmotCaravelConfig.fir@289081.4]
  wire  _T_386; // @[I2C.scala 160:52:shc.marmotcaravel.MarmotCaravelConfig.fir@289082.4]
  wire  _T_387; // @[I2C.scala 160:61:shc.marmotcaravel.MarmotCaravelConfig.fir@289083.4]
  reg  stopCond; // @[I2C.scala 160:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289084.4]
  reg [31:0] _RAND_26;
  wire  _T_389; // @[I2C.scala 164:27:shc.marmotcaravel.MarmotCaravelConfig.fir@289086.4]
  wire  _T_390; // @[I2C.scala 164:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289087.4]
  reg  sclOen; // @[I2C.scala 187:23:shc.marmotcaravel.MarmotCaravelConfig.fir@289121.4]
  reg [31:0] _RAND_27;
  wire  _T_411; // @[I2C.scala 188:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289122.4]
  wire  sclSync; // @[I2C.scala 164:33:shc.marmotcaravel.MarmotCaravelConfig.fir@289088.4]
  reg  slaveWait; // @[I2C.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289089.4]
  reg [31:0] _RAND_28;
  wire  _T_392; // @[I2C.scala 169:32:shc.marmotcaravel.MarmotCaravelConfig.fir@289090.4]
  wire  _T_393; // @[I2C.scala 169:29:shc.marmotcaravel.MarmotCaravelConfig.fir@289091.4]
  wire  _T_395; // @[I2C.scala 169:41:shc.marmotcaravel.MarmotCaravelConfig.fir@289093.4]
  wire  _T_397; // @[I2C.scala 169:65:shc.marmotcaravel.MarmotCaravelConfig.fir@289095.4]
  wire  _T_398; // @[I2C.scala 169:51:shc.marmotcaravel.MarmotCaravelConfig.fir@289096.4]
  reg  clkEn; // @[I2C.scala 171:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289098.4]
  reg [31:0] _RAND_29;
  reg [15:0] cnt; // @[I2C.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289099.4]
  reg [31:0] _RAND_30;
  wire  _T_401; // @[I2C.scala 175:15:shc.marmotcaravel.MarmotCaravelConfig.fir@289100.4]
  wire  _T_402; // @[I2C.scala 175:9:shc.marmotcaravel.MarmotCaravelConfig.fir@289101.4]
  wire  _T_404; // @[I2C.scala 175:20:shc.marmotcaravel.MarmotCaravelConfig.fir@289103.4]
  wire  _T_405; // @[I2C.scala 175:39:shc.marmotcaravel.MarmotCaravelConfig.fir@289104.4]
  wire [16:0] _T_407; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289115.8]
  wire [16:0] _T_408; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289116.8]
  wire [15:0] _T_409; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289117.8]
  reg  sdaOen; // @[I2C.scala 190:23:shc.marmotcaravel.MarmotCaravelConfig.fir@289124.4]
  reg [31:0] _RAND_31;
  reg  sdaChk; // @[I2C.scala 193:23:shc.marmotcaravel.MarmotCaravelConfig.fir@289127.4]
  reg [31:0] _RAND_32;
  reg  transmitBit; // @[I2C.scala 195:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289128.4]
  reg [31:0] _RAND_33;
  reg  receivedBit; // @[I2C.scala 196:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289129.4]
  reg [31:0] _RAND_34;
  wire  _T_417; // @[I2C.scala 197:17:shc.marmotcaravel.MarmotCaravelConfig.fir@289130.4]
  wire  _T_418; // @[I2C.scala 197:14:shc.marmotcaravel.MarmotCaravelConfig.fir@289131.4]
  reg [3:0] bitCmd; // @[I2C.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289135.4]
  reg [31:0] _RAND_35;
  reg  bitCmdStop; // @[I2C.scala 202:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289136.4]
  reg [31:0] _RAND_36;
  wire  _T_421; // @[I2C.scala 204:26:shc.marmotcaravel.MarmotCaravelConfig.fir@289138.6]
  reg  bitCmdAck; // @[I2C.scala 206:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289141.4]
  reg [31:0] _RAND_37;
  reg [4:0] bitState; // @[I2C.scala 213:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289142.4]
  reg [31:0] _RAND_38;
  wire  _T_426; // @[I2C.scala 215:56:shc.marmotcaravel.MarmotCaravelConfig.fir@289144.4]
  wire  _T_427; // @[I2C.scala 215:65:shc.marmotcaravel.MarmotCaravelConfig.fir@289145.4]
  wire  _T_428; // @[I2C.scala 215:89:shc.marmotcaravel.MarmotCaravelConfig.fir@289146.4]
  wire  _T_429; // @[I2C.scala 215:105:shc.marmotcaravel.MarmotCaravelConfig.fir@289147.4]
  wire  _T_430; // @[I2C.scala 215:120:shc.marmotcaravel.MarmotCaravelConfig.fir@289148.4]
  wire  _T_431; // @[I2C.scala 215:117:shc.marmotcaravel.MarmotCaravelConfig.fir@289149.4]
  wire  _T_432; // @[I2C.scala 215:76:shc.marmotcaravel.MarmotCaravelConfig.fir@289150.4]
  reg  arbLost; // @[I2C.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289151.4]
  reg [31:0] _RAND_39;
  wire  _T_434; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289163.8]
  wire  _T_435; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289165.10]
  wire  _T_436; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289170.12]
  wire  _T_437; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289175.14]
  wire  _T_438; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289180.16]
  wire  _T_439; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289187.10]
  wire  _T_440; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289195.12]
  wire  _T_441; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289203.14]
  wire  _T_442; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289211.16]
  wire  _T_443; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289219.18]
  wire  _T_444; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289228.20]
  wire  _T_445; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289236.22]
  wire  _T_446; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289244.24]
  wire  _T_447; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289252.26]
  wire  _T_448; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289261.28]
  wire  _T_449; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289269.30]
  wire  _T_450; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289277.32]
  wire  _T_451; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289285.34]
  wire  _T_452; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289294.36]
  wire  _T_453; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289302.38]
  wire  _T_454; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289310.40]
  wire  _T_455; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289318.42]
  reg  load; // @[I2C.scala 355:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289328.4]
  reg [31:0] _RAND_40;
  reg  shift; // @[I2C.scala 356:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289329.4]
  reg [31:0] _RAND_41;
  reg  cmdAck; // @[I2C.scala 357:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289330.4]
  reg [31:0] _RAND_42;
  reg  receivedAck; // @[I2C.scala 358:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289331.4]
  reg [31:0] _RAND_43;
  wire  _T_460; // @[I2C.scala 359:31:shc.marmotcaravel.MarmotCaravelConfig.fir@289332.4]
  wire  _T_461; // @[I2C.scala 359:43:shc.marmotcaravel.MarmotCaravelConfig.fir@289333.4]
  wire  _T_462; // @[I2C.scala 359:57:shc.marmotcaravel.MarmotCaravelConfig.fir@289334.4]
  wire  go; // @[I2C.scala 359:55:shc.marmotcaravel.MarmotCaravelConfig.fir@289335.4]
  reg [2:0] bitCnt; // @[I2C.scala 361:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289336.4]
  reg [31:0] _RAND_44;
  wire [3:0] _T_464; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289342.8]
  wire [3:0] _T_465; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289343.8]
  wire [2:0] _T_466; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289344.8]
  wire  _T_467; // @[I2C.scala 368:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289347.4]
  wire  bitCntDone; // @[I2C.scala 368:21:shc.marmotcaravel.MarmotCaravelConfig.fir@289348.4]
  wire [8:0] _T_468; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289354.8]
  wire [8:0] _GEN_116; // @[I2C.scala 374:21:shc.marmotcaravel.MarmotCaravelConfig.fir@289353.6]
  wire [8:0] _GEN_117; // @[I2C.scala 371:15:shc.marmotcaravel.MarmotCaravelConfig.fir@289349.4]
  reg [2:0] byteState; // @[I2C.scala 379:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289357.4]
  reg [31:0] _RAND_45;
  wire  _T_471; // @[I2C.scala 391:32:shc.marmotcaravel.MarmotCaravelConfig.fir@289368.6]
  wire  _T_472; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289373.6]
  wire [2:0] _GEN_119; // @[I2C.scala 407:33:shc.marmotcaravel.MarmotCaravelConfig.fir@289386.14]
  wire  _T_473; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289398.8]
  wire  _T_474; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289413.10]
  wire  _T_475; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289428.12]
  wire  _T_476; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289444.14]
  wire [1:0] _GEN_144; // @[I2C.scala 463:27:shc.marmotcaravel.MarmotCaravelConfig.fir@289447.18]
  wire  _T_477; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289464.16]
  wire  _T_54_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
  wire [2:0] _T_54_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
  wire  _T_514; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@289544.4]
  wire [28:0] _T_54_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
  wire [26:0] _T_515; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@289546.4]
  wire [9:0] _T_511_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289542.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@289547.4]
  wire  _T_813; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289817.4]
  wire  _T_812; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289816.4]
  wire [1:0] _T_821; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289825.4]
  wire  _T_811; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289815.4]
  wire [2:0] _T_822; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289826.4]
  wire [9:0] _T_532; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289558.4]
  wire  _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289568.4]
  wire  _T_883; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289899.4]
  wire  _T_54_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
  wire  _T_1056; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290090.4]
  wire  _T_1057; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290091.4]
  wire  _T_1058; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290092.4]
  wire [7:0] _T_844; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@289848.4]
  wire  _T_849; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289853.4]
  wire  _T_1085; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290129.4]
  wire  _T_1086; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290130.4]
  wire [3:0] _T_54_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
  wire  _T_614; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@289596.4]
  wire [7:0] _T_622; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@289604.4]
  wire  _T_613; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@289595.4]
  wire [7:0] _T_620; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@289602.4]
  wire [15:0] _T_624; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289606.4]
  wire  _T_612; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@289594.4]
  wire [7:0] _T_618; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@289600.4]
  wire  _T_611; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@289593.4]
  wire [7:0] _T_616; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@289598.4]
  wire [15:0] _T_623; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289605.4]
  wire [31:0] _T_625; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289607.4]
  wire [7:0] _T_787; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289787.4]
  wire [7:0] _T_788; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289788.4]
  wire  _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289789.4]
  wire  _T_793; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289793.4]
  wire [31:0] _T_54_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
  wire [7:0] _T_799; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289799.4]
  wire [1:0] _T_494; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289498.4]
  wire [1:0] _T_493; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289497.4]
  wire [3:0] _T_495; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289499.4]
  wire [2:0] _T_491; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289495.4]
  wire [3:0] _T_492; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289496.4]
  wire [7:0] _T_496; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289500.4]
  wire [7:0] _T_497; // @[I2C.scala 502:25:shc.marmotcaravel.MarmotCaravelConfig.fir@289501.4]
  wire [7:0] nextCmd; // @[I2C.scala 558:77:shc.marmotcaravel.MarmotCaravelConfig.fir@289800.4]
  wire  _T_484; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@289480.4]
  wire  _T_486; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@289484.4]
  wire  _T_487; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@289486.4]
  wire  _T_488; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@289488.4]
  wire  _T_489; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@289490.4]
  wire  _T_490; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@289492.4]
  wire  _T_498; // @[I2C.scala 505:16:shc.marmotcaravel.MarmotCaravelConfig.fir@289503.4]
  wire  _T_501; // @[I2C.scala 527:51:shc.marmotcaravel.MarmotCaravelConfig.fir@289528.4]
  wire  _T_502; // @[I2C.scala 527:73:shc.marmotcaravel.MarmotCaravelConfig.fir@289529.4]
  wire  _T_503; // @[I2C.scala 527:70:shc.marmotcaravel.MarmotCaravelConfig.fir@289530.4]
  reg  statusReadReady; // @[I2C.scala 530:28:shc.marmotcaravel.MarmotCaravelConfig.fir@289532.4]
  reg [31:0] _RAND_46;
  wire  _T_506; // @[I2C.scala 534:14:shc.marmotcaravel.MarmotCaravelConfig.fir@289538.6]
  wire [5:0] _T_54_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
  wire [1:0] _T_54_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
  wire [7:0] _T_516; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289550.4]
  wire  _T_627; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289609.4]
  wire  _T_806; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289810.4]
  wire  _T_807; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289811.4]
  wire  _T_1020; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290056.4]
  wire  _GEN_232; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290089.4]
  wire  _GEN_233; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290089.4]
  wire  _GEN_234; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290089.4]
  wire  _GEN_235; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290089.4]
  wire  _T_1125; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290169.4]
  wire  _T_836; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289840.4]
  wire  _T_1061; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290095.4]
  wire  _T_1062; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290096.4]
  wire  _T_639; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289621.4]
  wire  _T_837; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289841.4]
  wire  _T_1067; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290103.4]
  wire  _T_1068; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290104.4]
  wire  _T_664; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289649.4]
  wire  _T_838; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289842.4]
  wire  _T_1073; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290111.4]
  wire  _T_1074; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290112.4]
  wire  _T_701; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289692.4]
  wire  _T_704; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289695.4]
  wire  _T_705; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289696.4]
  wire  _T_714; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289705.4]
  wire  _T_715; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289706.4]
  wire [6:0] _T_725; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289719.4]
  wire  _T_728; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289722.4]
  wire  _T_731; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289725.4]
  wire  _T_732; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289726.4]
  wire  _T_741; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289735.4]
  wire  _T_742; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289736.4]
  wire [7:0] _T_752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289749.4]
  wire  _T_839; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289843.4]
  wire  _T_1079; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290121.4]
  wire  _T_1080; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290122.4]
  wire  _T_768; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289765.4]
  wire [3:0] _T_794; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@289794.4]
  wire [4:0] _T_795; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@289795.4]
  wire [1:0] _T_796; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@289796.4]
  wire [2:0] _T_797; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@289797.4]
  wire [7:0] _T_798; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@289798.4]
  wire  _GEN_245; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
  wire  _GEN_246; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
  wire  _GEN_247; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
  wire  _GEN_248; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
  wire  _GEN_249; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
  wire  _GEN_250; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
  wire  _GEN_251; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
  wire [7:0] _GEN_253; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
  wire [7:0] _GEN_254; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
  wire [7:0] _GEN_255; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
  wire [7:0] _GEN_256; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
  wire [7:0] _GEN_257; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
  wire [7:0] _GEN_258; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
  wire [7:0] _GEN_259; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
  wire [7:0] _T_1164; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290203.4]
  TLBuffer_27 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@288885.4]
    .clock(buffer_clock),
    .reset(buffer_reset),
    .auto_in_a_ready(buffer_auto_in_a_ready),
    .auto_in_a_valid(buffer_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_auto_in_d_ready),
    .auto_in_d_valid(buffer_auto_in_d_valid),
    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
    .auto_out_a_ready(buffer_auto_out_a_ready),
    .auto_out_a_valid(buffer_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_auto_out_d_ready),
    .auto_out_d_valid(buffer_auto_out_d_valid),
    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
  );
  IntSyncCrossingSource_3 intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288891.4]
    .clock(intsource_clock),
    .reset(intsource_reset),
    .auto_in_0(intsource_auto_in_0),
    .auto_out_sync_0(intsource_auto_out_sync_0)
  );
  TLMonitor_79 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@288903.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  assign _T_346 = control_coreEn == 1'h0; // @[I2C.scala 134:10:shc.marmotcaravel.MarmotCaravelConfig.fir@289022.4]
  assign _T_347 = filterCnt != 14'h0; // @[I2C.scala 136:28:shc.marmotcaravel.MarmotCaravelConfig.fir@289027.6]
  assign _T_348 = _T_347 == 1'h0; // @[I2C.scala 136:16:shc.marmotcaravel.MarmotCaravelConfig.fir@289028.6]
  assign _T_349 = {prescaler_hi,prescaler_lo}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289030.8]
  assign _T_350 = _T_349[15:2]; // @[I2C.scala 137:50:shc.marmotcaravel.MarmotCaravelConfig.fir@289031.8]
  assign _T_351 = filterCnt - 14'h1; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@289035.8]
  assign _T_352 = $unsigned(_T_351); // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@289036.8]
  assign _T_353 = _T_352[13:0]; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@289037.8]
  assign _T_358 = {fSCL,auto_io_out_scl_in}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289045.6]
  assign _T_359 = {fSDA,auto_io_out_sda_in}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289047.6]
  assign _GEN_2 = _T_348 ? _T_358 : {{1'd0}, fSCL}; // @[I2C.scala 144:27:shc.marmotcaravel.MarmotCaravelConfig.fir@289044.4]
  assign _GEN_3 = _T_348 ? _T_359 : {{1'd0}, fSDA}; // @[I2C.scala 144:27:shc.marmotcaravel.MarmotCaravelConfig.fir@289044.4]
  assign _T_360 = fSCL[0]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@289050.4]
  assign _T_361 = fSCL[1]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@289051.4]
  assign _T_362 = fSCL[2]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@289052.4]
  assign _T_363 = _T_360 & _T_361; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@289053.4]
  assign _T_364 = _T_360 & _T_362; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@289054.4]
  assign _T_365 = _T_363 | _T_364; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289055.4]
  assign _T_366 = _T_361 & _T_362; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@289056.4]
  assign _T_367 = _T_365 | _T_366; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289057.4]
  assign _T_369 = fSDA[0]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@289060.4]
  assign _T_370 = fSDA[1]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@289061.4]
  assign _T_371 = fSDA[2]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@289062.4]
  assign _T_372 = _T_369 & _T_370; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@289063.4]
  assign _T_373 = _T_369 & _T_371; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@289064.4]
  assign _T_374 = _T_372 | _T_373; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289065.4]
  assign _T_375 = _T_370 & _T_371; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@289066.4]
  assign _T_376 = _T_374 | _T_375; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289067.4]
  assign _T_381 = sSDA == 1'h0; // @[I2C.scala 159:46:shc.marmotcaravel.MarmotCaravelConfig.fir@289076.4]
  assign _T_382 = _T_381 & dSDA; // @[I2C.scala 159:52:shc.marmotcaravel.MarmotCaravelConfig.fir@289077.4]
  assign _T_383 = _T_382 & sSCL; // @[I2C.scala 159:61:shc.marmotcaravel.MarmotCaravelConfig.fir@289078.4]
  assign _T_385 = dSDA == 1'h0; // @[I2C.scala 160:55:shc.marmotcaravel.MarmotCaravelConfig.fir@289081.4]
  assign _T_386 = sSDA & _T_385; // @[I2C.scala 160:52:shc.marmotcaravel.MarmotCaravelConfig.fir@289082.4]
  assign _T_387 = _T_386 & sSCL; // @[I2C.scala 160:61:shc.marmotcaravel.MarmotCaravelConfig.fir@289083.4]
  assign _T_389 = sSCL == 1'h0; // @[I2C.scala 164:27:shc.marmotcaravel.MarmotCaravelConfig.fir@289086.4]
  assign _T_390 = dSCL & _T_389; // @[I2C.scala 164:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289087.4]
  assign _T_411 = sclOen == 1'h0; // @[I2C.scala 188:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289122.4]
  assign sclSync = _T_390 & _T_411; // @[I2C.scala 164:33:shc.marmotcaravel.MarmotCaravelConfig.fir@289088.4]
  assign _T_392 = dSCLOen == 1'h0; // @[I2C.scala 169:32:shc.marmotcaravel.MarmotCaravelConfig.fir@289090.4]
  assign _T_393 = _T_411 & _T_392; // @[I2C.scala 169:29:shc.marmotcaravel.MarmotCaravelConfig.fir@289091.4]
  assign _T_395 = _T_393 & _T_389; // @[I2C.scala 169:41:shc.marmotcaravel.MarmotCaravelConfig.fir@289093.4]
  assign _T_397 = slaveWait & _T_389; // @[I2C.scala 169:65:shc.marmotcaravel.MarmotCaravelConfig.fir@289095.4]
  assign _T_398 = _T_395 | _T_397; // @[I2C.scala 169:51:shc.marmotcaravel.MarmotCaravelConfig.fir@289096.4]
  assign _T_401 = cnt != 16'h0; // @[I2C.scala 175:15:shc.marmotcaravel.MarmotCaravelConfig.fir@289100.4]
  assign _T_402 = _T_401 == 1'h0; // @[I2C.scala 175:9:shc.marmotcaravel.MarmotCaravelConfig.fir@289101.4]
  assign _T_404 = _T_402 | _T_346; // @[I2C.scala 175:20:shc.marmotcaravel.MarmotCaravelConfig.fir@289103.4]
  assign _T_405 = _T_404 | sclSync; // @[I2C.scala 175:39:shc.marmotcaravel.MarmotCaravelConfig.fir@289104.4]
  assign _T_407 = cnt - 16'h1; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289115.8]
  assign _T_408 = $unsigned(_T_407); // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289116.8]
  assign _T_409 = _T_408[15:0]; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289117.8]
  assign _T_417 = dSCL == 1'h0; // @[I2C.scala 197:17:shc.marmotcaravel.MarmotCaravelConfig.fir@289130.4]
  assign _T_418 = sSCL & _T_417; // @[I2C.scala 197:14:shc.marmotcaravel.MarmotCaravelConfig.fir@289131.4]
  assign _T_421 = bitCmd == 4'h2; // @[I2C.scala 204:26:shc.marmotcaravel.MarmotCaravelConfig.fir@289138.6]
  assign _T_426 = sdaChk & _T_381; // @[I2C.scala 215:56:shc.marmotcaravel.MarmotCaravelConfig.fir@289144.4]
  assign _T_427 = _T_426 & sdaOen; // @[I2C.scala 215:65:shc.marmotcaravel.MarmotCaravelConfig.fir@289145.4]
  assign _T_428 = bitState != 5'h0; // @[I2C.scala 215:89:shc.marmotcaravel.MarmotCaravelConfig.fir@289146.4]
  assign _T_429 = _T_428 & stopCond; // @[I2C.scala 215:105:shc.marmotcaravel.MarmotCaravelConfig.fir@289147.4]
  assign _T_430 = bitCmdStop == 1'h0; // @[I2C.scala 215:120:shc.marmotcaravel.MarmotCaravelConfig.fir@289148.4]
  assign _T_431 = _T_429 & _T_430; // @[I2C.scala 215:117:shc.marmotcaravel.MarmotCaravelConfig.fir@289149.4]
  assign _T_432 = _T_427 | _T_431; // @[I2C.scala 215:76:shc.marmotcaravel.MarmotCaravelConfig.fir@289150.4]
  assign _T_434 = 5'h0 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289163.8]
  assign _T_435 = 4'h1 == bitCmd; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289165.10]
  assign _T_436 = 4'h2 == bitCmd; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289170.12]
  assign _T_437 = 4'h4 == bitCmd; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289175.14]
  assign _T_438 = 4'h8 == bitCmd; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289180.16]
  assign _T_439 = 5'h1 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289187.10]
  assign _T_440 = 5'h2 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289195.12]
  assign _T_441 = 5'h3 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289203.14]
  assign _T_442 = 5'h4 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289211.16]
  assign _T_443 = 5'h5 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289219.18]
  assign _T_444 = 5'h6 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289228.20]
  assign _T_445 = 5'h7 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289236.22]
  assign _T_446 = 5'h8 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289244.24]
  assign _T_447 = 5'h9 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289252.26]
  assign _T_448 = 5'ha == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289261.28]
  assign _T_449 = 5'hb == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289269.30]
  assign _T_450 = 5'hc == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289277.32]
  assign _T_451 = 5'hd == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289285.34]
  assign _T_452 = 5'he == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289294.36]
  assign _T_453 = 5'hf == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289302.38]
  assign _T_454 = 5'h10 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289310.40]
  assign _T_455 = 5'h11 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289318.42]
  assign _T_460 = cmd_read | cmd_write; // @[I2C.scala 359:31:shc.marmotcaravel.MarmotCaravelConfig.fir@289332.4]
  assign _T_461 = _T_460 | cmd_stop; // @[I2C.scala 359:43:shc.marmotcaravel.MarmotCaravelConfig.fir@289333.4]
  assign _T_462 = cmdAck == 1'h0; // @[I2C.scala 359:57:shc.marmotcaravel.MarmotCaravelConfig.fir@289334.4]
  assign go = _T_461 & _T_462; // @[I2C.scala 359:55:shc.marmotcaravel.MarmotCaravelConfig.fir@289335.4]
  assign _T_464 = bitCnt - 3'h1; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289342.8]
  assign _T_465 = $unsigned(_T_464); // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289343.8]
  assign _T_466 = _T_465[2:0]; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@289344.8]
  assign _T_467 = bitCnt != 3'h0; // @[I2C.scala 368:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289347.4]
  assign bitCntDone = _T_467 == 1'h0; // @[I2C.scala 368:21:shc.marmotcaravel.MarmotCaravelConfig.fir@289348.4]
  assign _T_468 = {receivedData,receivedBit}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289354.8]
  assign _GEN_116 = shift ? _T_468 : {{1'd0}, receivedData}; // @[I2C.scala 374:21:shc.marmotcaravel.MarmotCaravelConfig.fir@289353.6]
  assign _GEN_117 = load ? {{1'd0}, transmitData} : _GEN_116; // @[I2C.scala 371:15:shc.marmotcaravel.MarmotCaravelConfig.fir@289349.4]
  assign _T_471 = receivedData[7]; // @[I2C.scala 391:32:shc.marmotcaravel.MarmotCaravelConfig.fir@289368.6]
  assign _T_472 = 3'h0 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289373.6]
  assign _GEN_119 = cmd_write ? 3'h4 : 3'h2; // @[I2C.scala 407:33:shc.marmotcaravel.MarmotCaravelConfig.fir@289386.14]
  assign _T_473 = 3'h1 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289398.8]
  assign _T_474 = 3'h3 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289413.10]
  assign _T_475 = 3'h2 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289428.12]
  assign _T_476 = 3'h4 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289444.14]
  assign _GEN_144 = cmd_stop ? 2'h2 : 2'h0; // @[I2C.scala 463:27:shc.marmotcaravel.MarmotCaravelConfig.fir@289447.18]
  assign _T_477 = 3'h5 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@289464.16]
  assign _T_54_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
  assign _T_54_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
  assign _T_514 = _T_54_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@289544.4]
  assign _T_54_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
  assign _T_515 = _T_54_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@289546.4]
  assign _T_511_bits_index = _T_515[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289542.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@289547.4]
  assign _T_813 = _T_511_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289817.4]
  assign _T_812 = _T_511_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289816.4]
  assign _T_821 = {_T_813,_T_812}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289825.4]
  assign _T_811 = _T_511_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289815.4]
  assign _T_822 = {_T_821,_T_811}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289826.4]
  assign _T_532 = _T_511_bits_index & 10'h3f8; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289558.4]
  assign _T_542 = _T_532 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289568.4]
  assign _T_883 = _T_542 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289899.4]
  assign _T_54_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
  assign _T_1056 = _T_54_a_valid & _T_54_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290090.4]
  assign _T_1057 = _T_514 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290091.4]
  assign _T_1058 = _T_1056 & _T_1057; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290092.4]
  assign _T_844 = 8'h1 << _T_822; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@289848.4]
  assign _T_849 = _T_844[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289853.4]
  assign _T_1085 = _T_1058 & _T_849; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290129.4]
  assign _T_1086 = _T_1085 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290130.4]
  assign _T_54_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
  assign _T_614 = _T_54_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@289596.4]
  assign _T_622 = _T_614 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@289604.4]
  assign _T_613 = _T_54_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@289595.4]
  assign _T_620 = _T_613 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@289602.4]
  assign _T_624 = {_T_622,_T_620}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289606.4]
  assign _T_612 = _T_54_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@289594.4]
  assign _T_618 = _T_612 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@289600.4]
  assign _T_611 = _T_54_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@289593.4]
  assign _T_616 = _T_611 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@289598.4]
  assign _T_623 = {_T_618,_T_616}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289605.4]
  assign _T_625 = {_T_624,_T_623}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289607.4]
  assign _T_787 = _T_625[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289787.4]
  assign _T_788 = ~ _T_787; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289788.4]
  assign _T_789 = _T_788 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289789.4]
  assign _T_793 = _T_1086 & _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289793.4]
  assign _T_54_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
  assign _T_799 = _T_54_a_bits_data[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289799.4]
  assign _T_494 = {cmd_start,cmd_stop}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289498.4]
  assign _T_493 = {cmd_read,cmd_write}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289497.4]
  assign _T_495 = {_T_494,_T_493}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289499.4]
  assign _T_491 = {cmd_ack,2'h0}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289495.4]
  assign _T_492 = {_T_491,cmd_irqAck}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289496.4]
  assign _T_496 = {_T_495,_T_492}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@289500.4]
  assign _T_497 = _T_496 & 8'hfe; // @[I2C.scala 502:25:shc.marmotcaravel.MarmotCaravelConfig.fir@289501.4]
  assign nextCmd = _T_793 ? _T_799 : _T_497; // @[I2C.scala 558:77:shc.marmotcaravel.MarmotCaravelConfig.fir@289800.4]
  assign _T_484 = nextCmd[0]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@289480.4]
  assign _T_486 = nextCmd[3]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@289484.4]
  assign _T_487 = nextCmd[4]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@289486.4]
  assign _T_488 = nextCmd[5]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@289488.4]
  assign _T_489 = nextCmd[6]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@289490.4]
  assign _T_490 = nextCmd[7]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@289492.4]
  assign _T_498 = cmdAck | arbLost; // @[I2C.scala 505:16:shc.marmotcaravel.MarmotCaravelConfig.fir@289503.4]
  assign _T_501 = _T_498 | status_irqFlag; // @[I2C.scala 527:51:shc.marmotcaravel.MarmotCaravelConfig.fir@289528.4]
  assign _T_502 = cmd_irqAck == 1'h0; // @[I2C.scala 527:73:shc.marmotcaravel.MarmotCaravelConfig.fir@289529.4]
  assign _T_503 = _T_501 & _T_502; // @[I2C.scala 527:70:shc.marmotcaravel.MarmotCaravelConfig.fir@289530.4]
  assign _T_506 = statusReadReady == 1'h0; // @[I2C.scala 534:14:shc.marmotcaravel.MarmotCaravelConfig.fir@289538.6]
  assign _T_54_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
  assign _T_54_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@288901.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
  assign _T_516 = {_T_54_a_bits_source,_T_54_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289550.4]
  assign _T_627 = _T_787 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289609.4]
  assign _T_806 = _T_627 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289810.4]
  assign _T_807 = statusReadReady | _T_806; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289811.4]
  assign _T_1020 = _T_807 | _T_883; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290056.4]
  assign _GEN_232 = 3'h4 == _T_822 ? _T_1020 : 1'h1; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290089.4]
  assign _GEN_233 = 3'h5 == _T_822 ? 1'h1 : _GEN_232; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290089.4]
  assign _GEN_234 = 3'h6 == _T_822 ? 1'h1 : _GEN_233; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290089.4]
  assign _GEN_235 = 3'h7 == _T_822 ? 1'h1 : _GEN_234; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290089.4]
  assign _T_1125 = _T_514 ? _GEN_235 : 1'h1; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290169.4]
  assign _T_836 = _T_844[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289840.4]
  assign _T_1061 = _T_1058 & _T_836; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290095.4]
  assign _T_1062 = _T_1061 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290096.4]
  assign _T_639 = _T_1062 & _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289621.4]
  assign _T_837 = _T_844[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289841.4]
  assign _T_1067 = _T_1058 & _T_837; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290103.4]
  assign _T_1068 = _T_1067 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290104.4]
  assign _T_664 = _T_1068 & _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289649.4]
  assign _T_838 = _T_844[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289842.4]
  assign _T_1073 = _T_1058 & _T_838; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290111.4]
  assign _T_1074 = _T_1073 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290112.4]
  assign _T_701 = _T_625[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289692.4]
  assign _T_704 = ~ _T_701; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289695.4]
  assign _T_705 = _T_704 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289696.4]
  assign _T_714 = _T_1074 & _T_705; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289705.4]
  assign _T_715 = _T_54_a_bits_data[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289706.4]
  assign _T_725 = {control_intEn,6'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289719.4]
  assign _T_728 = _T_625[7]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289722.4]
  assign _T_731 = ~ _T_728; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289725.4]
  assign _T_732 = _T_731 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289726.4]
  assign _T_741 = _T_1074 & _T_732; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289735.4]
  assign _T_742 = _T_54_a_bits_data[7]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289736.4]
  assign _T_752 = {control_coreEn,_T_725}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@289749.4]
  assign _T_839 = _T_844[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289843.4]
  assign _T_1079 = _T_1058 & _T_839; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290121.4]
  assign _T_1080 = _T_1079 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290122.4]
  assign _T_768 = _T_1080 & _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@289765.4]
  assign _T_794 = {3'h0,status_transferInProgress}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@289794.4]
  assign _T_795 = {_T_794,status_irqFlag}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@289795.4]
  assign _T_796 = {status_receivedAck,status_busy}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@289796.4]
  assign _T_797 = {_T_796,status_arbLost}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@289797.4]
  assign _T_798 = {_T_797,_T_795}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@289798.4]
  assign _GEN_245 = 3'h1 == _T_822 ? _T_542 : _T_542; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
  assign _GEN_246 = 3'h2 == _T_822 ? _T_542 : _GEN_245; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
  assign _GEN_247 = 3'h3 == _T_822 ? _T_542 : _GEN_246; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
  assign _GEN_248 = 3'h4 == _T_822 ? _T_542 : _GEN_247; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
  assign _GEN_249 = 3'h5 == _T_822 ? 1'h1 : _GEN_248; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
  assign _GEN_250 = 3'h6 == _T_822 ? 1'h1 : _GEN_249; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
  assign _GEN_251 = 3'h7 == _T_822 ? 1'h1 : _GEN_250; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290190.4]
  assign _GEN_253 = 3'h1 == _T_822 ? prescaler_hi : prescaler_lo; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
  assign _GEN_254 = 3'h2 == _T_822 ? _T_752 : _GEN_253; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
  assign _GEN_255 = 3'h3 == _T_822 ? receivedData : _GEN_254; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
  assign _GEN_256 = 3'h4 == _T_822 ? _T_798 : _GEN_255; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
  assign _GEN_257 = 3'h5 == _T_822 ? 8'h0 : _GEN_256; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
  assign _GEN_258 = 3'h6 == _T_822 ? 8'h0 : _GEN_257; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
  assign _GEN_259 = 3'h7 == _T_822 ? 8'h0 : _GEN_258; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@290202.4]
  assign _T_1164 = _GEN_251 ? _GEN_259 : 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290203.4]
  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@288956.4]
  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288955.4]
  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288955.4]
  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288955.4]
  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288955.4]
  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288955.4]
  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288955.4]
  assign auto_io_out_scl_oe = sclOen == 1'h0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@288954.4]
  assign auto_io_out_sda_oe = sdaOen == 1'h0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@288954.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288889.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288890.4]
  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@288952.4]
  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@288952.4]
  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@288952.4]
  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@288952.4]
  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@288952.4]
  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@288952.4]
  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@288952.4]
  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@288952.4]
  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@288952.4]
  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@288952.4]
  assign buffer_auto_out_a_ready = _T_54_d_ready & _T_1125; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
  assign buffer_auto_out_d_valid = _T_54_a_valid & _T_1125; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_514}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
  assign buffer_auto_out_d_bits_size = _T_516[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
  assign buffer_auto_out_d_bits_source = _T_516[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
  assign buffer_auto_out_d_bits_data = {{24'd0}, _T_1164}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@288951.4]
  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288895.4]
  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288896.4]
  assign intsource_auto_in_0 = status_irqFlag & control_intEn; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@288950.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288905.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@288906.4]
  assign TLMonitor_io_in_a_ready = _T_54_d_ready & _T_1125; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
  assign TLMonitor_io_in_d_valid = _T_54_a_valid & _T_1125; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_514}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
  assign TLMonitor_io_in_d_bits_size = _T_516[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
  assign TLMonitor_io_in_d_bits_source = _T_516[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@288939.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  prescaler_hi = _RAND_0[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  prescaler_lo = _RAND_1[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  control_coreEn = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  control_intEn = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  transmitData = _RAND_4[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  receivedData = _RAND_5[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  cmd_start = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  cmd_stop = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  cmd_read = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  cmd_write = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  cmd_ack = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  cmd_irqAck = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  status_receivedAck = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  status_busy = _RAND_13[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  status_arbLost = _RAND_14[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  status_transferInProgress = _RAND_15[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  status_irqFlag = _RAND_16[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_17 = {1{`RANDOM}};
  filterCnt = _RAND_17[13:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_18 = {1{`RANDOM}};
  fSCL = _RAND_18[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_19 = {1{`RANDOM}};
  fSDA = _RAND_19[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_20 = {1{`RANDOM}};
  sSCL = _RAND_20[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_21 = {1{`RANDOM}};
  sSDA = _RAND_21[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_22 = {1{`RANDOM}};
  dSCL = _RAND_22[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_23 = {1{`RANDOM}};
  dSDA = _RAND_23[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_24 = {1{`RANDOM}};
  dSCLOen = _RAND_24[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_25 = {1{`RANDOM}};
  startCond = _RAND_25[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_26 = {1{`RANDOM}};
  stopCond = _RAND_26[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_27 = {1{`RANDOM}};
  sclOen = _RAND_27[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_28 = {1{`RANDOM}};
  slaveWait = _RAND_28[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_29 = {1{`RANDOM}};
  clkEn = _RAND_29[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_30 = {1{`RANDOM}};
  cnt = _RAND_30[15:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_31 = {1{`RANDOM}};
  sdaOen = _RAND_31[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_32 = {1{`RANDOM}};
  sdaChk = _RAND_32[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_33 = {1{`RANDOM}};
  transmitBit = _RAND_33[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_34 = {1{`RANDOM}};
  receivedBit = _RAND_34[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_35 = {1{`RANDOM}};
  bitCmd = _RAND_35[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_36 = {1{`RANDOM}};
  bitCmdStop = _RAND_36[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_37 = {1{`RANDOM}};
  bitCmdAck = _RAND_37[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_38 = {1{`RANDOM}};
  bitState = _RAND_38[4:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_39 = {1{`RANDOM}};
  arbLost = _RAND_39[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_40 = {1{`RANDOM}};
  load = _RAND_40[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_41 = {1{`RANDOM}};
  shift = _RAND_41[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_42 = {1{`RANDOM}};
  cmdAck = _RAND_42[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_43 = {1{`RANDOM}};
  receivedAck = _RAND_43[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_44 = {1{`RANDOM}};
  bitCnt = _RAND_44[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_45 = {1{`RANDOM}};
  byteState = _RAND_45[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_46 = {1{`RANDOM}};
  statusReadReady = _RAND_46[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      prescaler_hi <= 8'hff;
    end else begin
      if (_T_664) begin
        prescaler_hi <= _T_799;
      end
    end
    if (reset) begin
      prescaler_lo <= 8'hff;
    end else begin
      if (_T_639) begin
        prescaler_lo <= _T_799;
      end
    end
    if (reset) begin
      control_coreEn <= 1'h0;
    end else begin
      if (_T_741) begin
        control_coreEn <= _T_742;
      end
    end
    if (reset) begin
      control_intEn <= 1'h0;
    end else begin
      if (_T_714) begin
        control_intEn <= _T_715;
      end
    end
    if (reset) begin
      transmitData <= 8'h0;
    end else begin
      if (_T_768) begin
        transmitData <= _T_799;
      end
    end
    if (reset) begin
      receivedData <= 8'h0;
    end else begin
      receivedData <= _GEN_117[7:0];
    end
    if (reset) begin
      cmd_start <= 1'h0;
    end else begin
      if (_T_498) begin
        cmd_start <= 1'h0;
      end else begin
        cmd_start <= _T_490;
      end
    end
    if (reset) begin
      cmd_stop <= 1'h0;
    end else begin
      if (_T_498) begin
        cmd_stop <= 1'h0;
      end else begin
        cmd_stop <= _T_489;
      end
    end
    if (reset) begin
      cmd_read <= 1'h0;
    end else begin
      if (_T_498) begin
        cmd_read <= 1'h0;
      end else begin
        cmd_read <= _T_488;
      end
    end
    if (reset) begin
      cmd_write <= 1'h0;
    end else begin
      if (_T_498) begin
        cmd_write <= 1'h0;
      end else begin
        cmd_write <= _T_487;
      end
    end
    if (reset) begin
      cmd_ack <= 1'h0;
    end else begin
      cmd_ack <= _T_486;
    end
    if (reset) begin
      cmd_irqAck <= 1'h0;
    end else begin
      cmd_irqAck <= _T_484;
    end
    if (reset) begin
      status_receivedAck <= 1'h0;
    end else begin
      status_receivedAck <= receivedAck;
    end
    if (reset) begin
      status_busy <= 1'h0;
    end else begin
      if (stopCond) begin
        status_busy <= 1'h0;
      end else begin
        if (startCond) begin
          status_busy <= 1'h1;
        end
      end
    end
    if (reset) begin
      status_arbLost <= 1'h0;
    end else begin
      if (arbLost) begin
        status_arbLost <= 1'h1;
      end else begin
        if (cmd_start) begin
          status_arbLost <= 1'h0;
        end
      end
    end
    if (reset) begin
      status_transferInProgress <= 1'h0;
    end else begin
      status_transferInProgress <= _T_460;
    end
    if (reset) begin
      status_irqFlag <= 1'h0;
    end else begin
      status_irqFlag <= _T_503;
    end
    if (reset) begin
      filterCnt <= 14'h0;
    end else begin
      if (_T_346) begin
        filterCnt <= 14'h0;
      end else begin
        if (_T_348) begin
          filterCnt <= _T_350;
        end else begin
          filterCnt <= _T_353;
        end
      end
    end
    if (reset) begin
      fSCL <= 3'h7;
    end else begin
      fSCL <= _GEN_2[2:0];
    end
    if (reset) begin
      fSDA <= 3'h7;
    end else begin
      fSDA <= _GEN_3[2:0];
    end
    if (reset) begin
      sSCL <= 1'h1;
    end else begin
      sSCL <= _T_367;
    end
    if (reset) begin
      sSDA <= 1'h1;
    end else begin
      sSDA <= _T_376;
    end
    if (reset) begin
      dSCL <= 1'h1;
    end else begin
      dSCL <= sSCL;
    end
    if (reset) begin
      dSDA <= 1'h1;
    end else begin
      dSDA <= sSDA;
    end
    dSCLOen <= sclOen == 1'h0;
    if (reset) begin
      startCond <= 1'h0;
    end else begin
      startCond <= _T_383;
    end
    if (reset) begin
      stopCond <= 1'h0;
    end else begin
      stopCond <= _T_387;
    end
    if (reset) begin
      sclOen <= 1'h1;
    end else begin
      if (arbLost) begin
        sclOen <= 1'h1;
      end else begin
        if (clkEn) begin
          if (!(_T_434)) begin
            if (!(_T_439)) begin
              if (_T_440) begin
                sclOen <= 1'h1;
              end else begin
                if (_T_441) begin
                  sclOen <= 1'h1;
                end else begin
                  if (_T_442) begin
                    sclOen <= 1'h1;
                  end else begin
                    if (_T_443) begin
                      sclOen <= 1'h0;
                    end else begin
                      if (_T_444) begin
                        sclOen <= 1'h0;
                      end else begin
                        if (_T_445) begin
                          sclOen <= 1'h1;
                        end else begin
                          if (_T_446) begin
                            sclOen <= 1'h1;
                          end else begin
                            if (_T_447) begin
                              sclOen <= 1'h1;
                            end else begin
                              if (_T_448) begin
                                sclOen <= 1'h0;
                              end else begin
                                if (_T_449) begin
                                  sclOen <= 1'h1;
                                end else begin
                                  if (_T_450) begin
                                    sclOen <= 1'h1;
                                  end else begin
                                    if (_T_451) begin
                                      sclOen <= 1'h0;
                                    end else begin
                                      if (_T_452) begin
                                        sclOen <= 1'h0;
                                      end else begin
                                        if (_T_453) begin
                                          sclOen <= 1'h1;
                                        end else begin
                                          if (_T_454) begin
                                            sclOen <= 1'h1;
                                          end else begin
                                            if (_T_455) begin
                                              sclOen <= 1'h0;
                                            end
                                          end
                                        end
                                      end
                                    end
                                  end
                                end
                              end
                            end
                          end
                        end
                      end
                    end
                  end
                end
              end
            end
          end
        end
      end
    end
    if (reset) begin
      slaveWait <= 1'h0;
    end else begin
      slaveWait <= _T_398;
    end
    if (reset) begin
      clkEn <= 1'h1;
    end else begin
      clkEn <= _T_405;
    end
    if (reset) begin
      cnt <= 16'h0;
    end else begin
      if (_T_405) begin
        cnt <= _T_349;
      end else begin
        if (!(slaveWait)) begin
          cnt <= _T_409;
        end
      end
    end
    if (reset) begin
      sdaOen <= 1'h1;
    end else begin
      if (arbLost) begin
        sdaOen <= 1'h1;
      end else begin
        if (clkEn) begin
          if (!(_T_434)) begin
            if (_T_439) begin
              sdaOen <= 1'h1;
            end else begin
              if (_T_440) begin
                sdaOen <= 1'h1;
              end else begin
                if (_T_441) begin
                  sdaOen <= 1'h0;
                end else begin
                  if (_T_442) begin
                    sdaOen <= 1'h0;
                  end else begin
                    if (_T_443) begin
                      sdaOen <= 1'h0;
                    end else begin
                      if (_T_444) begin
                        sdaOen <= 1'h0;
                      end else begin
                        if (_T_445) begin
                          sdaOen <= 1'h0;
                        end else begin
                          if (_T_446) begin
                            sdaOen <= 1'h0;
                          end else begin
                            if (_T_447) begin
                              sdaOen <= 1'h1;
                            end else begin
                              if (_T_448) begin
                                sdaOen <= 1'h1;
                              end else begin
                                if (_T_449) begin
                                  sdaOen <= 1'h1;
                                end else begin
                                  if (_T_450) begin
                                    sdaOen <= 1'h1;
                                  end else begin
                                    if (_T_451) begin
                                      sdaOen <= 1'h1;
                                    end else begin
                                      if (_T_452) begin
                                        sdaOen <= transmitBit;
                                      end else begin
                                        if (_T_453) begin
                                          sdaOen <= transmitBit;
                                        end else begin
                                          if (_T_454) begin
                                            sdaOen <= transmitBit;
                                          end else begin
                                            if (_T_455) begin
                                              sdaOen <= transmitBit;
                                            end
                                          end
                                        end
                                      end
                                    end
                                  end
                                end
                              end
                            end
                          end
                        end
                      end
                    end
                  end
                end
              end
            end
          end
        end
      end
    end
    if (reset) begin
      sdaChk <= 1'h0;
    end else begin
      if (arbLost) begin
        sdaChk <= 1'h0;
      end else begin
        if (clkEn) begin
          if (_T_434) begin
            sdaChk <= 1'h0;
          end else begin
            if (_T_439) begin
              sdaChk <= 1'h0;
            end else begin
              if (_T_440) begin
                sdaChk <= 1'h0;
              end else begin
                if (_T_441) begin
                  sdaChk <= 1'h0;
                end else begin
                  if (_T_442) begin
                    sdaChk <= 1'h0;
                  end else begin
                    if (_T_443) begin
                      sdaChk <= 1'h0;
                    end else begin
                      if (_T_444) begin
                        sdaChk <= 1'h0;
                      end else begin
                        if (_T_445) begin
                          sdaChk <= 1'h0;
                        end else begin
                          if (_T_446) begin
                            sdaChk <= 1'h0;
                          end else begin
                            if (_T_447) begin
                              sdaChk <= 1'h0;
                            end else begin
                              if (_T_448) begin
                                sdaChk <= 1'h0;
                              end else begin
                                if (_T_449) begin
                                  sdaChk <= 1'h0;
                                end else begin
                                  if (_T_450) begin
                                    sdaChk <= 1'h0;
                                  end else begin
                                    if (_T_451) begin
                                      sdaChk <= 1'h0;
                                    end else begin
                                      if (_T_452) begin
                                        sdaChk <= 1'h0;
                                      end else begin
                                        if (_T_453) begin
                                          sdaChk <= 1'h0;
                                        end else begin
                                          if (_T_454) begin
                                            sdaChk <= 1'h1;
                                          end else begin
                                            if (_T_455) begin
                                              sdaChk <= 1'h0;
                                            end
                                          end
                                        end
                                      end
                                    end
                                  end
                                end
                              end
                            end
                          end
                        end
                      end
                    end
                  end
                end
              end
            end
          end
        end
      end
    end
    if (reset) begin
      transmitBit <= 1'h0;
    end else begin
      if (arbLost) begin
        transmitBit <= 1'h0;
      end else begin
        if (_T_472) begin
          transmitBit <= _T_471;
        end else begin
          if (_T_473) begin
            transmitBit <= _T_471;
          end else begin
            if (_T_474) begin
              transmitBit <= _T_471;
            end else begin
              if (_T_475) begin
                if (bitCmdAck) begin
                  transmitBit <= cmd_ack;
                end else begin
                  transmitBit <= _T_471;
                end
              end else begin
                if (_T_476) begin
                  if (bitCmdAck) begin
                    transmitBit <= 1'h1;
                  end else begin
                    transmitBit <= cmd_ack;
                  end
                end else begin
                  transmitBit <= _T_471;
                end
              end
            end
          end
        end
      end
    end
    if (_T_418) begin
      receivedBit <= sSDA;
    end
    if (reset) begin
      bitCmd <= 4'h0;
    end else begin
      if (arbLost) begin
        bitCmd <= 4'h0;
      end else begin
        if (_T_472) begin
          if (go) begin
            if (cmd_start) begin
              bitCmd <= 4'h1;
            end else begin
              if (cmd_read) begin
                bitCmd <= 4'h8;
              end else begin
                bitCmd <= {{1'd0}, _GEN_119};
              end
            end
          end
        end else begin
          if (_T_473) begin
            if (bitCmdAck) begin
              if (cmd_read) begin
                bitCmd <= 4'h8;
              end else begin
                bitCmd <= 4'h4;
              end
            end
          end else begin
            if (_T_474) begin
              if (bitCmdAck) begin
                if (bitCntDone) begin
                  bitCmd <= 4'h8;
                end else begin
                  bitCmd <= 4'h4;
                end
              end
            end else begin
              if (_T_475) begin
                if (bitCmdAck) begin
                  if (bitCntDone) begin
                    bitCmd <= 4'h4;
                  end else begin
                    bitCmd <= 4'h8;
                  end
                end
              end else begin
                if (_T_476) begin
                  if (bitCmdAck) begin
                    bitCmd <= {{2'd0}, _GEN_144};
                  end
                end else begin
                  if (_T_477) begin
                    if (bitCmdAck) begin
                      bitCmd <= 4'h0;
                    end
                  end
                end
              end
            end
          end
        end
      end
    end
    if (reset) begin
      bitCmdStop <= 1'h0;
    end else begin
      if (clkEn) begin
        bitCmdStop <= _T_421;
      end
    end
    if (reset) begin
      bitCmdAck <= 1'h0;
    end else begin
      if (arbLost) begin
        bitCmdAck <= 1'h0;
      end else begin
        if (clkEn) begin
          if (_T_434) begin
            bitCmdAck <= 1'h0;
          end else begin
            if (_T_439) begin
              bitCmdAck <= 1'h0;
            end else begin
              if (_T_440) begin
                bitCmdAck <= 1'h0;
              end else begin
                if (_T_441) begin
                  bitCmdAck <= 1'h0;
                end else begin
                  if (_T_442) begin
                    bitCmdAck <= 1'h0;
                  end else begin
                    if (_T_443) begin
                      bitCmdAck <= 1'h1;
                    end else begin
                      if (_T_444) begin
                        bitCmdAck <= 1'h0;
                      end else begin
                        if (_T_445) begin
                          bitCmdAck <= 1'h0;
                        end else begin
                          if (_T_446) begin
                            bitCmdAck <= 1'h0;
                          end else begin
                            if (_T_447) begin
                              bitCmdAck <= 1'h1;
                            end else begin
                              if (_T_448) begin
                                bitCmdAck <= 1'h0;
                              end else begin
                                if (_T_449) begin
                                  bitCmdAck <= 1'h0;
                                end else begin
                                  if (_T_450) begin
                                    bitCmdAck <= 1'h0;
                                  end else begin
                                    if (_T_451) begin
                                      bitCmdAck <= 1'h1;
                                    end else begin
                                      if (_T_452) begin
                                        bitCmdAck <= 1'h0;
                                      end else begin
                                        if (_T_453) begin
                                          bitCmdAck <= 1'h0;
                                        end else begin
                                          if (_T_454) begin
                                            bitCmdAck <= 1'h0;
                                          end else begin
                                            bitCmdAck <= _T_455;
                                          end
                                        end
                                      end
                                    end
                                  end
                                end
                              end
                            end
                          end
                        end
                      end
                    end
                  end
                end
              end
            end
          end
        end else begin
          bitCmdAck <= 1'h0;
        end
      end
    end
    if (reset) begin
      bitState <= 5'h0;
    end else begin
      if (arbLost) begin
        bitState <= 5'h0;
      end else begin
        if (clkEn) begin
          if (_T_434) begin
            if (_T_435) begin
              bitState <= 5'h1;
            end else begin
              if (_T_436) begin
                bitState <= 5'h6;
              end else begin
                if (_T_437) begin
                  bitState <= 5'he;
                end else begin
                  if (_T_438) begin
                    bitState <= 5'ha;
                  end
                end
              end
            end
          end else begin
            if (_T_439) begin
              bitState <= 5'h2;
            end else begin
              if (_T_440) begin
                bitState <= 5'h3;
              end else begin
                if (_T_441) begin
                  bitState <= 5'h4;
                end else begin
                  if (_T_442) begin
                    bitState <= 5'h5;
                  end else begin
                    if (_T_443) begin
                      bitState <= 5'h0;
                    end else begin
                      if (_T_444) begin
                        bitState <= 5'h7;
                      end else begin
                        if (_T_445) begin
                          bitState <= 5'h8;
                        end else begin
                          if (_T_446) begin
                            bitState <= 5'h9;
                          end else begin
                            if (_T_447) begin
                              bitState <= 5'h0;
                            end else begin
                              if (_T_448) begin
                                bitState <= 5'hb;
                              end else begin
                                if (_T_449) begin
                                  bitState <= 5'hc;
                                end else begin
                                  if (_T_450) begin
                                    bitState <= 5'hd;
                                  end else begin
                                    if (_T_451) begin
                                      bitState <= 5'h0;
                                    end else begin
                                      if (_T_452) begin
                                        bitState <= 5'hf;
                                      end else begin
                                        if (_T_453) begin
                                          bitState <= 5'h10;
                                        end else begin
                                          if (_T_454) begin
                                            bitState <= 5'h11;
                                          end else begin
                                            if (_T_455) begin
                                              bitState <= 5'h0;
                                            end
                                          end
                                        end
                                      end
                                    end
                                  end
                                end
                              end
                            end
                          end
                        end
                      end
                    end
                  end
                end
              end
            end
          end
        end
      end
    end
    if (reset) begin
      arbLost <= 1'h0;
    end else begin
      arbLost <= _T_432;
    end
    if (reset) begin
      load <= 1'h0;
    end else begin
      if (arbLost) begin
        load <= 1'h0;
      end else begin
        if (_T_472) begin
          load <= go;
        end else begin
          if (_T_473) begin
            load <= bitCmdAck;
          end else begin
            load <= 1'h0;
          end
        end
      end
    end
    if (reset) begin
      shift <= 1'h0;
    end else begin
      if (arbLost) begin
        shift <= 1'h0;
      end else begin
        if (_T_472) begin
          shift <= 1'h0;
        end else begin
          if (_T_473) begin
            shift <= 1'h0;
          end else begin
            if (_T_474) begin
              if (bitCmdAck) begin
                if (bitCntDone) begin
                  shift <= 1'h0;
                end else begin
                  shift <= 1'h1;
                end
              end else begin
                shift <= 1'h0;
              end
            end else begin
              if (_T_475) begin
                shift <= bitCmdAck;
              end else begin
                shift <= 1'h0;
              end
            end
          end
        end
      end
    end
    if (reset) begin
      cmdAck <= 1'h0;
    end else begin
      if (arbLost) begin
        cmdAck <= 1'h0;
      end else begin
        if (_T_472) begin
          cmdAck <= 1'h0;
        end else begin
          if (_T_473) begin
            cmdAck <= 1'h0;
          end else begin
            if (_T_474) begin
              cmdAck <= 1'h0;
            end else begin
              if (_T_475) begin
                cmdAck <= 1'h0;
              end else begin
                if (_T_476) begin
                  if (bitCmdAck) begin
                    if (cmd_stop) begin
                      cmdAck <= 1'h0;
                    end else begin
                      cmdAck <= 1'h1;
                    end
                  end else begin
                    cmdAck <= 1'h0;
                  end
                end else begin
                  if (_T_477) begin
                    cmdAck <= bitCmdAck;
                  end else begin
                    cmdAck <= 1'h0;
                  end
                end
              end
            end
          end
        end
      end
    end
    if (reset) begin
      receivedAck <= 1'h0;
    end else begin
      if (arbLost) begin
        receivedAck <= 1'h0;
      end else begin
        if (!(_T_472)) begin
          if (!(_T_473)) begin
            if (!(_T_474)) begin
              if (!(_T_475)) begin
                if (_T_476) begin
                  if (bitCmdAck) begin
                    receivedAck <= receivedBit;
                  end
                end
              end
            end
          end
        end
      end
    end
    if (reset) begin
      bitCnt <= 3'h0;
    end else begin
      if (load) begin
        bitCnt <= 3'h7;
      end else begin
        if (shift) begin
          bitCnt <= _T_466;
        end
      end
    end
    if (reset) begin
      byteState <= 3'h0;
    end else begin
      if (arbLost) begin
        byteState <= 3'h0;
      end else begin
        if (_T_472) begin
          if (go) begin
            if (cmd_start) begin
              byteState <= 3'h1;
            end else begin
              if (cmd_read) begin
                byteState <= 3'h2;
              end else begin
                if (cmd_write) begin
                  byteState <= 3'h3;
                end else begin
                  byteState <= 3'h5;
                end
              end
            end
          end
        end else begin
          if (_T_473) begin
            if (bitCmdAck) begin
              if (cmd_read) begin
                byteState <= 3'h2;
              end else begin
                byteState <= 3'h3;
              end
            end
          end else begin
            if (_T_474) begin
              if (bitCmdAck) begin
                if (bitCntDone) begin
                  byteState <= 3'h4;
                end else begin
                  byteState <= 3'h3;
                end
              end
            end else begin
              if (_T_475) begin
                if (bitCmdAck) begin
                  if (bitCntDone) begin
                    byteState <= 3'h4;
                  end else begin
                    byteState <= 3'h2;
                  end
                end
              end else begin
                if (_T_476) begin
                  if (bitCmdAck) begin
                    if (cmd_stop) begin
                      byteState <= 3'h5;
                    end else begin
                      byteState <= 3'h0;
                    end
                  end
                end else begin
                  if (_T_477) begin
                    if (bitCmdAck) begin
                      byteState <= 3'h0;
                    end
                  end
                end
              end
            end
          end
        end
      end
    end
    if (reset) begin
      statusReadReady <= 1'h1;
    end else begin
      if (_T_793) begin
        statusReadReady <= 1'h0;
      end else begin
        if (_T_498) begin
          statusReadReady <= 1'h0;
        end else begin
          if (_T_506) begin
            statusReadReady <= 1'h1;
          end
        end
      end
    end
  end
endmodule
module TLMonitor_80( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290302.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290303.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290304.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@290305.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@291432.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@290332.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@290333.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@290334.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@290335.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@290335.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290336.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@290338.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@290339.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@290341.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@290342.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@290343.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@290344.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@290345.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@290347.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@290348.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@290350.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@290351.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@290352.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@290353.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@290354.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290355.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@290356.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@290357.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290358.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@290359.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@290360.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290361.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@290362.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@290363.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290364.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@290365.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@290366.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@290367.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@290368.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@290369.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290392.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@290395.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@290396.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@290397.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@290398.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@290399.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290404.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290425.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290426.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290432.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290433.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290438.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290440.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290441.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@290446.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@290447.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290449.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290450.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@290455.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290457.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290458.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290464.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@290518.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290520.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290521.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290544.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@290547.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@290555.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290558.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290559.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@290578.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290580.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290581.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290586.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290588.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290589.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290603.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290654.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@290696.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@290697.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@290698.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290700.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290701.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290707.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@290738.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290740.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290741.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290755.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@290786.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290788.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290789.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290803.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290853.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@290855.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@290856.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290873.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290882.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290884.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290885.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290915.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290973.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291163.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291172.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291173.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291174.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291175.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291176.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291187.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291188.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291189.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291190.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291191.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291192.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291193.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291195.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291197.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291198.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291203.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291205.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291206.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291211.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291213.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291214.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291219.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291221.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291222.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291227.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291229.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291230.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@291237.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291245.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291253.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291254.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291255.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291256.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291257.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291268.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291270.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291271.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291275.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291277.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291279.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291293.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291295.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291296.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291301.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291303.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291304.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@291327.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291336.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291346.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291347.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291348.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291349.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291350.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291369.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291370.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291371.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291372.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291373.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291388.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@291391.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@291393.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@291394.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291395.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291397.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291398.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@291390.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291409.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@291411.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@291412.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@291414.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@291416.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@291417.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@291418.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291420.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291421.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@291413.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291427.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291428.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@291429.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291431.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@291434.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291435.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@291436.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291437.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@291438.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@291439.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291441.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291442.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@291448.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291452.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290406.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290478.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290561.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290620.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290671.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290721.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290769.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290817.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290887.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290928.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290986.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@291432.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@290332.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@290333.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@290334.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@290335.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@290335.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290336.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@290338.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@290339.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@290341.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@290342.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@290343.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@290344.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@290345.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@290347.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@290348.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@290350.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@290351.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@290352.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@290353.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@290354.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290355.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@290356.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@290357.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290358.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@290359.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@290360.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290361.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@290362.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@290363.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290364.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@290365.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@290366.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@290367.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@290368.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@290369.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290392.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10026000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@290395.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@290396.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@290397.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@290398.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@290399.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290404.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290425.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290426.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290432.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290433.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290438.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290440.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290441.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@290446.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@290447.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290449.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290450.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@290455.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290457.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290458.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290464.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@290518.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290520.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290521.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290544.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@290547.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@290555.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290558.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290559.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@290578.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290580.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290581.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290586.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290588.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290589.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290603.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290654.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@290696.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@290697.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@290698.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290700.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290701.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290707.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@290738.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290740.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290741.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290755.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@290786.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290788.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290789.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290803.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@290853.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@290855.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@290856.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290873.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@290882.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290884.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290885.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290915.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@290973.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291163.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291173.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291174.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291175.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291176.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291192.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291193.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291195.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291197.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291198.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291203.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291205.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291206.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291211.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291213.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291214.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291219.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291221.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291222.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291227.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291229.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291230.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@291237.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291245.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291254.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291255.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291256.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291257.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@291274.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291275.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291277.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291279.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291280.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291293.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291295.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291296.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291301.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291303.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291304.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@291327.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291347.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291348.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291349.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291350.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291370.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291371.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291372.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291373.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291388.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@291391.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@291393.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@291394.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291395.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291397.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291398.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@291390.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291409.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@291411.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@291412.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@291414.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@291416.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@291417.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@291418.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291420.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291421.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@291413.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291427.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291428.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@291429.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@291434.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291435.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@291436.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291437.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@291438.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@291439.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291441.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291442.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@291448.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291452.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290406.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290478.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290561.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290620.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290671.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290721.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290769.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290817.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290887.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290928.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290986.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_514 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_527 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_529 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_531 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_533 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_535 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_569 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_582 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_586 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_588 = _RAND_9[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {2{`RANDOM}};
  _T_622 = _RAND_10[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_633 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_654 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_697 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_514 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_518) begin
          _T_514 <= 1'h0;
        end else begin
          _T_514 <= _T_517;
        end
      end
    end
    if (_T_559) begin
      _T_527 <= io_in_a_bits_opcode;
    end
    if (_T_559) begin
      _T_529 <= io_in_a_bits_param;
    end
    if (_T_559) begin
      _T_531 <= io_in_a_bits_size;
    end
    if (_T_559) begin
      _T_533 <= io_in_a_bits_source;
    end
    if (_T_559) begin
      _T_535 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_569 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_573) begin
          _T_569 <= 1'h0;
        end else begin
          _T_569 <= _T_572;
        end
      end
    end
    if (_T_620) begin
      _T_582 <= io_in_d_bits_opcode;
    end
    if (_T_620) begin
      _T_586 <= io_in_d_bits_size;
    end
    if (_T_620) begin
      _T_588 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_622 <= 64'h0;
    end else begin
      _T_622 <= _T_695;
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_654 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_658) begin
          _T_654 <= 1'h0;
        end else begin
          _T_654 <= _T_657;
        end
      end
    end
    if (reset) begin
      _T_697 <= 32'h0;
    end else begin
      if (_T_711) begin
        _T_697 <= 32'h0;
      end else begin
        _T_697 <= _T_708;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@290317.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@290318.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@290389.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@290390.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290406.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290407.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290413.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290414.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290420.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290421.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290428.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290429.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290435.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290436.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290443.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290444.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290452.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290453.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290460.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290461.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290478.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290479.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290485.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290486.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290492.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290493.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290500.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290501.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290507.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290508.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290515.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290516.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290523.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290524.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290532.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290533.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290540.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290541.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290561.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290562.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290568.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290569.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290575.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290576.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290583.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290584.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290591.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290592.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290599.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290600.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290620.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290621.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290627.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290628.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290634.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290635.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290642.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290643.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290650.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290651.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290671.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290672.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290678.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290679.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290685.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290686.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290693.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290694.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290703.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290704.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290721.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290722.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290728.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290729.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290735.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290736.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290743.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290744.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290751.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290752.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290769.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290770.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290776.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290777.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290783.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290784.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290791.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290792.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290799.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290800.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290817.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290818.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290824.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290825.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290831.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290832.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290839.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290840.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290847.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290848.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@290858.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@290859.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290879.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290880.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290887.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290888.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290895.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290896.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290903.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290904.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290911.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290912.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290921.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290922.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290928.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290929.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290936.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290937.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290944.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290945.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290952.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290953.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290960.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290961.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290969.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290970.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290979.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290980.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290986.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290987.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290994.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@290995.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291002.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291003.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291010.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291011.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291019.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291020.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291028.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291029.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291038.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291039.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291046.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291047.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291054.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291055.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291063.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291064.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291073.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291074.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291081.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291082.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291090.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291091.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291099.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291100.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291109.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291110.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291117.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291118.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291125.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291126.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291134.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291135.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291144.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291145.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291152.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291153.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291160.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291161.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291200.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291201.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291208.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291209.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291216.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291217.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291224.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291225.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291232.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291233.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291282.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291283.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291290.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291291.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291298.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291299.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291306.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291307.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291314.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291315.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291322.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291323.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291400.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291401.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291423.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@291424.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_706) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:44)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291444.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_706) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291445.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLBuffer_28( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291457.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291458.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291459.4]
  output        auto_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  input         auto_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  input  [2:0]  auto_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  input  [2:0]  auto_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  input  [1:0]  auto_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  input  [5:0]  auto_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  input  [28:0] auto_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  input  [3:0]  auto_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  input  [31:0] auto_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  input         auto_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  input         auto_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  output        auto_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  output [2:0]  auto_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  output [1:0]  auto_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  output [5:0]  auto_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  output [31:0] auto_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  input         auto_out_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  output        auto_out_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  output [2:0]  auto_out_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  output [2:0]  auto_out_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  output [1:0]  auto_out_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  output [5:0]  auto_out_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  output [28:0] auto_out_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  output [3:0]  auto_out_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  output [31:0] auto_out_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  output        auto_out_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  output        auto_out_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  input         auto_out_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  input  [2:0]  auto_out_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  input  [1:0]  auto_out_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  input  [5:0]  auto_out_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
  input  [31:0] auto_out_d_bits_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291460.4]
);
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
  TLMonitor_80 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291467.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  assign auto_in_a_ready = auto_out_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291507.4]
  assign auto_in_d_valid = auto_out_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291507.4]
  assign auto_in_d_bits_opcode = auto_out_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291507.4]
  assign auto_in_d_bits_size = auto_out_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291507.4]
  assign auto_in_d_bits_source = auto_out_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291507.4]
  assign auto_in_d_bits_data = auto_out_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291507.4]
  assign auto_out_a_valid = auto_in_a_valid; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291506.4]
  assign auto_out_a_bits_opcode = auto_in_a_bits_opcode; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291506.4]
  assign auto_out_a_bits_param = auto_in_a_bits_param; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291506.4]
  assign auto_out_a_bits_size = auto_in_a_bits_size; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291506.4]
  assign auto_out_a_bits_source = auto_in_a_bits_source; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291506.4]
  assign auto_out_a_bits_address = auto_in_a_bits_address; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291506.4]
  assign auto_out_a_bits_mask = auto_in_a_bits_mask; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291506.4]
  assign auto_out_a_bits_data = auto_in_a_bits_data; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291506.4]
  assign auto_out_a_bits_corrupt = auto_in_a_bits_corrupt; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291506.4]
  assign auto_out_d_ready = auto_in_d_ready; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291506.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291469.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291470.4]
  assign TLMonitor_io_in_a_ready = auto_out_a_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
  assign TLMonitor_io_in_a_valid = auto_in_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
  assign TLMonitor_io_in_a_bits_opcode = auto_in_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
  assign TLMonitor_io_in_a_bits_param = auto_in_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
  assign TLMonitor_io_in_a_bits_size = auto_in_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
  assign TLMonitor_io_in_a_bits_source = auto_in_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
  assign TLMonitor_io_in_a_bits_address = auto_in_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
  assign TLMonitor_io_in_a_bits_mask = auto_in_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
  assign TLMonitor_io_in_a_bits_corrupt = auto_in_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
  assign TLMonitor_io_in_d_ready = auto_in_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
  assign TLMonitor_io_in_d_valid = auto_out_d_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
  assign TLMonitor_io_in_d_bits_opcode = auto_out_d_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
  assign TLMonitor_io_in_d_bits_size = auto_out_d_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
  assign TLMonitor_io_in_d_bits_source = auto_out_d_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@291503.4]
endmodule
module TLMonitor_81( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291578.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291579.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291580.4]
  input         io_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
  input         io_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
  input  [2:0]  io_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
  input  [2:0]  io_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
  input  [1:0]  io_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
  input  [5:0]  io_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
  input  [28:0] io_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
  input  [3:0]  io_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
  input         io_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
  input         io_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
  input         io_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
  input  [2:0]  io_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
  input  [1:0]  io_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
  input  [5:0]  io_in_d_bits_source // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@291581.4]
);
  wire [31:0] plusarg_reader_out; // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@292708.4]
  wire [4:0] _T_36; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@291608.6]
  wire [1:0] _T_37; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@291609.6]
  wire [1:0] _T_38; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@291610.6]
  wire [28:0] _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@291611.6]
  wire [28:0] _T_39; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@291611.6]
  wire  _T_40; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291612.6]
  wire  _T_42; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291614.6]
  wire [1:0] _T_43; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291615.6]
  wire [1:0] _T_45; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@291617.6]
  wire  _T_46; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@291618.6]
  wire  _T_47; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@291619.6]
  wire  _T_48; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@291620.6]
  wire  _T_49; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@291621.6]
  wire  _T_51; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291623.6]
  wire  _T_52; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291624.6]
  wire  _T_54; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291626.6]
  wire  _T_55; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291627.6]
  wire  _T_56; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@291628.6]
  wire  _T_57; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@291629.6]
  wire  _T_58; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@291630.6]
  wire  _T_59; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291631.6]
  wire  _T_60; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291632.6]
  wire  _T_61; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291633.6]
  wire  _T_62; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291634.6]
  wire  _T_63; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291635.6]
  wire  _T_64; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291636.6]
  wire  _T_65; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291637.6]
  wire  _T_66; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291638.6]
  wire  _T_67; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291639.6]
  wire  _T_68; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291640.6]
  wire  _T_69; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291641.6]
  wire  _T_70; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291642.6]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@291643.6]
  wire [1:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@291644.6]
  wire [3:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@291645.6]
  wire  _T_92; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291668.6]
  wire [28:0] _T_94; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291671.8]
  wire [29:0] _T_95; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291672.8]
  wire [29:0] _T_96; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@291673.8]
  wire [29:0] _T_97; // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@291674.8]
  wire  _T_98; // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@291675.8]
  wire  _T_103; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291680.8]
  wire  _T_112; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291701.8]
  wire  _T_113; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291702.8]
  wire  _T_115; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291708.8]
  wire  _T_116; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291709.8]
  wire  _T_117; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291714.8]
  wire  _T_119; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291716.8]
  wire  _T_120; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291717.8]
  wire [3:0] _T_121; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@291722.8]
  wire  _T_122; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291723.8]
  wire  _T_124; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291725.8]
  wire  _T_125; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291726.8]
  wire  _T_126; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@291731.8]
  wire  _T_128; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291733.8]
  wire  _T_129; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291734.8]
  wire  _T_130; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291740.6]
  wire  _T_159; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291794.8]
  wire  _T_161; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291796.8]
  wire  _T_162; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291797.8]
  wire  _T_172; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291820.6]
  wire  _T_174; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@291823.8]
  wire  _T_182; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@291831.8]
  wire  _T_185; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291834.8]
  wire  _T_186; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291835.8]
  wire  _T_193; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291854.8]
  wire  _T_195; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291856.8]
  wire  _T_196; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291857.8]
  wire  _T_197; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291862.8]
  wire  _T_199; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291864.8]
  wire  _T_200; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291865.8]
  wire  _T_205; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291879.6]
  wire  _T_234; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291930.6]
  wire [3:0] _T_259; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@291972.8]
  wire [3:0] _T_260; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291973.8]
  wire  _T_261; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@291974.8]
  wire  _T_263; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291976.8]
  wire  _T_264; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291977.8]
  wire  _T_265; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291983.6]
  wire  _T_283; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@292014.8]
  wire  _T_285; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292016.8]
  wire  _T_286; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292017.8]
  wire  _T_291; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292031.6]
  wire  _T_309; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@292062.8]
  wire  _T_311; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292064.8]
  wire  _T_312; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292065.8]
  wire  _T_317; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292079.6]
  wire  _T_343; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292129.6]
  wire  _T_345; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@292131.6]
  wire  _T_346; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@292132.6]
  wire  _T_363; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292149.6]
  wire  _T_367; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292158.8]
  wire  _T_369; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292160.8]
  wire  _T_370; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292161.8]
  wire  _T_383; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292191.6]
  wire  _T_411; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292249.6]
  wire  _T_504; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292439.4]
  reg  _T_514; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292448.4]
  reg [31:0] _RAND_0;
  wire [1:0] _T_515; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292449.4]
  wire [1:0] _T_516; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292450.4]
  wire  _T_517; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292451.4]
  wire  _T_518; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292452.4]
  reg [2:0] _T_527; // @[Monitor.scala 349:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292463.4]
  reg [31:0] _RAND_1;
  reg [2:0] _T_529; // @[Monitor.scala 350:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292464.4]
  reg [31:0] _RAND_2;
  reg [1:0] _T_531; // @[Monitor.scala 351:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292465.4]
  reg [31:0] _RAND_3;
  reg [5:0] _T_533; // @[Monitor.scala 352:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292466.4]
  reg [31:0] _RAND_4;
  reg [28:0] _T_535; // @[Monitor.scala 353:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292467.4]
  reg [31:0] _RAND_5;
  wire  _T_536; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292468.4]
  wire  _T_537; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292469.4]
  wire  _T_538; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292471.6]
  wire  _T_540; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292473.6]
  wire  _T_541; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292474.6]
  wire  _T_542; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292479.6]
  wire  _T_544; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292481.6]
  wire  _T_545; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292482.6]
  wire  _T_546; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292487.6]
  wire  _T_548; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292489.6]
  wire  _T_549; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292490.6]
  wire  _T_550; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292495.6]
  wire  _T_552; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292497.6]
  wire  _T_553; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292498.6]
  wire  _T_554; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292503.6]
  wire  _T_556; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292505.6]
  wire  _T_557; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292506.6]
  wire  _T_559; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@292513.4]
  wire  _T_560; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292521.4]
  reg  _T_569; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292529.4]
  reg [31:0] _RAND_6;
  wire [1:0] _T_570; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292530.4]
  wire [1:0] _T_571; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292531.4]
  wire  _T_572; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292532.4]
  wire  _T_573; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292533.4]
  reg [2:0] _T_582; // @[Monitor.scala 418:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292544.4]
  reg [31:0] _RAND_7;
  reg [1:0] _T_586; // @[Monitor.scala 420:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292546.4]
  reg [31:0] _RAND_8;
  reg [5:0] _T_588; // @[Monitor.scala 421:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292547.4]
  reg [31:0] _RAND_9;
  wire  _T_593; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292550.4]
  wire  _T_594; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292551.4]
  wire  _T_595; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292553.6]
  wire  _T_597; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292555.6]
  wire  _T_598; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292556.6]
  wire  _T_603; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292569.6]
  wire  _T_605; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292571.6]
  wire  _T_606; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292572.6]
  wire  _T_607; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292577.6]
  wire  _T_609; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292579.6]
  wire  _T_610; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292580.6]
  wire  _T_620; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@292603.4]
  reg [63:0] _T_622; // @[Monitor.scala 452:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292612.4]
  reg [63:0] _RAND_10;
  reg  _T_633; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292622.4]
  reg [31:0] _RAND_11;
  wire [1:0] _T_634; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292623.4]
  wire [1:0] _T_635; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292624.4]
  wire  _T_636; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292625.4]
  wire  _T_637; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292626.4]
  reg  _T_654; // @[Edges.scala 229:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292645.4]
  reg [31:0] _RAND_12;
  wire [1:0] _T_655; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292646.4]
  wire [1:0] _T_656; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292647.4]
  wire  _T_657; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292648.4]
  wire  _T_658; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292649.4]
  wire  _T_669; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292664.4]
  wire [63:0] _T_671; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@292667.6]
  wire [63:0] _T_672; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@292669.6]
  wire  _T_673; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@292670.6]
  wire  _T_674; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292671.6]
  wire  _T_676; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292673.6]
  wire  _T_677; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292674.6]
  wire [63:0] _GEN_15; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@292666.4]
  wire  _T_682; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292685.4]
  wire  _T_684; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@292687.4]
  wire  _T_685; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@292688.4]
  wire [63:0] _T_686; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@292690.6]
  wire [63:0] _T_687; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@292692.6]
  wire [63:0] _T_688; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@292693.6]
  wire  _T_689; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@292694.6]
  wire  _T_691; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292696.6]
  wire  _T_692; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292697.6]
  wire [63:0] _GEN_16; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@292689.4]
  wire [63:0] _T_693; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292703.4]
  wire [63:0] _T_694; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@292704.4]
  wire [63:0] _T_695; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@292705.4]
  reg [31:0] _T_697; // @[Monitor.scala 476:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292707.4]
  reg [31:0] _RAND_13;
  wire  _T_698; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@292710.4]
  wire  _T_699; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292711.4]
  wire  _T_700; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@292712.4]
  wire  _T_701; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292713.4]
  wire  _T_702; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@292714.4]
  wire  _T_703; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292715.4]
  wire  _T_705; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@292717.4]
  wire  _T_706; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@292718.4]
  wire [31:0] _T_708; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@292724.4]
  wire  _T_711; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292728.4]
  wire  _GEN_19; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291682.10]
  wire  _GEN_33; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291754.10]
  wire  _GEN_49; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291837.10]
  wire  _GEN_59; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291896.10]
  wire  _GEN_67; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291947.10]
  wire  _GEN_75; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291997.10]
  wire  _GEN_83; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292045.10]
  wire  _GEN_91; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292093.10]
  wire  _GEN_99; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292163.10]
  wire  _GEN_101; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292204.10]
  wire  _GEN_105; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292262.10]
  plusarg_reader #(.FORMAT("tilelink_timeout=%d"), .DEFAULT(0)) plusarg_reader ( // @[PlusArg.scala 42:11:shc.marmotcaravel.MarmotCaravelConfig.fir@292708.4]
    .out(plusarg_reader_out)
  );
  assign _T_36 = 5'h3 << io_in_a_bits_size; // @[package.scala 185:77:shc.marmotcaravel.MarmotCaravelConfig.fir@291608.6]
  assign _T_37 = _T_36[1:0]; // @[package.scala 185:82:shc.marmotcaravel.MarmotCaravelConfig.fir@291609.6]
  assign _T_38 = ~ _T_37; // @[package.scala 185:46:shc.marmotcaravel.MarmotCaravelConfig.fir@291610.6]
  assign _GEN_18 = {{27'd0}, _T_38}; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@291611.6]
  assign _T_39 = io_in_a_bits_address & _GEN_18; // @[Edges.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@291611.6]
  assign _T_40 = _T_39 == 29'h0; // @[Edges.scala 21:24:shc.marmotcaravel.MarmotCaravelConfig.fir@291612.6]
  assign _T_42 = io_in_a_bits_size[0]; // @[OneHot.scala 51:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291614.6]
  assign _T_43 = 2'h1 << _T_42; // @[OneHot.scala 52:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291615.6]
  assign _T_45 = _T_43 | 2'h1; // @[Misc.scala 206:81:shc.marmotcaravel.MarmotCaravelConfig.fir@291617.6]
  assign _T_46 = io_in_a_bits_size >= 2'h2; // @[Misc.scala 210:21:shc.marmotcaravel.MarmotCaravelConfig.fir@291618.6]
  assign _T_47 = _T_45[1]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@291619.6]
  assign _T_48 = io_in_a_bits_address[1]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@291620.6]
  assign _T_49 = _T_48 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@291621.6]
  assign _T_51 = _T_47 & _T_49; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291623.6]
  assign _T_52 = _T_46 | _T_51; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291624.6]
  assign _T_54 = _T_47 & _T_48; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291626.6]
  assign _T_55 = _T_46 | _T_54; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291627.6]
  assign _T_56 = _T_45[0]; // @[Misc.scala 213:26:shc.marmotcaravel.MarmotCaravelConfig.fir@291628.6]
  assign _T_57 = io_in_a_bits_address[0]; // @[Misc.scala 214:26:shc.marmotcaravel.MarmotCaravelConfig.fir@291629.6]
  assign _T_58 = _T_57 == 1'h0; // @[Misc.scala 215:20:shc.marmotcaravel.MarmotCaravelConfig.fir@291630.6]
  assign _T_59 = _T_49 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291631.6]
  assign _T_60 = _T_56 & _T_59; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291632.6]
  assign _T_61 = _T_52 | _T_60; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291633.6]
  assign _T_62 = _T_49 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291634.6]
  assign _T_63 = _T_56 & _T_62; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291635.6]
  assign _T_64 = _T_52 | _T_63; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291636.6]
  assign _T_65 = _T_48 & _T_58; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291637.6]
  assign _T_66 = _T_56 & _T_65; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291638.6]
  assign _T_67 = _T_55 | _T_66; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291639.6]
  assign _T_68 = _T_48 & _T_57; // @[Misc.scala 218:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291640.6]
  assign _T_69 = _T_56 & _T_68; // @[Misc.scala 219:38:shc.marmotcaravel.MarmotCaravelConfig.fir@291641.6]
  assign _T_70 = _T_55 | _T_69; // @[Misc.scala 219:29:shc.marmotcaravel.MarmotCaravelConfig.fir@291642.6]
  assign _T_71 = {_T_64,_T_61}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@291643.6]
  assign _T_72 = {_T_70,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@291644.6]
  assign _T_73 = {_T_72,_T_71}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@291645.6]
  assign _T_92 = io_in_a_bits_opcode == 3'h6; // @[Monitor.scala 48:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291668.6]
  assign _T_94 = io_in_a_bits_address ^ 29'h10026000; // @[Parameters.scala 121:31:shc.marmotcaravel.MarmotCaravelConfig.fir@291671.8]
  assign _T_95 = {1'b0,$signed(_T_94)}; // @[Parameters.scala 121:49:shc.marmotcaravel.MarmotCaravelConfig.fir@291672.8]
  assign _T_96 = $signed(_T_95) & $signed(-30'sh1000); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@291673.8]
  assign _T_97 = $signed(_T_96); // @[Parameters.scala 121:52:shc.marmotcaravel.MarmotCaravelConfig.fir@291674.8]
  assign _T_98 = $signed(_T_97) == $signed(30'sh0); // @[Parameters.scala 121:67:shc.marmotcaravel.MarmotCaravelConfig.fir@291675.8]
  assign _T_103 = reset == 1'h0; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291680.8]
  assign _T_112 = _T_46 | reset; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291701.8]
  assign _T_113 = _T_112 == 1'h0; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291702.8]
  assign _T_115 = _T_40 | reset; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291708.8]
  assign _T_116 = _T_115 == 1'h0; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291709.8]
  assign _T_117 = io_in_a_bits_param <= 3'h2; // @[Bundles.scala 109:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291714.8]
  assign _T_119 = _T_117 | reset; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291716.8]
  assign _T_120 = _T_119 == 1'h0; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291717.8]
  assign _T_121 = ~ io_in_a_bits_mask; // @[Monitor.scala 55:15:shc.marmotcaravel.MarmotCaravelConfig.fir@291722.8]
  assign _T_122 = _T_121 == 4'h0; // @[Monitor.scala 55:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291723.8]
  assign _T_124 = _T_122 | reset; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291725.8]
  assign _T_125 = _T_124 == 1'h0; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291726.8]
  assign _T_126 = io_in_a_bits_corrupt == 1'h0; // @[Monitor.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@291731.8]
  assign _T_128 = _T_126 | reset; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291733.8]
  assign _T_129 = _T_128 == 1'h0; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291734.8]
  assign _T_130 = io_in_a_bits_opcode == 3'h7; // @[Monitor.scala 59:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291740.6]
  assign _T_159 = io_in_a_bits_param != 3'h0; // @[Monitor.scala 66:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291794.8]
  assign _T_161 = _T_159 | reset; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291796.8]
  assign _T_162 = _T_161 == 1'h0; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291797.8]
  assign _T_172 = io_in_a_bits_opcode == 3'h4; // @[Monitor.scala 71:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291820.6]
  assign _T_174 = io_in_a_bits_size <= 2'h2; // @[Parameters.scala 90:42:shc.marmotcaravel.MarmotCaravelConfig.fir@291823.8]
  assign _T_182 = _T_174 & _T_98; // @[Parameters.scala 168:56:shc.marmotcaravel.MarmotCaravelConfig.fir@291831.8]
  assign _T_185 = _T_182 | reset; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291834.8]
  assign _T_186 = _T_185 == 1'h0; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291835.8]
  assign _T_193 = io_in_a_bits_param == 3'h0; // @[Monitor.scala 75:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291854.8]
  assign _T_195 = _T_193 | reset; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291856.8]
  assign _T_196 = _T_195 == 1'h0; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291857.8]
  assign _T_197 = io_in_a_bits_mask == _T_73; // @[Monitor.scala 76:27:shc.marmotcaravel.MarmotCaravelConfig.fir@291862.8]
  assign _T_199 = _T_197 | reset; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291864.8]
  assign _T_200 = _T_199 == 1'h0; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291865.8]
  assign _T_205 = io_in_a_bits_opcode == 3'h0; // @[Monitor.scala 80:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291879.6]
  assign _T_234 = io_in_a_bits_opcode == 3'h1; // @[Monitor.scala 88:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291930.6]
  assign _T_259 = ~ _T_73; // @[Monitor.scala 93:30:shc.marmotcaravel.MarmotCaravelConfig.fir@291972.8]
  assign _T_260 = io_in_a_bits_mask & _T_259; // @[Monitor.scala 93:28:shc.marmotcaravel.MarmotCaravelConfig.fir@291973.8]
  assign _T_261 = _T_260 == 4'h0; // @[Monitor.scala 93:37:shc.marmotcaravel.MarmotCaravelConfig.fir@291974.8]
  assign _T_263 = _T_261 | reset; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291976.8]
  assign _T_264 = _T_263 == 1'h0; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291977.8]
  assign _T_265 = io_in_a_bits_opcode == 3'h2; // @[Monitor.scala 96:25:shc.marmotcaravel.MarmotCaravelConfig.fir@291983.6]
  assign _T_283 = io_in_a_bits_param <= 3'h4; // @[Bundles.scala 139:33:shc.marmotcaravel.MarmotCaravelConfig.fir@292014.8]
  assign _T_285 = _T_283 | reset; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292016.8]
  assign _T_286 = _T_285 == 1'h0; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292017.8]
  assign _T_291 = io_in_a_bits_opcode == 3'h3; // @[Monitor.scala 104:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292031.6]
  assign _T_309 = io_in_a_bits_param <= 3'h3; // @[Bundles.scala 146:30:shc.marmotcaravel.MarmotCaravelConfig.fir@292062.8]
  assign _T_311 = _T_309 | reset; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292064.8]
  assign _T_312 = _T_311 == 1'h0; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292065.8]
  assign _T_317 = io_in_a_bits_opcode == 3'h5; // @[Monitor.scala 112:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292079.6]
  assign _T_343 = io_in_d_bits_opcode <= 3'h6; // @[Bundles.scala 43:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292129.6]
  assign _T_345 = _T_343 | reset; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@292131.6]
  assign _T_346 = _T_345 == 1'h0; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@292132.6]
  assign _T_363 = io_in_d_bits_opcode == 3'h6; // @[Monitor.scala 275:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292149.6]
  assign _T_367 = io_in_d_bits_size >= 2'h2; // @[Monitor.scala 277:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292158.8]
  assign _T_369 = _T_367 | reset; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292160.8]
  assign _T_370 = _T_369 == 1'h0; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292161.8]
  assign _T_383 = io_in_d_bits_opcode == 3'h4; // @[Monitor.scala 283:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292191.6]
  assign _T_411 = io_in_d_bits_opcode == 3'h5; // @[Monitor.scala 293:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292249.6]
  assign _T_504 = io_in_a_ready & io_in_a_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292439.4]
  assign _T_515 = _T_514 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292449.4]
  assign _T_516 = $unsigned(_T_515); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292450.4]
  assign _T_517 = _T_516[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292451.4]
  assign _T_518 = _T_514 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292452.4]
  assign _T_536 = _T_518 == 1'h0; // @[Monitor.scala 354:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292468.4]
  assign _T_537 = io_in_a_valid & _T_536; // @[Monitor.scala 354:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292469.4]
  assign _T_538 = io_in_a_bits_opcode == _T_527; // @[Monitor.scala 355:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292471.6]
  assign _T_540 = _T_538 | reset; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292473.6]
  assign _T_541 = _T_540 == 1'h0; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292474.6]
  assign _T_542 = io_in_a_bits_param == _T_529; // @[Monitor.scala 356:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292479.6]
  assign _T_544 = _T_542 | reset; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292481.6]
  assign _T_545 = _T_544 == 1'h0; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292482.6]
  assign _T_546 = io_in_a_bits_size == _T_531; // @[Monitor.scala 357:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292487.6]
  assign _T_548 = _T_546 | reset; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292489.6]
  assign _T_549 = _T_548 == 1'h0; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292490.6]
  assign _T_550 = io_in_a_bits_source == _T_533; // @[Monitor.scala 358:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292495.6]
  assign _T_552 = _T_550 | reset; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292497.6]
  assign _T_553 = _T_552 == 1'h0; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292498.6]
  assign _T_554 = io_in_a_bits_address == _T_535; // @[Monitor.scala 359:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292503.6]
  assign _T_556 = _T_554 | reset; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292505.6]
  assign _T_557 = _T_556 == 1'h0; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292506.6]
  assign _T_559 = _T_504 & _T_518; // @[Monitor.scala 361:20:shc.marmotcaravel.MarmotCaravelConfig.fir@292513.4]
  assign _T_560 = io_in_d_ready & io_in_d_valid; // @[Bundles.scala 277:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292521.4]
  assign _T_570 = _T_569 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292530.4]
  assign _T_571 = $unsigned(_T_570); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292531.4]
  assign _T_572 = _T_571[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292532.4]
  assign _T_573 = _T_569 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292533.4]
  assign _T_593 = _T_573 == 1'h0; // @[Monitor.scala 424:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292550.4]
  assign _T_594 = io_in_d_valid & _T_593; // @[Monitor.scala 424:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292551.4]
  assign _T_595 = io_in_d_bits_opcode == _T_582; // @[Monitor.scala 425:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292553.6]
  assign _T_597 = _T_595 | reset; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292555.6]
  assign _T_598 = _T_597 == 1'h0; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292556.6]
  assign _T_603 = io_in_d_bits_size == _T_586; // @[Monitor.scala 427:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292569.6]
  assign _T_605 = _T_603 | reset; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292571.6]
  assign _T_606 = _T_605 == 1'h0; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292572.6]
  assign _T_607 = io_in_d_bits_source == _T_588; // @[Monitor.scala 428:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292577.6]
  assign _T_609 = _T_607 | reset; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292579.6]
  assign _T_610 = _T_609 == 1'h0; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292580.6]
  assign _T_620 = _T_560 & _T_573; // @[Monitor.scala 432:20:shc.marmotcaravel.MarmotCaravelConfig.fir@292603.4]
  assign _T_634 = _T_633 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292623.4]
  assign _T_635 = $unsigned(_T_634); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292624.4]
  assign _T_636 = _T_635[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292625.4]
  assign _T_637 = _T_633 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292626.4]
  assign _T_655 = _T_654 - 1'h1; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292646.4]
  assign _T_656 = $unsigned(_T_655); // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292647.4]
  assign _T_657 = _T_656[0:0]; // @[Edges.scala 230:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292648.4]
  assign _T_658 = _T_654 == 1'h0; // @[Edges.scala 231:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292649.4]
  assign _T_669 = _T_504 & _T_637; // @[Monitor.scala 458:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292664.4]
  assign _T_671 = 64'h1 << io_in_a_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@292667.6]
  assign _T_672 = _T_622 >> io_in_a_bits_source; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@292669.6]
  assign _T_673 = _T_672[0]; // @[Monitor.scala 460:23:shc.marmotcaravel.MarmotCaravelConfig.fir@292670.6]
  assign _T_674 = _T_673 == 1'h0; // @[Monitor.scala 460:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292671.6]
  assign _T_676 = _T_674 | reset; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292673.6]
  assign _T_677 = _T_676 == 1'h0; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292674.6]
  assign _GEN_15 = _T_669 ? _T_671 : 64'h0; // @[Monitor.scala 458:72:shc.marmotcaravel.MarmotCaravelConfig.fir@292666.4]
  assign _T_682 = _T_560 & _T_658; // @[Monitor.scala 465:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292685.4]
  assign _T_684 = _T_363 == 1'h0; // @[Monitor.scala 465:75:shc.marmotcaravel.MarmotCaravelConfig.fir@292687.4]
  assign _T_685 = _T_682 & _T_684; // @[Monitor.scala 465:72:shc.marmotcaravel.MarmotCaravelConfig.fir@292688.4]
  assign _T_686 = 64'h1 << io_in_d_bits_source; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@292690.6]
  assign _T_687 = _GEN_15 | _T_622; // @[Monitor.scala 467:21:shc.marmotcaravel.MarmotCaravelConfig.fir@292692.6]
  assign _T_688 = _T_687 >> io_in_d_bits_source; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@292693.6]
  assign _T_689 = _T_688[0]; // @[Monitor.scala 467:32:shc.marmotcaravel.MarmotCaravelConfig.fir@292694.6]
  assign _T_691 = _T_689 | reset; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292696.6]
  assign _T_692 = _T_691 == 1'h0; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292697.6]
  assign _GEN_16 = _T_685 ? _T_686 : 64'h0; // @[Monitor.scala 465:91:shc.marmotcaravel.MarmotCaravelConfig.fir@292689.4]
  assign _T_693 = _T_622 | _GEN_15; // @[Monitor.scala 474:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292703.4]
  assign _T_694 = ~ _GEN_16; // @[Monitor.scala 474:38:shc.marmotcaravel.MarmotCaravelConfig.fir@292704.4]
  assign _T_695 = _T_693 & _T_694; // @[Monitor.scala 474:36:shc.marmotcaravel.MarmotCaravelConfig.fir@292705.4]
  assign _T_698 = _T_622 != 64'h0; // @[Monitor.scala 479:23:shc.marmotcaravel.MarmotCaravelConfig.fir@292710.4]
  assign _T_699 = _T_698 == 1'h0; // @[Monitor.scala 479:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292711.4]
  assign _T_700 = plusarg_reader_out == 32'h0; // @[Monitor.scala 479:36:shc.marmotcaravel.MarmotCaravelConfig.fir@292712.4]
  assign _T_701 = _T_699 | _T_700; // @[Monitor.scala 479:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292713.4]
  assign _T_702 = _T_697 < plusarg_reader_out; // @[Monitor.scala 479:60:shc.marmotcaravel.MarmotCaravelConfig.fir@292714.4]
  assign _T_703 = _T_701 | _T_702; // @[Monitor.scala 479:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292715.4]
  assign _T_705 = _T_703 | reset; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@292717.4]
  assign _T_706 = _T_705 == 1'h0; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@292718.4]
  assign _T_708 = _T_697 + 32'h1; // @[Monitor.scala 481:26:shc.marmotcaravel.MarmotCaravelConfig.fir@292724.4]
  assign _T_711 = _T_504 | _T_560; // @[Monitor.scala 482:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292728.4]
  assign _GEN_19 = io_in_a_valid & _T_92; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291682.10]
  assign _GEN_33 = io_in_a_valid & _T_130; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291754.10]
  assign _GEN_49 = io_in_a_valid & _T_172; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291837.10]
  assign _GEN_59 = io_in_a_valid & _T_205; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291896.10]
  assign _GEN_67 = io_in_a_valid & _T_234; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291947.10]
  assign _GEN_75 = io_in_a_valid & _T_265; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291997.10]
  assign _GEN_83 = io_in_a_valid & _T_291; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292045.10]
  assign _GEN_91 = io_in_a_valid & _T_317; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292093.10]
  assign _GEN_99 = io_in_d_valid & _T_363; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292163.10]
  assign _GEN_101 = io_in_d_valid & _T_383; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292204.10]
  assign _GEN_105 = io_in_d_valid & _T_411; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292262.10]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  _T_514 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  _T_527 = _RAND_1[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  _T_529 = _RAND_2[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  _T_531 = _RAND_3[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  _T_533 = _RAND_4[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  _T_535 = _RAND_5[28:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  _T_569 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  _T_582 = _RAND_7[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  _T_586 = _RAND_8[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  _T_588 = _RAND_9[5:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {2{`RANDOM}};
  _T_622 = _RAND_10[63:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  _T_633 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  _T_654 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  _T_697 = _RAND_13[31:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      _T_514 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_518) begin
          _T_514 <= 1'h0;
        end else begin
          _T_514 <= _T_517;
        end
      end
    end
    if (_T_559) begin
      _T_527 <= io_in_a_bits_opcode;
    end
    if (_T_559) begin
      _T_529 <= io_in_a_bits_param;
    end
    if (_T_559) begin
      _T_531 <= io_in_a_bits_size;
    end
    if (_T_559) begin
      _T_533 <= io_in_a_bits_source;
    end
    if (_T_559) begin
      _T_535 <= io_in_a_bits_address;
    end
    if (reset) begin
      _T_569 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_573) begin
          _T_569 <= 1'h0;
        end else begin
          _T_569 <= _T_572;
        end
      end
    end
    if (_T_620) begin
      _T_582 <= io_in_d_bits_opcode;
    end
    if (_T_620) begin
      _T_586 <= io_in_d_bits_size;
    end
    if (_T_620) begin
      _T_588 <= io_in_d_bits_source;
    end
    if (reset) begin
      _T_622 <= 64'h0;
    end else begin
      _T_622 <= _T_695;
    end
    if (reset) begin
      _T_633 <= 1'h0;
    end else begin
      if (_T_504) begin
        if (_T_637) begin
          _T_633 <= 1'h0;
        end else begin
          _T_633 <= _T_636;
        end
      end
    end
    if (reset) begin
      _T_654 <= 1'h0;
    end else begin
      if (_T_560) begin
        if (_T_658) begin
          _T_654 <= 1'h0;
        end else begin
          _T_654 <= _T_657;
        end
      end
    end
    if (reset) begin
      _T_697 <= 32'h0;
    end else begin
      if (_T_711) begin
        _T_697 <= 32'h0;
      end else begin
        _T_697 <= _T_708;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:39 assert (TLMessages.isA(bundle.opcode), \"'A' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291593.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 39:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291594.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries an address illegal for the specified bank visibility\n    at Monitor.scala:46 assert (visible(edge.address(bundle), bundle.source, edge), \"'A' channel carries an address illegal for the specified bank visibility\")\n"); // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291665.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 46:12:shc.marmotcaravel.MarmotCaravelConfig.fir@291666.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:49 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquireBlock type unsupported by manager\" + extra)\n"); // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291682.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 49:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291683.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquireBlock from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:50 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquireBlock from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291689.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_103) begin
          $fatal; // @[Monitor.scala 50:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291690.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:51 assert (source_ok, \"'A' channel AcquireBlock carries invalid source ID\" + extra)\n"); // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291696.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 51:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291697.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:52 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquireBlock smaller than a beat\" + extra)\n"); // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291704.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_113) begin
          $fatal; // @[Monitor.scala 52:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291705.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:53 assert (is_aligned, \"'A' channel AcquireBlock address not aligned to size\" + extra)\n"); // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291711.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_116) begin
          $fatal; // @[Monitor.scala 53:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291712.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:54 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquireBlock carries invalid grow param\" + extra)\n"); // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291719.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_120) begin
          $fatal; // @[Monitor.scala 54:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291720.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:55 assert (~bundle.mask === UInt(0), \"'A' channel AcquireBlock contains invalid mask\" + extra)\n"); // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291728.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_125) begin
          $fatal; // @[Monitor.scala 55:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291729.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquireBlock is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:56 assert (!bundle.corrupt, \"'A' channel AcquireBlock is corrupt\" + extra)\n"); // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291736.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_19 & _T_129) begin
          $fatal; // @[Monitor.scala 56:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291737.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:60 assert (edge.manager.supportsAcquireBSafe(edge.address(bundle), bundle.size), \"'A' channel carries AcquirePerm type unsupported by manager\" + extra)\n"); // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291754.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 60:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291755.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries AcquirePerm from a client which does not support Probe (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:61 assert (edge.client.supportsProbe(edge.source(bundle), bundle.size), \"'A' channel carries AcquirePerm from a client which does not support Probe\" + extra)\n"); // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291761.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_103) begin
          $fatal; // @[Monitor.scala 61:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291762.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:62 assert (source_ok, \"'A' channel AcquirePerm carries invalid source ID\" + extra)\n"); // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291768.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 62:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291769.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:63 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'A' channel AcquirePerm smaller than a beat\" + extra)\n"); // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291776.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_113) begin
          $fatal; // @[Monitor.scala 63:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291777.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:64 assert (is_aligned, \"'A' channel AcquirePerm address not aligned to size\" + extra)\n"); // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291783.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_116) begin
          $fatal; // @[Monitor.scala 64:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291784.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm carries invalid grow param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:65 assert (TLPermissions.isGrow(bundle.param), \"'A' channel AcquirePerm carries invalid grow param\" + extra)\n"); // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291791.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_120) begin
          $fatal; // @[Monitor.scala 65:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291792.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm requests NtoB (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:66 assert (bundle.param =/= TLPermissions.NtoB, \"'A' channel AcquirePerm requests NtoB\" + extra)\n"); // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291799.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_162) begin
          $fatal; // @[Monitor.scala 66:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291800.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:67 assert (~bundle.mask === UInt(0), \"'A' channel AcquirePerm contains invalid mask\" + extra)\n"); // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291808.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_125) begin
          $fatal; // @[Monitor.scala 67:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291809.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel AcquirePerm is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:68 assert (!bundle.corrupt, \"'A' channel AcquirePerm is corrupt\" + extra)\n"); // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291816.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_33 & _T_129) begin
          $fatal; // @[Monitor.scala 68:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291817.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Get type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:72 assert (edge.manager.supportsGetSafe(edge.address(bundle), bundle.size), \"'A' channel carries Get type unsupported by manager\" + extra)\n"); // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291837.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_186) begin
          $fatal; // @[Monitor.scala 72:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291838.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:73 assert (source_ok, \"'A' channel Get carries invalid source ID\" + extra)\n"); // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291844.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 73:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291845.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:74 assert (is_aligned, \"'A' channel Get address not aligned to size\" + extra)\n"); // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291851.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_116) begin
          $fatal; // @[Monitor.scala 74:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291852.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:75 assert (bundle.param === UInt(0), \"'A' channel Get carries invalid param\" + extra)\n"); // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291859.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_196) begin
          $fatal; // @[Monitor.scala 75:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291860.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:76 assert (bundle.mask === mask, \"'A' channel Get contains invalid mask\" + extra)\n"); // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291867.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_200) begin
          $fatal; // @[Monitor.scala 76:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291868.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Get is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:77 assert (!bundle.corrupt, \"'A' channel Get is corrupt\" + extra)\n"); // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291875.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_49 & _T_129) begin
          $fatal; // @[Monitor.scala 77:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291876.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutFull type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:81 assert (edge.manager.supportsPutFullSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutFull type unsupported by manager\" + extra)\n"); // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291896.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_186) begin
          $fatal; // @[Monitor.scala 81:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291897.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:82 assert (source_ok, \"'A' channel PutFull carries invalid source ID\" + extra)\n"); // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291903.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 82:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291904.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:83 assert (is_aligned, \"'A' channel PutFull address not aligned to size\" + extra)\n"); // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291910.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_116) begin
          $fatal; // @[Monitor.scala 83:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291911.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:84 assert (bundle.param === UInt(0), \"'A' channel PutFull carries invalid param\" + extra)\n"); // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291918.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_196) begin
          $fatal; // @[Monitor.scala 84:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291919.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutFull contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:85 assert (bundle.mask === mask, \"'A' channel PutFull contains invalid mask\" + extra)\n"); // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291926.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_59 & _T_200) begin
          $fatal; // @[Monitor.scala 85:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291927.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries PutPartial type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:89 assert (edge.manager.supportsPutPartialSafe(edge.address(bundle), bundle.size), \"'A' channel carries PutPartial type unsupported by manager\" + extra)\n"); // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291947.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_186) begin
          $fatal; // @[Monitor.scala 89:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291948.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:90 assert (source_ok, \"'A' channel PutPartial carries invalid source ID\" + extra)\n"); // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291954.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 90:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291955.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:91 assert (is_aligned, \"'A' channel PutPartial address not aligned to size\" + extra)\n"); // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291961.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_116) begin
          $fatal; // @[Monitor.scala 91:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291962.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:92 assert (bundle.param === UInt(0), \"'A' channel PutPartial carries invalid param\" + extra)\n"); // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291969.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_196) begin
          $fatal; // @[Monitor.scala 92:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291970.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel PutPartial contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:93 assert ((bundle.mask & ~mask) === UInt(0), \"'A' channel PutPartial contains invalid mask\" + extra)\n"); // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291979.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_67 & _T_264) begin
          $fatal; // @[Monitor.scala 93:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291980.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Arithmetic type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:97 assert (edge.manager.supportsArithmeticSafe(edge.address(bundle), bundle.size), \"'A' channel carries Arithmetic type unsupported by manager\" + extra)\n"); // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291997.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_103) begin
          $fatal; // @[Monitor.scala 97:14:shc.marmotcaravel.MarmotCaravelConfig.fir@291998.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:98 assert (source_ok, \"'A' channel Arithmetic carries invalid source ID\" + extra)\n"); // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292004.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 98:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292005.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:99 assert (is_aligned, \"'A' channel Arithmetic address not aligned to size\" + extra)\n"); // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292011.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_116) begin
          $fatal; // @[Monitor.scala 99:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292012.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:100 assert (TLAtomics.isArithmetic(bundle.param), \"'A' channel Arithmetic carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292019.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_286) begin
          $fatal; // @[Monitor.scala 100:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292020.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Arithmetic contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:101 assert (bundle.mask === mask, \"'A' channel Arithmetic contains invalid mask\" + extra)\n"); // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292027.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_75 & _T_200) begin
          $fatal; // @[Monitor.scala 101:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292028.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Logical type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:105 assert (edge.manager.supportsLogicalSafe(edge.address(bundle), bundle.size), \"'A' channel carries Logical type unsupported by manager\" + extra)\n"); // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292045.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_103) begin
          $fatal; // @[Monitor.scala 105:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292046.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:106 assert (source_ok, \"'A' channel Logical carries invalid source ID\" + extra)\n"); // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292052.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 106:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292053.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:107 assert (is_aligned, \"'A' channel Logical address not aligned to size\" + extra)\n"); // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292059.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_116) begin
          $fatal; // @[Monitor.scala 107:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292060.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical carries invalid opcode param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:108 assert (TLAtomics.isLogical(bundle.param), \"'A' channel Logical carries invalid opcode param\" + extra)\n"); // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292067.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_312) begin
          $fatal; // @[Monitor.scala 108:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292068.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Logical contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:109 assert (bundle.mask === mask, \"'A' channel Logical contains invalid mask\" + extra)\n"); // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292075.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_83 & _T_200) begin
          $fatal; // @[Monitor.scala 109:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292076.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel carries Hint type unsupported by manager (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:113 assert (edge.manager.supportsHintSafe(edge.address(bundle), bundle.size), \"'A' channel carries Hint type unsupported by manager\" + extra)\n"); // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292093.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_103) begin
          $fatal; // @[Monitor.scala 113:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292094.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:114 assert (source_ok, \"'A' channel Hint carries invalid source ID\" + extra)\n"); // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292100.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 114:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292101.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint address not aligned to size (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:115 assert (is_aligned, \"'A' channel Hint address not aligned to size\" + extra)\n"); // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292107.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_116) begin
          $fatal; // @[Monitor.scala 115:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292108.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint contains invalid mask (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:116 assert (bundle.mask === mask, \"'A' channel Hint contains invalid mask\" + extra)\n"); // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292115.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_200) begin
          $fatal; // @[Monitor.scala 116:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292116.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel Hint is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:117 assert (!bundle.corrupt, \"'A' channel Hint is corrupt\" + extra)\n"); // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292123.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_91 & _T_129) begin
          $fatal; // @[Monitor.scala 117:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292124.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel has invalid opcode (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:268 assert (TLMessages.isD(bundle.opcode), \"'D' channel has invalid opcode\" + extra)\n"); // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@292134.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (io_in_d_valid & _T_346) begin
          $fatal; // @[Monitor.scala 268:12:shc.marmotcaravel.MarmotCaravelConfig.fir@292135.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:276 assert (source_ok, \"'D' channel ReleaseAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292155.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 276:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292156.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:277 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel ReleaseAck smaller than a beat\" + extra)\n"); // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292163.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_99 & _T_370) begin
          $fatal; // @[Monitor.scala 277:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292164.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseeAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:278 assert (bundle.param === UInt(0), \"'D' channel ReleaseeAck carries invalid param\" + extra)\n"); // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292171.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 278:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292172.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:279 assert (!bundle.corrupt, \"'D' channel ReleaseAck is corrupt\" + extra)\n"); // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292179.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 279:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292180.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel ReleaseAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:280 assert (!bundle.denied, \"'D' channel ReleaseAck is denied\" + extra)\n"); // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292187.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 280:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292188.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:284 assert (source_ok, \"'D' channel Grant carries invalid source ID\" + extra)\n"); // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292197.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 284:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292198.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:285 assert (sink_ok, \"'D' channel Grant carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292204.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_103) begin
          $fatal; // @[Monitor.scala 285:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292205.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:286 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel Grant smaller than a beat\" + extra)\n"); // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292212.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_101 & _T_370) begin
          $fatal; // @[Monitor.scala 286:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292213.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:287 assert (TLPermissions.isCap(bundle.param), \"'D' channel Grant carries invalid cap param\" + extra)\n"); // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292220.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 287:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292221.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:288 assert (bundle.param =/= TLPermissions.toN, \"'D' channel Grant carries toN param\" + extra)\n"); // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292228.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 288:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292229.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:289 assert (!bundle.corrupt, \"'D' channel Grant is corrupt\" + extra)\n"); // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292236.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 289:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292237.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel Grant is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:290 assert (deny_put_ok || !bundle.denied, \"'D' channel Grant is denied\" + extra)\n"); // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292245.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 290:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292246.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:294 assert (source_ok, \"'D' channel GrantData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292255.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 294:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292256.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid sink ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:295 assert (sink_ok, \"'D' channel GrantData carries invalid sink ID\" + extra)\n"); // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292262.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_103) begin
          $fatal; // @[Monitor.scala 295:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292263.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData smaller than a beat (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:296 assert (bundle.size >= UInt(log2Ceil(edge.manager.beatBytes)), \"'D' channel GrantData smaller than a beat\" + extra)\n"); // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292270.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_GEN_105 & _T_370) begin
          $fatal; // @[Monitor.scala 296:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292271.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries invalid cap param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:297 assert (TLPermissions.isCap(bundle.param), \"'D' channel GrantData carries invalid cap param\" + extra)\n"); // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292278.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 297:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292279.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData carries toN param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:298 assert (bundle.param =/= TLPermissions.toN, \"'D' channel GrantData carries toN param\" + extra)\n"); // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292286.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 298:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292287.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:299 assert (!bundle.denied || bundle.corrupt, \"'D' channel GrantData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292295.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 299:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292296.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel GrantData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:300 assert (deny_get_ok || !bundle.denied, \"'D' channel GrantData is denied\" + extra)\n"); // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292304.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 300:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292305.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:304 assert (source_ok, \"'D' channel AccessAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292314.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 304:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292315.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:306 assert (bundle.param === UInt(0), \"'D' channel AccessAck carries invalid param\" + extra)\n"); // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292322.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 306:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292323.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:307 assert (!bundle.corrupt, \"'D' channel AccessAck is corrupt\" + extra)\n"); // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292330.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 307:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292331.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:308 assert (deny_put_ok || !bundle.denied, \"'D' channel AccessAck is denied\" + extra)\n"); // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292339.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 308:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292340.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:312 assert (source_ok, \"'D' channel AccessAckData carries invalid source ID\" + extra)\n"); // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292349.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 312:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292350.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:314 assert (bundle.param === UInt(0), \"'D' channel AccessAckData carries invalid param\" + extra)\n"); // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292357.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 314:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292358.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied but not corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:315 assert (!bundle.denied || bundle.corrupt, \"'D' channel AccessAckData is denied but not corrupt\" + extra)\n"); // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292366.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 315:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292367.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel AccessAckData is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:316 assert (deny_get_ok || !bundle.denied, \"'D' channel AccessAckData is denied\" + extra)\n"); // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292375.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 316:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292376.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:320 assert (source_ok, \"'D' channel HintAck carries invalid source ID\" + extra)\n"); // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292385.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 320:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292386.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck carries invalid param (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:322 assert (bundle.param === UInt(0), \"'D' channel HintAck carries invalid param\" + extra)\n"); // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292393.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 322:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292394.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is corrupt (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:323 assert (!bundle.corrupt, \"'D' channel HintAck is corrupt\" + extra)\n"); // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292401.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 323:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292402.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel HintAck is denied (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:324 assert (deny_put_ok || !bundle.denied, \"'D' channel HintAck is denied\" + extra)\n"); // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292410.10]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 324:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292411.10]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'B' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:341 assert (!bundle.b.valid, \"'B' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292420.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 341:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292421.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'C' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:342 assert (!bundle.c.valid, \"'C' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292428.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 342:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292429.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'E' channel valid and not TL-C (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:343 assert (!bundle.e.valid, \"'E' channel valid and not TL-C\" + extra)\n"); // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292436.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 343:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292437.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:355 assert (a.bits.opcode === opcode, \"'A' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292476.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_541) begin
          $fatal; // @[Monitor.scala 355:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292477.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:356 assert (a.bits.param  === param,  \"'A' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292484.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_545) begin
          $fatal; // @[Monitor.scala 356:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292485.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:357 assert (a.bits.size   === size,   \"'A' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292492.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_549) begin
          $fatal; // @[Monitor.scala 357:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292493.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:358 assert (a.bits.source === source, \"'A' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292500.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_553) begin
          $fatal; // @[Monitor.scala 358:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292501.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel address changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:359 assert (a.bits.address=== address,\"'A' channel address changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292508.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_537 & _T_557) begin
          $fatal; // @[Monitor.scala 359:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292509.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel opcode changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:425 assert (d.bits.opcode === opcode, \"'D' channel opcode changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292558.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_598) begin
          $fatal; // @[Monitor.scala 425:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292559.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel param changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:426 assert (d.bits.param  === param,  \"'D' channel param changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292566.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 426:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292567.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel size changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:427 assert (d.bits.size   === size,   \"'D' channel size changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292574.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_606) begin
          $fatal; // @[Monitor.scala 427:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292575.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel source changed within multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:428 assert (d.bits.source === source, \"'D' channel source changed within multibeat operation\" + extra)\n"); // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292582.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_594 & _T_610) begin
          $fatal; // @[Monitor.scala 428:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292583.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel sink changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:429 assert (d.bits.sink   === sink,   \"'D' channel sink changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292590.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 429:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292591.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (1'h0) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel denied changed with multibeat operation (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:430 assert (d.bits.denied === denied, \"'D' channel denied changed with multibeat operation\" + extra)\n"); // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292598.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (1'h0) begin
          $fatal; // @[Monitor.scala 430:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292599.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fwrite(32'h80000002,"Assertion failed: 'A' channel re-used a source ID (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:460 assert(!inflight(bundle.a.bits.source), \"'A' channel re-used a source ID\" + extra)\n"); // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292676.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_669 & _T_677) begin
          $fatal; // @[Monitor.scala 460:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292677.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fwrite(32'h80000002,"Assertion failed: 'D' channel acknowledged for nothing inflight (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:467 assert((a_set | inflight)(bundle.d.bits.source), \"'D' channel acknowledged for nothing inflight\" + extra)\n"); // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292699.8]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_685 & _T_692) begin
          $fatal; // @[Monitor.scala 467:13:shc.marmotcaravel.MarmotCaravelConfig.fir@292700.8]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_706) begin
          $fwrite(32'h80000002,"Assertion failed: TileLink timeout expired (connected at CrossingHelper.scala:17:14)\n    at Monitor.scala:479 assert (!inflight.orR || limit === UInt(0) || watchdog < limit, \"TileLink timeout expired\" + extra)\n"); // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@292720.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_706) begin
          $fatal; // @[Monitor.scala 479:12:shc.marmotcaravel.MarmotCaravelConfig.fir@292721.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module TLI2C_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292733.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292734.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292735.4]
  output        auto_int_xing_out_sync_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
  output        auto_control_xing_in_a_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
  input         auto_control_xing_in_a_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
  input  [2:0]  auto_control_xing_in_a_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
  input  [2:0]  auto_control_xing_in_a_bits_param, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
  input  [1:0]  auto_control_xing_in_a_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
  input  [5:0]  auto_control_xing_in_a_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
  input  [28:0] auto_control_xing_in_a_bits_address, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
  input  [3:0]  auto_control_xing_in_a_bits_mask, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
  input  [31:0] auto_control_xing_in_a_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
  input         auto_control_xing_in_a_bits_corrupt, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
  input         auto_control_xing_in_d_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
  output        auto_control_xing_in_d_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
  output [2:0]  auto_control_xing_in_d_bits_opcode, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
  output [1:0]  auto_control_xing_in_d_bits_size, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
  output [5:0]  auto_control_xing_in_d_bits_source, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
  output [31:0] auto_control_xing_in_d_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
  input         auto_io_out_scl_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
  output        auto_io_out_scl_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
  input         auto_io_out_sda_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
  output        auto_io_out_sda_oe // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292736.4]
);
  wire  buffer_clock; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire  buffer_reset; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire  buffer_auto_in_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire  buffer_auto_in_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire [2:0] buffer_auto_in_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire [2:0] buffer_auto_in_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire [1:0] buffer_auto_in_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire [5:0] buffer_auto_in_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire [28:0] buffer_auto_in_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire [3:0] buffer_auto_in_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire [31:0] buffer_auto_in_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire  buffer_auto_in_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire  buffer_auto_in_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire  buffer_auto_in_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire [2:0] buffer_auto_in_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire [1:0] buffer_auto_in_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire [5:0] buffer_auto_in_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire [31:0] buffer_auto_in_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire  buffer_auto_out_a_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire  buffer_auto_out_a_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire [2:0] buffer_auto_out_a_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire [2:0] buffer_auto_out_a_bits_param; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire [1:0] buffer_auto_out_a_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire [5:0] buffer_auto_out_a_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire [28:0] buffer_auto_out_a_bits_address; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire [3:0] buffer_auto_out_a_bits_mask; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire [31:0] buffer_auto_out_a_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire  buffer_auto_out_a_bits_corrupt; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire  buffer_auto_out_d_ready; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire  buffer_auto_out_d_valid; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire [2:0] buffer_auto_out_d_bits_opcode; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire [1:0] buffer_auto_out_d_bits_size; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire [5:0] buffer_auto_out_d_bits_source; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire [31:0] buffer_auto_out_d_bits_data; // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292747.4]
  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292747.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292747.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292747.4]
  wire  TLMonitor_clock; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
  wire  TLMonitor_reset; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
  wire  TLMonitor_io_in_a_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
  wire  TLMonitor_io_in_a_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
  wire [2:0] TLMonitor_io_in_a_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
  wire [2:0] TLMonitor_io_in_a_bits_param; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
  wire [1:0] TLMonitor_io_in_a_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
  wire [5:0] TLMonitor_io_in_a_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
  wire [28:0] TLMonitor_io_in_a_bits_address; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
  wire [3:0] TLMonitor_io_in_a_bits_mask; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
  wire  TLMonitor_io_in_a_bits_corrupt; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
  wire  TLMonitor_io_in_d_ready; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
  wire  TLMonitor_io_in_d_valid; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
  wire [2:0] TLMonitor_io_in_d_bits_opcode; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
  wire [1:0] TLMonitor_io_in_d_bits_size; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
  wire [5:0] TLMonitor_io_in_d_bits_source; // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
  reg [7:0] prescaler_hi; // @[I2C.scala 119:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292822.4]
  reg [31:0] _RAND_0;
  reg [7:0] prescaler_lo; // @[I2C.scala 119:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292822.4]
  reg [31:0] _RAND_1;
  reg  control_coreEn; // @[I2C.scala 120:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292834.4]
  reg [31:0] _RAND_2;
  reg  control_intEn; // @[I2C.scala 120:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292834.4]
  reg [31:0] _RAND_3;
  reg [7:0] transmitData; // @[I2C.scala 121:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292835.4]
  reg [31:0] _RAND_4;
  reg [7:0] receivedData; // @[I2C.scala 122:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292836.4]
  reg [31:0] _RAND_5;
  reg  cmd_start; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292856.4]
  reg [31:0] _RAND_6;
  reg  cmd_stop; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292856.4]
  reg [31:0] _RAND_7;
  reg  cmd_read; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292856.4]
  reg [31:0] _RAND_8;
  reg  cmd_write; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292856.4]
  reg [31:0] _RAND_9;
  reg  cmd_ack; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292856.4]
  reg [31:0] _RAND_10;
  reg  cmd_irqAck; // @[I2C.scala 123:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292856.4]
  reg [31:0] _RAND_11;
  reg  status_receivedAck; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292874.4]
  reg [31:0] _RAND_12;
  reg  status_busy; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292874.4]
  reg [31:0] _RAND_13;
  reg  status_arbLost; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292874.4]
  reg [31:0] _RAND_14;
  reg  status_transferInProgress; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292874.4]
  reg [31:0] _RAND_15;
  reg  status_irqFlag; // @[I2C.scala 124:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292874.4]
  reg [31:0] _RAND_16;
  reg [13:0] filterCnt; // @[I2C.scala 133:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292877.4]
  reg [31:0] _RAND_17;
  wire  _T_346; // @[I2C.scala 134:10:shc.marmotcaravel.MarmotCaravelConfig.fir@292878.4]
  wire  _T_347; // @[I2C.scala 136:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292883.6]
  wire  _T_348; // @[I2C.scala 136:16:shc.marmotcaravel.MarmotCaravelConfig.fir@292884.6]
  wire [15:0] _T_349; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@292886.8]
  wire [13:0] _T_350; // @[I2C.scala 137:50:shc.marmotcaravel.MarmotCaravelConfig.fir@292887.8]
  wire [14:0] _T_351; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292891.8]
  wire [14:0] _T_352; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292892.8]
  wire [13:0] _T_353; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292893.8]
  reg [2:0] fSCL; // @[I2C.scala 142:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292896.4]
  reg [31:0] _RAND_18;
  reg [2:0] fSDA; // @[I2C.scala 143:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292897.4]
  reg [31:0] _RAND_19;
  wire [3:0] _T_358; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@292901.6]
  wire [3:0] _T_359; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@292903.6]
  wire [3:0] _GEN_2; // @[I2C.scala 144:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292900.4]
  wire [3:0] _GEN_3; // @[I2C.scala 144:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292900.4]
  wire  _T_360; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@292906.4]
  wire  _T_361; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@292907.4]
  wire  _T_362; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@292908.4]
  wire  _T_363; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292909.4]
  wire  _T_364; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292910.4]
  wire  _T_365; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292911.4]
  wire  _T_366; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292912.4]
  wire  _T_367; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292913.4]
  reg  sSCL; // @[I2C.scala 149:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292914.4]
  reg [31:0] _RAND_20;
  wire  _T_369; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@292916.4]
  wire  _T_370; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@292917.4]
  wire  _T_371; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@292918.4]
  wire  _T_372; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292919.4]
  wire  _T_373; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292920.4]
  wire  _T_374; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292921.4]
  wire  _T_375; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292922.4]
  wire  _T_376; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292923.4]
  reg  sSDA; // @[I2C.scala 150:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292924.4]
  reg [31:0] _RAND_21;
  reg  dSCL; // @[I2C.scala 152:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292926.4]
  reg [31:0] _RAND_22;
  reg  dSDA; // @[I2C.scala 153:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292928.4]
  reg [31:0] _RAND_23;
  reg  dSCLOen; // @[I2C.scala 155:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292930.4]
  reg [31:0] _RAND_24;
  wire  _T_381; // @[I2C.scala 159:46:shc.marmotcaravel.MarmotCaravelConfig.fir@292932.4]
  wire  _T_382; // @[I2C.scala 159:52:shc.marmotcaravel.MarmotCaravelConfig.fir@292933.4]
  wire  _T_383; // @[I2C.scala 159:61:shc.marmotcaravel.MarmotCaravelConfig.fir@292934.4]
  reg  startCond; // @[I2C.scala 159:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292935.4]
  reg [31:0] _RAND_25;
  wire  _T_385; // @[I2C.scala 160:55:shc.marmotcaravel.MarmotCaravelConfig.fir@292937.4]
  wire  _T_386; // @[I2C.scala 160:52:shc.marmotcaravel.MarmotCaravelConfig.fir@292938.4]
  wire  _T_387; // @[I2C.scala 160:61:shc.marmotcaravel.MarmotCaravelConfig.fir@292939.4]
  reg  stopCond; // @[I2C.scala 160:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292940.4]
  reg [31:0] _RAND_26;
  wire  _T_389; // @[I2C.scala 164:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292942.4]
  wire  _T_390; // @[I2C.scala 164:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292943.4]
  reg  sclOen; // @[I2C.scala 187:23:shc.marmotcaravel.MarmotCaravelConfig.fir@292977.4]
  reg [31:0] _RAND_27;
  wire  _T_411; // @[I2C.scala 188:18:shc.marmotcaravel.MarmotCaravelConfig.fir@292978.4]
  wire  sclSync; // @[I2C.scala 164:33:shc.marmotcaravel.MarmotCaravelConfig.fir@292944.4]
  reg  slaveWait; // @[I2C.scala 168:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292945.4]
  reg [31:0] _RAND_28;
  wire  _T_392; // @[I2C.scala 169:32:shc.marmotcaravel.MarmotCaravelConfig.fir@292946.4]
  wire  _T_393; // @[I2C.scala 169:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292947.4]
  wire  _T_395; // @[I2C.scala 169:41:shc.marmotcaravel.MarmotCaravelConfig.fir@292949.4]
  wire  _T_397; // @[I2C.scala 169:65:shc.marmotcaravel.MarmotCaravelConfig.fir@292951.4]
  wire  _T_398; // @[I2C.scala 169:51:shc.marmotcaravel.MarmotCaravelConfig.fir@292952.4]
  reg  clkEn; // @[I2C.scala 171:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292954.4]
  reg [31:0] _RAND_29;
  reg [15:0] cnt; // @[I2C.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292955.4]
  reg [31:0] _RAND_30;
  wire  _T_401; // @[I2C.scala 175:15:shc.marmotcaravel.MarmotCaravelConfig.fir@292956.4]
  wire  _T_402; // @[I2C.scala 175:9:shc.marmotcaravel.MarmotCaravelConfig.fir@292957.4]
  wire  _T_404; // @[I2C.scala 175:20:shc.marmotcaravel.MarmotCaravelConfig.fir@292959.4]
  wire  _T_405; // @[I2C.scala 175:39:shc.marmotcaravel.MarmotCaravelConfig.fir@292960.4]
  wire [16:0] _T_407; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@292971.8]
  wire [16:0] _T_408; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@292972.8]
  wire [15:0] _T_409; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@292973.8]
  reg  sdaOen; // @[I2C.scala 190:23:shc.marmotcaravel.MarmotCaravelConfig.fir@292980.4]
  reg [31:0] _RAND_31;
  reg  sdaChk; // @[I2C.scala 193:23:shc.marmotcaravel.MarmotCaravelConfig.fir@292983.4]
  reg [31:0] _RAND_32;
  reg  transmitBit; // @[I2C.scala 195:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292984.4]
  reg [31:0] _RAND_33;
  reg  receivedBit; // @[I2C.scala 196:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292985.4]
  reg [31:0] _RAND_34;
  wire  _T_417; // @[I2C.scala 197:17:shc.marmotcaravel.MarmotCaravelConfig.fir@292986.4]
  wire  _T_418; // @[I2C.scala 197:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292987.4]
  reg [3:0] bitCmd; // @[I2C.scala 201:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292991.4]
  reg [31:0] _RAND_35;
  reg  bitCmdStop; // @[I2C.scala 202:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292992.4]
  reg [31:0] _RAND_36;
  wire  _T_421; // @[I2C.scala 204:26:shc.marmotcaravel.MarmotCaravelConfig.fir@292994.6]
  reg  bitCmdAck; // @[I2C.scala 206:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292997.4]
  reg [31:0] _RAND_37;
  reg [4:0] bitState; // @[I2C.scala 213:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292998.4]
  reg [31:0] _RAND_38;
  wire  _T_426; // @[I2C.scala 215:56:shc.marmotcaravel.MarmotCaravelConfig.fir@293000.4]
  wire  _T_427; // @[I2C.scala 215:65:shc.marmotcaravel.MarmotCaravelConfig.fir@293001.4]
  wire  _T_428; // @[I2C.scala 215:89:shc.marmotcaravel.MarmotCaravelConfig.fir@293002.4]
  wire  _T_429; // @[I2C.scala 215:105:shc.marmotcaravel.MarmotCaravelConfig.fir@293003.4]
  wire  _T_430; // @[I2C.scala 215:120:shc.marmotcaravel.MarmotCaravelConfig.fir@293004.4]
  wire  _T_431; // @[I2C.scala 215:117:shc.marmotcaravel.MarmotCaravelConfig.fir@293005.4]
  wire  _T_432; // @[I2C.scala 215:76:shc.marmotcaravel.MarmotCaravelConfig.fir@293006.4]
  reg  arbLost; // @[I2C.scala 215:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293007.4]
  reg [31:0] _RAND_39;
  wire  _T_434; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293019.8]
  wire  _T_435; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293021.10]
  wire  _T_436; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293026.12]
  wire  _T_437; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293031.14]
  wire  _T_438; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293036.16]
  wire  _T_439; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293043.10]
  wire  _T_440; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293051.12]
  wire  _T_441; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293059.14]
  wire  _T_442; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293067.16]
  wire  _T_443; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293075.18]
  wire  _T_444; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293084.20]
  wire  _T_445; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293092.22]
  wire  _T_446; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293100.24]
  wire  _T_447; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293108.26]
  wire  _T_448; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293117.28]
  wire  _T_449; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293125.30]
  wire  _T_450; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293133.32]
  wire  _T_451; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293141.34]
  wire  _T_452; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293150.36]
  wire  _T_453; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293158.38]
  wire  _T_454; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293166.40]
  wire  _T_455; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293174.42]
  reg  load; // @[I2C.scala 355:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293184.4]
  reg [31:0] _RAND_40;
  reg  shift; // @[I2C.scala 356:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293185.4]
  reg [31:0] _RAND_41;
  reg  cmdAck; // @[I2C.scala 357:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293186.4]
  reg [31:0] _RAND_42;
  reg  receivedAck; // @[I2C.scala 358:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293187.4]
  reg [31:0] _RAND_43;
  wire  _T_460; // @[I2C.scala 359:31:shc.marmotcaravel.MarmotCaravelConfig.fir@293188.4]
  wire  _T_461; // @[I2C.scala 359:43:shc.marmotcaravel.MarmotCaravelConfig.fir@293189.4]
  wire  _T_462; // @[I2C.scala 359:57:shc.marmotcaravel.MarmotCaravelConfig.fir@293190.4]
  wire  go; // @[I2C.scala 359:55:shc.marmotcaravel.MarmotCaravelConfig.fir@293191.4]
  reg [2:0] bitCnt; // @[I2C.scala 361:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293192.4]
  reg [31:0] _RAND_44;
  wire [3:0] _T_464; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@293198.8]
  wire [3:0] _T_465; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@293199.8]
  wire [2:0] _T_466; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@293200.8]
  wire  _T_467; // @[I2C.scala 368:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293203.4]
  wire  bitCntDone; // @[I2C.scala 368:21:shc.marmotcaravel.MarmotCaravelConfig.fir@293204.4]
  wire [8:0] _T_468; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293210.8]
  wire [8:0] _GEN_116; // @[I2C.scala 374:21:shc.marmotcaravel.MarmotCaravelConfig.fir@293209.6]
  wire [8:0] _GEN_117; // @[I2C.scala 371:15:shc.marmotcaravel.MarmotCaravelConfig.fir@293205.4]
  reg [2:0] byteState; // @[I2C.scala 379:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293213.4]
  reg [31:0] _RAND_45;
  wire  _T_471; // @[I2C.scala 391:32:shc.marmotcaravel.MarmotCaravelConfig.fir@293224.6]
  wire  _T_472; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293229.6]
  wire [2:0] _GEN_119; // @[I2C.scala 407:33:shc.marmotcaravel.MarmotCaravelConfig.fir@293242.14]
  wire  _T_473; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293254.8]
  wire  _T_474; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293269.10]
  wire  _T_475; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293284.12]
  wire  _T_476; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293300.14]
  wire [1:0] _GEN_144; // @[I2C.scala 463:27:shc.marmotcaravel.MarmotCaravelConfig.fir@293303.18]
  wire  _T_477; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293320.16]
  wire  _T_54_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
  wire [2:0] _T_54_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
  wire  _T_514; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293400.4]
  wire [28:0] _T_54_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
  wire [26:0] _T_515; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293402.4]
  wire [9:0] _T_511_bits_index; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293398.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@293403.4]
  wire  _T_813; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293673.4]
  wire  _T_812; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293672.4]
  wire [1:0] _T_821; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293681.4]
  wire  _T_811; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293671.4]
  wire [2:0] _T_822; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293682.4]
  wire [9:0] _T_532; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293414.4]
  wire  _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293424.4]
  wire  _T_883; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293755.4]
  wire  _T_54_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
  wire  _T_1056; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293946.4]
  wire  _T_1057; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293947.4]
  wire  _T_1058; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293948.4]
  wire [7:0] _T_844; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293704.4]
  wire  _T_849; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293709.4]
  wire  _T_1085; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293985.4]
  wire  _T_1086; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293986.4]
  wire [3:0] _T_54_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
  wire  _T_614; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293452.4]
  wire [7:0] _T_622; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@293460.4]
  wire  _T_613; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293451.4]
  wire [7:0] _T_620; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@293458.4]
  wire [15:0] _T_624; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293462.4]
  wire  _T_612; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293450.4]
  wire [7:0] _T_618; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@293456.4]
  wire  _T_611; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293449.4]
  wire [7:0] _T_616; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@293454.4]
  wire [15:0] _T_623; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293461.4]
  wire [31:0] _T_625; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293463.4]
  wire [7:0] _T_787; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293643.4]
  wire [7:0] _T_788; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293644.4]
  wire  _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293645.4]
  wire  _T_793; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293649.4]
  wire [31:0] _T_54_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
  wire [7:0] _T_799; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293655.4]
  wire [1:0] _T_494; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293354.4]
  wire [1:0] _T_493; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293353.4]
  wire [3:0] _T_495; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293355.4]
  wire [2:0] _T_491; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293351.4]
  wire [3:0] _T_492; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293352.4]
  wire [7:0] _T_496; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293356.4]
  wire [7:0] _T_497; // @[I2C.scala 502:25:shc.marmotcaravel.MarmotCaravelConfig.fir@293357.4]
  wire [7:0] nextCmd; // @[I2C.scala 558:77:shc.marmotcaravel.MarmotCaravelConfig.fir@293656.4]
  wire  _T_484; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@293336.4]
  wire  _T_486; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@293340.4]
  wire  _T_487; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@293342.4]
  wire  _T_488; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@293344.4]
  wire  _T_489; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@293346.4]
  wire  _T_490; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@293348.4]
  wire  _T_498; // @[I2C.scala 505:16:shc.marmotcaravel.MarmotCaravelConfig.fir@293359.4]
  wire  _T_501; // @[I2C.scala 527:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293384.4]
  wire  _T_502; // @[I2C.scala 527:73:shc.marmotcaravel.MarmotCaravelConfig.fir@293385.4]
  wire  _T_503; // @[I2C.scala 527:70:shc.marmotcaravel.MarmotCaravelConfig.fir@293386.4]
  reg  statusReadReady; // @[I2C.scala 530:28:shc.marmotcaravel.MarmotCaravelConfig.fir@293388.4]
  reg [31:0] _RAND_46;
  wire  _T_506; // @[I2C.scala 534:14:shc.marmotcaravel.MarmotCaravelConfig.fir@293394.6]
  wire [5:0] _T_54_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
  wire [1:0] _T_54_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
  wire [7:0] _T_516; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293406.4]
  wire  _T_627; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293465.4]
  wire  _T_806; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293666.4]
  wire  _T_807; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293667.4]
  wire  _T_1020; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293912.4]
  wire  _GEN_232; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293945.4]
  wire  _GEN_233; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293945.4]
  wire  _GEN_234; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293945.4]
  wire  _GEN_235; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293945.4]
  wire  _T_1125; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@294025.4]
  wire  _T_836; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293696.4]
  wire  _T_1061; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293951.4]
  wire  _T_1062; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293952.4]
  wire  _T_639; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293477.4]
  wire  _T_837; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293697.4]
  wire  _T_1067; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293959.4]
  wire  _T_1068; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293960.4]
  wire  _T_664; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293505.4]
  wire  _T_838; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293698.4]
  wire  _T_1073; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293967.4]
  wire  _T_1074; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293968.4]
  wire  _T_701; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293548.4]
  wire  _T_704; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293551.4]
  wire  _T_705; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293552.4]
  wire  _T_714; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293561.4]
  wire  _T_715; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293562.4]
  wire [6:0] _T_725; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293575.4]
  wire  _T_728; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293578.4]
  wire  _T_731; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293581.4]
  wire  _T_732; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293582.4]
  wire  _T_741; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293591.4]
  wire  _T_742; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293592.4]
  wire [7:0] _T_752; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293605.4]
  wire  _T_839; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293699.4]
  wire  _T_1079; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293977.4]
  wire  _T_1080; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293978.4]
  wire  _T_768; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293621.4]
  wire [3:0] _T_794; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@293650.4]
  wire [4:0] _T_795; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@293651.4]
  wire [1:0] _T_796; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@293652.4]
  wire [2:0] _T_797; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@293653.4]
  wire [7:0] _T_798; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@293654.4]
  wire  _GEN_245; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
  wire  _GEN_246; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
  wire  _GEN_247; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
  wire  _GEN_248; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
  wire  _GEN_249; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
  wire  _GEN_250; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
  wire  _GEN_251; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
  wire [7:0] _GEN_253; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
  wire [7:0] _GEN_254; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
  wire [7:0] _GEN_255; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
  wire [7:0] _GEN_256; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
  wire [7:0] _GEN_257; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
  wire [7:0] _GEN_258; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
  wire [7:0] _GEN_259; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
  wire [7:0] _T_1164; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@294059.4]
  TLBuffer_28 buffer ( // @[Buffer.scala 69:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292741.4]
    .clock(buffer_clock),
    .reset(buffer_reset),
    .auto_in_a_ready(buffer_auto_in_a_ready),
    .auto_in_a_valid(buffer_auto_in_a_valid),
    .auto_in_a_bits_opcode(buffer_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(buffer_auto_in_a_bits_param),
    .auto_in_a_bits_size(buffer_auto_in_a_bits_size),
    .auto_in_a_bits_source(buffer_auto_in_a_bits_source),
    .auto_in_a_bits_address(buffer_auto_in_a_bits_address),
    .auto_in_a_bits_mask(buffer_auto_in_a_bits_mask),
    .auto_in_a_bits_data(buffer_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(buffer_auto_in_a_bits_corrupt),
    .auto_in_d_ready(buffer_auto_in_d_ready),
    .auto_in_d_valid(buffer_auto_in_d_valid),
    .auto_in_d_bits_opcode(buffer_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(buffer_auto_in_d_bits_size),
    .auto_in_d_bits_source(buffer_auto_in_d_bits_source),
    .auto_in_d_bits_data(buffer_auto_in_d_bits_data),
    .auto_out_a_ready(buffer_auto_out_a_ready),
    .auto_out_a_valid(buffer_auto_out_a_valid),
    .auto_out_a_bits_opcode(buffer_auto_out_a_bits_opcode),
    .auto_out_a_bits_param(buffer_auto_out_a_bits_param),
    .auto_out_a_bits_size(buffer_auto_out_a_bits_size),
    .auto_out_a_bits_source(buffer_auto_out_a_bits_source),
    .auto_out_a_bits_address(buffer_auto_out_a_bits_address),
    .auto_out_a_bits_mask(buffer_auto_out_a_bits_mask),
    .auto_out_a_bits_data(buffer_auto_out_a_bits_data),
    .auto_out_a_bits_corrupt(buffer_auto_out_a_bits_corrupt),
    .auto_out_d_ready(buffer_auto_out_d_ready),
    .auto_out_d_valid(buffer_auto_out_d_valid),
    .auto_out_d_bits_opcode(buffer_auto_out_d_bits_opcode),
    .auto_out_d_bits_size(buffer_auto_out_d_bits_size),
    .auto_out_d_bits_source(buffer_auto_out_d_bits_source),
    .auto_out_d_bits_data(buffer_auto_out_d_bits_data)
  );
  IntSyncCrossingSource_3 intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292747.4]
    .clock(intsource_clock),
    .reset(intsource_reset),
    .auto_in_0(intsource_auto_in_0),
    .auto_out_sync_0(intsource_auto_out_sync_0)
  );
  TLMonitor_81 TLMonitor ( // @[Nodes.scala 25:25:shc.marmotcaravel.MarmotCaravelConfig.fir@292759.4]
    .clock(TLMonitor_clock),
    .reset(TLMonitor_reset),
    .io_in_a_ready(TLMonitor_io_in_a_ready),
    .io_in_a_valid(TLMonitor_io_in_a_valid),
    .io_in_a_bits_opcode(TLMonitor_io_in_a_bits_opcode),
    .io_in_a_bits_param(TLMonitor_io_in_a_bits_param),
    .io_in_a_bits_size(TLMonitor_io_in_a_bits_size),
    .io_in_a_bits_source(TLMonitor_io_in_a_bits_source),
    .io_in_a_bits_address(TLMonitor_io_in_a_bits_address),
    .io_in_a_bits_mask(TLMonitor_io_in_a_bits_mask),
    .io_in_a_bits_corrupt(TLMonitor_io_in_a_bits_corrupt),
    .io_in_d_ready(TLMonitor_io_in_d_ready),
    .io_in_d_valid(TLMonitor_io_in_d_valid),
    .io_in_d_bits_opcode(TLMonitor_io_in_d_bits_opcode),
    .io_in_d_bits_size(TLMonitor_io_in_d_bits_size),
    .io_in_d_bits_source(TLMonitor_io_in_d_bits_source)
  );
  assign _T_346 = control_coreEn == 1'h0; // @[I2C.scala 134:10:shc.marmotcaravel.MarmotCaravelConfig.fir@292878.4]
  assign _T_347 = filterCnt != 14'h0; // @[I2C.scala 136:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292883.6]
  assign _T_348 = _T_347 == 1'h0; // @[I2C.scala 136:16:shc.marmotcaravel.MarmotCaravelConfig.fir@292884.6]
  assign _T_349 = {prescaler_hi,prescaler_lo}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@292886.8]
  assign _T_350 = _T_349[15:2]; // @[I2C.scala 137:50:shc.marmotcaravel.MarmotCaravelConfig.fir@292887.8]
  assign _T_351 = filterCnt - 14'h1; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292891.8]
  assign _T_352 = $unsigned(_T_351); // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292892.8]
  assign _T_353 = _T_352[13:0]; // @[I2C.scala 139:28:shc.marmotcaravel.MarmotCaravelConfig.fir@292893.8]
  assign _T_358 = {fSCL,auto_io_out_scl_in}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@292901.6]
  assign _T_359 = {fSDA,auto_io_out_sda_in}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@292903.6]
  assign _GEN_2 = _T_348 ? _T_358 : {{1'd0}, fSCL}; // @[I2C.scala 144:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292900.4]
  assign _GEN_3 = _T_348 ? _T_359 : {{1'd0}, fSDA}; // @[I2C.scala 144:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292900.4]
  assign _T_360 = fSCL[0]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@292906.4]
  assign _T_361 = fSCL[1]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@292907.4]
  assign _T_362 = fSCL[2]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@292908.4]
  assign _T_363 = _T_360 & _T_361; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292909.4]
  assign _T_364 = _T_360 & _T_362; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292910.4]
  assign _T_365 = _T_363 | _T_364; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292911.4]
  assign _T_366 = _T_361 & _T_362; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292912.4]
  assign _T_367 = _T_365 | _T_366; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292913.4]
  assign _T_369 = fSDA[0]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@292916.4]
  assign _T_370 = fSDA[1]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@292917.4]
  assign _T_371 = fSDA[2]; // @[Misc.scala 177:40:shc.marmotcaravel.MarmotCaravelConfig.fir@292918.4]
  assign _T_372 = _T_369 & _T_370; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292919.4]
  assign _T_373 = _T_369 & _T_371; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292920.4]
  assign _T_374 = _T_372 | _T_373; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292921.4]
  assign _T_375 = _T_370 & _T_371; // @[Misc.scala 171:48:shc.marmotcaravel.MarmotCaravelConfig.fir@292922.4]
  assign _T_376 = _T_374 | _T_375; // @[Misc.scala 172:22:shc.marmotcaravel.MarmotCaravelConfig.fir@292923.4]
  assign _T_381 = sSDA == 1'h0; // @[I2C.scala 159:46:shc.marmotcaravel.MarmotCaravelConfig.fir@292932.4]
  assign _T_382 = _T_381 & dSDA; // @[I2C.scala 159:52:shc.marmotcaravel.MarmotCaravelConfig.fir@292933.4]
  assign _T_383 = _T_382 & sSCL; // @[I2C.scala 159:61:shc.marmotcaravel.MarmotCaravelConfig.fir@292934.4]
  assign _T_385 = dSDA == 1'h0; // @[I2C.scala 160:55:shc.marmotcaravel.MarmotCaravelConfig.fir@292937.4]
  assign _T_386 = sSDA & _T_385; // @[I2C.scala 160:52:shc.marmotcaravel.MarmotCaravelConfig.fir@292938.4]
  assign _T_387 = _T_386 & sSCL; // @[I2C.scala 160:61:shc.marmotcaravel.MarmotCaravelConfig.fir@292939.4]
  assign _T_389 = sSCL == 1'h0; // @[I2C.scala 164:27:shc.marmotcaravel.MarmotCaravelConfig.fir@292942.4]
  assign _T_390 = dSCL & _T_389; // @[I2C.scala 164:24:shc.marmotcaravel.MarmotCaravelConfig.fir@292943.4]
  assign _T_411 = sclOen == 1'h0; // @[I2C.scala 188:18:shc.marmotcaravel.MarmotCaravelConfig.fir@292978.4]
  assign sclSync = _T_390 & _T_411; // @[I2C.scala 164:33:shc.marmotcaravel.MarmotCaravelConfig.fir@292944.4]
  assign _T_392 = dSCLOen == 1'h0; // @[I2C.scala 169:32:shc.marmotcaravel.MarmotCaravelConfig.fir@292946.4]
  assign _T_393 = _T_411 & _T_392; // @[I2C.scala 169:29:shc.marmotcaravel.MarmotCaravelConfig.fir@292947.4]
  assign _T_395 = _T_393 & _T_389; // @[I2C.scala 169:41:shc.marmotcaravel.MarmotCaravelConfig.fir@292949.4]
  assign _T_397 = slaveWait & _T_389; // @[I2C.scala 169:65:shc.marmotcaravel.MarmotCaravelConfig.fir@292951.4]
  assign _T_398 = _T_395 | _T_397; // @[I2C.scala 169:51:shc.marmotcaravel.MarmotCaravelConfig.fir@292952.4]
  assign _T_401 = cnt != 16'h0; // @[I2C.scala 175:15:shc.marmotcaravel.MarmotCaravelConfig.fir@292956.4]
  assign _T_402 = _T_401 == 1'h0; // @[I2C.scala 175:9:shc.marmotcaravel.MarmotCaravelConfig.fir@292957.4]
  assign _T_404 = _T_402 | _T_346; // @[I2C.scala 175:20:shc.marmotcaravel.MarmotCaravelConfig.fir@292959.4]
  assign _T_405 = _T_404 | sclSync; // @[I2C.scala 175:39:shc.marmotcaravel.MarmotCaravelConfig.fir@292960.4]
  assign _T_407 = cnt - 16'h1; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@292971.8]
  assign _T_408 = $unsigned(_T_407); // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@292972.8]
  assign _T_409 = _T_408[15:0]; // @[I2C.scala 183:18:shc.marmotcaravel.MarmotCaravelConfig.fir@292973.8]
  assign _T_417 = dSCL == 1'h0; // @[I2C.scala 197:17:shc.marmotcaravel.MarmotCaravelConfig.fir@292986.4]
  assign _T_418 = sSCL & _T_417; // @[I2C.scala 197:14:shc.marmotcaravel.MarmotCaravelConfig.fir@292987.4]
  assign _T_421 = bitCmd == 4'h2; // @[I2C.scala 204:26:shc.marmotcaravel.MarmotCaravelConfig.fir@292994.6]
  assign _T_426 = sdaChk & _T_381; // @[I2C.scala 215:56:shc.marmotcaravel.MarmotCaravelConfig.fir@293000.4]
  assign _T_427 = _T_426 & sdaOen; // @[I2C.scala 215:65:shc.marmotcaravel.MarmotCaravelConfig.fir@293001.4]
  assign _T_428 = bitState != 5'h0; // @[I2C.scala 215:89:shc.marmotcaravel.MarmotCaravelConfig.fir@293002.4]
  assign _T_429 = _T_428 & stopCond; // @[I2C.scala 215:105:shc.marmotcaravel.MarmotCaravelConfig.fir@293003.4]
  assign _T_430 = bitCmdStop == 1'h0; // @[I2C.scala 215:120:shc.marmotcaravel.MarmotCaravelConfig.fir@293004.4]
  assign _T_431 = _T_429 & _T_430; // @[I2C.scala 215:117:shc.marmotcaravel.MarmotCaravelConfig.fir@293005.4]
  assign _T_432 = _T_427 | _T_431; // @[I2C.scala 215:76:shc.marmotcaravel.MarmotCaravelConfig.fir@293006.4]
  assign _T_434 = 5'h0 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293019.8]
  assign _T_435 = 4'h1 == bitCmd; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293021.10]
  assign _T_436 = 4'h2 == bitCmd; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293026.12]
  assign _T_437 = 4'h4 == bitCmd; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293031.14]
  assign _T_438 = 4'h8 == bitCmd; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293036.16]
  assign _T_439 = 5'h1 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293043.10]
  assign _T_440 = 5'h2 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293051.12]
  assign _T_441 = 5'h3 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293059.14]
  assign _T_442 = 5'h4 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293067.16]
  assign _T_443 = 5'h5 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293075.18]
  assign _T_444 = 5'h6 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293084.20]
  assign _T_445 = 5'h7 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293092.22]
  assign _T_446 = 5'h8 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293100.24]
  assign _T_447 = 5'h9 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293108.26]
  assign _T_448 = 5'ha == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293117.28]
  assign _T_449 = 5'hb == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293125.30]
  assign _T_450 = 5'hc == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293133.32]
  assign _T_451 = 5'hd == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293141.34]
  assign _T_452 = 5'he == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293150.36]
  assign _T_453 = 5'hf == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293158.38]
  assign _T_454 = 5'h10 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293166.40]
  assign _T_455 = 5'h11 == bitState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293174.42]
  assign _T_460 = cmd_read | cmd_write; // @[I2C.scala 359:31:shc.marmotcaravel.MarmotCaravelConfig.fir@293188.4]
  assign _T_461 = _T_460 | cmd_stop; // @[I2C.scala 359:43:shc.marmotcaravel.MarmotCaravelConfig.fir@293189.4]
  assign _T_462 = cmdAck == 1'h0; // @[I2C.scala 359:57:shc.marmotcaravel.MarmotCaravelConfig.fir@293190.4]
  assign go = _T_461 & _T_462; // @[I2C.scala 359:55:shc.marmotcaravel.MarmotCaravelConfig.fir@293191.4]
  assign _T_464 = bitCnt - 3'h1; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@293198.8]
  assign _T_465 = $unsigned(_T_464); // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@293199.8]
  assign _T_466 = _T_465[2:0]; // @[I2C.scala 366:22:shc.marmotcaravel.MarmotCaravelConfig.fir@293200.8]
  assign _T_467 = bitCnt != 3'h0; // @[I2C.scala 368:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293203.4]
  assign bitCntDone = _T_467 == 1'h0; // @[I2C.scala 368:21:shc.marmotcaravel.MarmotCaravelConfig.fir@293204.4]
  assign _T_468 = {receivedData,receivedBit}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293210.8]
  assign _GEN_116 = shift ? _T_468 : {{1'd0}, receivedData}; // @[I2C.scala 374:21:shc.marmotcaravel.MarmotCaravelConfig.fir@293209.6]
  assign _GEN_117 = load ? {{1'd0}, transmitData} : _GEN_116; // @[I2C.scala 371:15:shc.marmotcaravel.MarmotCaravelConfig.fir@293205.4]
  assign _T_471 = receivedData[7]; // @[I2C.scala 391:32:shc.marmotcaravel.MarmotCaravelConfig.fir@293224.6]
  assign _T_472 = 3'h0 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293229.6]
  assign _GEN_119 = cmd_write ? 3'h4 : 3'h2; // @[I2C.scala 407:33:shc.marmotcaravel.MarmotCaravelConfig.fir@293242.14]
  assign _T_473 = 3'h1 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293254.8]
  assign _T_474 = 3'h3 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293269.10]
  assign _T_475 = 3'h2 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293284.12]
  assign _T_476 = 3'h4 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293300.14]
  assign _GEN_144 = cmd_stop ? 2'h2 : 2'h0; // @[I2C.scala 463:27:shc.marmotcaravel.MarmotCaravelConfig.fir@293303.18]
  assign _T_477 = 3'h5 == byteState; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@293320.16]
  assign _T_54_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
  assign _T_54_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
  assign _T_514 = _T_54_a_bits_opcode == 3'h4; // @[RegisterRouter.scala 58:36:shc.marmotcaravel.MarmotCaravelConfig.fir@293400.4]
  assign _T_54_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
  assign _T_515 = _T_54_a_bits_address[28:2]; // @[Edges.scala 192:34:shc.marmotcaravel.MarmotCaravelConfig.fir@293402.4]
  assign _T_511_bits_index = _T_515[9:0]; // @[RegisterRouter.scala 57:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293398.4 RegisterRouter.scala 59:19:shc.marmotcaravel.MarmotCaravelConfig.fir@293403.4]
  assign _T_813 = _T_511_bits_index[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293673.4]
  assign _T_812 = _T_511_bits_index[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293672.4]
  assign _T_821 = {_T_813,_T_812}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293681.4]
  assign _T_811 = _T_511_bits_index[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293671.4]
  assign _T_822 = {_T_821,_T_811}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293682.4]
  assign _T_532 = _T_511_bits_index & 10'h3f8; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293414.4]
  assign _T_542 = _T_532 == 10'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293424.4]
  assign _T_883 = _T_542 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293755.4]
  assign _T_54_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
  assign _T_1056 = _T_54_a_valid & _T_54_d_ready; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293946.4]
  assign _T_1057 = _T_514 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293947.4]
  assign _T_1058 = _T_1056 & _T_1057; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293948.4]
  assign _T_844 = 8'h1 << _T_822; // @[OneHot.scala 45:35:shc.marmotcaravel.MarmotCaravelConfig.fir@293704.4]
  assign _T_849 = _T_844[4]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293709.4]
  assign _T_1085 = _T_1058 & _T_849; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293985.4]
  assign _T_1086 = _T_1085 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293986.4]
  assign _T_54_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
  assign _T_614 = _T_54_a_bits_mask[3]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293452.4]
  assign _T_622 = _T_614 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@293460.4]
  assign _T_613 = _T_54_a_bits_mask[2]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293451.4]
  assign _T_620 = _T_613 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@293458.4]
  assign _T_624 = {_T_622,_T_620}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293462.4]
  assign _T_612 = _T_54_a_bits_mask[1]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293450.4]
  assign _T_618 = _T_612 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@293456.4]
  assign _T_611 = _T_54_a_bits_mask[0]; // @[Bitwise.scala 27:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293449.4]
  assign _T_616 = _T_611 ? 8'hff : 8'h0; // @[Bitwise.scala 72:12:shc.marmotcaravel.MarmotCaravelConfig.fir@293454.4]
  assign _T_623 = {_T_618,_T_616}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293461.4]
  assign _T_625 = {_T_624,_T_623}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293463.4]
  assign _T_787 = _T_625[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293643.4]
  assign _T_788 = ~ _T_787; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293644.4]
  assign _T_789 = _T_788 == 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293645.4]
  assign _T_793 = _T_1086 & _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293649.4]
  assign _T_54_a_bits_data = buffer_auto_out_a_bits_data; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
  assign _T_799 = _T_54_a_bits_data[7:0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293655.4]
  assign _T_494 = {cmd_start,cmd_stop}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293354.4]
  assign _T_493 = {cmd_read,cmd_write}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293353.4]
  assign _T_495 = {_T_494,_T_493}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293355.4]
  assign _T_491 = {cmd_ack,2'h0}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293351.4]
  assign _T_492 = {_T_491,cmd_irqAck}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293352.4]
  assign _T_496 = {_T_495,_T_492}; // @[I2C.scala 502:18:shc.marmotcaravel.MarmotCaravelConfig.fir@293356.4]
  assign _T_497 = _T_496 & 8'hfe; // @[I2C.scala 502:25:shc.marmotcaravel.MarmotCaravelConfig.fir@293357.4]
  assign nextCmd = _T_793 ? _T_799 : _T_497; // @[I2C.scala 558:77:shc.marmotcaravel.MarmotCaravelConfig.fir@293656.4]
  assign _T_484 = nextCmd[0]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@293336.4]
  assign _T_486 = nextCmd[3]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@293340.4]
  assign _T_487 = nextCmd[4]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@293342.4]
  assign _T_488 = nextCmd[5]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@293344.4]
  assign _T_489 = nextCmd[6]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@293346.4]
  assign _T_490 = nextCmd[7]; // @[I2C.scala 501:38:shc.marmotcaravel.MarmotCaravelConfig.fir@293348.4]
  assign _T_498 = cmdAck | arbLost; // @[I2C.scala 505:16:shc.marmotcaravel.MarmotCaravelConfig.fir@293359.4]
  assign _T_501 = _T_498 | status_irqFlag; // @[I2C.scala 527:51:shc.marmotcaravel.MarmotCaravelConfig.fir@293384.4]
  assign _T_502 = cmd_irqAck == 1'h0; // @[I2C.scala 527:73:shc.marmotcaravel.MarmotCaravelConfig.fir@293385.4]
  assign _T_503 = _T_501 & _T_502; // @[I2C.scala 527:70:shc.marmotcaravel.MarmotCaravelConfig.fir@293386.4]
  assign _T_506 = statusReadReady == 1'h0; // @[I2C.scala 534:14:shc.marmotcaravel.MarmotCaravelConfig.fir@293394.6]
  assign _T_54_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
  assign _T_54_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 333:76:shc.marmotcaravel.MarmotCaravelConfig.fir@292757.4 LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
  assign _T_516 = {_T_54_a_bits_source,_T_54_a_bits_size}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293406.4]
  assign _T_627 = _T_787 != 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293465.4]
  assign _T_806 = _T_627 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293666.4]
  assign _T_807 = statusReadReady | _T_806; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293667.4]
  assign _T_1020 = _T_807 | _T_883; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293912.4]
  assign _GEN_232 = 3'h4 == _T_822 ? _T_1020 : 1'h1; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293945.4]
  assign _GEN_233 = 3'h5 == _T_822 ? 1'h1 : _GEN_232; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293945.4]
  assign _GEN_234 = 3'h6 == _T_822 ? 1'h1 : _GEN_233; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293945.4]
  assign _GEN_235 = 3'h7 == _T_822 ? 1'h1 : _GEN_234; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@293945.4]
  assign _T_1125 = _T_514 ? _GEN_235 : 1'h1; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@294025.4]
  assign _T_836 = _T_844[0]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293696.4]
  assign _T_1061 = _T_1058 & _T_836; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293951.4]
  assign _T_1062 = _T_1061 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293952.4]
  assign _T_639 = _T_1062 & _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293477.4]
  assign _T_837 = _T_844[1]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293697.4]
  assign _T_1067 = _T_1058 & _T_837; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293959.4]
  assign _T_1068 = _T_1067 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293960.4]
  assign _T_664 = _T_1068 & _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293505.4]
  assign _T_838 = _T_844[2]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293698.4]
  assign _T_1073 = _T_1058 & _T_838; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293967.4]
  assign _T_1074 = _T_1073 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293968.4]
  assign _T_701 = _T_625[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293548.4]
  assign _T_704 = ~ _T_701; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293551.4]
  assign _T_705 = _T_704 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293552.4]
  assign _T_714 = _T_1074 & _T_705; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293561.4]
  assign _T_715 = _T_54_a_bits_data[6]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293562.4]
  assign _T_725 = {control_intEn,6'h0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293575.4]
  assign _T_728 = _T_625[7]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293578.4]
  assign _T_731 = ~ _T_728; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293581.4]
  assign _T_732 = _T_731 == 1'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293582.4]
  assign _T_741 = _T_1074 & _T_732; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293591.4]
  assign _T_742 = _T_54_a_bits_data[7]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293592.4]
  assign _T_752 = {control_coreEn,_T_725}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@293605.4]
  assign _T_839 = _T_844[3]; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293699.4]
  assign _T_1079 = _T_1058 & _T_839; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293977.4]
  assign _T_1080 = _T_1079 & _T_542; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293978.4]
  assign _T_768 = _T_1080 & _T_789; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@293621.4]
  assign _T_794 = {3'h0,status_transferInProgress}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@293650.4]
  assign _T_795 = {_T_794,status_irqFlag}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@293651.4]
  assign _T_796 = {status_receivedAck,status_busy}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@293652.4]
  assign _T_797 = {_T_796,status_arbLost}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@293653.4]
  assign _T_798 = {_T_797,_T_795}; // @[I2C.scala 555:89:shc.marmotcaravel.MarmotCaravelConfig.fir@293654.4]
  assign _GEN_245 = 3'h1 == _T_822 ? _T_542 : _T_542; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
  assign _GEN_246 = 3'h2 == _T_822 ? _T_542 : _GEN_245; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
  assign _GEN_247 = 3'h3 == _T_822 ? _T_542 : _GEN_246; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
  assign _GEN_248 = 3'h4 == _T_822 ? _T_542 : _GEN_247; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
  assign _GEN_249 = 3'h5 == _T_822 ? 1'h1 : _GEN_248; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
  assign _GEN_250 = 3'h6 == _T_822 ? 1'h1 : _GEN_249; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
  assign _GEN_251 = 3'h7 == _T_822 ? 1'h1 : _GEN_250; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294046.4]
  assign _GEN_253 = 3'h1 == _T_822 ? prescaler_hi : prescaler_lo; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
  assign _GEN_254 = 3'h2 == _T_822 ? _T_752 : _GEN_253; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
  assign _GEN_255 = 3'h3 == _T_822 ? receivedData : _GEN_254; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
  assign _GEN_256 = 3'h4 == _T_822 ? _T_798 : _GEN_255; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
  assign _GEN_257 = 3'h5 == _T_822 ? 8'h0 : _GEN_256; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
  assign _GEN_258 = 3'h6 == _T_822 ? 8'h0 : _GEN_257; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
  assign _GEN_259 = 3'h7 == _T_822 ? 8'h0 : _GEN_258; // @[MuxLiteral.scala 48:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294058.4]
  assign _T_1164 = _GEN_251 ? _GEN_259 : 8'h0; // @[RegisterRouter.scala 65:24:shc.marmotcaravel.MarmotCaravelConfig.fir@294059.4]
  assign auto_int_xing_out_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@292812.4]
  assign auto_control_xing_in_a_ready = buffer_auto_in_a_ready; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292811.4]
  assign auto_control_xing_in_d_valid = buffer_auto_in_d_valid; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292811.4]
  assign auto_control_xing_in_d_bits_opcode = buffer_auto_in_d_bits_opcode; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292811.4]
  assign auto_control_xing_in_d_bits_size = buffer_auto_in_d_bits_size; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292811.4]
  assign auto_control_xing_in_d_bits_source = buffer_auto_in_d_bits_source; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292811.4]
  assign auto_control_xing_in_d_bits_data = buffer_auto_in_d_bits_data; // @[LazyModule.scala 173:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292811.4]
  assign auto_io_out_scl_oe = sclOen == 1'h0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@292810.4]
  assign auto_io_out_sda_oe = sdaOen == 1'h0; // @[LazyModule.scala 173:49:shc.marmotcaravel.MarmotCaravelConfig.fir@292810.4]
  assign buffer_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292745.4]
  assign buffer_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292746.4]
  assign buffer_auto_in_a_valid = auto_control_xing_in_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@292808.4]
  assign buffer_auto_in_a_bits_opcode = auto_control_xing_in_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@292808.4]
  assign buffer_auto_in_a_bits_param = auto_control_xing_in_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@292808.4]
  assign buffer_auto_in_a_bits_size = auto_control_xing_in_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@292808.4]
  assign buffer_auto_in_a_bits_source = auto_control_xing_in_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@292808.4]
  assign buffer_auto_in_a_bits_address = auto_control_xing_in_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@292808.4]
  assign buffer_auto_in_a_bits_mask = auto_control_xing_in_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@292808.4]
  assign buffer_auto_in_a_bits_data = auto_control_xing_in_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@292808.4]
  assign buffer_auto_in_a_bits_corrupt = auto_control_xing_in_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@292808.4]
  assign buffer_auto_in_d_ready = auto_control_xing_in_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@292808.4]
  assign buffer_auto_out_a_ready = _T_54_d_ready & _T_1125; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
  assign buffer_auto_out_d_valid = _T_54_a_valid & _T_1125; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
  assign buffer_auto_out_d_bits_opcode = {{2'd0}, _T_514}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
  assign buffer_auto_out_d_bits_size = _T_516[1:0]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
  assign buffer_auto_out_d_bits_source = _T_516[7:2]; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
  assign buffer_auto_out_d_bits_data = {{24'd0}, _T_1164}; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@292807.4]
  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292751.4]
  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292752.4]
  assign intsource_auto_in_0 = status_irqFlag & control_intEn; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@292806.4]
  assign TLMonitor_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292761.4]
  assign TLMonitor_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@292762.4]
  assign TLMonitor_io_in_a_ready = _T_54_d_ready & _T_1125; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
  assign TLMonitor_io_in_a_valid = buffer_auto_out_a_valid; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
  assign TLMonitor_io_in_a_bits_opcode = buffer_auto_out_a_bits_opcode; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
  assign TLMonitor_io_in_a_bits_param = buffer_auto_out_a_bits_param; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
  assign TLMonitor_io_in_a_bits_size = buffer_auto_out_a_bits_size; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
  assign TLMonitor_io_in_a_bits_source = buffer_auto_out_a_bits_source; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
  assign TLMonitor_io_in_a_bits_address = buffer_auto_out_a_bits_address; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
  assign TLMonitor_io_in_a_bits_mask = buffer_auto_out_a_bits_mask; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
  assign TLMonitor_io_in_a_bits_corrupt = buffer_auto_out_a_bits_corrupt; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
  assign TLMonitor_io_in_d_ready = buffer_auto_out_d_ready; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
  assign TLMonitor_io_in_d_valid = _T_54_a_valid & _T_1125; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
  assign TLMonitor_io_in_d_bits_opcode = {{2'd0}, _T_514}; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
  assign TLMonitor_io_in_d_bits_size = _T_516[1:0]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
  assign TLMonitor_io_in_d_bits_source = _T_516[7:2]; // @[Nodes.scala 26:19:shc.marmotcaravel.MarmotCaravelConfig.fir@292795.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  prescaler_hi = _RAND_0[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  prescaler_lo = _RAND_1[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  control_coreEn = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  control_intEn = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  transmitData = _RAND_4[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  receivedData = _RAND_5[7:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  cmd_start = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  cmd_stop = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  cmd_read = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  cmd_write = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  cmd_ack = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  cmd_irqAck = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  status_receivedAck = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  status_busy = _RAND_13[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  status_arbLost = _RAND_14[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  status_transferInProgress = _RAND_15[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  status_irqFlag = _RAND_16[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_17 = {1{`RANDOM}};
  filterCnt = _RAND_17[13:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_18 = {1{`RANDOM}};
  fSCL = _RAND_18[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_19 = {1{`RANDOM}};
  fSDA = _RAND_19[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_20 = {1{`RANDOM}};
  sSCL = _RAND_20[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_21 = {1{`RANDOM}};
  sSDA = _RAND_21[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_22 = {1{`RANDOM}};
  dSCL = _RAND_22[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_23 = {1{`RANDOM}};
  dSDA = _RAND_23[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_24 = {1{`RANDOM}};
  dSCLOen = _RAND_24[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_25 = {1{`RANDOM}};
  startCond = _RAND_25[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_26 = {1{`RANDOM}};
  stopCond = _RAND_26[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_27 = {1{`RANDOM}};
  sclOen = _RAND_27[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_28 = {1{`RANDOM}};
  slaveWait = _RAND_28[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_29 = {1{`RANDOM}};
  clkEn = _RAND_29[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_30 = {1{`RANDOM}};
  cnt = _RAND_30[15:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_31 = {1{`RANDOM}};
  sdaOen = _RAND_31[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_32 = {1{`RANDOM}};
  sdaChk = _RAND_32[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_33 = {1{`RANDOM}};
  transmitBit = _RAND_33[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_34 = {1{`RANDOM}};
  receivedBit = _RAND_34[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_35 = {1{`RANDOM}};
  bitCmd = _RAND_35[3:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_36 = {1{`RANDOM}};
  bitCmdStop = _RAND_36[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_37 = {1{`RANDOM}};
  bitCmdAck = _RAND_37[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_38 = {1{`RANDOM}};
  bitState = _RAND_38[4:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_39 = {1{`RANDOM}};
  arbLost = _RAND_39[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_40 = {1{`RANDOM}};
  load = _RAND_40[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_41 = {1{`RANDOM}};
  shift = _RAND_41[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_42 = {1{`RANDOM}};
  cmdAck = _RAND_42[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_43 = {1{`RANDOM}};
  receivedAck = _RAND_43[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_44 = {1{`RANDOM}};
  bitCnt = _RAND_44[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_45 = {1{`RANDOM}};
  byteState = _RAND_45[2:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_46 = {1{`RANDOM}};
  statusReadReady = _RAND_46[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      prescaler_hi <= 8'hff;
    end else begin
      if (_T_664) begin
        prescaler_hi <= _T_799;
      end
    end
    if (reset) begin
      prescaler_lo <= 8'hff;
    end else begin
      if (_T_639) begin
        prescaler_lo <= _T_799;
      end
    end
    if (reset) begin
      control_coreEn <= 1'h0;
    end else begin
      if (_T_741) begin
        control_coreEn <= _T_742;
      end
    end
    if (reset) begin
      control_intEn <= 1'h0;
    end else begin
      if (_T_714) begin
        control_intEn <= _T_715;
      end
    end
    if (reset) begin
      transmitData <= 8'h0;
    end else begin
      if (_T_768) begin
        transmitData <= _T_799;
      end
    end
    if (reset) begin
      receivedData <= 8'h0;
    end else begin
      receivedData <= _GEN_117[7:0];
    end
    if (reset) begin
      cmd_start <= 1'h0;
    end else begin
      if (_T_498) begin
        cmd_start <= 1'h0;
      end else begin
        cmd_start <= _T_490;
      end
    end
    if (reset) begin
      cmd_stop <= 1'h0;
    end else begin
      if (_T_498) begin
        cmd_stop <= 1'h0;
      end else begin
        cmd_stop <= _T_489;
      end
    end
    if (reset) begin
      cmd_read <= 1'h0;
    end else begin
      if (_T_498) begin
        cmd_read <= 1'h0;
      end else begin
        cmd_read <= _T_488;
      end
    end
    if (reset) begin
      cmd_write <= 1'h0;
    end else begin
      if (_T_498) begin
        cmd_write <= 1'h0;
      end else begin
        cmd_write <= _T_487;
      end
    end
    if (reset) begin
      cmd_ack <= 1'h0;
    end else begin
      cmd_ack <= _T_486;
    end
    if (reset) begin
      cmd_irqAck <= 1'h0;
    end else begin
      cmd_irqAck <= _T_484;
    end
    if (reset) begin
      status_receivedAck <= 1'h0;
    end else begin
      status_receivedAck <= receivedAck;
    end
    if (reset) begin
      status_busy <= 1'h0;
    end else begin
      if (stopCond) begin
        status_busy <= 1'h0;
      end else begin
        if (startCond) begin
          status_busy <= 1'h1;
        end
      end
    end
    if (reset) begin
      status_arbLost <= 1'h0;
    end else begin
      if (arbLost) begin
        status_arbLost <= 1'h1;
      end else begin
        if (cmd_start) begin
          status_arbLost <= 1'h0;
        end
      end
    end
    if (reset) begin
      status_transferInProgress <= 1'h0;
    end else begin
      status_transferInProgress <= _T_460;
    end
    if (reset) begin
      status_irqFlag <= 1'h0;
    end else begin
      status_irqFlag <= _T_503;
    end
    if (reset) begin
      filterCnt <= 14'h0;
    end else begin
      if (_T_346) begin
        filterCnt <= 14'h0;
      end else begin
        if (_T_348) begin
          filterCnt <= _T_350;
        end else begin
          filterCnt <= _T_353;
        end
      end
    end
    if (reset) begin
      fSCL <= 3'h7;
    end else begin
      fSCL <= _GEN_2[2:0];
    end
    if (reset) begin
      fSDA <= 3'h7;
    end else begin
      fSDA <= _GEN_3[2:0];
    end
    if (reset) begin
      sSCL <= 1'h1;
    end else begin
      sSCL <= _T_367;
    end
    if (reset) begin
      sSDA <= 1'h1;
    end else begin
      sSDA <= _T_376;
    end
    if (reset) begin
      dSCL <= 1'h1;
    end else begin
      dSCL <= sSCL;
    end
    if (reset) begin
      dSDA <= 1'h1;
    end else begin
      dSDA <= sSDA;
    end
    dSCLOen <= sclOen == 1'h0;
    if (reset) begin
      startCond <= 1'h0;
    end else begin
      startCond <= _T_383;
    end
    if (reset) begin
      stopCond <= 1'h0;
    end else begin
      stopCond <= _T_387;
    end
    if (reset) begin
      sclOen <= 1'h1;
    end else begin
      if (arbLost) begin
        sclOen <= 1'h1;
      end else begin
        if (clkEn) begin
          if (!(_T_434)) begin
            if (!(_T_439)) begin
              if (_T_440) begin
                sclOen <= 1'h1;
              end else begin
                if (_T_441) begin
                  sclOen <= 1'h1;
                end else begin
                  if (_T_442) begin
                    sclOen <= 1'h1;
                  end else begin
                    if (_T_443) begin
                      sclOen <= 1'h0;
                    end else begin
                      if (_T_444) begin
                        sclOen <= 1'h0;
                      end else begin
                        if (_T_445) begin
                          sclOen <= 1'h1;
                        end else begin
                          if (_T_446) begin
                            sclOen <= 1'h1;
                          end else begin
                            if (_T_447) begin
                              sclOen <= 1'h1;
                            end else begin
                              if (_T_448) begin
                                sclOen <= 1'h0;
                              end else begin
                                if (_T_449) begin
                                  sclOen <= 1'h1;
                                end else begin
                                  if (_T_450) begin
                                    sclOen <= 1'h1;
                                  end else begin
                                    if (_T_451) begin
                                      sclOen <= 1'h0;
                                    end else begin
                                      if (_T_452) begin
                                        sclOen <= 1'h0;
                                      end else begin
                                        if (_T_453) begin
                                          sclOen <= 1'h1;
                                        end else begin
                                          if (_T_454) begin
                                            sclOen <= 1'h1;
                                          end else begin
                                            if (_T_455) begin
                                              sclOen <= 1'h0;
                                            end
                                          end
                                        end
                                      end
                                    end
                                  end
                                end
                              end
                            end
                          end
                        end
                      end
                    end
                  end
                end
              end
            end
          end
        end
      end
    end
    if (reset) begin
      slaveWait <= 1'h0;
    end else begin
      slaveWait <= _T_398;
    end
    if (reset) begin
      clkEn <= 1'h1;
    end else begin
      clkEn <= _T_405;
    end
    if (reset) begin
      cnt <= 16'h0;
    end else begin
      if (_T_405) begin
        cnt <= _T_349;
      end else begin
        if (!(slaveWait)) begin
          cnt <= _T_409;
        end
      end
    end
    if (reset) begin
      sdaOen <= 1'h1;
    end else begin
      if (arbLost) begin
        sdaOen <= 1'h1;
      end else begin
        if (clkEn) begin
          if (!(_T_434)) begin
            if (_T_439) begin
              sdaOen <= 1'h1;
            end else begin
              if (_T_440) begin
                sdaOen <= 1'h1;
              end else begin
                if (_T_441) begin
                  sdaOen <= 1'h0;
                end else begin
                  if (_T_442) begin
                    sdaOen <= 1'h0;
                  end else begin
                    if (_T_443) begin
                      sdaOen <= 1'h0;
                    end else begin
                      if (_T_444) begin
                        sdaOen <= 1'h0;
                      end else begin
                        if (_T_445) begin
                          sdaOen <= 1'h0;
                        end else begin
                          if (_T_446) begin
                            sdaOen <= 1'h0;
                          end else begin
                            if (_T_447) begin
                              sdaOen <= 1'h1;
                            end else begin
                              if (_T_448) begin
                                sdaOen <= 1'h1;
                              end else begin
                                if (_T_449) begin
                                  sdaOen <= 1'h1;
                                end else begin
                                  if (_T_450) begin
                                    sdaOen <= 1'h1;
                                  end else begin
                                    if (_T_451) begin
                                      sdaOen <= 1'h1;
                                    end else begin
                                      if (_T_452) begin
                                        sdaOen <= transmitBit;
                                      end else begin
                                        if (_T_453) begin
                                          sdaOen <= transmitBit;
                                        end else begin
                                          if (_T_454) begin
                                            sdaOen <= transmitBit;
                                          end else begin
                                            if (_T_455) begin
                                              sdaOen <= transmitBit;
                                            end
                                          end
                                        end
                                      end
                                    end
                                  end
                                end
                              end
                            end
                          end
                        end
                      end
                    end
                  end
                end
              end
            end
          end
        end
      end
    end
    if (reset) begin
      sdaChk <= 1'h0;
    end else begin
      if (arbLost) begin
        sdaChk <= 1'h0;
      end else begin
        if (clkEn) begin
          if (_T_434) begin
            sdaChk <= 1'h0;
          end else begin
            if (_T_439) begin
              sdaChk <= 1'h0;
            end else begin
              if (_T_440) begin
                sdaChk <= 1'h0;
              end else begin
                if (_T_441) begin
                  sdaChk <= 1'h0;
                end else begin
                  if (_T_442) begin
                    sdaChk <= 1'h0;
                  end else begin
                    if (_T_443) begin
                      sdaChk <= 1'h0;
                    end else begin
                      if (_T_444) begin
                        sdaChk <= 1'h0;
                      end else begin
                        if (_T_445) begin
                          sdaChk <= 1'h0;
                        end else begin
                          if (_T_446) begin
                            sdaChk <= 1'h0;
                          end else begin
                            if (_T_447) begin
                              sdaChk <= 1'h0;
                            end else begin
                              if (_T_448) begin
                                sdaChk <= 1'h0;
                              end else begin
                                if (_T_449) begin
                                  sdaChk <= 1'h0;
                                end else begin
                                  if (_T_450) begin
                                    sdaChk <= 1'h0;
                                  end else begin
                                    if (_T_451) begin
                                      sdaChk <= 1'h0;
                                    end else begin
                                      if (_T_452) begin
                                        sdaChk <= 1'h0;
                                      end else begin
                                        if (_T_453) begin
                                          sdaChk <= 1'h0;
                                        end else begin
                                          if (_T_454) begin
                                            sdaChk <= 1'h1;
                                          end else begin
                                            if (_T_455) begin
                                              sdaChk <= 1'h0;
                                            end
                                          end
                                        end
                                      end
                                    end
                                  end
                                end
                              end
                            end
                          end
                        end
                      end
                    end
                  end
                end
              end
            end
          end
        end
      end
    end
    if (reset) begin
      transmitBit <= 1'h0;
    end else begin
      if (arbLost) begin
        transmitBit <= 1'h0;
      end else begin
        if (_T_472) begin
          transmitBit <= _T_471;
        end else begin
          if (_T_473) begin
            transmitBit <= _T_471;
          end else begin
            if (_T_474) begin
              transmitBit <= _T_471;
            end else begin
              if (_T_475) begin
                if (bitCmdAck) begin
                  transmitBit <= cmd_ack;
                end else begin
                  transmitBit <= _T_471;
                end
              end else begin
                if (_T_476) begin
                  if (bitCmdAck) begin
                    transmitBit <= 1'h1;
                  end else begin
                    transmitBit <= cmd_ack;
                  end
                end else begin
                  transmitBit <= _T_471;
                end
              end
            end
          end
        end
      end
    end
    if (_T_418) begin
      receivedBit <= sSDA;
    end
    if (reset) begin
      bitCmd <= 4'h0;
    end else begin
      if (arbLost) begin
        bitCmd <= 4'h0;
      end else begin
        if (_T_472) begin
          if (go) begin
            if (cmd_start) begin
              bitCmd <= 4'h1;
            end else begin
              if (cmd_read) begin
                bitCmd <= 4'h8;
              end else begin
                bitCmd <= {{1'd0}, _GEN_119};
              end
            end
          end
        end else begin
          if (_T_473) begin
            if (bitCmdAck) begin
              if (cmd_read) begin
                bitCmd <= 4'h8;
              end else begin
                bitCmd <= 4'h4;
              end
            end
          end else begin
            if (_T_474) begin
              if (bitCmdAck) begin
                if (bitCntDone) begin
                  bitCmd <= 4'h8;
                end else begin
                  bitCmd <= 4'h4;
                end
              end
            end else begin
              if (_T_475) begin
                if (bitCmdAck) begin
                  if (bitCntDone) begin
                    bitCmd <= 4'h4;
                  end else begin
                    bitCmd <= 4'h8;
                  end
                end
              end else begin
                if (_T_476) begin
                  if (bitCmdAck) begin
                    bitCmd <= {{2'd0}, _GEN_144};
                  end
                end else begin
                  if (_T_477) begin
                    if (bitCmdAck) begin
                      bitCmd <= 4'h0;
                    end
                  end
                end
              end
            end
          end
        end
      end
    end
    if (reset) begin
      bitCmdStop <= 1'h0;
    end else begin
      if (clkEn) begin
        bitCmdStop <= _T_421;
      end
    end
    if (reset) begin
      bitCmdAck <= 1'h0;
    end else begin
      if (arbLost) begin
        bitCmdAck <= 1'h0;
      end else begin
        if (clkEn) begin
          if (_T_434) begin
            bitCmdAck <= 1'h0;
          end else begin
            if (_T_439) begin
              bitCmdAck <= 1'h0;
            end else begin
              if (_T_440) begin
                bitCmdAck <= 1'h0;
              end else begin
                if (_T_441) begin
                  bitCmdAck <= 1'h0;
                end else begin
                  if (_T_442) begin
                    bitCmdAck <= 1'h0;
                  end else begin
                    if (_T_443) begin
                      bitCmdAck <= 1'h1;
                    end else begin
                      if (_T_444) begin
                        bitCmdAck <= 1'h0;
                      end else begin
                        if (_T_445) begin
                          bitCmdAck <= 1'h0;
                        end else begin
                          if (_T_446) begin
                            bitCmdAck <= 1'h0;
                          end else begin
                            if (_T_447) begin
                              bitCmdAck <= 1'h1;
                            end else begin
                              if (_T_448) begin
                                bitCmdAck <= 1'h0;
                              end else begin
                                if (_T_449) begin
                                  bitCmdAck <= 1'h0;
                                end else begin
                                  if (_T_450) begin
                                    bitCmdAck <= 1'h0;
                                  end else begin
                                    if (_T_451) begin
                                      bitCmdAck <= 1'h1;
                                    end else begin
                                      if (_T_452) begin
                                        bitCmdAck <= 1'h0;
                                      end else begin
                                        if (_T_453) begin
                                          bitCmdAck <= 1'h0;
                                        end else begin
                                          if (_T_454) begin
                                            bitCmdAck <= 1'h0;
                                          end else begin
                                            bitCmdAck <= _T_455;
                                          end
                                        end
                                      end
                                    end
                                  end
                                end
                              end
                            end
                          end
                        end
                      end
                    end
                  end
                end
              end
            end
          end
        end else begin
          bitCmdAck <= 1'h0;
        end
      end
    end
    if (reset) begin
      bitState <= 5'h0;
    end else begin
      if (arbLost) begin
        bitState <= 5'h0;
      end else begin
        if (clkEn) begin
          if (_T_434) begin
            if (_T_435) begin
              bitState <= 5'h1;
            end else begin
              if (_T_436) begin
                bitState <= 5'h6;
              end else begin
                if (_T_437) begin
                  bitState <= 5'he;
                end else begin
                  if (_T_438) begin
                    bitState <= 5'ha;
                  end
                end
              end
            end
          end else begin
            if (_T_439) begin
              bitState <= 5'h2;
            end else begin
              if (_T_440) begin
                bitState <= 5'h3;
              end else begin
                if (_T_441) begin
                  bitState <= 5'h4;
                end else begin
                  if (_T_442) begin
                    bitState <= 5'h5;
                  end else begin
                    if (_T_443) begin
                      bitState <= 5'h0;
                    end else begin
                      if (_T_444) begin
                        bitState <= 5'h7;
                      end else begin
                        if (_T_445) begin
                          bitState <= 5'h8;
                        end else begin
                          if (_T_446) begin
                            bitState <= 5'h9;
                          end else begin
                            if (_T_447) begin
                              bitState <= 5'h0;
                            end else begin
                              if (_T_448) begin
                                bitState <= 5'hb;
                              end else begin
                                if (_T_449) begin
                                  bitState <= 5'hc;
                                end else begin
                                  if (_T_450) begin
                                    bitState <= 5'hd;
                                  end else begin
                                    if (_T_451) begin
                                      bitState <= 5'h0;
                                    end else begin
                                      if (_T_452) begin
                                        bitState <= 5'hf;
                                      end else begin
                                        if (_T_453) begin
                                          bitState <= 5'h10;
                                        end else begin
                                          if (_T_454) begin
                                            bitState <= 5'h11;
                                          end else begin
                                            if (_T_455) begin
                                              bitState <= 5'h0;
                                            end
                                          end
                                        end
                                      end
                                    end
                                  end
                                end
                              end
                            end
                          end
                        end
                      end
                    end
                  end
                end
              end
            end
          end
        end
      end
    end
    if (reset) begin
      arbLost <= 1'h0;
    end else begin
      arbLost <= _T_432;
    end
    if (reset) begin
      load <= 1'h0;
    end else begin
      if (arbLost) begin
        load <= 1'h0;
      end else begin
        if (_T_472) begin
          load <= go;
        end else begin
          if (_T_473) begin
            load <= bitCmdAck;
          end else begin
            load <= 1'h0;
          end
        end
      end
    end
    if (reset) begin
      shift <= 1'h0;
    end else begin
      if (arbLost) begin
        shift <= 1'h0;
      end else begin
        if (_T_472) begin
          shift <= 1'h0;
        end else begin
          if (_T_473) begin
            shift <= 1'h0;
          end else begin
            if (_T_474) begin
              if (bitCmdAck) begin
                if (bitCntDone) begin
                  shift <= 1'h0;
                end else begin
                  shift <= 1'h1;
                end
              end else begin
                shift <= 1'h0;
              end
            end else begin
              if (_T_475) begin
                shift <= bitCmdAck;
              end else begin
                shift <= 1'h0;
              end
            end
          end
        end
      end
    end
    if (reset) begin
      cmdAck <= 1'h0;
    end else begin
      if (arbLost) begin
        cmdAck <= 1'h0;
      end else begin
        if (_T_472) begin
          cmdAck <= 1'h0;
        end else begin
          if (_T_473) begin
            cmdAck <= 1'h0;
          end else begin
            if (_T_474) begin
              cmdAck <= 1'h0;
            end else begin
              if (_T_475) begin
                cmdAck <= 1'h0;
              end else begin
                if (_T_476) begin
                  if (bitCmdAck) begin
                    if (cmd_stop) begin
                      cmdAck <= 1'h0;
                    end else begin
                      cmdAck <= 1'h1;
                    end
                  end else begin
                    cmdAck <= 1'h0;
                  end
                end else begin
                  if (_T_477) begin
                    cmdAck <= bitCmdAck;
                  end else begin
                    cmdAck <= 1'h0;
                  end
                end
              end
            end
          end
        end
      end
    end
    if (reset) begin
      receivedAck <= 1'h0;
    end else begin
      if (arbLost) begin
        receivedAck <= 1'h0;
      end else begin
        if (!(_T_472)) begin
          if (!(_T_473)) begin
            if (!(_T_474)) begin
              if (!(_T_475)) begin
                if (_T_476) begin
                  if (bitCmdAck) begin
                    receivedAck <= receivedBit;
                  end
                end
              end
            end
          end
        end
      end
    end
    if (reset) begin
      bitCnt <= 3'h0;
    end else begin
      if (load) begin
        bitCnt <= 3'h7;
      end else begin
        if (shift) begin
          bitCnt <= _T_466;
        end
      end
    end
    if (reset) begin
      byteState <= 3'h0;
    end else begin
      if (arbLost) begin
        byteState <= 3'h0;
      end else begin
        if (_T_472) begin
          if (go) begin
            if (cmd_start) begin
              byteState <= 3'h1;
            end else begin
              if (cmd_read) begin
                byteState <= 3'h2;
              end else begin
                if (cmd_write) begin
                  byteState <= 3'h3;
                end else begin
                  byteState <= 3'h5;
                end
              end
            end
          end
        end else begin
          if (_T_473) begin
            if (bitCmdAck) begin
              if (cmd_read) begin
                byteState <= 3'h2;
              end else begin
                byteState <= 3'h3;
              end
            end
          end else begin
            if (_T_474) begin
              if (bitCmdAck) begin
                if (bitCntDone) begin
                  byteState <= 3'h4;
                end else begin
                  byteState <= 3'h3;
                end
              end
            end else begin
              if (_T_475) begin
                if (bitCmdAck) begin
                  if (bitCntDone) begin
                    byteState <= 3'h4;
                  end else begin
                    byteState <= 3'h2;
                  end
                end
              end else begin
                if (_T_476) begin
                  if (bitCmdAck) begin
                    if (cmd_stop) begin
                      byteState <= 3'h5;
                    end else begin
                      byteState <= 3'h0;
                    end
                  end
                end else begin
                  if (_T_477) begin
                    if (bitCmdAck) begin
                      byteState <= 3'h0;
                    end
                  end
                end
              end
            end
          end
        end
      end
    end
    if (reset) begin
      statusReadReady <= 1'h1;
    end else begin
      if (_T_793) begin
        statusReadReady <= 1'h0;
      end else begin
        if (_T_498) begin
          statusReadReady <= 1'h0;
        end else begin
          if (_T_506) begin
            statusReadReady <= 1'h1;
          end
        end
      end
    end
  end
endmodule
module CaptureUpdateChain( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294107.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294108.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294109.4]
  input        io_chainIn_shift, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294110.4]
  input        io_chainIn_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294110.4]
  input        io_chainIn_capture, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294110.4]
  input        io_chainIn_update, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294110.4]
  output       io_chainOut_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294110.4]
  input  [1:0] io_capture_bits_dmiStatus, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294110.4]
  output       io_update_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294110.4]
  output       io_update_bits_dmireset // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294110.4]
);
  reg  regs_0; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294118.4]
  reg [31:0] _RAND_0;
  reg  regs_1; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294119.4]
  reg [31:0] _RAND_1;
  reg  regs_2; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294120.4]
  reg [31:0] _RAND_2;
  reg  regs_3; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294121.4]
  reg [31:0] _RAND_3;
  reg  regs_4; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294122.4]
  reg [31:0] _RAND_4;
  reg  regs_5; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294123.4]
  reg [31:0] _RAND_5;
  reg  regs_6; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294124.4]
  reg [31:0] _RAND_6;
  reg  regs_7; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294125.4]
  reg [31:0] _RAND_7;
  reg  regs_8; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294126.4]
  reg [31:0] _RAND_8;
  reg  regs_9; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294127.4]
  reg [31:0] _RAND_9;
  reg  regs_10; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294128.4]
  reg [31:0] _RAND_10;
  reg  regs_11; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294129.4]
  reg [31:0] _RAND_11;
  reg  regs_12; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294130.4]
  reg [31:0] _RAND_12;
  reg  regs_13; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294131.4]
  reg [31:0] _RAND_13;
  reg  regs_14; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294132.4]
  reg [31:0] _RAND_14;
  reg  regs_15; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294133.4]
  reg [31:0] _RAND_15;
  reg  regs_16; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294134.4]
  reg [31:0] _RAND_16;
  reg  regs_17; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294135.4]
  reg [31:0] _RAND_17;
  reg  regs_18; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294136.4]
  reg [31:0] _RAND_18;
  reg  regs_19; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294137.4]
  reg [31:0] _RAND_19;
  reg  regs_20; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294138.4]
  reg [31:0] _RAND_20;
  reg  regs_21; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294139.4]
  reg [31:0] _RAND_21;
  reg  regs_22; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294140.4]
  reg [31:0] _RAND_22;
  reg  regs_23; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294141.4]
  reg [31:0] _RAND_23;
  reg  regs_24; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294142.4]
  reg [31:0] _RAND_24;
  reg  regs_25; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294143.4]
  reg [31:0] _RAND_25;
  reg  regs_26; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294144.4]
  reg [31:0] _RAND_26;
  reg  regs_27; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294145.4]
  reg [31:0] _RAND_27;
  reg  regs_28; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294146.4]
  reg [31:0] _RAND_28;
  reg  regs_29; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294147.4]
  reg [31:0] _RAND_29;
  reg  regs_30; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294148.4]
  reg [31:0] _RAND_30;
  reg  regs_31; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294149.4]
  reg [31:0] _RAND_31;
  wire [1:0] _T_45; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294151.4]
  wire [1:0] _T_46; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294152.4]
  wire [3:0] _T_47; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294153.4]
  wire [1:0] _T_48; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294154.4]
  wire [1:0] _T_49; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294155.4]
  wire [3:0] _T_50; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294156.4]
  wire [7:0] _T_51; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294157.4]
  wire [1:0] _T_52; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294158.4]
  wire [1:0] _T_53; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294159.4]
  wire [3:0] _T_54; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294160.4]
  wire [1:0] _T_55; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294161.4]
  wire [1:0] _T_56; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294162.4]
  wire [3:0] _T_57; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294163.4]
  wire [7:0] _T_58; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294164.4]
  wire [15:0] _T_59; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294165.4]
  wire [1:0] _T_60; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294166.4]
  wire [1:0] _T_61; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294167.4]
  wire [3:0] _T_62; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294168.4]
  wire [1:0] _T_63; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294169.4]
  wire [1:0] _T_64; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294170.4]
  wire [3:0] _T_65; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294171.4]
  wire [7:0] _T_66; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294172.4]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294173.4]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294174.4]
  wire [3:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294175.4]
  wire [1:0] _T_70; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294176.4]
  wire [1:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294177.4]
  wire [3:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294178.4]
  wire [7:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294179.4]
  wire [15:0] _T_74; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294180.4]
  wire [31:0] updateBits; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294181.4]
  wire [7:0] _T_87; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@294203.4]
  wire [11:0] _T_88; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@294204.4]
  wire [31:0] captureBits; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@294208.4]
  wire  _T_92; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294210.6]
  wire  _T_93; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294212.6]
  wire  _T_94; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294214.6]
  wire  _T_95; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294216.6]
  wire  _T_96; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294218.6]
  wire  _T_97; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294220.6]
  wire  _T_98; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294222.6]
  wire  _T_99; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294224.6]
  wire  _T_100; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294226.6]
  wire  _T_101; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294228.6]
  wire  _T_102; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294230.6]
  wire  _T_103; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294232.6]
  wire  _T_104; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294234.6]
  wire  _T_105; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294236.6]
  wire  _T_106; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294238.6]
  wire  _T_107; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294240.6]
  wire  _T_108; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294242.6]
  wire  _T_109; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294244.6]
  wire  _T_110; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294246.6]
  wire  _T_111; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294248.6]
  wire  _T_112; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294250.6]
  wire  _T_113; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294252.6]
  wire  _T_114; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294254.6]
  wire  _T_115; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294256.6]
  wire  _T_116; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294258.6]
  wire  _T_117; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294260.6]
  wire  _T_118; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294262.6]
  wire  _T_119; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294264.6]
  wire  _T_120; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294266.6]
  wire  _T_121; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294268.6]
  wire  _T_122; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294270.6]
  wire  _T_123; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294272.6]
  wire  _T_124; // @[JtagShifter.scala 185:31:shc.marmotcaravel.MarmotCaravelConfig.fir@294323.4]
  wire  _T_125; // @[JtagShifter.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294324.4]
  wire  _T_126; // @[JtagShifter.scala 186:31:shc.marmotcaravel.MarmotCaravelConfig.fir@294325.4]
  wire  _T_127; // @[JtagShifter.scala 186:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294326.4]
  wire  _T_128; // @[JtagShifter.scala 186:7:shc.marmotcaravel.MarmotCaravelConfig.fir@294327.4]
  wire  _T_129; // @[JtagShifter.scala 187:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294328.4]
  wire  _T_130; // @[JtagShifter.scala 187:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294329.4]
  wire  _T_131; // @[JtagShifter.scala 187:7:shc.marmotcaravel.MarmotCaravelConfig.fir@294330.4]
  wire  _T_133; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294332.4]
  wire  _T_134; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294333.4]
  assign _T_45 = {regs_1,regs_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294151.4]
  assign _T_46 = {regs_3,regs_2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294152.4]
  assign _T_47 = {_T_46,_T_45}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294153.4]
  assign _T_48 = {regs_5,regs_4}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294154.4]
  assign _T_49 = {regs_7,regs_6}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294155.4]
  assign _T_50 = {_T_49,_T_48}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294156.4]
  assign _T_51 = {_T_50,_T_47}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294157.4]
  assign _T_52 = {regs_9,regs_8}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294158.4]
  assign _T_53 = {regs_11,regs_10}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294159.4]
  assign _T_54 = {_T_53,_T_52}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294160.4]
  assign _T_55 = {regs_13,regs_12}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294161.4]
  assign _T_56 = {regs_15,regs_14}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294162.4]
  assign _T_57 = {_T_56,_T_55}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294163.4]
  assign _T_58 = {_T_57,_T_54}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294164.4]
  assign _T_59 = {_T_58,_T_51}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294165.4]
  assign _T_60 = {regs_17,regs_16}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294166.4]
  assign _T_61 = {regs_19,regs_18}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294167.4]
  assign _T_62 = {_T_61,_T_60}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294168.4]
  assign _T_63 = {regs_21,regs_20}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294169.4]
  assign _T_64 = {regs_23,regs_22}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294170.4]
  assign _T_65 = {_T_64,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294171.4]
  assign _T_66 = {_T_65,_T_62}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294172.4]
  assign _T_67 = {regs_25,regs_24}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294173.4]
  assign _T_68 = {regs_27,regs_26}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294174.4]
  assign _T_69 = {_T_68,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294175.4]
  assign _T_70 = {regs_29,regs_28}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294176.4]
  assign _T_71 = {regs_31,regs_30}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294177.4]
  assign _T_72 = {_T_71,_T_70}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294178.4]
  assign _T_73 = {_T_72,_T_69}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294179.4]
  assign _T_74 = {_T_73,_T_66}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294180.4]
  assign updateBits = {_T_74,_T_59}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294181.4]
  assign _T_87 = {io_capture_bits_dmiStatus,6'h7}; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@294203.4]
  assign _T_88 = {_T_87,4'h1}; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@294204.4]
  assign captureBits = {20'h5,_T_88}; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@294208.4]
  assign _T_92 = captureBits[0]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294210.6]
  assign _T_93 = captureBits[1]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294212.6]
  assign _T_94 = captureBits[2]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294214.6]
  assign _T_95 = captureBits[3]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294216.6]
  assign _T_96 = captureBits[4]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294218.6]
  assign _T_97 = captureBits[5]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294220.6]
  assign _T_98 = captureBits[6]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294222.6]
  assign _T_99 = captureBits[7]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294224.6]
  assign _T_100 = captureBits[8]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294226.6]
  assign _T_101 = captureBits[9]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294228.6]
  assign _T_102 = captureBits[10]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294230.6]
  assign _T_103 = captureBits[11]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294232.6]
  assign _T_104 = captureBits[12]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294234.6]
  assign _T_105 = captureBits[13]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294236.6]
  assign _T_106 = captureBits[14]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294238.6]
  assign _T_107 = captureBits[15]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294240.6]
  assign _T_108 = captureBits[16]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294242.6]
  assign _T_109 = captureBits[17]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294244.6]
  assign _T_110 = captureBits[18]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294246.6]
  assign _T_111 = captureBits[19]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294248.6]
  assign _T_112 = captureBits[20]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294250.6]
  assign _T_113 = captureBits[21]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294252.6]
  assign _T_114 = captureBits[22]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294254.6]
  assign _T_115 = captureBits[23]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294256.6]
  assign _T_116 = captureBits[24]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294258.6]
  assign _T_117 = captureBits[25]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294260.6]
  assign _T_118 = captureBits[26]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294262.6]
  assign _T_119 = captureBits[27]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294264.6]
  assign _T_120 = captureBits[28]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294266.6]
  assign _T_121 = captureBits[29]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294268.6]
  assign _T_122 = captureBits[30]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294270.6]
  assign _T_123 = captureBits[31]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294272.6]
  assign _T_124 = io_chainIn_capture & io_chainIn_update; // @[JtagShifter.scala 185:31:shc.marmotcaravel.MarmotCaravelConfig.fir@294323.4]
  assign _T_125 = _T_124 == 1'h0; // @[JtagShifter.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294324.4]
  assign _T_126 = io_chainIn_capture & io_chainIn_shift; // @[JtagShifter.scala 186:31:shc.marmotcaravel.MarmotCaravelConfig.fir@294325.4]
  assign _T_127 = _T_126 == 1'h0; // @[JtagShifter.scala 186:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294326.4]
  assign _T_128 = _T_125 & _T_127; // @[JtagShifter.scala 186:7:shc.marmotcaravel.MarmotCaravelConfig.fir@294327.4]
  assign _T_129 = io_chainIn_update & io_chainIn_shift; // @[JtagShifter.scala 187:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294328.4]
  assign _T_130 = _T_129 == 1'h0; // @[JtagShifter.scala 187:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294329.4]
  assign _T_131 = _T_128 & _T_130; // @[JtagShifter.scala 187:7:shc.marmotcaravel.MarmotCaravelConfig.fir@294330.4]
  assign _T_133 = _T_131 | reset; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294332.4]
  assign _T_134 = _T_133 == 1'h0; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294333.4]
  assign io_chainOut_data = regs_0; // @[JtagShifter.scala 158:20:shc.marmotcaravel.MarmotCaravelConfig.fir@294150.4]
  assign io_update_valid = io_chainIn_capture ? 1'h0 : io_chainIn_update; // @[JtagShifter.scala 172:21:shc.marmotcaravel.MarmotCaravelConfig.fir@294275.6 JtagShifter.scala 175:21:shc.marmotcaravel.MarmotCaravelConfig.fir@294280.8 JtagShifter.scala 180:21:shc.marmotcaravel.MarmotCaravelConfig.fir@294317.10 JtagShifter.scala 183:21:shc.marmotcaravel.MarmotCaravelConfig.fir@294321.10]
  assign io_update_bits_dmireset = updateBits[16]; // @[JtagShifter.scala 161:18:shc.marmotcaravel.MarmotCaravelConfig.fir@294202.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  regs_0 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  regs_1 = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  regs_2 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  regs_3 = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  regs_4 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  regs_5 = _RAND_5[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  regs_6 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  regs_7 = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  regs_8 = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  regs_9 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  regs_10 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  regs_11 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  regs_12 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  regs_13 = _RAND_13[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  regs_14 = _RAND_14[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  regs_15 = _RAND_15[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  regs_16 = _RAND_16[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_17 = {1{`RANDOM}};
  regs_17 = _RAND_17[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_18 = {1{`RANDOM}};
  regs_18 = _RAND_18[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_19 = {1{`RANDOM}};
  regs_19 = _RAND_19[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_20 = {1{`RANDOM}};
  regs_20 = _RAND_20[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_21 = {1{`RANDOM}};
  regs_21 = _RAND_21[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_22 = {1{`RANDOM}};
  regs_22 = _RAND_22[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_23 = {1{`RANDOM}};
  regs_23 = _RAND_23[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_24 = {1{`RANDOM}};
  regs_24 = _RAND_24[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_25 = {1{`RANDOM}};
  regs_25 = _RAND_25[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_26 = {1{`RANDOM}};
  regs_26 = _RAND_26[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_27 = {1{`RANDOM}};
  regs_27 = _RAND_27[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_28 = {1{`RANDOM}};
  regs_28 = _RAND_28[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_29 = {1{`RANDOM}};
  regs_29 = _RAND_29[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_30 = {1{`RANDOM}};
  regs_30 = _RAND_30[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_31 = {1{`RANDOM}};
  regs_31 = _RAND_31[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (io_chainIn_capture) begin
      regs_0 <= _T_92;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_0 <= regs_1;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_1 <= _T_93;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_1 <= regs_2;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_2 <= _T_94;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_2 <= regs_3;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_3 <= _T_95;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_3 <= regs_4;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_4 <= _T_96;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_4 <= regs_5;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_5 <= _T_97;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_5 <= regs_6;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_6 <= _T_98;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_6 <= regs_7;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_7 <= _T_99;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_7 <= regs_8;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_8 <= _T_100;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_8 <= regs_9;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_9 <= _T_101;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_9 <= regs_10;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_10 <= _T_102;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_10 <= regs_11;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_11 <= _T_103;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_11 <= regs_12;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_12 <= _T_104;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_12 <= regs_13;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_13 <= _T_105;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_13 <= regs_14;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_14 <= _T_106;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_14 <= regs_15;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_15 <= _T_107;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_15 <= regs_16;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_16 <= _T_108;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_16 <= regs_17;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_17 <= _T_109;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_17 <= regs_18;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_18 <= _T_110;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_18 <= regs_19;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_19 <= _T_111;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_19 <= regs_20;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_20 <= _T_112;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_20 <= regs_21;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_21 <= _T_113;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_21 <= regs_22;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_22 <= _T_114;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_22 <= regs_23;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_23 <= _T_115;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_23 <= regs_24;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_24 <= _T_116;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_24 <= regs_25;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_25 <= _T_117;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_25 <= regs_26;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_26 <= _T_118;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_26 <= regs_27;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_27 <= _T_119;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_27 <= regs_28;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_28 <= _T_120;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_28 <= regs_29;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_29 <= _T_121;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_29 <= regs_30;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_30 <= _T_122;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_30 <= regs_31;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_31 <= _T_123;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_31 <= io_chainIn_data;
        end
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_134) begin
          $fwrite(32'h80000002,"Assertion failed\n    at JtagShifter.scala:185 assert(!(io.chainIn.capture && io.chainIn.update)\n"); // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294335.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_134) begin
          $fatal; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294336.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module CaptureUpdateChain_1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294339.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294340.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294341.4]
  input         io_chainIn_shift, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294342.4]
  input         io_chainIn_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294342.4]
  input         io_chainIn_capture, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294342.4]
  input         io_chainIn_update, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294342.4]
  output        io_chainOut_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294342.4]
  input  [6:0]  io_capture_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294342.4]
  input  [31:0] io_capture_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294342.4]
  input  [1:0]  io_capture_bits_resp, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294342.4]
  output        io_capture_capture, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294342.4]
  output        io_update_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294342.4]
  output [6:0]  io_update_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294342.4]
  output [31:0] io_update_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294342.4]
  output [1:0]  io_update_bits_op // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294342.4]
);
  reg  regs_0; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294350.4]
  reg [31:0] _RAND_0;
  reg  regs_1; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294351.4]
  reg [31:0] _RAND_1;
  reg  regs_2; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294352.4]
  reg [31:0] _RAND_2;
  reg  regs_3; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294353.4]
  reg [31:0] _RAND_3;
  reg  regs_4; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294354.4]
  reg [31:0] _RAND_4;
  reg  regs_5; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294355.4]
  reg [31:0] _RAND_5;
  reg  regs_6; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294356.4]
  reg [31:0] _RAND_6;
  reg  regs_7; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294357.4]
  reg [31:0] _RAND_7;
  reg  regs_8; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294358.4]
  reg [31:0] _RAND_8;
  reg  regs_9; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294359.4]
  reg [31:0] _RAND_9;
  reg  regs_10; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294360.4]
  reg [31:0] _RAND_10;
  reg  regs_11; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294361.4]
  reg [31:0] _RAND_11;
  reg  regs_12; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294362.4]
  reg [31:0] _RAND_12;
  reg  regs_13; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294363.4]
  reg [31:0] _RAND_13;
  reg  regs_14; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294364.4]
  reg [31:0] _RAND_14;
  reg  regs_15; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294365.4]
  reg [31:0] _RAND_15;
  reg  regs_16; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294366.4]
  reg [31:0] _RAND_16;
  reg  regs_17; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294367.4]
  reg [31:0] _RAND_17;
  reg  regs_18; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294368.4]
  reg [31:0] _RAND_18;
  reg  regs_19; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294369.4]
  reg [31:0] _RAND_19;
  reg  regs_20; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294370.4]
  reg [31:0] _RAND_20;
  reg  regs_21; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294371.4]
  reg [31:0] _RAND_21;
  reg  regs_22; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294372.4]
  reg [31:0] _RAND_22;
  reg  regs_23; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294373.4]
  reg [31:0] _RAND_23;
  reg  regs_24; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294374.4]
  reg [31:0] _RAND_24;
  reg  regs_25; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294375.4]
  reg [31:0] _RAND_25;
  reg  regs_26; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294376.4]
  reg [31:0] _RAND_26;
  reg  regs_27; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294377.4]
  reg [31:0] _RAND_27;
  reg  regs_28; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294378.4]
  reg [31:0] _RAND_28;
  reg  regs_29; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294379.4]
  reg [31:0] _RAND_29;
  reg  regs_30; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294380.4]
  reg [31:0] _RAND_30;
  reg  regs_31; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294381.4]
  reg [31:0] _RAND_31;
  reg  regs_32; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294382.4]
  reg [31:0] _RAND_32;
  reg  regs_33; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294383.4]
  reg [31:0] _RAND_33;
  reg  regs_34; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294384.4]
  reg [31:0] _RAND_34;
  reg  regs_35; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294385.4]
  reg [31:0] _RAND_35;
  reg  regs_36; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294386.4]
  reg [31:0] _RAND_36;
  reg  regs_37; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294387.4]
  reg [31:0] _RAND_37;
  reg  regs_38; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294388.4]
  reg [31:0] _RAND_38;
  reg  regs_39; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294389.4]
  reg [31:0] _RAND_39;
  reg  regs_40; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294390.4]
  reg [31:0] _RAND_40;
  wire [1:0] _T_54; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294392.4]
  wire [1:0] _T_55; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294393.4]
  wire [2:0] _T_56; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294394.4]
  wire [4:0] _T_57; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294395.4]
  wire [1:0] _T_58; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294396.4]
  wire [1:0] _T_59; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294397.4]
  wire [2:0] _T_60; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294398.4]
  wire [4:0] _T_61; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294399.4]
  wire [9:0] _T_62; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294400.4]
  wire [1:0] _T_63; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294401.4]
  wire [1:0] _T_64; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294402.4]
  wire [2:0] _T_65; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294403.4]
  wire [4:0] _T_66; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294404.4]
  wire [1:0] _T_67; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294405.4]
  wire [1:0] _T_68; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294406.4]
  wire [2:0] _T_69; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294407.4]
  wire [4:0] _T_70; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294408.4]
  wire [9:0] _T_71; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294409.4]
  wire [19:0] _T_72; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294410.4]
  wire [1:0] _T_73; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294411.4]
  wire [1:0] _T_74; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294412.4]
  wire [2:0] _T_75; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294413.4]
  wire [4:0] _T_76; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294414.4]
  wire [1:0] _T_77; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294415.4]
  wire [1:0] _T_78; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294416.4]
  wire [2:0] _T_79; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294417.4]
  wire [4:0] _T_80; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294418.4]
  wire [9:0] _T_81; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294419.4]
  wire [1:0] _T_82; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294420.4]
  wire [1:0] _T_83; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294421.4]
  wire [2:0] _T_84; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294422.4]
  wire [4:0] _T_85; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294423.4]
  wire [1:0] _T_86; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294424.4]
  wire [2:0] _T_87; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294425.4]
  wire [1:0] _T_88; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294426.4]
  wire [2:0] _T_89; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294427.4]
  wire [5:0] _T_90; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294428.4]
  wire [10:0] _T_91; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294429.4]
  wire [20:0] _T_92; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294430.4]
  wire [40:0] updateBits; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294431.4]
  wire [38:0] _T_101; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@294445.4]
  wire [40:0] captureBits; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@294446.4]
  wire  _T_102; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294448.6]
  wire  _T_103; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294450.6]
  wire  _T_104; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294452.6]
  wire  _T_105; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294454.6]
  wire  _T_106; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294456.6]
  wire  _T_107; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294458.6]
  wire  _T_108; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294460.6]
  wire  _T_109; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294462.6]
  wire  _T_110; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294464.6]
  wire  _T_111; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294466.6]
  wire  _T_112; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294468.6]
  wire  _T_113; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294470.6]
  wire  _T_114; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294472.6]
  wire  _T_115; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294474.6]
  wire  _T_116; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294476.6]
  wire  _T_117; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294478.6]
  wire  _T_118; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294480.6]
  wire  _T_119; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294482.6]
  wire  _T_120; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294484.6]
  wire  _T_121; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294486.6]
  wire  _T_122; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294488.6]
  wire  _T_123; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294490.6]
  wire  _T_124; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294492.6]
  wire  _T_125; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294494.6]
  wire  _T_126; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294496.6]
  wire  _T_127; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294498.6]
  wire  _T_128; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294500.6]
  wire  _T_129; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294502.6]
  wire  _T_130; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294504.6]
  wire  _T_131; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294506.6]
  wire  _T_132; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294508.6]
  wire  _T_133; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294510.6]
  wire  _T_134; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294512.6]
  wire  _T_135; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294514.6]
  wire  _T_136; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294516.6]
  wire  _T_137; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294518.6]
  wire  _T_138; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294520.6]
  wire  _T_139; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294522.6]
  wire  _T_140; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294524.6]
  wire  _T_141; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294526.6]
  wire  _T_142; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294528.6]
  wire  _T_143; // @[JtagShifter.scala 185:31:shc.marmotcaravel.MarmotCaravelConfig.fir@294588.4]
  wire  _T_144; // @[JtagShifter.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294589.4]
  wire  _T_145; // @[JtagShifter.scala 186:31:shc.marmotcaravel.MarmotCaravelConfig.fir@294590.4]
  wire  _T_146; // @[JtagShifter.scala 186:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294591.4]
  wire  _T_147; // @[JtagShifter.scala 186:7:shc.marmotcaravel.MarmotCaravelConfig.fir@294592.4]
  wire  _T_148; // @[JtagShifter.scala 187:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294593.4]
  wire  _T_149; // @[JtagShifter.scala 187:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294594.4]
  wire  _T_150; // @[JtagShifter.scala 187:7:shc.marmotcaravel.MarmotCaravelConfig.fir@294595.4]
  wire  _T_152; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294597.4]
  wire  _T_153; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294598.4]
  assign _T_54 = {regs_1,regs_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294392.4]
  assign _T_55 = {regs_4,regs_3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294393.4]
  assign _T_56 = {_T_55,regs_2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294394.4]
  assign _T_57 = {_T_56,_T_54}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294395.4]
  assign _T_58 = {regs_6,regs_5}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294396.4]
  assign _T_59 = {regs_9,regs_8}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294397.4]
  assign _T_60 = {_T_59,regs_7}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294398.4]
  assign _T_61 = {_T_60,_T_58}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294399.4]
  assign _T_62 = {_T_61,_T_57}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294400.4]
  assign _T_63 = {regs_11,regs_10}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294401.4]
  assign _T_64 = {regs_14,regs_13}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294402.4]
  assign _T_65 = {_T_64,regs_12}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294403.4]
  assign _T_66 = {_T_65,_T_63}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294404.4]
  assign _T_67 = {regs_16,regs_15}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294405.4]
  assign _T_68 = {regs_19,regs_18}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294406.4]
  assign _T_69 = {_T_68,regs_17}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294407.4]
  assign _T_70 = {_T_69,_T_67}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294408.4]
  assign _T_71 = {_T_70,_T_66}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294409.4]
  assign _T_72 = {_T_71,_T_62}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294410.4]
  assign _T_73 = {regs_21,regs_20}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294411.4]
  assign _T_74 = {regs_24,regs_23}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294412.4]
  assign _T_75 = {_T_74,regs_22}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294413.4]
  assign _T_76 = {_T_75,_T_73}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294414.4]
  assign _T_77 = {regs_26,regs_25}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294415.4]
  assign _T_78 = {regs_29,regs_28}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294416.4]
  assign _T_79 = {_T_78,regs_27}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294417.4]
  assign _T_80 = {_T_79,_T_77}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294418.4]
  assign _T_81 = {_T_80,_T_76}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294419.4]
  assign _T_82 = {regs_31,regs_30}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294420.4]
  assign _T_83 = {regs_34,regs_33}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294421.4]
  assign _T_84 = {_T_83,regs_32}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294422.4]
  assign _T_85 = {_T_84,_T_82}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294423.4]
  assign _T_86 = {regs_37,regs_36}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294424.4]
  assign _T_87 = {_T_86,regs_35}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294425.4]
  assign _T_88 = {regs_40,regs_39}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294426.4]
  assign _T_89 = {_T_88,regs_38}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294427.4]
  assign _T_90 = {_T_89,_T_87}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294428.4]
  assign _T_91 = {_T_90,_T_85}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294429.4]
  assign _T_92 = {_T_91,_T_81}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294430.4]
  assign updateBits = {_T_92,_T_72}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294431.4]
  assign _T_101 = {io_capture_bits_addr,io_capture_bits_data}; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@294445.4]
  assign captureBits = {_T_101,io_capture_bits_resp}; // @[JtagShifter.scala 163:43:shc.marmotcaravel.MarmotCaravelConfig.fir@294446.4]
  assign _T_102 = captureBits[0]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294448.6]
  assign _T_103 = captureBits[1]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294450.6]
  assign _T_104 = captureBits[2]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294452.6]
  assign _T_105 = captureBits[3]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294454.6]
  assign _T_106 = captureBits[4]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294456.6]
  assign _T_107 = captureBits[5]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294458.6]
  assign _T_108 = captureBits[6]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294460.6]
  assign _T_109 = captureBits[7]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294462.6]
  assign _T_110 = captureBits[8]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294464.6]
  assign _T_111 = captureBits[9]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294466.6]
  assign _T_112 = captureBits[10]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294468.6]
  assign _T_113 = captureBits[11]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294470.6]
  assign _T_114 = captureBits[12]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294472.6]
  assign _T_115 = captureBits[13]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294474.6]
  assign _T_116 = captureBits[14]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294476.6]
  assign _T_117 = captureBits[15]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294478.6]
  assign _T_118 = captureBits[16]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294480.6]
  assign _T_119 = captureBits[17]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294482.6]
  assign _T_120 = captureBits[18]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294484.6]
  assign _T_121 = captureBits[19]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294486.6]
  assign _T_122 = captureBits[20]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294488.6]
  assign _T_123 = captureBits[21]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294490.6]
  assign _T_124 = captureBits[22]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294492.6]
  assign _T_125 = captureBits[23]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294494.6]
  assign _T_126 = captureBits[24]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294496.6]
  assign _T_127 = captureBits[25]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294498.6]
  assign _T_128 = captureBits[26]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294500.6]
  assign _T_129 = captureBits[27]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294502.6]
  assign _T_130 = captureBits[28]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294504.6]
  assign _T_131 = captureBits[29]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294506.6]
  assign _T_132 = captureBits[30]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294508.6]
  assign _T_133 = captureBits[31]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294510.6]
  assign _T_134 = captureBits[32]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294512.6]
  assign _T_135 = captureBits[33]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294514.6]
  assign _T_136 = captureBits[34]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294516.6]
  assign _T_137 = captureBits[35]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294518.6]
  assign _T_138 = captureBits[36]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294520.6]
  assign _T_139 = captureBits[37]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294522.6]
  assign _T_140 = captureBits[38]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294524.6]
  assign _T_141 = captureBits[39]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294526.6]
  assign _T_142 = captureBits[40]; // @[JtagShifter.scala 169:73:shc.marmotcaravel.MarmotCaravelConfig.fir@294528.6]
  assign _T_143 = io_chainIn_capture & io_chainIn_update; // @[JtagShifter.scala 185:31:shc.marmotcaravel.MarmotCaravelConfig.fir@294588.4]
  assign _T_144 = _T_143 == 1'h0; // @[JtagShifter.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294589.4]
  assign _T_145 = io_chainIn_capture & io_chainIn_shift; // @[JtagShifter.scala 186:31:shc.marmotcaravel.MarmotCaravelConfig.fir@294590.4]
  assign _T_146 = _T_145 == 1'h0; // @[JtagShifter.scala 186:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294591.4]
  assign _T_147 = _T_144 & _T_146; // @[JtagShifter.scala 186:7:shc.marmotcaravel.MarmotCaravelConfig.fir@294592.4]
  assign _T_148 = io_chainIn_update & io_chainIn_shift; // @[JtagShifter.scala 187:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294593.4]
  assign _T_149 = _T_148 == 1'h0; // @[JtagShifter.scala 187:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294594.4]
  assign _T_150 = _T_147 & _T_149; // @[JtagShifter.scala 187:7:shc.marmotcaravel.MarmotCaravelConfig.fir@294595.4]
  assign _T_152 = _T_150 | reset; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294597.4]
  assign _T_153 = _T_152 == 1'h0; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294598.4]
  assign io_chainOut_data = regs_0; // @[JtagShifter.scala 158:20:shc.marmotcaravel.MarmotCaravelConfig.fir@294391.4]
  assign io_capture_capture = io_chainIn_capture; // @[JtagShifter.scala 171:24:shc.marmotcaravel.MarmotCaravelConfig.fir@294530.6 JtagShifter.scala 174:24:shc.marmotcaravel.MarmotCaravelConfig.fir@294535.8 JtagShifter.scala 179:24:shc.marmotcaravel.MarmotCaravelConfig.fir@294581.10 JtagShifter.scala 182:24:shc.marmotcaravel.MarmotCaravelConfig.fir@294585.10]
  assign io_update_valid = io_chainIn_capture ? 1'h0 : io_chainIn_update; // @[JtagShifter.scala 172:21:shc.marmotcaravel.MarmotCaravelConfig.fir@294531.6 JtagShifter.scala 175:21:shc.marmotcaravel.MarmotCaravelConfig.fir@294536.8 JtagShifter.scala 180:21:shc.marmotcaravel.MarmotCaravelConfig.fir@294582.10 JtagShifter.scala 183:21:shc.marmotcaravel.MarmotCaravelConfig.fir@294586.10]
  assign io_update_bits_addr = updateBits[40:34]; // @[JtagShifter.scala 161:18:shc.marmotcaravel.MarmotCaravelConfig.fir@294444.4]
  assign io_update_bits_data = updateBits[33:2]; // @[JtagShifter.scala 161:18:shc.marmotcaravel.MarmotCaravelConfig.fir@294444.4]
  assign io_update_bits_op = updateBits[1:0]; // @[JtagShifter.scala 161:18:shc.marmotcaravel.MarmotCaravelConfig.fir@294444.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  regs_0 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  regs_1 = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  regs_2 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  regs_3 = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  regs_4 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  regs_5 = _RAND_5[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  regs_6 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  regs_7 = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  regs_8 = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  regs_9 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  regs_10 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  regs_11 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  regs_12 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  regs_13 = _RAND_13[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  regs_14 = _RAND_14[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  regs_15 = _RAND_15[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  regs_16 = _RAND_16[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_17 = {1{`RANDOM}};
  regs_17 = _RAND_17[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_18 = {1{`RANDOM}};
  regs_18 = _RAND_18[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_19 = {1{`RANDOM}};
  regs_19 = _RAND_19[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_20 = {1{`RANDOM}};
  regs_20 = _RAND_20[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_21 = {1{`RANDOM}};
  regs_21 = _RAND_21[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_22 = {1{`RANDOM}};
  regs_22 = _RAND_22[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_23 = {1{`RANDOM}};
  regs_23 = _RAND_23[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_24 = {1{`RANDOM}};
  regs_24 = _RAND_24[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_25 = {1{`RANDOM}};
  regs_25 = _RAND_25[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_26 = {1{`RANDOM}};
  regs_26 = _RAND_26[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_27 = {1{`RANDOM}};
  regs_27 = _RAND_27[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_28 = {1{`RANDOM}};
  regs_28 = _RAND_28[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_29 = {1{`RANDOM}};
  regs_29 = _RAND_29[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_30 = {1{`RANDOM}};
  regs_30 = _RAND_30[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_31 = {1{`RANDOM}};
  regs_31 = _RAND_31[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_32 = {1{`RANDOM}};
  regs_32 = _RAND_32[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_33 = {1{`RANDOM}};
  regs_33 = _RAND_33[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_34 = {1{`RANDOM}};
  regs_34 = _RAND_34[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_35 = {1{`RANDOM}};
  regs_35 = _RAND_35[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_36 = {1{`RANDOM}};
  regs_36 = _RAND_36[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_37 = {1{`RANDOM}};
  regs_37 = _RAND_37[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_38 = {1{`RANDOM}};
  regs_38 = _RAND_38[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_39 = {1{`RANDOM}};
  regs_39 = _RAND_39[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_40 = {1{`RANDOM}};
  regs_40 = _RAND_40[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (io_chainIn_capture) begin
      regs_0 <= _T_102;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_0 <= regs_1;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_1 <= _T_103;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_1 <= regs_2;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_2 <= _T_104;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_2 <= regs_3;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_3 <= _T_105;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_3 <= regs_4;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_4 <= _T_106;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_4 <= regs_5;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_5 <= _T_107;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_5 <= regs_6;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_6 <= _T_108;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_6 <= regs_7;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_7 <= _T_109;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_7 <= regs_8;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_8 <= _T_110;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_8 <= regs_9;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_9 <= _T_111;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_9 <= regs_10;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_10 <= _T_112;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_10 <= regs_11;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_11 <= _T_113;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_11 <= regs_12;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_12 <= _T_114;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_12 <= regs_13;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_13 <= _T_115;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_13 <= regs_14;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_14 <= _T_116;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_14 <= regs_15;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_15 <= _T_117;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_15 <= regs_16;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_16 <= _T_118;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_16 <= regs_17;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_17 <= _T_119;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_17 <= regs_18;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_18 <= _T_120;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_18 <= regs_19;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_19 <= _T_121;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_19 <= regs_20;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_20 <= _T_122;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_20 <= regs_21;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_21 <= _T_123;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_21 <= regs_22;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_22 <= _T_124;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_22 <= regs_23;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_23 <= _T_125;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_23 <= regs_24;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_24 <= _T_126;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_24 <= regs_25;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_25 <= _T_127;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_25 <= regs_26;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_26 <= _T_128;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_26 <= regs_27;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_27 <= _T_129;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_27 <= regs_28;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_28 <= _T_130;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_28 <= regs_29;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_29 <= _T_131;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_29 <= regs_30;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_30 <= _T_132;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_30 <= regs_31;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_31 <= _T_133;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_31 <= regs_32;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_32 <= _T_134;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_32 <= regs_33;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_33 <= _T_135;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_33 <= regs_34;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_34 <= _T_136;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_34 <= regs_35;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_35 <= _T_137;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_35 <= regs_36;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_36 <= _T_138;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_36 <= regs_37;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_37 <= _T_139;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_37 <= regs_38;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_38 <= _T_140;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_38 <= regs_39;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_39 <= _T_141;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_39 <= regs_40;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_40 <= _T_142;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_40 <= io_chainIn_data;
        end
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_153) begin
          $fwrite(32'h80000002,"Assertion failed\n    at JtagShifter.scala:185 assert(!(io.chainIn.capture && io.chainIn.update)\n"); // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294600.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_153) begin
          $fatal; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294601.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module CaptureChain( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294604.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294605.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294606.4]
  input   io_chainIn_shift, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294607.4]
  input   io_chainIn_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294607.4]
  input   io_chainIn_capture, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294607.4]
  input   io_chainIn_update, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294607.4]
  output  io_chainOut_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294607.4]
);
  reg  regs_0; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294615.4]
  reg [31:0] _RAND_0;
  reg  regs_1; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294616.4]
  reg [31:0] _RAND_1;
  reg  regs_2; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294617.4]
  reg [31:0] _RAND_2;
  reg  regs_3; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294618.4]
  reg [31:0] _RAND_3;
  reg  regs_4; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294619.4]
  reg [31:0] _RAND_4;
  reg  regs_5; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294620.4]
  reg [31:0] _RAND_5;
  reg  regs_6; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294621.4]
  reg [31:0] _RAND_6;
  reg  regs_7; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294622.4]
  reg [31:0] _RAND_7;
  reg  regs_8; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294623.4]
  reg [31:0] _RAND_8;
  reg  regs_9; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294624.4]
  reg [31:0] _RAND_9;
  reg  regs_10; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294625.4]
  reg [31:0] _RAND_10;
  reg  regs_11; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294626.4]
  reg [31:0] _RAND_11;
  reg  regs_12; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294627.4]
  reg [31:0] _RAND_12;
  reg  regs_13; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294628.4]
  reg [31:0] _RAND_13;
  reg  regs_14; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294629.4]
  reg [31:0] _RAND_14;
  reg  regs_15; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294630.4]
  reg [31:0] _RAND_15;
  reg  regs_16; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294631.4]
  reg [31:0] _RAND_16;
  reg  regs_17; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294632.4]
  reg [31:0] _RAND_17;
  reg  regs_18; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294633.4]
  reg [31:0] _RAND_18;
  reg  regs_19; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294634.4]
  reg [31:0] _RAND_19;
  reg  regs_20; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294635.4]
  reg [31:0] _RAND_20;
  reg  regs_21; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294636.4]
  reg [31:0] _RAND_21;
  reg  regs_22; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294637.4]
  reg [31:0] _RAND_22;
  reg  regs_23; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294638.4]
  reg [31:0] _RAND_23;
  reg  regs_24; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294639.4]
  reg [31:0] _RAND_24;
  reg  regs_25; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294640.4]
  reg [31:0] _RAND_25;
  reg  regs_26; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294641.4]
  reg [31:0] _RAND_26;
  reg  regs_27; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294642.4]
  reg [31:0] _RAND_27;
  reg  regs_28; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294643.4]
  reg [31:0] _RAND_28;
  reg  regs_29; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294644.4]
  reg [31:0] _RAND_29;
  reg  regs_30; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294645.4]
  reg [31:0] _RAND_30;
  reg  regs_31; // @[JtagShifter.scala 103:39:shc.marmotcaravel.MarmotCaravelConfig.fir@294646.4]
  reg [31:0] _RAND_31;
  wire  _T_171; // @[JtagShifter.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@294850.4]
  wire  _T_172; // @[JtagShifter.scala 119:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294851.4]
  wire  _T_173; // @[JtagShifter.scala 120:31:shc.marmotcaravel.MarmotCaravelConfig.fir@294852.4]
  wire  _T_174; // @[JtagShifter.scala 120:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294853.4]
  wire  _T_175; // @[JtagShifter.scala 120:7:shc.marmotcaravel.MarmotCaravelConfig.fir@294854.4]
  wire  _T_176; // @[JtagShifter.scala 121:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294855.4]
  wire  _T_177; // @[JtagShifter.scala 121:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294856.4]
  wire  _T_178; // @[JtagShifter.scala 121:7:shc.marmotcaravel.MarmotCaravelConfig.fir@294857.4]
  wire  _T_180; // @[JtagShifter.scala 119:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294859.4]
  wire  _T_181; // @[JtagShifter.scala 119:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294860.4]
  assign _T_171 = io_chainIn_capture & io_chainIn_update; // @[JtagShifter.scala 119:31:shc.marmotcaravel.MarmotCaravelConfig.fir@294850.4]
  assign _T_172 = _T_171 == 1'h0; // @[JtagShifter.scala 119:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294851.4]
  assign _T_173 = io_chainIn_capture & io_chainIn_shift; // @[JtagShifter.scala 120:31:shc.marmotcaravel.MarmotCaravelConfig.fir@294852.4]
  assign _T_174 = _T_173 == 1'h0; // @[JtagShifter.scala 120:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294853.4]
  assign _T_175 = _T_172 & _T_174; // @[JtagShifter.scala 120:7:shc.marmotcaravel.MarmotCaravelConfig.fir@294854.4]
  assign _T_176 = io_chainIn_update & io_chainIn_shift; // @[JtagShifter.scala 121:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294855.4]
  assign _T_177 = _T_176 == 1'h0; // @[JtagShifter.scala 121:10:shc.marmotcaravel.MarmotCaravelConfig.fir@294856.4]
  assign _T_178 = _T_175 & _T_177; // @[JtagShifter.scala 121:7:shc.marmotcaravel.MarmotCaravelConfig.fir@294857.4]
  assign _T_180 = _T_178 | reset; // @[JtagShifter.scala 119:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294859.4]
  assign _T_181 = _T_180 == 1'h0; // @[JtagShifter.scala 119:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294860.4]
  assign io_chainOut_data = regs_0; // @[JtagShifter.scala 105:20:shc.marmotcaravel.MarmotCaravelConfig.fir@294647.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  regs_0 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  regs_1 = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  regs_2 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  regs_3 = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  regs_4 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  regs_5 = _RAND_5[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  regs_6 = _RAND_6[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  regs_7 = _RAND_7[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  regs_8 = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_9 = {1{`RANDOM}};
  regs_9 = _RAND_9[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_10 = {1{`RANDOM}};
  regs_10 = _RAND_10[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_11 = {1{`RANDOM}};
  regs_11 = _RAND_11[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_12 = {1{`RANDOM}};
  regs_12 = _RAND_12[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_13 = {1{`RANDOM}};
  regs_13 = _RAND_13[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_14 = {1{`RANDOM}};
  regs_14 = _RAND_14[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_15 = {1{`RANDOM}};
  regs_15 = _RAND_15[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_16 = {1{`RANDOM}};
  regs_16 = _RAND_16[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_17 = {1{`RANDOM}};
  regs_17 = _RAND_17[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_18 = {1{`RANDOM}};
  regs_18 = _RAND_18[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_19 = {1{`RANDOM}};
  regs_19 = _RAND_19[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_20 = {1{`RANDOM}};
  regs_20 = _RAND_20[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_21 = {1{`RANDOM}};
  regs_21 = _RAND_21[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_22 = {1{`RANDOM}};
  regs_22 = _RAND_22[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_23 = {1{`RANDOM}};
  regs_23 = _RAND_23[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_24 = {1{`RANDOM}};
  regs_24 = _RAND_24[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_25 = {1{`RANDOM}};
  regs_25 = _RAND_25[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_26 = {1{`RANDOM}};
  regs_26 = _RAND_26[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_27 = {1{`RANDOM}};
  regs_27 = _RAND_27[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_28 = {1{`RANDOM}};
  regs_28 = _RAND_28[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_29 = {1{`RANDOM}};
  regs_29 = _RAND_29[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_30 = {1{`RANDOM}};
  regs_30 = _RAND_30[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_31 = {1{`RANDOM}};
  regs_31 = _RAND_31[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (io_chainIn_capture) begin
      regs_0 <= 1'h1;
    end else begin
      if (io_chainIn_shift) begin
        regs_0 <= regs_1;
      end
    end
    if (io_chainIn_capture) begin
      regs_1 <= 1'h1;
    end else begin
      if (io_chainIn_shift) begin
        regs_1 <= regs_2;
      end
    end
    if (io_chainIn_capture) begin
      regs_2 <= 1'h0;
    end else begin
      if (io_chainIn_shift) begin
        regs_2 <= regs_3;
      end
    end
    if (io_chainIn_capture) begin
      regs_3 <= 1'h0;
    end else begin
      if (io_chainIn_shift) begin
        regs_3 <= regs_4;
      end
    end
    if (io_chainIn_capture) begin
      regs_4 <= 1'h1;
    end else begin
      if (io_chainIn_shift) begin
        regs_4 <= regs_5;
      end
    end
    if (io_chainIn_capture) begin
      regs_5 <= 1'h0;
    end else begin
      if (io_chainIn_shift) begin
        regs_5 <= regs_6;
      end
    end
    if (io_chainIn_capture) begin
      regs_6 <= 1'h0;
    end else begin
      if (io_chainIn_shift) begin
        regs_6 <= regs_7;
      end
    end
    if (io_chainIn_capture) begin
      regs_7 <= 1'h0;
    end else begin
      if (io_chainIn_shift) begin
        regs_7 <= regs_8;
      end
    end
    if (io_chainIn_capture) begin
      regs_8 <= 1'h1;
    end else begin
      if (io_chainIn_shift) begin
        regs_8 <= regs_9;
      end
    end
    if (io_chainIn_capture) begin
      regs_9 <= 1'h0;
    end else begin
      if (io_chainIn_shift) begin
        regs_9 <= regs_10;
      end
    end
    if (io_chainIn_capture) begin
      regs_10 <= 1'h0;
    end else begin
      if (io_chainIn_shift) begin
        regs_10 <= regs_11;
      end
    end
    if (io_chainIn_capture) begin
      regs_11 <= 1'h1;
    end else begin
      if (io_chainIn_shift) begin
        regs_11 <= regs_12;
      end
    end
    if (io_chainIn_capture) begin
      regs_12 <= 1'h0;
    end else begin
      if (io_chainIn_shift) begin
        regs_12 <= regs_13;
      end
    end
    if (io_chainIn_capture) begin
      regs_13 <= 1'h0;
    end else begin
      if (io_chainIn_shift) begin
        regs_13 <= regs_14;
      end
    end
    if (io_chainIn_capture) begin
      regs_14 <= 1'h0;
    end else begin
      if (io_chainIn_shift) begin
        regs_14 <= regs_15;
      end
    end
    if (io_chainIn_capture) begin
      regs_15 <= 1'h0;
    end else begin
      if (io_chainIn_shift) begin
        regs_15 <= regs_16;
      end
    end
    if (io_chainIn_capture) begin
      regs_16 <= 1'h0;
    end else begin
      if (io_chainIn_shift) begin
        regs_16 <= regs_17;
      end
    end
    if (io_chainIn_capture) begin
      regs_17 <= 1'h0;
    end else begin
      if (io_chainIn_shift) begin
        regs_17 <= regs_18;
      end
    end
    if (io_chainIn_capture) begin
      regs_18 <= 1'h0;
    end else begin
      if (io_chainIn_shift) begin
        regs_18 <= regs_19;
      end
    end
    if (io_chainIn_capture) begin
      regs_19 <= 1'h0;
    end else begin
      if (io_chainIn_shift) begin
        regs_19 <= regs_20;
      end
    end
    if (io_chainIn_capture) begin
      regs_20 <= 1'h0;
    end else begin
      if (io_chainIn_shift) begin
        regs_20 <= regs_21;
      end
    end
    if (io_chainIn_capture) begin
      regs_21 <= 1'h0;
    end else begin
      if (io_chainIn_shift) begin
        regs_21 <= regs_22;
      end
    end
    if (io_chainIn_capture) begin
      regs_22 <= 1'h0;
    end else begin
      if (io_chainIn_shift) begin
        regs_22 <= regs_23;
      end
    end
    if (io_chainIn_capture) begin
      regs_23 <= 1'h0;
    end else begin
      if (io_chainIn_shift) begin
        regs_23 <= regs_24;
      end
    end
    if (io_chainIn_capture) begin
      regs_24 <= 1'h0;
    end else begin
      if (io_chainIn_shift) begin
        regs_24 <= regs_25;
      end
    end
    if (io_chainIn_capture) begin
      regs_25 <= 1'h0;
    end else begin
      if (io_chainIn_shift) begin
        regs_25 <= regs_26;
      end
    end
    if (io_chainIn_capture) begin
      regs_26 <= 1'h0;
    end else begin
      if (io_chainIn_shift) begin
        regs_26 <= regs_27;
      end
    end
    if (io_chainIn_capture) begin
      regs_27 <= 1'h0;
    end else begin
      if (io_chainIn_shift) begin
        regs_27 <= regs_28;
      end
    end
    if (io_chainIn_capture) begin
      regs_28 <= 1'h0;
    end else begin
      if (io_chainIn_shift) begin
        regs_28 <= regs_29;
      end
    end
    if (io_chainIn_capture) begin
      regs_29 <= 1'h1;
    end else begin
      if (io_chainIn_shift) begin
        regs_29 <= regs_30;
      end
    end
    if (io_chainIn_capture) begin
      regs_30 <= 1'h0;
    end else begin
      if (io_chainIn_shift) begin
        regs_30 <= regs_31;
      end
    end
    if (io_chainIn_capture) begin
      regs_31 <= 1'h0;
    end else begin
      if (io_chainIn_shift) begin
        regs_31 <= io_chainIn_data;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_181) begin
          $fwrite(32'h80000002,"Assertion failed\n    at JtagShifter.scala:119 assert(!(io.chainIn.capture && io.chainIn.update)\n"); // @[JtagShifter.scala 119:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294862.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_181) begin
          $fatal; // @[JtagShifter.scala 119:9:shc.marmotcaravel.MarmotCaravelConfig.fir@294863.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module AsyncResetRegVec_w4_i15( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294906.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294907.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294908.4]
  input  [3:0] io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294909.4]
  output [3:0] io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294909.4]
);
  wire  reg_0_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294914.4]
  wire  reg_0_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294914.4]
  wire  reg_0_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294914.4]
  wire  reg_0_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294914.4]
  wire  reg_0_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294914.4]
  wire  reg_1_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294920.4]
  wire  reg_1_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294920.4]
  wire  reg_1_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294920.4]
  wire  reg_1_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294920.4]
  wire  reg_1_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294920.4]
  wire  reg_2_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294926.4]
  wire  reg_2_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294926.4]
  wire  reg_2_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294926.4]
  wire  reg_2_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294926.4]
  wire  reg_2_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294926.4]
  wire  reg_3_rst; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294932.4]
  wire  reg_3_clk; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294932.4]
  wire  reg_3_en; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294932.4]
  wire  reg_3_q; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294932.4]
  wire  reg_3_d; // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294932.4]
  wire [1:0] _T_11; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294958.4]
  wire [1:0] _T_12; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294959.4]
  AsyncResetReg #(.RESET_VALUE(1)) reg_0 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294914.4]
    .rst(reg_0_rst),
    .clk(reg_0_clk),
    .en(reg_0_en),
    .q(reg_0_q),
    .d(reg_0_d)
  );
  AsyncResetReg #(.RESET_VALUE(1)) reg_1 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294920.4]
    .rst(reg_1_rst),
    .clk(reg_1_clk),
    .en(reg_1_en),
    .q(reg_1_q),
    .d(reg_1_d)
  );
  AsyncResetReg #(.RESET_VALUE(1)) reg_2 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294926.4]
    .rst(reg_2_rst),
    .clk(reg_2_clk),
    .en(reg_2_en),
    .q(reg_2_q),
    .d(reg_2_d)
  );
  AsyncResetReg #(.RESET_VALUE(1)) reg_3 ( // @[AsyncResetReg.scala 61:11:shc.marmotcaravel.MarmotCaravelConfig.fir@294932.4]
    .rst(reg_3_rst),
    .clk(reg_3_clk),
    .en(reg_3_en),
    .q(reg_3_q),
    .d(reg_3_d)
  );
  assign _T_11 = {reg_1_q,reg_0_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294958.4]
  assign _T_12 = {reg_3_q,reg_2_q}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@294959.4]
  assign io_q = {_T_12,_T_11}; // @[AsyncResetReg.scala 73:8:shc.marmotcaravel.MarmotCaravelConfig.fir@294961.4]
  assign reg_0_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294939.4]
  assign reg_0_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294938.4]
  assign reg_0_en = 1'h1; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294942.4]
  assign reg_0_d = io_d[0]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294941.4]
  assign reg_1_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294944.4]
  assign reg_1_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294943.4]
  assign reg_1_en = 1'h1; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294947.4]
  assign reg_1_d = io_d[1]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294946.4]
  assign reg_2_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294949.4]
  assign reg_2_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294948.4]
  assign reg_2_en = 1'h1; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294952.4]
  assign reg_2_d = io_d[2]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294951.4]
  assign reg_3_rst = reset; // @[AsyncResetReg.scala 66:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294954.4]
  assign reg_3_clk = clock; // @[AsyncResetReg.scala 65:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294953.4]
  assign reg_3_en = 1'h1; // @[AsyncResetReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294957.4]
  assign reg_3_d = io_d[3]; // @[AsyncResetReg.scala 67:16:shc.marmotcaravel.MarmotCaravelConfig.fir@294956.4]
endmodule
module JtagStateMachine( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294963.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294964.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294965.4]
  input        io_tms, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294966.4]
  output [3:0] io_currState // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294966.4]
);
  wire  currStateReg_clock; // @[JtagStateMachine.scala 82:29:shc.marmotcaravel.MarmotCaravelConfig.fir@294973.4]
  wire  currStateReg_reset; // @[JtagStateMachine.scala 82:29:shc.marmotcaravel.MarmotCaravelConfig.fir@294973.4]
  wire [3:0] currStateReg_io_d; // @[JtagStateMachine.scala 82:29:shc.marmotcaravel.MarmotCaravelConfig.fir@294973.4]
  wire [3:0] currStateReg_io_q; // @[JtagStateMachine.scala 82:29:shc.marmotcaravel.MarmotCaravelConfig.fir@294973.4]
  wire  _T_10; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294979.4]
  wire [3:0] _T_11; // @[JtagStateMachine.scala 90:23:shc.marmotcaravel.MarmotCaravelConfig.fir@294981.6]
  wire  _T_12; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294985.6]
  wire [3:0] _T_13; // @[JtagStateMachine.scala 93:23:shc.marmotcaravel.MarmotCaravelConfig.fir@294987.8]
  wire  _T_14; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294991.8]
  wire [3:0] _T_15; // @[JtagStateMachine.scala 96:23:shc.marmotcaravel.MarmotCaravelConfig.fir@294993.10]
  wire  _T_16; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294997.10]
  wire [3:0] _T_17; // @[JtagStateMachine.scala 99:23:shc.marmotcaravel.MarmotCaravelConfig.fir@294999.12]
  wire  _T_18; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295003.12]
  wire  _T_20; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295009.14]
  wire [3:0] _T_21; // @[JtagStateMachine.scala 105:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295011.16]
  wire  _T_22; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295015.16]
  wire [3:0] _T_23; // @[JtagStateMachine.scala 108:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295017.18]
  wire  _T_24; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295021.18]
  wire [3:0] _T_25; // @[JtagStateMachine.scala 111:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295023.20]
  wire  _T_26; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.20]
  wire  _T_28; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295033.22]
  wire [3:0] _T_29; // @[JtagStateMachine.scala 117:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295035.24]
  wire  _T_30; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295039.24]
  wire [3:0] _T_31; // @[JtagStateMachine.scala 120:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295041.26]
  wire  _T_32; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295045.26]
  wire  _T_34; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295051.28]
  wire [3:0] _T_35; // @[JtagStateMachine.scala 126:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295053.30]
  wire  _T_36; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295057.30]
  wire [3:0] _T_37; // @[JtagStateMachine.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295059.32]
  wire  _T_38; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295063.32]
  wire [3:0] _T_39; // @[JtagStateMachine.scala 132:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295065.34]
  wire [3:0] _GEN_1; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295064.32]
  wire [3:0] _GEN_2; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295058.30]
  wire [3:0] _GEN_3; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295052.28]
  wire [3:0] _GEN_4; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295046.26]
  wire [3:0] _GEN_5; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295040.24]
  wire [3:0] _GEN_6; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295034.22]
  wire [3:0] _GEN_7; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295028.20]
  wire [3:0] _GEN_8; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295022.18]
  wire [3:0] _GEN_9; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295016.16]
  wire [3:0] _GEN_10; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295010.14]
  wire [3:0] _GEN_11; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295004.12]
  wire [3:0] _GEN_12; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@294998.10]
  wire [3:0] _GEN_13; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@294992.8]
  wire [3:0] _GEN_14; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@294986.6]
  AsyncResetRegVec_w4_i15 currStateReg ( // @[JtagStateMachine.scala 82:29:shc.marmotcaravel.MarmotCaravelConfig.fir@294973.4]
    .clock(currStateReg_clock),
    .reset(currStateReg_reset),
    .io_d(currStateReg_io_d),
    .io_q(currStateReg_io_q)
  );
  assign _T_10 = 4'hf == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294979.4]
  assign _T_11 = io_tms ? 4'hf : 4'hc; // @[JtagStateMachine.scala 90:23:shc.marmotcaravel.MarmotCaravelConfig.fir@294981.6]
  assign _T_12 = 4'hc == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294985.6]
  assign _T_13 = io_tms ? 4'h7 : 4'hc; // @[JtagStateMachine.scala 93:23:shc.marmotcaravel.MarmotCaravelConfig.fir@294987.8]
  assign _T_14 = 4'h7 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294991.8]
  assign _T_15 = io_tms ? 4'h4 : 4'h6; // @[JtagStateMachine.scala 96:23:shc.marmotcaravel.MarmotCaravelConfig.fir@294993.10]
  assign _T_16 = 4'h6 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@294997.10]
  assign _T_17 = io_tms ? 4'h1 : 4'h2; // @[JtagStateMachine.scala 99:23:shc.marmotcaravel.MarmotCaravelConfig.fir@294999.12]
  assign _T_18 = 4'h2 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295003.12]
  assign _T_20 = 4'h1 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295009.14]
  assign _T_21 = io_tms ? 4'h5 : 4'h3; // @[JtagStateMachine.scala 105:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295011.16]
  assign _T_22 = 4'h3 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295015.16]
  assign _T_23 = io_tms ? 4'h0 : 4'h3; // @[JtagStateMachine.scala 108:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295017.18]
  assign _T_24 = 4'h0 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295021.18]
  assign _T_25 = io_tms ? 4'h5 : 4'h2; // @[JtagStateMachine.scala 111:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295023.20]
  assign _T_26 = 4'h5 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295027.20]
  assign _T_28 = 4'h4 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295033.22]
  assign _T_29 = io_tms ? 4'hf : 4'he; // @[JtagStateMachine.scala 117:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295035.24]
  assign _T_30 = 4'he == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295039.24]
  assign _T_31 = io_tms ? 4'h9 : 4'ha; // @[JtagStateMachine.scala 120:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295041.26]
  assign _T_32 = 4'ha == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295045.26]
  assign _T_34 = 4'h9 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295051.28]
  assign _T_35 = io_tms ? 4'hd : 4'hb; // @[JtagStateMachine.scala 126:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295053.30]
  assign _T_36 = 4'hb == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295057.30]
  assign _T_37 = io_tms ? 4'h8 : 4'hb; // @[JtagStateMachine.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295059.32]
  assign _T_38 = 4'h8 == currStateReg_io_q; // @[Conditional.scala 37:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295063.32]
  assign _T_39 = io_tms ? 4'hd : 4'ha; // @[JtagStateMachine.scala 132:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295065.34]
  assign _GEN_1 = _T_38 ? _T_39 : _T_13; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295064.32]
  assign _GEN_2 = _T_36 ? _T_37 : _GEN_1; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295058.30]
  assign _GEN_3 = _T_34 ? _T_35 : _GEN_2; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295052.28]
  assign _GEN_4 = _T_32 ? _T_31 : _GEN_3; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295046.26]
  assign _GEN_5 = _T_30 ? _T_31 : _GEN_4; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295040.24]
  assign _GEN_6 = _T_28 ? _T_29 : _GEN_5; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295034.22]
  assign _GEN_7 = _T_26 ? _T_13 : _GEN_6; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295028.20]
  assign _GEN_8 = _T_24 ? _T_25 : _GEN_7; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295022.18]
  assign _GEN_9 = _T_22 ? _T_23 : _GEN_8; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295016.16]
  assign _GEN_10 = _T_20 ? _T_21 : _GEN_9; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295010.14]
  assign _GEN_11 = _T_18 ? _T_17 : _GEN_10; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@295004.12]
  assign _GEN_12 = _T_16 ? _T_17 : _GEN_11; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@294998.10]
  assign _GEN_13 = _T_14 ? _T_15 : _GEN_12; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@294992.8]
  assign _GEN_14 = _T_12 ? _T_13 : _GEN_13; // @[Conditional.scala 39:67:shc.marmotcaravel.MarmotCaravelConfig.fir@294986.6]
  assign io_currState = currStateReg_io_q; // @[JtagStateMachine.scala 139:16:shc.marmotcaravel.MarmotCaravelConfig.fir@295074.4]
  assign currStateReg_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294975.4]
  assign currStateReg_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@294976.4]
  assign currStateReg_io_d = _T_10 ? _T_11 : _GEN_14; // @[JtagStateMachine.scala 85:22:shc.marmotcaravel.MarmotCaravelConfig.fir@294978.4]
endmodule
module CaptureUpdateChain_2( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295236.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295237.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295238.4]
  input        io_chainIn_shift, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295239.4]
  input        io_chainIn_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295239.4]
  input        io_chainIn_capture, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295239.4]
  input        io_chainIn_update, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295239.4]
  output       io_chainOut_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295239.4]
  output [4:0] io_update_bits // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295239.4]
);
  reg  regs_0; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@295247.4]
  reg [31:0] _RAND_0;
  reg  regs_1; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@295248.4]
  reg [31:0] _RAND_1;
  reg  regs_2; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@295249.4]
  reg [31:0] _RAND_2;
  reg  regs_3; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@295250.4]
  reg [31:0] _RAND_3;
  reg  regs_4; // @[JtagShifter.scala 156:39:shc.marmotcaravel.MarmotCaravelConfig.fir@295251.4]
  reg [31:0] _RAND_4;
  wire [1:0] _T_18; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@295253.4]
  wire [1:0] _T_19; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@295254.4]
  wire [2:0] _T_20; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@295255.4]
  wire  _T_29; // @[JtagShifter.scala 185:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295295.4]
  wire  _T_30; // @[JtagShifter.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295296.4]
  wire  _T_31; // @[JtagShifter.scala 186:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295297.4]
  wire  _T_32; // @[JtagShifter.scala 186:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295298.4]
  wire  _T_33; // @[JtagShifter.scala 186:7:shc.marmotcaravel.MarmotCaravelConfig.fir@295299.4]
  wire  _T_34; // @[JtagShifter.scala 187:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295300.4]
  wire  _T_35; // @[JtagShifter.scala 187:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295301.4]
  wire  _T_36; // @[JtagShifter.scala 187:7:shc.marmotcaravel.MarmotCaravelConfig.fir@295302.4]
  wire  _T_38; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295304.4]
  wire  _T_39; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295305.4]
  assign _T_18 = {regs_1,regs_0}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@295253.4]
  assign _T_19 = {regs_4,regs_3}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@295254.4]
  assign _T_20 = {_T_19,regs_2}; // @[Cat.scala 30:58:shc.marmotcaravel.MarmotCaravelConfig.fir@295255.4]
  assign _T_29 = io_chainIn_capture & io_chainIn_update; // @[JtagShifter.scala 185:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295295.4]
  assign _T_30 = _T_29 == 1'h0; // @[JtagShifter.scala 185:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295296.4]
  assign _T_31 = io_chainIn_capture & io_chainIn_shift; // @[JtagShifter.scala 186:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295297.4]
  assign _T_32 = _T_31 == 1'h0; // @[JtagShifter.scala 186:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295298.4]
  assign _T_33 = _T_30 & _T_32; // @[JtagShifter.scala 186:7:shc.marmotcaravel.MarmotCaravelConfig.fir@295299.4]
  assign _T_34 = io_chainIn_update & io_chainIn_shift; // @[JtagShifter.scala 187:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295300.4]
  assign _T_35 = _T_34 == 1'h0; // @[JtagShifter.scala 187:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295301.4]
  assign _T_36 = _T_33 & _T_35; // @[JtagShifter.scala 187:7:shc.marmotcaravel.MarmotCaravelConfig.fir@295302.4]
  assign _T_38 = _T_36 | reset; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295304.4]
  assign _T_39 = _T_38 == 1'h0; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295305.4]
  assign io_chainOut_data = regs_0; // @[JtagShifter.scala 158:20:shc.marmotcaravel.MarmotCaravelConfig.fir@295252.4]
  assign io_update_bits = {_T_20,_T_18}; // @[JtagShifter.scala 161:18:shc.marmotcaravel.MarmotCaravelConfig.fir@295261.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  regs_0 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  regs_1 = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  regs_2 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  regs_3 = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  regs_4 = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (io_chainIn_capture) begin
      regs_0 <= 1'h1;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_0 <= regs_1;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_1 <= 1'h0;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_1 <= regs_2;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_2 <= 1'h0;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_2 <= regs_3;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_3 <= 1'h0;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_3 <= regs_4;
        end
      end
    end
    if (io_chainIn_capture) begin
      regs_4 <= 1'h0;
    end else begin
      if (!(io_chainIn_update)) begin
        if (io_chainIn_shift) begin
          regs_4 <= io_chainIn_data;
        end
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_39) begin
          $fwrite(32'h80000002,"Assertion failed\n    at JtagShifter.scala:185 assert(!(io.chainIn.capture && io.chainIn.update)\n"); // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295307.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_39) begin
          $fatal; // @[JtagShifter.scala 185:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295308.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module JtagTapController( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295311.2]
  input        clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295312.4]
  input        reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295313.4]
  input        io_jtag_TMS, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295314.4]
  input        io_jtag_TDI, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295314.4]
  output       io_jtag_TDO_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295314.4]
  output       io_jtag_TDO_driven, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295314.4]
  input        io_control_jtag_reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295314.4]
  output [4:0] io_output_instruction, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295314.4]
  output       io_output_reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295314.4]
  output       io_dataChainOut_shift, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295314.4]
  output       io_dataChainOut_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295314.4]
  output       io_dataChainOut_capture, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295314.4]
  output       io_dataChainOut_update, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295314.4]
  input        io_dataChainIn_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295314.4]
);
  wire  stateMachine_clock; // @[JtagTap.scala 90:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295341.4]
  wire  stateMachine_reset; // @[JtagTap.scala 90:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295341.4]
  wire  stateMachine_io_tms; // @[JtagTap.scala 90:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295341.4]
  wire [3:0] stateMachine_io_currState; // @[JtagTap.scala 90:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295341.4]
  wire  irChain_clock; // @[JtagTap.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295348.4]
  wire  irChain_reset; // @[JtagTap.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295348.4]
  wire  irChain_io_chainIn_shift; // @[JtagTap.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295348.4]
  wire  irChain_io_chainIn_data; // @[JtagTap.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295348.4]
  wire  irChain_io_chainIn_capture; // @[JtagTap.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295348.4]
  wire  irChain_io_chainIn_update; // @[JtagTap.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295348.4]
  wire  irChain_io_chainOut_data; // @[JtagTap.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295348.4]
  wire [4:0] irChain_io_update_bits; // @[JtagTap.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295348.4]
  wire  _T_37; // @[Utils.scala 21:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295323.4]
  wire  _T_38; // @[Utils.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@295324.4]
  wire  _T_39; // @[Utils.scala 21:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295325.4]
  reg  tdoReg; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@295326.4]
  reg [31:0] _RAND_0;
  wire [3:0] currState; // @[JtagTap.scala 83:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295339.4 JtagTap.scala 93:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295346.4]
  wire  _T_62; // @[JtagTap.scala 142:19:shc.marmotcaravel.MarmotCaravelConfig.fir@295395.4]
  wire  _T_63; // @[JtagTap.scala 145:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295401.6]
  wire  _GEN_7; // @[JtagTap.scala 145:51:shc.marmotcaravel.MarmotCaravelConfig.fir@295402.6]
  reg  tdoeReg; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@295334.4]
  reg [31:0] _RAND_1;
  wire  _T_49; // @[JtagTap.scala 108:42:shc.marmotcaravel.MarmotCaravelConfig.fir@295357.4]
  reg [4:0] irReg; // @[Reg.scala 11:16:shc.marmotcaravel.MarmotCaravelConfig.fir@295367.4]
  reg [31:0] _RAND_2;
  wire  updateInstruction; // @[JtagTap.scala 116:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295372.4]
  wire [4:0] _GEN_3; // @[JtagTap.scala 119:52:shc.marmotcaravel.MarmotCaravelConfig.fir@295378.6]
  JtagStateMachine stateMachine ( // @[JtagTap.scala 90:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295341.4]
    .clock(stateMachine_clock),
    .reset(stateMachine_reset),
    .io_tms(stateMachine_io_tms),
    .io_currState(stateMachine_io_currState)
  );
  CaptureUpdateChain_2 irChain ( // @[JtagTap.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295348.4]
    .clock(irChain_clock),
    .reset(irChain_reset),
    .io_chainIn_shift(irChain_io_chainIn_shift),
    .io_chainIn_data(irChain_io_chainIn_data),
    .io_chainIn_capture(irChain_io_chainIn_capture),
    .io_chainIn_update(irChain_io_chainIn_update),
    .io_chainOut_data(irChain_io_chainOut_data),
    .io_update_bits(irChain_io_update_bits)
  );
  assign _T_37 = $unsigned(clock); // @[Utils.scala 21:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295323.4]
  assign _T_38 = _T_37 == 1'h0; // @[Utils.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@295324.4]
  assign _T_39 = _T_38; // @[Utils.scala 21:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295325.4]
  assign currState = stateMachine_io_currState; // @[JtagTap.scala 83:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295339.4 JtagTap.scala 93:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295346.4]
  assign _T_62 = currState == 4'h2; // @[JtagTap.scala 142:19:shc.marmotcaravel.MarmotCaravelConfig.fir@295395.4]
  assign _T_63 = currState == 4'ha; // @[JtagTap.scala 145:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295401.6]
  assign _GEN_7 = irChain_io_chainOut_data; // @[JtagTap.scala 145:51:shc.marmotcaravel.MarmotCaravelConfig.fir@295402.6]
  assign _T_49 = currState == 4'hd; // @[JtagTap.scala 108:42:shc.marmotcaravel.MarmotCaravelConfig.fir@295357.4]
  assign updateInstruction = reset ? 1'h1 : _T_49; // @[JtagTap.scala 116:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295372.4]
  assign _GEN_3 = irChain_io_update_bits; // @[JtagTap.scala 119:52:shc.marmotcaravel.MarmotCaravelConfig.fir@295378.6]
  assign io_jtag_TDO_data = tdoReg; // @[JtagTap.scala 76:20:shc.marmotcaravel.MarmotCaravelConfig.fir@295330.4]
  assign io_jtag_TDO_driven = tdoeReg; // @[JtagTap.scala 77:22:shc.marmotcaravel.MarmotCaravelConfig.fir@295338.4]
  assign io_output_instruction = irReg; // @[JtagTap.scala 127:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295385.4]
  assign io_output_reset = currState == 4'hf; // @[JtagTap.scala 129:19:shc.marmotcaravel.MarmotCaravelConfig.fir@295387.4]
  assign io_dataChainOut_shift = currState == 4'h2; // @[JtagTap.scala 134:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295389.4]
  assign io_dataChainOut_data = io_jtag_TDI; // @[JtagTap.scala 135:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295390.4]
  assign io_dataChainOut_capture = currState == 4'h6; // @[JtagTap.scala 136:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295392.4]
  assign io_dataChainOut_update = currState == 4'h5; // @[JtagTap.scala 137:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295394.4]
  assign stateMachine_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295343.4]
  assign stateMachine_reset = io_control_jtag_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295344.4]
  assign stateMachine_io_tms = io_jtag_TMS; // @[JtagTap.scala 92:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295345.4]
  assign irChain_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295350.4]
  assign irChain_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295351.4]
  assign irChain_io_chainIn_shift = currState == 4'ha; // @[JtagTap.scala 105:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295353.4]
  assign irChain_io_chainIn_data = io_jtag_TDI; // @[JtagTap.scala 106:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295354.4]
  assign irChain_io_chainIn_capture = currState == 4'he; // @[JtagTap.scala 107:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295356.4]
  assign irChain_io_chainIn_update = currState == 4'hd; // @[JtagTap.scala 108:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295358.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  tdoReg = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  tdoeReg = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  irReg = _RAND_2[4:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge _T_39) begin
    if (_T_62) begin
      tdoReg <= io_dataChainIn_data;
    end else begin
      tdoReg <= _GEN_7;
    end
    if (_T_62) begin
      tdoeReg <= 1'h1;
    end else begin
      tdoeReg <= _T_63;
    end
    if (updateInstruction) begin
      if (reset) begin
        irReg <= 5'h1;
      end else begin
        irReg <= _GEN_3;
      end
    end
  end
endmodule
module JtagBypassChain( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295410.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295411.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295412.4]
  input   io_chainIn_shift, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295413.4]
  input   io_chainIn_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295413.4]
  input   io_chainIn_capture, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295413.4]
  input   io_chainIn_update, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295413.4]
  output  io_chainOut_data // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295413.4]
);
  reg  reg$; // @[JtagShifter.scala 63:16:shc.marmotcaravel.MarmotCaravelConfig.fir@295421.4]
  reg [31:0] _RAND_0;
  wire  _T_10; // @[JtagShifter.scala 74:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295430.4]
  wire  _T_11; // @[JtagShifter.scala 74:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295431.4]
  wire  _T_12; // @[JtagShifter.scala 75:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295432.4]
  wire  _T_13; // @[JtagShifter.scala 75:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295433.4]
  wire  _T_14; // @[JtagShifter.scala 75:7:shc.marmotcaravel.MarmotCaravelConfig.fir@295434.4]
  wire  _T_15; // @[JtagShifter.scala 76:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295435.4]
  wire  _T_16; // @[JtagShifter.scala 76:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295436.4]
  wire  _T_17; // @[JtagShifter.scala 76:7:shc.marmotcaravel.MarmotCaravelConfig.fir@295437.4]
  wire  _T_19; // @[JtagShifter.scala 74:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295439.4]
  wire  _T_20; // @[JtagShifter.scala 74:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295440.4]
  assign _T_10 = io_chainIn_capture & io_chainIn_update; // @[JtagShifter.scala 74:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295430.4]
  assign _T_11 = _T_10 == 1'h0; // @[JtagShifter.scala 74:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295431.4]
  assign _T_12 = io_chainIn_capture & io_chainIn_shift; // @[JtagShifter.scala 75:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295432.4]
  assign _T_13 = _T_12 == 1'h0; // @[JtagShifter.scala 75:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295433.4]
  assign _T_14 = _T_11 & _T_13; // @[JtagShifter.scala 75:7:shc.marmotcaravel.MarmotCaravelConfig.fir@295434.4]
  assign _T_15 = io_chainIn_update & io_chainIn_shift; // @[JtagShifter.scala 76:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295435.4]
  assign _T_16 = _T_15 == 1'h0; // @[JtagShifter.scala 76:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295436.4]
  assign _T_17 = _T_14 & _T_16; // @[JtagShifter.scala 76:7:shc.marmotcaravel.MarmotCaravelConfig.fir@295437.4]
  assign _T_19 = _T_17 | reset; // @[JtagShifter.scala 74:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295439.4]
  assign _T_20 = _T_19 == 1'h0; // @[JtagShifter.scala 74:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295440.4]
  assign io_chainOut_data = reg$; // @[JtagShifter.scala 65:20:shc.marmotcaravel.MarmotCaravelConfig.fir@295422.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  reg$ = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (io_chainIn_capture) begin
      reg$ <= 1'h0;
    end else begin
      if (io_chainIn_shift) begin
        reg$ <= io_chainIn_data;
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_20) begin
          $fwrite(32'h80000002,"Assertion failed\n    at JtagShifter.scala:74 assert(!(io.chainIn.capture && io.chainIn.update)\n"); // @[JtagShifter.scala 74:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295442.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_20) begin
          $fatal; // @[JtagShifter.scala 74:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295443.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module DebugTransportModuleJTAG( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295446.2]
  input         clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295447.4]
  input         reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295448.4]
  input         io_dmi_req_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
  output        io_dmi_req_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
  output [6:0]  io_dmi_req_bits_addr, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
  output [31:0] io_dmi_req_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
  output [1:0]  io_dmi_req_bits_op, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
  output        io_dmi_resp_ready, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
  input         io_dmi_resp_valid, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
  input  [31:0] io_dmi_resp_bits_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
  input  [1:0]  io_dmi_resp_bits_resp, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
  input         io_jtag_TMS, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
  input         io_jtag_TDI, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
  output        io_jtag_TDO_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
  output        io_jtag_TDO_driven, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
  input         io_jtag_reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
  output        io_fsmReset // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295449.4]
);
  wire  dtmInfoChain_clock; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295487.4]
  wire  dtmInfoChain_reset; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295487.4]
  wire  dtmInfoChain_io_chainIn_shift; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295487.4]
  wire  dtmInfoChain_io_chainIn_data; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295487.4]
  wire  dtmInfoChain_io_chainIn_capture; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295487.4]
  wire  dtmInfoChain_io_chainIn_update; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295487.4]
  wire  dtmInfoChain_io_chainOut_data; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295487.4]
  wire [1:0] dtmInfoChain_io_capture_bits_dmiStatus; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295487.4]
  wire  dtmInfoChain_io_update_valid; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295487.4]
  wire  dtmInfoChain_io_update_bits_dmireset; // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295487.4]
  wire  dmiAccessChain_clock; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
  wire  dmiAccessChain_reset; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
  wire  dmiAccessChain_io_chainIn_shift; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
  wire  dmiAccessChain_io_chainIn_data; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
  wire  dmiAccessChain_io_chainIn_capture; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
  wire  dmiAccessChain_io_chainIn_update; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
  wire  dmiAccessChain_io_chainOut_data; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
  wire [6:0] dmiAccessChain_io_capture_bits_addr; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
  wire [31:0] dmiAccessChain_io_capture_bits_data; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
  wire [1:0] dmiAccessChain_io_capture_bits_resp; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
  wire  dmiAccessChain_io_capture_capture; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
  wire  dmiAccessChain_io_update_valid; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
  wire [6:0] dmiAccessChain_io_update_bits_addr; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
  wire [31:0] dmiAccessChain_io_update_bits_data; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
  wire [1:0] dmiAccessChain_io_update_bits_op; // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
  wire  idcodeChain_clock; // @[JtagTap.scala 189:33:shc.marmotcaravel.MarmotCaravelConfig.fir@295645.4]
  wire  idcodeChain_reset; // @[JtagTap.scala 189:33:shc.marmotcaravel.MarmotCaravelConfig.fir@295645.4]
  wire  idcodeChain_io_chainIn_shift; // @[JtagTap.scala 189:33:shc.marmotcaravel.MarmotCaravelConfig.fir@295645.4]
  wire  idcodeChain_io_chainIn_data; // @[JtagTap.scala 189:33:shc.marmotcaravel.MarmotCaravelConfig.fir@295645.4]
  wire  idcodeChain_io_chainIn_capture; // @[JtagTap.scala 189:33:shc.marmotcaravel.MarmotCaravelConfig.fir@295645.4]
  wire  idcodeChain_io_chainIn_update; // @[JtagTap.scala 189:33:shc.marmotcaravel.MarmotCaravelConfig.fir@295645.4]
  wire  idcodeChain_io_chainOut_data; // @[JtagTap.scala 189:33:shc.marmotcaravel.MarmotCaravelConfig.fir@295645.4]
  wire  JtagTapController_clock; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
  wire  JtagTapController_reset; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
  wire  JtagTapController_io_jtag_TMS; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
  wire  JtagTapController_io_jtag_TDI; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
  wire  JtagTapController_io_jtag_TDO_data; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
  wire  JtagTapController_io_jtag_TDO_driven; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
  wire  JtagTapController_io_control_jtag_reset; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
  wire [4:0] JtagTapController_io_output_instruction; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
  wire  JtagTapController_io_output_reset; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
  wire  JtagTapController_io_dataChainOut_shift; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
  wire  JtagTapController_io_dataChainOut_data; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
  wire  JtagTapController_io_dataChainOut_capture; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
  wire  JtagTapController_io_dataChainOut_update; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
  wire  JtagTapController_io_dataChainIn_data; // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
  wire  JtagBypassChain_clock; // @[JtagTap.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295686.4]
  wire  JtagBypassChain_reset; // @[JtagTap.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295686.4]
  wire  JtagBypassChain_io_chainIn_shift; // @[JtagTap.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295686.4]
  wire  JtagBypassChain_io_chainIn_data; // @[JtagTap.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295686.4]
  wire  JtagBypassChain_io_chainIn_capture; // @[JtagTap.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295686.4]
  wire  JtagBypassChain_io_chainIn_update; // @[JtagTap.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295686.4]
  wire  JtagBypassChain_io_chainOut_data; // @[JtagTap.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295686.4]
  reg  busyReg; // @[DebugTransport.scala 87:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295456.4]
  reg [31:0] _RAND_0;
  reg  stickyBusyReg; // @[DebugTransport.scala 88:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295457.4]
  reg [31:0] _RAND_1;
  reg  stickyNonzeroRespReg; // @[DebugTransport.scala 89:37:shc.marmotcaravel.MarmotCaravelConfig.fir@295458.4]
  reg [31:0] _RAND_2;
  reg  skipOpReg; // @[DebugTransport.scala 91:22:shc.marmotcaravel.MarmotCaravelConfig.fir@295459.4]
  reg [31:0] _RAND_3;
  reg  downgradeOpReg; // @[DebugTransport.scala 92:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295460.4]
  reg [31:0] _RAND_4;
  reg [6:0] dmiReqReg_addr; // @[DebugTransport.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295473.4]
  reg [31:0] _RAND_5;
  reg [31:0] dmiReqReg_data; // @[DebugTransport.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295473.4]
  reg [31:0] _RAND_6;
  reg [1:0] dmiReqReg_op; // @[DebugTransport.scala 103:23:shc.marmotcaravel.MarmotCaravelConfig.fir@295473.4]
  reg [31:0] _RAND_7;
  reg  dmiReqValidReg; // @[DebugTransport.scala 104:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295474.4]
  reg [31:0] _RAND_8;
  wire  _T_40; // @[DebugTransport.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@295477.4]
  wire  _T_45; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@295499.4]
  wire  _T_46; // @[DebugTransport.scala 148:22:shc.marmotcaravel.MarmotCaravelConfig.fir@295503.4]
  wire  _T_47; // @[DebugTransport.scala 148:20:shc.marmotcaravel.MarmotCaravelConfig.fir@295504.4]
  wire  busy; // @[DebugTransport.scala 148:42:shc.marmotcaravel.MarmotCaravelConfig.fir@295505.4]
  wire  _T_49; // @[DebugTransport.scala 159:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295513.6]
  wire  _T_51; // @[DebugTransport.scala 176:85:shc.marmotcaravel.MarmotCaravelConfig.fir@295525.4]
  wire  _T_52; // @[DebugTransport.scala 176:60:shc.marmotcaravel.MarmotCaravelConfig.fir@295526.4]
  wire  nonzeroResp; // @[DebugTransport.scala 176:39:shc.marmotcaravel.MarmotCaravelConfig.fir@295527.4]
  wire  _T_50; // @[DebugTransport.scala 159:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295514.6]
  wire  _T_54; // @[DebugTransport.scala 177:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295529.4]
  wire  _T_56; // @[DebugTransport.scala 177:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295531.4]
  wire  _T_57; // @[DebugTransport.scala 177:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295532.4]
  wire  _T_58; // @[DebugTransport.scala 178:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295537.4]
  wire  _T_60; // @[DebugTransport.scala 178:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295539.4]
  wire  _T_61; // @[DebugTransport.scala 178:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295540.4]
  wire [6:0] _T_63_addr; // @[DebugTransport.scala 195:60:shc.marmotcaravel.MarmotCaravelConfig.fir@295555.4]
  wire [31:0] _T_63_data; // @[DebugTransport.scala 195:60:shc.marmotcaravel.MarmotCaravelConfig.fir@295555.4]
  wire [1:0] _T_63_resp; // @[DebugTransport.scala 195:60:shc.marmotcaravel.MarmotCaravelConfig.fir@295555.4]
  wire  _T_68; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@295573.4]
  wire  _T_74; // @[DebugTransport.scala 216:69:shc.marmotcaravel.MarmotCaravelConfig.fir@295587.8]
  wire  _T_75; // @[DebugTransport.scala 216:32:shc.marmotcaravel.MarmotCaravelConfig.fir@295588.8]
  wire  _GEN_22; // @[DebugTransport.scala 216:97:shc.marmotcaravel.MarmotCaravelConfig.fir@295589.8]
  wire  _GEN_27; // @[DebugTransport.scala 214:22:shc.marmotcaravel.MarmotCaravelConfig.fir@295584.6]
  wire  dmiReqValidCheck; // @[DebugTransport.scala 213:41:shc.marmotcaravel.MarmotCaravelConfig.fir@295583.4]
  wire  _T_69; // @[DebugTransport.scala 211:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295574.4]
  wire  _T_70; // @[DebugTransport.scala 211:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295575.4]
  wire  _T_72; // @[DebugTransport.scala 211:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295577.4]
  wire  _T_73; // @[DebugTransport.scala 211:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295578.4]
  wire  _T_77; // @[DebugTransport.scala 233:18:shc.marmotcaravel.MarmotCaravelConfig.fir@295604.4]
  wire [31:0] _GEN_0; // @[JtagTap.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@295652.4]
  wire [1:0] _T_136; // @[JtagTap.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@295652.4]
  wire  _T_137; // @[JtagTap.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295653.4]
  wire  _T_139; // @[JtagTap.scala 192:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295655.4]
  wire  _T_140; // @[JtagTap.scala 192:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295656.4]
  wire [12:0] _T_143; // @[JtagTap.scala 193:41:shc.marmotcaravel.MarmotCaravelConfig.fir@295663.4]
  wire [12:0] _T_144; // @[JtagTap.scala 193:41:shc.marmotcaravel.MarmotCaravelConfig.fir@295664.4]
  wire [11:0] _T_145; // @[JtagTap.scala 193:41:shc.marmotcaravel.MarmotCaravelConfig.fir@295665.4]
  wire [30:0] _GEN_62; // @[JtagTap.scala 193:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295666.4]
  wire [30:0] _T_146; // @[JtagTap.scala 193:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295666.4]
  wire  _T_147; // @[JtagTap.scala 193:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295667.4]
  wire  _T_149; // @[JtagTap.scala 193:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295669.4]
  wire  _T_150; // @[JtagTap.scala 193:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295670.4]
  wire  _T_153; // @[JtagTap.scala 231:82:shc.marmotcaravel.MarmotCaravelConfig.fir@295691.4]
  wire  _T_154; // @[JtagTap.scala 231:82:shc.marmotcaravel.MarmotCaravelConfig.fir@295692.4]
  wire  _T_155; // @[JtagTap.scala 231:82:shc.marmotcaravel.MarmotCaravelConfig.fir@295693.4]
  wire  _GEN_35; // @[JtagTap.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295705.10]
  wire  _GEN_39; // @[JtagTap.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295701.8]
  CaptureUpdateChain dtmInfoChain ( // @[DebugTransport.scala 121:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295487.4]
    .clock(dtmInfoChain_clock),
    .reset(dtmInfoChain_reset),
    .io_chainIn_shift(dtmInfoChain_io_chainIn_shift),
    .io_chainIn_data(dtmInfoChain_io_chainIn_data),
    .io_chainIn_capture(dtmInfoChain_io_chainIn_capture),
    .io_chainIn_update(dtmInfoChain_io_chainIn_update),
    .io_chainOut_data(dtmInfoChain_io_chainOut_data),
    .io_capture_bits_dmiStatus(dtmInfoChain_io_capture_bits_dmiStatus),
    .io_update_valid(dtmInfoChain_io_update_valid),
    .io_update_bits_dmireset(dtmInfoChain_io_update_bits_dmireset)
  );
  CaptureUpdateChain_1 dmiAccessChain ( // @[DebugTransport.scala 127:31:shc.marmotcaravel.MarmotCaravelConfig.fir@295492.4]
    .clock(dmiAccessChain_clock),
    .reset(dmiAccessChain_reset),
    .io_chainIn_shift(dmiAccessChain_io_chainIn_shift),
    .io_chainIn_data(dmiAccessChain_io_chainIn_data),
    .io_chainIn_capture(dmiAccessChain_io_chainIn_capture),
    .io_chainIn_update(dmiAccessChain_io_chainIn_update),
    .io_chainOut_data(dmiAccessChain_io_chainOut_data),
    .io_capture_bits_addr(dmiAccessChain_io_capture_bits_addr),
    .io_capture_bits_data(dmiAccessChain_io_capture_bits_data),
    .io_capture_bits_resp(dmiAccessChain_io_capture_bits_resp),
    .io_capture_capture(dmiAccessChain_io_capture_capture),
    .io_update_valid(dmiAccessChain_io_update_valid),
    .io_update_bits_addr(dmiAccessChain_io_update_bits_addr),
    .io_update_bits_data(dmiAccessChain_io_update_bits_data),
    .io_update_bits_op(dmiAccessChain_io_update_bits_op)
  );
  CaptureChain idcodeChain ( // @[JtagTap.scala 189:33:shc.marmotcaravel.MarmotCaravelConfig.fir@295645.4]
    .clock(idcodeChain_clock),
    .reset(idcodeChain_reset),
    .io_chainIn_shift(idcodeChain_io_chainIn_shift),
    .io_chainIn_data(idcodeChain_io_chainIn_data),
    .io_chainIn_capture(idcodeChain_io_chainIn_capture),
    .io_chainIn_update(idcodeChain_io_chainIn_update),
    .io_chainOut_data(idcodeChain_io_chainOut_data)
  );
  JtagTapController JtagTapController ( // @[JtagTap.scala 207:36:shc.marmotcaravel.MarmotCaravelConfig.fir@295676.4]
    .clock(JtagTapController_clock),
    .reset(JtagTapController_reset),
    .io_jtag_TMS(JtagTapController_io_jtag_TMS),
    .io_jtag_TDI(JtagTapController_io_jtag_TDI),
    .io_jtag_TDO_data(JtagTapController_io_jtag_TDO_data),
    .io_jtag_TDO_driven(JtagTapController_io_jtag_TDO_driven),
    .io_control_jtag_reset(JtagTapController_io_control_jtag_reset),
    .io_output_instruction(JtagTapController_io_output_instruction),
    .io_output_reset(JtagTapController_io_output_reset),
    .io_dataChainOut_shift(JtagTapController_io_dataChainOut_shift),
    .io_dataChainOut_data(JtagTapController_io_dataChainOut_data),
    .io_dataChainOut_capture(JtagTapController_io_dataChainOut_capture),
    .io_dataChainOut_update(JtagTapController_io_dataChainOut_update),
    .io_dataChainIn_data(JtagTapController_io_dataChainIn_data)
  );
  JtagBypassChain JtagBypassChain ( // @[JtagTap.scala 215:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295686.4]
    .clock(JtagBypassChain_clock),
    .reset(JtagBypassChain_reset),
    .io_chainIn_shift(JtagBypassChain_io_chainIn_shift),
    .io_chainIn_data(JtagBypassChain_io_chainIn_data),
    .io_chainIn_capture(JtagBypassChain_io_chainIn_capture),
    .io_chainIn_update(JtagBypassChain_io_chainIn_update),
    .io_chainOut_data(JtagBypassChain_io_chainOut_data)
  );
  assign _T_40 = stickyNonzeroRespReg | stickyBusyReg; // @[DebugTransport.scala 111:63:shc.marmotcaravel.MarmotCaravelConfig.fir@295477.4]
  assign _T_45 = io_dmi_resp_ready & io_dmi_resp_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@295499.4]
  assign _T_46 = io_dmi_resp_valid == 1'h0; // @[DebugTransport.scala 148:22:shc.marmotcaravel.MarmotCaravelConfig.fir@295503.4]
  assign _T_47 = busyReg & _T_46; // @[DebugTransport.scala 148:20:shc.marmotcaravel.MarmotCaravelConfig.fir@295504.4]
  assign busy = _T_47 | stickyBusyReg; // @[DebugTransport.scala 148:42:shc.marmotcaravel.MarmotCaravelConfig.fir@295505.4]
  assign _T_49 = busy == 1'h0; // @[DebugTransport.scala 159:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295513.6]
  assign _T_51 = io_dmi_resp_bits_resp != 2'h0; // @[DebugTransport.scala 176:85:shc.marmotcaravel.MarmotCaravelConfig.fir@295525.4]
  assign _T_52 = io_dmi_resp_valid & _T_51; // @[DebugTransport.scala 176:60:shc.marmotcaravel.MarmotCaravelConfig.fir@295526.4]
  assign nonzeroResp = stickyNonzeroRespReg | _T_52; // @[DebugTransport.scala 176:39:shc.marmotcaravel.MarmotCaravelConfig.fir@295527.4]
  assign _T_50 = _T_49 & nonzeroResp; // @[DebugTransport.scala 159:30:shc.marmotcaravel.MarmotCaravelConfig.fir@295514.6]
  assign _T_54 = nonzeroResp == 1'h0; // @[DebugTransport.scala 177:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295529.4]
  assign _T_56 = _T_54 | reset; // @[DebugTransport.scala 177:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295531.4]
  assign _T_57 = _T_56 == 1'h0; // @[DebugTransport.scala 177:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295532.4]
  assign _T_58 = stickyNonzeroRespReg == 1'h0; // @[DebugTransport.scala 178:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295537.4]
  assign _T_60 = _T_58 | reset; // @[DebugTransport.scala 178:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295539.4]
  assign _T_61 = _T_60 == 1'h0; // @[DebugTransport.scala 178:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295540.4]
  assign _T_63_addr = io_dmi_resp_valid ? dmiReqReg_addr : 7'h0; // @[DebugTransport.scala 195:60:shc.marmotcaravel.MarmotCaravelConfig.fir@295555.4]
  assign _T_63_data = io_dmi_resp_valid ? io_dmi_resp_bits_data : 32'h0; // @[DebugTransport.scala 195:60:shc.marmotcaravel.MarmotCaravelConfig.fir@295555.4]
  assign _T_63_resp = io_dmi_resp_valid ? io_dmi_resp_bits_resp : 2'h0; // @[DebugTransport.scala 195:60:shc.marmotcaravel.MarmotCaravelConfig.fir@295555.4]
  assign _T_68 = io_dmi_req_ready & io_dmi_req_valid; // @[Decoupled.scala 37:37:shc.marmotcaravel.MarmotCaravelConfig.fir@295573.4]
  assign _T_74 = dmiAccessChain_io_update_bits_op == 2'h0; // @[DebugTransport.scala 216:69:shc.marmotcaravel.MarmotCaravelConfig.fir@295587.8]
  assign _T_75 = downgradeOpReg | _T_74; // @[DebugTransport.scala 216:32:shc.marmotcaravel.MarmotCaravelConfig.fir@295588.8]
  assign _GEN_22 = _T_75 ? 1'h0 : 1'h1; // @[DebugTransport.scala 216:97:shc.marmotcaravel.MarmotCaravelConfig.fir@295589.8]
  assign _GEN_27 = skipOpReg ? 1'h0 : _GEN_22; // @[DebugTransport.scala 214:22:shc.marmotcaravel.MarmotCaravelConfig.fir@295584.6]
  assign dmiReqValidCheck = dmiAccessChain_io_update_valid ? _GEN_27 : 1'h0; // @[DebugTransport.scala 213:41:shc.marmotcaravel.MarmotCaravelConfig.fir@295583.4]
  assign _T_69 = dmiReqValidCheck & _T_68; // @[DebugTransport.scala 211:29:shc.marmotcaravel.MarmotCaravelConfig.fir@295574.4]
  assign _T_70 = _T_69 == 1'h0; // @[DebugTransport.scala 211:10:shc.marmotcaravel.MarmotCaravelConfig.fir@295575.4]
  assign _T_72 = _T_70 | reset; // @[DebugTransport.scala 211:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295577.4]
  assign _T_73 = _T_72 == 1'h0; // @[DebugTransport.scala 211:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295578.4]
  assign _T_77 = dmiReqReg_op == 2'h2; // @[DebugTransport.scala 233:18:shc.marmotcaravel.MarmotCaravelConfig.fir@295604.4]
  assign _GEN_0 = 32'h20000913 % 32'h2; // @[JtagTap.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@295652.4]
  assign _T_136 = _GEN_0[1:0]; // @[JtagTap.scala 192:18:shc.marmotcaravel.MarmotCaravelConfig.fir@295652.4]
  assign _T_137 = _T_136 == 2'h1; // @[JtagTap.scala 192:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295653.4]
  assign _T_139 = _T_137 | reset; // @[JtagTap.scala 192:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295655.4]
  assign _T_140 = _T_139 == 1'h0; // @[JtagTap.scala 192:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295656.4]
  assign _T_143 = 12'h800 - 12'h1; // @[JtagTap.scala 193:41:shc.marmotcaravel.MarmotCaravelConfig.fir@295663.4]
  assign _T_144 = $unsigned(_T_143); // @[JtagTap.scala 193:41:shc.marmotcaravel.MarmotCaravelConfig.fir@295664.4]
  assign _T_145 = _T_144[11:0]; // @[JtagTap.scala 193:41:shc.marmotcaravel.MarmotCaravelConfig.fir@295665.4]
  assign _GEN_62 = {{19'd0}, _T_145}; // @[JtagTap.scala 193:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295666.4]
  assign _T_146 = 31'h10000489 & _GEN_62; // @[JtagTap.scala 193:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295666.4]
  assign _T_147 = _T_146 != 31'h7f; // @[JtagTap.scala 193:49:shc.marmotcaravel.MarmotCaravelConfig.fir@295667.4]
  assign _T_149 = _T_147 | reset; // @[JtagTap.scala 193:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295669.4]
  assign _T_150 = _T_149 == 1'h0; // @[JtagTap.scala 193:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295670.4]
  assign _T_153 = JtagTapController_io_output_instruction == 5'h1; // @[JtagTap.scala 231:82:shc.marmotcaravel.MarmotCaravelConfig.fir@295691.4]
  assign _T_154 = JtagTapController_io_output_instruction == 5'h10; // @[JtagTap.scala 231:82:shc.marmotcaravel.MarmotCaravelConfig.fir@295692.4]
  assign _T_155 = JtagTapController_io_output_instruction == 5'h11; // @[JtagTap.scala 231:82:shc.marmotcaravel.MarmotCaravelConfig.fir@295693.4]
  assign _GEN_35 = _T_155 ? dmiAccessChain_io_chainOut_data : JtagBypassChain_io_chainOut_data; // @[JtagTap.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295705.10]
  assign _GEN_39 = _T_154 ? dtmInfoChain_io_chainOut_data : _GEN_35; // @[JtagTap.scala 239:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295701.8]
  assign io_dmi_req_valid = dmiReqValidReg; // @[DebugTransport.scala 249:20:shc.marmotcaravel.MarmotCaravelConfig.fir@295621.4]
  assign io_dmi_req_bits_addr = dmiReqReg_addr; // @[DebugTransport.scala 252:19:shc.marmotcaravel.MarmotCaravelConfig.fir@295622.4]
  assign io_dmi_req_bits_data = dmiReqReg_data; // @[DebugTransport.scala 252:19:shc.marmotcaravel.MarmotCaravelConfig.fir@295622.4]
  assign io_dmi_req_bits_op = dmiReqReg_op; // @[DebugTransport.scala 252:19:shc.marmotcaravel.MarmotCaravelConfig.fir@295622.4]
  assign io_dmi_resp_ready = _T_77 ? io_dmi_resp_valid : dmiAccessChain_io_capture_capture; // @[DebugTransport.scala 232:21:shc.marmotcaravel.MarmotCaravelConfig.fir@295606.4]
  assign io_jtag_TDO_data = JtagTapController_io_jtag_TDO_data; // @[DebugTransport.scala 270:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295733.4]
  assign io_jtag_TDO_driven = JtagTapController_io_jtag_TDO_driven; // @[DebugTransport.scala 270:14:shc.marmotcaravel.MarmotCaravelConfig.fir@295733.4]
  assign io_fsmReset = JtagTapController_io_output_reset; // @[DebugTransport.scala 278:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295735.4]
  assign dtmInfoChain_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295489.4]
  assign dtmInfoChain_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295490.4]
  assign dtmInfoChain_io_chainIn_shift = _T_154 ? JtagTapController_io_dataChainOut_shift : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295718.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295721.6]
  assign dtmInfoChain_io_chainIn_data = _T_154 ? JtagTapController_io_dataChainOut_data : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295718.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295721.6]
  assign dtmInfoChain_io_chainIn_capture = _T_154 ? JtagTapController_io_dataChainOut_capture : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295718.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295721.6]
  assign dtmInfoChain_io_chainIn_update = _T_154 ? JtagTapController_io_dataChainOut_update : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295718.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295721.6]
  assign dtmInfoChain_io_capture_bits_dmiStatus = {stickyNonzeroRespReg,_T_40}; // @[DebugTransport.scala 122:32:shc.marmotcaravel.MarmotCaravelConfig.fir@295491.4]
  assign dmiAccessChain_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295494.4]
  assign dmiAccessChain_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295495.4]
  assign dmiAccessChain_io_chainIn_shift = _T_155 ? JtagTapController_io_dataChainOut_shift : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295724.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295727.6]
  assign dmiAccessChain_io_chainIn_data = _T_155 ? JtagTapController_io_dataChainOut_data : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295724.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295727.6]
  assign dmiAccessChain_io_chainIn_capture = _T_155 ? JtagTapController_io_dataChainOut_capture : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295724.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295727.6]
  assign dmiAccessChain_io_chainIn_update = _T_155 ? JtagTapController_io_dataChainOut_update : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295724.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295727.6]
  assign dmiAccessChain_io_capture_bits_addr = busy ? 7'h0 : _T_63_addr; // @[DebugTransport.scala 195:34:shc.marmotcaravel.MarmotCaravelConfig.fir@295557.4]
  assign dmiAccessChain_io_capture_bits_data = busy ? 32'h0 : _T_63_data; // @[DebugTransport.scala 195:34:shc.marmotcaravel.MarmotCaravelConfig.fir@295557.4]
  assign dmiAccessChain_io_capture_bits_resp = busy ? 2'h3 : _T_63_resp; // @[DebugTransport.scala 195:34:shc.marmotcaravel.MarmotCaravelConfig.fir@295557.4]
  assign idcodeChain_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295647.4]
  assign idcodeChain_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295648.4]
  assign idcodeChain_io_chainIn_shift = _T_153 ? JtagTapController_io_dataChainOut_shift : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295712.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295715.6]
  assign idcodeChain_io_chainIn_data = _T_153 ? JtagTapController_io_dataChainOut_data : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295712.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295715.6]
  assign idcodeChain_io_chainIn_capture = _T_153 ? JtagTapController_io_dataChainOut_capture : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295712.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295715.6]
  assign idcodeChain_io_chainIn_update = _T_153 ? JtagTapController_io_dataChainOut_update : 1'h0; // @[JtagTap.scala 252:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295712.6 JtagTap.scala 254:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295715.6]
  assign JtagTapController_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295678.4]
  assign JtagTapController_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295679.4]
  assign JtagTapController_io_jtag_TMS = io_jtag_TMS; // @[JtagTap.scala 260:32:shc.marmotcaravel.MarmotCaravelConfig.fir@295729.4]
  assign JtagTapController_io_jtag_TDI = io_jtag_TDI; // @[JtagTap.scala 260:32:shc.marmotcaravel.MarmotCaravelConfig.fir@295729.4]
  assign JtagTapController_io_control_jtag_reset = io_jtag_reset; // @[JtagTap.scala 261:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295730.4]
  assign JtagTapController_io_dataChainIn_data = _T_153 ? idcodeChain_io_chainOut_data : _GEN_39; // @[JtagTap.scala 240:43:shc.marmotcaravel.MarmotCaravelConfig.fir@295698.8 JtagTap.scala 240:43:shc.marmotcaravel.MarmotCaravelConfig.fir@295702.10 JtagTap.scala 240:43:shc.marmotcaravel.MarmotCaravelConfig.fir@295706.12 JtagTap.scala 246:41:shc.marmotcaravel.MarmotCaravelConfig.fir@295709.12]
  assign JtagBypassChain_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295688.4]
  assign JtagBypassChain_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295689.4]
  assign JtagBypassChain_io_chainIn_shift = JtagTapController_io_dataChainOut_shift; // @[JtagTap.scala 218:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295690.4]
  assign JtagBypassChain_io_chainIn_data = JtagTapController_io_dataChainOut_data; // @[JtagTap.scala 218:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295690.4]
  assign JtagBypassChain_io_chainIn_capture = JtagTapController_io_dataChainOut_capture; // @[JtagTap.scala 218:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295690.4]
  assign JtagBypassChain_io_chainIn_update = JtagTapController_io_dataChainOut_update; // @[JtagTap.scala 218:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295690.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  busyReg = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  stickyBusyReg = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  stickyNonzeroRespReg = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_3 = {1{`RANDOM}};
  skipOpReg = _RAND_3[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_4 = {1{`RANDOM}};
  downgradeOpReg = _RAND_4[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_5 = {1{`RANDOM}};
  dmiReqReg_addr = _RAND_5[6:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_6 = {1{`RANDOM}};
  dmiReqReg_data = _RAND_6[31:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_7 = {1{`RANDOM}};
  dmiReqReg_op = _RAND_7[1:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_8 = {1{`RANDOM}};
  dmiReqValidReg = _RAND_8[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      busyReg <= 1'h0;
    end else begin
      if (_T_45) begin
        busyReg <= 1'h0;
      end else begin
        if (io_dmi_req_valid) begin
          busyReg <= 1'h1;
        end
      end
    end
    if (reset) begin
      stickyBusyReg <= 1'h0;
    end else begin
      if (dmiAccessChain_io_capture_capture) begin
        stickyBusyReg <= busy;
      end else begin
        if (dtmInfoChain_io_update_valid) begin
          if (dtmInfoChain_io_update_bits_dmireset) begin
            stickyBusyReg <= 1'h0;
          end else begin
            if (dmiAccessChain_io_capture_capture) begin
              stickyBusyReg <= busy;
            end
          end
        end else begin
          if (dmiAccessChain_io_capture_capture) begin
            stickyBusyReg <= busy;
          end
        end
      end
    end
    if (reset) begin
      stickyNonzeroRespReg <= 1'h0;
    end else begin
      if (dmiAccessChain_io_capture_capture) begin
        stickyNonzeroRespReg <= nonzeroResp;
      end else begin
        if (dtmInfoChain_io_update_valid) begin
          if (dtmInfoChain_io_update_bits_dmireset) begin
            stickyNonzeroRespReg <= 1'h0;
          end else begin
            if (dmiAccessChain_io_capture_capture) begin
              stickyNonzeroRespReg <= nonzeroResp;
            end
          end
        end else begin
          if (dmiAccessChain_io_capture_capture) begin
            stickyNonzeroRespReg <= nonzeroResp;
          end
        end
      end
    end
    if (reset) begin
      skipOpReg <= 1'h0;
    end else begin
      if (dmiAccessChain_io_capture_capture) begin
        skipOpReg <= busy;
      end else begin
        if (dmiAccessChain_io_update_valid) begin
          skipOpReg <= 1'h0;
        end else begin
          if (dmiAccessChain_io_capture_capture) begin
            skipOpReg <= busy;
          end else begin
            if (dmiAccessChain_io_update_valid) begin
              skipOpReg <= 1'h0;
            end
          end
        end
      end
    end
    if (reset) begin
      downgradeOpReg <= 1'h0;
    end else begin
      if (dmiAccessChain_io_capture_capture) begin
        downgradeOpReg <= _T_50;
      end else begin
        if (dmiAccessChain_io_update_valid) begin
          downgradeOpReg <= 1'h0;
        end else begin
          if (dmiAccessChain_io_capture_capture) begin
            downgradeOpReg <= _T_50;
          end else begin
            if (dmiAccessChain_io_update_valid) begin
              downgradeOpReg <= 1'h0;
            end
          end
        end
      end
    end
    if (dmiAccessChain_io_update_valid) begin
      if (!(skipOpReg)) begin
        if (_T_75) begin
          dmiReqReg_addr <= 7'h0;
        end else begin
          dmiReqReg_addr <= dmiAccessChain_io_update_bits_addr;
        end
      end
    end
    if (dmiAccessChain_io_update_valid) begin
      if (!(skipOpReg)) begin
        if (_T_75) begin
          dmiReqReg_data <= 32'h0;
        end else begin
          dmiReqReg_data <= dmiAccessChain_io_update_bits_data;
        end
      end
    end
    if (dmiAccessChain_io_update_valid) begin
      if (!(skipOpReg)) begin
        if (_T_75) begin
          dmiReqReg_op <= 2'h0;
        end else begin
          dmiReqReg_op <= dmiAccessChain_io_update_bits_op;
        end
      end
    end
    if (reset) begin
      dmiReqValidReg <= 1'h0;
    end else begin
      if (_T_68) begin
        dmiReqValidReg <= 1'h0;
      end else begin
        if (dmiAccessChain_io_update_valid) begin
          if (!(skipOpReg)) begin
            if (!(_T_75)) begin
              dmiReqValidReg <= 1'h1;
            end
          end
        end
      end
    end
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_57) begin
          $fwrite(32'h80000002,"Assertion failed: There is no reason to get a non zero response in the current system.\n    at DebugTransport.scala:177 assert(!nonzeroResp, \"There is no reason to get a non zero response in the current system.\");\n"); // @[DebugTransport.scala 177:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295534.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_57) begin
          $fatal; // @[DebugTransport.scala 177:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295535.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_61) begin
          $fwrite(32'h80000002,"Assertion failed: There is no reason to have a sticky non zero response in the current system.\n    at DebugTransport.scala:178 assert(!stickyNonzeroRespReg, \"There is no reason to have a sticky non zero response in the current system.\");\n"); // @[DebugTransport.scala 178:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295542.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_61) begin
          $fatal; // @[DebugTransport.scala 178:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295543.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_73) begin
          $fwrite(32'h80000002,"Assertion failed: Conflicting updates for dmiReqValidReg, should not happen.\n    at DebugTransport.scala:211 assert(!(dmiReqValidCheck && io.dmi.req.fire()), \"Conflicting updates for dmiReqValidReg, should not happen.\");\n"); // @[DebugTransport.scala 211:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295580.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_73) begin
          $fatal; // @[DebugTransport.scala 211:9:shc.marmotcaravel.MarmotCaravelConfig.fir@295581.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_140) begin
          $fwrite(32'h80000002,"Assertion failed: LSB must be set in IDCODE, see 12.1.1d\n    at JtagTap.scala:192 assert(i %% 2.U === 1.U, \"LSB must be set in IDCODE, see 12.1.1d\")\n"); // @[JtagTap.scala 192:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295658.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_140) begin
          $fatal; // @[JtagTap.scala 192:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295659.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef PRINTF_COND
      if (`PRINTF_COND) begin
    `endif
        if (_T_150) begin
          $fwrite(32'h80000002,"Assertion failed: IDCODE must not have 0b00001111111 as manufacturer identity, see 12.2.1b\n    at JtagTap.scala:193 assert(((i >> 1) & ((1.U << 11) - 1.U)) =/= JtagIdcode.dummyMfrId.U,\n"); // @[JtagTap.scala 193:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295672.6]
        end
    `ifdef PRINTF_COND
      end
    `endif
    `endif // SYNTHESIS
    `ifndef SYNTHESIS
    `ifdef STOP_COND
      if (`STOP_COND) begin
    `endif
        if (_T_150) begin
          $fatal; // @[JtagTap.scala 193:15:shc.marmotcaravel.MarmotCaravelConfig.fir@295673.6]
        end
    `ifdef STOP_COND
      end
    `endif
    `endif // SYNTHESIS
  end
endmodule
module MarmotCaravelSystem( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295895.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295896.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295897.4]
  input   debug_systemjtag_jtag_TCK, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295899.4]
  input   debug_systemjtag_jtag_TMS, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295899.4]
  input   debug_systemjtag_jtag_TDI, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295899.4]
  output  debug_systemjtag_jtag_TDO_data, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295899.4]
  output  debug_systemjtag_jtag_TDO_driven, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295899.4]
  input   debug_systemjtag_reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295899.4]
  output  uart_0_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295900.4]
  input   uart_0_rxd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295900.4]
  output  uart_1_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295901.4]
  input   uart_1_rxd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295901.4]
  output  uart_2_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295902.4]
  input   uart_2_rxd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295902.4]
  output  uart_3_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295903.4]
  input   uart_3_rxd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295903.4]
  output  uart_4_txd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295904.4]
  input   uart_4_rxd, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295904.4]
  output  spi_0_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
  input   spi_0_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
  output  spi_0_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
  output  spi_0_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
  input   spi_0_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
  output  spi_0_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
  output  spi_0_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
  input   spi_0_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
  output  spi_0_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
  output  spi_0_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
  input   spi_0_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
  output  spi_0_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
  output  spi_0_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
  output  spi_0_cs_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
  output  spi_0_cs_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295905.4]
  output  spi_1_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
  input   spi_1_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
  output  spi_1_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
  output  spi_1_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
  input   spi_1_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
  output  spi_1_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
  output  spi_1_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
  input   spi_1_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
  output  spi_1_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
  output  spi_1_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
  input   spi_1_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
  output  spi_1_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
  output  spi_1_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
  output  spi_1_cs_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295906.4]
  input   gpio_0_pins_0_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_0_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_0_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_0_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_pins_1_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_1_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_1_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_1_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_pins_2_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_2_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_2_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_2_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_pins_3_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_3_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_3_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_3_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_pins_4_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_4_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_4_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_4_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_pins_5_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_5_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_5_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_5_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_pins_6_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_6_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_6_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_6_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_pins_7_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_7_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_7_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_7_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_pins_8_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_8_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_8_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_8_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_pins_9_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_9_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_9_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_9_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_pins_10_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_10_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_10_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_10_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_pins_11_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_11_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_11_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_11_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_pins_12_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_12_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_12_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_12_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_pins_13_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_13_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_13_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_13_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_pins_14_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_14_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_14_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_14_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_pins_15_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_15_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_15_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_15_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_pins_16_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_16_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_16_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_16_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_pins_17_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_17_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_17_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_17_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_pins_18_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_18_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_18_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_18_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_pins_19_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_19_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_19_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_19_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_pins_20_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_20_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_20_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_20_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_pins_21_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_21_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_21_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_21_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_pins_22_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_22_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_22_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_22_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_pins_23_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_23_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_23_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_23_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_pins_24_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_24_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_24_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_pins_24_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_0_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_1_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_iof_0_2_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_2_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_2_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_2_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_iof_0_3_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_3_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_3_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_3_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_iof_0_4_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_4_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_4_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_4_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_iof_0_5_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_5_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_5_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_5_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_6_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_7_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_iof_0_8_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_8_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_8_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_8_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_iof_0_9_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_9_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_9_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_9_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_iof_0_10_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_10_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_10_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_10_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_iof_0_11_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_11_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_11_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_11_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_iof_0_12_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_12_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_iof_0_13_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_13_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_iof_0_14_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_14_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_iof_0_15_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_15_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_iof_0_16_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_17_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_iof_0_18_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_19_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_iof_0_20_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_21_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  gpio_0_iof_0_22_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_23_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  input   gpio_0_iof_0_24_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295907.4]
  output  qspi_0_sck, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
  input   qspi_0_dq_0_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
  output  qspi_0_dq_0_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
  output  qspi_0_dq_0_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
  input   qspi_0_dq_1_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
  output  qspi_0_dq_1_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
  output  qspi_0_dq_1_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
  input   qspi_0_dq_2_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
  output  qspi_0_dq_2_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
  output  qspi_0_dq_2_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
  input   qspi_0_dq_3_i, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
  output  qspi_0_dq_3_o, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
  output  qspi_0_dq_3_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
  output  qspi_0_cs_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295908.4]
  input   aon_pins_erst_n_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295909.4]
  input   aon_pins_lfextclk_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295909.4]
  output  aon_rsts_corerst, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295909.4]
  input   i2c_0_scl_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295910.4]
  output  i2c_0_scl_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295910.4]
  input   i2c_0_sda_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295910.4]
  output  i2c_0_sda_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295910.4]
  input   i2c_1_scl_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295911.4]
  output  i2c_1_scl_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295911.4]
  input   i2c_1_sda_in, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295911.4]
  output  i2c_1_sda_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295911.4]
  output [11:0] data_arrays_0_ext_RW0_addr,
  output  data_arrays_0_ext_RW0_en,
  output  data_arrays_0_ext_RW0_clk,
  output  data_arrays_0_ext_RW0_wmode,
  output [31:0] data_arrays_0_ext_RW0_wdata,
  input  [31:0] data_arrays_0_ext_RW0_rdata,
  output [3:0] data_arrays_0_ext_RW0_wmask,
  output [6:0] tag_array_ext_RW0_addr,
  output  tag_array_ext_RW0_en,
  output  tag_array_ext_RW0_clk,
  output  tag_array_ext_RW0_wmode,
  output [39:0] tag_array_ext_RW0_wdata,
  input  [39:0] tag_array_ext_RW0_rdata,
  output [1:0] tag_array_ext_RW0_wmask,
  output [10:0] data_arrays_0_0_ext_RW0_addr,
  output  data_arrays_0_0_ext_RW0_en,
  output  data_arrays_0_0_ext_RW0_clk,
  output  data_arrays_0_0_ext_RW0_wmode,
  output [63:0] data_arrays_0_0_ext_RW0_wdata,
  input  [63:0] data_arrays_0_0_ext_RW0_rdata,
  output [1:0] data_arrays_0_0_ext_RW0_wmask
);
  wire  int_bus_auto_int_in_11_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_10_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_1; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_2; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_3; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_4; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_5; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_6; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_7; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_8; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_9; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_10; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_11; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_12; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_13; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_14; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_15; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_16; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_17; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_18; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_19; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_20; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_21; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_22; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_23; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_24; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_25; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_26; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_27; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_28; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_29; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_30; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_9_31; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_8_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_7_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_6_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_5_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_4_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_3_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_2_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_1_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_0_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_in_0_1; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_0; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_1; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_2; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_3; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_4; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_5; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_6; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_7; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_8; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_9; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_10; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_11; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_12; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_13; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_14; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_15; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_16; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_17; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_18; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_19; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_20; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_21; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_22; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_23; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_24; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_25; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_26; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_27; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_28; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_29; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_30; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_31; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_32; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_33; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_34; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_35; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_36; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_37; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_38; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_39; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_40; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_41; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_42; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  int_bus_auto_int_out_43; // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
  wire  sbus_clock; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_reset; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [2:0] sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [2:0] sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_param; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [3:0] sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [31:0] sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_address; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [3:0] sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_mask; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [31:0] sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [2:0] sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [1:0] sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_param; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [3:0] sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_sink; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_denied; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [31:0] sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_param; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [1:0] sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [5:0] sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [28:0] sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_address; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [3:0] sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_mask; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [31:0] sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_ridx; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_widx; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_ridx_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_widx_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_source_reset_n; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_sink_reset_n; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [1:0] sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_param; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [1:0] sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [5:0] sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_sink; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_denied; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [31:0] sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_ridx; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_widx; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_ridx_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_widx_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_source_reset_n; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_sink_reset_n; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_param; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [1:0] sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [5:0] sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [16:0] sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_address; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [3:0] sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_mask; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [1:0] sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [5:0] sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [31:0] sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [2:0] sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [2:0] sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_param; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [2:0] sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [31:0] sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_address; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [3:0] sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_mask; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [31:0] sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [2:0] sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [1:0] sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_param; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [2:0] sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_sink; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_denied; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [31:0] sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_param; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [1:0] sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [5:0] sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [11:0] sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_address; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [3:0] sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_mask; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [31:0] sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [1:0] sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [5:0] sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [31:0] sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_param; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [1:0] sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [5:0] sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [25:0] sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_address; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [3:0] sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_mask; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [31:0] sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [1:0] sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [5:0] sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [31:0] sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_param; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [1:0] sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [5:0] sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [27:0] sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_address; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [3:0] sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_mask; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [31:0] sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [2:0] sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [1:0] sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [5:0] sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [31:0] sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [2:0] sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [2:0] sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_param; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [3:0] sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [29:0] sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [3:0] sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_mask; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [31:0] sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_ready; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_valid; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [2:0] sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_opcode; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [1:0] sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_param; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [3:0] sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_size; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_source; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_sink; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_denied; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire [31:0] sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_data; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_corrupt; // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
  wire  pbus_clock; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_reset; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [1:0] pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [5:0] pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [28:0] pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [3:0] pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [31:0] pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [1:0] pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [5:0] pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [31:0] pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [1:0] pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [5:0] pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [28:0] pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [3:0] pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [31:0] pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [1:0] pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [5:0] pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [31:0] pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [1:0] pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [5:0] pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [28:0] pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [3:0] pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [31:0] pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [1:0] pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [5:0] pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [31:0] pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [1:0] pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [5:0] pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [28:0] pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [3:0] pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [31:0] pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [1:0] pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [5:0] pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [31:0] pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [1:0] pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [5:0] pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [28:0] pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [3:0] pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [31:0] pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [1:0] pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [5:0] pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [31:0] pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [7:0] pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [29:0] pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [7:0] pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [7:0] pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [1:0] pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [5:0] pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [28:0] pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [3:0] pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [31:0] pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [1:0] pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [5:0] pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [31:0] pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [1:0] pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [5:0] pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [28:0] pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [3:0] pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [31:0] pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [1:0] pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [5:0] pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [31:0] pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [1:0] pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [5:0] pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [28:0] pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [3:0] pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [31:0] pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [1:0] pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [5:0] pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [31:0] pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [1:0] pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [5:0] pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [28:0] pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [3:0] pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [31:0] pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [1:0] pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [5:0] pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [31:0] pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [1:0] pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [5:0] pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [28:0] pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [3:0] pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [31:0] pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [1:0] pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [5:0] pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [31:0] pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [1:0] pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [5:0] pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [28:0] pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [3:0] pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [31:0] pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [1:0] pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [5:0] pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [31:0] pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_from_cbus_in_a_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_from_cbus_in_a_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_from_cbus_in_a_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_from_cbus_in_a_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [3:0] pbus_auto_from_cbus_in_a_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_from_cbus_in_a_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [29:0] pbus_auto_from_cbus_in_a_bits_address; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [3:0] pbus_auto_from_cbus_in_a_bits_mask; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [31:0] pbus_auto_from_cbus_in_a_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_from_cbus_in_a_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_from_cbus_in_d_ready; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_from_cbus_in_d_valid; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [2:0] pbus_auto_from_cbus_in_d_bits_opcode; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [1:0] pbus_auto_from_cbus_in_d_bits_param; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [3:0] pbus_auto_from_cbus_in_d_bits_size; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_from_cbus_in_d_bits_source; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_from_cbus_in_d_bits_sink; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_from_cbus_in_d_bits_denied; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire [31:0] pbus_auto_from_cbus_in_d_bits_data; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  pbus_auto_from_cbus_in_d_bits_corrupt; // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
  wire  plic_clock; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_reset; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_0; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_1; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_2; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_3; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_4; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_5; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_6; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_7; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_8; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_9; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_10; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_11; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_12; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_13; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_14; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_15; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_16; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_17; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_18; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_19; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_20; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_21; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_22; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_23; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_24; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_25; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_26; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_27; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_28; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_29; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_30; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_31; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_32; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_33; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_34; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_35; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_36; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_37; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_38; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_39; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_40; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_41; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_42; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_in_43; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_int_out_0; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_in_a_ready; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_in_a_valid; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire [2:0] plic_auto_in_a_bits_opcode; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire [2:0] plic_auto_in_a_bits_param; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire [1:0] plic_auto_in_a_bits_size; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire [5:0] plic_auto_in_a_bits_source; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire [27:0] plic_auto_in_a_bits_address; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire [3:0] plic_auto_in_a_bits_mask; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire [31:0] plic_auto_in_a_bits_data; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_in_a_bits_corrupt; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_in_d_ready; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  plic_auto_in_d_valid; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire [2:0] plic_auto_in_d_bits_opcode; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire [1:0] plic_auto_in_d_bits_size; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire [5:0] plic_auto_in_d_bits_source; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire [31:0] plic_auto_in_d_bits_data; // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
  wire  clint_clock; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
  wire  clint_reset; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
  wire  clint_auto_int_out_0; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
  wire  clint_auto_int_out_1; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
  wire  clint_auto_in_a_ready; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
  wire  clint_auto_in_a_valid; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
  wire [2:0] clint_auto_in_a_bits_opcode; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
  wire [2:0] clint_auto_in_a_bits_param; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
  wire [1:0] clint_auto_in_a_bits_size; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
  wire [5:0] clint_auto_in_a_bits_source; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
  wire [25:0] clint_auto_in_a_bits_address; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
  wire [3:0] clint_auto_in_a_bits_mask; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
  wire [31:0] clint_auto_in_a_bits_data; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
  wire  clint_auto_in_a_bits_corrupt; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
  wire  clint_auto_in_d_ready; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
  wire  clint_auto_in_d_valid; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
  wire [2:0] clint_auto_in_d_bits_opcode; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
  wire [1:0] clint_auto_in_d_bits_size; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
  wire [5:0] clint_auto_in_d_bits_source; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
  wire [31:0] clint_auto_in_d_bits_data; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
  wire  clint_io_rtcTick; // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
  wire  debug_1_clock; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire  debug_1_reset; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire  debug_1_auto_dmInner_dmInner_tl_in_a_ready; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire  debug_1_auto_dmInner_dmInner_tl_in_a_valid; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire [2:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_opcode; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire [2:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_param; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire [1:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_size; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire [5:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_source; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire [11:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_address; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire [3:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_mask; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire [31:0] debug_1_auto_dmInner_dmInner_tl_in_a_bits_data; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire  debug_1_auto_dmInner_dmInner_tl_in_a_bits_corrupt; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire  debug_1_auto_dmInner_dmInner_tl_in_d_ready; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire  debug_1_auto_dmInner_dmInner_tl_in_d_valid; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire [2:0] debug_1_auto_dmInner_dmInner_tl_in_d_bits_opcode; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire [1:0] debug_1_auto_dmInner_dmInner_tl_in_d_bits_size; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire [5:0] debug_1_auto_dmInner_dmInner_tl_in_d_bits_source; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire [31:0] debug_1_auto_dmInner_dmInner_tl_in_d_bits_data; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire  debug_1_auto_dmOuter_intsource_out_sync_0; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire  debug_1_io_ctrl_ndreset; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire  debug_1_io_dmi_dmi_req_ready; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire  debug_1_io_dmi_dmi_req_valid; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire [6:0] debug_1_io_dmi_dmi_req_bits_addr; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire [31:0] debug_1_io_dmi_dmi_req_bits_data; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire [1:0] debug_1_io_dmi_dmi_req_bits_op; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire  debug_1_io_dmi_dmi_resp_ready; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire  debug_1_io_dmi_dmi_resp_valid; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire [31:0] debug_1_io_dmi_dmi_resp_bits_data; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire [1:0] debug_1_io_dmi_dmi_resp_bits_resp; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire  debug_1_io_dmi_dmiClock; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire  debug_1_io_dmi_dmiReset; // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
  wire  tile_clock; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire  tile_reset; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire  tile_auto_intsink_in_sync_0; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire  tile_auto_int_in_xing_in_1_sync_0; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire  tile_auto_int_in_xing_in_0_sync_0; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire  tile_auto_int_in_xing_in_0_sync_1; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire  tile_auto_tl_slave_xing_in_a_ready; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire  tile_auto_tl_slave_xing_in_a_valid; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire [2:0] tile_auto_tl_slave_xing_in_a_bits_opcode; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire [2:0] tile_auto_tl_slave_xing_in_a_bits_param; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire [2:0] tile_auto_tl_slave_xing_in_a_bits_size; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire  tile_auto_tl_slave_xing_in_a_bits_source; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire [31:0] tile_auto_tl_slave_xing_in_a_bits_address; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire [3:0] tile_auto_tl_slave_xing_in_a_bits_mask; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire [31:0] tile_auto_tl_slave_xing_in_a_bits_data; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire  tile_auto_tl_slave_xing_in_a_bits_corrupt; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire  tile_auto_tl_slave_xing_in_d_ready; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire  tile_auto_tl_slave_xing_in_d_valid; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire [2:0] tile_auto_tl_slave_xing_in_d_bits_opcode; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire [1:0] tile_auto_tl_slave_xing_in_d_bits_param; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire [2:0] tile_auto_tl_slave_xing_in_d_bits_size; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire  tile_auto_tl_slave_xing_in_d_bits_source; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire  tile_auto_tl_slave_xing_in_d_bits_sink; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire  tile_auto_tl_slave_xing_in_d_bits_denied; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire [31:0] tile_auto_tl_slave_xing_in_d_bits_data; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire  tile_auto_tl_slave_xing_in_d_bits_corrupt; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire  tile_auto_tl_master_xing_out_a_ready; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire  tile_auto_tl_master_xing_out_a_valid; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire [2:0] tile_auto_tl_master_xing_out_a_bits_opcode; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire [2:0] tile_auto_tl_master_xing_out_a_bits_param; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire [3:0] tile_auto_tl_master_xing_out_a_bits_size; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire  tile_auto_tl_master_xing_out_a_bits_source; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire [31:0] tile_auto_tl_master_xing_out_a_bits_address; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire [3:0] tile_auto_tl_master_xing_out_a_bits_mask; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire [31:0] tile_auto_tl_master_xing_out_a_bits_data; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire  tile_auto_tl_master_xing_out_a_bits_corrupt; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire  tile_auto_tl_master_xing_out_d_ready; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire  tile_auto_tl_master_xing_out_d_valid; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire [2:0] tile_auto_tl_master_xing_out_d_bits_opcode; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire [1:0] tile_auto_tl_master_xing_out_d_bits_param; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire [3:0] tile_auto_tl_master_xing_out_d_bits_size; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire  tile_auto_tl_master_xing_out_d_bits_source; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire  tile_auto_tl_master_xing_out_d_bits_sink; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire  tile_auto_tl_master_xing_out_d_bits_denied; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire [31:0] tile_auto_tl_master_xing_out_d_bits_data; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire  tile_auto_tl_master_xing_out_d_bits_corrupt; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire  tile_constants_hartid; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire [31:0] tile_constants_reset_vector; // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
  wire  intsource_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296004.4]
  wire  intsource_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296004.4]
  wire  intsource_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296004.4]
  wire  intsource_auto_in_1; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296004.4]
  wire  intsource_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296004.4]
  wire  intsource_auto_out_sync_1; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296004.4]
  wire  intsource_1_clock; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296010.4]
  wire  intsource_1_reset; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296010.4]
  wire  intsource_1_auto_in_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296010.4]
  wire  intsource_1_auto_out_sync_0; // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296010.4]
  wire  maskROM_clock; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
  wire  maskROM_reset; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
  wire  maskROM_auto_in_a_ready; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
  wire  maskROM_auto_in_a_valid; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
  wire [2:0] maskROM_auto_in_a_bits_opcode; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
  wire [2:0] maskROM_auto_in_a_bits_param; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
  wire [1:0] maskROM_auto_in_a_bits_size; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
  wire [5:0] maskROM_auto_in_a_bits_source; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
  wire [16:0] maskROM_auto_in_a_bits_address; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
  wire [3:0] maskROM_auto_in_a_bits_mask; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
  wire  maskROM_auto_in_a_bits_corrupt; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
  wire  maskROM_auto_in_d_ready; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
  wire  maskROM_auto_in_d_valid; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
  wire [1:0] maskROM_auto_in_d_bits_size; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
  wire [5:0] maskROM_auto_in_d_bits_source; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
  wire [31:0] maskROM_auto_in_d_bits_data; // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
  wire  aon_1_auto_intsource_out_sync_0; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire  aon_1_auto_intsource_out_sync_1; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire [2:0] aon_1_auto_isolation_in_a_mem_0_opcode; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire [2:0] aon_1_auto_isolation_in_a_mem_0_param; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire [1:0] aon_1_auto_isolation_in_a_mem_0_size; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire [5:0] aon_1_auto_isolation_in_a_mem_0_source; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire [28:0] aon_1_auto_isolation_in_a_mem_0_address; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire [3:0] aon_1_auto_isolation_in_a_mem_0_mask; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire [31:0] aon_1_auto_isolation_in_a_mem_0_data; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire  aon_1_auto_isolation_in_a_mem_0_corrupt; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire  aon_1_auto_isolation_in_a_ridx; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire  aon_1_auto_isolation_in_a_widx; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire  aon_1_auto_isolation_in_a_safe_ridx_valid; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire  aon_1_auto_isolation_in_a_safe_widx_valid; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire  aon_1_auto_isolation_in_a_safe_source_reset_n; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire  aon_1_auto_isolation_in_a_safe_sink_reset_n; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire [2:0] aon_1_auto_isolation_in_d_mem_0_opcode; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire [1:0] aon_1_auto_isolation_in_d_mem_0_param; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire [1:0] aon_1_auto_isolation_in_d_mem_0_size; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire [5:0] aon_1_auto_isolation_in_d_mem_0_source; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire  aon_1_auto_isolation_in_d_mem_0_sink; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire  aon_1_auto_isolation_in_d_mem_0_denied; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire [31:0] aon_1_auto_isolation_in_d_mem_0_data; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire  aon_1_auto_isolation_in_d_mem_0_corrupt; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire  aon_1_auto_isolation_in_d_ridx; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire  aon_1_auto_isolation_in_d_widx; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire  aon_1_auto_isolation_in_d_safe_ridx_valid; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire  aon_1_auto_isolation_in_d_safe_widx_valid; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire  aon_1_auto_isolation_in_d_safe_source_reset_n; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire  aon_1_auto_isolation_in_d_safe_sink_reset_n; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire  aon_1_io_pins_erst_n_i_ival; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire  aon_1_io_pins_lfextclk_i_ival; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire  aon_1_io_rsts_corerst; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire  aon_1_io_rtc; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire  aon_1_io_ndreset; // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
  wire  intsink_1_clock; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296035.4]
  wire  intsink_1_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296035.4]
  wire  intsink_1_auto_in_sync_1; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296035.4]
  wire  intsink_1_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296035.4]
  wire  intsink_1_auto_out_1; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296035.4]
  wire  asyncXing_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296041.4]
  wire  asyncXing_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296041.4]
  wire  asyncXing_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296041.4]
  wire  uart_0_1_clock; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
  wire  uart_0_1_reset; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
  wire  uart_0_1_auto_int_xing_out_sync_0; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
  wire  uart_0_1_auto_control_xing_in_a_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
  wire  uart_0_1_auto_control_xing_in_a_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
  wire [2:0] uart_0_1_auto_control_xing_in_a_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
  wire [2:0] uart_0_1_auto_control_xing_in_a_bits_param; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
  wire [1:0] uart_0_1_auto_control_xing_in_a_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
  wire [5:0] uart_0_1_auto_control_xing_in_a_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
  wire [28:0] uart_0_1_auto_control_xing_in_a_bits_address; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
  wire [3:0] uart_0_1_auto_control_xing_in_a_bits_mask; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
  wire [31:0] uart_0_1_auto_control_xing_in_a_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
  wire  uart_0_1_auto_control_xing_in_a_bits_corrupt; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
  wire  uart_0_1_auto_control_xing_in_d_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
  wire  uart_0_1_auto_control_xing_in_d_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
  wire [2:0] uart_0_1_auto_control_xing_in_d_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
  wire [1:0] uart_0_1_auto_control_xing_in_d_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
  wire [5:0] uart_0_1_auto_control_xing_in_d_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
  wire [31:0] uart_0_1_auto_control_xing_in_d_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
  wire  uart_0_1_auto_io_out_txd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
  wire  uart_0_1_auto_io_out_rxd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
  wire  intsink_2_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296053.4]
  wire  intsink_2_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296053.4]
  wire  asyncXing_1_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296059.4]
  wire  asyncXing_1_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296059.4]
  wire  asyncXing_1_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296059.4]
  wire  uart_1_1_clock; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
  wire  uart_1_1_reset; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
  wire  uart_1_1_auto_int_xing_out_sync_0; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
  wire  uart_1_1_auto_control_xing_in_a_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
  wire  uart_1_1_auto_control_xing_in_a_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
  wire [2:0] uart_1_1_auto_control_xing_in_a_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
  wire [2:0] uart_1_1_auto_control_xing_in_a_bits_param; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
  wire [1:0] uart_1_1_auto_control_xing_in_a_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
  wire [5:0] uart_1_1_auto_control_xing_in_a_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
  wire [28:0] uart_1_1_auto_control_xing_in_a_bits_address; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
  wire [3:0] uart_1_1_auto_control_xing_in_a_bits_mask; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
  wire [31:0] uart_1_1_auto_control_xing_in_a_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
  wire  uart_1_1_auto_control_xing_in_a_bits_corrupt; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
  wire  uart_1_1_auto_control_xing_in_d_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
  wire  uart_1_1_auto_control_xing_in_d_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
  wire [2:0] uart_1_1_auto_control_xing_in_d_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
  wire [1:0] uart_1_1_auto_control_xing_in_d_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
  wire [5:0] uart_1_1_auto_control_xing_in_d_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
  wire [31:0] uart_1_1_auto_control_xing_in_d_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
  wire  uart_1_1_auto_io_out_txd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
  wire  uart_1_1_auto_io_out_rxd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
  wire  intsink_3_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296071.4]
  wire  intsink_3_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296071.4]
  wire  asyncXing_2_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296077.4]
  wire  asyncXing_2_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296077.4]
  wire  asyncXing_2_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296077.4]
  wire  uart_2_1_clock; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
  wire  uart_2_1_reset; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
  wire  uart_2_1_auto_int_xing_out_sync_0; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
  wire  uart_2_1_auto_control_xing_in_a_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
  wire  uart_2_1_auto_control_xing_in_a_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
  wire [2:0] uart_2_1_auto_control_xing_in_a_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
  wire [2:0] uart_2_1_auto_control_xing_in_a_bits_param; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
  wire [1:0] uart_2_1_auto_control_xing_in_a_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
  wire [5:0] uart_2_1_auto_control_xing_in_a_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
  wire [28:0] uart_2_1_auto_control_xing_in_a_bits_address; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
  wire [3:0] uart_2_1_auto_control_xing_in_a_bits_mask; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
  wire [31:0] uart_2_1_auto_control_xing_in_a_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
  wire  uart_2_1_auto_control_xing_in_a_bits_corrupt; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
  wire  uart_2_1_auto_control_xing_in_d_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
  wire  uart_2_1_auto_control_xing_in_d_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
  wire [2:0] uart_2_1_auto_control_xing_in_d_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
  wire [1:0] uart_2_1_auto_control_xing_in_d_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
  wire [5:0] uart_2_1_auto_control_xing_in_d_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
  wire [31:0] uart_2_1_auto_control_xing_in_d_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
  wire  uart_2_1_auto_io_out_txd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
  wire  uart_2_1_auto_io_out_rxd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
  wire  intsink_4_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296089.4]
  wire  intsink_4_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296089.4]
  wire  asyncXing_3_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296095.4]
  wire  asyncXing_3_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296095.4]
  wire  asyncXing_3_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296095.4]
  wire  uart_3_1_clock; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
  wire  uart_3_1_reset; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
  wire  uart_3_1_auto_int_xing_out_sync_0; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
  wire  uart_3_1_auto_control_xing_in_a_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
  wire  uart_3_1_auto_control_xing_in_a_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
  wire [2:0] uart_3_1_auto_control_xing_in_a_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
  wire [2:0] uart_3_1_auto_control_xing_in_a_bits_param; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
  wire [1:0] uart_3_1_auto_control_xing_in_a_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
  wire [5:0] uart_3_1_auto_control_xing_in_a_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
  wire [28:0] uart_3_1_auto_control_xing_in_a_bits_address; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
  wire [3:0] uart_3_1_auto_control_xing_in_a_bits_mask; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
  wire [31:0] uart_3_1_auto_control_xing_in_a_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
  wire  uart_3_1_auto_control_xing_in_a_bits_corrupt; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
  wire  uart_3_1_auto_control_xing_in_d_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
  wire  uart_3_1_auto_control_xing_in_d_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
  wire [2:0] uart_3_1_auto_control_xing_in_d_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
  wire [1:0] uart_3_1_auto_control_xing_in_d_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
  wire [5:0] uart_3_1_auto_control_xing_in_d_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
  wire [31:0] uart_3_1_auto_control_xing_in_d_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
  wire  uart_3_1_auto_io_out_txd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
  wire  uart_3_1_auto_io_out_rxd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
  wire  intsink_5_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296107.4]
  wire  intsink_5_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296107.4]
  wire  asyncXing_4_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296113.4]
  wire  asyncXing_4_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296113.4]
  wire  asyncXing_4_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296113.4]
  wire  uart_4_1_clock; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
  wire  uart_4_1_reset; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
  wire  uart_4_1_auto_int_xing_out_sync_0; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
  wire  uart_4_1_auto_control_xing_in_a_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
  wire  uart_4_1_auto_control_xing_in_a_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
  wire [2:0] uart_4_1_auto_control_xing_in_a_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
  wire [2:0] uart_4_1_auto_control_xing_in_a_bits_param; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
  wire [1:0] uart_4_1_auto_control_xing_in_a_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
  wire [5:0] uart_4_1_auto_control_xing_in_a_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
  wire [28:0] uart_4_1_auto_control_xing_in_a_bits_address; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
  wire [3:0] uart_4_1_auto_control_xing_in_a_bits_mask; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
  wire [31:0] uart_4_1_auto_control_xing_in_a_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
  wire  uart_4_1_auto_control_xing_in_a_bits_corrupt; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
  wire  uart_4_1_auto_control_xing_in_d_ready; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
  wire  uart_4_1_auto_control_xing_in_d_valid; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
  wire [2:0] uart_4_1_auto_control_xing_in_d_bits_opcode; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
  wire [1:0] uart_4_1_auto_control_xing_in_d_bits_size; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
  wire [5:0] uart_4_1_auto_control_xing_in_d_bits_source; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
  wire [31:0] uart_4_1_auto_control_xing_in_d_bits_data; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
  wire  uart_4_1_auto_io_out_txd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
  wire  uart_4_1_auto_io_out_rxd; // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
  wire  intsink_6_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296125.4]
  wire  intsink_6_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296125.4]
  wire  asyncXing_5_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296131.4]
  wire  asyncXing_5_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296131.4]
  wire  asyncXing_5_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296131.4]
  wire  qspi_0_1_clock; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_reset; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_int_xing_out_sync_0; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_mem_xing_in_a_ready; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_mem_xing_in_a_valid; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire [2:0] qspi_0_1_auto_mem_xing_in_a_bits_opcode; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire [2:0] qspi_0_1_auto_mem_xing_in_a_bits_param; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_mem_xing_in_a_bits_size; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire [7:0] qspi_0_1_auto_mem_xing_in_a_bits_source; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire [29:0] qspi_0_1_auto_mem_xing_in_a_bits_address; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_mem_xing_in_a_bits_mask; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_mem_xing_in_a_bits_corrupt; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_mem_xing_in_d_ready; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_mem_xing_in_d_valid; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_mem_xing_in_d_bits_size; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire [7:0] qspi_0_1_auto_mem_xing_in_d_bits_source; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire [7:0] qspi_0_1_auto_mem_xing_in_d_bits_data; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_control_xing_in_a_ready; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_control_xing_in_a_valid; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire [2:0] qspi_0_1_auto_control_xing_in_a_bits_opcode; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire [2:0] qspi_0_1_auto_control_xing_in_a_bits_param; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire [1:0] qspi_0_1_auto_control_xing_in_a_bits_size; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire [5:0] qspi_0_1_auto_control_xing_in_a_bits_source; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire [28:0] qspi_0_1_auto_control_xing_in_a_bits_address; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire [3:0] qspi_0_1_auto_control_xing_in_a_bits_mask; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire [31:0] qspi_0_1_auto_control_xing_in_a_bits_data; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_control_xing_in_a_bits_corrupt; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_control_xing_in_d_ready; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_control_xing_in_d_valid; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire [2:0] qspi_0_1_auto_control_xing_in_d_bits_opcode; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire [1:0] qspi_0_1_auto_control_xing_in_d_bits_size; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire [5:0] qspi_0_1_auto_control_xing_in_d_bits_source; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire [31:0] qspi_0_1_auto_control_xing_in_d_bits_data; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_io_out_sck; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_io_out_dq_0_i; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_io_out_dq_0_o; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_io_out_dq_0_oe; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_io_out_dq_1_i; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_io_out_dq_1_o; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_io_out_dq_1_oe; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_io_out_dq_2_i; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_io_out_dq_2_o; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_io_out_dq_2_oe; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_io_out_dq_3_i; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_io_out_dq_3_o; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_io_out_dq_3_oe; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  qspi_0_1_auto_io_out_cs_0; // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
  wire  intsink_7_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296143.4]
  wire  intsink_7_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296143.4]
  wire  asyncXing_6_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296149.4]
  wire  asyncXing_6_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296149.4]
  wire  asyncXing_6_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296149.4]
  wire  spi_0_1_clock; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire  spi_0_1_reset; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire  spi_0_1_auto_int_xing_out_sync_0; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire  spi_0_1_auto_control_xing_in_a_ready; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire  spi_0_1_auto_control_xing_in_a_valid; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire [2:0] spi_0_1_auto_control_xing_in_a_bits_opcode; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire [2:0] spi_0_1_auto_control_xing_in_a_bits_param; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire [1:0] spi_0_1_auto_control_xing_in_a_bits_size; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire [5:0] spi_0_1_auto_control_xing_in_a_bits_source; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire [28:0] spi_0_1_auto_control_xing_in_a_bits_address; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire [3:0] spi_0_1_auto_control_xing_in_a_bits_mask; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire [31:0] spi_0_1_auto_control_xing_in_a_bits_data; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire  spi_0_1_auto_control_xing_in_a_bits_corrupt; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire  spi_0_1_auto_control_xing_in_d_ready; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire  spi_0_1_auto_control_xing_in_d_valid; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire [2:0] spi_0_1_auto_control_xing_in_d_bits_opcode; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire [1:0] spi_0_1_auto_control_xing_in_d_bits_size; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire [5:0] spi_0_1_auto_control_xing_in_d_bits_source; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire [31:0] spi_0_1_auto_control_xing_in_d_bits_data; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire  spi_0_1_auto_io_out_sck; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire  spi_0_1_auto_io_out_dq_0_i; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire  spi_0_1_auto_io_out_dq_0_o; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire  spi_0_1_auto_io_out_dq_0_oe; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire  spi_0_1_auto_io_out_dq_1_i; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire  spi_0_1_auto_io_out_dq_1_o; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire  spi_0_1_auto_io_out_dq_1_oe; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire  spi_0_1_auto_io_out_dq_2_i; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire  spi_0_1_auto_io_out_dq_2_o; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire  spi_0_1_auto_io_out_dq_2_oe; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire  spi_0_1_auto_io_out_dq_3_i; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire  spi_0_1_auto_io_out_dq_3_o; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire  spi_0_1_auto_io_out_dq_3_oe; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire  spi_0_1_auto_io_out_cs_0; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire  spi_0_1_auto_io_out_cs_1; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
  wire  intsink_8_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296161.4]
  wire  intsink_8_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296161.4]
  wire  asyncXing_7_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296167.4]
  wire  asyncXing_7_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296167.4]
  wire  asyncXing_7_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296167.4]
  wire  spi_1_1_clock; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire  spi_1_1_reset; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire  spi_1_1_auto_int_xing_out_sync_0; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire  spi_1_1_auto_control_xing_in_a_ready; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire  spi_1_1_auto_control_xing_in_a_valid; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire [2:0] spi_1_1_auto_control_xing_in_a_bits_opcode; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire [2:0] spi_1_1_auto_control_xing_in_a_bits_param; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire [1:0] spi_1_1_auto_control_xing_in_a_bits_size; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire [5:0] spi_1_1_auto_control_xing_in_a_bits_source; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire [28:0] spi_1_1_auto_control_xing_in_a_bits_address; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire [3:0] spi_1_1_auto_control_xing_in_a_bits_mask; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire [31:0] spi_1_1_auto_control_xing_in_a_bits_data; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire  spi_1_1_auto_control_xing_in_a_bits_corrupt; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire  spi_1_1_auto_control_xing_in_d_ready; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire  spi_1_1_auto_control_xing_in_d_valid; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire [2:0] spi_1_1_auto_control_xing_in_d_bits_opcode; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire [1:0] spi_1_1_auto_control_xing_in_d_bits_size; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire [5:0] spi_1_1_auto_control_xing_in_d_bits_source; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire [31:0] spi_1_1_auto_control_xing_in_d_bits_data; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire  spi_1_1_auto_io_out_sck; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire  spi_1_1_auto_io_out_dq_0_i; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire  spi_1_1_auto_io_out_dq_0_o; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire  spi_1_1_auto_io_out_dq_0_oe; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire  spi_1_1_auto_io_out_dq_1_i; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire  spi_1_1_auto_io_out_dq_1_o; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire  spi_1_1_auto_io_out_dq_1_oe; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire  spi_1_1_auto_io_out_dq_2_i; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire  spi_1_1_auto_io_out_dq_2_o; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire  spi_1_1_auto_io_out_dq_2_oe; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire  spi_1_1_auto_io_out_dq_3_i; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire  spi_1_1_auto_io_out_dq_3_o; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire  spi_1_1_auto_io_out_dq_3_oe; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire  spi_1_1_auto_io_out_cs_0; // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
  wire  intsink_9_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296179.4]
  wire  intsink_9_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296179.4]
  wire  asyncXing_8_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_1; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_2; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_3; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_4; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_5; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_6; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_7; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_8; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_9; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_10; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_11; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_12; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_13; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_14; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_15; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_16; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_17; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_18; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_19; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_20; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_21; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_22; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_23; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_24; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_25; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_26; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_27; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_28; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_29; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_30; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_in_31; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_1; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_2; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_3; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_4; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_5; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_6; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_7; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_8; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_9; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_10; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_11; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_12; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_13; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_14; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_15; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_16; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_17; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_18; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_19; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_20; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_21; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_22; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_23; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_24; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_25; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_26; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_27; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_28; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_29; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_30; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  asyncXing_8_auto_int_out_31; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
  wire  gpio_0_1_clock; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_reset; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_0; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_1; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_2; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_3; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_4; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_5; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_6; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_7; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_8; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_9; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_10; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_11; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_12; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_13; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_14; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_15; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_16; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_17; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_18; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_19; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_20; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_21; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_22; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_23; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_24; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_25; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_26; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_27; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_28; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_29; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_30; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_int_xing_out_sync_31; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_control_xing_in_a_ready; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_control_xing_in_a_valid; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire [2:0] gpio_0_1_auto_control_xing_in_a_bits_opcode; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire [2:0] gpio_0_1_auto_control_xing_in_a_bits_param; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire [1:0] gpio_0_1_auto_control_xing_in_a_bits_size; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire [5:0] gpio_0_1_auto_control_xing_in_a_bits_source; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire [28:0] gpio_0_1_auto_control_xing_in_a_bits_address; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire [3:0] gpio_0_1_auto_control_xing_in_a_bits_mask; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire [31:0] gpio_0_1_auto_control_xing_in_a_bits_data; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_control_xing_in_a_bits_corrupt; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_control_xing_in_d_ready; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_control_xing_in_d_valid; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire [2:0] gpio_0_1_auto_control_xing_in_d_bits_opcode; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire [1:0] gpio_0_1_auto_control_xing_in_d_bits_size; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire [5:0] gpio_0_1_auto_control_xing_in_d_bits_source; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire [31:0] gpio_0_1_auto_control_xing_in_d_bits_data; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_0_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_0_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_0_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_0_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_1_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_1_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_1_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_1_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_2_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_2_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_2_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_2_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_3_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_3_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_3_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_3_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_4_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_4_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_4_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_4_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_5_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_5_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_5_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_5_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_6_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_6_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_6_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_6_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_7_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_7_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_7_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_7_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_8_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_8_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_8_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_8_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_9_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_9_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_9_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_9_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_10_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_10_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_10_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_10_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_11_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_11_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_11_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_11_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_12_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_12_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_12_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_12_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_13_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_13_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_13_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_13_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_14_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_14_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_14_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_14_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_15_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_15_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_15_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_15_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_16_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_16_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_16_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_16_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_17_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_17_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_17_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_17_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_18_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_18_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_18_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_18_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_19_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_19_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_19_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_19_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_20_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_20_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_20_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_20_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_21_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_21_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_21_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_21_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_22_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_22_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_22_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_22_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_23_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_23_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_23_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_23_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_24_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_24_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_24_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_pins_24_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_0_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_1_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_2_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_2_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_2_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_2_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_3_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_3_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_3_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_3_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_4_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_4_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_4_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_4_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_5_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_5_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_5_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_5_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_6_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_7_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_8_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_8_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_8_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_8_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_9_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_9_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_9_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_9_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_10_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_10_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_10_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_10_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_11_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_11_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_11_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_11_o_ie; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_12_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_12_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_13_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_13_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_14_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_14_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_15_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_15_o_oe; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_16_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_17_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_18_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_19_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_20_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_21_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_22_i_ival; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_23_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  gpio_0_1_auto_io_out_iof_0_24_o_oval; // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
  wire  intsink_10_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_1; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_2; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_3; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_4; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_5; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_6; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_7; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_8; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_9; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_10; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_11; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_12; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_13; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_14; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_15; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_16; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_17; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_18; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_19; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_20; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_21; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_22; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_23; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_24; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_25; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_26; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_27; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_28; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_29; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_30; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_in_sync_31; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_1; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_2; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_3; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_4; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_5; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_6; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_7; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_8; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_9; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_10; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_11; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_12; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_13; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_14; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_15; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_16; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_17; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_18; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_19; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_20; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_21; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_22; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_23; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_24; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_25; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_26; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_27; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_28; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_29; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_30; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  intsink_10_auto_out_31; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
  wire  asyncXing_9_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296203.4]
  wire  asyncXing_9_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296203.4]
  wire  asyncXing_9_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296203.4]
  wire  i2c_0_1_clock; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
  wire  i2c_0_1_reset; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
  wire  i2c_0_1_auto_int_xing_out_sync_0; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
  wire  i2c_0_1_auto_control_xing_in_a_ready; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
  wire  i2c_0_1_auto_control_xing_in_a_valid; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
  wire [2:0] i2c_0_1_auto_control_xing_in_a_bits_opcode; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
  wire [2:0] i2c_0_1_auto_control_xing_in_a_bits_param; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
  wire [1:0] i2c_0_1_auto_control_xing_in_a_bits_size; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
  wire [5:0] i2c_0_1_auto_control_xing_in_a_bits_source; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
  wire [28:0] i2c_0_1_auto_control_xing_in_a_bits_address; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
  wire [3:0] i2c_0_1_auto_control_xing_in_a_bits_mask; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
  wire [31:0] i2c_0_1_auto_control_xing_in_a_bits_data; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
  wire  i2c_0_1_auto_control_xing_in_a_bits_corrupt; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
  wire  i2c_0_1_auto_control_xing_in_d_ready; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
  wire  i2c_0_1_auto_control_xing_in_d_valid; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
  wire [2:0] i2c_0_1_auto_control_xing_in_d_bits_opcode; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
  wire [1:0] i2c_0_1_auto_control_xing_in_d_bits_size; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
  wire [5:0] i2c_0_1_auto_control_xing_in_d_bits_source; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
  wire [31:0] i2c_0_1_auto_control_xing_in_d_bits_data; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
  wire  i2c_0_1_auto_io_out_scl_in; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
  wire  i2c_0_1_auto_io_out_scl_oe; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
  wire  i2c_0_1_auto_io_out_sda_in; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
  wire  i2c_0_1_auto_io_out_sda_oe; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
  wire  intsink_11_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296215.4]
  wire  intsink_11_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296215.4]
  wire  asyncXing_10_clock; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296221.4]
  wire  asyncXing_10_auto_int_in_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296221.4]
  wire  asyncXing_10_auto_int_out_0; // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296221.4]
  wire  i2c_1_1_clock; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
  wire  i2c_1_1_reset; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
  wire  i2c_1_1_auto_int_xing_out_sync_0; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
  wire  i2c_1_1_auto_control_xing_in_a_ready; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
  wire  i2c_1_1_auto_control_xing_in_a_valid; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
  wire [2:0] i2c_1_1_auto_control_xing_in_a_bits_opcode; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
  wire [2:0] i2c_1_1_auto_control_xing_in_a_bits_param; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
  wire [1:0] i2c_1_1_auto_control_xing_in_a_bits_size; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
  wire [5:0] i2c_1_1_auto_control_xing_in_a_bits_source; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
  wire [28:0] i2c_1_1_auto_control_xing_in_a_bits_address; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
  wire [3:0] i2c_1_1_auto_control_xing_in_a_bits_mask; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
  wire [31:0] i2c_1_1_auto_control_xing_in_a_bits_data; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
  wire  i2c_1_1_auto_control_xing_in_a_bits_corrupt; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
  wire  i2c_1_1_auto_control_xing_in_d_ready; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
  wire  i2c_1_1_auto_control_xing_in_d_valid; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
  wire [2:0] i2c_1_1_auto_control_xing_in_d_bits_opcode; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
  wire [1:0] i2c_1_1_auto_control_xing_in_d_bits_size; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
  wire [5:0] i2c_1_1_auto_control_xing_in_d_bits_source; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
  wire [31:0] i2c_1_1_auto_control_xing_in_d_bits_data; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
  wire  i2c_1_1_auto_io_out_scl_in; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
  wire  i2c_1_1_auto_io_out_scl_oe; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
  wire  i2c_1_1_auto_io_out_sda_in; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
  wire  i2c_1_1_auto_io_out_sda_oe; // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
  wire  intsink_12_auto_in_sync_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296233.4]
  wire  intsink_12_auto_out_0; // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296233.4]
  wire  dtm_clock; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
  wire  dtm_reset; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
  wire  dtm_io_dmi_req_ready; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
  wire  dtm_io_dmi_req_valid; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
  wire [6:0] dtm_io_dmi_req_bits_addr; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
  wire [31:0] dtm_io_dmi_req_bits_data; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
  wire [1:0] dtm_io_dmi_req_bits_op; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
  wire  dtm_io_dmi_resp_ready; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
  wire  dtm_io_dmi_resp_valid; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
  wire [31:0] dtm_io_dmi_resp_bits_data; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
  wire [1:0] dtm_io_dmi_resp_bits_resp; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
  wire  dtm_io_jtag_TMS; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
  wire  dtm_io_jtag_TDI; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
  wire  dtm_io_jtag_TDO_data; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
  wire  dtm_io_jtag_TDO_driven; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
  wire  dtm_io_jtag_reset; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
  wire  dtm_io_fsmReset; // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
  wire  dmiResetCatch_clock; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296465.4]
  wire  dmiResetCatch_reset; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296465.4]
  wire  dmiResetCatch_io_sync_reset; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296465.4]
  wire  rtc_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296493.4]
  wire  rtc_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296493.4]
  wire  rtc_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296493.4]
  wire  _T_2162; // @[Periphery.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@296460.4]
  reg  rtc_last; // @[MockAONPeriphery.scala 45:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296501.4]
  reg [31:0] _RAND_0;
  wire  _T_3451; // @[MockAONPeriphery.scala 46:60:shc.marmotcaravel.MarmotCaravelConfig.fir@296503.4]
  wire  rtc_sync; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@296498.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@296500.4]
  wire  _T_3452; // @[MockAONPeriphery.scala 46:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296504.4]
  reg  rtc_tick; // @[MockAONPeriphery.scala 46:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296505.4]
  reg [31:0] _RAND_1;
  wire [31:0] global_reset_vector; // @[ResetVector.scala 10:33:shc.marmotcaravel.MarmotCaravelConfig.fir@296434.4 System.scala 46:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296511.4]
  wire  tile_inputs_0_hartid; // @[HasTiles.scala 137:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296436.4 RocketSubsystem.scala 74:17:shc.marmotcaravel.MarmotCaravelConfig.fir@296476.4]
  wire [31:0] tile_inputs_0_reset_vector; // @[HasTiles.scala 137:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296436.4 RocketSubsystem.scala 75:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296477.4]
  wire  tile_inputs_0_clock; // @[HasTiles.scala 137:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296436.4 RocketSubsystem.scala 72:16:shc.marmotcaravel.MarmotCaravelConfig.fir@296474.4]
  wire  tile_inputs_0_reset; // @[HasTiles.scala 137:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296436.4 RocketSubsystem.scala 73:16:shc.marmotcaravel.MarmotCaravelConfig.fir@296475.4]
  IntXbar int_bus ( // @[InterruptBus.scala 13:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295929.4]
    .auto_int_in_11_0(int_bus_auto_int_in_11_0),
    .auto_int_in_10_0(int_bus_auto_int_in_10_0),
    .auto_int_in_9_0(int_bus_auto_int_in_9_0),
    .auto_int_in_9_1(int_bus_auto_int_in_9_1),
    .auto_int_in_9_2(int_bus_auto_int_in_9_2),
    .auto_int_in_9_3(int_bus_auto_int_in_9_3),
    .auto_int_in_9_4(int_bus_auto_int_in_9_4),
    .auto_int_in_9_5(int_bus_auto_int_in_9_5),
    .auto_int_in_9_6(int_bus_auto_int_in_9_6),
    .auto_int_in_9_7(int_bus_auto_int_in_9_7),
    .auto_int_in_9_8(int_bus_auto_int_in_9_8),
    .auto_int_in_9_9(int_bus_auto_int_in_9_9),
    .auto_int_in_9_10(int_bus_auto_int_in_9_10),
    .auto_int_in_9_11(int_bus_auto_int_in_9_11),
    .auto_int_in_9_12(int_bus_auto_int_in_9_12),
    .auto_int_in_9_13(int_bus_auto_int_in_9_13),
    .auto_int_in_9_14(int_bus_auto_int_in_9_14),
    .auto_int_in_9_15(int_bus_auto_int_in_9_15),
    .auto_int_in_9_16(int_bus_auto_int_in_9_16),
    .auto_int_in_9_17(int_bus_auto_int_in_9_17),
    .auto_int_in_9_18(int_bus_auto_int_in_9_18),
    .auto_int_in_9_19(int_bus_auto_int_in_9_19),
    .auto_int_in_9_20(int_bus_auto_int_in_9_20),
    .auto_int_in_9_21(int_bus_auto_int_in_9_21),
    .auto_int_in_9_22(int_bus_auto_int_in_9_22),
    .auto_int_in_9_23(int_bus_auto_int_in_9_23),
    .auto_int_in_9_24(int_bus_auto_int_in_9_24),
    .auto_int_in_9_25(int_bus_auto_int_in_9_25),
    .auto_int_in_9_26(int_bus_auto_int_in_9_26),
    .auto_int_in_9_27(int_bus_auto_int_in_9_27),
    .auto_int_in_9_28(int_bus_auto_int_in_9_28),
    .auto_int_in_9_29(int_bus_auto_int_in_9_29),
    .auto_int_in_9_30(int_bus_auto_int_in_9_30),
    .auto_int_in_9_31(int_bus_auto_int_in_9_31),
    .auto_int_in_8_0(int_bus_auto_int_in_8_0),
    .auto_int_in_7_0(int_bus_auto_int_in_7_0),
    .auto_int_in_6_0(int_bus_auto_int_in_6_0),
    .auto_int_in_5_0(int_bus_auto_int_in_5_0),
    .auto_int_in_4_0(int_bus_auto_int_in_4_0),
    .auto_int_in_3_0(int_bus_auto_int_in_3_0),
    .auto_int_in_2_0(int_bus_auto_int_in_2_0),
    .auto_int_in_1_0(int_bus_auto_int_in_1_0),
    .auto_int_in_0_0(int_bus_auto_int_in_0_0),
    .auto_int_in_0_1(int_bus_auto_int_in_0_1),
    .auto_int_out_0(int_bus_auto_int_out_0),
    .auto_int_out_1(int_bus_auto_int_out_1),
    .auto_int_out_2(int_bus_auto_int_out_2),
    .auto_int_out_3(int_bus_auto_int_out_3),
    .auto_int_out_4(int_bus_auto_int_out_4),
    .auto_int_out_5(int_bus_auto_int_out_5),
    .auto_int_out_6(int_bus_auto_int_out_6),
    .auto_int_out_7(int_bus_auto_int_out_7),
    .auto_int_out_8(int_bus_auto_int_out_8),
    .auto_int_out_9(int_bus_auto_int_out_9),
    .auto_int_out_10(int_bus_auto_int_out_10),
    .auto_int_out_11(int_bus_auto_int_out_11),
    .auto_int_out_12(int_bus_auto_int_out_12),
    .auto_int_out_13(int_bus_auto_int_out_13),
    .auto_int_out_14(int_bus_auto_int_out_14),
    .auto_int_out_15(int_bus_auto_int_out_15),
    .auto_int_out_16(int_bus_auto_int_out_16),
    .auto_int_out_17(int_bus_auto_int_out_17),
    .auto_int_out_18(int_bus_auto_int_out_18),
    .auto_int_out_19(int_bus_auto_int_out_19),
    .auto_int_out_20(int_bus_auto_int_out_20),
    .auto_int_out_21(int_bus_auto_int_out_21),
    .auto_int_out_22(int_bus_auto_int_out_22),
    .auto_int_out_23(int_bus_auto_int_out_23),
    .auto_int_out_24(int_bus_auto_int_out_24),
    .auto_int_out_25(int_bus_auto_int_out_25),
    .auto_int_out_26(int_bus_auto_int_out_26),
    .auto_int_out_27(int_bus_auto_int_out_27),
    .auto_int_out_28(int_bus_auto_int_out_28),
    .auto_int_out_29(int_bus_auto_int_out_29),
    .auto_int_out_30(int_bus_auto_int_out_30),
    .auto_int_out_31(int_bus_auto_int_out_31),
    .auto_int_out_32(int_bus_auto_int_out_32),
    .auto_int_out_33(int_bus_auto_int_out_33),
    .auto_int_out_34(int_bus_auto_int_out_34),
    .auto_int_out_35(int_bus_auto_int_out_35),
    .auto_int_out_36(int_bus_auto_int_out_36),
    .auto_int_out_37(int_bus_auto_int_out_37),
    .auto_int_out_38(int_bus_auto_int_out_38),
    .auto_int_out_39(int_bus_auto_int_out_39),
    .auto_int_out_40(int_bus_auto_int_out_40),
    .auto_int_out_41(int_bus_auto_int_out_41),
    .auto_int_out_42(int_bus_auto_int_out_42),
    .auto_int_out_43(int_bus_auto_int_out_43)
  );
  SystemBus sbus ( // @[BaseSubsystem.scala 36:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295935.4]
    .clock(sbus_clock),
    .reset(sbus_reset),
    .auto_coupler_from_tile_named_tile_tl_master_xing_in_a_ready(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_ready),
    .auto_coupler_from_tile_named_tile_tl_master_xing_in_a_valid(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_valid),
    .auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_opcode(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_opcode),
    .auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_param(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_param),
    .auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_size(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_size),
    .auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_source(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_source),
    .auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_address(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_address),
    .auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_mask(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_mask),
    .auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_data(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_data),
    .auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_corrupt(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_corrupt),
    .auto_coupler_from_tile_named_tile_tl_master_xing_in_d_ready(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_ready),
    .auto_coupler_from_tile_named_tile_tl_master_xing_in_d_valid(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_valid),
    .auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_opcode(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_opcode),
    .auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_param(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_param),
    .auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_size(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_size),
    .auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_source(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_source),
    .auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_sink(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_sink),
    .auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_denied(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_denied),
    .auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_data(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_data),
    .auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_corrupt(sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_corrupt),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_opcode(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_opcode),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_param(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_param),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_size(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_size),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_source(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_source),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_address(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_address),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_mask(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_mask),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_data(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_data),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_corrupt(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_corrupt),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_ridx(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_ridx),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_widx(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_widx),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_ridx_valid(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_ridx_valid),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_widx_valid(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_widx_valid),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_source_reset_n(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_source_reset_n),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_sink_reset_n(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_sink_reset_n),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_opcode(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_opcode),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_param(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_param),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_size(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_size),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_source(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_source),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_sink(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_sink),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_denied(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_denied),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_data(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_data),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_corrupt(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_corrupt),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_ridx(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_ridx),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_widx(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_widx),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_ridx_valid(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_ridx_valid),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_widx_valid(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_widx_valid),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_source_reset_n(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_source_reset_n),
    .auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_sink_reset_n(sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_sink_reset_n),
    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready),
    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid),
    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_opcode(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_opcode),
    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_param(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_param),
    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_size(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_size),
    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_source(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_source),
    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_address(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_address),
    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_mask(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_mask),
    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt),
    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready),
    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid),
    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_size(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_size),
    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_source(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_source),
    .auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_data(sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_data),
    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_ready(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_ready),
    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_valid(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_valid),
    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_opcode(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_opcode),
    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_param(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_param),
    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_size(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_size),
    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_source(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_source),
    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_address(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_address),
    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_mask(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_mask),
    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_data(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_data),
    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_corrupt(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_corrupt),
    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_ready(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_ready),
    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_valid(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_valid),
    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_opcode(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_opcode),
    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_param(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_param),
    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_size(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_size),
    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_source(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_source),
    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_sink(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_sink),
    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_denied(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_denied),
    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_data(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_data),
    .auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_corrupt(sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_corrupt),
    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_ready(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_ready),
    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_valid(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_valid),
    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_opcode(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_opcode),
    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_param(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_param),
    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_size(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_size),
    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_source(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_source),
    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_address(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_address),
    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_mask(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_mask),
    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_data(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_data),
    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt),
    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_ready(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_ready),
    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_valid(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_valid),
    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_opcode(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_opcode),
    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_size(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_size),
    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_source(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_source),
    .auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_data(sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_data),
    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_ready(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_ready),
    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_valid(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_valid),
    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_opcode(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_opcode),
    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_param(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_param),
    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_size(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_size),
    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_source(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_source),
    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_address(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_address),
    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_mask(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_mask),
    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_data(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_data),
    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt),
    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_ready(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_ready),
    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_valid(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_valid),
    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_opcode(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_opcode),
    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_size(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_size),
    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_source(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_source),
    .auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_data(sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_data),
    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_ready(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_ready),
    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_valid(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_valid),
    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_opcode(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_opcode),
    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_param(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_param),
    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_size(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_size),
    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_source(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_source),
    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_address(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_address),
    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_mask(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_mask),
    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_data(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_data),
    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt),
    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_ready(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_ready),
    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_valid(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_valid),
    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_opcode(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_opcode),
    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_size(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_size),
    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_source(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_source),
    .auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_data(sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_data),
    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_ready(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_ready),
    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_valid(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_valid),
    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_opcode(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_opcode),
    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_param(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_param),
    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_size(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_size),
    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_source(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_source),
    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address),
    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_mask(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_mask),
    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_data(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_data),
    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_corrupt(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_corrupt),
    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_ready(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_ready),
    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_valid(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_valid),
    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_opcode(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_opcode),
    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_param(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_param),
    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_size(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_size),
    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_source(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_source),
    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_sink(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_sink),
    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_denied(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_denied),
    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_data(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_data),
    .auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_corrupt(sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_corrupt)
  );
  PeripheryBus_1 pbus ( // @[BaseSubsystem.scala 37:24:shc.marmotcaravel.MarmotCaravelConfig.fir@295941.4]
    .clock(pbus_clock),
    .reset(pbus_reset),
    .auto_coupler_to_device_named_i2c_1_control_xing_out_a_ready(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_ready),
    .auto_coupler_to_device_named_i2c_1_control_xing_out_a_valid(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_valid),
    .auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_opcode(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_opcode),
    .auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_param(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_param),
    .auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_size(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_size),
    .auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_source(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_source),
    .auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_address(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_address),
    .auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_mask(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_mask),
    .auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_data(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_data),
    .auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_corrupt(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_corrupt),
    .auto_coupler_to_device_named_i2c_1_control_xing_out_d_ready(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_ready),
    .auto_coupler_to_device_named_i2c_1_control_xing_out_d_valid(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_valid),
    .auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_opcode(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_opcode),
    .auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_size(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_size),
    .auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_source(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_source),
    .auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_data(pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_data),
    .auto_coupler_to_device_named_i2c_0_control_xing_out_a_ready(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_ready),
    .auto_coupler_to_device_named_i2c_0_control_xing_out_a_valid(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_valid),
    .auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_opcode(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_opcode),
    .auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_param(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_param),
    .auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_size(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_size),
    .auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_source(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_source),
    .auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_address(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_address),
    .auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_mask(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_mask),
    .auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_data(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_data),
    .auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_corrupt(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_corrupt),
    .auto_coupler_to_device_named_i2c_0_control_xing_out_d_ready(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_ready),
    .auto_coupler_to_device_named_i2c_0_control_xing_out_d_valid(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_valid),
    .auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_opcode(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_opcode),
    .auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_size(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_size),
    .auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_source(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_source),
    .auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_data(pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_data),
    .auto_coupler_to_device_named_gpio_0_control_xing_out_a_ready(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_ready),
    .auto_coupler_to_device_named_gpio_0_control_xing_out_a_valid(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_valid),
    .auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_opcode(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_opcode),
    .auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_param(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_param),
    .auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_size(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_size),
    .auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_source(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_source),
    .auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_address(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_address),
    .auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_mask(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_mask),
    .auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_data(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_data),
    .auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_corrupt(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_corrupt),
    .auto_coupler_to_device_named_gpio_0_control_xing_out_d_ready(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_ready),
    .auto_coupler_to_device_named_gpio_0_control_xing_out_d_valid(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_valid),
    .auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_opcode(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_opcode),
    .auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_size(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_size),
    .auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_source(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_source),
    .auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_data(pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_data),
    .auto_coupler_to_device_named_spi_1_control_xing_out_a_ready(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_ready),
    .auto_coupler_to_device_named_spi_1_control_xing_out_a_valid(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_valid),
    .auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_opcode(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_opcode),
    .auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_param(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_param),
    .auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_size(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_size),
    .auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_source(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_source),
    .auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_address(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_address),
    .auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_mask(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_mask),
    .auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_data(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_data),
    .auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_corrupt(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_corrupt),
    .auto_coupler_to_device_named_spi_1_control_xing_out_d_ready(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_ready),
    .auto_coupler_to_device_named_spi_1_control_xing_out_d_valid(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_valid),
    .auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_opcode(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_opcode),
    .auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_size(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_size),
    .auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_source(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_source),
    .auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_data(pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_data),
    .auto_coupler_to_device_named_spi_0_control_xing_out_a_ready(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_ready),
    .auto_coupler_to_device_named_spi_0_control_xing_out_a_valid(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_valid),
    .auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_opcode(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_opcode),
    .auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_param(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_param),
    .auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_size(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_size),
    .auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_source(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_source),
    .auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_address(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_address),
    .auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_mask(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_mask),
    .auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_data(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_data),
    .auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_corrupt(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_corrupt),
    .auto_coupler_to_device_named_spi_0_control_xing_out_d_ready(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_ready),
    .auto_coupler_to_device_named_spi_0_control_xing_out_d_valid(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_valid),
    .auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_opcode(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_opcode),
    .auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_size(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_size),
    .auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_source(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_source),
    .auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_data(pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_data),
    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_ready(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_ready),
    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_valid(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_valid),
    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_opcode(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_opcode),
    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_param(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_param),
    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_size(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_size),
    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_source(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_source),
    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_address(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_address),
    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_mask(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_mask),
    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_corrupt(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_corrupt),
    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_ready(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_ready),
    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_valid(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_valid),
    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_size(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_size),
    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_source(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_source),
    .auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_data(pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_data),
    .auto_coupler_to_device_named_qspi_0_control_xing_out_a_ready(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_ready),
    .auto_coupler_to_device_named_qspi_0_control_xing_out_a_valid(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_valid),
    .auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_opcode(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_opcode),
    .auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_param(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_param),
    .auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_size(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_size),
    .auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_source(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_source),
    .auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_address(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_address),
    .auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_mask(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_mask),
    .auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_data(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_data),
    .auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_corrupt(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_corrupt),
    .auto_coupler_to_device_named_qspi_0_control_xing_out_d_ready(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_ready),
    .auto_coupler_to_device_named_qspi_0_control_xing_out_d_valid(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_valid),
    .auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_opcode(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_opcode),
    .auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_size(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_size),
    .auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_source(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_source),
    .auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_data(pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_data),
    .auto_coupler_to_slave_named_uart_4_control_xing_out_a_ready(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_ready),
    .auto_coupler_to_slave_named_uart_4_control_xing_out_a_valid(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_valid),
    .auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_opcode(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_opcode),
    .auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_param(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_param),
    .auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_size(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_size),
    .auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_source(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_source),
    .auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_address(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_address),
    .auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_mask(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_mask),
    .auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_data(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_data),
    .auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_corrupt(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_corrupt),
    .auto_coupler_to_slave_named_uart_4_control_xing_out_d_ready(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_ready),
    .auto_coupler_to_slave_named_uart_4_control_xing_out_d_valid(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_valid),
    .auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_opcode(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_opcode),
    .auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_size(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_size),
    .auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_source(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_source),
    .auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_data(pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_data),
    .auto_coupler_to_slave_named_uart_3_control_xing_out_a_ready(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_ready),
    .auto_coupler_to_slave_named_uart_3_control_xing_out_a_valid(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_valid),
    .auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_opcode(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_opcode),
    .auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_param(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_param),
    .auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_size(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_size),
    .auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_source(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_source),
    .auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_address(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_address),
    .auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_mask(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_mask),
    .auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_data(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_data),
    .auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_corrupt(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_corrupt),
    .auto_coupler_to_slave_named_uart_3_control_xing_out_d_ready(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_ready),
    .auto_coupler_to_slave_named_uart_3_control_xing_out_d_valid(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_valid),
    .auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_opcode(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_opcode),
    .auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_size(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_size),
    .auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_source(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_source),
    .auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_data(pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_data),
    .auto_coupler_to_slave_named_uart_2_control_xing_out_a_ready(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_ready),
    .auto_coupler_to_slave_named_uart_2_control_xing_out_a_valid(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_valid),
    .auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_opcode(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_opcode),
    .auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_param(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_param),
    .auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_size(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_size),
    .auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_source(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_source),
    .auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_address(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_address),
    .auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_mask(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_mask),
    .auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_data(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_data),
    .auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_corrupt(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_corrupt),
    .auto_coupler_to_slave_named_uart_2_control_xing_out_d_ready(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_ready),
    .auto_coupler_to_slave_named_uart_2_control_xing_out_d_valid(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_valid),
    .auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_opcode(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_opcode),
    .auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_size(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_size),
    .auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_source(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_source),
    .auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_data(pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_data),
    .auto_coupler_to_slave_named_uart_1_control_xing_out_a_ready(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_ready),
    .auto_coupler_to_slave_named_uart_1_control_xing_out_a_valid(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_valid),
    .auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_opcode(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_opcode),
    .auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_param(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_param),
    .auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_size(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_size),
    .auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_source(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_source),
    .auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_address(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_address),
    .auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_mask(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_mask),
    .auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_data(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_data),
    .auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_corrupt(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_corrupt),
    .auto_coupler_to_slave_named_uart_1_control_xing_out_d_ready(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_ready),
    .auto_coupler_to_slave_named_uart_1_control_xing_out_d_valid(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_valid),
    .auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_opcode(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_opcode),
    .auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_size(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_size),
    .auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_source(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_source),
    .auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_data(pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_data),
    .auto_coupler_to_slave_named_uart_0_control_xing_out_a_ready(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_ready),
    .auto_coupler_to_slave_named_uart_0_control_xing_out_a_valid(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_valid),
    .auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_opcode(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_opcode),
    .auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_param(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_param),
    .auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_size(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_size),
    .auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_source(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_source),
    .auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_address(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_address),
    .auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_mask(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_mask),
    .auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_data(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_data),
    .auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_corrupt(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_corrupt),
    .auto_coupler_to_slave_named_uart_0_control_xing_out_d_ready(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_ready),
    .auto_coupler_to_slave_named_uart_0_control_xing_out_d_valid(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_valid),
    .auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_opcode(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_opcode),
    .auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_size(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_size),
    .auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_source(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_source),
    .auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_data(pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_data),
    .auto_from_cbus_in_a_ready(pbus_auto_from_cbus_in_a_ready),
    .auto_from_cbus_in_a_valid(pbus_auto_from_cbus_in_a_valid),
    .auto_from_cbus_in_a_bits_opcode(pbus_auto_from_cbus_in_a_bits_opcode),
    .auto_from_cbus_in_a_bits_param(pbus_auto_from_cbus_in_a_bits_param),
    .auto_from_cbus_in_a_bits_size(pbus_auto_from_cbus_in_a_bits_size),
    .auto_from_cbus_in_a_bits_source(pbus_auto_from_cbus_in_a_bits_source),
    .auto_from_cbus_in_a_bits_address(pbus_auto_from_cbus_in_a_bits_address),
    .auto_from_cbus_in_a_bits_mask(pbus_auto_from_cbus_in_a_bits_mask),
    .auto_from_cbus_in_a_bits_data(pbus_auto_from_cbus_in_a_bits_data),
    .auto_from_cbus_in_a_bits_corrupt(pbus_auto_from_cbus_in_a_bits_corrupt),
    .auto_from_cbus_in_d_ready(pbus_auto_from_cbus_in_d_ready),
    .auto_from_cbus_in_d_valid(pbus_auto_from_cbus_in_d_valid),
    .auto_from_cbus_in_d_bits_opcode(pbus_auto_from_cbus_in_d_bits_opcode),
    .auto_from_cbus_in_d_bits_param(pbus_auto_from_cbus_in_d_bits_param),
    .auto_from_cbus_in_d_bits_size(pbus_auto_from_cbus_in_d_bits_size),
    .auto_from_cbus_in_d_bits_source(pbus_auto_from_cbus_in_d_bits_source),
    .auto_from_cbus_in_d_bits_sink(pbus_auto_from_cbus_in_d_bits_sink),
    .auto_from_cbus_in_d_bits_denied(pbus_auto_from_cbus_in_d_bits_denied),
    .auto_from_cbus_in_d_bits_data(pbus_auto_from_cbus_in_d_bits_data),
    .auto_from_cbus_in_d_bits_corrupt(pbus_auto_from_cbus_in_d_bits_corrupt)
  );
  TLPLIC plic ( // @[Plic.scala 336:26:shc.marmotcaravel.MarmotCaravelConfig.fir@295971.4]
    .clock(plic_clock),
    .reset(plic_reset),
    .auto_int_in_0(plic_auto_int_in_0),
    .auto_int_in_1(plic_auto_int_in_1),
    .auto_int_in_2(plic_auto_int_in_2),
    .auto_int_in_3(plic_auto_int_in_3),
    .auto_int_in_4(plic_auto_int_in_4),
    .auto_int_in_5(plic_auto_int_in_5),
    .auto_int_in_6(plic_auto_int_in_6),
    .auto_int_in_7(plic_auto_int_in_7),
    .auto_int_in_8(plic_auto_int_in_8),
    .auto_int_in_9(plic_auto_int_in_9),
    .auto_int_in_10(plic_auto_int_in_10),
    .auto_int_in_11(plic_auto_int_in_11),
    .auto_int_in_12(plic_auto_int_in_12),
    .auto_int_in_13(plic_auto_int_in_13),
    .auto_int_in_14(plic_auto_int_in_14),
    .auto_int_in_15(plic_auto_int_in_15),
    .auto_int_in_16(plic_auto_int_in_16),
    .auto_int_in_17(plic_auto_int_in_17),
    .auto_int_in_18(plic_auto_int_in_18),
    .auto_int_in_19(plic_auto_int_in_19),
    .auto_int_in_20(plic_auto_int_in_20),
    .auto_int_in_21(plic_auto_int_in_21),
    .auto_int_in_22(plic_auto_int_in_22),
    .auto_int_in_23(plic_auto_int_in_23),
    .auto_int_in_24(plic_auto_int_in_24),
    .auto_int_in_25(plic_auto_int_in_25),
    .auto_int_in_26(plic_auto_int_in_26),
    .auto_int_in_27(plic_auto_int_in_27),
    .auto_int_in_28(plic_auto_int_in_28),
    .auto_int_in_29(plic_auto_int_in_29),
    .auto_int_in_30(plic_auto_int_in_30),
    .auto_int_in_31(plic_auto_int_in_31),
    .auto_int_in_32(plic_auto_int_in_32),
    .auto_int_in_33(plic_auto_int_in_33),
    .auto_int_in_34(plic_auto_int_in_34),
    .auto_int_in_35(plic_auto_int_in_35),
    .auto_int_in_36(plic_auto_int_in_36),
    .auto_int_in_37(plic_auto_int_in_37),
    .auto_int_in_38(plic_auto_int_in_38),
    .auto_int_in_39(plic_auto_int_in_39),
    .auto_int_in_40(plic_auto_int_in_40),
    .auto_int_in_41(plic_auto_int_in_41),
    .auto_int_in_42(plic_auto_int_in_42),
    .auto_int_in_43(plic_auto_int_in_43),
    .auto_int_out_0(plic_auto_int_out_0),
    .auto_in_a_ready(plic_auto_in_a_ready),
    .auto_in_a_valid(plic_auto_in_a_valid),
    .auto_in_a_bits_opcode(plic_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(plic_auto_in_a_bits_param),
    .auto_in_a_bits_size(plic_auto_in_a_bits_size),
    .auto_in_a_bits_source(plic_auto_in_a_bits_source),
    .auto_in_a_bits_address(plic_auto_in_a_bits_address),
    .auto_in_a_bits_mask(plic_auto_in_a_bits_mask),
    .auto_in_a_bits_data(plic_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(plic_auto_in_a_bits_corrupt),
    .auto_in_d_ready(plic_auto_in_d_ready),
    .auto_in_d_valid(plic_auto_in_d_valid),
    .auto_in_d_bits_opcode(plic_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(plic_auto_in_d_bits_size),
    .auto_in_d_bits_source(plic_auto_in_d_bits_source),
    .auto_in_d_bits_data(plic_auto_in_d_bits_data)
  );
  CLINT clint ( // @[CLINT.scala 99:27:shc.marmotcaravel.MarmotCaravelConfig.fir@295977.4]
    .clock(clint_clock),
    .reset(clint_reset),
    .auto_int_out_0(clint_auto_int_out_0),
    .auto_int_out_1(clint_auto_int_out_1),
    .auto_in_a_ready(clint_auto_in_a_ready),
    .auto_in_a_valid(clint_auto_in_a_valid),
    .auto_in_a_bits_opcode(clint_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(clint_auto_in_a_bits_param),
    .auto_in_a_bits_size(clint_auto_in_a_bits_size),
    .auto_in_a_bits_source(clint_auto_in_a_bits_source),
    .auto_in_a_bits_address(clint_auto_in_a_bits_address),
    .auto_in_a_bits_mask(clint_auto_in_a_bits_mask),
    .auto_in_a_bits_data(clint_auto_in_a_bits_data),
    .auto_in_a_bits_corrupt(clint_auto_in_a_bits_corrupt),
    .auto_in_d_ready(clint_auto_in_d_ready),
    .auto_in_d_valid(clint_auto_in_d_valid),
    .auto_in_d_bits_opcode(clint_auto_in_d_bits_opcode),
    .auto_in_d_bits_size(clint_auto_in_d_bits_size),
    .auto_in_d_bits_source(clint_auto_in_d_bits_source),
    .auto_in_d_bits_data(clint_auto_in_d_bits_data),
    .io_rtcTick(clint_io_rtcTick)
  );
  TLDebugModule debug_1 ( // @[Periphery.scala 32:25:shc.marmotcaravel.MarmotCaravelConfig.fir@295984.4]
    .clock(debug_1_clock),
    .reset(debug_1_reset),
    .auto_dmInner_dmInner_tl_in_a_ready(debug_1_auto_dmInner_dmInner_tl_in_a_ready),
    .auto_dmInner_dmInner_tl_in_a_valid(debug_1_auto_dmInner_dmInner_tl_in_a_valid),
    .auto_dmInner_dmInner_tl_in_a_bits_opcode(debug_1_auto_dmInner_dmInner_tl_in_a_bits_opcode),
    .auto_dmInner_dmInner_tl_in_a_bits_param(debug_1_auto_dmInner_dmInner_tl_in_a_bits_param),
    .auto_dmInner_dmInner_tl_in_a_bits_size(debug_1_auto_dmInner_dmInner_tl_in_a_bits_size),
    .auto_dmInner_dmInner_tl_in_a_bits_source(debug_1_auto_dmInner_dmInner_tl_in_a_bits_source),
    .auto_dmInner_dmInner_tl_in_a_bits_address(debug_1_auto_dmInner_dmInner_tl_in_a_bits_address),
    .auto_dmInner_dmInner_tl_in_a_bits_mask(debug_1_auto_dmInner_dmInner_tl_in_a_bits_mask),
    .auto_dmInner_dmInner_tl_in_a_bits_data(debug_1_auto_dmInner_dmInner_tl_in_a_bits_data),
    .auto_dmInner_dmInner_tl_in_a_bits_corrupt(debug_1_auto_dmInner_dmInner_tl_in_a_bits_corrupt),
    .auto_dmInner_dmInner_tl_in_d_ready(debug_1_auto_dmInner_dmInner_tl_in_d_ready),
    .auto_dmInner_dmInner_tl_in_d_valid(debug_1_auto_dmInner_dmInner_tl_in_d_valid),
    .auto_dmInner_dmInner_tl_in_d_bits_opcode(debug_1_auto_dmInner_dmInner_tl_in_d_bits_opcode),
    .auto_dmInner_dmInner_tl_in_d_bits_size(debug_1_auto_dmInner_dmInner_tl_in_d_bits_size),
    .auto_dmInner_dmInner_tl_in_d_bits_source(debug_1_auto_dmInner_dmInner_tl_in_d_bits_source),
    .auto_dmInner_dmInner_tl_in_d_bits_data(debug_1_auto_dmInner_dmInner_tl_in_d_bits_data),
    .auto_dmOuter_intsource_out_sync_0(debug_1_auto_dmOuter_intsource_out_sync_0),
    .io_ctrl_ndreset(debug_1_io_ctrl_ndreset),
    .io_dmi_dmi_req_ready(debug_1_io_dmi_dmi_req_ready),
    .io_dmi_dmi_req_valid(debug_1_io_dmi_dmi_req_valid),
    .io_dmi_dmi_req_bits_addr(debug_1_io_dmi_dmi_req_bits_addr),
    .io_dmi_dmi_req_bits_data(debug_1_io_dmi_dmi_req_bits_data),
    .io_dmi_dmi_req_bits_op(debug_1_io_dmi_dmi_req_bits_op),
    .io_dmi_dmi_resp_ready(debug_1_io_dmi_dmi_resp_ready),
    .io_dmi_dmi_resp_valid(debug_1_io_dmi_dmi_resp_valid),
    .io_dmi_dmi_resp_bits_data(debug_1_io_dmi_dmi_resp_bits_data),
    .io_dmi_dmi_resp_bits_resp(debug_1_io_dmi_dmi_resp_bits_resp),
    .io_dmi_dmiClock(debug_1_io_dmi_dmiClock),
    .io_dmi_dmiReset(debug_1_io_dmi_dmiReset)
  );
  RocketTile tile ( // @[RocketSubsystem.scala 47:28:shc.marmotcaravel.MarmotCaravelConfig.fir@295997.4]
    .clock(tile_clock),
    .reset(tile_reset),
    .auto_intsink_in_sync_0(tile_auto_intsink_in_sync_0),
    .auto_int_in_xing_in_1_sync_0(tile_auto_int_in_xing_in_1_sync_0),
    .auto_int_in_xing_in_0_sync_0(tile_auto_int_in_xing_in_0_sync_0),
    .auto_int_in_xing_in_0_sync_1(tile_auto_int_in_xing_in_0_sync_1),
    .auto_tl_slave_xing_in_a_ready(tile_auto_tl_slave_xing_in_a_ready),
    .auto_tl_slave_xing_in_a_valid(tile_auto_tl_slave_xing_in_a_valid),
    .auto_tl_slave_xing_in_a_bits_opcode(tile_auto_tl_slave_xing_in_a_bits_opcode),
    .auto_tl_slave_xing_in_a_bits_param(tile_auto_tl_slave_xing_in_a_bits_param),
    .auto_tl_slave_xing_in_a_bits_size(tile_auto_tl_slave_xing_in_a_bits_size),
    .auto_tl_slave_xing_in_a_bits_source(tile_auto_tl_slave_xing_in_a_bits_source),
    .auto_tl_slave_xing_in_a_bits_address(tile_auto_tl_slave_xing_in_a_bits_address),
    .auto_tl_slave_xing_in_a_bits_mask(tile_auto_tl_slave_xing_in_a_bits_mask),
    .auto_tl_slave_xing_in_a_bits_data(tile_auto_tl_slave_xing_in_a_bits_data),
    .auto_tl_slave_xing_in_a_bits_corrupt(tile_auto_tl_slave_xing_in_a_bits_corrupt),
    .auto_tl_slave_xing_in_d_ready(tile_auto_tl_slave_xing_in_d_ready),
    .auto_tl_slave_xing_in_d_valid(tile_auto_tl_slave_xing_in_d_valid),
    .auto_tl_slave_xing_in_d_bits_opcode(tile_auto_tl_slave_xing_in_d_bits_opcode),
    .auto_tl_slave_xing_in_d_bits_param(tile_auto_tl_slave_xing_in_d_bits_param),
    .auto_tl_slave_xing_in_d_bits_size(tile_auto_tl_slave_xing_in_d_bits_size),
    .auto_tl_slave_xing_in_d_bits_source(tile_auto_tl_slave_xing_in_d_bits_source),
    .auto_tl_slave_xing_in_d_bits_sink(tile_auto_tl_slave_xing_in_d_bits_sink),
    .auto_tl_slave_xing_in_d_bits_denied(tile_auto_tl_slave_xing_in_d_bits_denied),
    .auto_tl_slave_xing_in_d_bits_data(tile_auto_tl_slave_xing_in_d_bits_data),
    .auto_tl_slave_xing_in_d_bits_corrupt(tile_auto_tl_slave_xing_in_d_bits_corrupt),
    .auto_tl_master_xing_out_a_ready(tile_auto_tl_master_xing_out_a_ready),
    .auto_tl_master_xing_out_a_valid(tile_auto_tl_master_xing_out_a_valid),
    .auto_tl_master_xing_out_a_bits_opcode(tile_auto_tl_master_xing_out_a_bits_opcode),
    .auto_tl_master_xing_out_a_bits_param(tile_auto_tl_master_xing_out_a_bits_param),
    .auto_tl_master_xing_out_a_bits_size(tile_auto_tl_master_xing_out_a_bits_size),
    .auto_tl_master_xing_out_a_bits_source(tile_auto_tl_master_xing_out_a_bits_source),
    .auto_tl_master_xing_out_a_bits_address(tile_auto_tl_master_xing_out_a_bits_address),
    .auto_tl_master_xing_out_a_bits_mask(tile_auto_tl_master_xing_out_a_bits_mask),
    .auto_tl_master_xing_out_a_bits_data(tile_auto_tl_master_xing_out_a_bits_data),
    .auto_tl_master_xing_out_a_bits_corrupt(tile_auto_tl_master_xing_out_a_bits_corrupt),
    .auto_tl_master_xing_out_d_ready(tile_auto_tl_master_xing_out_d_ready),
    .auto_tl_master_xing_out_d_valid(tile_auto_tl_master_xing_out_d_valid),
    .auto_tl_master_xing_out_d_bits_opcode(tile_auto_tl_master_xing_out_d_bits_opcode),
    .auto_tl_master_xing_out_d_bits_param(tile_auto_tl_master_xing_out_d_bits_param),
    .auto_tl_master_xing_out_d_bits_size(tile_auto_tl_master_xing_out_d_bits_size),
    .auto_tl_master_xing_out_d_bits_source(tile_auto_tl_master_xing_out_d_bits_source),
    .auto_tl_master_xing_out_d_bits_sink(tile_auto_tl_master_xing_out_d_bits_sink),
    .auto_tl_master_xing_out_d_bits_denied(tile_auto_tl_master_xing_out_d_bits_denied),
    .auto_tl_master_xing_out_d_bits_data(tile_auto_tl_master_xing_out_d_bits_data),
    .auto_tl_master_xing_out_d_bits_corrupt(tile_auto_tl_master_xing_out_d_bits_corrupt),
    .constants_hartid(tile_constants_hartid),
    .constants_reset_vector(tile_constants_reset_vector),
    .data_arrays_0_ext_RW0_addr(data_arrays_0_ext_RW0_addr),
    .data_arrays_0_ext_RW0_en(data_arrays_0_ext_RW0_en),
    .data_arrays_0_ext_RW0_clk(data_arrays_0_ext_RW0_clk),
    .data_arrays_0_ext_RW0_wmode(data_arrays_0_ext_RW0_wmode),
    .data_arrays_0_ext_RW0_wdata(data_arrays_0_ext_RW0_wdata),
    .data_arrays_0_ext_RW0_rdata(data_arrays_0_ext_RW0_rdata),
    .data_arrays_0_ext_RW0_wmask(data_arrays_0_ext_RW0_wmask),
    .tag_array_ext_RW0_addr(tag_array_ext_RW0_addr),
    .tag_array_ext_RW0_en(tag_array_ext_RW0_en),
    .tag_array_ext_RW0_clk(tag_array_ext_RW0_clk),
    .tag_array_ext_RW0_wmode(tag_array_ext_RW0_wmode),
    .tag_array_ext_RW0_wdata(tag_array_ext_RW0_wdata),
    .tag_array_ext_RW0_rdata(tag_array_ext_RW0_rdata),
    .tag_array_ext_RW0_wmask(tag_array_ext_RW0_wmask),
    .data_arrays_0_0_ext_RW0_addr(data_arrays_0_0_ext_RW0_addr),
    .data_arrays_0_0_ext_RW0_en(data_arrays_0_0_ext_RW0_en),
    .data_arrays_0_0_ext_RW0_clk(data_arrays_0_0_ext_RW0_clk),
    .data_arrays_0_0_ext_RW0_wmode(data_arrays_0_0_ext_RW0_wmode),
    .data_arrays_0_0_ext_RW0_wdata(data_arrays_0_0_ext_RW0_wdata),
    .data_arrays_0_0_ext_RW0_rdata(data_arrays_0_0_ext_RW0_rdata),
    .data_arrays_0_0_ext_RW0_wmask(data_arrays_0_0_ext_RW0_wmask)
  );
  IntSyncCrossingSource_2 intsource ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296004.4]
    .clock(intsource_clock),
    .reset(intsource_reset),
    .auto_in_0(intsource_auto_in_0),
    .auto_in_1(intsource_auto_in_1),
    .auto_out_sync_0(intsource_auto_out_sync_0),
    .auto_out_sync_1(intsource_auto_out_sync_1)
  );
  IntSyncCrossingSource_3 intsource_1 ( // @[Crossing.scala 26:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296010.4]
    .clock(intsource_1_clock),
    .reset(intsource_1_reset),
    .auto_in_0(intsource_1_auto_in_0),
    .auto_out_sync_0(intsource_1_auto_out_sync_0)
  );
  TLMaskROM maskROM ( // @[MaskROM.scala 19:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296022.4]
    .clock(maskROM_clock),
    .reset(maskROM_reset),
    .auto_in_a_ready(maskROM_auto_in_a_ready),
    .auto_in_a_valid(maskROM_auto_in_a_valid),
    .auto_in_a_bits_opcode(maskROM_auto_in_a_bits_opcode),
    .auto_in_a_bits_param(maskROM_auto_in_a_bits_param),
    .auto_in_a_bits_size(maskROM_auto_in_a_bits_size),
    .auto_in_a_bits_source(maskROM_auto_in_a_bits_source),
    .auto_in_a_bits_address(maskROM_auto_in_a_bits_address),
    .auto_in_a_bits_mask(maskROM_auto_in_a_bits_mask),
    .auto_in_a_bits_corrupt(maskROM_auto_in_a_bits_corrupt),
    .auto_in_d_ready(maskROM_auto_in_d_ready),
    .auto_in_d_valid(maskROM_auto_in_d_valid),
    .auto_in_d_bits_size(maskROM_auto_in_d_bits_size),
    .auto_in_d_bits_source(maskROM_auto_in_d_bits_source),
    .auto_in_d_bits_data(maskROM_auto_in_d_bits_data)
  );
  MockAONWrapper aon_1 ( // @[MockAONPeriphery.scala 20:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296028.4]
    .auto_intsource_out_sync_0(aon_1_auto_intsource_out_sync_0),
    .auto_intsource_out_sync_1(aon_1_auto_intsource_out_sync_1),
    .auto_isolation_in_a_mem_0_opcode(aon_1_auto_isolation_in_a_mem_0_opcode),
    .auto_isolation_in_a_mem_0_param(aon_1_auto_isolation_in_a_mem_0_param),
    .auto_isolation_in_a_mem_0_size(aon_1_auto_isolation_in_a_mem_0_size),
    .auto_isolation_in_a_mem_0_source(aon_1_auto_isolation_in_a_mem_0_source),
    .auto_isolation_in_a_mem_0_address(aon_1_auto_isolation_in_a_mem_0_address),
    .auto_isolation_in_a_mem_0_mask(aon_1_auto_isolation_in_a_mem_0_mask),
    .auto_isolation_in_a_mem_0_data(aon_1_auto_isolation_in_a_mem_0_data),
    .auto_isolation_in_a_mem_0_corrupt(aon_1_auto_isolation_in_a_mem_0_corrupt),
    .auto_isolation_in_a_ridx(aon_1_auto_isolation_in_a_ridx),
    .auto_isolation_in_a_widx(aon_1_auto_isolation_in_a_widx),
    .auto_isolation_in_a_safe_ridx_valid(aon_1_auto_isolation_in_a_safe_ridx_valid),
    .auto_isolation_in_a_safe_widx_valid(aon_1_auto_isolation_in_a_safe_widx_valid),
    .auto_isolation_in_a_safe_source_reset_n(aon_1_auto_isolation_in_a_safe_source_reset_n),
    .auto_isolation_in_a_safe_sink_reset_n(aon_1_auto_isolation_in_a_safe_sink_reset_n),
    .auto_isolation_in_d_mem_0_opcode(aon_1_auto_isolation_in_d_mem_0_opcode),
    .auto_isolation_in_d_mem_0_param(aon_1_auto_isolation_in_d_mem_0_param),
    .auto_isolation_in_d_mem_0_size(aon_1_auto_isolation_in_d_mem_0_size),
    .auto_isolation_in_d_mem_0_source(aon_1_auto_isolation_in_d_mem_0_source),
    .auto_isolation_in_d_mem_0_sink(aon_1_auto_isolation_in_d_mem_0_sink),
    .auto_isolation_in_d_mem_0_denied(aon_1_auto_isolation_in_d_mem_0_denied),
    .auto_isolation_in_d_mem_0_data(aon_1_auto_isolation_in_d_mem_0_data),
    .auto_isolation_in_d_mem_0_corrupt(aon_1_auto_isolation_in_d_mem_0_corrupt),
    .auto_isolation_in_d_ridx(aon_1_auto_isolation_in_d_ridx),
    .auto_isolation_in_d_widx(aon_1_auto_isolation_in_d_widx),
    .auto_isolation_in_d_safe_ridx_valid(aon_1_auto_isolation_in_d_safe_ridx_valid),
    .auto_isolation_in_d_safe_widx_valid(aon_1_auto_isolation_in_d_safe_widx_valid),
    .auto_isolation_in_d_safe_source_reset_n(aon_1_auto_isolation_in_d_safe_source_reset_n),
    .auto_isolation_in_d_safe_sink_reset_n(aon_1_auto_isolation_in_d_safe_sink_reset_n),
    .io_pins_erst_n_i_ival(aon_1_io_pins_erst_n_i_ival),
    .io_pins_lfextclk_i_ival(aon_1_io_pins_lfextclk_i_ival),
    .io_rsts_corerst(aon_1_io_rsts_corerst),
    .io_rtc(aon_1_io_rtc),
    .io_ndreset(aon_1_io_ndreset)
  );
  IntSyncCrossingSink_4 intsink_1 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296035.4]
    .clock(intsink_1_clock),
    .auto_in_sync_0(intsink_1_auto_in_sync_0),
    .auto_in_sync_1(intsink_1_auto_in_sync_1),
    .auto_out_0(intsink_1_auto_out_0),
    .auto_out_1(intsink_1_auto_out_1)
  );
  IntXing asyncXing ( // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296041.4]
    .clock(asyncXing_clock),
    .auto_int_in_0(asyncXing_auto_int_in_0),
    .auto_int_out_0(asyncXing_auto_int_out_0)
  );
  TLUART uart_0_1 ( // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296047.4]
    .clock(uart_0_1_clock),
    .reset(uart_0_1_reset),
    .auto_int_xing_out_sync_0(uart_0_1_auto_int_xing_out_sync_0),
    .auto_control_xing_in_a_ready(uart_0_1_auto_control_xing_in_a_ready),
    .auto_control_xing_in_a_valid(uart_0_1_auto_control_xing_in_a_valid),
    .auto_control_xing_in_a_bits_opcode(uart_0_1_auto_control_xing_in_a_bits_opcode),
    .auto_control_xing_in_a_bits_param(uart_0_1_auto_control_xing_in_a_bits_param),
    .auto_control_xing_in_a_bits_size(uart_0_1_auto_control_xing_in_a_bits_size),
    .auto_control_xing_in_a_bits_source(uart_0_1_auto_control_xing_in_a_bits_source),
    .auto_control_xing_in_a_bits_address(uart_0_1_auto_control_xing_in_a_bits_address),
    .auto_control_xing_in_a_bits_mask(uart_0_1_auto_control_xing_in_a_bits_mask),
    .auto_control_xing_in_a_bits_data(uart_0_1_auto_control_xing_in_a_bits_data),
    .auto_control_xing_in_a_bits_corrupt(uart_0_1_auto_control_xing_in_a_bits_corrupt),
    .auto_control_xing_in_d_ready(uart_0_1_auto_control_xing_in_d_ready),
    .auto_control_xing_in_d_valid(uart_0_1_auto_control_xing_in_d_valid),
    .auto_control_xing_in_d_bits_opcode(uart_0_1_auto_control_xing_in_d_bits_opcode),
    .auto_control_xing_in_d_bits_size(uart_0_1_auto_control_xing_in_d_bits_size),
    .auto_control_xing_in_d_bits_source(uart_0_1_auto_control_xing_in_d_bits_source),
    .auto_control_xing_in_d_bits_data(uart_0_1_auto_control_xing_in_d_bits_data),
    .auto_io_out_txd(uart_0_1_auto_io_out_txd),
    .auto_io_out_rxd(uart_0_1_auto_io_out_rxd)
  );
  IntSyncCrossingSink_2 intsink_2 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296053.4]
    .auto_in_sync_0(intsink_2_auto_in_sync_0),
    .auto_out_0(intsink_2_auto_out_0)
  );
  IntXing asyncXing_1 ( // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296059.4]
    .clock(asyncXing_1_clock),
    .auto_int_in_0(asyncXing_1_auto_int_in_0),
    .auto_int_out_0(asyncXing_1_auto_int_out_0)
  );
  TLUART_1 uart_1_1 ( // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296065.4]
    .clock(uart_1_1_clock),
    .reset(uart_1_1_reset),
    .auto_int_xing_out_sync_0(uart_1_1_auto_int_xing_out_sync_0),
    .auto_control_xing_in_a_ready(uart_1_1_auto_control_xing_in_a_ready),
    .auto_control_xing_in_a_valid(uart_1_1_auto_control_xing_in_a_valid),
    .auto_control_xing_in_a_bits_opcode(uart_1_1_auto_control_xing_in_a_bits_opcode),
    .auto_control_xing_in_a_bits_param(uart_1_1_auto_control_xing_in_a_bits_param),
    .auto_control_xing_in_a_bits_size(uart_1_1_auto_control_xing_in_a_bits_size),
    .auto_control_xing_in_a_bits_source(uart_1_1_auto_control_xing_in_a_bits_source),
    .auto_control_xing_in_a_bits_address(uart_1_1_auto_control_xing_in_a_bits_address),
    .auto_control_xing_in_a_bits_mask(uart_1_1_auto_control_xing_in_a_bits_mask),
    .auto_control_xing_in_a_bits_data(uart_1_1_auto_control_xing_in_a_bits_data),
    .auto_control_xing_in_a_bits_corrupt(uart_1_1_auto_control_xing_in_a_bits_corrupt),
    .auto_control_xing_in_d_ready(uart_1_1_auto_control_xing_in_d_ready),
    .auto_control_xing_in_d_valid(uart_1_1_auto_control_xing_in_d_valid),
    .auto_control_xing_in_d_bits_opcode(uart_1_1_auto_control_xing_in_d_bits_opcode),
    .auto_control_xing_in_d_bits_size(uart_1_1_auto_control_xing_in_d_bits_size),
    .auto_control_xing_in_d_bits_source(uart_1_1_auto_control_xing_in_d_bits_source),
    .auto_control_xing_in_d_bits_data(uart_1_1_auto_control_xing_in_d_bits_data),
    .auto_io_out_txd(uart_1_1_auto_io_out_txd),
    .auto_io_out_rxd(uart_1_1_auto_io_out_rxd)
  );
  IntSyncCrossingSink_2 intsink_3 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296071.4]
    .auto_in_sync_0(intsink_3_auto_in_sync_0),
    .auto_out_0(intsink_3_auto_out_0)
  );
  IntXing asyncXing_2 ( // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296077.4]
    .clock(asyncXing_2_clock),
    .auto_int_in_0(asyncXing_2_auto_int_in_0),
    .auto_int_out_0(asyncXing_2_auto_int_out_0)
  );
  TLUART_2 uart_2_1 ( // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296083.4]
    .clock(uart_2_1_clock),
    .reset(uart_2_1_reset),
    .auto_int_xing_out_sync_0(uart_2_1_auto_int_xing_out_sync_0),
    .auto_control_xing_in_a_ready(uart_2_1_auto_control_xing_in_a_ready),
    .auto_control_xing_in_a_valid(uart_2_1_auto_control_xing_in_a_valid),
    .auto_control_xing_in_a_bits_opcode(uart_2_1_auto_control_xing_in_a_bits_opcode),
    .auto_control_xing_in_a_bits_param(uart_2_1_auto_control_xing_in_a_bits_param),
    .auto_control_xing_in_a_bits_size(uart_2_1_auto_control_xing_in_a_bits_size),
    .auto_control_xing_in_a_bits_source(uart_2_1_auto_control_xing_in_a_bits_source),
    .auto_control_xing_in_a_bits_address(uart_2_1_auto_control_xing_in_a_bits_address),
    .auto_control_xing_in_a_bits_mask(uart_2_1_auto_control_xing_in_a_bits_mask),
    .auto_control_xing_in_a_bits_data(uart_2_1_auto_control_xing_in_a_bits_data),
    .auto_control_xing_in_a_bits_corrupt(uart_2_1_auto_control_xing_in_a_bits_corrupt),
    .auto_control_xing_in_d_ready(uart_2_1_auto_control_xing_in_d_ready),
    .auto_control_xing_in_d_valid(uart_2_1_auto_control_xing_in_d_valid),
    .auto_control_xing_in_d_bits_opcode(uart_2_1_auto_control_xing_in_d_bits_opcode),
    .auto_control_xing_in_d_bits_size(uart_2_1_auto_control_xing_in_d_bits_size),
    .auto_control_xing_in_d_bits_source(uart_2_1_auto_control_xing_in_d_bits_source),
    .auto_control_xing_in_d_bits_data(uart_2_1_auto_control_xing_in_d_bits_data),
    .auto_io_out_txd(uart_2_1_auto_io_out_txd),
    .auto_io_out_rxd(uart_2_1_auto_io_out_rxd)
  );
  IntSyncCrossingSink_2 intsink_4 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296089.4]
    .auto_in_sync_0(intsink_4_auto_in_sync_0),
    .auto_out_0(intsink_4_auto_out_0)
  );
  IntXing asyncXing_3 ( // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296095.4]
    .clock(asyncXing_3_clock),
    .auto_int_in_0(asyncXing_3_auto_int_in_0),
    .auto_int_out_0(asyncXing_3_auto_int_out_0)
  );
  TLUART_3 uart_3_1 ( // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296101.4]
    .clock(uart_3_1_clock),
    .reset(uart_3_1_reset),
    .auto_int_xing_out_sync_0(uart_3_1_auto_int_xing_out_sync_0),
    .auto_control_xing_in_a_ready(uart_3_1_auto_control_xing_in_a_ready),
    .auto_control_xing_in_a_valid(uart_3_1_auto_control_xing_in_a_valid),
    .auto_control_xing_in_a_bits_opcode(uart_3_1_auto_control_xing_in_a_bits_opcode),
    .auto_control_xing_in_a_bits_param(uart_3_1_auto_control_xing_in_a_bits_param),
    .auto_control_xing_in_a_bits_size(uart_3_1_auto_control_xing_in_a_bits_size),
    .auto_control_xing_in_a_bits_source(uart_3_1_auto_control_xing_in_a_bits_source),
    .auto_control_xing_in_a_bits_address(uart_3_1_auto_control_xing_in_a_bits_address),
    .auto_control_xing_in_a_bits_mask(uart_3_1_auto_control_xing_in_a_bits_mask),
    .auto_control_xing_in_a_bits_data(uart_3_1_auto_control_xing_in_a_bits_data),
    .auto_control_xing_in_a_bits_corrupt(uart_3_1_auto_control_xing_in_a_bits_corrupt),
    .auto_control_xing_in_d_ready(uart_3_1_auto_control_xing_in_d_ready),
    .auto_control_xing_in_d_valid(uart_3_1_auto_control_xing_in_d_valid),
    .auto_control_xing_in_d_bits_opcode(uart_3_1_auto_control_xing_in_d_bits_opcode),
    .auto_control_xing_in_d_bits_size(uart_3_1_auto_control_xing_in_d_bits_size),
    .auto_control_xing_in_d_bits_source(uart_3_1_auto_control_xing_in_d_bits_source),
    .auto_control_xing_in_d_bits_data(uart_3_1_auto_control_xing_in_d_bits_data),
    .auto_io_out_txd(uart_3_1_auto_io_out_txd),
    .auto_io_out_rxd(uart_3_1_auto_io_out_rxd)
  );
  IntSyncCrossingSink_2 intsink_5 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296107.4]
    .auto_in_sync_0(intsink_5_auto_in_sync_0),
    .auto_out_0(intsink_5_auto_out_0)
  );
  IntXing asyncXing_4 ( // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296113.4]
    .clock(asyncXing_4_clock),
    .auto_int_in_0(asyncXing_4_auto_int_in_0),
    .auto_int_out_0(asyncXing_4_auto_int_out_0)
  );
  TLUART_4 uart_4_1 ( // @[UART.scala 153:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296119.4]
    .clock(uart_4_1_clock),
    .reset(uart_4_1_reset),
    .auto_int_xing_out_sync_0(uart_4_1_auto_int_xing_out_sync_0),
    .auto_control_xing_in_a_ready(uart_4_1_auto_control_xing_in_a_ready),
    .auto_control_xing_in_a_valid(uart_4_1_auto_control_xing_in_a_valid),
    .auto_control_xing_in_a_bits_opcode(uart_4_1_auto_control_xing_in_a_bits_opcode),
    .auto_control_xing_in_a_bits_param(uart_4_1_auto_control_xing_in_a_bits_param),
    .auto_control_xing_in_a_bits_size(uart_4_1_auto_control_xing_in_a_bits_size),
    .auto_control_xing_in_a_bits_source(uart_4_1_auto_control_xing_in_a_bits_source),
    .auto_control_xing_in_a_bits_address(uart_4_1_auto_control_xing_in_a_bits_address),
    .auto_control_xing_in_a_bits_mask(uart_4_1_auto_control_xing_in_a_bits_mask),
    .auto_control_xing_in_a_bits_data(uart_4_1_auto_control_xing_in_a_bits_data),
    .auto_control_xing_in_a_bits_corrupt(uart_4_1_auto_control_xing_in_a_bits_corrupt),
    .auto_control_xing_in_d_ready(uart_4_1_auto_control_xing_in_d_ready),
    .auto_control_xing_in_d_valid(uart_4_1_auto_control_xing_in_d_valid),
    .auto_control_xing_in_d_bits_opcode(uart_4_1_auto_control_xing_in_d_bits_opcode),
    .auto_control_xing_in_d_bits_size(uart_4_1_auto_control_xing_in_d_bits_size),
    .auto_control_xing_in_d_bits_source(uart_4_1_auto_control_xing_in_d_bits_source),
    .auto_control_xing_in_d_bits_data(uart_4_1_auto_control_xing_in_d_bits_data),
    .auto_io_out_txd(uart_4_1_auto_io_out_txd),
    .auto_io_out_rxd(uart_4_1_auto_io_out_rxd)
  );
  IntSyncCrossingSink_2 intsink_6 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296125.4]
    .auto_in_sync_0(intsink_6_auto_in_sync_0),
    .auto_out_0(intsink_6_auto_out_0)
  );
  IntXing asyncXing_5 ( // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296131.4]
    .clock(asyncXing_5_clock),
    .auto_int_in_0(asyncXing_5_auto_int_in_0),
    .auto_int_out_0(asyncXing_5_auto_int_out_0)
  );
  TLSPIFlash qspi_0_1 ( // @[SPI.scala 67:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296137.4]
    .clock(qspi_0_1_clock),
    .reset(qspi_0_1_reset),
    .auto_int_xing_out_sync_0(qspi_0_1_auto_int_xing_out_sync_0),
    .auto_mem_xing_in_a_ready(qspi_0_1_auto_mem_xing_in_a_ready),
    .auto_mem_xing_in_a_valid(qspi_0_1_auto_mem_xing_in_a_valid),
    .auto_mem_xing_in_a_bits_opcode(qspi_0_1_auto_mem_xing_in_a_bits_opcode),
    .auto_mem_xing_in_a_bits_param(qspi_0_1_auto_mem_xing_in_a_bits_param),
    .auto_mem_xing_in_a_bits_size(qspi_0_1_auto_mem_xing_in_a_bits_size),
    .auto_mem_xing_in_a_bits_source(qspi_0_1_auto_mem_xing_in_a_bits_source),
    .auto_mem_xing_in_a_bits_address(qspi_0_1_auto_mem_xing_in_a_bits_address),
    .auto_mem_xing_in_a_bits_mask(qspi_0_1_auto_mem_xing_in_a_bits_mask),
    .auto_mem_xing_in_a_bits_corrupt(qspi_0_1_auto_mem_xing_in_a_bits_corrupt),
    .auto_mem_xing_in_d_ready(qspi_0_1_auto_mem_xing_in_d_ready),
    .auto_mem_xing_in_d_valid(qspi_0_1_auto_mem_xing_in_d_valid),
    .auto_mem_xing_in_d_bits_size(qspi_0_1_auto_mem_xing_in_d_bits_size),
    .auto_mem_xing_in_d_bits_source(qspi_0_1_auto_mem_xing_in_d_bits_source),
    .auto_mem_xing_in_d_bits_data(qspi_0_1_auto_mem_xing_in_d_bits_data),
    .auto_control_xing_in_a_ready(qspi_0_1_auto_control_xing_in_a_ready),
    .auto_control_xing_in_a_valid(qspi_0_1_auto_control_xing_in_a_valid),
    .auto_control_xing_in_a_bits_opcode(qspi_0_1_auto_control_xing_in_a_bits_opcode),
    .auto_control_xing_in_a_bits_param(qspi_0_1_auto_control_xing_in_a_bits_param),
    .auto_control_xing_in_a_bits_size(qspi_0_1_auto_control_xing_in_a_bits_size),
    .auto_control_xing_in_a_bits_source(qspi_0_1_auto_control_xing_in_a_bits_source),
    .auto_control_xing_in_a_bits_address(qspi_0_1_auto_control_xing_in_a_bits_address),
    .auto_control_xing_in_a_bits_mask(qspi_0_1_auto_control_xing_in_a_bits_mask),
    .auto_control_xing_in_a_bits_data(qspi_0_1_auto_control_xing_in_a_bits_data),
    .auto_control_xing_in_a_bits_corrupt(qspi_0_1_auto_control_xing_in_a_bits_corrupt),
    .auto_control_xing_in_d_ready(qspi_0_1_auto_control_xing_in_d_ready),
    .auto_control_xing_in_d_valid(qspi_0_1_auto_control_xing_in_d_valid),
    .auto_control_xing_in_d_bits_opcode(qspi_0_1_auto_control_xing_in_d_bits_opcode),
    .auto_control_xing_in_d_bits_size(qspi_0_1_auto_control_xing_in_d_bits_size),
    .auto_control_xing_in_d_bits_source(qspi_0_1_auto_control_xing_in_d_bits_source),
    .auto_control_xing_in_d_bits_data(qspi_0_1_auto_control_xing_in_d_bits_data),
    .auto_io_out_sck(qspi_0_1_auto_io_out_sck),
    .auto_io_out_dq_0_i(qspi_0_1_auto_io_out_dq_0_i),
    .auto_io_out_dq_0_o(qspi_0_1_auto_io_out_dq_0_o),
    .auto_io_out_dq_0_oe(qspi_0_1_auto_io_out_dq_0_oe),
    .auto_io_out_dq_1_i(qspi_0_1_auto_io_out_dq_1_i),
    .auto_io_out_dq_1_o(qspi_0_1_auto_io_out_dq_1_o),
    .auto_io_out_dq_1_oe(qspi_0_1_auto_io_out_dq_1_oe),
    .auto_io_out_dq_2_i(qspi_0_1_auto_io_out_dq_2_i),
    .auto_io_out_dq_2_o(qspi_0_1_auto_io_out_dq_2_o),
    .auto_io_out_dq_2_oe(qspi_0_1_auto_io_out_dq_2_oe),
    .auto_io_out_dq_3_i(qspi_0_1_auto_io_out_dq_3_i),
    .auto_io_out_dq_3_o(qspi_0_1_auto_io_out_dq_3_o),
    .auto_io_out_dq_3_oe(qspi_0_1_auto_io_out_dq_3_oe),
    .auto_io_out_cs_0(qspi_0_1_auto_io_out_cs_0)
  );
  IntSyncCrossingSink_2 intsink_7 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296143.4]
    .auto_in_sync_0(intsink_7_auto_in_sync_0),
    .auto_out_0(intsink_7_auto_out_0)
  );
  IntXing asyncXing_6 ( // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296149.4]
    .clock(asyncXing_6_clock),
    .auto_int_in_0(asyncXing_6_auto_int_in_0),
    .auto_int_out_0(asyncXing_6_auto_int_out_0)
  );
  TLSPI spi_0_1 ( // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296155.4]
    .clock(spi_0_1_clock),
    .reset(spi_0_1_reset),
    .auto_int_xing_out_sync_0(spi_0_1_auto_int_xing_out_sync_0),
    .auto_control_xing_in_a_ready(spi_0_1_auto_control_xing_in_a_ready),
    .auto_control_xing_in_a_valid(spi_0_1_auto_control_xing_in_a_valid),
    .auto_control_xing_in_a_bits_opcode(spi_0_1_auto_control_xing_in_a_bits_opcode),
    .auto_control_xing_in_a_bits_param(spi_0_1_auto_control_xing_in_a_bits_param),
    .auto_control_xing_in_a_bits_size(spi_0_1_auto_control_xing_in_a_bits_size),
    .auto_control_xing_in_a_bits_source(spi_0_1_auto_control_xing_in_a_bits_source),
    .auto_control_xing_in_a_bits_address(spi_0_1_auto_control_xing_in_a_bits_address),
    .auto_control_xing_in_a_bits_mask(spi_0_1_auto_control_xing_in_a_bits_mask),
    .auto_control_xing_in_a_bits_data(spi_0_1_auto_control_xing_in_a_bits_data),
    .auto_control_xing_in_a_bits_corrupt(spi_0_1_auto_control_xing_in_a_bits_corrupt),
    .auto_control_xing_in_d_ready(spi_0_1_auto_control_xing_in_d_ready),
    .auto_control_xing_in_d_valid(spi_0_1_auto_control_xing_in_d_valid),
    .auto_control_xing_in_d_bits_opcode(spi_0_1_auto_control_xing_in_d_bits_opcode),
    .auto_control_xing_in_d_bits_size(spi_0_1_auto_control_xing_in_d_bits_size),
    .auto_control_xing_in_d_bits_source(spi_0_1_auto_control_xing_in_d_bits_source),
    .auto_control_xing_in_d_bits_data(spi_0_1_auto_control_xing_in_d_bits_data),
    .auto_io_out_sck(spi_0_1_auto_io_out_sck),
    .auto_io_out_dq_0_i(spi_0_1_auto_io_out_dq_0_i),
    .auto_io_out_dq_0_o(spi_0_1_auto_io_out_dq_0_o),
    .auto_io_out_dq_0_oe(spi_0_1_auto_io_out_dq_0_oe),
    .auto_io_out_dq_1_i(spi_0_1_auto_io_out_dq_1_i),
    .auto_io_out_dq_1_o(spi_0_1_auto_io_out_dq_1_o),
    .auto_io_out_dq_1_oe(spi_0_1_auto_io_out_dq_1_oe),
    .auto_io_out_dq_2_i(spi_0_1_auto_io_out_dq_2_i),
    .auto_io_out_dq_2_o(spi_0_1_auto_io_out_dq_2_o),
    .auto_io_out_dq_2_oe(spi_0_1_auto_io_out_dq_2_oe),
    .auto_io_out_dq_3_i(spi_0_1_auto_io_out_dq_3_i),
    .auto_io_out_dq_3_o(spi_0_1_auto_io_out_dq_3_o),
    .auto_io_out_dq_3_oe(spi_0_1_auto_io_out_dq_3_oe),
    .auto_io_out_cs_0(spi_0_1_auto_io_out_cs_0),
    .auto_io_out_cs_1(spi_0_1_auto_io_out_cs_1)
  );
  IntSyncCrossingSink_2 intsink_8 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296161.4]
    .auto_in_sync_0(intsink_8_auto_in_sync_0),
    .auto_out_0(intsink_8_auto_out_0)
  );
  IntXing asyncXing_7 ( // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296167.4]
    .clock(asyncXing_7_clock),
    .auto_int_in_0(asyncXing_7_auto_int_in_0),
    .auto_int_out_0(asyncXing_7_auto_int_out_0)
  );
  TLSPI_1 spi_1_1 ( // @[SPI.scala 40:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296173.4]
    .clock(spi_1_1_clock),
    .reset(spi_1_1_reset),
    .auto_int_xing_out_sync_0(spi_1_1_auto_int_xing_out_sync_0),
    .auto_control_xing_in_a_ready(spi_1_1_auto_control_xing_in_a_ready),
    .auto_control_xing_in_a_valid(spi_1_1_auto_control_xing_in_a_valid),
    .auto_control_xing_in_a_bits_opcode(spi_1_1_auto_control_xing_in_a_bits_opcode),
    .auto_control_xing_in_a_bits_param(spi_1_1_auto_control_xing_in_a_bits_param),
    .auto_control_xing_in_a_bits_size(spi_1_1_auto_control_xing_in_a_bits_size),
    .auto_control_xing_in_a_bits_source(spi_1_1_auto_control_xing_in_a_bits_source),
    .auto_control_xing_in_a_bits_address(spi_1_1_auto_control_xing_in_a_bits_address),
    .auto_control_xing_in_a_bits_mask(spi_1_1_auto_control_xing_in_a_bits_mask),
    .auto_control_xing_in_a_bits_data(spi_1_1_auto_control_xing_in_a_bits_data),
    .auto_control_xing_in_a_bits_corrupt(spi_1_1_auto_control_xing_in_a_bits_corrupt),
    .auto_control_xing_in_d_ready(spi_1_1_auto_control_xing_in_d_ready),
    .auto_control_xing_in_d_valid(spi_1_1_auto_control_xing_in_d_valid),
    .auto_control_xing_in_d_bits_opcode(spi_1_1_auto_control_xing_in_d_bits_opcode),
    .auto_control_xing_in_d_bits_size(spi_1_1_auto_control_xing_in_d_bits_size),
    .auto_control_xing_in_d_bits_source(spi_1_1_auto_control_xing_in_d_bits_source),
    .auto_control_xing_in_d_bits_data(spi_1_1_auto_control_xing_in_d_bits_data),
    .auto_io_out_sck(spi_1_1_auto_io_out_sck),
    .auto_io_out_dq_0_i(spi_1_1_auto_io_out_dq_0_i),
    .auto_io_out_dq_0_o(spi_1_1_auto_io_out_dq_0_o),
    .auto_io_out_dq_0_oe(spi_1_1_auto_io_out_dq_0_oe),
    .auto_io_out_dq_1_i(spi_1_1_auto_io_out_dq_1_i),
    .auto_io_out_dq_1_o(spi_1_1_auto_io_out_dq_1_o),
    .auto_io_out_dq_1_oe(spi_1_1_auto_io_out_dq_1_oe),
    .auto_io_out_dq_2_i(spi_1_1_auto_io_out_dq_2_i),
    .auto_io_out_dq_2_o(spi_1_1_auto_io_out_dq_2_o),
    .auto_io_out_dq_2_oe(spi_1_1_auto_io_out_dq_2_oe),
    .auto_io_out_dq_3_i(spi_1_1_auto_io_out_dq_3_i),
    .auto_io_out_dq_3_o(spi_1_1_auto_io_out_dq_3_o),
    .auto_io_out_dq_3_oe(spi_1_1_auto_io_out_dq_3_oe),
    .auto_io_out_cs_0(spi_1_1_auto_io_out_cs_0)
  );
  IntSyncCrossingSink_2 intsink_9 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296179.4]
    .auto_in_sync_0(intsink_9_auto_in_sync_0),
    .auto_out_0(intsink_9_auto_out_0)
  );
  IntXing_8 asyncXing_8 ( // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296185.4]
    .clock(asyncXing_8_clock),
    .auto_int_in_0(asyncXing_8_auto_int_in_0),
    .auto_int_in_1(asyncXing_8_auto_int_in_1),
    .auto_int_in_2(asyncXing_8_auto_int_in_2),
    .auto_int_in_3(asyncXing_8_auto_int_in_3),
    .auto_int_in_4(asyncXing_8_auto_int_in_4),
    .auto_int_in_5(asyncXing_8_auto_int_in_5),
    .auto_int_in_6(asyncXing_8_auto_int_in_6),
    .auto_int_in_7(asyncXing_8_auto_int_in_7),
    .auto_int_in_8(asyncXing_8_auto_int_in_8),
    .auto_int_in_9(asyncXing_8_auto_int_in_9),
    .auto_int_in_10(asyncXing_8_auto_int_in_10),
    .auto_int_in_11(asyncXing_8_auto_int_in_11),
    .auto_int_in_12(asyncXing_8_auto_int_in_12),
    .auto_int_in_13(asyncXing_8_auto_int_in_13),
    .auto_int_in_14(asyncXing_8_auto_int_in_14),
    .auto_int_in_15(asyncXing_8_auto_int_in_15),
    .auto_int_in_16(asyncXing_8_auto_int_in_16),
    .auto_int_in_17(asyncXing_8_auto_int_in_17),
    .auto_int_in_18(asyncXing_8_auto_int_in_18),
    .auto_int_in_19(asyncXing_8_auto_int_in_19),
    .auto_int_in_20(asyncXing_8_auto_int_in_20),
    .auto_int_in_21(asyncXing_8_auto_int_in_21),
    .auto_int_in_22(asyncXing_8_auto_int_in_22),
    .auto_int_in_23(asyncXing_8_auto_int_in_23),
    .auto_int_in_24(asyncXing_8_auto_int_in_24),
    .auto_int_in_25(asyncXing_8_auto_int_in_25),
    .auto_int_in_26(asyncXing_8_auto_int_in_26),
    .auto_int_in_27(asyncXing_8_auto_int_in_27),
    .auto_int_in_28(asyncXing_8_auto_int_in_28),
    .auto_int_in_29(asyncXing_8_auto_int_in_29),
    .auto_int_in_30(asyncXing_8_auto_int_in_30),
    .auto_int_in_31(asyncXing_8_auto_int_in_31),
    .auto_int_out_0(asyncXing_8_auto_int_out_0),
    .auto_int_out_1(asyncXing_8_auto_int_out_1),
    .auto_int_out_2(asyncXing_8_auto_int_out_2),
    .auto_int_out_3(asyncXing_8_auto_int_out_3),
    .auto_int_out_4(asyncXing_8_auto_int_out_4),
    .auto_int_out_5(asyncXing_8_auto_int_out_5),
    .auto_int_out_6(asyncXing_8_auto_int_out_6),
    .auto_int_out_7(asyncXing_8_auto_int_out_7),
    .auto_int_out_8(asyncXing_8_auto_int_out_8),
    .auto_int_out_9(asyncXing_8_auto_int_out_9),
    .auto_int_out_10(asyncXing_8_auto_int_out_10),
    .auto_int_out_11(asyncXing_8_auto_int_out_11),
    .auto_int_out_12(asyncXing_8_auto_int_out_12),
    .auto_int_out_13(asyncXing_8_auto_int_out_13),
    .auto_int_out_14(asyncXing_8_auto_int_out_14),
    .auto_int_out_15(asyncXing_8_auto_int_out_15),
    .auto_int_out_16(asyncXing_8_auto_int_out_16),
    .auto_int_out_17(asyncXing_8_auto_int_out_17),
    .auto_int_out_18(asyncXing_8_auto_int_out_18),
    .auto_int_out_19(asyncXing_8_auto_int_out_19),
    .auto_int_out_20(asyncXing_8_auto_int_out_20),
    .auto_int_out_21(asyncXing_8_auto_int_out_21),
    .auto_int_out_22(asyncXing_8_auto_int_out_22),
    .auto_int_out_23(asyncXing_8_auto_int_out_23),
    .auto_int_out_24(asyncXing_8_auto_int_out_24),
    .auto_int_out_25(asyncXing_8_auto_int_out_25),
    .auto_int_out_26(asyncXing_8_auto_int_out_26),
    .auto_int_out_27(asyncXing_8_auto_int_out_27),
    .auto_int_out_28(asyncXing_8_auto_int_out_28),
    .auto_int_out_29(asyncXing_8_auto_int_out_29),
    .auto_int_out_30(asyncXing_8_auto_int_out_30),
    .auto_int_out_31(asyncXing_8_auto_int_out_31)
  );
  TLGPIO gpio_0_1 ( // @[GPIO.scala 224:26:shc.marmotcaravel.MarmotCaravelConfig.fir@296191.4]
    .clock(gpio_0_1_clock),
    .reset(gpio_0_1_reset),
    .auto_int_xing_out_sync_0(gpio_0_1_auto_int_xing_out_sync_0),
    .auto_int_xing_out_sync_1(gpio_0_1_auto_int_xing_out_sync_1),
    .auto_int_xing_out_sync_2(gpio_0_1_auto_int_xing_out_sync_2),
    .auto_int_xing_out_sync_3(gpio_0_1_auto_int_xing_out_sync_3),
    .auto_int_xing_out_sync_4(gpio_0_1_auto_int_xing_out_sync_4),
    .auto_int_xing_out_sync_5(gpio_0_1_auto_int_xing_out_sync_5),
    .auto_int_xing_out_sync_6(gpio_0_1_auto_int_xing_out_sync_6),
    .auto_int_xing_out_sync_7(gpio_0_1_auto_int_xing_out_sync_7),
    .auto_int_xing_out_sync_8(gpio_0_1_auto_int_xing_out_sync_8),
    .auto_int_xing_out_sync_9(gpio_0_1_auto_int_xing_out_sync_9),
    .auto_int_xing_out_sync_10(gpio_0_1_auto_int_xing_out_sync_10),
    .auto_int_xing_out_sync_11(gpio_0_1_auto_int_xing_out_sync_11),
    .auto_int_xing_out_sync_12(gpio_0_1_auto_int_xing_out_sync_12),
    .auto_int_xing_out_sync_13(gpio_0_1_auto_int_xing_out_sync_13),
    .auto_int_xing_out_sync_14(gpio_0_1_auto_int_xing_out_sync_14),
    .auto_int_xing_out_sync_15(gpio_0_1_auto_int_xing_out_sync_15),
    .auto_int_xing_out_sync_16(gpio_0_1_auto_int_xing_out_sync_16),
    .auto_int_xing_out_sync_17(gpio_0_1_auto_int_xing_out_sync_17),
    .auto_int_xing_out_sync_18(gpio_0_1_auto_int_xing_out_sync_18),
    .auto_int_xing_out_sync_19(gpio_0_1_auto_int_xing_out_sync_19),
    .auto_int_xing_out_sync_20(gpio_0_1_auto_int_xing_out_sync_20),
    .auto_int_xing_out_sync_21(gpio_0_1_auto_int_xing_out_sync_21),
    .auto_int_xing_out_sync_22(gpio_0_1_auto_int_xing_out_sync_22),
    .auto_int_xing_out_sync_23(gpio_0_1_auto_int_xing_out_sync_23),
    .auto_int_xing_out_sync_24(gpio_0_1_auto_int_xing_out_sync_24),
    .auto_int_xing_out_sync_25(gpio_0_1_auto_int_xing_out_sync_25),
    .auto_int_xing_out_sync_26(gpio_0_1_auto_int_xing_out_sync_26),
    .auto_int_xing_out_sync_27(gpio_0_1_auto_int_xing_out_sync_27),
    .auto_int_xing_out_sync_28(gpio_0_1_auto_int_xing_out_sync_28),
    .auto_int_xing_out_sync_29(gpio_0_1_auto_int_xing_out_sync_29),
    .auto_int_xing_out_sync_30(gpio_0_1_auto_int_xing_out_sync_30),
    .auto_int_xing_out_sync_31(gpio_0_1_auto_int_xing_out_sync_31),
    .auto_control_xing_in_a_ready(gpio_0_1_auto_control_xing_in_a_ready),
    .auto_control_xing_in_a_valid(gpio_0_1_auto_control_xing_in_a_valid),
    .auto_control_xing_in_a_bits_opcode(gpio_0_1_auto_control_xing_in_a_bits_opcode),
    .auto_control_xing_in_a_bits_param(gpio_0_1_auto_control_xing_in_a_bits_param),
    .auto_control_xing_in_a_bits_size(gpio_0_1_auto_control_xing_in_a_bits_size),
    .auto_control_xing_in_a_bits_source(gpio_0_1_auto_control_xing_in_a_bits_source),
    .auto_control_xing_in_a_bits_address(gpio_0_1_auto_control_xing_in_a_bits_address),
    .auto_control_xing_in_a_bits_mask(gpio_0_1_auto_control_xing_in_a_bits_mask),
    .auto_control_xing_in_a_bits_data(gpio_0_1_auto_control_xing_in_a_bits_data),
    .auto_control_xing_in_a_bits_corrupt(gpio_0_1_auto_control_xing_in_a_bits_corrupt),
    .auto_control_xing_in_d_ready(gpio_0_1_auto_control_xing_in_d_ready),
    .auto_control_xing_in_d_valid(gpio_0_1_auto_control_xing_in_d_valid),
    .auto_control_xing_in_d_bits_opcode(gpio_0_1_auto_control_xing_in_d_bits_opcode),
    .auto_control_xing_in_d_bits_size(gpio_0_1_auto_control_xing_in_d_bits_size),
    .auto_control_xing_in_d_bits_source(gpio_0_1_auto_control_xing_in_d_bits_source),
    .auto_control_xing_in_d_bits_data(gpio_0_1_auto_control_xing_in_d_bits_data),
    .auto_io_out_pins_0_i_ival(gpio_0_1_auto_io_out_pins_0_i_ival),
    .auto_io_out_pins_0_o_oval(gpio_0_1_auto_io_out_pins_0_o_oval),
    .auto_io_out_pins_0_o_oe(gpio_0_1_auto_io_out_pins_0_o_oe),
    .auto_io_out_pins_0_o_ie(gpio_0_1_auto_io_out_pins_0_o_ie),
    .auto_io_out_pins_1_i_ival(gpio_0_1_auto_io_out_pins_1_i_ival),
    .auto_io_out_pins_1_o_oval(gpio_0_1_auto_io_out_pins_1_o_oval),
    .auto_io_out_pins_1_o_oe(gpio_0_1_auto_io_out_pins_1_o_oe),
    .auto_io_out_pins_1_o_ie(gpio_0_1_auto_io_out_pins_1_o_ie),
    .auto_io_out_pins_2_i_ival(gpio_0_1_auto_io_out_pins_2_i_ival),
    .auto_io_out_pins_2_o_oval(gpio_0_1_auto_io_out_pins_2_o_oval),
    .auto_io_out_pins_2_o_oe(gpio_0_1_auto_io_out_pins_2_o_oe),
    .auto_io_out_pins_2_o_ie(gpio_0_1_auto_io_out_pins_2_o_ie),
    .auto_io_out_pins_3_i_ival(gpio_0_1_auto_io_out_pins_3_i_ival),
    .auto_io_out_pins_3_o_oval(gpio_0_1_auto_io_out_pins_3_o_oval),
    .auto_io_out_pins_3_o_oe(gpio_0_1_auto_io_out_pins_3_o_oe),
    .auto_io_out_pins_3_o_ie(gpio_0_1_auto_io_out_pins_3_o_ie),
    .auto_io_out_pins_4_i_ival(gpio_0_1_auto_io_out_pins_4_i_ival),
    .auto_io_out_pins_4_o_oval(gpio_0_1_auto_io_out_pins_4_o_oval),
    .auto_io_out_pins_4_o_oe(gpio_0_1_auto_io_out_pins_4_o_oe),
    .auto_io_out_pins_4_o_ie(gpio_0_1_auto_io_out_pins_4_o_ie),
    .auto_io_out_pins_5_i_ival(gpio_0_1_auto_io_out_pins_5_i_ival),
    .auto_io_out_pins_5_o_oval(gpio_0_1_auto_io_out_pins_5_o_oval),
    .auto_io_out_pins_5_o_oe(gpio_0_1_auto_io_out_pins_5_o_oe),
    .auto_io_out_pins_5_o_ie(gpio_0_1_auto_io_out_pins_5_o_ie),
    .auto_io_out_pins_6_i_ival(gpio_0_1_auto_io_out_pins_6_i_ival),
    .auto_io_out_pins_6_o_oval(gpio_0_1_auto_io_out_pins_6_o_oval),
    .auto_io_out_pins_6_o_oe(gpio_0_1_auto_io_out_pins_6_o_oe),
    .auto_io_out_pins_6_o_ie(gpio_0_1_auto_io_out_pins_6_o_ie),
    .auto_io_out_pins_7_i_ival(gpio_0_1_auto_io_out_pins_7_i_ival),
    .auto_io_out_pins_7_o_oval(gpio_0_1_auto_io_out_pins_7_o_oval),
    .auto_io_out_pins_7_o_oe(gpio_0_1_auto_io_out_pins_7_o_oe),
    .auto_io_out_pins_7_o_ie(gpio_0_1_auto_io_out_pins_7_o_ie),
    .auto_io_out_pins_8_i_ival(gpio_0_1_auto_io_out_pins_8_i_ival),
    .auto_io_out_pins_8_o_oval(gpio_0_1_auto_io_out_pins_8_o_oval),
    .auto_io_out_pins_8_o_oe(gpio_0_1_auto_io_out_pins_8_o_oe),
    .auto_io_out_pins_8_o_ie(gpio_0_1_auto_io_out_pins_8_o_ie),
    .auto_io_out_pins_9_i_ival(gpio_0_1_auto_io_out_pins_9_i_ival),
    .auto_io_out_pins_9_o_oval(gpio_0_1_auto_io_out_pins_9_o_oval),
    .auto_io_out_pins_9_o_oe(gpio_0_1_auto_io_out_pins_9_o_oe),
    .auto_io_out_pins_9_o_ie(gpio_0_1_auto_io_out_pins_9_o_ie),
    .auto_io_out_pins_10_i_ival(gpio_0_1_auto_io_out_pins_10_i_ival),
    .auto_io_out_pins_10_o_oval(gpio_0_1_auto_io_out_pins_10_o_oval),
    .auto_io_out_pins_10_o_oe(gpio_0_1_auto_io_out_pins_10_o_oe),
    .auto_io_out_pins_10_o_ie(gpio_0_1_auto_io_out_pins_10_o_ie),
    .auto_io_out_pins_11_i_ival(gpio_0_1_auto_io_out_pins_11_i_ival),
    .auto_io_out_pins_11_o_oval(gpio_0_1_auto_io_out_pins_11_o_oval),
    .auto_io_out_pins_11_o_oe(gpio_0_1_auto_io_out_pins_11_o_oe),
    .auto_io_out_pins_11_o_ie(gpio_0_1_auto_io_out_pins_11_o_ie),
    .auto_io_out_pins_12_i_ival(gpio_0_1_auto_io_out_pins_12_i_ival),
    .auto_io_out_pins_12_o_oval(gpio_0_1_auto_io_out_pins_12_o_oval),
    .auto_io_out_pins_12_o_oe(gpio_0_1_auto_io_out_pins_12_o_oe),
    .auto_io_out_pins_12_o_ie(gpio_0_1_auto_io_out_pins_12_o_ie),
    .auto_io_out_pins_13_i_ival(gpio_0_1_auto_io_out_pins_13_i_ival),
    .auto_io_out_pins_13_o_oval(gpio_0_1_auto_io_out_pins_13_o_oval),
    .auto_io_out_pins_13_o_oe(gpio_0_1_auto_io_out_pins_13_o_oe),
    .auto_io_out_pins_13_o_ie(gpio_0_1_auto_io_out_pins_13_o_ie),
    .auto_io_out_pins_14_i_ival(gpio_0_1_auto_io_out_pins_14_i_ival),
    .auto_io_out_pins_14_o_oval(gpio_0_1_auto_io_out_pins_14_o_oval),
    .auto_io_out_pins_14_o_oe(gpio_0_1_auto_io_out_pins_14_o_oe),
    .auto_io_out_pins_14_o_ie(gpio_0_1_auto_io_out_pins_14_o_ie),
    .auto_io_out_pins_15_i_ival(gpio_0_1_auto_io_out_pins_15_i_ival),
    .auto_io_out_pins_15_o_oval(gpio_0_1_auto_io_out_pins_15_o_oval),
    .auto_io_out_pins_15_o_oe(gpio_0_1_auto_io_out_pins_15_o_oe),
    .auto_io_out_pins_15_o_ie(gpio_0_1_auto_io_out_pins_15_o_ie),
    .auto_io_out_pins_16_i_ival(gpio_0_1_auto_io_out_pins_16_i_ival),
    .auto_io_out_pins_16_o_oval(gpio_0_1_auto_io_out_pins_16_o_oval),
    .auto_io_out_pins_16_o_oe(gpio_0_1_auto_io_out_pins_16_o_oe),
    .auto_io_out_pins_16_o_ie(gpio_0_1_auto_io_out_pins_16_o_ie),
    .auto_io_out_pins_17_i_ival(gpio_0_1_auto_io_out_pins_17_i_ival),
    .auto_io_out_pins_17_o_oval(gpio_0_1_auto_io_out_pins_17_o_oval),
    .auto_io_out_pins_17_o_oe(gpio_0_1_auto_io_out_pins_17_o_oe),
    .auto_io_out_pins_17_o_ie(gpio_0_1_auto_io_out_pins_17_o_ie),
    .auto_io_out_pins_18_i_ival(gpio_0_1_auto_io_out_pins_18_i_ival),
    .auto_io_out_pins_18_o_oval(gpio_0_1_auto_io_out_pins_18_o_oval),
    .auto_io_out_pins_18_o_oe(gpio_0_1_auto_io_out_pins_18_o_oe),
    .auto_io_out_pins_18_o_ie(gpio_0_1_auto_io_out_pins_18_o_ie),
    .auto_io_out_pins_19_i_ival(gpio_0_1_auto_io_out_pins_19_i_ival),
    .auto_io_out_pins_19_o_oval(gpio_0_1_auto_io_out_pins_19_o_oval),
    .auto_io_out_pins_19_o_oe(gpio_0_1_auto_io_out_pins_19_o_oe),
    .auto_io_out_pins_19_o_ie(gpio_0_1_auto_io_out_pins_19_o_ie),
    .auto_io_out_pins_20_i_ival(gpio_0_1_auto_io_out_pins_20_i_ival),
    .auto_io_out_pins_20_o_oval(gpio_0_1_auto_io_out_pins_20_o_oval),
    .auto_io_out_pins_20_o_oe(gpio_0_1_auto_io_out_pins_20_o_oe),
    .auto_io_out_pins_20_o_ie(gpio_0_1_auto_io_out_pins_20_o_ie),
    .auto_io_out_pins_21_i_ival(gpio_0_1_auto_io_out_pins_21_i_ival),
    .auto_io_out_pins_21_o_oval(gpio_0_1_auto_io_out_pins_21_o_oval),
    .auto_io_out_pins_21_o_oe(gpio_0_1_auto_io_out_pins_21_o_oe),
    .auto_io_out_pins_21_o_ie(gpio_0_1_auto_io_out_pins_21_o_ie),
    .auto_io_out_pins_22_i_ival(gpio_0_1_auto_io_out_pins_22_i_ival),
    .auto_io_out_pins_22_o_oval(gpio_0_1_auto_io_out_pins_22_o_oval),
    .auto_io_out_pins_22_o_oe(gpio_0_1_auto_io_out_pins_22_o_oe),
    .auto_io_out_pins_22_o_ie(gpio_0_1_auto_io_out_pins_22_o_ie),
    .auto_io_out_pins_23_i_ival(gpio_0_1_auto_io_out_pins_23_i_ival),
    .auto_io_out_pins_23_o_oval(gpio_0_1_auto_io_out_pins_23_o_oval),
    .auto_io_out_pins_23_o_oe(gpio_0_1_auto_io_out_pins_23_o_oe),
    .auto_io_out_pins_23_o_ie(gpio_0_1_auto_io_out_pins_23_o_ie),
    .auto_io_out_pins_24_i_ival(gpio_0_1_auto_io_out_pins_24_i_ival),
    .auto_io_out_pins_24_o_oval(gpio_0_1_auto_io_out_pins_24_o_oval),
    .auto_io_out_pins_24_o_oe(gpio_0_1_auto_io_out_pins_24_o_oe),
    .auto_io_out_pins_24_o_ie(gpio_0_1_auto_io_out_pins_24_o_ie),
    .auto_io_out_iof_0_0_o_oval(gpio_0_1_auto_io_out_iof_0_0_o_oval),
    .auto_io_out_iof_0_1_o_oval(gpio_0_1_auto_io_out_iof_0_1_o_oval),
    .auto_io_out_iof_0_2_i_ival(gpio_0_1_auto_io_out_iof_0_2_i_ival),
    .auto_io_out_iof_0_2_o_oval(gpio_0_1_auto_io_out_iof_0_2_o_oval),
    .auto_io_out_iof_0_2_o_oe(gpio_0_1_auto_io_out_iof_0_2_o_oe),
    .auto_io_out_iof_0_2_o_ie(gpio_0_1_auto_io_out_iof_0_2_o_ie),
    .auto_io_out_iof_0_3_i_ival(gpio_0_1_auto_io_out_iof_0_3_i_ival),
    .auto_io_out_iof_0_3_o_oval(gpio_0_1_auto_io_out_iof_0_3_o_oval),
    .auto_io_out_iof_0_3_o_oe(gpio_0_1_auto_io_out_iof_0_3_o_oe),
    .auto_io_out_iof_0_3_o_ie(gpio_0_1_auto_io_out_iof_0_3_o_ie),
    .auto_io_out_iof_0_4_i_ival(gpio_0_1_auto_io_out_iof_0_4_i_ival),
    .auto_io_out_iof_0_4_o_oval(gpio_0_1_auto_io_out_iof_0_4_o_oval),
    .auto_io_out_iof_0_4_o_oe(gpio_0_1_auto_io_out_iof_0_4_o_oe),
    .auto_io_out_iof_0_4_o_ie(gpio_0_1_auto_io_out_iof_0_4_o_ie),
    .auto_io_out_iof_0_5_i_ival(gpio_0_1_auto_io_out_iof_0_5_i_ival),
    .auto_io_out_iof_0_5_o_oval(gpio_0_1_auto_io_out_iof_0_5_o_oval),
    .auto_io_out_iof_0_5_o_oe(gpio_0_1_auto_io_out_iof_0_5_o_oe),
    .auto_io_out_iof_0_5_o_ie(gpio_0_1_auto_io_out_iof_0_5_o_ie),
    .auto_io_out_iof_0_6_o_oval(gpio_0_1_auto_io_out_iof_0_6_o_oval),
    .auto_io_out_iof_0_7_o_oval(gpio_0_1_auto_io_out_iof_0_7_o_oval),
    .auto_io_out_iof_0_8_i_ival(gpio_0_1_auto_io_out_iof_0_8_i_ival),
    .auto_io_out_iof_0_8_o_oval(gpio_0_1_auto_io_out_iof_0_8_o_oval),
    .auto_io_out_iof_0_8_o_oe(gpio_0_1_auto_io_out_iof_0_8_o_oe),
    .auto_io_out_iof_0_8_o_ie(gpio_0_1_auto_io_out_iof_0_8_o_ie),
    .auto_io_out_iof_0_9_i_ival(gpio_0_1_auto_io_out_iof_0_9_i_ival),
    .auto_io_out_iof_0_9_o_oval(gpio_0_1_auto_io_out_iof_0_9_o_oval),
    .auto_io_out_iof_0_9_o_oe(gpio_0_1_auto_io_out_iof_0_9_o_oe),
    .auto_io_out_iof_0_9_o_ie(gpio_0_1_auto_io_out_iof_0_9_o_ie),
    .auto_io_out_iof_0_10_i_ival(gpio_0_1_auto_io_out_iof_0_10_i_ival),
    .auto_io_out_iof_0_10_o_oval(gpio_0_1_auto_io_out_iof_0_10_o_oval),
    .auto_io_out_iof_0_10_o_oe(gpio_0_1_auto_io_out_iof_0_10_o_oe),
    .auto_io_out_iof_0_10_o_ie(gpio_0_1_auto_io_out_iof_0_10_o_ie),
    .auto_io_out_iof_0_11_i_ival(gpio_0_1_auto_io_out_iof_0_11_i_ival),
    .auto_io_out_iof_0_11_o_oval(gpio_0_1_auto_io_out_iof_0_11_o_oval),
    .auto_io_out_iof_0_11_o_oe(gpio_0_1_auto_io_out_iof_0_11_o_oe),
    .auto_io_out_iof_0_11_o_ie(gpio_0_1_auto_io_out_iof_0_11_o_ie),
    .auto_io_out_iof_0_12_i_ival(gpio_0_1_auto_io_out_iof_0_12_i_ival),
    .auto_io_out_iof_0_12_o_oe(gpio_0_1_auto_io_out_iof_0_12_o_oe),
    .auto_io_out_iof_0_13_i_ival(gpio_0_1_auto_io_out_iof_0_13_i_ival),
    .auto_io_out_iof_0_13_o_oe(gpio_0_1_auto_io_out_iof_0_13_o_oe),
    .auto_io_out_iof_0_14_i_ival(gpio_0_1_auto_io_out_iof_0_14_i_ival),
    .auto_io_out_iof_0_14_o_oe(gpio_0_1_auto_io_out_iof_0_14_o_oe),
    .auto_io_out_iof_0_15_i_ival(gpio_0_1_auto_io_out_iof_0_15_i_ival),
    .auto_io_out_iof_0_15_o_oe(gpio_0_1_auto_io_out_iof_0_15_o_oe),
    .auto_io_out_iof_0_16_i_ival(gpio_0_1_auto_io_out_iof_0_16_i_ival),
    .auto_io_out_iof_0_17_o_oval(gpio_0_1_auto_io_out_iof_0_17_o_oval),
    .auto_io_out_iof_0_18_i_ival(gpio_0_1_auto_io_out_iof_0_18_i_ival),
    .auto_io_out_iof_0_19_o_oval(gpio_0_1_auto_io_out_iof_0_19_o_oval),
    .auto_io_out_iof_0_20_i_ival(gpio_0_1_auto_io_out_iof_0_20_i_ival),
    .auto_io_out_iof_0_21_o_oval(gpio_0_1_auto_io_out_iof_0_21_o_oval),
    .auto_io_out_iof_0_22_i_ival(gpio_0_1_auto_io_out_iof_0_22_i_ival),
    .auto_io_out_iof_0_23_o_oval(gpio_0_1_auto_io_out_iof_0_23_o_oval),
    .auto_io_out_iof_0_24_o_oval(gpio_0_1_auto_io_out_iof_0_24_o_oval)
  );
  IntSyncCrossingSink_13 intsink_10 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296197.4]
    .auto_in_sync_0(intsink_10_auto_in_sync_0),
    .auto_in_sync_1(intsink_10_auto_in_sync_1),
    .auto_in_sync_2(intsink_10_auto_in_sync_2),
    .auto_in_sync_3(intsink_10_auto_in_sync_3),
    .auto_in_sync_4(intsink_10_auto_in_sync_4),
    .auto_in_sync_5(intsink_10_auto_in_sync_5),
    .auto_in_sync_6(intsink_10_auto_in_sync_6),
    .auto_in_sync_7(intsink_10_auto_in_sync_7),
    .auto_in_sync_8(intsink_10_auto_in_sync_8),
    .auto_in_sync_9(intsink_10_auto_in_sync_9),
    .auto_in_sync_10(intsink_10_auto_in_sync_10),
    .auto_in_sync_11(intsink_10_auto_in_sync_11),
    .auto_in_sync_12(intsink_10_auto_in_sync_12),
    .auto_in_sync_13(intsink_10_auto_in_sync_13),
    .auto_in_sync_14(intsink_10_auto_in_sync_14),
    .auto_in_sync_15(intsink_10_auto_in_sync_15),
    .auto_in_sync_16(intsink_10_auto_in_sync_16),
    .auto_in_sync_17(intsink_10_auto_in_sync_17),
    .auto_in_sync_18(intsink_10_auto_in_sync_18),
    .auto_in_sync_19(intsink_10_auto_in_sync_19),
    .auto_in_sync_20(intsink_10_auto_in_sync_20),
    .auto_in_sync_21(intsink_10_auto_in_sync_21),
    .auto_in_sync_22(intsink_10_auto_in_sync_22),
    .auto_in_sync_23(intsink_10_auto_in_sync_23),
    .auto_in_sync_24(intsink_10_auto_in_sync_24),
    .auto_in_sync_25(intsink_10_auto_in_sync_25),
    .auto_in_sync_26(intsink_10_auto_in_sync_26),
    .auto_in_sync_27(intsink_10_auto_in_sync_27),
    .auto_in_sync_28(intsink_10_auto_in_sync_28),
    .auto_in_sync_29(intsink_10_auto_in_sync_29),
    .auto_in_sync_30(intsink_10_auto_in_sync_30),
    .auto_in_sync_31(intsink_10_auto_in_sync_31),
    .auto_out_0(intsink_10_auto_out_0),
    .auto_out_1(intsink_10_auto_out_1),
    .auto_out_2(intsink_10_auto_out_2),
    .auto_out_3(intsink_10_auto_out_3),
    .auto_out_4(intsink_10_auto_out_4),
    .auto_out_5(intsink_10_auto_out_5),
    .auto_out_6(intsink_10_auto_out_6),
    .auto_out_7(intsink_10_auto_out_7),
    .auto_out_8(intsink_10_auto_out_8),
    .auto_out_9(intsink_10_auto_out_9),
    .auto_out_10(intsink_10_auto_out_10),
    .auto_out_11(intsink_10_auto_out_11),
    .auto_out_12(intsink_10_auto_out_12),
    .auto_out_13(intsink_10_auto_out_13),
    .auto_out_14(intsink_10_auto_out_14),
    .auto_out_15(intsink_10_auto_out_15),
    .auto_out_16(intsink_10_auto_out_16),
    .auto_out_17(intsink_10_auto_out_17),
    .auto_out_18(intsink_10_auto_out_18),
    .auto_out_19(intsink_10_auto_out_19),
    .auto_out_20(intsink_10_auto_out_20),
    .auto_out_21(intsink_10_auto_out_21),
    .auto_out_22(intsink_10_auto_out_22),
    .auto_out_23(intsink_10_auto_out_23),
    .auto_out_24(intsink_10_auto_out_24),
    .auto_out_25(intsink_10_auto_out_25),
    .auto_out_26(intsink_10_auto_out_26),
    .auto_out_27(intsink_10_auto_out_27),
    .auto_out_28(intsink_10_auto_out_28),
    .auto_out_29(intsink_10_auto_out_29),
    .auto_out_30(intsink_10_auto_out_30),
    .auto_out_31(intsink_10_auto_out_31)
  );
  IntXing asyncXing_9 ( // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296203.4]
    .clock(asyncXing_9_clock),
    .auto_int_in_0(asyncXing_9_auto_int_in_0),
    .auto_int_out_0(asyncXing_9_auto_int_out_0)
  );
  TLI2C i2c_0_1 ( // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296209.4]
    .clock(i2c_0_1_clock),
    .reset(i2c_0_1_reset),
    .auto_int_xing_out_sync_0(i2c_0_1_auto_int_xing_out_sync_0),
    .auto_control_xing_in_a_ready(i2c_0_1_auto_control_xing_in_a_ready),
    .auto_control_xing_in_a_valid(i2c_0_1_auto_control_xing_in_a_valid),
    .auto_control_xing_in_a_bits_opcode(i2c_0_1_auto_control_xing_in_a_bits_opcode),
    .auto_control_xing_in_a_bits_param(i2c_0_1_auto_control_xing_in_a_bits_param),
    .auto_control_xing_in_a_bits_size(i2c_0_1_auto_control_xing_in_a_bits_size),
    .auto_control_xing_in_a_bits_source(i2c_0_1_auto_control_xing_in_a_bits_source),
    .auto_control_xing_in_a_bits_address(i2c_0_1_auto_control_xing_in_a_bits_address),
    .auto_control_xing_in_a_bits_mask(i2c_0_1_auto_control_xing_in_a_bits_mask),
    .auto_control_xing_in_a_bits_data(i2c_0_1_auto_control_xing_in_a_bits_data),
    .auto_control_xing_in_a_bits_corrupt(i2c_0_1_auto_control_xing_in_a_bits_corrupt),
    .auto_control_xing_in_d_ready(i2c_0_1_auto_control_xing_in_d_ready),
    .auto_control_xing_in_d_valid(i2c_0_1_auto_control_xing_in_d_valid),
    .auto_control_xing_in_d_bits_opcode(i2c_0_1_auto_control_xing_in_d_bits_opcode),
    .auto_control_xing_in_d_bits_size(i2c_0_1_auto_control_xing_in_d_bits_size),
    .auto_control_xing_in_d_bits_source(i2c_0_1_auto_control_xing_in_d_bits_source),
    .auto_control_xing_in_d_bits_data(i2c_0_1_auto_control_xing_in_d_bits_data),
    .auto_io_out_scl_in(i2c_0_1_auto_io_out_scl_in),
    .auto_io_out_scl_oe(i2c_0_1_auto_io_out_scl_oe),
    .auto_io_out_sda_in(i2c_0_1_auto_io_out_sda_in),
    .auto_io_out_sda_oe(i2c_0_1_auto_io_out_sda_oe)
  );
  IntSyncCrossingSink_2 intsink_11 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296215.4]
    .auto_in_sync_0(intsink_11_auto_in_sync_0),
    .auto_out_0(intsink_11_auto_out_0)
  );
  IntXing asyncXing_10 ( // @[InterruptBus.scala 16:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296221.4]
    .clock(asyncXing_10_clock),
    .auto_int_in_0(asyncXing_10_auto_int_in_0),
    .auto_int_out_0(asyncXing_10_auto_int_out_0)
  );
  TLI2C_1 i2c_1_1 ( // @[I2C.scala 595:25:shc.marmotcaravel.MarmotCaravelConfig.fir@296227.4]
    .clock(i2c_1_1_clock),
    .reset(i2c_1_1_reset),
    .auto_int_xing_out_sync_0(i2c_1_1_auto_int_xing_out_sync_0),
    .auto_control_xing_in_a_ready(i2c_1_1_auto_control_xing_in_a_ready),
    .auto_control_xing_in_a_valid(i2c_1_1_auto_control_xing_in_a_valid),
    .auto_control_xing_in_a_bits_opcode(i2c_1_1_auto_control_xing_in_a_bits_opcode),
    .auto_control_xing_in_a_bits_param(i2c_1_1_auto_control_xing_in_a_bits_param),
    .auto_control_xing_in_a_bits_size(i2c_1_1_auto_control_xing_in_a_bits_size),
    .auto_control_xing_in_a_bits_source(i2c_1_1_auto_control_xing_in_a_bits_source),
    .auto_control_xing_in_a_bits_address(i2c_1_1_auto_control_xing_in_a_bits_address),
    .auto_control_xing_in_a_bits_mask(i2c_1_1_auto_control_xing_in_a_bits_mask),
    .auto_control_xing_in_a_bits_data(i2c_1_1_auto_control_xing_in_a_bits_data),
    .auto_control_xing_in_a_bits_corrupt(i2c_1_1_auto_control_xing_in_a_bits_corrupt),
    .auto_control_xing_in_d_ready(i2c_1_1_auto_control_xing_in_d_ready),
    .auto_control_xing_in_d_valid(i2c_1_1_auto_control_xing_in_d_valid),
    .auto_control_xing_in_d_bits_opcode(i2c_1_1_auto_control_xing_in_d_bits_opcode),
    .auto_control_xing_in_d_bits_size(i2c_1_1_auto_control_xing_in_d_bits_size),
    .auto_control_xing_in_d_bits_source(i2c_1_1_auto_control_xing_in_d_bits_source),
    .auto_control_xing_in_d_bits_data(i2c_1_1_auto_control_xing_in_d_bits_data),
    .auto_io_out_scl_in(i2c_1_1_auto_io_out_scl_in),
    .auto_io_out_scl_oe(i2c_1_1_auto_io_out_scl_oe),
    .auto_io_out_sda_in(i2c_1_1_auto_io_out_sda_in),
    .auto_io_out_sda_oe(i2c_1_1_auto_io_out_sda_oe)
  );
  IntSyncCrossingSink_2 intsink_12 ( // @[Crossing.scala 63:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296233.4]
    .auto_in_sync_0(intsink_12_auto_in_sync_0),
    .auto_out_0(intsink_12_auto_out_0)
  );
  DebugTransportModuleJTAG dtm ( // @[Periphery.scala 51:21:shc.marmotcaravel.MarmotCaravelConfig.fir@296442.4]
    .clock(dtm_clock),
    .reset(dtm_reset),
    .io_dmi_req_ready(dtm_io_dmi_req_ready),
    .io_dmi_req_valid(dtm_io_dmi_req_valid),
    .io_dmi_req_bits_addr(dtm_io_dmi_req_bits_addr),
    .io_dmi_req_bits_data(dtm_io_dmi_req_bits_data),
    .io_dmi_req_bits_op(dtm_io_dmi_req_bits_op),
    .io_dmi_resp_ready(dtm_io_dmi_resp_ready),
    .io_dmi_resp_valid(dtm_io_dmi_resp_valid),
    .io_dmi_resp_bits_data(dtm_io_dmi_resp_bits_data),
    .io_dmi_resp_bits_resp(dtm_io_dmi_resp_bits_resp),
    .io_jtag_TMS(dtm_io_jtag_TMS),
    .io_jtag_TDI(dtm_io_jtag_TDI),
    .io_jtag_TDO_data(dtm_io_jtag_TDO_data),
    .io_jtag_TDO_driven(dtm_io_jtag_TDO_driven),
    .io_jtag_reset(dtm_io_jtag_reset),
    .io_fsmReset(dtm_io_fsmReset)
  );
  ResetCatchAndSync_d3 dmiResetCatch ( // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@296465.4]
    .clock(dmiResetCatch_clock),
    .reset(dmiResetCatch_reset),
    .io_sync_reset(dmiResetCatch_io_sync_reset)
  );
  SynchronizerShiftReg_w1_d3 rtc ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296493.4]
    .clock(rtc_clock),
    .io_d(rtc_io_d),
    .io_q(rtc_io_q)
  );
  assign _T_2162 = 1'h0; // @[Periphery.scala 62:65:shc.marmotcaravel.MarmotCaravelConfig.fir@296460.4]
  assign _T_3451 = ~ rtc_last; // @[MockAONPeriphery.scala 46:60:shc.marmotcaravel.MarmotCaravelConfig.fir@296503.4]
  assign rtc_sync = rtc_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@296498.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@296500.4]
  assign _T_3452 = rtc_sync & _T_3451; // @[MockAONPeriphery.scala 46:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296504.4]
  assign global_reset_vector = 32'h10000; // @[ResetVector.scala 10:33:shc.marmotcaravel.MarmotCaravelConfig.fir@296434.4 System.scala 46:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296511.4]
  assign tile_inputs_0_hartid = 1'h0; // @[HasTiles.scala 137:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296436.4 RocketSubsystem.scala 74:17:shc.marmotcaravel.MarmotCaravelConfig.fir@296476.4]
  assign tile_inputs_0_reset_vector = 32'h10000; // @[HasTiles.scala 137:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296436.4 RocketSubsystem.scala 75:23:shc.marmotcaravel.MarmotCaravelConfig.fir@296477.4]
  assign tile_inputs_0_clock = clock; // @[HasTiles.scala 137:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296436.4 RocketSubsystem.scala 72:16:shc.marmotcaravel.MarmotCaravelConfig.fir@296474.4]
  assign tile_inputs_0_reset = reset; // @[HasTiles.scala 137:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296436.4 RocketSubsystem.scala 73:16:shc.marmotcaravel.MarmotCaravelConfig.fir@296475.4]
  assign debug_systemjtag_jtag_TDO_data = dtm_io_jtag_TDO_data; // @[Periphery.scala 52:17:shc.marmotcaravel.MarmotCaravelConfig.fir@296446.4]
  assign debug_systemjtag_jtag_TDO_driven = dtm_io_jtag_TDO_driven; // @[Periphery.scala 52:17:shc.marmotcaravel.MarmotCaravelConfig.fir@296446.4]
  assign uart_0_txd = uart_0_1_auto_io_out_txd; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296478.4]
  assign uart_1_txd = uart_1_1_auto_io_out_txd; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296479.4]
  assign uart_2_txd = uart_2_1_auto_io_out_txd; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296480.4]
  assign uart_3_txd = uart_3_1_auto_io_out_txd; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296481.4]
  assign uart_4_txd = uart_4_1_auto_io_out_txd; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296482.4]
  assign spi_0_sck = spi_0_1_auto_io_out_sck; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296483.4]
  assign spi_0_dq_0_o = spi_0_1_auto_io_out_dq_0_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296483.4]
  assign spi_0_dq_0_oe = spi_0_1_auto_io_out_dq_0_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296483.4]
  assign spi_0_dq_1_o = spi_0_1_auto_io_out_dq_1_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296483.4]
  assign spi_0_dq_1_oe = spi_0_1_auto_io_out_dq_1_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296483.4]
  assign spi_0_dq_2_o = spi_0_1_auto_io_out_dq_2_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296483.4]
  assign spi_0_dq_2_oe = spi_0_1_auto_io_out_dq_2_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296483.4]
  assign spi_0_dq_3_o = spi_0_1_auto_io_out_dq_3_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296483.4]
  assign spi_0_dq_3_oe = spi_0_1_auto_io_out_dq_3_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296483.4]
  assign spi_0_cs_0 = spi_0_1_auto_io_out_cs_0; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296483.4]
  assign spi_0_cs_1 = spi_0_1_auto_io_out_cs_1; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296483.4]
  assign spi_1_sck = spi_1_1_auto_io_out_sck; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296484.4]
  assign spi_1_dq_0_o = spi_1_1_auto_io_out_dq_0_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296484.4]
  assign spi_1_dq_0_oe = spi_1_1_auto_io_out_dq_0_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296484.4]
  assign spi_1_dq_1_o = spi_1_1_auto_io_out_dq_1_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296484.4]
  assign spi_1_dq_1_oe = spi_1_1_auto_io_out_dq_1_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296484.4]
  assign spi_1_dq_2_o = spi_1_1_auto_io_out_dq_2_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296484.4]
  assign spi_1_dq_2_oe = spi_1_1_auto_io_out_dq_2_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296484.4]
  assign spi_1_dq_3_o = spi_1_1_auto_io_out_dq_3_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296484.4]
  assign spi_1_dq_3_oe = spi_1_1_auto_io_out_dq_3_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296484.4]
  assign spi_1_cs_0 = spi_1_1_auto_io_out_cs_0; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296484.4]
  assign gpio_0_pins_0_o_oval = gpio_0_1_auto_io_out_pins_0_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_0_o_oe = gpio_0_1_auto_io_out_pins_0_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_0_o_ie = gpio_0_1_auto_io_out_pins_0_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_1_o_oval = gpio_0_1_auto_io_out_pins_1_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_1_o_oe = gpio_0_1_auto_io_out_pins_1_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_1_o_ie = gpio_0_1_auto_io_out_pins_1_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_2_o_oval = gpio_0_1_auto_io_out_pins_2_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_2_o_oe = gpio_0_1_auto_io_out_pins_2_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_2_o_ie = gpio_0_1_auto_io_out_pins_2_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_3_o_oval = gpio_0_1_auto_io_out_pins_3_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_3_o_oe = gpio_0_1_auto_io_out_pins_3_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_3_o_ie = gpio_0_1_auto_io_out_pins_3_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_4_o_oval = gpio_0_1_auto_io_out_pins_4_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_4_o_oe = gpio_0_1_auto_io_out_pins_4_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_4_o_ie = gpio_0_1_auto_io_out_pins_4_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_5_o_oval = gpio_0_1_auto_io_out_pins_5_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_5_o_oe = gpio_0_1_auto_io_out_pins_5_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_5_o_ie = gpio_0_1_auto_io_out_pins_5_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_6_o_oval = gpio_0_1_auto_io_out_pins_6_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_6_o_oe = gpio_0_1_auto_io_out_pins_6_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_6_o_ie = gpio_0_1_auto_io_out_pins_6_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_7_o_oval = gpio_0_1_auto_io_out_pins_7_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_7_o_oe = gpio_0_1_auto_io_out_pins_7_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_7_o_ie = gpio_0_1_auto_io_out_pins_7_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_8_o_oval = gpio_0_1_auto_io_out_pins_8_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_8_o_oe = gpio_0_1_auto_io_out_pins_8_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_8_o_ie = gpio_0_1_auto_io_out_pins_8_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_9_o_oval = gpio_0_1_auto_io_out_pins_9_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_9_o_oe = gpio_0_1_auto_io_out_pins_9_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_9_o_ie = gpio_0_1_auto_io_out_pins_9_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_10_o_oval = gpio_0_1_auto_io_out_pins_10_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_10_o_oe = gpio_0_1_auto_io_out_pins_10_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_10_o_ie = gpio_0_1_auto_io_out_pins_10_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_11_o_oval = gpio_0_1_auto_io_out_pins_11_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_11_o_oe = gpio_0_1_auto_io_out_pins_11_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_11_o_ie = gpio_0_1_auto_io_out_pins_11_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_12_o_oval = gpio_0_1_auto_io_out_pins_12_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_12_o_oe = gpio_0_1_auto_io_out_pins_12_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_12_o_ie = gpio_0_1_auto_io_out_pins_12_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_13_o_oval = gpio_0_1_auto_io_out_pins_13_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_13_o_oe = gpio_0_1_auto_io_out_pins_13_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_13_o_ie = gpio_0_1_auto_io_out_pins_13_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_14_o_oval = gpio_0_1_auto_io_out_pins_14_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_14_o_oe = gpio_0_1_auto_io_out_pins_14_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_14_o_ie = gpio_0_1_auto_io_out_pins_14_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_15_o_oval = gpio_0_1_auto_io_out_pins_15_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_15_o_oe = gpio_0_1_auto_io_out_pins_15_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_15_o_ie = gpio_0_1_auto_io_out_pins_15_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_16_o_oval = gpio_0_1_auto_io_out_pins_16_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_16_o_oe = gpio_0_1_auto_io_out_pins_16_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_16_o_ie = gpio_0_1_auto_io_out_pins_16_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_17_o_oval = gpio_0_1_auto_io_out_pins_17_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_17_o_oe = gpio_0_1_auto_io_out_pins_17_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_17_o_ie = gpio_0_1_auto_io_out_pins_17_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_18_o_oval = gpio_0_1_auto_io_out_pins_18_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_18_o_oe = gpio_0_1_auto_io_out_pins_18_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_18_o_ie = gpio_0_1_auto_io_out_pins_18_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_19_o_oval = gpio_0_1_auto_io_out_pins_19_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_19_o_oe = gpio_0_1_auto_io_out_pins_19_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_19_o_ie = gpio_0_1_auto_io_out_pins_19_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_20_o_oval = gpio_0_1_auto_io_out_pins_20_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_20_o_oe = gpio_0_1_auto_io_out_pins_20_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_20_o_ie = gpio_0_1_auto_io_out_pins_20_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_21_o_oval = gpio_0_1_auto_io_out_pins_21_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_21_o_oe = gpio_0_1_auto_io_out_pins_21_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_21_o_ie = gpio_0_1_auto_io_out_pins_21_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_22_o_oval = gpio_0_1_auto_io_out_pins_22_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_22_o_oe = gpio_0_1_auto_io_out_pins_22_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_22_o_ie = gpio_0_1_auto_io_out_pins_22_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_23_o_oval = gpio_0_1_auto_io_out_pins_23_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_23_o_oe = gpio_0_1_auto_io_out_pins_23_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_23_o_ie = gpio_0_1_auto_io_out_pins_23_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_24_o_oval = gpio_0_1_auto_io_out_pins_24_o_oval; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_24_o_oe = gpio_0_1_auto_io_out_pins_24_o_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_pins_24_o_ie = gpio_0_1_auto_io_out_pins_24_o_ie; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_iof_0_2_i_ival = gpio_0_1_auto_io_out_iof_0_2_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_iof_0_3_i_ival = gpio_0_1_auto_io_out_iof_0_3_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_iof_0_4_i_ival = gpio_0_1_auto_io_out_iof_0_4_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_iof_0_5_i_ival = gpio_0_1_auto_io_out_iof_0_5_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_iof_0_8_i_ival = gpio_0_1_auto_io_out_iof_0_8_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_iof_0_9_i_ival = gpio_0_1_auto_io_out_iof_0_9_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_iof_0_10_i_ival = gpio_0_1_auto_io_out_iof_0_10_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_iof_0_11_i_ival = gpio_0_1_auto_io_out_iof_0_11_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_iof_0_12_i_ival = gpio_0_1_auto_io_out_iof_0_12_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_iof_0_13_i_ival = gpio_0_1_auto_io_out_iof_0_13_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_iof_0_14_i_ival = gpio_0_1_auto_io_out_iof_0_14_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_iof_0_15_i_ival = gpio_0_1_auto_io_out_iof_0_15_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_iof_0_16_i_ival = gpio_0_1_auto_io_out_iof_0_16_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_iof_0_18_i_ival = gpio_0_1_auto_io_out_iof_0_18_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_iof_0_20_i_ival = gpio_0_1_auto_io_out_iof_0_20_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign gpio_0_iof_0_22_i_ival = gpio_0_1_auto_io_out_iof_0_22_i_ival; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296485.4]
  assign qspi_0_sck = qspi_0_1_auto_io_out_sck; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296486.4]
  assign qspi_0_dq_0_o = qspi_0_1_auto_io_out_dq_0_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296486.4]
  assign qspi_0_dq_0_oe = qspi_0_1_auto_io_out_dq_0_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296486.4]
  assign qspi_0_dq_1_o = qspi_0_1_auto_io_out_dq_1_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296486.4]
  assign qspi_0_dq_1_oe = qspi_0_1_auto_io_out_dq_1_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296486.4]
  assign qspi_0_dq_2_o = qspi_0_1_auto_io_out_dq_2_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296486.4]
  assign qspi_0_dq_2_oe = qspi_0_1_auto_io_out_dq_2_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296486.4]
  assign qspi_0_dq_3_o = qspi_0_1_auto_io_out_dq_3_o; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296486.4]
  assign qspi_0_dq_3_oe = qspi_0_1_auto_io_out_dq_3_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296486.4]
  assign qspi_0_cs_0 = qspi_0_1_auto_io_out_cs_0; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296486.4]
  assign aon_rsts_corerst = aon_1_io_rsts_corerst; // @[MockAONPeriphery.scala 36:7:shc.marmotcaravel.MarmotCaravelConfig.fir@296487.4]
  assign i2c_0_scl_oe = i2c_0_1_auto_io_out_scl_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296509.4]
  assign i2c_0_sda_oe = i2c_0_1_auto_io_out_sda_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296509.4]
  assign i2c_1_scl_oe = i2c_1_1_auto_io_out_scl_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296510.4]
  assign i2c_1_sda_oe = i2c_1_1_auto_io_out_sda_oe; // @[BundleBridge.scala 27:8:shc.marmotcaravel.MarmotCaravelConfig.fir@296510.4]
  assign int_bus_auto_int_in_11_0 = asyncXing_10_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296406.4]
  assign int_bus_auto_int_in_10_0 = asyncXing_9_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296400.4]
  assign int_bus_auto_int_in_9_0 = asyncXing_8_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_1 = asyncXing_8_auto_int_out_1; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_2 = asyncXing_8_auto_int_out_2; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_3 = asyncXing_8_auto_int_out_3; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_4 = asyncXing_8_auto_int_out_4; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_5 = asyncXing_8_auto_int_out_5; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_6 = asyncXing_8_auto_int_out_6; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_7 = asyncXing_8_auto_int_out_7; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_8 = asyncXing_8_auto_int_out_8; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_9 = asyncXing_8_auto_int_out_9; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_10 = asyncXing_8_auto_int_out_10; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_11 = asyncXing_8_auto_int_out_11; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_12 = asyncXing_8_auto_int_out_12; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_13 = asyncXing_8_auto_int_out_13; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_14 = asyncXing_8_auto_int_out_14; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_15 = asyncXing_8_auto_int_out_15; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_16 = asyncXing_8_auto_int_out_16; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_17 = asyncXing_8_auto_int_out_17; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_18 = asyncXing_8_auto_int_out_18; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_19 = asyncXing_8_auto_int_out_19; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_20 = asyncXing_8_auto_int_out_20; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_21 = asyncXing_8_auto_int_out_21; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_22 = asyncXing_8_auto_int_out_22; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_23 = asyncXing_8_auto_int_out_23; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_24 = asyncXing_8_auto_int_out_24; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_25 = asyncXing_8_auto_int_out_25; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_26 = asyncXing_8_auto_int_out_26; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_27 = asyncXing_8_auto_int_out_27; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_28 = asyncXing_8_auto_int_out_28; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_29 = asyncXing_8_auto_int_out_29; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_30 = asyncXing_8_auto_int_out_30; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_9_31 = asyncXing_8_auto_int_out_31; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296394.4]
  assign int_bus_auto_int_in_8_0 = asyncXing_7_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296388.4]
  assign int_bus_auto_int_in_7_0 = asyncXing_6_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296382.4]
  assign int_bus_auto_int_in_6_0 = asyncXing_5_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296375.4]
  assign int_bus_auto_int_in_5_0 = asyncXing_4_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296369.4]
  assign int_bus_auto_int_in_4_0 = asyncXing_3_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296363.4]
  assign int_bus_auto_int_in_3_0 = asyncXing_2_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296357.4]
  assign int_bus_auto_int_in_2_0 = asyncXing_1_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296351.4]
  assign int_bus_auto_int_in_1_0 = asyncXing_auto_int_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296345.4]
  assign int_bus_auto_int_in_0_0 = intsink_1_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296344.4]
  assign int_bus_auto_int_in_0_1 = intsink_1_auto_out_1; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296344.4]
  assign sbus_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295939.4]
  assign sbus_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295940.4]
  assign sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_valid = tile_auto_tl_master_xing_out_a_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
  assign sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_opcode = tile_auto_tl_master_xing_out_a_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
  assign sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_param = tile_auto_tl_master_xing_out_a_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
  assign sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_size = tile_auto_tl_master_xing_out_a_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
  assign sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_source = tile_auto_tl_master_xing_out_a_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
  assign sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_address = tile_auto_tl_master_xing_out_a_bits_address; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
  assign sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_mask = tile_auto_tl_master_xing_out_a_bits_mask; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
  assign sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_data = tile_auto_tl_master_xing_out_a_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
  assign sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_bits_corrupt = tile_auto_tl_master_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
  assign sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_ready = tile_auto_tl_master_xing_out_d_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_ridx = aon_1_auto_isolation_in_a_ridx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_ridx_valid = aon_1_auto_isolation_in_a_safe_ridx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_sink_reset_n = aon_1_auto_isolation_in_a_safe_sink_reset_n; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_opcode = aon_1_auto_isolation_in_d_mem_0_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_param = aon_1_auto_isolation_in_d_mem_0_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_size = aon_1_auto_isolation_in_d_mem_0_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_source = aon_1_auto_isolation_in_d_mem_0_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_sink = aon_1_auto_isolation_in_d_mem_0_sink; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_denied = aon_1_auto_isolation_in_d_mem_0_denied; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_data = aon_1_auto_isolation_in_d_mem_0_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_mem_0_corrupt = aon_1_auto_isolation_in_d_mem_0_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_widx = aon_1_auto_isolation_in_d_widx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_widx_valid = aon_1_auto_isolation_in_d_safe_widx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_source_reset_n = aon_1_auto_isolation_in_d_safe_source_reset_n; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_ready = maskROM_auto_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_valid = maskROM_auto_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_size = maskROM_auto_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_source = maskROM_auto_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_bits_data = maskROM_auto_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
  assign sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_ready = tile_auto_tl_slave_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
  assign sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_valid = tile_auto_tl_slave_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
  assign sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_opcode = tile_auto_tl_slave_xing_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
  assign sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_param = tile_auto_tl_slave_xing_in_d_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
  assign sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_size = tile_auto_tl_slave_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
  assign sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_source = tile_auto_tl_slave_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
  assign sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_sink = tile_auto_tl_slave_xing_in_d_bits_sink; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
  assign sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_denied = tile_auto_tl_slave_xing_in_d_bits_denied; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
  assign sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_data = tile_auto_tl_slave_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
  assign sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_bits_corrupt = tile_auto_tl_slave_xing_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_ready = debug_1_auto_dmInner_dmInner_tl_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_valid = debug_1_auto_dmInner_dmInner_tl_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_opcode = debug_1_auto_dmInner_dmInner_tl_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_size = debug_1_auto_dmInner_dmInner_tl_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_source = debug_1_auto_dmInner_dmInner_tl_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_bits_data = debug_1_auto_dmInner_dmInner_tl_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_ready = clint_auto_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_valid = clint_auto_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_opcode = clint_auto_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_size = clint_auto_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_source = clint_auto_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_bits_data = clint_auto_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_ready = plic_auto_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_valid = plic_auto_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_opcode = plic_auto_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_size = plic_auto_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_source = plic_auto_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
  assign sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_bits_data = plic_auto_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
  assign sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_ready = pbus_auto_from_cbus_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
  assign sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_valid = pbus_auto_from_cbus_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
  assign sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_opcode = pbus_auto_from_cbus_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
  assign sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_param = pbus_auto_from_cbus_in_d_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
  assign sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_size = pbus_auto_from_cbus_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
  assign sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_source = pbus_auto_from_cbus_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
  assign sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_sink = pbus_auto_from_cbus_in_d_bits_sink; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
  assign sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_denied = pbus_auto_from_cbus_in_d_bits_denied; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
  assign sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_data = pbus_auto_from_cbus_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
  assign sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_bits_corrupt = pbus_auto_from_cbus_in_d_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
  assign pbus_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295945.4]
  assign pbus_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295946.4]
  assign pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_ready = i2c_1_1_auto_control_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
  assign pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_valid = i2c_1_1_auto_control_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
  assign pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_opcode = i2c_1_1_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
  assign pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_size = i2c_1_1_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
  assign pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_source = i2c_1_1_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
  assign pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_bits_data = i2c_1_1_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
  assign pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_ready = i2c_0_1_auto_control_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
  assign pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_valid = i2c_0_1_auto_control_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
  assign pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_opcode = i2c_0_1_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
  assign pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_size = i2c_0_1_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
  assign pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_source = i2c_0_1_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
  assign pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_bits_data = i2c_0_1_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
  assign pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_ready = gpio_0_1_auto_control_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
  assign pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_valid = gpio_0_1_auto_control_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
  assign pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_opcode = gpio_0_1_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
  assign pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_size = gpio_0_1_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
  assign pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_source = gpio_0_1_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
  assign pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_bits_data = gpio_0_1_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
  assign pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_ready = spi_1_1_auto_control_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
  assign pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_valid = spi_1_1_auto_control_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
  assign pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_opcode = spi_1_1_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
  assign pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_size = spi_1_1_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
  assign pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_source = spi_1_1_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
  assign pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_bits_data = spi_1_1_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
  assign pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_ready = spi_0_1_auto_control_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
  assign pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_valid = spi_0_1_auto_control_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
  assign pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_opcode = spi_0_1_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
  assign pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_size = spi_0_1_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
  assign pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_source = spi_0_1_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
  assign pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_bits_data = spi_0_1_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
  assign pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_ready = qspi_0_1_auto_mem_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
  assign pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_valid = qspi_0_1_auto_mem_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
  assign pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_size = qspi_0_1_auto_mem_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
  assign pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_source = qspi_0_1_auto_mem_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
  assign pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_bits_data = qspi_0_1_auto_mem_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
  assign pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_ready = qspi_0_1_auto_control_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
  assign pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_valid = qspi_0_1_auto_control_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
  assign pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_opcode = qspi_0_1_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
  assign pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_size = qspi_0_1_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
  assign pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_source = qspi_0_1_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
  assign pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_bits_data = qspi_0_1_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
  assign pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_ready = uart_4_1_auto_control_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
  assign pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_valid = uart_4_1_auto_control_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
  assign pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_opcode = uart_4_1_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
  assign pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_size = uart_4_1_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
  assign pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_source = uart_4_1_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
  assign pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_bits_data = uart_4_1_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
  assign pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_ready = uart_3_1_auto_control_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
  assign pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_valid = uart_3_1_auto_control_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
  assign pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_opcode = uart_3_1_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
  assign pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_size = uart_3_1_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
  assign pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_source = uart_3_1_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
  assign pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_bits_data = uart_3_1_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
  assign pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_ready = uart_2_1_auto_control_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
  assign pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_valid = uart_2_1_auto_control_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
  assign pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_opcode = uart_2_1_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
  assign pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_size = uart_2_1_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
  assign pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_source = uart_2_1_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
  assign pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_bits_data = uart_2_1_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
  assign pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_ready = uart_1_1_auto_control_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
  assign pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_valid = uart_1_1_auto_control_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
  assign pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_opcode = uart_1_1_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
  assign pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_size = uart_1_1_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
  assign pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_source = uart_1_1_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
  assign pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_bits_data = uart_1_1_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
  assign pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_ready = uart_0_1_auto_control_xing_in_a_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
  assign pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_valid = uart_0_1_auto_control_xing_in_d_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
  assign pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_opcode = uart_0_1_auto_control_xing_in_d_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
  assign pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_size = uart_0_1_auto_control_xing_in_d_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
  assign pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_source = uart_0_1_auto_control_xing_in_d_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
  assign pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_bits_data = uart_0_1_auto_control_xing_in_d_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
  assign pbus_auto_from_cbus_in_a_valid = sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
  assign pbus_auto_from_cbus_in_a_bits_opcode = sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
  assign pbus_auto_from_cbus_in_a_bits_param = sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
  assign pbus_auto_from_cbus_in_a_bits_size = sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
  assign pbus_auto_from_cbus_in_a_bits_source = sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
  assign pbus_auto_from_cbus_in_a_bits_address = sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
  assign pbus_auto_from_cbus_in_a_bits_mask = sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
  assign pbus_auto_from_cbus_in_a_bits_data = sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
  assign pbus_auto_from_cbus_in_a_bits_corrupt = sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
  assign pbus_auto_from_cbus_in_d_ready = sbus_auto_control_bus_coupler_to_bus_named_pbus_from_cbus_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296327.4]
  assign plic_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295975.4]
  assign plic_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295976.4]
  assign plic_auto_int_in_0 = int_bus_auto_int_out_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_1 = int_bus_auto_int_out_1; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_2 = int_bus_auto_int_out_2; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_3 = int_bus_auto_int_out_3; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_4 = int_bus_auto_int_out_4; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_5 = int_bus_auto_int_out_5; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_6 = int_bus_auto_int_out_6; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_7 = int_bus_auto_int_out_7; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_8 = int_bus_auto_int_out_8; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_9 = int_bus_auto_int_out_9; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_10 = int_bus_auto_int_out_10; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_11 = int_bus_auto_int_out_11; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_12 = int_bus_auto_int_out_12; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_13 = int_bus_auto_int_out_13; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_14 = int_bus_auto_int_out_14; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_15 = int_bus_auto_int_out_15; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_16 = int_bus_auto_int_out_16; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_17 = int_bus_auto_int_out_17; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_18 = int_bus_auto_int_out_18; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_19 = int_bus_auto_int_out_19; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_20 = int_bus_auto_int_out_20; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_21 = int_bus_auto_int_out_21; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_22 = int_bus_auto_int_out_22; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_23 = int_bus_auto_int_out_23; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_24 = int_bus_auto_int_out_24; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_25 = int_bus_auto_int_out_25; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_26 = int_bus_auto_int_out_26; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_27 = int_bus_auto_int_out_27; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_28 = int_bus_auto_int_out_28; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_29 = int_bus_auto_int_out_29; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_30 = int_bus_auto_int_out_30; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_31 = int_bus_auto_int_out_31; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_32 = int_bus_auto_int_out_32; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_33 = int_bus_auto_int_out_33; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_34 = int_bus_auto_int_out_34; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_35 = int_bus_auto_int_out_35; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_36 = int_bus_auto_int_out_36; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_37 = int_bus_auto_int_out_37; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_38 = int_bus_auto_int_out_38; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_39 = int_bus_auto_int_out_39; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_40 = int_bus_auto_int_out_40; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_41 = int_bus_auto_int_out_41; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_42 = int_bus_auto_int_out_42; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_int_in_43 = int_bus_auto_int_out_43; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296326.4]
  assign plic_auto_in_a_valid = sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
  assign plic_auto_in_a_bits_opcode = sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
  assign plic_auto_in_a_bits_param = sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
  assign plic_auto_in_a_bits_size = sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
  assign plic_auto_in_a_bits_source = sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
  assign plic_auto_in_a_bits_address = sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
  assign plic_auto_in_a_bits_mask = sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
  assign plic_auto_in_a_bits_data = sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
  assign plic_auto_in_a_bits_corrupt = sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
  assign plic_auto_in_d_ready = sbus_auto_control_bus_coupler_to_slave_named_plic_fragmenter_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296329.4]
  assign clint_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295982.4]
  assign clint_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295983.4]
  assign clint_auto_in_a_valid = sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
  assign clint_auto_in_a_bits_opcode = sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
  assign clint_auto_in_a_bits_param = sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
  assign clint_auto_in_a_bits_size = sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
  assign clint_auto_in_a_bits_source = sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
  assign clint_auto_in_a_bits_address = sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
  assign clint_auto_in_a_bits_mask = sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
  assign clint_auto_in_a_bits_data = sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
  assign clint_auto_in_a_bits_corrupt = sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
  assign clint_auto_in_d_ready = sbus_auto_control_bus_coupler_to_slave_named_clint_fragmenter_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296331.4]
  assign clint_io_rtcTick = rtc_tick; // @[MockAONPeriphery.scala 49:29:shc.marmotcaravel.MarmotCaravelConfig.fir@296507.4]
  assign debug_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295989.4]
  assign debug_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@295990.4]
  assign debug_1_auto_dmInner_dmInner_tl_in_a_valid = sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
  assign debug_1_auto_dmInner_dmInner_tl_in_a_bits_opcode = sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
  assign debug_1_auto_dmInner_dmInner_tl_in_a_bits_param = sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
  assign debug_1_auto_dmInner_dmInner_tl_in_a_bits_size = sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
  assign debug_1_auto_dmInner_dmInner_tl_in_a_bits_source = sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
  assign debug_1_auto_dmInner_dmInner_tl_in_a_bits_address = sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
  assign debug_1_auto_dmInner_dmInner_tl_in_a_bits_mask = sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
  assign debug_1_auto_dmInner_dmInner_tl_in_a_bits_data = sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
  assign debug_1_auto_dmInner_dmInner_tl_in_a_bits_corrupt = sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
  assign debug_1_auto_dmInner_dmInner_tl_in_d_ready = sbus_auto_control_bus_coupler_to_slave_named_debug_fragmenter_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296333.4]
  assign debug_1_io_dmi_dmi_req_valid = dtm_io_dmi_req_valid; // @[Periphery.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296451.4]
  assign debug_1_io_dmi_dmi_req_bits_addr = dtm_io_dmi_req_bits_addr; // @[Periphery.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296451.4]
  assign debug_1_io_dmi_dmi_req_bits_data = dtm_io_dmi_req_bits_data; // @[Periphery.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296451.4]
  assign debug_1_io_dmi_dmi_req_bits_op = dtm_io_dmi_req_bits_op; // @[Periphery.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296451.4]
  assign debug_1_io_dmi_dmi_resp_ready = dtm_io_dmi_resp_ready; // @[Periphery.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296451.4]
  assign debug_1_io_dmi_dmiClock = debug_systemjtag_jtag_TCK; // @[Periphery.scala 60:40:shc.marmotcaravel.MarmotCaravelConfig.fir@296452.4]
  assign debug_1_io_dmi_dmiReset = dmiResetCatch_io_sync_reset; // @[Periphery.scala 64:40:shc.marmotcaravel.MarmotCaravelConfig.fir@296470.4]
  assign tile_clock = tile_inputs_0_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296002.4 HasTiles.scala 143:16:shc.marmotcaravel.MarmotCaravelConfig.fir@296438.4]
  assign tile_reset = tile_inputs_0_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296003.4 HasTiles.scala 144:16:shc.marmotcaravel.MarmotCaravelConfig.fir@296439.4]
  assign tile_auto_intsink_in_sync_0 = debug_1_auto_dmOuter_intsource_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296332.4]
  assign tile_auto_int_in_xing_in_1_sync_0 = intsource_1_auto_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296339.4]
  assign tile_auto_int_in_xing_in_0_sync_0 = intsource_auto_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296337.4]
  assign tile_auto_int_in_xing_in_0_sync_1 = intsource_auto_out_sync_1; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296337.4]
  assign tile_auto_tl_slave_xing_in_a_valid = sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
  assign tile_auto_tl_slave_xing_in_a_bits_opcode = sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
  assign tile_auto_tl_slave_xing_in_a_bits_param = sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
  assign tile_auto_tl_slave_xing_in_a_bits_size = sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
  assign tile_auto_tl_slave_xing_in_a_bits_source = sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
  assign tile_auto_tl_slave_xing_in_a_bits_address = sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
  assign tile_auto_tl_slave_xing_in_a_bits_mask = sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
  assign tile_auto_tl_slave_xing_in_a_bits_data = sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
  assign tile_auto_tl_slave_xing_in_a_bits_corrupt = sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
  assign tile_auto_tl_slave_xing_in_d_ready = sbus_auto_control_bus_coupler_to_tile_named_tile_tl_slave_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296336.4]
  assign tile_auto_tl_master_xing_out_a_ready = sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_a_ready; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
  assign tile_auto_tl_master_xing_out_d_valid = sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_valid; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
  assign tile_auto_tl_master_xing_out_d_bits_opcode = sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_opcode; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
  assign tile_auto_tl_master_xing_out_d_bits_param = sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_param; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
  assign tile_auto_tl_master_xing_out_d_bits_size = sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_size; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
  assign tile_auto_tl_master_xing_out_d_bits_source = sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_source; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
  assign tile_auto_tl_master_xing_out_d_bits_sink = sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_sink; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
  assign tile_auto_tl_master_xing_out_d_bits_denied = sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_denied; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
  assign tile_auto_tl_master_xing_out_d_bits_data = sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_data; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
  assign tile_auto_tl_master_xing_out_d_bits_corrupt = sbus_auto_coupler_from_tile_named_tile_tl_master_xing_in_d_bits_corrupt; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296335.4]
  assign tile_constants_hartid = _T_2162; // @[HasTiles.scala 145:27:shc.marmotcaravel.MarmotCaravelConfig.fir@296440.4]
  assign tile_constants_reset_vector = global_reset_vector; // @[HasTiles.scala 146:33:shc.marmotcaravel.MarmotCaravelConfig.fir@296441.4]
  assign intsource_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296008.4]
  assign intsource_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296009.4]
  assign intsource_auto_in_0 = clint_auto_int_out_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296330.4]
  assign intsource_auto_in_1 = clint_auto_int_out_1; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296330.4]
  assign intsource_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296014.4]
  assign intsource_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296015.4]
  assign intsource_1_auto_in_0 = plic_auto_int_out_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296328.4]
  assign maskROM_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296026.4]
  assign maskROM_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296027.4]
  assign maskROM_auto_in_a_valid = sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
  assign maskROM_auto_in_a_bits_opcode = sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
  assign maskROM_auto_in_a_bits_param = sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
  assign maskROM_auto_in_a_bits_size = sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
  assign maskROM_auto_in_a_bits_source = sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
  assign maskROM_auto_in_a_bits_address = sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
  assign maskROM_auto_in_a_bits_mask = sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
  assign maskROM_auto_in_a_bits_corrupt = sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
  assign maskROM_auto_in_d_ready = sbus_auto_control_bus_coupler_to_slave_named_MaskROM_fragmenter_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296341.4]
  assign aon_1_auto_isolation_in_a_mem_0_opcode = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign aon_1_auto_isolation_in_a_mem_0_param = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign aon_1_auto_isolation_in_a_mem_0_size = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign aon_1_auto_isolation_in_a_mem_0_source = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign aon_1_auto_isolation_in_a_mem_0_address = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign aon_1_auto_isolation_in_a_mem_0_mask = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign aon_1_auto_isolation_in_a_mem_0_data = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign aon_1_auto_isolation_in_a_mem_0_corrupt = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_mem_0_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign aon_1_auto_isolation_in_a_widx = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_widx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign aon_1_auto_isolation_in_a_safe_widx_valid = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_widx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign aon_1_auto_isolation_in_a_safe_source_reset_n = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_a_safe_source_reset_n; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign aon_1_auto_isolation_in_d_ridx = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_ridx; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign aon_1_auto_isolation_in_d_safe_ridx_valid = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_ridx_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign aon_1_auto_isolation_in_d_safe_sink_reset_n = sbus_auto_control_bus_coupler_to_slave_named_aon_asource_out_d_safe_sink_reset_n; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296343.4]
  assign aon_1_io_pins_erst_n_i_ival = aon_pins_erst_n_i_ival; // @[MockAONPeriphery.scala 36:7:shc.marmotcaravel.MarmotCaravelConfig.fir@296487.4]
  assign aon_1_io_pins_lfextclk_i_ival = aon_pins_lfextclk_i_ival; // @[MockAONPeriphery.scala 36:7:shc.marmotcaravel.MarmotCaravelConfig.fir@296487.4]
  assign aon_1_io_ndreset = debug_1_io_ctrl_ndreset; // @[MockAONPeriphery.scala 52:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296508.4]
  assign intsink_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296039.4]
  assign intsink_1_auto_in_sync_0 = aon_1_auto_intsource_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296342.4]
  assign intsink_1_auto_in_sync_1 = aon_1_auto_intsource_out_sync_1; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296342.4]
  assign asyncXing_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296045.4]
  assign asyncXing_auto_int_in_0 = intsink_2_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296348.4]
  assign uart_0_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296051.4 UART.scala 160:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296412.4]
  assign uart_0_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296052.4 UART.scala 161:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296413.4]
  assign uart_0_1_auto_control_xing_in_a_valid = pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
  assign uart_0_1_auto_control_xing_in_a_bits_opcode = pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
  assign uart_0_1_auto_control_xing_in_a_bits_param = pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
  assign uart_0_1_auto_control_xing_in_a_bits_size = pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
  assign uart_0_1_auto_control_xing_in_a_bits_source = pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
  assign uart_0_1_auto_control_xing_in_a_bits_address = pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
  assign uart_0_1_auto_control_xing_in_a_bits_mask = pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
  assign uart_0_1_auto_control_xing_in_a_bits_data = pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
  assign uart_0_1_auto_control_xing_in_a_bits_corrupt = pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
  assign uart_0_1_auto_control_xing_in_d_ready = pbus_auto_coupler_to_slave_named_uart_0_control_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296347.4]
  assign uart_0_1_auto_io_out_rxd = uart_0_rxd; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296346.4]
  assign intsink_2_auto_in_sync_0 = uart_0_1_auto_int_xing_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296349.4]
  assign asyncXing_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296063.4]
  assign asyncXing_1_auto_int_in_0 = intsink_3_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296354.4]
  assign uart_1_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296069.4 UART.scala 160:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296414.4]
  assign uart_1_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296070.4 UART.scala 161:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296415.4]
  assign uart_1_1_auto_control_xing_in_a_valid = pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
  assign uart_1_1_auto_control_xing_in_a_bits_opcode = pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
  assign uart_1_1_auto_control_xing_in_a_bits_param = pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
  assign uart_1_1_auto_control_xing_in_a_bits_size = pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
  assign uart_1_1_auto_control_xing_in_a_bits_source = pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
  assign uart_1_1_auto_control_xing_in_a_bits_address = pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
  assign uart_1_1_auto_control_xing_in_a_bits_mask = pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
  assign uart_1_1_auto_control_xing_in_a_bits_data = pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
  assign uart_1_1_auto_control_xing_in_a_bits_corrupt = pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
  assign uart_1_1_auto_control_xing_in_d_ready = pbus_auto_coupler_to_slave_named_uart_1_control_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296353.4]
  assign uart_1_1_auto_io_out_rxd = uart_1_rxd; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296352.4]
  assign intsink_3_auto_in_sync_0 = uart_1_1_auto_int_xing_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296355.4]
  assign asyncXing_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296081.4]
  assign asyncXing_2_auto_int_in_0 = intsink_4_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296360.4]
  assign uart_2_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296087.4 UART.scala 160:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296416.4]
  assign uart_2_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296088.4 UART.scala 161:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296417.4]
  assign uart_2_1_auto_control_xing_in_a_valid = pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
  assign uart_2_1_auto_control_xing_in_a_bits_opcode = pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
  assign uart_2_1_auto_control_xing_in_a_bits_param = pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
  assign uart_2_1_auto_control_xing_in_a_bits_size = pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
  assign uart_2_1_auto_control_xing_in_a_bits_source = pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
  assign uart_2_1_auto_control_xing_in_a_bits_address = pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
  assign uart_2_1_auto_control_xing_in_a_bits_mask = pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
  assign uart_2_1_auto_control_xing_in_a_bits_data = pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
  assign uart_2_1_auto_control_xing_in_a_bits_corrupt = pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
  assign uart_2_1_auto_control_xing_in_d_ready = pbus_auto_coupler_to_slave_named_uart_2_control_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296359.4]
  assign uart_2_1_auto_io_out_rxd = uart_2_rxd; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296358.4]
  assign intsink_4_auto_in_sync_0 = uart_2_1_auto_int_xing_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296361.4]
  assign asyncXing_3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296099.4]
  assign asyncXing_3_auto_int_in_0 = intsink_5_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296366.4]
  assign uart_3_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296105.4 UART.scala 160:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296418.4]
  assign uart_3_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296106.4 UART.scala 161:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296419.4]
  assign uart_3_1_auto_control_xing_in_a_valid = pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
  assign uart_3_1_auto_control_xing_in_a_bits_opcode = pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
  assign uart_3_1_auto_control_xing_in_a_bits_param = pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
  assign uart_3_1_auto_control_xing_in_a_bits_size = pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
  assign uart_3_1_auto_control_xing_in_a_bits_source = pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
  assign uart_3_1_auto_control_xing_in_a_bits_address = pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
  assign uart_3_1_auto_control_xing_in_a_bits_mask = pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
  assign uart_3_1_auto_control_xing_in_a_bits_data = pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
  assign uart_3_1_auto_control_xing_in_a_bits_corrupt = pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
  assign uart_3_1_auto_control_xing_in_d_ready = pbus_auto_coupler_to_slave_named_uart_3_control_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296365.4]
  assign uart_3_1_auto_io_out_rxd = uart_3_rxd; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296364.4]
  assign intsink_5_auto_in_sync_0 = uart_3_1_auto_int_xing_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296367.4]
  assign asyncXing_4_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296117.4]
  assign asyncXing_4_auto_int_in_0 = intsink_6_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296372.4]
  assign uart_4_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296123.4 UART.scala 160:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296420.4]
  assign uart_4_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296124.4 UART.scala 161:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296421.4]
  assign uart_4_1_auto_control_xing_in_a_valid = pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
  assign uart_4_1_auto_control_xing_in_a_bits_opcode = pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
  assign uart_4_1_auto_control_xing_in_a_bits_param = pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
  assign uart_4_1_auto_control_xing_in_a_bits_size = pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
  assign uart_4_1_auto_control_xing_in_a_bits_source = pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
  assign uart_4_1_auto_control_xing_in_a_bits_address = pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
  assign uart_4_1_auto_control_xing_in_a_bits_mask = pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
  assign uart_4_1_auto_control_xing_in_a_bits_data = pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
  assign uart_4_1_auto_control_xing_in_a_bits_corrupt = pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
  assign uart_4_1_auto_control_xing_in_d_ready = pbus_auto_coupler_to_slave_named_uart_4_control_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296371.4]
  assign uart_4_1_auto_io_out_rxd = uart_4_rxd; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296370.4]
  assign intsink_6_auto_in_sync_0 = uart_4_1_auto_int_xing_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296373.4]
  assign asyncXing_5_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296135.4]
  assign asyncXing_5_auto_int_in_0 = intsink_7_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296379.4]
  assign qspi_0_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296141.4 SPI.scala 84:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296422.4]
  assign qspi_0_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296142.4 SPI.scala 85:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296423.4]
  assign qspi_0_1_auto_mem_xing_in_a_valid = pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
  assign qspi_0_1_auto_mem_xing_in_a_bits_opcode = pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
  assign qspi_0_1_auto_mem_xing_in_a_bits_param = pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
  assign qspi_0_1_auto_mem_xing_in_a_bits_size = pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
  assign qspi_0_1_auto_mem_xing_in_a_bits_source = pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
  assign qspi_0_1_auto_mem_xing_in_a_bits_address = pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
  assign qspi_0_1_auto_mem_xing_in_a_bits_mask = pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
  assign qspi_0_1_auto_mem_xing_in_a_bits_corrupt = pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
  assign qspi_0_1_auto_mem_xing_in_d_ready = pbus_auto_coupler_to_mem_named_qspi_0_mem_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296378.4]
  assign qspi_0_1_auto_control_xing_in_a_valid = pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
  assign qspi_0_1_auto_control_xing_in_a_bits_opcode = pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
  assign qspi_0_1_auto_control_xing_in_a_bits_param = pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
  assign qspi_0_1_auto_control_xing_in_a_bits_size = pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
  assign qspi_0_1_auto_control_xing_in_a_bits_source = pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
  assign qspi_0_1_auto_control_xing_in_a_bits_address = pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
  assign qspi_0_1_auto_control_xing_in_a_bits_mask = pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
  assign qspi_0_1_auto_control_xing_in_a_bits_data = pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
  assign qspi_0_1_auto_control_xing_in_a_bits_corrupt = pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
  assign qspi_0_1_auto_control_xing_in_d_ready = pbus_auto_coupler_to_device_named_qspi_0_control_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296377.4]
  assign qspi_0_1_auto_io_out_dq_0_i = qspi_0_dq_0_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296376.4]
  assign qspi_0_1_auto_io_out_dq_1_i = qspi_0_dq_1_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296376.4]
  assign qspi_0_1_auto_io_out_dq_2_i = qspi_0_dq_2_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296376.4]
  assign qspi_0_1_auto_io_out_dq_3_i = qspi_0_dq_3_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296376.4]
  assign intsink_7_auto_in_sync_0 = qspi_0_1_auto_int_xing_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296380.4]
  assign asyncXing_6_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296153.4]
  assign asyncXing_6_auto_int_in_0 = intsink_8_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296385.4]
  assign spi_0_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296159.4 SPI.scala 49:37:shc.marmotcaravel.MarmotCaravelConfig.fir@296424.4]
  assign spi_0_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296160.4 SPI.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@296425.4]
  assign spi_0_1_auto_control_xing_in_a_valid = pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
  assign spi_0_1_auto_control_xing_in_a_bits_opcode = pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
  assign spi_0_1_auto_control_xing_in_a_bits_param = pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
  assign spi_0_1_auto_control_xing_in_a_bits_size = pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
  assign spi_0_1_auto_control_xing_in_a_bits_source = pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
  assign spi_0_1_auto_control_xing_in_a_bits_address = pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
  assign spi_0_1_auto_control_xing_in_a_bits_mask = pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
  assign spi_0_1_auto_control_xing_in_a_bits_data = pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
  assign spi_0_1_auto_control_xing_in_a_bits_corrupt = pbus_auto_coupler_to_device_named_spi_0_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
  assign spi_0_1_auto_control_xing_in_d_ready = pbus_auto_coupler_to_device_named_spi_0_control_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296384.4]
  assign spi_0_1_auto_io_out_dq_0_i = spi_0_dq_0_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296383.4]
  assign spi_0_1_auto_io_out_dq_1_i = spi_0_dq_1_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296383.4]
  assign spi_0_1_auto_io_out_dq_2_i = spi_0_dq_2_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296383.4]
  assign spi_0_1_auto_io_out_dq_3_i = spi_0_dq_3_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296383.4]
  assign intsink_8_auto_in_sync_0 = spi_0_1_auto_int_xing_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296386.4]
  assign asyncXing_7_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296171.4]
  assign asyncXing_7_auto_int_in_0 = intsink_9_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296391.4]
  assign spi_1_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296177.4 SPI.scala 49:37:shc.marmotcaravel.MarmotCaravelConfig.fir@296426.4]
  assign spi_1_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296178.4 SPI.scala 50:37:shc.marmotcaravel.MarmotCaravelConfig.fir@296427.4]
  assign spi_1_1_auto_control_xing_in_a_valid = pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
  assign spi_1_1_auto_control_xing_in_a_bits_opcode = pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
  assign spi_1_1_auto_control_xing_in_a_bits_param = pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
  assign spi_1_1_auto_control_xing_in_a_bits_size = pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
  assign spi_1_1_auto_control_xing_in_a_bits_source = pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
  assign spi_1_1_auto_control_xing_in_a_bits_address = pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
  assign spi_1_1_auto_control_xing_in_a_bits_mask = pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
  assign spi_1_1_auto_control_xing_in_a_bits_data = pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
  assign spi_1_1_auto_control_xing_in_a_bits_corrupt = pbus_auto_coupler_to_device_named_spi_1_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
  assign spi_1_1_auto_control_xing_in_d_ready = pbus_auto_coupler_to_device_named_spi_1_control_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296390.4]
  assign spi_1_1_auto_io_out_dq_0_i = spi_1_dq_0_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296389.4]
  assign spi_1_1_auto_io_out_dq_1_i = spi_1_dq_1_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296389.4]
  assign spi_1_1_auto_io_out_dq_2_i = spi_1_dq_2_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296389.4]
  assign spi_1_1_auto_io_out_dq_3_i = spi_1_dq_3_i; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296389.4]
  assign intsink_9_auto_in_sync_0 = spi_1_1_auto_int_xing_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296392.4]
  assign asyncXing_8_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296189.4]
  assign asyncXing_8_auto_int_in_0 = intsink_10_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_1 = intsink_10_auto_out_1; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_2 = intsink_10_auto_out_2; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_3 = intsink_10_auto_out_3; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_4 = intsink_10_auto_out_4; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_5 = intsink_10_auto_out_5; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_6 = intsink_10_auto_out_6; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_7 = intsink_10_auto_out_7; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_8 = intsink_10_auto_out_8; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_9 = intsink_10_auto_out_9; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_10 = intsink_10_auto_out_10; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_11 = intsink_10_auto_out_11; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_12 = intsink_10_auto_out_12; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_13 = intsink_10_auto_out_13; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_14 = intsink_10_auto_out_14; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_15 = intsink_10_auto_out_15; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_16 = intsink_10_auto_out_16; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_17 = intsink_10_auto_out_17; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_18 = intsink_10_auto_out_18; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_19 = intsink_10_auto_out_19; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_20 = intsink_10_auto_out_20; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_21 = intsink_10_auto_out_21; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_22 = intsink_10_auto_out_22; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_23 = intsink_10_auto_out_23; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_24 = intsink_10_auto_out_24; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_25 = intsink_10_auto_out_25; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_26 = intsink_10_auto_out_26; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_27 = intsink_10_auto_out_27; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_28 = intsink_10_auto_out_28; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_29 = intsink_10_auto_out_29; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_30 = intsink_10_auto_out_30; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign asyncXing_8_auto_int_in_31 = intsink_10_auto_out_31; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296397.4]
  assign gpio_0_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296195.4 GPIO.scala 231:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296428.4]
  assign gpio_0_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296196.4 GPIO.scala 232:38:shc.marmotcaravel.MarmotCaravelConfig.fir@296429.4]
  assign gpio_0_1_auto_control_xing_in_a_valid = pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
  assign gpio_0_1_auto_control_xing_in_a_bits_opcode = pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
  assign gpio_0_1_auto_control_xing_in_a_bits_param = pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
  assign gpio_0_1_auto_control_xing_in_a_bits_size = pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
  assign gpio_0_1_auto_control_xing_in_a_bits_source = pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
  assign gpio_0_1_auto_control_xing_in_a_bits_address = pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
  assign gpio_0_1_auto_control_xing_in_a_bits_mask = pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
  assign gpio_0_1_auto_control_xing_in_a_bits_data = pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
  assign gpio_0_1_auto_control_xing_in_a_bits_corrupt = pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
  assign gpio_0_1_auto_control_xing_in_d_ready = pbus_auto_coupler_to_device_named_gpio_0_control_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296396.4]
  assign gpio_0_1_auto_io_out_pins_0_i_ival = gpio_0_pins_0_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_pins_1_i_ival = gpio_0_pins_1_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_pins_2_i_ival = gpio_0_pins_2_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_pins_3_i_ival = gpio_0_pins_3_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_pins_4_i_ival = gpio_0_pins_4_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_pins_5_i_ival = gpio_0_pins_5_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_pins_6_i_ival = gpio_0_pins_6_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_pins_7_i_ival = gpio_0_pins_7_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_pins_8_i_ival = gpio_0_pins_8_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_pins_9_i_ival = gpio_0_pins_9_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_pins_10_i_ival = gpio_0_pins_10_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_pins_11_i_ival = gpio_0_pins_11_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_pins_12_i_ival = gpio_0_pins_12_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_pins_13_i_ival = gpio_0_pins_13_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_pins_14_i_ival = gpio_0_pins_14_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_pins_15_i_ival = gpio_0_pins_15_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_pins_16_i_ival = gpio_0_pins_16_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_pins_17_i_ival = gpio_0_pins_17_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_pins_18_i_ival = gpio_0_pins_18_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_pins_19_i_ival = gpio_0_pins_19_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_pins_20_i_ival = gpio_0_pins_20_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_pins_21_i_ival = gpio_0_pins_21_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_pins_22_i_ival = gpio_0_pins_22_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_pins_23_i_ival = gpio_0_pins_23_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_pins_24_i_ival = gpio_0_pins_24_i_ival; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_0_o_oval = gpio_0_iof_0_0_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_1_o_oval = gpio_0_iof_0_1_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_2_o_oval = gpio_0_iof_0_2_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_2_o_oe = gpio_0_iof_0_2_o_oe; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_2_o_ie = gpio_0_iof_0_2_o_ie; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_3_o_oval = gpio_0_iof_0_3_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_3_o_oe = gpio_0_iof_0_3_o_oe; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_3_o_ie = gpio_0_iof_0_3_o_ie; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_4_o_oval = gpio_0_iof_0_4_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_4_o_oe = gpio_0_iof_0_4_o_oe; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_4_o_ie = gpio_0_iof_0_4_o_ie; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_5_o_oval = gpio_0_iof_0_5_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_5_o_oe = gpio_0_iof_0_5_o_oe; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_5_o_ie = gpio_0_iof_0_5_o_ie; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_6_o_oval = gpio_0_iof_0_6_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_7_o_oval = gpio_0_iof_0_7_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_8_o_oval = gpio_0_iof_0_8_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_8_o_oe = gpio_0_iof_0_8_o_oe; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_8_o_ie = gpio_0_iof_0_8_o_ie; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_9_o_oval = gpio_0_iof_0_9_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_9_o_oe = gpio_0_iof_0_9_o_oe; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_9_o_ie = gpio_0_iof_0_9_o_ie; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_10_o_oval = gpio_0_iof_0_10_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_10_o_oe = gpio_0_iof_0_10_o_oe; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_10_o_ie = gpio_0_iof_0_10_o_ie; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_11_o_oval = gpio_0_iof_0_11_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_11_o_oe = gpio_0_iof_0_11_o_oe; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_11_o_ie = gpio_0_iof_0_11_o_ie; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_12_o_oe = gpio_0_iof_0_12_o_oe; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_13_o_oe = gpio_0_iof_0_13_o_oe; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_14_o_oe = gpio_0_iof_0_14_o_oe; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_15_o_oe = gpio_0_iof_0_15_o_oe; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_17_o_oval = gpio_0_iof_0_17_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_19_o_oval = gpio_0_iof_0_19_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_21_o_oval = gpio_0_iof_0_21_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_23_o_oval = gpio_0_iof_0_23_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign gpio_0_1_auto_io_out_iof_0_24_o_oval = gpio_0_iof_0_24_o_oval; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296395.4]
  assign intsink_10_auto_in_sync_0 = gpio_0_1_auto_int_xing_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_1 = gpio_0_1_auto_int_xing_out_sync_1; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_2 = gpio_0_1_auto_int_xing_out_sync_2; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_3 = gpio_0_1_auto_int_xing_out_sync_3; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_4 = gpio_0_1_auto_int_xing_out_sync_4; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_5 = gpio_0_1_auto_int_xing_out_sync_5; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_6 = gpio_0_1_auto_int_xing_out_sync_6; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_7 = gpio_0_1_auto_int_xing_out_sync_7; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_8 = gpio_0_1_auto_int_xing_out_sync_8; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_9 = gpio_0_1_auto_int_xing_out_sync_9; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_10 = gpio_0_1_auto_int_xing_out_sync_10; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_11 = gpio_0_1_auto_int_xing_out_sync_11; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_12 = gpio_0_1_auto_int_xing_out_sync_12; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_13 = gpio_0_1_auto_int_xing_out_sync_13; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_14 = gpio_0_1_auto_int_xing_out_sync_14; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_15 = gpio_0_1_auto_int_xing_out_sync_15; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_16 = gpio_0_1_auto_int_xing_out_sync_16; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_17 = gpio_0_1_auto_int_xing_out_sync_17; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_18 = gpio_0_1_auto_int_xing_out_sync_18; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_19 = gpio_0_1_auto_int_xing_out_sync_19; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_20 = gpio_0_1_auto_int_xing_out_sync_20; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_21 = gpio_0_1_auto_int_xing_out_sync_21; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_22 = gpio_0_1_auto_int_xing_out_sync_22; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_23 = gpio_0_1_auto_int_xing_out_sync_23; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_24 = gpio_0_1_auto_int_xing_out_sync_24; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_25 = gpio_0_1_auto_int_xing_out_sync_25; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_26 = gpio_0_1_auto_int_xing_out_sync_26; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_27 = gpio_0_1_auto_int_xing_out_sync_27; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_28 = gpio_0_1_auto_int_xing_out_sync_28; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_29 = gpio_0_1_auto_int_xing_out_sync_29; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_30 = gpio_0_1_auto_int_xing_out_sync_30; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign intsink_10_auto_in_sync_31 = gpio_0_1_auto_int_xing_out_sync_31; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296398.4]
  assign asyncXing_9_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296207.4]
  assign asyncXing_9_auto_int_in_0 = intsink_11_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296403.4]
  assign i2c_0_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296213.4 I2C.scala 602:37:shc.marmotcaravel.MarmotCaravelConfig.fir@296430.4]
  assign i2c_0_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296214.4 I2C.scala 603:37:shc.marmotcaravel.MarmotCaravelConfig.fir@296431.4]
  assign i2c_0_1_auto_control_xing_in_a_valid = pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
  assign i2c_0_1_auto_control_xing_in_a_bits_opcode = pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
  assign i2c_0_1_auto_control_xing_in_a_bits_param = pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
  assign i2c_0_1_auto_control_xing_in_a_bits_size = pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
  assign i2c_0_1_auto_control_xing_in_a_bits_source = pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
  assign i2c_0_1_auto_control_xing_in_a_bits_address = pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
  assign i2c_0_1_auto_control_xing_in_a_bits_mask = pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
  assign i2c_0_1_auto_control_xing_in_a_bits_data = pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
  assign i2c_0_1_auto_control_xing_in_a_bits_corrupt = pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
  assign i2c_0_1_auto_control_xing_in_d_ready = pbus_auto_coupler_to_device_named_i2c_0_control_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296402.4]
  assign i2c_0_1_auto_io_out_scl_in = i2c_0_scl_in; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296401.4]
  assign i2c_0_1_auto_io_out_sda_in = i2c_0_sda_in; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296401.4]
  assign intsink_11_auto_in_sync_0 = i2c_0_1_auto_int_xing_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296404.4]
  assign asyncXing_10_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296225.4]
  assign asyncXing_10_auto_int_in_0 = intsink_12_auto_out_0; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296409.4]
  assign i2c_1_1_clock = pbus_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296231.4 I2C.scala 602:37:shc.marmotcaravel.MarmotCaravelConfig.fir@296432.4]
  assign i2c_1_1_reset = pbus_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296232.4 I2C.scala 603:37:shc.marmotcaravel.MarmotCaravelConfig.fir@296433.4]
  assign i2c_1_1_auto_control_xing_in_a_valid = pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_valid; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
  assign i2c_1_1_auto_control_xing_in_a_bits_opcode = pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_opcode; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
  assign i2c_1_1_auto_control_xing_in_a_bits_param = pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_param; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
  assign i2c_1_1_auto_control_xing_in_a_bits_size = pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_size; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
  assign i2c_1_1_auto_control_xing_in_a_bits_source = pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_source; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
  assign i2c_1_1_auto_control_xing_in_a_bits_address = pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_address; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
  assign i2c_1_1_auto_control_xing_in_a_bits_mask = pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_mask; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
  assign i2c_1_1_auto_control_xing_in_a_bits_data = pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_data; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
  assign i2c_1_1_auto_control_xing_in_a_bits_corrupt = pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_a_bits_corrupt; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
  assign i2c_1_1_auto_control_xing_in_d_ready = pbus_auto_coupler_to_device_named_i2c_1_control_xing_out_d_ready; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296408.4]
  assign i2c_1_1_auto_io_out_scl_in = i2c_1_scl_in; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296407.4]
  assign i2c_1_1_auto_io_out_sda_in = i2c_1_sda_in; // @[LazyModule.scala 167:31:shc.marmotcaravel.MarmotCaravelConfig.fir@296407.4]
  assign intsink_12_auto_in_sync_0 = i2c_1_1_auto_int_xing_out_sync_0; // @[LazyModule.scala 167:57:shc.marmotcaravel.MarmotCaravelConfig.fir@296410.4]
  assign dtm_clock = debug_systemjtag_jtag_TCK; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296444.4 Periphery.scala 54:24:shc.marmotcaravel.MarmotCaravelConfig.fir@296447.4]
  assign dtm_reset = dtm_io_fsmReset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296445.4 Periphery.scala 57:24:shc.marmotcaravel.MarmotCaravelConfig.fir@296450.4]
  assign dtm_io_dmi_req_ready = debug_1_io_dmi_dmi_req_ready; // @[Periphery.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296451.4]
  assign dtm_io_dmi_resp_valid = debug_1_io_dmi_dmi_resp_valid; // @[Periphery.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296451.4]
  assign dtm_io_dmi_resp_bits_data = debug_1_io_dmi_dmi_resp_bits_data; // @[Periphery.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296451.4]
  assign dtm_io_dmi_resp_bits_resp = debug_1_io_dmi_dmi_resp_bits_resp; // @[Periphery.scala 59:35:shc.marmotcaravel.MarmotCaravelConfig.fir@296451.4]
  assign dtm_io_jtag_TMS = debug_systemjtag_jtag_TMS; // @[Periphery.scala 52:17:shc.marmotcaravel.MarmotCaravelConfig.fir@296446.4]
  assign dtm_io_jtag_TDI = debug_systemjtag_jtag_TDI; // @[Periphery.scala 52:17:shc.marmotcaravel.MarmotCaravelConfig.fir@296446.4]
  assign dtm_io_jtag_reset = debug_systemjtag_reset; // @[Periphery.scala 55:24:shc.marmotcaravel.MarmotCaravelConfig.fir@296448.4]
  assign dmiResetCatch_clock = debug_systemjtag_jtag_TCK; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296467.4]
  assign dmiResetCatch_reset = debug_systemjtag_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296468.4]
  assign rtc_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@296495.4]
  assign rtc_io_d = $unsigned(aon_1_io_rtc); // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@296497.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  rtc_last = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  rtc_tick = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      rtc_last <= 1'h0;
    end else begin
      rtc_last <= rtc_sync;
    end
    if (reset) begin
      rtc_tick <= 1'h0;
    end else begin
      rtc_tick <= _T_3452;
    end
  end
endmodule
module AsyncResetSynchronizerShiftReg_w1_d20_i0( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297133.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297134.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297135.4]
  output  io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297136.4]
);
  wire  sync_0_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297141.4]
  wire  sync_0_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297141.4]
  wire  sync_0_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297141.4]
  wire  sync_0_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297141.4]
  wire  sync_0_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297141.4]
  wire  sync_1_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297145.4]
  wire  sync_1_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297145.4]
  wire  sync_1_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297145.4]
  wire  sync_1_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297145.4]
  wire  sync_1_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297145.4]
  wire  sync_2_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297149.4]
  wire  sync_2_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297149.4]
  wire  sync_2_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297149.4]
  wire  sync_2_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297149.4]
  wire  sync_2_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297149.4]
  wire  sync_3_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297153.4]
  wire  sync_3_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297153.4]
  wire  sync_3_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297153.4]
  wire  sync_3_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297153.4]
  wire  sync_3_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297153.4]
  wire  sync_4_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297157.4]
  wire  sync_4_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297157.4]
  wire  sync_4_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297157.4]
  wire  sync_4_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297157.4]
  wire  sync_4_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297157.4]
  wire  sync_5_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297161.4]
  wire  sync_5_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297161.4]
  wire  sync_5_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297161.4]
  wire  sync_5_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297161.4]
  wire  sync_5_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297161.4]
  wire  sync_6_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297165.4]
  wire  sync_6_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297165.4]
  wire  sync_6_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297165.4]
  wire  sync_6_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297165.4]
  wire  sync_6_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297165.4]
  wire  sync_7_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297169.4]
  wire  sync_7_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297169.4]
  wire  sync_7_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297169.4]
  wire  sync_7_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297169.4]
  wire  sync_7_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297169.4]
  wire  sync_8_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297173.4]
  wire  sync_8_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297173.4]
  wire  sync_8_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297173.4]
  wire  sync_8_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297173.4]
  wire  sync_8_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297173.4]
  wire  sync_9_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297177.4]
  wire  sync_9_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297177.4]
  wire  sync_9_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297177.4]
  wire  sync_9_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297177.4]
  wire  sync_9_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297177.4]
  wire  sync_10_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297181.4]
  wire  sync_10_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297181.4]
  wire  sync_10_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297181.4]
  wire  sync_10_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297181.4]
  wire  sync_10_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297181.4]
  wire  sync_11_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297185.4]
  wire  sync_11_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297185.4]
  wire  sync_11_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297185.4]
  wire  sync_11_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297185.4]
  wire  sync_11_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297185.4]
  wire  sync_12_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297189.4]
  wire  sync_12_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297189.4]
  wire  sync_12_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297189.4]
  wire  sync_12_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297189.4]
  wire  sync_12_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297189.4]
  wire  sync_13_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297193.4]
  wire  sync_13_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297193.4]
  wire  sync_13_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297193.4]
  wire  sync_13_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297193.4]
  wire  sync_13_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297193.4]
  wire  sync_14_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297197.4]
  wire  sync_14_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297197.4]
  wire  sync_14_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297197.4]
  wire  sync_14_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297197.4]
  wire  sync_14_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297197.4]
  wire  sync_15_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297201.4]
  wire  sync_15_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297201.4]
  wire  sync_15_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297201.4]
  wire  sync_15_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297201.4]
  wire  sync_15_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297201.4]
  wire  sync_16_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297205.4]
  wire  sync_16_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297205.4]
  wire  sync_16_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297205.4]
  wire  sync_16_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297205.4]
  wire  sync_16_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297205.4]
  wire  sync_17_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297209.4]
  wire  sync_17_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297209.4]
  wire  sync_17_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297209.4]
  wire  sync_17_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297209.4]
  wire  sync_17_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297209.4]
  wire  sync_18_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297213.4]
  wire  sync_18_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297213.4]
  wire  sync_18_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297213.4]
  wire  sync_18_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297213.4]
  wire  sync_18_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297213.4]
  wire  sync_19_clock; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297217.4]
  wire  sync_19_reset; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297217.4]
  wire  sync_19_io_d; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297217.4]
  wire  sync_19_io_q; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297217.4]
  wire  sync_19_io_en; // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297217.4]
  AsyncResetRegVec_w1_i0 sync_0 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297141.4]
    .clock(sync_0_clock),
    .reset(sync_0_reset),
    .io_d(sync_0_io_d),
    .io_q(sync_0_io_q),
    .io_en(sync_0_io_en)
  );
  AsyncResetRegVec_w1_i0 sync_1 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297145.4]
    .clock(sync_1_clock),
    .reset(sync_1_reset),
    .io_d(sync_1_io_d),
    .io_q(sync_1_io_q),
    .io_en(sync_1_io_en)
  );
  AsyncResetRegVec_w1_i0 sync_2 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297149.4]
    .clock(sync_2_clock),
    .reset(sync_2_reset),
    .io_d(sync_2_io_d),
    .io_q(sync_2_io_q),
    .io_en(sync_2_io_en)
  );
  AsyncResetRegVec_w1_i0 sync_3 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297153.4]
    .clock(sync_3_clock),
    .reset(sync_3_reset),
    .io_d(sync_3_io_d),
    .io_q(sync_3_io_q),
    .io_en(sync_3_io_en)
  );
  AsyncResetRegVec_w1_i0 sync_4 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297157.4]
    .clock(sync_4_clock),
    .reset(sync_4_reset),
    .io_d(sync_4_io_d),
    .io_q(sync_4_io_q),
    .io_en(sync_4_io_en)
  );
  AsyncResetRegVec_w1_i0 sync_5 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297161.4]
    .clock(sync_5_clock),
    .reset(sync_5_reset),
    .io_d(sync_5_io_d),
    .io_q(sync_5_io_q),
    .io_en(sync_5_io_en)
  );
  AsyncResetRegVec_w1_i0 sync_6 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297165.4]
    .clock(sync_6_clock),
    .reset(sync_6_reset),
    .io_d(sync_6_io_d),
    .io_q(sync_6_io_q),
    .io_en(sync_6_io_en)
  );
  AsyncResetRegVec_w1_i0 sync_7 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297169.4]
    .clock(sync_7_clock),
    .reset(sync_7_reset),
    .io_d(sync_7_io_d),
    .io_q(sync_7_io_q),
    .io_en(sync_7_io_en)
  );
  AsyncResetRegVec_w1_i0 sync_8 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297173.4]
    .clock(sync_8_clock),
    .reset(sync_8_reset),
    .io_d(sync_8_io_d),
    .io_q(sync_8_io_q),
    .io_en(sync_8_io_en)
  );
  AsyncResetRegVec_w1_i0 sync_9 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297177.4]
    .clock(sync_9_clock),
    .reset(sync_9_reset),
    .io_d(sync_9_io_d),
    .io_q(sync_9_io_q),
    .io_en(sync_9_io_en)
  );
  AsyncResetRegVec_w1_i0 sync_10 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297181.4]
    .clock(sync_10_clock),
    .reset(sync_10_reset),
    .io_d(sync_10_io_d),
    .io_q(sync_10_io_q),
    .io_en(sync_10_io_en)
  );
  AsyncResetRegVec_w1_i0 sync_11 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297185.4]
    .clock(sync_11_clock),
    .reset(sync_11_reset),
    .io_d(sync_11_io_d),
    .io_q(sync_11_io_q),
    .io_en(sync_11_io_en)
  );
  AsyncResetRegVec_w1_i0 sync_12 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297189.4]
    .clock(sync_12_clock),
    .reset(sync_12_reset),
    .io_d(sync_12_io_d),
    .io_q(sync_12_io_q),
    .io_en(sync_12_io_en)
  );
  AsyncResetRegVec_w1_i0 sync_13 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297193.4]
    .clock(sync_13_clock),
    .reset(sync_13_reset),
    .io_d(sync_13_io_d),
    .io_q(sync_13_io_q),
    .io_en(sync_13_io_en)
  );
  AsyncResetRegVec_w1_i0 sync_14 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297197.4]
    .clock(sync_14_clock),
    .reset(sync_14_reset),
    .io_d(sync_14_io_d),
    .io_q(sync_14_io_q),
    .io_en(sync_14_io_en)
  );
  AsyncResetRegVec_w1_i0 sync_15 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297201.4]
    .clock(sync_15_clock),
    .reset(sync_15_reset),
    .io_d(sync_15_io_d),
    .io_q(sync_15_io_q),
    .io_en(sync_15_io_en)
  );
  AsyncResetRegVec_w1_i0 sync_16 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297205.4]
    .clock(sync_16_clock),
    .reset(sync_16_reset),
    .io_d(sync_16_io_d),
    .io_q(sync_16_io_q),
    .io_en(sync_16_io_en)
  );
  AsyncResetRegVec_w1_i0 sync_17 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297209.4]
    .clock(sync_17_clock),
    .reset(sync_17_reset),
    .io_d(sync_17_io_d),
    .io_q(sync_17_io_q),
    .io_en(sync_17_io_en)
  );
  AsyncResetRegVec_w1_i0 sync_18 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297213.4]
    .clock(sync_18_clock),
    .reset(sync_18_reset),
    .io_d(sync_18_io_d),
    .io_q(sync_18_io_q),
    .io_en(sync_18_io_en)
  );
  AsyncResetRegVec_w1_i0 sync_19 ( // @[ShiftReg.scala 60:12:shc.marmotcaravel.MarmotCaravelConfig.fir@297217.4]
    .clock(sync_19_clock),
    .reset(sync_19_reset),
    .io_d(sync_19_io_d),
    .io_q(sync_19_io_q),
    .io_en(sync_19_io_en)
  );
  assign io_q = sync_0_io_q; // @[ShiftReg.scala 70:8:shc.marmotcaravel.MarmotCaravelConfig.fir@297261.4]
  assign sync_0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297143.4]
  assign sync_0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297144.4]
  assign sync_0_io_d = sync_1_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297223.4]
  assign sync_0_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297224.4]
  assign sync_1_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297147.4]
  assign sync_1_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297148.4]
  assign sync_1_io_d = sync_2_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297225.4]
  assign sync_1_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297226.4]
  assign sync_2_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297151.4]
  assign sync_2_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297152.4]
  assign sync_2_io_d = sync_3_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297227.4]
  assign sync_2_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297228.4]
  assign sync_3_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297155.4]
  assign sync_3_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297156.4]
  assign sync_3_io_d = sync_4_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297229.4]
  assign sync_3_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297230.4]
  assign sync_4_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297159.4]
  assign sync_4_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297160.4]
  assign sync_4_io_d = sync_5_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297231.4]
  assign sync_4_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297232.4]
  assign sync_5_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297163.4]
  assign sync_5_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297164.4]
  assign sync_5_io_d = sync_6_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297233.4]
  assign sync_5_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297234.4]
  assign sync_6_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297167.4]
  assign sync_6_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297168.4]
  assign sync_6_io_d = sync_7_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297235.4]
  assign sync_6_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297236.4]
  assign sync_7_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297171.4]
  assign sync_7_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297172.4]
  assign sync_7_io_d = sync_8_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297237.4]
  assign sync_7_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297238.4]
  assign sync_8_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297175.4]
  assign sync_8_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297176.4]
  assign sync_8_io_d = sync_9_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297239.4]
  assign sync_8_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297240.4]
  assign sync_9_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297179.4]
  assign sync_9_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297180.4]
  assign sync_9_io_d = sync_10_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297241.4]
  assign sync_9_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297242.4]
  assign sync_10_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297183.4]
  assign sync_10_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297184.4]
  assign sync_10_io_d = sync_11_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297243.4]
  assign sync_10_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297244.4]
  assign sync_11_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297187.4]
  assign sync_11_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297188.4]
  assign sync_11_io_d = sync_12_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297245.4]
  assign sync_11_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297246.4]
  assign sync_12_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297191.4]
  assign sync_12_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297192.4]
  assign sync_12_io_d = sync_13_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297247.4]
  assign sync_12_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297248.4]
  assign sync_13_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297195.4]
  assign sync_13_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297196.4]
  assign sync_13_io_d = sync_14_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297249.4]
  assign sync_13_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297250.4]
  assign sync_14_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297199.4]
  assign sync_14_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297200.4]
  assign sync_14_io_d = sync_15_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297251.4]
  assign sync_14_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297252.4]
  assign sync_15_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297203.4]
  assign sync_15_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297204.4]
  assign sync_15_io_d = sync_16_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297253.4]
  assign sync_15_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297254.4]
  assign sync_16_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297207.4]
  assign sync_16_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297208.4]
  assign sync_16_io_d = sync_17_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297255.4]
  assign sync_16_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297256.4]
  assign sync_17_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297211.4]
  assign sync_17_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297212.4]
  assign sync_17_io_d = sync_18_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297257.4]
  assign sync_17_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297258.4]
  assign sync_18_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297215.4]
  assign sync_18_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297216.4]
  assign sync_18_io_d = sync_19_io_q; // @[ShiftReg.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@297259.4]
  assign sync_18_io_en = 1'h1; // @[ShiftReg.scala 68:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297260.4]
  assign sync_19_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297219.4]
  assign sync_19_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297220.4]
  assign sync_19_io_d = 1'h1; // @[ShiftReg.scala 63:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297221.4]
  assign sync_19_io_en = 1'h1; // @[ShiftReg.scala 64:20:shc.marmotcaravel.MarmotCaravelConfig.fir@297222.4]
endmodule
module ResetCatchAndSync_d20( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297263.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297264.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297265.4]
  output  io_sync_reset // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297266.4]
);
  wire  AsyncResetSynchronizerShiftReg_w1_d20_i0_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297272.4]
  wire  AsyncResetSynchronizerShiftReg_w1_d20_i0_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297272.4]
  wire  AsyncResetSynchronizerShiftReg_w1_d20_i0_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297272.4]
  wire  _T_7; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@297277.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@297279.4]
  AsyncResetSynchronizerShiftReg_w1_d20_i0 AsyncResetSynchronizerShiftReg_w1_d20_i0 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297272.4]
    .clock(AsyncResetSynchronizerShiftReg_w1_d20_i0_clock),
    .reset(AsyncResetSynchronizerShiftReg_w1_d20_i0_reset),
    .io_q(AsyncResetSynchronizerShiftReg_w1_d20_i0_io_q)
  );
  assign _T_7 = AsyncResetSynchronizerShiftReg_w1_d20_i0_io_q; // @[ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@297277.4 ShiftReg.scala 50:24:shc.marmotcaravel.MarmotCaravelConfig.fir@297279.4]
  assign io_sync_reset = ~ _T_7; // @[ResetCatchAndSync.scala 28:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297282.4]
  assign AsyncResetSynchronizerShiftReg_w1_d20_i0_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297274.4]
  assign AsyncResetSynchronizerShiftReg_w1_d20_i0_reset = reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297275.4]
endmodule
module SyncResetSynchronizerShiftReg_w1_d0_i1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297284.2]
  input   io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297287.4]
  output  io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297287.4]
);
  assign io_q = io_d; // @[ShiftReg.scala 139:8:shc.marmotcaravel.MarmotCaravelConfig.fir@297292.4]
endmodule
module SyncResetSynchronizerShiftReg_w1_d3_i1( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297438.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297439.4]
  input   reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297440.4]
  input   io_d, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297441.4]
  output  io_q // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297441.4]
);
  reg  sync_2; // @[ShiftReg.scala 15:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297446.4]
  reg [31:0] _RAND_0;
  reg  sync_1; // @[ShiftReg.scala 15:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297448.4]
  reg [31:0] _RAND_1;
  reg  sync_0; // @[ShiftReg.scala 15:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297450.4]
  reg [31:0] _RAND_2;
  assign io_q = sync_0; // @[ShiftReg.scala 139:8:shc.marmotcaravel.MarmotCaravelConfig.fir@297452.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  sync_2 = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  sync_1 = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_2 = {1{`RANDOM}};
  sync_0 = _RAND_2[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clock) begin
    if (reset) begin
      sync_2 <= 1'h1;
    end else begin
      sync_2 <= io_d;
    end
    if (reset) begin
      sync_1 <= 1'h1;
    end else begin
      sync_1 <= sync_2;
    end
    if (reset) begin
      sync_0 <= 1'h1;
    end else begin
      sync_0 <= sync_1;
    end
  end
endmodule
module MarmotCaravelPlatform( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297454.2]
  input   clock, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297455.4]
  input   io_pins_jtag_TCK_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_jtag_TMS_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_jtag_TDI_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_jtag_TDO_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_jtag_TDO_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_gpio_pins_0_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_0_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_0_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_0_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_gpio_pins_1_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_1_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_1_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_1_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_gpio_pins_2_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_2_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_2_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_2_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_gpio_pins_3_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_3_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_3_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_3_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_gpio_pins_4_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_4_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_4_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_4_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_gpio_pins_5_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_5_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_5_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_5_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_gpio_pins_6_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_6_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_6_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_6_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_gpio_pins_7_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_7_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_7_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_7_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_gpio_pins_8_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_8_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_8_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_8_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_gpio_pins_9_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_9_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_9_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_9_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_gpio_pins_10_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_10_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_10_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_10_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_gpio_pins_11_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_11_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_11_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_11_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_gpio_pins_12_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_12_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_12_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_12_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_gpio_pins_13_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_13_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_13_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_13_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_gpio_pins_14_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_14_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_14_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_14_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_gpio_pins_15_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_15_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_15_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_15_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_gpio_pins_16_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_16_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_16_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_16_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_gpio_pins_17_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_17_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_17_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_17_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_gpio_pins_18_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_18_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_18_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_18_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_gpio_pins_19_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_19_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_19_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_19_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_gpio_pins_20_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_20_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_20_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_20_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_gpio_pins_21_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_21_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_21_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_21_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_gpio_pins_22_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_22_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_22_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_22_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_gpio_pins_23_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_23_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_23_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_23_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_gpio_pins_24_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_24_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_24_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_gpio_pins_24_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_qspi_sck_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_qspi_dq_0_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_qspi_dq_0_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_qspi_dq_0_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_qspi_dq_0_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_qspi_dq_1_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_qspi_dq_1_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_qspi_dq_1_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_qspi_dq_1_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_qspi_dq_2_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_qspi_dq_2_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_qspi_dq_2_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_qspi_dq_2_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_qspi_dq_3_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_qspi_dq_3_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_qspi_dq_3_o_oe, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_qspi_dq_3_o_ie, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_qspi_cs_0_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_uart_rxd_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output  io_pins_uart_txd_o_oval, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_aon_erst_n_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_pins_aon_lfextclk_i_ival, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  input   io_jtag_reset, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297457.4]
  output [11:0] data_arrays_0_ext_RW0_addr,
  output  data_arrays_0_ext_RW0_en,
  output  data_arrays_0_ext_RW0_clk,
  output  data_arrays_0_ext_RW0_wmode,
  output [31:0] data_arrays_0_ext_RW0_wdata,
  input  [31:0] data_arrays_0_ext_RW0_rdata,
  output [3:0] data_arrays_0_ext_RW0_wmask,
  output [6:0] tag_array_ext_RW0_addr,
  output  tag_array_ext_RW0_en,
  output  tag_array_ext_RW0_clk,
  output  tag_array_ext_RW0_wmode,
  output [39:0] tag_array_ext_RW0_wdata,
  input  [39:0] tag_array_ext_RW0_rdata,
  output [1:0] tag_array_ext_RW0_wmask,
  output [10:0] data_arrays_0_0_ext_RW0_addr,
  output  data_arrays_0_0_ext_RW0_en,
  output  data_arrays_0_0_ext_RW0_clk,
  output  data_arrays_0_0_ext_RW0_wmode,
  output [63:0] data_arrays_0_0_ext_RW0_wdata,
  input  [63:0] data_arrays_0_0_ext_RW0_rdata,
  output [1:0] data_arrays_0_0_ext_RW0_wmask
);
  wire  sys_clock; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_reset; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_debug_systemjtag_jtag_TCK; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_debug_systemjtag_jtag_TMS; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_debug_systemjtag_jtag_TDI; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_debug_systemjtag_jtag_TDO_data; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_debug_systemjtag_jtag_TDO_driven; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_debug_systemjtag_reset; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_uart_0_txd; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_uart_0_rxd; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_uart_1_txd; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_uart_1_rxd; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_uart_2_txd; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_uart_2_rxd; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_uart_3_txd; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_uart_3_rxd; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_uart_4_txd; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_uart_4_rxd; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_0_sck; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_0_dq_0_i; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_0_dq_0_o; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_0_dq_0_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_0_dq_1_i; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_0_dq_1_o; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_0_dq_1_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_0_dq_2_i; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_0_dq_2_o; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_0_dq_2_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_0_dq_3_i; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_0_dq_3_o; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_0_dq_3_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_0_cs_0; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_0_cs_1; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_1_sck; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_1_dq_0_i; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_1_dq_0_o; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_1_dq_0_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_1_dq_1_i; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_1_dq_1_o; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_1_dq_1_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_1_dq_2_i; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_1_dq_2_o; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_1_dq_2_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_1_dq_3_i; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_1_dq_3_o; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_1_dq_3_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_spi_1_cs_0; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_0_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_0_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_0_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_0_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_1_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_1_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_1_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_1_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_2_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_2_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_2_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_2_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_3_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_3_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_3_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_3_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_4_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_4_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_4_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_4_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_5_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_5_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_5_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_5_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_6_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_6_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_6_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_6_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_7_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_7_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_7_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_7_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_8_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_8_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_8_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_8_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_9_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_9_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_9_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_9_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_10_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_10_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_10_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_10_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_11_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_11_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_11_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_11_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_12_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_12_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_12_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_12_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_13_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_13_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_13_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_13_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_14_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_14_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_14_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_14_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_15_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_15_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_15_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_15_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_16_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_16_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_16_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_16_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_17_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_17_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_17_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_17_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_18_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_18_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_18_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_18_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_19_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_19_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_19_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_19_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_20_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_20_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_20_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_20_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_21_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_21_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_21_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_21_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_22_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_22_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_22_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_22_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_23_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_23_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_23_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_23_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_24_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_24_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_24_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_pins_24_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_0_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_1_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_2_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_2_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_2_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_2_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_3_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_3_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_3_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_3_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_4_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_4_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_4_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_4_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_5_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_5_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_5_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_5_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_6_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_7_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_8_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_8_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_8_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_8_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_9_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_9_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_9_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_9_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_10_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_10_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_10_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_10_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_11_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_11_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_11_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_11_o_ie; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_12_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_12_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_13_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_13_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_14_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_14_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_15_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_15_o_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_16_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_17_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_18_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_19_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_20_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_21_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_22_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_23_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_gpio_0_iof_0_24_o_oval; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_qspi_0_sck; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_qspi_0_dq_0_i; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_qspi_0_dq_0_o; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_qspi_0_dq_0_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_qspi_0_dq_1_i; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_qspi_0_dq_1_o; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_qspi_0_dq_1_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_qspi_0_dq_2_i; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_qspi_0_dq_2_o; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_qspi_0_dq_2_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_qspi_0_dq_3_i; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_qspi_0_dq_3_o; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_qspi_0_dq_3_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_qspi_0_cs_0; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_aon_pins_erst_n_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_aon_pins_lfextclk_i_ival; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_aon_rsts_corerst; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_i2c_0_scl_in; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_i2c_0_scl_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_i2c_0_sda_in; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_i2c_0_sda_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_i2c_1_scl_in; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_i2c_1_scl_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_i2c_1_sda_in; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  sys_i2c_1_sda_oe; // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
  wire  ResetCatchAndSync_d20_clock; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297481.4]
  wire  ResetCatchAndSync_d20_reset; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297481.4]
  wire  ResetCatchAndSync_d20_io_sync_reset; // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297481.4]
  wire  uart_rxd_sync_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297523.4]
  wire  uart_rxd_sync_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297523.4]
  wire  uart_rxd_sync_1_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297539.4]
  wire  uart_rxd_sync_1_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297539.4]
  wire  uart_rxd_sync_2_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297555.4]
  wire  uart_rxd_sync_2_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297555.4]
  wire  uart_rxd_sync_3_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297571.4]
  wire  uart_rxd_sync_3_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297571.4]
  wire  uart_rxd_sync_4_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297587.4]
  wire  uart_rxd_sync_4_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297587.4]
  wire  i2c_scl_sync_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297674.4]
  wire  i2c_scl_sync_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297674.4]
  wire  i2c_sda_sync_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297687.4]
  wire  i2c_sda_sync_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297687.4]
  wire  i2c_scl_sync_1_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297701.4]
  wire  i2c_scl_sync_1_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297701.4]
  wire  i2c_sda_sync_1_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297714.4]
  wire  i2c_sda_sync_1_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297714.4]
  wire  spi_dq_0_sync_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298071.4]
  wire  spi_dq_0_sync_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298071.4]
  wire  spi_dq_0_sync_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298071.4]
  wire  spi_dq_1_sync_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298086.4]
  wire  spi_dq_1_sync_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298086.4]
  wire  spi_dq_1_sync_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298086.4]
  wire  spi_dq_2_sync_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298101.4]
  wire  spi_dq_2_sync_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298101.4]
  wire  spi_dq_2_sync_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298101.4]
  wire  spi_dq_3_sync_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298116.4]
  wire  spi_dq_3_sync_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298116.4]
  wire  spi_dq_3_sync_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298116.4]
  wire  uart_rxd_sync_5_clock; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298135.4]
  wire  uart_rxd_sync_5_reset; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298135.4]
  wire  uart_rxd_sync_5_io_d; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298135.4]
  wire  uart_rxd_sync_5_io_q; // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298135.4]
  MarmotCaravelSystem sys ( // @[Platform.scala 54:19:shc.marmotcaravel.MarmotCaravelConfig.fir@297462.4]
    .clock(sys_clock),
    .reset(sys_reset),
    .debug_systemjtag_jtag_TCK(sys_debug_systemjtag_jtag_TCK),
    .debug_systemjtag_jtag_TMS(sys_debug_systemjtag_jtag_TMS),
    .debug_systemjtag_jtag_TDI(sys_debug_systemjtag_jtag_TDI),
    .debug_systemjtag_jtag_TDO_data(sys_debug_systemjtag_jtag_TDO_data),
    .debug_systemjtag_jtag_TDO_driven(sys_debug_systemjtag_jtag_TDO_driven),
    .debug_systemjtag_reset(sys_debug_systemjtag_reset),
    .uart_0_txd(sys_uart_0_txd),
    .uart_0_rxd(sys_uart_0_rxd),
    .uart_1_txd(sys_uart_1_txd),
    .uart_1_rxd(sys_uart_1_rxd),
    .uart_2_txd(sys_uart_2_txd),
    .uart_2_rxd(sys_uart_2_rxd),
    .uart_3_txd(sys_uart_3_txd),
    .uart_3_rxd(sys_uart_3_rxd),
    .uart_4_txd(sys_uart_4_txd),
    .uart_4_rxd(sys_uart_4_rxd),
    .spi_0_sck(sys_spi_0_sck),
    .spi_0_dq_0_i(sys_spi_0_dq_0_i),
    .spi_0_dq_0_o(sys_spi_0_dq_0_o),
    .spi_0_dq_0_oe(sys_spi_0_dq_0_oe),
    .spi_0_dq_1_i(sys_spi_0_dq_1_i),
    .spi_0_dq_1_o(sys_spi_0_dq_1_o),
    .spi_0_dq_1_oe(sys_spi_0_dq_1_oe),
    .spi_0_dq_2_i(sys_spi_0_dq_2_i),
    .spi_0_dq_2_o(sys_spi_0_dq_2_o),
    .spi_0_dq_2_oe(sys_spi_0_dq_2_oe),
    .spi_0_dq_3_i(sys_spi_0_dq_3_i),
    .spi_0_dq_3_o(sys_spi_0_dq_3_o),
    .spi_0_dq_3_oe(sys_spi_0_dq_3_oe),
    .spi_0_cs_0(sys_spi_0_cs_0),
    .spi_0_cs_1(sys_spi_0_cs_1),
    .spi_1_sck(sys_spi_1_sck),
    .spi_1_dq_0_i(sys_spi_1_dq_0_i),
    .spi_1_dq_0_o(sys_spi_1_dq_0_o),
    .spi_1_dq_0_oe(sys_spi_1_dq_0_oe),
    .spi_1_dq_1_i(sys_spi_1_dq_1_i),
    .spi_1_dq_1_o(sys_spi_1_dq_1_o),
    .spi_1_dq_1_oe(sys_spi_1_dq_1_oe),
    .spi_1_dq_2_i(sys_spi_1_dq_2_i),
    .spi_1_dq_2_o(sys_spi_1_dq_2_o),
    .spi_1_dq_2_oe(sys_spi_1_dq_2_oe),
    .spi_1_dq_3_i(sys_spi_1_dq_3_i),
    .spi_1_dq_3_o(sys_spi_1_dq_3_o),
    .spi_1_dq_3_oe(sys_spi_1_dq_3_oe),
    .spi_1_cs_0(sys_spi_1_cs_0),
    .gpio_0_pins_0_i_ival(sys_gpio_0_pins_0_i_ival),
    .gpio_0_pins_0_o_oval(sys_gpio_0_pins_0_o_oval),
    .gpio_0_pins_0_o_oe(sys_gpio_0_pins_0_o_oe),
    .gpio_0_pins_0_o_ie(sys_gpio_0_pins_0_o_ie),
    .gpio_0_pins_1_i_ival(sys_gpio_0_pins_1_i_ival),
    .gpio_0_pins_1_o_oval(sys_gpio_0_pins_1_o_oval),
    .gpio_0_pins_1_o_oe(sys_gpio_0_pins_1_o_oe),
    .gpio_0_pins_1_o_ie(sys_gpio_0_pins_1_o_ie),
    .gpio_0_pins_2_i_ival(sys_gpio_0_pins_2_i_ival),
    .gpio_0_pins_2_o_oval(sys_gpio_0_pins_2_o_oval),
    .gpio_0_pins_2_o_oe(sys_gpio_0_pins_2_o_oe),
    .gpio_0_pins_2_o_ie(sys_gpio_0_pins_2_o_ie),
    .gpio_0_pins_3_i_ival(sys_gpio_0_pins_3_i_ival),
    .gpio_0_pins_3_o_oval(sys_gpio_0_pins_3_o_oval),
    .gpio_0_pins_3_o_oe(sys_gpio_0_pins_3_o_oe),
    .gpio_0_pins_3_o_ie(sys_gpio_0_pins_3_o_ie),
    .gpio_0_pins_4_i_ival(sys_gpio_0_pins_4_i_ival),
    .gpio_0_pins_4_o_oval(sys_gpio_0_pins_4_o_oval),
    .gpio_0_pins_4_o_oe(sys_gpio_0_pins_4_o_oe),
    .gpio_0_pins_4_o_ie(sys_gpio_0_pins_4_o_ie),
    .gpio_0_pins_5_i_ival(sys_gpio_0_pins_5_i_ival),
    .gpio_0_pins_5_o_oval(sys_gpio_0_pins_5_o_oval),
    .gpio_0_pins_5_o_oe(sys_gpio_0_pins_5_o_oe),
    .gpio_0_pins_5_o_ie(sys_gpio_0_pins_5_o_ie),
    .gpio_0_pins_6_i_ival(sys_gpio_0_pins_6_i_ival),
    .gpio_0_pins_6_o_oval(sys_gpio_0_pins_6_o_oval),
    .gpio_0_pins_6_o_oe(sys_gpio_0_pins_6_o_oe),
    .gpio_0_pins_6_o_ie(sys_gpio_0_pins_6_o_ie),
    .gpio_0_pins_7_i_ival(sys_gpio_0_pins_7_i_ival),
    .gpio_0_pins_7_o_oval(sys_gpio_0_pins_7_o_oval),
    .gpio_0_pins_7_o_oe(sys_gpio_0_pins_7_o_oe),
    .gpio_0_pins_7_o_ie(sys_gpio_0_pins_7_o_ie),
    .gpio_0_pins_8_i_ival(sys_gpio_0_pins_8_i_ival),
    .gpio_0_pins_8_o_oval(sys_gpio_0_pins_8_o_oval),
    .gpio_0_pins_8_o_oe(sys_gpio_0_pins_8_o_oe),
    .gpio_0_pins_8_o_ie(sys_gpio_0_pins_8_o_ie),
    .gpio_0_pins_9_i_ival(sys_gpio_0_pins_9_i_ival),
    .gpio_0_pins_9_o_oval(sys_gpio_0_pins_9_o_oval),
    .gpio_0_pins_9_o_oe(sys_gpio_0_pins_9_o_oe),
    .gpio_0_pins_9_o_ie(sys_gpio_0_pins_9_o_ie),
    .gpio_0_pins_10_i_ival(sys_gpio_0_pins_10_i_ival),
    .gpio_0_pins_10_o_oval(sys_gpio_0_pins_10_o_oval),
    .gpio_0_pins_10_o_oe(sys_gpio_0_pins_10_o_oe),
    .gpio_0_pins_10_o_ie(sys_gpio_0_pins_10_o_ie),
    .gpio_0_pins_11_i_ival(sys_gpio_0_pins_11_i_ival),
    .gpio_0_pins_11_o_oval(sys_gpio_0_pins_11_o_oval),
    .gpio_0_pins_11_o_oe(sys_gpio_0_pins_11_o_oe),
    .gpio_0_pins_11_o_ie(sys_gpio_0_pins_11_o_ie),
    .gpio_0_pins_12_i_ival(sys_gpio_0_pins_12_i_ival),
    .gpio_0_pins_12_o_oval(sys_gpio_0_pins_12_o_oval),
    .gpio_0_pins_12_o_oe(sys_gpio_0_pins_12_o_oe),
    .gpio_0_pins_12_o_ie(sys_gpio_0_pins_12_o_ie),
    .gpio_0_pins_13_i_ival(sys_gpio_0_pins_13_i_ival),
    .gpio_0_pins_13_o_oval(sys_gpio_0_pins_13_o_oval),
    .gpio_0_pins_13_o_oe(sys_gpio_0_pins_13_o_oe),
    .gpio_0_pins_13_o_ie(sys_gpio_0_pins_13_o_ie),
    .gpio_0_pins_14_i_ival(sys_gpio_0_pins_14_i_ival),
    .gpio_0_pins_14_o_oval(sys_gpio_0_pins_14_o_oval),
    .gpio_0_pins_14_o_oe(sys_gpio_0_pins_14_o_oe),
    .gpio_0_pins_14_o_ie(sys_gpio_0_pins_14_o_ie),
    .gpio_0_pins_15_i_ival(sys_gpio_0_pins_15_i_ival),
    .gpio_0_pins_15_o_oval(sys_gpio_0_pins_15_o_oval),
    .gpio_0_pins_15_o_oe(sys_gpio_0_pins_15_o_oe),
    .gpio_0_pins_15_o_ie(sys_gpio_0_pins_15_o_ie),
    .gpio_0_pins_16_i_ival(sys_gpio_0_pins_16_i_ival),
    .gpio_0_pins_16_o_oval(sys_gpio_0_pins_16_o_oval),
    .gpio_0_pins_16_o_oe(sys_gpio_0_pins_16_o_oe),
    .gpio_0_pins_16_o_ie(sys_gpio_0_pins_16_o_ie),
    .gpio_0_pins_17_i_ival(sys_gpio_0_pins_17_i_ival),
    .gpio_0_pins_17_o_oval(sys_gpio_0_pins_17_o_oval),
    .gpio_0_pins_17_o_oe(sys_gpio_0_pins_17_o_oe),
    .gpio_0_pins_17_o_ie(sys_gpio_0_pins_17_o_ie),
    .gpio_0_pins_18_i_ival(sys_gpio_0_pins_18_i_ival),
    .gpio_0_pins_18_o_oval(sys_gpio_0_pins_18_o_oval),
    .gpio_0_pins_18_o_oe(sys_gpio_0_pins_18_o_oe),
    .gpio_0_pins_18_o_ie(sys_gpio_0_pins_18_o_ie),
    .gpio_0_pins_19_i_ival(sys_gpio_0_pins_19_i_ival),
    .gpio_0_pins_19_o_oval(sys_gpio_0_pins_19_o_oval),
    .gpio_0_pins_19_o_oe(sys_gpio_0_pins_19_o_oe),
    .gpio_0_pins_19_o_ie(sys_gpio_0_pins_19_o_ie),
    .gpio_0_pins_20_i_ival(sys_gpio_0_pins_20_i_ival),
    .gpio_0_pins_20_o_oval(sys_gpio_0_pins_20_o_oval),
    .gpio_0_pins_20_o_oe(sys_gpio_0_pins_20_o_oe),
    .gpio_0_pins_20_o_ie(sys_gpio_0_pins_20_o_ie),
    .gpio_0_pins_21_i_ival(sys_gpio_0_pins_21_i_ival),
    .gpio_0_pins_21_o_oval(sys_gpio_0_pins_21_o_oval),
    .gpio_0_pins_21_o_oe(sys_gpio_0_pins_21_o_oe),
    .gpio_0_pins_21_o_ie(sys_gpio_0_pins_21_o_ie),
    .gpio_0_pins_22_i_ival(sys_gpio_0_pins_22_i_ival),
    .gpio_0_pins_22_o_oval(sys_gpio_0_pins_22_o_oval),
    .gpio_0_pins_22_o_oe(sys_gpio_0_pins_22_o_oe),
    .gpio_0_pins_22_o_ie(sys_gpio_0_pins_22_o_ie),
    .gpio_0_pins_23_i_ival(sys_gpio_0_pins_23_i_ival),
    .gpio_0_pins_23_o_oval(sys_gpio_0_pins_23_o_oval),
    .gpio_0_pins_23_o_oe(sys_gpio_0_pins_23_o_oe),
    .gpio_0_pins_23_o_ie(sys_gpio_0_pins_23_o_ie),
    .gpio_0_pins_24_i_ival(sys_gpio_0_pins_24_i_ival),
    .gpio_0_pins_24_o_oval(sys_gpio_0_pins_24_o_oval),
    .gpio_0_pins_24_o_oe(sys_gpio_0_pins_24_o_oe),
    .gpio_0_pins_24_o_ie(sys_gpio_0_pins_24_o_ie),
    .gpio_0_iof_0_0_o_oval(sys_gpio_0_iof_0_0_o_oval),
    .gpio_0_iof_0_1_o_oval(sys_gpio_0_iof_0_1_o_oval),
    .gpio_0_iof_0_2_i_ival(sys_gpio_0_iof_0_2_i_ival),
    .gpio_0_iof_0_2_o_oval(sys_gpio_0_iof_0_2_o_oval),
    .gpio_0_iof_0_2_o_oe(sys_gpio_0_iof_0_2_o_oe),
    .gpio_0_iof_0_2_o_ie(sys_gpio_0_iof_0_2_o_ie),
    .gpio_0_iof_0_3_i_ival(sys_gpio_0_iof_0_3_i_ival),
    .gpio_0_iof_0_3_o_oval(sys_gpio_0_iof_0_3_o_oval),
    .gpio_0_iof_0_3_o_oe(sys_gpio_0_iof_0_3_o_oe),
    .gpio_0_iof_0_3_o_ie(sys_gpio_0_iof_0_3_o_ie),
    .gpio_0_iof_0_4_i_ival(sys_gpio_0_iof_0_4_i_ival),
    .gpio_0_iof_0_4_o_oval(sys_gpio_0_iof_0_4_o_oval),
    .gpio_0_iof_0_4_o_oe(sys_gpio_0_iof_0_4_o_oe),
    .gpio_0_iof_0_4_o_ie(sys_gpio_0_iof_0_4_o_ie),
    .gpio_0_iof_0_5_i_ival(sys_gpio_0_iof_0_5_i_ival),
    .gpio_0_iof_0_5_o_oval(sys_gpio_0_iof_0_5_o_oval),
    .gpio_0_iof_0_5_o_oe(sys_gpio_0_iof_0_5_o_oe),
    .gpio_0_iof_0_5_o_ie(sys_gpio_0_iof_0_5_o_ie),
    .gpio_0_iof_0_6_o_oval(sys_gpio_0_iof_0_6_o_oval),
    .gpio_0_iof_0_7_o_oval(sys_gpio_0_iof_0_7_o_oval),
    .gpio_0_iof_0_8_i_ival(sys_gpio_0_iof_0_8_i_ival),
    .gpio_0_iof_0_8_o_oval(sys_gpio_0_iof_0_8_o_oval),
    .gpio_0_iof_0_8_o_oe(sys_gpio_0_iof_0_8_o_oe),
    .gpio_0_iof_0_8_o_ie(sys_gpio_0_iof_0_8_o_ie),
    .gpio_0_iof_0_9_i_ival(sys_gpio_0_iof_0_9_i_ival),
    .gpio_0_iof_0_9_o_oval(sys_gpio_0_iof_0_9_o_oval),
    .gpio_0_iof_0_9_o_oe(sys_gpio_0_iof_0_9_o_oe),
    .gpio_0_iof_0_9_o_ie(sys_gpio_0_iof_0_9_o_ie),
    .gpio_0_iof_0_10_i_ival(sys_gpio_0_iof_0_10_i_ival),
    .gpio_0_iof_0_10_o_oval(sys_gpio_0_iof_0_10_o_oval),
    .gpio_0_iof_0_10_o_oe(sys_gpio_0_iof_0_10_o_oe),
    .gpio_0_iof_0_10_o_ie(sys_gpio_0_iof_0_10_o_ie),
    .gpio_0_iof_0_11_i_ival(sys_gpio_0_iof_0_11_i_ival),
    .gpio_0_iof_0_11_o_oval(sys_gpio_0_iof_0_11_o_oval),
    .gpio_0_iof_0_11_o_oe(sys_gpio_0_iof_0_11_o_oe),
    .gpio_0_iof_0_11_o_ie(sys_gpio_0_iof_0_11_o_ie),
    .gpio_0_iof_0_12_i_ival(sys_gpio_0_iof_0_12_i_ival),
    .gpio_0_iof_0_12_o_oe(sys_gpio_0_iof_0_12_o_oe),
    .gpio_0_iof_0_13_i_ival(sys_gpio_0_iof_0_13_i_ival),
    .gpio_0_iof_0_13_o_oe(sys_gpio_0_iof_0_13_o_oe),
    .gpio_0_iof_0_14_i_ival(sys_gpio_0_iof_0_14_i_ival),
    .gpio_0_iof_0_14_o_oe(sys_gpio_0_iof_0_14_o_oe),
    .gpio_0_iof_0_15_i_ival(sys_gpio_0_iof_0_15_i_ival),
    .gpio_0_iof_0_15_o_oe(sys_gpio_0_iof_0_15_o_oe),
    .gpio_0_iof_0_16_i_ival(sys_gpio_0_iof_0_16_i_ival),
    .gpio_0_iof_0_17_o_oval(sys_gpio_0_iof_0_17_o_oval),
    .gpio_0_iof_0_18_i_ival(sys_gpio_0_iof_0_18_i_ival),
    .gpio_0_iof_0_19_o_oval(sys_gpio_0_iof_0_19_o_oval),
    .gpio_0_iof_0_20_i_ival(sys_gpio_0_iof_0_20_i_ival),
    .gpio_0_iof_0_21_o_oval(sys_gpio_0_iof_0_21_o_oval),
    .gpio_0_iof_0_22_i_ival(sys_gpio_0_iof_0_22_i_ival),
    .gpio_0_iof_0_23_o_oval(sys_gpio_0_iof_0_23_o_oval),
    .gpio_0_iof_0_24_o_oval(sys_gpio_0_iof_0_24_o_oval),
    .qspi_0_sck(sys_qspi_0_sck),
    .qspi_0_dq_0_i(sys_qspi_0_dq_0_i),
    .qspi_0_dq_0_o(sys_qspi_0_dq_0_o),
    .qspi_0_dq_0_oe(sys_qspi_0_dq_0_oe),
    .qspi_0_dq_1_i(sys_qspi_0_dq_1_i),
    .qspi_0_dq_1_o(sys_qspi_0_dq_1_o),
    .qspi_0_dq_1_oe(sys_qspi_0_dq_1_oe),
    .qspi_0_dq_2_i(sys_qspi_0_dq_2_i),
    .qspi_0_dq_2_o(sys_qspi_0_dq_2_o),
    .qspi_0_dq_2_oe(sys_qspi_0_dq_2_oe),
    .qspi_0_dq_3_i(sys_qspi_0_dq_3_i),
    .qspi_0_dq_3_o(sys_qspi_0_dq_3_o),
    .qspi_0_dq_3_oe(sys_qspi_0_dq_3_oe),
    .qspi_0_cs_0(sys_qspi_0_cs_0),
    .aon_pins_erst_n_i_ival(sys_aon_pins_erst_n_i_ival),
    .aon_pins_lfextclk_i_ival(sys_aon_pins_lfextclk_i_ival),
    .aon_rsts_corerst(sys_aon_rsts_corerst),
    .i2c_0_scl_in(sys_i2c_0_scl_in),
    .i2c_0_scl_oe(sys_i2c_0_scl_oe),
    .i2c_0_sda_in(sys_i2c_0_sda_in),
    .i2c_0_sda_oe(sys_i2c_0_sda_oe),
    .i2c_1_scl_in(sys_i2c_1_scl_in),
    .i2c_1_scl_oe(sys_i2c_1_scl_oe),
    .i2c_1_sda_in(sys_i2c_1_sda_in),
    .i2c_1_sda_oe(sys_i2c_1_sda_oe),
    .data_arrays_0_ext_RW0_addr(data_arrays_0_ext_RW0_addr),
    .data_arrays_0_ext_RW0_en(data_arrays_0_ext_RW0_en),
    .data_arrays_0_ext_RW0_clk(data_arrays_0_ext_RW0_clk),
    .data_arrays_0_ext_RW0_wmode(data_arrays_0_ext_RW0_wmode),
    .data_arrays_0_ext_RW0_wdata(data_arrays_0_ext_RW0_wdata),
    .data_arrays_0_ext_RW0_rdata(data_arrays_0_ext_RW0_rdata),
    .data_arrays_0_ext_RW0_wmask(data_arrays_0_ext_RW0_wmask),
    .tag_array_ext_RW0_addr(tag_array_ext_RW0_addr),
    .tag_array_ext_RW0_en(tag_array_ext_RW0_en),
    .tag_array_ext_RW0_clk(tag_array_ext_RW0_clk),
    .tag_array_ext_RW0_wmode(tag_array_ext_RW0_wmode),
    .tag_array_ext_RW0_wdata(tag_array_ext_RW0_wdata),
    .tag_array_ext_RW0_rdata(tag_array_ext_RW0_rdata),
    .tag_array_ext_RW0_wmask(tag_array_ext_RW0_wmask),
    .data_arrays_0_0_ext_RW0_addr(data_arrays_0_0_ext_RW0_addr),
    .data_arrays_0_0_ext_RW0_en(data_arrays_0_0_ext_RW0_en),
    .data_arrays_0_0_ext_RW0_clk(data_arrays_0_0_ext_RW0_clk),
    .data_arrays_0_0_ext_RW0_wmode(data_arrays_0_0_ext_RW0_wmode),
    .data_arrays_0_0_ext_RW0_wdata(data_arrays_0_0_ext_RW0_wdata),
    .data_arrays_0_0_ext_RW0_rdata(data_arrays_0_0_ext_RW0_rdata),
    .data_arrays_0_0_ext_RW0_wmask(data_arrays_0_0_ext_RW0_wmask)
  );
  ResetCatchAndSync_d20 ResetCatchAndSync_d20 ( // @[ResetCatchAndSync.scala 39:28:shc.marmotcaravel.MarmotCaravelConfig.fir@297481.4]
    .clock(ResetCatchAndSync_d20_clock),
    .reset(ResetCatchAndSync_d20_reset),
    .io_sync_reset(ResetCatchAndSync_d20_io_sync_reset)
  );
  SyncResetSynchronizerShiftReg_w1_d0_i1 uart_rxd_sync ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297523.4]
    .io_d(uart_rxd_sync_io_d),
    .io_q(uart_rxd_sync_io_q)
  );
  SyncResetSynchronizerShiftReg_w1_d0_i1 uart_rxd_sync_1 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297539.4]
    .io_d(uart_rxd_sync_1_io_d),
    .io_q(uart_rxd_sync_1_io_q)
  );
  SyncResetSynchronizerShiftReg_w1_d0_i1 uart_rxd_sync_2 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297555.4]
    .io_d(uart_rxd_sync_2_io_d),
    .io_q(uart_rxd_sync_2_io_q)
  );
  SyncResetSynchronizerShiftReg_w1_d0_i1 uart_rxd_sync_3 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297571.4]
    .io_d(uart_rxd_sync_3_io_d),
    .io_q(uart_rxd_sync_3_io_q)
  );
  SyncResetSynchronizerShiftReg_w1_d0_i1 uart_rxd_sync_4 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297587.4]
    .io_d(uart_rxd_sync_4_io_d),
    .io_q(uart_rxd_sync_4_io_q)
  );
  SyncResetSynchronizerShiftReg_w1_d0_i1 i2c_scl_sync ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297674.4]
    .io_d(i2c_scl_sync_io_d),
    .io_q(i2c_scl_sync_io_q)
  );
  SyncResetSynchronizerShiftReg_w1_d0_i1 i2c_sda_sync ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297687.4]
    .io_d(i2c_sda_sync_io_d),
    .io_q(i2c_sda_sync_io_q)
  );
  SyncResetSynchronizerShiftReg_w1_d0_i1 i2c_scl_sync_1 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297701.4]
    .io_d(i2c_scl_sync_1_io_d),
    .io_q(i2c_scl_sync_1_io_q)
  );
  SyncResetSynchronizerShiftReg_w1_d0_i1 i2c_sda_sync_1 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@297714.4]
    .io_d(i2c_sda_sync_1_io_d),
    .io_q(i2c_sda_sync_1_io_q)
  );
  SynchronizerShiftReg_w1_d3 spi_dq_0_sync ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298071.4]
    .clock(spi_dq_0_sync_clock),
    .io_d(spi_dq_0_sync_io_d),
    .io_q(spi_dq_0_sync_io_q)
  );
  SynchronizerShiftReg_w1_d3 spi_dq_1_sync ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298086.4]
    .clock(spi_dq_1_sync_clock),
    .io_d(spi_dq_1_sync_io_d),
    .io_q(spi_dq_1_sync_io_q)
  );
  SynchronizerShiftReg_w1_d3 spi_dq_2_sync ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298101.4]
    .clock(spi_dq_2_sync_clock),
    .io_d(spi_dq_2_sync_io_d),
    .io_q(spi_dq_2_sync_io_q)
  );
  SynchronizerShiftReg_w1_d3 spi_dq_3_sync ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298116.4]
    .clock(spi_dq_3_sync_clock),
    .io_d(spi_dq_3_sync_io_d),
    .io_q(spi_dq_3_sync_io_q)
  );
  SyncResetSynchronizerShiftReg_w1_d3_i1 uart_rxd_sync_5 ( // @[ShiftReg.scala 47:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298135.4]
    .clock(uart_rxd_sync_5_clock),
    .reset(uart_rxd_sync_5_reset),
    .io_d(uart_rxd_sync_5_io_d),
    .io_q(uart_rxd_sync_5_io_q)
  );
  assign io_pins_jtag_TDO_o_oval = sys_debug_systemjtag_jtag_TDO_data; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298157.4]
  assign io_pins_jtag_TDO_o_oe = sys_debug_systemjtag_jtag_TDO_driven; // @[PinCtrl.scala 59:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298158.4 JTAGPins.scala 35:19:shc.marmotcaravel.MarmotCaravelConfig.fir@298160.4]
  assign io_pins_gpio_pins_0_o_oval = sys_gpio_0_pins_0_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298029.4]
  assign io_pins_gpio_pins_0_o_oe = sys_gpio_0_pins_0_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298029.4]
  assign io_pins_gpio_pins_0_o_ie = sys_gpio_0_pins_0_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298029.4]
  assign io_pins_gpio_pins_1_o_oval = sys_gpio_0_pins_1_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298030.4]
  assign io_pins_gpio_pins_1_o_oe = sys_gpio_0_pins_1_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298030.4]
  assign io_pins_gpio_pins_1_o_ie = sys_gpio_0_pins_1_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298030.4]
  assign io_pins_gpio_pins_2_o_oval = sys_gpio_0_pins_2_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298031.4]
  assign io_pins_gpio_pins_2_o_oe = sys_gpio_0_pins_2_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298031.4]
  assign io_pins_gpio_pins_2_o_ie = sys_gpio_0_pins_2_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298031.4]
  assign io_pins_gpio_pins_3_o_oval = sys_gpio_0_pins_3_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298032.4]
  assign io_pins_gpio_pins_3_o_oe = sys_gpio_0_pins_3_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298032.4]
  assign io_pins_gpio_pins_3_o_ie = sys_gpio_0_pins_3_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298032.4]
  assign io_pins_gpio_pins_4_o_oval = sys_gpio_0_pins_4_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298033.4]
  assign io_pins_gpio_pins_4_o_oe = sys_gpio_0_pins_4_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298033.4]
  assign io_pins_gpio_pins_4_o_ie = sys_gpio_0_pins_4_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298033.4]
  assign io_pins_gpio_pins_5_o_oval = sys_gpio_0_pins_5_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298034.4]
  assign io_pins_gpio_pins_5_o_oe = sys_gpio_0_pins_5_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298034.4]
  assign io_pins_gpio_pins_5_o_ie = sys_gpio_0_pins_5_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298034.4]
  assign io_pins_gpio_pins_6_o_oval = sys_gpio_0_pins_6_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298035.4]
  assign io_pins_gpio_pins_6_o_oe = sys_gpio_0_pins_6_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298035.4]
  assign io_pins_gpio_pins_6_o_ie = sys_gpio_0_pins_6_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298035.4]
  assign io_pins_gpio_pins_7_o_oval = sys_gpio_0_pins_7_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298036.4]
  assign io_pins_gpio_pins_7_o_oe = sys_gpio_0_pins_7_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298036.4]
  assign io_pins_gpio_pins_7_o_ie = sys_gpio_0_pins_7_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298036.4]
  assign io_pins_gpio_pins_8_o_oval = sys_gpio_0_pins_8_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298037.4]
  assign io_pins_gpio_pins_8_o_oe = sys_gpio_0_pins_8_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298037.4]
  assign io_pins_gpio_pins_8_o_ie = sys_gpio_0_pins_8_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298037.4]
  assign io_pins_gpio_pins_9_o_oval = sys_gpio_0_pins_9_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298038.4]
  assign io_pins_gpio_pins_9_o_oe = sys_gpio_0_pins_9_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298038.4]
  assign io_pins_gpio_pins_9_o_ie = sys_gpio_0_pins_9_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298038.4]
  assign io_pins_gpio_pins_10_o_oval = sys_gpio_0_pins_10_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298039.4]
  assign io_pins_gpio_pins_10_o_oe = sys_gpio_0_pins_10_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298039.4]
  assign io_pins_gpio_pins_10_o_ie = sys_gpio_0_pins_10_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298039.4]
  assign io_pins_gpio_pins_11_o_oval = sys_gpio_0_pins_11_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298040.4]
  assign io_pins_gpio_pins_11_o_oe = sys_gpio_0_pins_11_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298040.4]
  assign io_pins_gpio_pins_11_o_ie = sys_gpio_0_pins_11_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298040.4]
  assign io_pins_gpio_pins_12_o_oval = sys_gpio_0_pins_12_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298041.4]
  assign io_pins_gpio_pins_12_o_oe = sys_gpio_0_pins_12_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298041.4]
  assign io_pins_gpio_pins_12_o_ie = sys_gpio_0_pins_12_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298041.4]
  assign io_pins_gpio_pins_13_o_oval = sys_gpio_0_pins_13_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298042.4]
  assign io_pins_gpio_pins_13_o_oe = sys_gpio_0_pins_13_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298042.4]
  assign io_pins_gpio_pins_13_o_ie = sys_gpio_0_pins_13_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298042.4]
  assign io_pins_gpio_pins_14_o_oval = sys_gpio_0_pins_14_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298043.4]
  assign io_pins_gpio_pins_14_o_oe = sys_gpio_0_pins_14_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298043.4]
  assign io_pins_gpio_pins_14_o_ie = sys_gpio_0_pins_14_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298043.4]
  assign io_pins_gpio_pins_15_o_oval = sys_gpio_0_pins_15_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298044.4]
  assign io_pins_gpio_pins_15_o_oe = sys_gpio_0_pins_15_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298044.4]
  assign io_pins_gpio_pins_15_o_ie = sys_gpio_0_pins_15_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298044.4]
  assign io_pins_gpio_pins_16_o_oval = sys_gpio_0_pins_16_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298045.4]
  assign io_pins_gpio_pins_16_o_oe = sys_gpio_0_pins_16_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298045.4]
  assign io_pins_gpio_pins_16_o_ie = sys_gpio_0_pins_16_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298045.4]
  assign io_pins_gpio_pins_17_o_oval = sys_gpio_0_pins_17_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298046.4]
  assign io_pins_gpio_pins_17_o_oe = sys_gpio_0_pins_17_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298046.4]
  assign io_pins_gpio_pins_17_o_ie = sys_gpio_0_pins_17_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298046.4]
  assign io_pins_gpio_pins_18_o_oval = sys_gpio_0_pins_18_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298047.4]
  assign io_pins_gpio_pins_18_o_oe = sys_gpio_0_pins_18_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298047.4]
  assign io_pins_gpio_pins_18_o_ie = sys_gpio_0_pins_18_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298047.4]
  assign io_pins_gpio_pins_19_o_oval = sys_gpio_0_pins_19_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298048.4]
  assign io_pins_gpio_pins_19_o_oe = sys_gpio_0_pins_19_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298048.4]
  assign io_pins_gpio_pins_19_o_ie = sys_gpio_0_pins_19_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298048.4]
  assign io_pins_gpio_pins_20_o_oval = sys_gpio_0_pins_20_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298049.4]
  assign io_pins_gpio_pins_20_o_oe = sys_gpio_0_pins_20_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298049.4]
  assign io_pins_gpio_pins_20_o_ie = sys_gpio_0_pins_20_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298049.4]
  assign io_pins_gpio_pins_21_o_oval = sys_gpio_0_pins_21_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298050.4]
  assign io_pins_gpio_pins_21_o_oe = sys_gpio_0_pins_21_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298050.4]
  assign io_pins_gpio_pins_21_o_ie = sys_gpio_0_pins_21_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298050.4]
  assign io_pins_gpio_pins_22_o_oval = sys_gpio_0_pins_22_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298051.4]
  assign io_pins_gpio_pins_22_o_oe = sys_gpio_0_pins_22_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298051.4]
  assign io_pins_gpio_pins_22_o_ie = sys_gpio_0_pins_22_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298051.4]
  assign io_pins_gpio_pins_23_o_oval = sys_gpio_0_pins_23_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298052.4]
  assign io_pins_gpio_pins_23_o_oe = sys_gpio_0_pins_23_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298052.4]
  assign io_pins_gpio_pins_23_o_ie = sys_gpio_0_pins_23_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298052.4]
  assign io_pins_gpio_pins_24_o_oval = sys_gpio_0_pins_24_o_oval; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298053.4]
  assign io_pins_gpio_pins_24_o_oe = sys_gpio_0_pins_24_o_oe; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298053.4]
  assign io_pins_gpio_pins_24_o_ie = sys_gpio_0_pins_24_o_ie; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298053.4]
  assign io_pins_qspi_sck_o_oval = sys_qspi_0_sck; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298062.4]
  assign io_pins_qspi_dq_0_o_oval = sys_qspi_0_dq_0_o; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298065.4]
  assign io_pins_qspi_dq_0_o_oe = sys_qspi_0_dq_0_oe; // @[PinCtrl.scala 59:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298066.4 SPIPins.scala 28:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298068.4]
  assign io_pins_qspi_dq_0_o_ie = ~ sys_qspi_0_dq_0_oe; // @[PinCtrl.scala 60:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298067.4 SPIPins.scala 29:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298070.4]
  assign io_pins_qspi_dq_1_o_oval = sys_qspi_0_dq_1_o; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298080.4]
  assign io_pins_qspi_dq_1_o_oe = sys_qspi_0_dq_1_oe; // @[PinCtrl.scala 59:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298081.4 SPIPins.scala 28:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298083.4]
  assign io_pins_qspi_dq_1_o_ie = ~ sys_qspi_0_dq_1_oe; // @[PinCtrl.scala 60:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298082.4 SPIPins.scala 29:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298085.4]
  assign io_pins_qspi_dq_2_o_oval = sys_qspi_0_dq_2_o; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298095.4]
  assign io_pins_qspi_dq_2_o_oe = sys_qspi_0_dq_2_oe; // @[PinCtrl.scala 59:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298096.4 SPIPins.scala 28:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298098.4]
  assign io_pins_qspi_dq_2_o_ie = ~ sys_qspi_0_dq_2_oe; // @[PinCtrl.scala 60:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298097.4 SPIPins.scala 29:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298100.4]
  assign io_pins_qspi_dq_3_o_oval = sys_qspi_0_dq_3_o; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298110.4]
  assign io_pins_qspi_dq_3_o_oe = sys_qspi_0_dq_3_oe; // @[PinCtrl.scala 59:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298111.4 SPIPins.scala 28:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298113.4]
  assign io_pins_qspi_dq_3_o_ie = ~ sys_qspi_0_dq_3_oe; // @[PinCtrl.scala 60:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298112.4 SPIPins.scala 29:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298115.4]
  assign io_pins_qspi_cs_0_o_oval = sys_qspi_0_cs_0; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298125.4]
  assign io_pins_uart_txd_o_oval = sys_uart_0_txd; // @[PinCtrl.scala 58:17:shc.marmotcaravel.MarmotCaravelConfig.fir@298129.4]
  assign sys_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297479.4]
  assign sys_reset = ResetCatchAndSync_d20_io_sync_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297480.4 Platform.scala 60:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297497.4]
  assign sys_debug_systemjtag_jtag_TCK = io_pins_jtag_TCK_i_ival; // @[JTAGPins.scala 29:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298148.4]
  assign sys_debug_systemjtag_jtag_TMS = io_pins_jtag_TMS_i_ival; // @[JTAGPins.scala 30:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298152.4]
  assign sys_debug_systemjtag_jtag_TDI = io_pins_jtag_TDI_i_ival; // @[JTAGPins.scala 31:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298156.4]
  assign sys_debug_systemjtag_reset = io_jtag_reset; // @[Platform.scala 164:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298161.4]
  assign sys_uart_0_rxd = uart_rxd_sync_5_io_q; // @[UARTPins.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297531.4 UARTPins.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298143.4]
  assign sys_uart_1_rxd = uart_rxd_sync_1_io_q; // @[UARTPins.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297547.4]
  assign sys_uart_2_rxd = uart_rxd_sync_2_io_q; // @[UARTPins.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297563.4]
  assign sys_uart_3_rxd = uart_rxd_sync_3_io_q; // @[UARTPins.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297579.4]
  assign sys_uart_4_rxd = uart_rxd_sync_4_io_q; // @[UARTPins.scala 21:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297595.4]
  assign sys_spi_0_dq_0_i = sys_gpio_0_iof_0_2_i_ival; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297606.4]
  assign sys_spi_0_dq_1_i = sys_gpio_0_iof_0_3_i_ival; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297613.4]
  assign sys_spi_0_dq_2_i = sys_gpio_0_iof_0_4_i_ival; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297620.4]
  assign sys_spi_0_dq_3_i = sys_gpio_0_iof_0_5_i_ival; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297627.4]
  assign sys_spi_1_dq_0_i = sys_gpio_0_iof_0_8_i_ival; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297644.4]
  assign sys_spi_1_dq_1_i = sys_gpio_0_iof_0_9_i_ival; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297651.4]
  assign sys_spi_1_dq_2_i = sys_gpio_0_iof_0_10_i_ival; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297658.4]
  assign sys_spi_1_dq_3_i = sys_gpio_0_iof_0_11_i_ival; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@297665.4]
  assign sys_gpio_0_pins_0_i_ival = io_pins_gpio_pins_0_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298029.4]
  assign sys_gpio_0_pins_1_i_ival = io_pins_gpio_pins_1_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298030.4]
  assign sys_gpio_0_pins_2_i_ival = io_pins_gpio_pins_2_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298031.4]
  assign sys_gpio_0_pins_3_i_ival = io_pins_gpio_pins_3_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298032.4]
  assign sys_gpio_0_pins_4_i_ival = io_pins_gpio_pins_4_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298033.4]
  assign sys_gpio_0_pins_5_i_ival = io_pins_gpio_pins_5_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298034.4]
  assign sys_gpio_0_pins_6_i_ival = io_pins_gpio_pins_6_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298035.4]
  assign sys_gpio_0_pins_7_i_ival = io_pins_gpio_pins_7_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298036.4]
  assign sys_gpio_0_pins_8_i_ival = io_pins_gpio_pins_8_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298037.4]
  assign sys_gpio_0_pins_9_i_ival = io_pins_gpio_pins_9_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298038.4]
  assign sys_gpio_0_pins_10_i_ival = io_pins_gpio_pins_10_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298039.4]
  assign sys_gpio_0_pins_11_i_ival = io_pins_gpio_pins_11_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298040.4]
  assign sys_gpio_0_pins_12_i_ival = io_pins_gpio_pins_12_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298041.4]
  assign sys_gpio_0_pins_13_i_ival = io_pins_gpio_pins_13_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298042.4]
  assign sys_gpio_0_pins_14_i_ival = io_pins_gpio_pins_14_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298043.4]
  assign sys_gpio_0_pins_15_i_ival = io_pins_gpio_pins_15_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298044.4]
  assign sys_gpio_0_pins_16_i_ival = io_pins_gpio_pins_16_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298045.4]
  assign sys_gpio_0_pins_17_i_ival = io_pins_gpio_pins_17_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298046.4]
  assign sys_gpio_0_pins_18_i_ival = io_pins_gpio_pins_18_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298047.4]
  assign sys_gpio_0_pins_19_i_ival = io_pins_gpio_pins_19_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298048.4]
  assign sys_gpio_0_pins_20_i_ival = io_pins_gpio_pins_20_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298049.4]
  assign sys_gpio_0_pins_21_i_ival = io_pins_gpio_pins_21_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298050.4]
  assign sys_gpio_0_pins_22_i_ival = io_pins_gpio_pins_22_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298051.4]
  assign sys_gpio_0_pins_23_i_ival = io_pins_gpio_pins_23_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298052.4]
  assign sys_gpio_0_pins_24_i_ival = io_pins_gpio_pins_24_i_ival; // @[GPIOPins.scala 37:11:shc.marmotcaravel.MarmotCaravelConfig.fir@298053.4]
  assign sys_gpio_0_iof_0_0_o_oval = sys_spi_0_cs_0; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297723.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297979.4]
  assign sys_gpio_0_iof_0_1_o_oval = sys_spi_0_sck; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297727.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297981.4]
  assign sys_gpio_0_iof_0_2_o_oval = sys_spi_0_dq_0_o; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297731.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297983.4]
  assign sys_gpio_0_iof_0_2_o_oe = sys_spi_0_dq_0_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297732.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297983.4]
  assign sys_gpio_0_iof_0_2_o_ie = ~ sys_spi_0_dq_0_oe; // @[IOF.scala 35:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297733.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297983.4]
  assign sys_gpio_0_iof_0_3_o_oval = sys_spi_0_dq_1_o; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297735.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297985.4]
  assign sys_gpio_0_iof_0_3_o_oe = sys_spi_0_dq_1_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297736.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297985.4]
  assign sys_gpio_0_iof_0_3_o_ie = ~ sys_spi_0_dq_1_oe; // @[IOF.scala 35:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297737.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297985.4]
  assign sys_gpio_0_iof_0_4_o_oval = sys_spi_0_dq_2_o; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297739.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297987.4]
  assign sys_gpio_0_iof_0_4_o_oe = sys_spi_0_dq_2_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297740.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297987.4]
  assign sys_gpio_0_iof_0_4_o_ie = ~ sys_spi_0_dq_2_oe; // @[IOF.scala 35:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297741.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297987.4]
  assign sys_gpio_0_iof_0_5_o_oval = sys_spi_0_dq_3_o; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297743.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297989.4]
  assign sys_gpio_0_iof_0_5_o_oe = sys_spi_0_dq_3_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297744.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297989.4]
  assign sys_gpio_0_iof_0_5_o_ie = ~ sys_spi_0_dq_3_oe; // @[IOF.scala 35:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297745.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297989.4]
  assign sys_gpio_0_iof_0_6_o_oval = sys_spi_1_cs_0; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297747.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297993.4]
  assign sys_gpio_0_iof_0_7_o_oval = sys_spi_1_sck; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297751.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297995.4]
  assign sys_gpio_0_iof_0_8_o_oval = sys_spi_1_dq_0_o; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297755.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297997.4]
  assign sys_gpio_0_iof_0_8_o_oe = sys_spi_1_dq_0_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297756.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297997.4]
  assign sys_gpio_0_iof_0_8_o_ie = ~ sys_spi_1_dq_0_oe; // @[IOF.scala 35:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297757.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297997.4]
  assign sys_gpio_0_iof_0_9_o_oval = sys_spi_1_dq_1_o; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297759.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297999.4]
  assign sys_gpio_0_iof_0_9_o_oe = sys_spi_1_dq_1_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297760.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297999.4]
  assign sys_gpio_0_iof_0_9_o_ie = ~ sys_spi_1_dq_1_oe; // @[IOF.scala 35:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297761.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297999.4]
  assign sys_gpio_0_iof_0_10_o_oval = sys_spi_1_dq_2_o; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297763.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298001.4]
  assign sys_gpio_0_iof_0_10_o_oe = sys_spi_1_dq_2_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297764.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298001.4]
  assign sys_gpio_0_iof_0_10_o_ie = ~ sys_spi_1_dq_2_oe; // @[IOF.scala 35:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297765.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298001.4]
  assign sys_gpio_0_iof_0_11_o_oval = sys_spi_1_dq_3_o; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297767.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298003.4]
  assign sys_gpio_0_iof_0_11_o_oe = sys_spi_1_dq_3_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297768.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298003.4]
  assign sys_gpio_0_iof_0_11_o_ie = ~ sys_spi_1_dq_3_oe; // @[IOF.scala 35:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297769.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298003.4]
  assign sys_gpio_0_iof_0_12_o_oe = sys_i2c_0_sda_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297772.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298005.4]
  assign sys_gpio_0_iof_0_13_o_oe = sys_i2c_0_scl_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297776.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298007.4]
  assign sys_gpio_0_iof_0_14_o_oe = sys_i2c_1_sda_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297780.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298009.4]
  assign sys_gpio_0_iof_0_15_o_oe = sys_i2c_1_scl_oe; // @[IOF.scala 34:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297784.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298011.4]
  assign sys_gpio_0_iof_0_17_o_oval = sys_uart_1_txd; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297791.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298015.4]
  assign sys_gpio_0_iof_0_19_o_oval = sys_uart_2_txd; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297799.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298019.4]
  assign sys_gpio_0_iof_0_21_o_oval = sys_uart_3_txd; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297807.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298023.4]
  assign sys_gpio_0_iof_0_23_o_oval = sys_uart_4_txd; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297815.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@298027.4]
  assign sys_gpio_0_iof_0_24_o_oval = sys_spi_0_cs_1; // @[IOF.scala 33:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297819.4 IOF.scala 60:9:shc.marmotcaravel.MarmotCaravelConfig.fir@297991.4]
  assign sys_qspi_0_dq_0_i = spi_dq_0_sync_io_q; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@298079.4]
  assign sys_qspi_0_dq_1_i = spi_dq_1_sync_io_q; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@298094.4]
  assign sys_qspi_0_dq_2_i = spi_dq_2_sync_io_q; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@298109.4]
  assign sys_qspi_0_dq_3_i = spi_dq_3_sync_io_q; // @[SPIPins.scala 30:13:shc.marmotcaravel.MarmotCaravelConfig.fir@298124.4]
  assign sys_aon_pins_erst_n_i_ival = io_pins_aon_erst_n_i_ival; // @[Platform.scala 172:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298164.4]
  assign sys_aon_pins_lfextclk_i_ival = io_pins_aon_lfextclk_i_ival; // @[Platform.scala 172:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298164.4]
  assign sys_i2c_0_scl_in = i2c_scl_sync_io_q; // @[I2CPins.scala 22:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297682.4]
  assign sys_i2c_0_sda_in = i2c_sda_sync_io_q; // @[I2CPins.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297695.4]
  assign sys_i2c_1_scl_in = i2c_scl_sync_1_io_q; // @[I2CPins.scala 22:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297709.4]
  assign sys_i2c_1_sda_in = i2c_sda_sync_1_io_q; // @[I2CPins.scala 27:18:shc.marmotcaravel.MarmotCaravelConfig.fir@297722.4]
  assign ResetCatchAndSync_d20_clock = clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297483.4]
  assign ResetCatchAndSync_d20_reset = sys_aon_rsts_corerst; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@297484.4]
  assign uart_rxd_sync_io_d = 1'h0; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297527.4]
  assign uart_rxd_sync_1_io_d = sys_gpio_0_iof_0_16_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297543.4]
  assign uart_rxd_sync_2_io_d = sys_gpio_0_iof_0_18_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297559.4]
  assign uart_rxd_sync_3_io_d = sys_gpio_0_iof_0_20_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297575.4]
  assign uart_rxd_sync_4_io_d = sys_gpio_0_iof_0_22_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297591.4]
  assign i2c_scl_sync_io_d = sys_gpio_0_iof_0_13_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297678.4]
  assign i2c_sda_sync_io_d = sys_gpio_0_iof_0_12_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297691.4]
  assign i2c_scl_sync_1_io_d = sys_gpio_0_iof_0_15_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297705.4]
  assign i2c_sda_sync_1_io_d = sys_gpio_0_iof_0_14_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@297718.4]
  assign spi_dq_0_sync_clock = sys_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298073.4]
  assign spi_dq_0_sync_io_d = io_pins_qspi_dq_0_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298075.4]
  assign spi_dq_1_sync_clock = sys_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298088.4]
  assign spi_dq_1_sync_io_d = io_pins_qspi_dq_1_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298090.4]
  assign spi_dq_2_sync_clock = sys_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298103.4]
  assign spi_dq_2_sync_io_d = io_pins_qspi_dq_2_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298105.4]
  assign spi_dq_3_sync_clock = sys_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298118.4]
  assign spi_dq_3_sync_io_d = io_pins_qspi_dq_3_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298120.4]
  assign uart_rxd_sync_5_clock = sys_clock; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298137.4]
  assign uart_rxd_sync_5_reset = sys_reset; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298138.4]
  assign uart_rxd_sync_5_io_d = io_pins_uart_rxd_i_ival; // @[ShiftReg.scala 49:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298139.4]
endmodule
module MarmotCaravelChip( // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298166.2]
  input   clk, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298167.4]
  input   rst_n, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298168.4]
  input   io_in_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_32, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_33, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_34, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_35, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_36, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  input   io_in_37, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298169.4]
  output  io_out_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_32, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_33, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_34, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_35, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_36, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_out_37, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298170.4]
  output  io_oeb_0, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_1, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_2, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_3, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_4, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_5, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_6, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_7, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_8, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_9, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_10, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_11, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_12, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_13, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_14, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_15, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_16, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_17, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_18, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_19, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_20, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_21, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_22, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_23, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_24, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_25, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_26, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_27, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_28, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_29, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_30, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_31, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_32, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_33, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_34, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_35, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_36, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output  io_oeb_37, // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298171.4]
  output [11:0] data_arrays_0_ext_RW0_addr,
  output  data_arrays_0_ext_RW0_en,
  output  data_arrays_0_ext_RW0_clk,
  output  data_arrays_0_ext_RW0_wmode,
  output [31:0] data_arrays_0_ext_RW0_wdata,
  input  [31:0] data_arrays_0_ext_RW0_rdata,
  output [3:0] data_arrays_0_ext_RW0_wmask,
  output [6:0] tag_array_ext_RW0_addr,
  output  tag_array_ext_RW0_en,
  output  tag_array_ext_RW0_clk,
  output  tag_array_ext_RW0_wmode,
  output [39:0] tag_array_ext_RW0_wdata,
  input  [39:0] tag_array_ext_RW0_rdata,
  output [1:0] tag_array_ext_RW0_wmask,
  output [10:0] data_arrays_0_0_ext_RW0_addr,
  output  data_arrays_0_0_ext_RW0_en,
  output  data_arrays_0_0_ext_RW0_clk,
  output  data_arrays_0_0_ext_RW0_wmode,
  output [63:0] data_arrays_0_0_ext_RW0_wdata,
  input  [63:0] data_arrays_0_0_ext_RW0_rdata,
  output [1:0] data_arrays_0_0_ext_RW0_wmask
);
  wire  MarmotCaravelPlatform_clock; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_jtag_TCK_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_jtag_TMS_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_jtag_TDI_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_jtag_TDO_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_jtag_TDO_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_0_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_0_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_0_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_0_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_1_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_1_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_1_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_1_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_2_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_2_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_2_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_2_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_3_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_3_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_3_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_3_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_4_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_4_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_4_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_4_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_5_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_5_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_5_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_5_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_6_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_6_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_6_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_6_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_7_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_7_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_7_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_7_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_8_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_8_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_8_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_8_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_9_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_9_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_9_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_9_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_10_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_10_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_10_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_10_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_11_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_11_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_11_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_11_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_12_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_12_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_12_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_12_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_13_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_13_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_13_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_13_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_14_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_14_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_14_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_14_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_15_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_15_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_15_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_15_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_16_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_16_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_16_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_16_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_17_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_17_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_17_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_17_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_18_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_18_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_18_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_18_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_19_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_19_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_19_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_19_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_20_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_20_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_20_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_20_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_21_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_21_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_21_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_21_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_22_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_22_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_22_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_22_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_23_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_23_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_23_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_23_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_24_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_24_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_24_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_gpio_pins_24_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_sck_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_0_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_0_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_0_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_0_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_1_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_1_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_1_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_1_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_2_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_2_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_2_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_2_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_3_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_3_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_3_o_oe; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_dq_3_o_ie; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_qspi_cs_0_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_uart_rxd_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_uart_txd_o_oval; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_aon_erst_n_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_pins_aon_lfextclk_i_ival; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  MarmotCaravelPlatform_io_jtag_reset; // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
  wire  _T_374; // @[Chip.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@298180.4]
  reg  slow_clock; // @[Chip.scala 29:33:shc.marmotcaravel.MarmotCaravelConfig.fir@298181.4]
  reg [31:0] _RAND_0;
  reg  value; // @[Counter.scala 26:33:shc.marmotcaravel.MarmotCaravelConfig.fir@298182.4]
  reg [31:0] _RAND_1;
  wire  _T_380; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@298186.6]
  wire  _T_382; // @[Chip.scala 32:40:shc.marmotcaravel.MarmotCaravelConfig.fir@298191.6]
  MarmotCaravelPlatform MarmotCaravelPlatform ( // @[Chip.scala 41:21:shc.marmotcaravel.MarmotCaravelConfig.fir@298195.4]
    .clock(MarmotCaravelPlatform_clock),
    .io_pins_jtag_TCK_i_ival(MarmotCaravelPlatform_io_pins_jtag_TCK_i_ival),
    .io_pins_jtag_TMS_i_ival(MarmotCaravelPlatform_io_pins_jtag_TMS_i_ival),
    .io_pins_jtag_TDI_i_ival(MarmotCaravelPlatform_io_pins_jtag_TDI_i_ival),
    .io_pins_jtag_TDO_o_oval(MarmotCaravelPlatform_io_pins_jtag_TDO_o_oval),
    .io_pins_jtag_TDO_o_oe(MarmotCaravelPlatform_io_pins_jtag_TDO_o_oe),
    .io_pins_gpio_pins_0_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_0_i_ival),
    .io_pins_gpio_pins_0_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_0_o_oval),
    .io_pins_gpio_pins_0_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_0_o_oe),
    .io_pins_gpio_pins_0_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_0_o_ie),
    .io_pins_gpio_pins_1_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_1_i_ival),
    .io_pins_gpio_pins_1_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_1_o_oval),
    .io_pins_gpio_pins_1_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_1_o_oe),
    .io_pins_gpio_pins_1_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_1_o_ie),
    .io_pins_gpio_pins_2_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_2_i_ival),
    .io_pins_gpio_pins_2_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_2_o_oval),
    .io_pins_gpio_pins_2_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_2_o_oe),
    .io_pins_gpio_pins_2_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_2_o_ie),
    .io_pins_gpio_pins_3_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_3_i_ival),
    .io_pins_gpio_pins_3_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_3_o_oval),
    .io_pins_gpio_pins_3_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_3_o_oe),
    .io_pins_gpio_pins_3_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_3_o_ie),
    .io_pins_gpio_pins_4_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_4_i_ival),
    .io_pins_gpio_pins_4_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_4_o_oval),
    .io_pins_gpio_pins_4_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_4_o_oe),
    .io_pins_gpio_pins_4_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_4_o_ie),
    .io_pins_gpio_pins_5_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_5_i_ival),
    .io_pins_gpio_pins_5_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_5_o_oval),
    .io_pins_gpio_pins_5_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_5_o_oe),
    .io_pins_gpio_pins_5_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_5_o_ie),
    .io_pins_gpio_pins_6_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_6_i_ival),
    .io_pins_gpio_pins_6_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_6_o_oval),
    .io_pins_gpio_pins_6_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_6_o_oe),
    .io_pins_gpio_pins_6_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_6_o_ie),
    .io_pins_gpio_pins_7_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_7_i_ival),
    .io_pins_gpio_pins_7_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_7_o_oval),
    .io_pins_gpio_pins_7_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_7_o_oe),
    .io_pins_gpio_pins_7_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_7_o_ie),
    .io_pins_gpio_pins_8_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_8_i_ival),
    .io_pins_gpio_pins_8_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_8_o_oval),
    .io_pins_gpio_pins_8_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_8_o_oe),
    .io_pins_gpio_pins_8_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_8_o_ie),
    .io_pins_gpio_pins_9_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_9_i_ival),
    .io_pins_gpio_pins_9_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_9_o_oval),
    .io_pins_gpio_pins_9_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_9_o_oe),
    .io_pins_gpio_pins_9_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_9_o_ie),
    .io_pins_gpio_pins_10_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_10_i_ival),
    .io_pins_gpio_pins_10_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_10_o_oval),
    .io_pins_gpio_pins_10_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_10_o_oe),
    .io_pins_gpio_pins_10_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_10_o_ie),
    .io_pins_gpio_pins_11_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_11_i_ival),
    .io_pins_gpio_pins_11_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_11_o_oval),
    .io_pins_gpio_pins_11_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_11_o_oe),
    .io_pins_gpio_pins_11_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_11_o_ie),
    .io_pins_gpio_pins_12_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_12_i_ival),
    .io_pins_gpio_pins_12_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_12_o_oval),
    .io_pins_gpio_pins_12_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_12_o_oe),
    .io_pins_gpio_pins_12_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_12_o_ie),
    .io_pins_gpio_pins_13_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_13_i_ival),
    .io_pins_gpio_pins_13_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_13_o_oval),
    .io_pins_gpio_pins_13_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_13_o_oe),
    .io_pins_gpio_pins_13_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_13_o_ie),
    .io_pins_gpio_pins_14_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_14_i_ival),
    .io_pins_gpio_pins_14_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_14_o_oval),
    .io_pins_gpio_pins_14_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_14_o_oe),
    .io_pins_gpio_pins_14_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_14_o_ie),
    .io_pins_gpio_pins_15_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_15_i_ival),
    .io_pins_gpio_pins_15_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_15_o_oval),
    .io_pins_gpio_pins_15_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_15_o_oe),
    .io_pins_gpio_pins_15_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_15_o_ie),
    .io_pins_gpio_pins_16_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_16_i_ival),
    .io_pins_gpio_pins_16_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_16_o_oval),
    .io_pins_gpio_pins_16_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_16_o_oe),
    .io_pins_gpio_pins_16_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_16_o_ie),
    .io_pins_gpio_pins_17_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_17_i_ival),
    .io_pins_gpio_pins_17_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_17_o_oval),
    .io_pins_gpio_pins_17_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_17_o_oe),
    .io_pins_gpio_pins_17_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_17_o_ie),
    .io_pins_gpio_pins_18_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_18_i_ival),
    .io_pins_gpio_pins_18_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_18_o_oval),
    .io_pins_gpio_pins_18_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_18_o_oe),
    .io_pins_gpio_pins_18_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_18_o_ie),
    .io_pins_gpio_pins_19_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_19_i_ival),
    .io_pins_gpio_pins_19_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_19_o_oval),
    .io_pins_gpio_pins_19_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_19_o_oe),
    .io_pins_gpio_pins_19_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_19_o_ie),
    .io_pins_gpio_pins_20_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_20_i_ival),
    .io_pins_gpio_pins_20_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_20_o_oval),
    .io_pins_gpio_pins_20_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_20_o_oe),
    .io_pins_gpio_pins_20_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_20_o_ie),
    .io_pins_gpio_pins_21_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_21_i_ival),
    .io_pins_gpio_pins_21_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_21_o_oval),
    .io_pins_gpio_pins_21_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_21_o_oe),
    .io_pins_gpio_pins_21_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_21_o_ie),
    .io_pins_gpio_pins_22_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_22_i_ival),
    .io_pins_gpio_pins_22_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_22_o_oval),
    .io_pins_gpio_pins_22_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_22_o_oe),
    .io_pins_gpio_pins_22_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_22_o_ie),
    .io_pins_gpio_pins_23_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_23_i_ival),
    .io_pins_gpio_pins_23_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_23_o_oval),
    .io_pins_gpio_pins_23_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_23_o_oe),
    .io_pins_gpio_pins_23_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_23_o_ie),
    .io_pins_gpio_pins_24_i_ival(MarmotCaravelPlatform_io_pins_gpio_pins_24_i_ival),
    .io_pins_gpio_pins_24_o_oval(MarmotCaravelPlatform_io_pins_gpio_pins_24_o_oval),
    .io_pins_gpio_pins_24_o_oe(MarmotCaravelPlatform_io_pins_gpio_pins_24_o_oe),
    .io_pins_gpio_pins_24_o_ie(MarmotCaravelPlatform_io_pins_gpio_pins_24_o_ie),
    .io_pins_qspi_sck_o_oval(MarmotCaravelPlatform_io_pins_qspi_sck_o_oval),
    .io_pins_qspi_dq_0_i_ival(MarmotCaravelPlatform_io_pins_qspi_dq_0_i_ival),
    .io_pins_qspi_dq_0_o_oval(MarmotCaravelPlatform_io_pins_qspi_dq_0_o_oval),
    .io_pins_qspi_dq_0_o_oe(MarmotCaravelPlatform_io_pins_qspi_dq_0_o_oe),
    .io_pins_qspi_dq_0_o_ie(MarmotCaravelPlatform_io_pins_qspi_dq_0_o_ie),
    .io_pins_qspi_dq_1_i_ival(MarmotCaravelPlatform_io_pins_qspi_dq_1_i_ival),
    .io_pins_qspi_dq_1_o_oval(MarmotCaravelPlatform_io_pins_qspi_dq_1_o_oval),
    .io_pins_qspi_dq_1_o_oe(MarmotCaravelPlatform_io_pins_qspi_dq_1_o_oe),
    .io_pins_qspi_dq_1_o_ie(MarmotCaravelPlatform_io_pins_qspi_dq_1_o_ie),
    .io_pins_qspi_dq_2_i_ival(MarmotCaravelPlatform_io_pins_qspi_dq_2_i_ival),
    .io_pins_qspi_dq_2_o_oval(MarmotCaravelPlatform_io_pins_qspi_dq_2_o_oval),
    .io_pins_qspi_dq_2_o_oe(MarmotCaravelPlatform_io_pins_qspi_dq_2_o_oe),
    .io_pins_qspi_dq_2_o_ie(MarmotCaravelPlatform_io_pins_qspi_dq_2_o_ie),
    .io_pins_qspi_dq_3_i_ival(MarmotCaravelPlatform_io_pins_qspi_dq_3_i_ival),
    .io_pins_qspi_dq_3_o_oval(MarmotCaravelPlatform_io_pins_qspi_dq_3_o_oval),
    .io_pins_qspi_dq_3_o_oe(MarmotCaravelPlatform_io_pins_qspi_dq_3_o_oe),
    .io_pins_qspi_dq_3_o_ie(MarmotCaravelPlatform_io_pins_qspi_dq_3_o_ie),
    .io_pins_qspi_cs_0_o_oval(MarmotCaravelPlatform_io_pins_qspi_cs_0_o_oval),
    .io_pins_uart_rxd_i_ival(MarmotCaravelPlatform_io_pins_uart_rxd_i_ival),
    .io_pins_uart_txd_o_oval(MarmotCaravelPlatform_io_pins_uart_txd_o_oval),
    .io_pins_aon_erst_n_i_ival(MarmotCaravelPlatform_io_pins_aon_erst_n_i_ival),
    .io_pins_aon_lfextclk_i_ival(MarmotCaravelPlatform_io_pins_aon_lfextclk_i_ival),
    .io_jtag_reset(MarmotCaravelPlatform_io_jtag_reset),
    .data_arrays_0_ext_RW0_addr(data_arrays_0_ext_RW0_addr),
    .data_arrays_0_ext_RW0_en(data_arrays_0_ext_RW0_en),
    .data_arrays_0_ext_RW0_clk(data_arrays_0_ext_RW0_clk),
    .data_arrays_0_ext_RW0_wmode(data_arrays_0_ext_RW0_wmode),
    .data_arrays_0_ext_RW0_wdata(data_arrays_0_ext_RW0_wdata),
    .data_arrays_0_ext_RW0_rdata(data_arrays_0_ext_RW0_rdata),
    .data_arrays_0_ext_RW0_wmask(data_arrays_0_ext_RW0_wmask),
    .tag_array_ext_RW0_addr(tag_array_ext_RW0_addr),
    .tag_array_ext_RW0_en(tag_array_ext_RW0_en),
    .tag_array_ext_RW0_clk(tag_array_ext_RW0_clk),
    .tag_array_ext_RW0_wmode(tag_array_ext_RW0_wmode),
    .tag_array_ext_RW0_wdata(tag_array_ext_RW0_wdata),
    .tag_array_ext_RW0_rdata(tag_array_ext_RW0_rdata),
    .tag_array_ext_RW0_wmask(tag_array_ext_RW0_wmask),
    .data_arrays_0_0_ext_RW0_addr(data_arrays_0_0_ext_RW0_addr),
    .data_arrays_0_0_ext_RW0_en(data_arrays_0_0_ext_RW0_en),
    .data_arrays_0_0_ext_RW0_clk(data_arrays_0_0_ext_RW0_clk),
    .data_arrays_0_0_ext_RW0_wmode(data_arrays_0_0_ext_RW0_wmode),
    .data_arrays_0_0_ext_RW0_wdata(data_arrays_0_0_ext_RW0_wdata),
    .data_arrays_0_0_ext_RW0_rdata(data_arrays_0_0_ext_RW0_rdata),
    .data_arrays_0_0_ext_RW0_wmask(data_arrays_0_0_ext_RW0_wmask)
  );
  assign _T_374 = ~ rst_n; // @[Chip.scala 28:26:shc.marmotcaravel.MarmotCaravelConfig.fir@298180.4]
  assign _T_380 = value + 1'h1; // @[Counter.scala 35:22:shc.marmotcaravel.MarmotCaravelConfig.fir@298186.6]
  assign _T_382 = ~ slow_clock; // @[Chip.scala 32:40:shc.marmotcaravel.MarmotCaravelConfig.fir@298191.6]
  assign io_out_0 = 1'h0; // @[Chip.scala 48:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298199.4]
  assign io_out_1 = MarmotCaravelPlatform_io_pins_jtag_TDO_o_oval; // @[Chip.scala 52:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298201.4]
  assign io_out_2 = 1'h0; // @[Chip.scala 56:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298204.4]
  assign io_out_3 = 1'h0; // @[Chip.scala 61:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298208.4]
  assign io_out_4 = 1'h0; // @[Chip.scala 66:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298212.4]
  assign io_out_5 = 1'h0; // @[Chip.scala 82:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298221.4]
  assign io_out_6 = MarmotCaravelPlatform_io_pins_uart_txd_o_oval; // @[Chip.scala 87:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298225.4]
  assign io_out_7 = MarmotCaravelPlatform_io_pins_gpio_pins_24_o_oval; // @[Chip.scala 134:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298374.4]
  assign io_out_8 = MarmotCaravelPlatform_io_pins_qspi_cs_0_o_oval; // @[Chip.scala 95:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298228.4]
  assign io_out_9 = MarmotCaravelPlatform_io_pins_qspi_sck_o_oval; // @[Chip.scala 99:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298231.4]
  assign io_out_10 = MarmotCaravelPlatform_io_pins_qspi_dq_0_o_oval; // @[Chip.scala 103:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298234.4]
  assign io_out_11 = MarmotCaravelPlatform_io_pins_qspi_dq_1_o_oval; // @[Chip.scala 108:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298239.4]
  assign io_out_12 = MarmotCaravelPlatform_io_pins_qspi_dq_2_o_oval; // @[Chip.scala 113:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298244.4]
  assign io_out_13 = MarmotCaravelPlatform_io_pins_qspi_dq_3_o_oval; // @[Chip.scala 118:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298249.4]
  assign io_out_14 = MarmotCaravelPlatform_io_pins_gpio_pins_0_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298254.4]
  assign io_out_15 = MarmotCaravelPlatform_io_pins_gpio_pins_1_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298259.4]
  assign io_out_16 = MarmotCaravelPlatform_io_pins_gpio_pins_2_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298264.4]
  assign io_out_17 = MarmotCaravelPlatform_io_pins_gpio_pins_3_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298269.4]
  assign io_out_18 = MarmotCaravelPlatform_io_pins_gpio_pins_4_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298274.4]
  assign io_out_19 = MarmotCaravelPlatform_io_pins_gpio_pins_5_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298279.4]
  assign io_out_20 = MarmotCaravelPlatform_io_pins_gpio_pins_6_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298284.4]
  assign io_out_21 = MarmotCaravelPlatform_io_pins_gpio_pins_7_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298289.4]
  assign io_out_22 = MarmotCaravelPlatform_io_pins_gpio_pins_8_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298294.4]
  assign io_out_23 = MarmotCaravelPlatform_io_pins_gpio_pins_9_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298299.4]
  assign io_out_24 = MarmotCaravelPlatform_io_pins_gpio_pins_10_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298304.4]
  assign io_out_25 = MarmotCaravelPlatform_io_pins_gpio_pins_11_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298309.4]
  assign io_out_26 = MarmotCaravelPlatform_io_pins_gpio_pins_12_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298314.4]
  assign io_out_27 = MarmotCaravelPlatform_io_pins_gpio_pins_13_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298319.4]
  assign io_out_28 = MarmotCaravelPlatform_io_pins_gpio_pins_14_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298324.4]
  assign io_out_29 = MarmotCaravelPlatform_io_pins_gpio_pins_15_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298329.4]
  assign io_out_30 = MarmotCaravelPlatform_io_pins_gpio_pins_16_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298334.4]
  assign io_out_31 = MarmotCaravelPlatform_io_pins_gpio_pins_17_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298339.4]
  assign io_out_32 = MarmotCaravelPlatform_io_pins_gpio_pins_18_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298344.4]
  assign io_out_33 = MarmotCaravelPlatform_io_pins_gpio_pins_19_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298349.4]
  assign io_out_34 = MarmotCaravelPlatform_io_pins_gpio_pins_20_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298354.4]
  assign io_out_35 = MarmotCaravelPlatform_io_pins_gpio_pins_21_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298359.4]
  assign io_out_36 = MarmotCaravelPlatform_io_pins_gpio_pins_22_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298364.4]
  assign io_out_37 = MarmotCaravelPlatform_io_pins_gpio_pins_23_o_oval; // @[Chip.scala 128:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298369.4]
  assign io_oeb_0 = 1'h1; // @[Chip.scala 49:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298200.4]
  assign io_oeb_1 = ~ MarmotCaravelPlatform_io_pins_jtag_TDO_o_oe; // @[Chip.scala 53:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298203.4]
  assign io_oeb_2 = 1'h1; // @[Chip.scala 57:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298205.4]
  assign io_oeb_3 = 1'h1; // @[Chip.scala 62:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298209.4]
  assign io_oeb_4 = 1'h1; // @[Chip.scala 67:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298213.4]
  assign io_oeb_5 = 1'h1; // @[Chip.scala 83:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298222.4]
  assign io_oeb_6 = 1'h0; // @[Chip.scala 88:15:shc.marmotcaravel.MarmotCaravelConfig.fir@298227.4]
  assign io_oeb_7 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_24_o_oe; // @[Chip.scala 135:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298376.4]
  assign io_oeb_8 = 1'h0; // @[Chip.scala 96:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298230.4]
  assign io_oeb_9 = 1'h0; // @[Chip.scala 100:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298233.4]
  assign io_oeb_10 = ~ MarmotCaravelPlatform_io_pins_qspi_dq_0_o_oe; // @[Chip.scala 104:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298236.4]
  assign io_oeb_11 = ~ MarmotCaravelPlatform_io_pins_qspi_dq_1_o_oe; // @[Chip.scala 109:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298241.4]
  assign io_oeb_12 = ~ MarmotCaravelPlatform_io_pins_qspi_dq_2_o_oe; // @[Chip.scala 114:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298246.4]
  assign io_oeb_13 = ~ MarmotCaravelPlatform_io_pins_qspi_dq_3_o_oe; // @[Chip.scala 119:16:shc.marmotcaravel.MarmotCaravelConfig.fir@298251.4]
  assign io_oeb_14 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_0_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298256.4]
  assign io_oeb_15 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_1_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298261.4]
  assign io_oeb_16 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_2_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298266.4]
  assign io_oeb_17 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_3_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298271.4]
  assign io_oeb_18 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_4_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298276.4]
  assign io_oeb_19 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_5_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298281.4]
  assign io_oeb_20 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_6_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298286.4]
  assign io_oeb_21 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_7_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298291.4]
  assign io_oeb_22 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_8_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298296.4]
  assign io_oeb_23 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_9_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298301.4]
  assign io_oeb_24 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_10_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298306.4]
  assign io_oeb_25 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_11_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298311.4]
  assign io_oeb_26 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_12_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298316.4]
  assign io_oeb_27 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_13_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298321.4]
  assign io_oeb_28 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_14_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298326.4]
  assign io_oeb_29 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_15_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298331.4]
  assign io_oeb_30 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_16_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298336.4]
  assign io_oeb_31 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_17_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298341.4]
  assign io_oeb_32 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_18_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298346.4]
  assign io_oeb_33 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_19_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298351.4]
  assign io_oeb_34 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_20_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298356.4]
  assign io_oeb_35 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_21_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298361.4]
  assign io_oeb_36 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_22_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298366.4]
  assign io_oeb_37 = ~ MarmotCaravelPlatform_io_pins_gpio_pins_23_o_oe; // @[Chip.scala 129:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298371.4]
  assign MarmotCaravelPlatform_clock = clk; // @[:shc.marmotcaravel.MarmotCaravelConfig.fir@298197.4]
  assign MarmotCaravelPlatform_io_pins_jtag_TCK_i_ival = io_in_4; // @[Chip.scala 68:33:shc.marmotcaravel.MarmotCaravelConfig.fir@298215.4]
  assign MarmotCaravelPlatform_io_pins_jtag_TMS_i_ival = io_in_3; // @[Chip.scala 63:33:shc.marmotcaravel.MarmotCaravelConfig.fir@298211.4]
  assign MarmotCaravelPlatform_io_pins_jtag_TDI_i_ival = io_in_2; // @[Chip.scala 58:33:shc.marmotcaravel.MarmotCaravelConfig.fir@298207.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_0_i_ival = io_in_14 & MarmotCaravelPlatform_io_pins_gpio_pins_0_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298258.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_1_i_ival = io_in_15 & MarmotCaravelPlatform_io_pins_gpio_pins_1_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298263.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_2_i_ival = io_in_16 & MarmotCaravelPlatform_io_pins_gpio_pins_2_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298268.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_3_i_ival = io_in_17 & MarmotCaravelPlatform_io_pins_gpio_pins_3_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298273.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_4_i_ival = io_in_18 & MarmotCaravelPlatform_io_pins_gpio_pins_4_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298278.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_5_i_ival = io_in_19 & MarmotCaravelPlatform_io_pins_gpio_pins_5_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298283.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_6_i_ival = io_in_20 & MarmotCaravelPlatform_io_pins_gpio_pins_6_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298288.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_7_i_ival = io_in_21 & MarmotCaravelPlatform_io_pins_gpio_pins_7_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298293.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_8_i_ival = io_in_22 & MarmotCaravelPlatform_io_pins_gpio_pins_8_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298298.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_9_i_ival = io_in_23 & MarmotCaravelPlatform_io_pins_gpio_pins_9_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298303.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_10_i_ival = io_in_24 & MarmotCaravelPlatform_io_pins_gpio_pins_10_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298308.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_11_i_ival = io_in_25 & MarmotCaravelPlatform_io_pins_gpio_pins_11_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298313.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_12_i_ival = io_in_26 & MarmotCaravelPlatform_io_pins_gpio_pins_12_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298318.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_13_i_ival = io_in_27 & MarmotCaravelPlatform_io_pins_gpio_pins_13_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298323.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_14_i_ival = io_in_28 & MarmotCaravelPlatform_io_pins_gpio_pins_14_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298328.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_15_i_ival = io_in_29 & MarmotCaravelPlatform_io_pins_gpio_pins_15_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298333.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_16_i_ival = io_in_30 & MarmotCaravelPlatform_io_pins_gpio_pins_16_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298338.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_17_i_ival = io_in_31 & MarmotCaravelPlatform_io_pins_gpio_pins_17_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298343.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_18_i_ival = io_in_32 & MarmotCaravelPlatform_io_pins_gpio_pins_18_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298348.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_19_i_ival = io_in_33 & MarmotCaravelPlatform_io_pins_gpio_pins_19_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298353.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_20_i_ival = io_in_34 & MarmotCaravelPlatform_io_pins_gpio_pins_20_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298358.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_21_i_ival = io_in_35 & MarmotCaravelPlatform_io_pins_gpio_pins_21_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298363.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_22_i_ival = io_in_36 & MarmotCaravelPlatform_io_pins_gpio_pins_22_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298368.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_23_i_ival = io_in_37 & MarmotCaravelPlatform_io_pins_gpio_pins_23_o_ie; // @[Chip.scala 130:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298373.4]
  assign MarmotCaravelPlatform_io_pins_gpio_pins_24_i_ival = io_in_7 & MarmotCaravelPlatform_io_pins_gpio_pins_24_o_ie; // @[Chip.scala 136:38:shc.marmotcaravel.MarmotCaravelConfig.fir@298378.4]
  assign MarmotCaravelPlatform_io_pins_qspi_dq_0_i_ival = io_in_10 & MarmotCaravelPlatform_io_pins_qspi_dq_0_o_ie; // @[Chip.scala 105:35:shc.marmotcaravel.MarmotCaravelConfig.fir@298238.4]
  assign MarmotCaravelPlatform_io_pins_qspi_dq_1_i_ival = io_in_11 & MarmotCaravelPlatform_io_pins_qspi_dq_1_o_ie; // @[Chip.scala 110:35:shc.marmotcaravel.MarmotCaravelConfig.fir@298243.4]
  assign MarmotCaravelPlatform_io_pins_qspi_dq_2_i_ival = io_in_12 & MarmotCaravelPlatform_io_pins_qspi_dq_2_o_ie; // @[Chip.scala 115:35:shc.marmotcaravel.MarmotCaravelConfig.fir@298248.4]
  assign MarmotCaravelPlatform_io_pins_qspi_dq_3_i_ival = io_in_13 & MarmotCaravelPlatform_io_pins_qspi_dq_3_o_ie; // @[Chip.scala 120:35:shc.marmotcaravel.MarmotCaravelConfig.fir@298253.4]
  assign MarmotCaravelPlatform_io_pins_uart_rxd_i_ival = io_in_5; // @[Chip.scala 84:33:shc.marmotcaravel.MarmotCaravelConfig.fir@298224.4]
  assign MarmotCaravelPlatform_io_pins_aon_erst_n_i_ival = rst_n; // @[Chip.scala 147:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298386.4]
  assign MarmotCaravelPlatform_io_pins_aon_lfextclk_i_ival = slow_clock; // @[Chip.scala 148:41:shc.marmotcaravel.MarmotCaravelConfig.fir@298387.4]
  assign MarmotCaravelPlatform_io_jtag_reset = ~ rst_n; // @[Chip.scala 71:23:shc.marmotcaravel.MarmotCaravelConfig.fir@298217.4]
`ifdef RANDOMIZE_GARBAGE_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_INVALID_ASSIGN
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_REG_INIT
`define RANDOMIZE
`endif
`ifdef RANDOMIZE_MEM_INIT
`define RANDOMIZE
`endif
`ifndef RANDOM
`define RANDOM $random
`endif
`ifdef RANDOMIZE
  integer initvar;
  initial begin
    `ifdef INIT_RANDOM
      `INIT_RANDOM
    `endif
    `ifndef VERILATOR
      `ifdef RANDOMIZE_DELAY
        #`RANDOMIZE_DELAY begin end
      `else
        #0.002 begin end
      `endif
    `endif
  `ifdef RANDOMIZE_REG_INIT
  _RAND_0 = {1{`RANDOM}};
  slow_clock = _RAND_0[0:0];
  `endif // RANDOMIZE_REG_INIT
  `ifdef RANDOMIZE_REG_INIT
  _RAND_1 = {1{`RANDOM}};
  value = _RAND_1[0:0];
  `endif // RANDOMIZE_REG_INIT
  end
`endif // RANDOMIZE
  always @(posedge clk) begin
    if (_T_374) begin
      slow_clock <= 1'h0;
    end else begin
      if (value) begin
        slow_clock <= _T_382;
      end
    end
    if (_T_374) begin
      value <= 1'h0;
    end else begin
      value <= _T_380;
    end
  end
endmodule
module data_arrays_0(
  input  [11:0] RW0_addr,
  input         RW0_en,
  input         RW0_clk,
  input         RW0_wmode,
  input  [7:0]  RW0_wdata_0,
  input  [7:0]  RW0_wdata_1,
  input  [7:0]  RW0_wdata_2,
  input  [7:0]  RW0_wdata_3,
  output [7:0]  RW0_rdata_0,
  output [7:0]  RW0_rdata_1,
  output [7:0]  RW0_rdata_2,
  output [7:0]  RW0_rdata_3,
  input         RW0_wmask_0,
  input         RW0_wmask_1,
  input         RW0_wmask_2,
  input         RW0_wmask_3,
  output [11:0] data_arrays_0_ext_RW0_addr,
  output  data_arrays_0_ext_RW0_en,
  output  data_arrays_0_ext_RW0_clk,
  output  data_arrays_0_ext_RW0_wmode,
  output [31:0] data_arrays_0_ext_RW0_wdata,
  input  [31:0] data_arrays_0_ext_RW0_rdata,
  output [3:0] data_arrays_0_ext_RW0_wmask
);
  wire [7:0] _GEN_0;
  wire [7:0] _GEN_1;
  wire [7:0] _GEN_2;
  wire [7:0] _GEN_3;
  wire [7:0] _GEN_4;
  wire [7:0] _GEN_5;
  wire [7:0] _GEN_6;
  wire [7:0] _GEN_7;
  wire [15:0] _GEN_8;
  wire [15:0] _GEN_9;
  wire  _GEN_10;
  wire  _GEN_11;
  wire  _GEN_12;
  wire  _GEN_13;
  wire [1:0] _GEN_14;
  wire [1:0] _GEN_15;
//  data_arrays_0_ext data_arrays_0_ext (
//    .RW0_addr(data_arrays_0_ext_RW0_addr),
//    .RW0_en(data_arrays_0_ext_RW0_en),
//    .RW0_clk(data_arrays_0_ext_RW0_clk),
//    .RW0_wmode(data_arrays_0_ext_RW0_wmode),
//    .RW0_wdata(data_arrays_0_ext_RW0_wdata),
//    .RW0_rdata(data_arrays_0_ext_RW0_rdata),
//    .RW0_wmask(data_arrays_0_ext_RW0_wmask)
//  );
  assign data_arrays_0_ext_RW0_clk = RW0_clk;
  assign data_arrays_0_ext_RW0_en = RW0_en;
  assign data_arrays_0_ext_RW0_addr = RW0_addr;
  assign _GEN_0 = data_arrays_0_ext_RW0_rdata[7:0];
  assign RW0_rdata_0 = $unsigned(_GEN_0);
  assign _GEN_1 = data_arrays_0_ext_RW0_rdata[15:8];
  assign RW0_rdata_1 = $unsigned(_GEN_1);
  assign _GEN_2 = data_arrays_0_ext_RW0_rdata[23:16];
  assign RW0_rdata_2 = $unsigned(_GEN_2);
  assign _GEN_3 = data_arrays_0_ext_RW0_rdata[31:24];
  assign RW0_rdata_3 = $unsigned(_GEN_3);
  assign data_arrays_0_ext_RW0_wmode = RW0_wmode;
  assign _GEN_4 = $unsigned(RW0_wdata_3);
  assign _GEN_5 = $unsigned(RW0_wdata_2);
  assign _GEN_6 = $unsigned(RW0_wdata_1);
  assign _GEN_7 = $unsigned(RW0_wdata_0);
  assign _GEN_8 = {_GEN_4,_GEN_5};
  assign _GEN_9 = {_GEN_6,_GEN_7};
  assign data_arrays_0_ext_RW0_wdata = {_GEN_8,_GEN_9};
  assign _GEN_10 = $unsigned(RW0_wmask_3);
  assign _GEN_11 = $unsigned(RW0_wmask_2);
  assign _GEN_12 = $unsigned(RW0_wmask_1);
  assign _GEN_13 = $unsigned(RW0_wmask_0);
  assign _GEN_14 = {_GEN_10,_GEN_11};
  assign _GEN_15 = {_GEN_12,_GEN_13};
  assign data_arrays_0_ext_RW0_wmask = {_GEN_14,_GEN_15};
endmodule
module tag_array(
  input  [6:0]  RW0_addr,
  input         RW0_en,
  input         RW0_clk,
  input         RW0_wmode,
  input  [19:0] RW0_wdata_0,
  input  [19:0] RW0_wdata_1,
  output [19:0] RW0_rdata_0,
  output [19:0] RW0_rdata_1,
  input         RW0_wmask_0,
  input         RW0_wmask_1,
  output [6:0] tag_array_ext_RW0_addr,
  output  tag_array_ext_RW0_en,
  output  tag_array_ext_RW0_clk,
  output  tag_array_ext_RW0_wmode,
  output [39:0] tag_array_ext_RW0_wdata,
  input  [39:0] tag_array_ext_RW0_rdata,
  output [1:0] tag_array_ext_RW0_wmask
);
  wire [19:0] _GEN_0;
  wire [19:0] _GEN_1;
  wire [19:0] _GEN_2;
  wire [19:0] _GEN_3;
  wire  _GEN_4;
  wire  _GEN_5;
//tag_array_ext tag_array_ext (
//  .RW0_addr(tag_array_ext_RW0_addr),
//  .RW0_en(tag_array_ext_RW0_en),
//  .RW0_clk(tag_array_ext_RW0_clk),
//  .RW0_wmode(tag_array_ext_RW0_wmode),
//  .RW0_wdata(tag_array_ext_RW0_wdata),
//  .RW0_rdata(tag_array_ext_RW0_rdata),
//  .RW0_wmask(tag_array_ext_RW0_wmask)
//);
  assign tag_array_ext_RW0_clk = RW0_clk;
  assign tag_array_ext_RW0_en = RW0_en;
  assign tag_array_ext_RW0_addr = RW0_addr;
  assign _GEN_0 = tag_array_ext_RW0_rdata[19:0];
  assign RW0_rdata_0 = $unsigned(_GEN_0);
  assign _GEN_1 = tag_array_ext_RW0_rdata[39:20];
  assign RW0_rdata_1 = $unsigned(_GEN_1);
  assign tag_array_ext_RW0_wmode = RW0_wmode;
  assign _GEN_2 = $unsigned(RW0_wdata_1);
  assign _GEN_3 = $unsigned(RW0_wdata_0);
  assign tag_array_ext_RW0_wdata = {_GEN_2,_GEN_3};
  assign _GEN_4 = $unsigned(RW0_wmask_1);
  assign _GEN_5 = $unsigned(RW0_wmask_0);
  assign tag_array_ext_RW0_wmask = {_GEN_4,_GEN_5};
endmodule
module data_arrays_0_0(
  input  [10:0] RW0_addr,
  input         RW0_en,
  input         RW0_clk,
  input         RW0_wmode,
  input  [31:0] RW0_wdata_0,
  input  [31:0] RW0_wdata_1,
  output [31:0] RW0_rdata_0,
  output [31:0] RW0_rdata_1,
  input         RW0_wmask_0,
  input         RW0_wmask_1,
  output [10:0] data_arrays_0_0_ext_RW0_addr,
  output  data_arrays_0_0_ext_RW0_en,
  output  data_arrays_0_0_ext_RW0_clk,
  output  data_arrays_0_0_ext_RW0_wmode,
  output [63:0] data_arrays_0_0_ext_RW0_wdata,
  input  [63:0] data_arrays_0_0_ext_RW0_rdata,
  output [1:0] data_arrays_0_0_ext_RW0_wmask
);
  wire [31:0] _GEN_0;
  wire [31:0] _GEN_1;
  wire [31:0] _GEN_2;
  wire [31:0] _GEN_3;
  wire  _GEN_4;
  wire  _GEN_5;
//data_arrays_0_0_ext data_arrays_0_0_ext (
//  .RW0_addr(data_arrays_0_0_ext_RW0_addr),
//  .RW0_en(data_arrays_0_0_ext_RW0_en),
//  .RW0_clk(data_arrays_0_0_ext_RW0_clk),
//  .RW0_wmode(data_arrays_0_0_ext_RW0_wmode),
//  .RW0_wdata(data_arrays_0_0_ext_RW0_wdata),
//  .RW0_rdata(data_arrays_0_0_ext_RW0_rdata),
//  .RW0_wmask(data_arrays_0_0_ext_RW0_wmask)
//);
  assign data_arrays_0_0_ext_RW0_clk = RW0_clk;
  assign data_arrays_0_0_ext_RW0_en = RW0_en;
  assign data_arrays_0_0_ext_RW0_addr = RW0_addr;
  assign _GEN_0 = data_arrays_0_0_ext_RW0_rdata[31:0];
  assign RW0_rdata_0 = $unsigned(_GEN_0);
  assign _GEN_1 = data_arrays_0_0_ext_RW0_rdata[63:32];
  assign RW0_rdata_1 = $unsigned(_GEN_1);
  assign data_arrays_0_0_ext_RW0_wmode = RW0_wmode;
  assign _GEN_2 = $unsigned(RW0_wdata_1);
  assign _GEN_3 = $unsigned(RW0_wdata_0);
  assign data_arrays_0_0_ext_RW0_wdata = {_GEN_2,_GEN_3};
  assign _GEN_4 = $unsigned(RW0_wmask_1);
  assign _GEN_5 = $unsigned(RW0_wmask_0);
  assign data_arrays_0_0_ext_RW0_wmask = {_GEN_4,_GEN_5};
endmodule
